By : Kong@ 慢雾安全团队 据慢雾区情报,2020 年 11 月 17 日,以太坊 DeFi 项目 OUSD 遭受闪电贷攻击。慢雾安全团队于第一时间跟进并进行相关分析。以下是慢雾安全团队针对本次攻击的简要分析。攻击过程详细分析会在稍后发布。如有兴趣可保持持续关注。 背景提要 Origin Dollar (OUSD) 由 Origin Protocol (OUSD) 创建,是一种新型的 ERC-20 稳定币,当它仍然放在钱包里时,会自动从 DeFi 协议中获得有竞争力的收益。OUSD 由 USDT、USDC 和 DAI 等其他稳定币的 1:1 支持。 攻击流程简析 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函数的逻辑来实现重入攻击。 5. 在上一步骤中转入 2050 万 DAI 后通过攻击合约的 transferFrom 函数再次调用 Vault 的mint函数。由于重入时传入 2000 USDT 符合判断是否调用 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铸出 2000 OUSD,并通过 allocate 结算重入时 2000 USDT 的收益 (从上一步骤可以看出攻击合约传入的 2000 USDT 只是为了满足调用 rebase 的条件,触发收益分配而已)。重入结束后仍将通过 oUSD.mint 铸出之前转入的 2050 万 DAI 等值的 OUSD 代币。 7. 最后 Vault 的总价值约为 3501 万美元,但攻击者所拥有的价值超过 3825 万美元,因此攻击者用大部分的 OUSD 去 Vault 进行赎回操作,将 Vault 基本提空,而其余的 OUSD 是通过 Uniswap 和 Sushiswap 的 OUSD - USDT 池将 OUSD 换成 USDT 来增加收益。 总结 此次攻击关键在于调用外部合约造成的重入问题与 Vault 的 rebase 收益分配机制相结合,导致攻击者可以通过重入来凭空获得巨额的收益分配。针对此类情况,慢雾安全团队建议对传入资产进行检查后,对不在白名单内的资产直接进行回滚,并使用防重入锁以避免重入攻击。 相关链接: (1)_参考攻击交易:_ 0xe1c76241dda7c5fcf1988454c621142495640e708e3f8377982f55f8cf2a8401 往期回顾 如何使用闪电贷从 0 撬动百万美元?Value DeFi 协议闪电贷攻击简要分析 无中生有?DeFi 协议 Akropolis 重入攻击简析 Acala 创世已通过慢雾科技安全审计 Bithumb Global 入驻慢雾区,发布「安全漏洞与威胁情报赏金计划」 Web3 大会 | 慢雾:区块链安全,永无止境的战争 慢雾导航 慢雾科技官网 https://www.slowmist.com/ 慢雾区官网 https://slowmist.io/ 慢雾 GitHub https://github.com/slowmist Telegram https://t.me/slowmistteam https://twitter.com/@slowmist_team Medium https://medium.com/@slowmist 币乎 https://bihu.com/people/586104 知识星球 https://t.zsxq.com/Q3zNvvF 火星号 http://t.cn/AiRkv4Gz 链闻号 https://www.chainnews.com/u/958260692213.htm 来源链接:mp.weixin.qq.com —- 编译者/作者:慢雾科技 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
闪电贷+重入攻击,OUSD 损失 700 万美金技术简析
2020-11-18 慢雾科技 来源:链闻
LOADING...
相关阅读:
- AI赋能金融业升级榕树贷款风险前置助力精准获客2020-11-18
- 巴西金融科技公司提供比特币担保贷款2020-11-17
- 三天三次闪电贷攻击,DeFi为何如此脆弱?2020-11-17
- 本周第4起闪电贷攻击事件:Origin公布攻击信息,呼吁黑客返还资金2020-11-17
- 如何使用闪电贷从 0 撬动百万美元?Value DeFi 协议闪电贷攻击简要分析2020-11-15