USDT:Yearn Finance 被黑简析_SDT

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

相关信息

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

攻击核心点

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

Akropolis整合Yearn.Finance的v2 yVaults已上线:去中心化金融平台Akropolis表示,整合Yearn.Finance的v2 yVaults已上线。v2 yVaults包括steCrv、HEGIC、DAI等。[2021/2/3 18:45:53]

具体细节分析

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

Yearn v2 Vaults已正式上线:1月18日,Yearn.finance (YFI)官方发文宣布,Yearn v2 Vaults已正式上线。[2021/1/18 16:26:02]

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

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

Yearn生态系统代币指数(YETI)提案启动:Power Poll启动Yearn生态系统代币指数(YETI)提案,该指数包括Yearn生态系统中的代币:YFI、SUSHI、CREAM、AKRO、COVER、K3PR、CVP和PICKLE。提案建议代币权重:YFI35%、SUSHI17%,其他代币各8%。

该指数将起到两个作用。对于投资者来说,能够让投资者广泛接触到Yearn生态系统。对于Yearn而言,这将是使其合并正式化的方式,可以在生态系统当中调整财政和治理系统。[2020/12/7 14:24:11]

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

yearn.finance:50%系统奖励已分配给治理,即将投票决定是否分配为运营费用:DeFi聚合收益协议yearn.finance发推称,50%的系统奖励已分配给治理。是否将系统奖励分配为运营费用有待表决。投票将在本周进行。[2020/8/10]

5、随后攻击者调用 yUSDT 合约的 withdraw 函数进行取款,由于此时 provider 指定为 AAVE,因此 yUSDT 会通过 Aave Pool v1 赎回 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 合约中转入 1 wei 的 USDT。

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

总结

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

慢雾科技

个人专栏

阅读更多

金色财经 善欧巴

Chainlink预言机

金色早8点

白话区块链

Odaily星球日报

Arcane Labs

深潮TechFlow

欧科云链

BTCStudy

MarsBit

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

区块博客

[0:46ms0-7:608ms