月亮链 月亮链
Ctrl+D收藏月亮链
首页 > Coinw > 正文

USD:Yearn Finance攻击事件分析_trustwallet支持usdt吗

作者:

时间:1900/1/1 0:00:00

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?:

Maker DAO批准在DeFi协议Yearn Finance上部署1亿美元的USDC:金色财经报道,去中心化金融(DeFi)巨头Maker DAO的社区周一批准了一项提议,从其在DeFi协议Yearn Finance上的储备中部署高达1亿美元的稳定币(USDC),存放的稳定币将在其中获得收益。(Coindesk)[2023/1/24 11:27:53]

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

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

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

Yearn提案建议资助法律激进主义DAO:加密社区反对备受争议的基础设施法案,该法案在加密税收规定方面对“经纪人”一词的定义超出范围,Yearn提议资助一个以建设者为先的法律激进主义去中心化自治组织(DAO)。LeXpunK_DAO将把长期战略宣传活动与实时响应时事、快速反应的‘游击法’突袭相结合。鉴于正在进行的监管审查,该提案已获得持有者100%的支持。Curve治理提出了类似提案,这两个项目估计每个项目都将捐助100万美元来推动工作。(Bitcoin Exchange Guide)[2021/8/9 1:42:57]

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

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

yearn.finance提案投票确定向Yearn Vaults空投的方式:yearn.finance表示,提案YIP-60上线快照投票,以规范向Yearn Vaults空投的方式。投票将于4月12日结束。[2021/4/8 19:57:29]

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

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

漏洞分析

Yearn和Cream合作推出Cream v2:YFI创始人Andre Cronje发文表示,Yearn和Cream开发人员已经合作推出了Cream v2。第2版??的发布将专注于核心贷款和杠杆产品。Cream v2通过杠杆作用提高收益率,是未来Yearn&Cream合作贷款产品的启动板。[2020/11/26 22:13:16]

这次攻击中最关键的一点,是攻击者使用?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

标签:USDSDTUSDTEARNUSDH价格globalusdtokentrustwallet支持usdt吗iYearn Finance

Coinw热门资讯
GALA:火必账号提币功能暂停使用_SCOOBI

尊敬的用户:由于系统升级维护,使用火必账号提币功能暂不可用,预计下周内恢复,在此期间,您仍可使用区块链地址进行提币。感谢你的理解和支持.

1900/1/1 0:00:00
加密货币:卡尔达诺上月球?加密货币交易专家预测价格上涨 44%_ADA

公众呺:Web3团子卡尔达诺(ADA)是按市值计算的第七大加密货币,目前正引起交易员和投资者的注意,因为它接近可能引发价格大幅上涨的关键技术指标.

1900/1/1 0:00:00
UNI:UNI价格分析:UNI价格水平在近期飙升后升至 6.39美元_Finswap

Uniswap价格分析显示看涨趋势。今天价格上涨至6.39美元。支撑位于6.22美元的极端位置。最新的Uniswap价格分析显示,由于观察到来自买方的巨大压力,今天的加密货币呈上升趋势.

1900/1/1 0:00:00
Chain:AI 信息聚合交互式社交资讯流媒体 Techub.NEWS 正式上线_ShipChain

ForesightNews消息,AI信息聚合交互式社交资讯流媒体Techub.NEWS正式上线.

1900/1/1 0:00:00
DOG:根据这些指标,狗狗币 (DOGE) 价格可能达到年度新高_狗狗币创始人称再也不入币圈

简单来说根据关键指标,DOGE价格看起来看涨。相对强弱指数呈上升趋势。模因硬币的价格可能会创下年度新高。狗狗币(DOGE)价格可能处于较大涨幅的第一部分,这将使DOGE价格创下年度新高.

1900/1/1 0:00:00
BTC:BTC 的表现优于 ETH、ARB、APT 和 RPL_rpl币的价格

由于山寨币表现出色,周四比特币的主导地位有所减弱。ETH在8个月内首次突破2000美元。自昨天以来,ARB和RPL均录得超过20%的涨幅.

1900/1/1 0:00:00