根据慢雾安全团队的分析,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
行情震荡了一个多月终于变盘了,从最开始多头比较强势,再到震荡到后面转化为空头力量开始变强,最终跌破了震荡区间,选择方向向下。昨天跌破29500美金这根阴线带有量能,属于健康的下跌,昨天的下跌也意味着比特币从2022年11...
比特币网络被设计成高分布式,也是世界上最灵活的计算机系统之一。然而,这种结构的一个问题是,BTC一直在与有限的可扩展性作斗争。与支付巨头Visa每秒可处理65000笔交易(TPS)比特币网络TPS只有7笔。因此,随着对加...
英伟才青闪电网络是区块链上的一种子层技术,据说可以解决比特币的可扩展性问题。虽然这种潜在的解决方案仍处于起步阶段,但闪电网络似乎引起了人们的关注。闪电技术通过链下支付渠道处理交易,无需等待区块链挖掘,加快了交易时间,降低...
原文标题:《LIGHTNING IS DOOMED》原文作者:Shinobi原文编译:Luccy,BlockBeats编者按:在 2023 年 10 月 16 日的一封邮件中提到闪电网络通道所面临的资金丢失风险,这些风险...