OKCoin平台遭遇重入攻击,OUSD损失700万美元,是否

WB3交流加微信:WX-93588,⬅️此处为全站广告位,与正文项目无关
注册并登录App即可领取高达 60,000 元的数字货币盲盒:点击此处注册OKX

此次进犯关键在于调用外部合约造成的重入问题与Vault的rebase机制相结合。进犯者能够经过重入来随便取得巨额收益分配。

依据慢雾安全团队的剖析,2020年11月17日,以太坊DeFi项目OUSD遭受闪电贷进犯。慢雾安全团队在第一时间跟进并进行了相关剖析。
OriginDollar(OUSD)是由OriginProtocol(OUSD)创立的新型ERC-20稳定币。当OriginDollar仍保留在钱包中时,它会主动从DeFi协议中取得有竞争力的收益。OUSD以1:1的比例支持USDT、USDC和DAI等其他稳定币。

进犯流程简析:
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函数,在该函数中结构再次调用Vault合约mint函数的逻辑来实现重入进犯。
5. 在上一步转入2050万DAI后,进犯合约再次调用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的收益。重入完毕后,持续经过oUSD.mint铸造之前转入的2050万DAI等值的OUSD代币。
7. 最后,Vault的总价值约为3501万美元,但进犯者所具有的价值超过3825万美元,因而进犯者用大部分的OUSD去Vault进行换回操作,将Vault基本提空,剩下的OUSD则经过Uniswap和Sushiswap的OUSD-USDT池将OUSD换成USDT来增加收益。

总结:
此次进犯关键在于调用外部合约造成的重入问题与Vault的rebase收益分配机制相结合,导致进犯者能够经过重入来随便取得巨额的收益分配。慢雾安全团队建议对传入财物进行检查后,对不在白名单内的财物直接进行回滚,并运用防重入锁以防止重入进犯。

相关链接:
参阅进犯交易:0xe1c76241dda7c5fcf1988454c621142495640e708e3f8377982f55f8cf2a8401

此时快讯

【Mythical Games增加通过iOS和Android上购买NFT的功能】金色财经报道,区块链独角兽Mythical Games的移动游戏《NFL Rivals》周四增加了通过 iOS 和 Android 应用程序在二级市场上购买NFT球员卡的功能,整合了之前仅限于 Mythical 网络市场的功能。
在此之前,谷歌最近宣布将更新其 Android Play 商店政策,以支持 NFT 购买和应用内集成。

版权声明:本文收集于互联网,如有侵权请联系站长删除。
转载请注明:OKCoin平台遭遇重入攻击,OUSD损失700万美元,是否 | 币百度

相关文章