USD:Yearn Finance 被黑简析

据慢雾区情报,2023年4月13日,去中心化收益聚合平台YearnFinance遭到攻击,攻击者获利超千万美金。慢雾安全团队以简讯的形式分享如下:

相关信息

Yearn的yUSDT合约设计存在aUSDT、dydx头寸、iUSDC与cUSDT储备,用户在deposit/withdraw时会根据上述储备余额计算用户所能获得的份额/所需存款的数额。

攻击核心点

此次攻击的原因在于攻击者利用yUSDT合约被错误设置了fulcrum地址,从而操控yUSDT合约中的稳定币储备余额,通过在yUSDT中存入USDT,以获得大量的非预期的yUSDT代币进行获利。

Yearn创始人AC发文介绍类Loot游戏Rarity属性:9月6日消息,Yearn.finance创始人Andre Cronje发文介绍类Loot游戏Rarity的属性,共有6个核心属性,分别为Strength (Str)力量、Dexterity (Dex)敏捷、Constitution (Con)、Intelligence (Int)智力、Wisdom (Wis)智慧、Charisma (Cha)魅力。当能力得分发生变化时,与该得分相关的所有属性也会相应地发生变化。玩家在分配召唤师属性之前仔细研究这些,因为只能设置一次,之后它们是永久的,有些专长和法术有基础要求。

此前消息,Yearn.finance创始人Andre Cronje发文称,在Fantom链上推出类Loot游戏Rarity。游戏内包含野蛮人、巫师等11种角色,玩家可以通过探险获得经验值后完成升级。升级中的玩家可以利用角色特性制造道具,并且可以在二级市场出售。[2021/9/6 23:03:42]

具体细节分析

YFI社区已通过回购和重建Yearn提案:1月20日早间,Yearn.finance (YFI) 核心开发者banteg发推宣布,“回购和重建Yearn”的提案已以99.44%的支持率获得通过。根据官方此前公布的信息,该提案具体内容是:1.使用YFI质押奖励在公开市场上回购YFI,并将回购的YFI用于贡献者奖励和其他Yearn活动。2.撤消YFI治理金库(yGov),使其不再起作用。3.即使在其他地方使用YFI代币时也允许参与YFI治理(如在SushiSwap中提供流动性)。[2021/1/20 16:34:48]

1、攻击者首先通过闪电贷借出大量的DAI、USDC和USDT,接着通过Curve的ySwap将DAI和USDC换成USDT,以消耗yUSDT合约中的aUSDT储备。

Yearn.finance已启动安全审核平台yAcademy:11月12日,Yearn.finance官方发布协议治理进展。内容显示,Yearn.finance已部署YIP-53提案,已启动安全平台yAcademy。该平台主要负责审核Yearn的合约。[2020/11/12 12:23:40]

2、接着攻击者为AavePoolv1上存在负债的用户还款,目的是增加AavePoolv1中的USDT数额,以便yUSDT中的aUSDT能够顺利被赎回。

Yearn.finance创始人:仍在构建ENM且将继续部署测试合约:9月29日,Yearn.finance创始人Andre Cronje再次发推针对遭遇攻击的ENM项目作出相关说明。他表示,还在构建Eminence(ENM)项目,且将继续部署测试合约。Andre Cronje表示其有超过100个已部署的合同,其中可能有一半仍有漏洞,并提醒称,请等待官方通知。此外,Andre Cronje还称,必须声明一点,不要使用其部署的随机合约,昨天ENM项目部署的合同完全是为了其个人,并称GIL和EMN都是分阶段进行的,不会被使用。[2020/9/29]

3、紧跟着调用yUSDT合约的deposit函数进行USDT存款,得到相对应的yUSDT代币。为后续通过withdraw清空yUSDT中aUSDT储备做准备。

4、为了确保withdraw时能够清空yUSDT中aUSDT储备,攻击者调用iUSDC合约的mint函数铸造iUSDC后,将iUSDC直接转给yUSDT合约,为yUSDT合约增加储备深度。

5、随后攻击者调用yUSDT合约的withdraw函数进行取款,由于此时provider指定为AAVE,因此yUSDT会通过AavePoolv1赎回USDT给提款人。

6、由于攻击者在之前通过iUSDC增加了合约中的储备,因此在此次提现中可以将yUSDT里的aUSDT储备全部清空。

7、此时yUSDT合约中的aUSDT、dydx头寸与cUSDT储备都被操控为0了。最后,为清空iUSDC储备,攻击者调用yUSDT合约的rebalance函数,进行储备更新。

8、由于此时yUSDT中只剩余iUSDC,因此合约的新provider将会被指向iUSDC,导致Rebalance函数会先进行_withdrawAll操作,再通过余额获取的方式更新储备。

9、而在_withdrawAll操作中会燃烧掉iUSDC以获得USDC代币,但在更新储备时获取的是yUSDT合约中USDT的余额。因此fulcrum储备被错误的指向了iUSDC,导致此时yUSDT合约储备被操控为0。

10、攻击者为确保能通过存款获得大量的yUSDT,向yUSDT合约中转入1wei的USDT。

11、最后,攻击者调用yUSDT的存款函数,存入10,000枚USDT,获得1,252,660,242,850,000枚yUSDT,并通过curve将yUSDT换成大量的yDAI、yUSDC、yTUSD。

总结

本次攻击事件是由于YearnFinance的yUSDT合约错误的配置导致的。慢雾安全团队建议在对协议进行配置时,应仔细检查所有参数是否符合预期并进行充分的测试以确保协议的安全。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金星链

欧易交易所app下载AIG:AIGC 爆火,苹果失声

编译丨海伦无忌来源:腾讯科技 图片来源:由无界AI工具生成丨划重点①AIGC火了,但在最近这波竞争浪潮里,苹果早些年推出的主打语音智能的Siri,处境却并不理想.

[0:0ms0-1:76ms