DEI:Deus Finance预言机攻击

1.前言

北京时间2022年3月15日,知道创宇区块链安全实验室监测到DeusFinance遭到黑客攻击,损失约300万美元。知道创宇区块链安全实验室?第一时间跟踪本次事件并分析。

2.基础信息

攻击者地址:0x1ed5112b32486840071b7cdd2584ded2c66198dd

攻击合约:0xb8f5c9e18abbb21dfa4329586ee74f1e2b685009

WazirX联合创始人:Shardeum将在Sphinx上推出一个新的测试网:金色财经报道,WazirX联合创始人Nischal Shetty在社交媒体上称,Shardeum将在Sphinx上推出一个新的测试网,称为DApp测试网。这将是一个与目前的测试网平行的测试网。目前的测试网专注于验证器(此后我们将其称为验证器测试网),而新的测试网将专注于DApps。

当我们的团队致力于为验证器测试网带来稳定性时,我们将提供DApp测试网,它将被分片,但节点将由团队运行。我们想确保在我们进行验证器测试网工作时,创建DApps的速度不会降低。[2023/6/16 21:42:22]

DeiLenderSolidex合约:0xeC1Fc57249CEa005fC16b2980470504806fcA20d

Shardeum创始人:下一个Web3浪潮将颠覆一些行业:金色财经报道,Shardeum创始人Nischal Shetty在社交媒体上称,下一个Web3浪潮将颠覆一些行业,Play to Earn将是这样的一个领域,中心化的P2E模式是有缺陷的。玩家没有办法知道他们是否在玩一个公平的游戏。而去中心化的P2E确保公平游戏。

此前报道,Shardeum正寻求以2亿美元估值进行2000万至3000万美元融资。[2022/8/24 12:45:26]

甲骨文合约:0x5CEB2b0308a7f21CcC0915DB29fa5095bEAdb48D

慢雾:DEUS Finance 二次被黑简析:据慢雾区情报,DEUS Finance DAO在4月28日遭受闪电贷攻击,慢雾安全团队以简讯的形式将攻击原理分享如下:

1.攻击者在攻击之前先往DeiLenderSolidex抵押了SolidexsAMM-USDC/DEI的LP。

2.在几个小时后攻击者先从多个池子闪电贷借出143200000USDC。

3.随后攻击者使用借来的USDC在BaseV1Pair进行了swap操作,兑换出了9547716.9个的DEI,由于DeiLenderSolidex中的getOnChainPrice函数是直接获取DEI-USDC交易对的代币余额进行LP价格计算。因此在此次Swap操作中将拉高getOnChainPrice函数获取的LP价格。

4.在进行Swap操作后,攻击者在DeiLenderSolidex合约中通过borrow函数进行借贷,由于borrow函数中用isSolvent进行借贷检查,而在isSolvent是使用了getOnChainPrice函数参与检查。但在步骤3中getOnChainPrice的结果已经被拉高了。导致攻击者超额借出更多的DEI。

5.最后着攻击者在把用借贷出来DEI兑换成USDC归还从几个池子借出来的USDC,获利离场。

针对该事件,慢雾安全团队给出以下防范建议:本次攻击的原因主要在于使用了不安全的预言机来计算LP价格,慢雾安全团队建议可以参考Alpha Finance关于获取公平LP价格的方法。[2022/4/28 2:37:18]

交易哈希:0xe374495036fac18aa5b1a497a17e70f256c4d3d416dd1408c026f3f5c70a3a9c

3.漏洞分析

此次事件,漏洞关键在于协议通过StableV1AMM-USDC/DEI交易对在获取价格时被攻击者操控,导致普通用户资产被清算,最终获利。

DeiLenderSolidex合约的清算函数liquidate中,会通过isSolvent函数来判断用户是否应该被清算,而isSolvent调用Oracle.getPrice来问价判断抵押物的价格,因而产生了漏洞

由函数getPrice可知,代币价格算法:)x10^18/

DEI的代币价格是通过DEI和USDC在池子中的余额进行判断的的,因此攻击者利用闪电贷发起此次攻击,控制了DEI代币的价格。

4.攻击流程

攻击者从SPIRIT-LP_USDC_DEI中闪电贷借出约970万DEI代币,之后再次使用闪电贷从sAMM-USDC/DEI中获取了2477万DEI代币用于操纵价格预言机

随后清算价格操纵后的破产用户

之后偿还闪电贷到sAMM-USDC/DEI中

烧毁流动性代币获取521万USDC和524万DEI

使用521万USDC换取517万DEI

归还从SPIRIT-LP_USDC_DEI中借的970万DEI

最后攻击者将获取的DEI全部换成USDC,总获利约300万美元。

5.总结

本次攻击事件核心是由于价格预言机对代币价格的实现存在问题,使得能够人为的通过池子中代币的余额来对代币价格进行控制,导致了此次事件的发生,建议官方在使用预言机时能够严格控制价格的逻辑实现。

近期,各类合约漏洞安全事件频发,合约审计、风控措施、应急计划等都有必要切实落实。

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

金星链

[0:0ms0-0:728ms