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

本文由Certik原创,授权金色财经首发。

北京时间2022年4月28日10:40:14 ,CertiK审计团队监测到DEUS Finance的合约被恶意攻击,造成了约1570万美元(折合人民币约1.03亿)的损失。

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

漏洞交易https://ftmscan.com/tx/0x39825ff84b44d9c9983b4cff464d4746d1ae5432977b9a65a92ab47edac9c9b5

BCH突破820美元关口 日内涨幅为11.96%:火币全球站数据显示,BCH短线上涨,突破820美元关口,现报820.21美元,日内涨幅达到11.96%,行情波动较大,请做好风险控制。[2021/4/14 20:17:31]

攻击步骤

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

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

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

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

BM:EOS现在并没有失败:今日,有社区用户在推特上表示:“EOS主网的3个交易所节点总共挪用了 1.22亿EOS用户代币进行投票。 ”也有用户表示:“其实只要换为1票1投,然后设置多参数的投票权重就可以改善这种问题。针对用户疑惑“那谁来实现这些代码”的问题?

BM回复:“若真的走到那一步,社区可以实现一个社区用户驱动的分叉,长期来看,BP应该会做对所有人都有益的事,不然就是亲自杀死了‘下金蛋的鹅’(寓言,暗指不懂知足,贪得无厌,最终失去所有)。最后,BM表示:我们致力于将EOS做得最好,EOS现在并没有失败!”[2020/8/26]

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

漏洞分析

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

资产去向

截至撰稿时,黑客已将攻击所得转到以太坊上并换成ETH,随后将5,446个ETH(总价值约1570万美元)存入Tornado Cash。

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

写在最后

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

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

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

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

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

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

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

区块博客

DYDX你的NFT挣钱了吗?

5月4日消息,据华尔街日报援引数据网站NonFungible的数据,本周NFT的销售量进一步出现下滑,至日均19000个,这比去年9月22.5万个的销售量下降了92%之多。虽然NFT市场的泡沫大家已早有准备,但这波降温依旧比预计来的更早且更大。

BTC尽管存在全球通胀的担忧 美国加密货币的采用率依旧高居不下

比推消息,DappRadar 发布的一份定量分析报告揭示了一些具有启发性的全球数字资产采用行为的市场指标。区块链数据描绘了 Web3 和元宇宙行业的积极情绪,尤其是在美国;在2月俄乌战争爆发后,乌克兰和俄罗斯地区对于加密货币兴趣极具上升,此外整个欧洲的天然气价格飙升正在影响通胀指标,欧洲居民面临缺面缺油等困境。

[0:0ms0-7:167ms