鸵鸟区块链

慢雾:OUSD闪电贷攻击者通过重入来凭空获得巨额的收益分配

2020-11-18 17:00

鸵鸟区块链11月18日消息,2020年11月17日,以太坊DeFi项目 OUSD遭受闪电贷攻击。慢雾安全团队针对本次攻击进行简要分析: 1. 攻击者使用dydx闪电贷借出70000个ETH,随后通过Uniswap将其兑换为USDT和DAI。 2. 攻击者调用OUSD Vault的mint函数,Vault会先进行一次rebase将之前积累的奖励进行分配,随后将750万USDT从攻击者合约转入OUSD Vault中。此时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 函数的逻辑来实现重入攻击。 总结:此次攻击关键在于调用外部合约造成的重入问题与Vault的rebase收益分配机制相结合,导致攻击者可以通过重入来凭空获得巨额的收益分配。针对此类情况,安全团队建议对传入资产进行检查后,对不在白名单内的资产直接进行回滚,并使用防重入锁以避免重入攻击。(慢雾区情报)