区块见闻 区块见闻
Ctrl+D收藏区块见闻

SDC:Yearn Finance攻击事件分析_USDT

作者:

时间:

https://etherscan.io/tx/0xd55e43c1602b28d4fd4667ee445d570c8f298f5401cf04e62ec329759ecda95d

攻击者从Balancer发起了闪电贷,借了?500?万DAI、?500?万USDC和?200?万USDT:

然后在Curve上,攻击者将?500?万DAI兑换成了?695,?000USDT,并将?350?万USDC兑换成?151USDT:

攻击者调用IEarnAPRWithPool的recommend函数来检查当前的APR。此时,只有Aave的APR不等于?0?:

接下来,攻击者将?800,?000USDT转移到了攻击合约0x9fcc1409b56cf235d9cdbbb86b6ad5089fa0eb0f中。在该合约中,攻击者多次调用了?Aave:LendingPoolV1的repay函数,帮助其他人偿还债务,以使Aave的APR等于?0?:

Yearn.Finance将其SUSHI最大分配额转到yveCRVETH LP池:官方消息,Yearn.Finance将其SUSHI最大分配额转到yveCRVETH LP池。[2021/2/6 19:02:50]

攻击者调用了yUSDT的deposit函数,抵押了?900,?000USDT,并获得了?820,?000yUSDT:

接下来,攻击者调用了?bZxiUSDC?的mint函数,使用?156,?000USDC?铸造了?152,?000bZxiUSDC,并将其转移到了YearnyUSDT:

攻击者调用Yearn:yUSDT?的withdraw函数,将?820,?000yUSDT兑换成?1,?030,?000USDT。此时,合约中只剩下攻击者转移的bZxiUSDC:

DAI供应量超过5亿枚,或与yearn.finance集成Maker金库有关:9月3日消息,MakerDAO创始人Rune Christensen发推表示,稳定币DAI的供应量已经超过5亿枚,并且对yearn.finance表示感谢。网络信息显示,近日yearn.finance集成了Maker金库,用户存入ETH可借出DAI,上线一天,ETH的存入量就达到3000万美元。[2020/9/3]

接下来攻击者调用Yearn:yUSDT的rebalance函数,销毁bZxiUSDC:

然后攻击者向yUSDT合约转移了1/e?6个USDT,并调用了deposit函数,抵押了?10,?000USDT,获得了?1,?252,?660,?242,?850,?000yUSDT:

然后在Curve上,攻击者将?70,?000yUSDT兑换成?5,?990,?000yDAI,将?4?亿yUSDT兑换成?4,?490,?000yUSDC,将?1,?240,?133,?244,?352,?200yUSDT?兑换成?1,?360,?000yTUSD:

NFT品牌解决方案AWSt完成170万美元融资,East Ventures领投:10月25日消息,总部位于新加坡的NFT品牌解决方案AWSt完成170万美元融资,East Ventures领投,500 Global和Antler参投,该公司计划构建更多工具,将各种组织与NFT项目联系起来,以在现实生活中提供价值交换。

据悉,AWSt成立于2020年10月,旨在帮助公司或品牌跨区块链协议启动NFT集合,以集成到Web3领域,可用于基于NFT的活动、票务、NFT自动售货机等。(TechinAsia)[2022/10/25 16:38:15]

然后在yearn:yDAI和yearn:yUSDC中分别调用withdraw,提取678?万个DAI和?562?w?万个USDC,并归还闪电贷:

漏洞分析

yearn.finance已推出v2版本:yearn.finance宣布更新,v2版本增加USDC支持。免责声明如下:

- 实验性很强,使用前请务必阅读合约;

- 0.05%提款费;

- 策略包含每周的奖励分配;

- 我们不会报告APR以避免以此吸引用户;

- 不要拿你的资金冒险。

此前消息,yearn.finance官方表示,目前流动性挖矿越来越复杂,团队发现v1版本正在僵化,已经无法纳入一个利率较高新的借贷池。新推出的v2版本相比v1将更加简洁,只需要登陆(checkin)就可以参与不断增长的投资组合(v2会提供一切服务)。[2020/7/26]

