USD:操纵预言机就能空手套白狼?DEUS Finance DAO被盗1570万美元攻击事件分析-ODAILY_ENS

北京时间2022年4月28日10:40:14,CertiK审计团队监测到DEUSFinance的合约被恶意攻击,造成了约1570万美元的损失。

攻击者恶意操纵DEI的价格,从DeiLenderSolidex合约中通过提供少量的抵押品提取了大量的DEI。

漏洞交易

https://ftmscan.com/tx/0x39825ff84b44d9c9983b4cff464d4746d1ae5432977b9a65a92ab47edac9c9b5

数据:某巨鲸在Aave抵押wstETH借出690万美元稳定币,再次买入WBTC和ETH并存入:7月13日消息,Lookonchain监测显示,5小时前某巨鲸向Aave存入4911枚wstETH(约1040万美元)并借出690万美元稳定币,然后以30,460美元买入65.66枚WBTC(约200万美元),并以1,882美元买入2,604枚ETH(约490万美元),并再次存入Aave。[2023/7/13 10:52:34]

攻击步骤

①攻击者部署攻击合约并向借贷池DeiLenderSolidex合约提供抵押。

过去48小时Tether转入币安超1.7亿USDT,历史上共转入10.4亿枚:10月26日消息,慢雾监测显示,在过去的48小时内,Tether 财政部已向币安转移了超过1.7亿USDT的资金(今日累计已达 1.3 亿枚)。从历史上看,他们一共进行了 44 次转账,总计 10.4 亿 USDT。[2022/10/26 11:44:41]

②随后攻击者利用攻击合约获得了超过143,200,000USDC用以发起攻击。

③攻击合约将这143,200,000个借得的USDC在USDC/DEI交易对池0x5821573中换为9,547,716个DEI,此举导致DEI的价格被大幅提高。

ENS 在数周前被刷近 700 个独立地址,团队回应会将这些地址列为黑名单且无法获取空投:11月4日消息,推特用户 yannickcrypto.eth 发现有两个地址在以太坊域名系统(ENS)公开空投计划前,为大约 700 个独立地址每个地址存入了 0.1ETH,然后注册了一个独立的 ENS 地址,以此获取 ENS 的空投。这两个地址的资金最早从 OKEx 转出,而且操作这些地址的行为发生在 2 至 4 周前。ENS 的核心开发者 Nick Johnson 在推特对该事件进行了回应,他给出了四个选项:什么都不做;快照时间提前;增加更多条件以去除更多账号;手动将这些地址设为黑名单。他认为前三者都存在一些问题,所以他们目前选择第四个方式,手动将这些地址设为黑名单,这些地址将无法收到 ENS 的空投。[2021/11/4 21:23:46]

④由于DeiLenderSolidex合约是用预言机来确定用户抵押品的价值,而预言机合约使用被恶意操纵的交易对池的价格作为价格来源。因此通过提高的价格和之前提供的抵押,攻击者可从借贷池中总计借贷到17,246,885DEI,这一数额远大于之前攻击者提供抵押的金额。

⑤攻击者用9,547,716个DEI交换到的143,184,725USDC来偿还闪电贷款,最终获取差价离场。

漏洞分析

通过闪电贷,攻击者能够操纵交易对的状态,并进一步操纵DEUS的预言机价格,以此利用不对等的价值借贷DEI。

资产去向

截至撰稿时,黑客已将攻击所得转到以太坊上并换成ETH,随后将5,446个ETH存入TornadoCash。

https://debank.com/profile/0x701428525cbac59dae7af833f19d9c3aaa2a37cb/history

写在最后

预言机合约不应该直接使用交易对池中的价格作为价格来源,而安全审计可以有效地避免这一风险。

CertiK安全专家建议:如果只有代币合约被审计,这种情况在审计过程中将会指出第三方依赖风险。项目应该避免直接从交易对池中获取价格。建议根据项目的逻辑,使用更值得信任的预言机:

1.使用多个可靠的链上价格预言机来源,例如Chainlink和Band协议。

2.使用时间加权平均价格。TWAP代表了一个代币在特定时间范围内的平均价格。因此如果攻击者仅操纵一个区块的价格并不会对平均价格产生太大的影响。

3.如果合约模式允许,将函数调用者限制在一个非合约/EOA地址。

4.闪电贷款只允许用户在一次交易中进行借贷。如果合约用例允许,可强制关键交易至少跨越两个区块。

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

大币网

[0:0ms0-5:912ms