木星链 木星链
Ctrl+D收藏木星链

USD:Yearn Finance攻击事件分析-ODAILY

作者:

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

概述

2023年4月13日,YearnFinance遭到黑客攻击,导致大约损失1000万美元。本文将分析攻击过程以及漏洞产生的原因。

攻击分析

这是一笔攻击交易:

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:

Yearn社区发起推出LSD Token yETH的提案投票:4月21日消息,据 Snapshot 页面显示,收益聚合协议 Yearn 社区发起YIP-72:推出 yETH的投票,该提案旨在批准 yETH 的设计规范并认可其部署、指定引导和实施过程、指定参数和初始配置、在正常操作期间指定功能。该提案将于 4 月 26 日 21:20 截止。

Yearn ETH(yETH)是在用户存入一篮子各种 ETH 流动性质押 Token(LSD)时生成的。yETH 可以回收存入的价值,并在质押时通过 LSD 的多样化获得以太坊 PoS 质押奖励,并获得更混合的风险 / 回报。yETH 将应对分散和对冲抵押的 ETH 头寸以减少协议失败的影响、市场定价的低效率导致针对协议的基础支持 ETH 价值的交易机会、标准流动性池中的抵押 ETH 并不理想、新的 LSD 与拥有大量市场份额的协议竞争等挑战。[2023/4/21 14:18:53]

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

Yearn表示已向Yearn Partners支付200万美元:官方消息,Yearn表示,已向Yearn Partners支付200万美元。[2021/11/6 6:34:53]

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

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

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

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

Yearn宣布将通过yTeam对细分领域进行决策治理:官方消息,为促进过渡到多DAO结构,收益聚合器Yearn宣布yTeam多签人员名单,将通过9个yTeam工作组,对策略、预算、开发、运营 9个细分领域进行决策治理。 yTeam及相应的多签方式依据YIP-61提案设立,yTeam有对于细分领域的决策权,可在其相关负责领域内独立进行决策。[2021/6/20 23:50:51]

然后攻击者向yUSDT合约转移了1/e6个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:

yearn.finance宣布yDAI保管库已恢复:2月9日消息,yearn.finance官方发推表示,yDAI保管库已恢复,Yearn与YFI共同开设一个制造商保险库,铸造970万个DAI,并使yDAI Vault完整。这是一次“有仪式的庆祝活动”,不要指望它再次发生,下次一定要确保购买保险。[2021/2/9 19:20:56]

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

漏洞分析

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

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

Pickle和Yearn达成合作,将分配跟踪Jar攻击所造成损失的新代币CORNICHON:YFI创始人Andre Cronje表示,Pickle和Yearn的开发人员已经设计出一种结构,以使两个项目可以共生地协同工作。下面最初的最低版本,并计划进一步集成。

1. Pickle Jars和Yearn’s v2 Vaults合并;

2. Pickle推出奖励Gauges,Pickle释放仍然存在,代币通过奖励Gauges分配;

3. Yearn Vault储户可以通过将Vault份额存储在Gauges中来获得额外的奖励;

4. Pickle Governance参与者将Pickle锁定在设定的到期日获得投票权,并获得DILL;

5. Yearn vault可以通过锁定Pickle得到DILL获得额外的奖励,最高可达2.5倍,他们持有的DILL越多,奖励就越大;

6. Gauge存款、取款、履约和协议费用归DILL持有人;

7. 一个跟踪最近Jar攻击所造成的损失新代币CORNICHON,按比例分配给攻击的受害者。[2020/11/24 21:59:32]

攻击者在调用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

标签:USDEARNSDTUSDTOUSD币HEARN价格USDT泰达币usdt钱包下载

币赢交易所热门资讯
EOS:EOS劲敌当前,以太坊借力“分片技术”能实现弯道超车吗?

五一假日尚未落幕,V神又有新动作。4月30日,以太坊创始人VitalikButerin发布了一个新的概念验证,演示了如何把分片扩展解决方案“栓在”以太坊主链上,并在Twitter发帖称“分片即将.

1900/1/1 0:00:00
BIT:Bitfinex一周简报(0403-0409)-ODAILY

BitfinexAlpha|随着美联储继续抗击通货膨胀,比特币市场在喜忧参半的前景中趋于稳定当前的宏观经济的前景喜忧参半,仍有一些挑战需要克服.

1900/1/1 0:00:00
区块链:区块链日报 | 传统VC在区块链行业疯狂押注,工信部称中国区块链产业正高速发展,前火币CTO创建交易所获顶级VC投资

头条5个月13亿美元,传统风投在区块链行业疯狂押注虽然比特币不再像去年年底那样疯狂,但是传统风投依然在关注这一领域里的公司,而且源源不断地投入资金.

1900/1/1 0:00:00
比特币:为什么说“小表模式”zkEVM更为高效-ODAILY

前言以太坊虚拟机是建立在以太坊区块链上的代码运行环境,合约代码可对外完全隔离并在EVM内部运行,其主要作用是处理以太坊系统内的智能合约.

1900/1/1 0:00:00
TTE:推特新任CEO是什么来头?-ODAILY

今日,马斯克在社交媒体宣布即将为twitter聘请一位新任CEO,而自己将成为执行主席兼CTO,负责监督产品、软件和系统等,字里行间不难看出twitter新任CEO是一位女性.

1900/1/1 0:00:00
区块链:从摩根大通到搜狐摩拜,出走们的高管们正在All in 区块链

据CNBC报道,前摩根大通区块链部门主管AmberBaldet本周一宣布建立区块链创业公司Clovyr.

1900/1/1 0:00:00