这次攻击中最关键的一点,是攻击者使用?100,?000USDT铸造了1,?252,?660,?242,?850,?000个yUSDT。查看deposit函数的实现:

可以看到share的数量和变量pool相关,pool越小,share越大,而pool的值由_calcPoolValueInToken获得:

攻击者在调用rebalance函数后,合约中只存在了USDC,但是_balance()获取的是USDT的余额,USDC的余额并不计入其中,因此此时的pool为1?:

这里显然是项目方的配置错误,yUSDT合约中应当都是USDT类的代币,但是其fulcrum变量却是USDC相关的bZxIUSDC代币,因此yUSDT中的USDC不计入balance中:

攻击者为什么能调用rebalance函数来burn掉bZxiUSDC代币呢?查看rebalance函数的实现:

可以看到在_withdrawFulcrum()中会存在redeem和burn操作,因此我们需要让"newProvider!=provider"成立,?其中recommend()的实现:

攻击者通过控制IIEarnManager(apr).recommend(token)的返回值,使其为都为0来操控newProvider:

如何让其都为0呢,该函数的返回值和计算出的各个DeFi中的APR相关,由于Compound,bZx,dydx中没有池子,因此只需要控制Aave(Aave:LendingPoolCoreV1)即可:

要使其值返回为0,需要让apr.calculateInterestRates函数的第一个返回值为0:

即让currentLiquidityRate为0,该值和_totalBorrowsStable、_totalBorrowsVariable相关,当这两个个值都为0时,currentLiquidityRate为0?:

_totalBorrowsVariable为0,即Aave:LendingPoolCoreV1此时没有人存在债务,为了达成这个条件,攻击者将池中所有人的债务进行了repay:

最后,攻击者让_totalBorrowsVariable变为?0?,所以它能够调用rebalance函数burn掉bZxiUSDC代币:

总结

此次Yearn攻击事件的根本原因是项目方的配置错误。攻击者通过一系列精妙的手法利用了该漏洞,最终获利大约?1000?万美元。

关于我们

AtEoceneResearch,weprovidetheinsightsofintentionsandsecuritybehindeverythingyouknowordon'tknowofblockchain,andempowereveryindividualandorganizationtoanswercomplexquestionswehadn'tevendreamedofbackthen.

了解更多:Website|Medium|Twitter

标签:USDUSDTSDTSDCUpbit可以购买usdt吗USDT币提现涉嫌吗gusdt币最新消息sdcoin币交易所

比特币行情热门资讯
ISM:比特币达到3万美元,美联储可能引发2000亿美元的价格飙升_wisdomisthewealthofthewise

作为2023年最成功的资产之一,随着比特币(BTC)达到3万美元,一位分析师认为美联储可能引发2000亿美元的价格飙升.

CAL:坎昆升级——Layer2 Rollup将迎来爆发_SHA

期待已久的上海和卡佩拉升级已经顺利完成:终于可以提款了!这也是以太坊区块链继去年由POW成功过渡到POS的又一大步.

TOS:一文速览如何参与SUI代币销售?_以太坊官网公告

原文作者:CryptoNova原文编译:Felix,PANewsSui的代币销售刚刚宣布将在本周进行,这里有你想了解关于Sui的所有信息,以及如何参与SUI代币销售.

USDC:Foresight Ventures市场周报:市场中继强势,ETH升级解锁_泰达币USDT

一、宏观流动性 货币流动性改善。美国?3?月?CPI?同步增长?5%?略好于预期,坐实美联储?5?月最后一次加息?25?个基点的市场预期.

ORE:一文探讨Meme币成功的底层逻辑及投资方法论_USD

原文作者:西米?Sammi一、meme在加密世界的重要性meme自2021年被shib,doge带火之后,便在加密行业拥有举足轻重的地位,成为加密投资版图中重要的组成部分之一.

AUN:一个最有增长潜力的标地——Filecoin生态_shaun币发行

在过去几年,区块链项目代币首次发行的方式经历过多轮更迭,从早期基于智能合约转账的ICO,到此后的首次交易所发行以及Coinlist等合规平台发行,其门槛与成本呈现越来越高的趋势.