玉林社区   玉林天天茶座   分享细节分析:DeFi 平台Cream Finance 再
返回列表
查看: 528|回复: 0

分享细节分析:DeFi 平台Cream Finance 再

[复制链接]

3万

主题

3万

帖子

11万

积分

论坛元老

Rank: 8Rank: 8

积分
113403
发表于 2022-1-13 08:04:24 | 显示全部楼层 |阅读模式

马上注册玉林红豆网会员,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

B:K@ 慢雾安全团队[url=http:///www.imtoken.vote]imtoken官网[/url]的相关问题可以到网站了解下,我们是业内领域专业的平台,您如果有需要可以咨询,相信可以帮到您,值得您的信赖!https://www.imtoken.vote[align=center]

                               
登录/注册后可看大图
[/align]

据慢雾区消息,2021 年 10 月 27 日,C F 再次遭受攻击,损失约 1 亿美金,慢雾安全团队第一时间介入分析,并将简要分析分享如下。



攻击核心

本次攻击的核心在于利用 C 借贷池对抵押物价格获取的缺陷,恶意操控拉高了其抵押物的价格,使得攻击者可以从 C 借贷池借出更多的代币。

攻击细节

首先攻击者从 DF 中闪电贷借出 5 亿个 DAI,随后将借出的 5 亿个 DAI 抵押至  的 DAI 池中,以获得约 45 亿个 DAI 凭证。

随后攻击者将获得的 DAI 代币在 C 的 DAIUSDCUSDTTUSD 池子中进行单币流动性添加,以获得相应的流动性凭证。紧接着攻击者就将获得的凭证抵押到 USD 池子中以获得 USD 凭证,为后续在 C YUSD 借贷池中抵押做准备。

之后攻击者开始向 C 的 YUSD 借贷池中抵押其获得 USD 凭证,为了扩大其抵押规模,攻击者从 AAVE 闪电贷借出约 524 万个 WETH,并将其抵押到 C 的 ETH 池子中。

攻击者通过在 ETH 池子中抵押大量 ETH,来使得其有足够的借贷能力将 YUSD 池子中的 USD 全部借出并重复抵押到 YUSD 池子中,随后通过在 YUSD 池子中进行循环贷以杠杆的形式扩大了本身在 YUSD 池子中 USD 的抵押规模,为后续操控价格获利做准备。

随后为了获得 DAIUSDCUSDTTUSD 4P 凭证以操控价格,攻击者用约 1,87 个 ETH 从 U V 中兑换出约 745 万个 USDC,并通过 C P 将其兑换成 DUSD 代币约 8 万 个。

接下来攻击者通过获得的 DUSD 代币从 YVP 中赎回 DAIUSDCUSDTTUSD 4P 凭证,并利用此凭证从 USD 池子中取回 DAIUSDCUSDTTUSD 代币。

随后攻击者开始进行此次攻击的关键操作,其将约 84 万个 DAIUSDCUSDTTUSD 代币直接转回 USD 池子中,由于其不是通过正常抵押操作进行抵押的,所以这 84 万个 DAIUSDCUSDTTUSD 代币并没有被单独记账,而是直接分散给了 DAIUSDCUSDTTUSD 凭证的持有者,这相当于直接拉高了其  的价格。

在 T 中由于其抵押物价格被恶意拉高了,因此攻击者抵押的大量 USD 可以使其借出更多的资金,最后攻击者将 C 的其他 15 个池子全部借空。接下来我们跟进 C 的 T 借贷池中具体借贷逻辑。

从 T 合约中我们可以看到,主要借贷检查在 A 函数中:

我们跟进 A 函数,可以看到在 427 行,其会根据 HALI 函数检查时状态下的该账户所对应的所有 T 的资产价值总和和借贷的资产价值总和,并通过对比 T 的资产价值和借贷的 T 价值和,来判断用户是否还可以继续借贷。

我们跟进 HALI 函数,可以发现对于抵押物的价值获取来自 886 行的 UP。

我们跟进预言机的 UP 函数,可以容易的发现其将通过代币 150 行的 YTP 函数进行价格获取。

继续跟进 YTP 函数,由于 TI 为 V2,因此将通过 V 的 PS 函数进行价格获取。

跟进 PS 可以发现其直接返回了_V 作为价格,而_V 是通过_A 除合约的总  数量 (S) 来计算单个  的价格的。因此攻击者只需要操控_A 将其拉高就可以提高单个  的价格从而使得攻击者的抵押物价值变高以借出更多的其他代币。

我们可以查看下_A 是如何获取的,从 772 行我们可以很清晰的看到,_A 是直接取的当前合约的 DAIUSDCUSDTTUSD 代币数量,以及抵押在策略池中的资产数额相加获得的。因此攻击者通过直接往 USD 合约中转入 DAIUSDCUSDTTUSD 代币就可以拉高  价格从而完成获利。

通过 E 可以清晰的看到 PS 前后变化:

最后攻击者在借空其他池子后归还了闪电贷获利离场。



总结

本次攻击是典型的利用闪电贷进行价格操控,由于 C 的借贷池在获取 USD 池子  价格时直接使用了其 PS 接口,而此接口是通过合约的抵押物余额与策略池抵押资产数额相加除总  数来计算单个  的价格的。因此用户直接往 USD 转入抵押物就可以很容易的拉高单个  价格,最终使得 C 借贷池中抵押物可以借出更多的资金。

附:前两次 C F 被黑分析回顾

慢雾:C F 被黑简要分析
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

收藏:1 | 帖子:8万



侵权举报:本页面所涉内容均为用户发表并上传,岭南都会网仅提供存储服务,岭南都会网不承担相应的法律责任;如存在侵权问题,请权利人与岭南都会网联系删除!