币交所平台闪电贷攻击事件:慢雾认定OUSD损失700万美金

OKX欧易app

OKX欧易app

欧易交易所app是全球排名第一的虚拟货币交易所,注册领取6万元盲盒礼包!

APP下载   官网注册

此次攻击的关键在于利用外部合约调用引发的重入问题,结合了Vault的rebase机制。攻击者通过重入过程,可以非法获得巨额收益分配。

根据慢雾安全团队的分析,2020年11月17日,以太坊DeFi项目OUSD遭受了闪电贷攻击。慢雾安全团队第一时间进行了相关分析。下面是针对本次攻击的简要分析。详细的攻击过程分析将在稍后发布。如果您对此感兴趣,请持续关注。

背景提要:OriginDollar(OUSD)是由OriginProtocol(OUSD)创建的一种新型ERC-20稳定币。当该稳定币仍然存放在钱包中时,它会自动从DeFi协议中获取有竞争力的收益。OUSD是由USDT、USDC和DAI等其他稳定币以1:1的比例支持。

攻击流程简述:1.攻击者使用dydx闪电贷借出70000个ETH,并通过Uniswap将其兑换为USDT和DAI。2.攻击者调用OUSDVault的mint函数,Vault会先进行一次rebase,将之前积累的奖励进行分配,然后将750万USDT从攻击者的合约转入OUSDVault中。此时,OUSD合约会铸造出等量的750万OUSD代币给攻击合约,最后通过allocate函数结算当前的收益。3.在攻击者转入750万USDT之前,Vault的价值约为7018138美元。攻击者转入750万USDT后,其占据Vault总价值的一半以上。4.接着,攻击合约利用mintMultiple函数传入DAI合约地址和攻击合约地址,同样进行一次rebase,将之前累计的收益进行分配(包括之前转入的750万USDT部分),然后通过transferFrom函数将攻击合约的2050万DAI转入Vault中。接着,攻击合约调用自身的transferFrom函数,在其函数中构造再次调用Vault合约的mint函数的逻辑,从而实现重入攻击。5.在前一步中转入2050万DAI后,通过攻击合约的transferFrom函数再次调用Vault的mint函数。由于重入时传入2000USDT符合触发rebase条件的判断,此时会进行一次rebase。重入攻击的原因是攻击者没有通过oUSD.mint函数进行铸币操作,并且攻击者在先前已将2050万DAI转入Vault中,导致Vault的总资产价值仍在增加。因此,Vault会认为增加的2050万DAI是收益部分,并进行rebase分配。由于在步骤3中,攻击者的资产已经占据Vault总价值的一半以上,所以攻击者会凭空获得超过1025万美元的收益分配。6.接着,通过oUSD.mint进行铸造出2000个OUSD,并通过allocate函数结算重入时的2000USDT收益(从前一步可以看出,攻击合约传入的2000USDT只是为了满足触发rebase条件的需要)。重入结束后,攻击者仍然通过oUSD.mint铸造之前转入的2050万DAI相等的OUSD代币。7.最后,Vault的总价值约为3501万美元,但攻击者所拥有的价值超过3825万美元。因此,攻击者使用大部分的OUSD从Vault中进行赎回操作,将Vault基本清空,然后将剩下的OUSD通过Uniswap和Sushiswap的OUSD-USDT池兑换成USDT,以增加收益。

总结:此次攻击的关键在于利用外部合约调用引发的重入问题,并结合了Vault的rebase收益分配机制。这导致攻击者可以通过重入来非法获得巨额的收益分配。针对这种情况,慢雾安全团队建议在传入资产后进行检查,对不在白名单内的资产直接进行回滚,并使用防重入锁来避免重入攻击。

相关链接:参考攻击交易:0xe1c76241dda7c5fcf1988454c621142495640e708e3f8377982f55f8cf2a8401

本站所有软件信息均由用户上传发布,版权归原著所有。如有侵权/违规内容,敬请来信告知邮箱:764327034@qq.com,我们将及时撤销! 转载请注明出处:https://czxurui.com/zx/69401.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年08月23日
下一篇 2023年08月23日

相关推荐

发表回复

8206
验证码

评论列表(0条)

    暂无评论

ok交易所
已有100万用户加入ok交易所

立即下载