闪电贷+重入攻击,OUSD损失700万美金技术简析_USD:VAULT币

By:Kong@慢雾安全团队据慢雾区情报,2020年11月17日,以太坊DeFi项目OUSD遭受闪电贷攻击。慢雾安全团队于第一时间跟进并进行相关分析。以下是慢雾安全团队针对本次攻击的简要分析。攻击过程详细分析会在稍后发布。如有兴趣可保持持续关注。背景提要

OriginDollar(OUSD)由OriginProtocol(OUSD)创建,是一种新型的ERC-20稳定币,当它仍然放在钱包里时,会自动从DeFi协议中获得有竞争力的收益。OUSD由USDT、USDC和DAI等其他稳定币的1:1支持。攻击流程简析

UniLend闪电贷将70%的费用作为质押奖励分配,并提供空投功能:3月11日,去中心化现货交易和借贷协议UniLend发文介绍其无需许可的闪电贷技术,要点如下:

1. UniLend的闪电贷将支持所有代币,不像其他热门产品只支持20-30种资产。

2. 从UniLend闪电贷中收取的费用的70%将作为质押奖励进行分配。

3. UniLend闪电贷将支持新的创新代币技术,如弹性代币和合成资产。

4. UniLend的自动质押奖励池将在多个区块链中保持更统一的奖励分配。

5. “空投”功能将允许任何人立即向所有池参与者空投代币。[2021/3/12 18:40:15]

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

分析:Warp Finance攻击者通过闪电贷铸造LP代币清算其USDC和DAI金库:针对DeFi协议Warp Finance遭遇闪电贷攻击事件,白帽黑客、Marqet交易所联合创始人Emiliano Bonassi表示:“这是第二次利用多重闪电流动性的攻击,通过Uniswap进行闪电互换,通过dYdX进行闪电贷款。”他补充说,攻击者通过闪电交换向Uniswap上的三个不同池提供三笔打包ETH贷款,并向dYdX交易平台提供另外两笔打包ETH贷款。这些资金随后被用来铸造WETH/DAI流动性池(LP)代币,这些代币被用作Warp Finance的抵押品,以清算其USDC和DAI金库。(Cointelegraph)[2020/12/18 15:38:37]

此次攻击关键在于调用外部合约造成的重入问题与Vault的rebase收益分配机制相结合,导致攻击者可以通过重入来凭空获得巨额的收益分配。针对此类情况,慢雾安全团队建议对传入资产进行检查后,对不在白名单内的资产直接进行回滚,并使用防重入锁以避免重入攻击。相关链接:(1)参考攻击交易:0xe1c76241dda7c5fcf1988454c621142495640e708e3f8377982f55f8cf2a8401

DeFi平台Cheese Bank遭到闪电贷攻击损失330万美元:金色财经报道,基于以太坊的DeFi平台Cheese Bank最近因黑客攻击遭受了330万美元的损失。据悉,黑客利用闪电贷漏洞即时借入、交换、存款并再次借入大量代币。因此,他们可以在单个交易所(例如Uniswap、Curve)上人为地操纵特定代币的价格。区块链安全公司PeckShield周一在博客中表示,Value DeFi和Akropolis最近遭受了类似的DeFi黑客攻击。[2020/11/17 21:00:24]

Balancer将对被闪电贷攻击的损失者进行全额赔偿 约50万美元:去中心化交易协议Balancer Labs发布公告,表示将对昨天因为攻击事件而损失的用户进行全额赔偿,也将为Hex Capital提供最高额度的漏洞赏金。更多的细节将会在今日晚些时候发布。据此前报道,Balancer资金池遭闪电贷攻击,损失50万美元,此类攻击或仅影响通缩代币的资金池。[2020/6/29]

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

水星链

[0:0ms0-0:855ms