复盘:OUSD遭“经典重入攻击”损失770万美元,黑客凭什么屡屡得逞?
攻击者分四次铸造 OUSD 稳定币,凭空创造出2050万枚OUSD。来源于火星财经专栏作家PeckShield
攻击者分四次铸造 OUSD 稳定币,凭空创造出2050万枚OUSD。来源于火星财经专栏作家PeckShield
技术简析以太坊 DeFi 项目 OUSD 遭受闪电贷攻击事件。来源于火星财经专栏作家慢雾科技
在本次攻击事件中,黑客使用重入攻击配合dYdX闪电贷对存储池发起了侵占。来源于火星财经专栏作家成都链安
慢雾安全团队发文跟进“DeFi平台Lendf.Me被黑”一事的具体原因及防御建议。文章分析称,通过将交易放在bloxy.info上查看完整交易流程,可发现攻击者对Lendf.Me进行了两次“supply()”函数的调用,但是这两次调用都是独立的,并不是在前一笔“supply()”函数中再次调用“supply()”函数。紧接着,在第二次“supply()”函数的调用过程中,攻击者在他自己的合约中对Lendf.Me的“withdraw()”函数发起调用,最终提现。慢雾安全团队表示,不难分析出,攻击者的“withdraw()”调用是发生在transferFrom函数中,也就是在Lendf.Me通过transferFrom调用用户的“tokensToSend()”钩子函数的时候调用的。很明显,攻击者通过“supply()”函数重入了Lendf.Me合约,造成了重入攻击。
去中心化共享经济协议OriginProtocol(OGN)联合创始人MatthewLiu更新关于“稳定币OUSD遭受攻击”一事称,“团队在采取措施以追回资金,包括与交易所以及其他第三方合作,以识别出黑客地址,并对资金进行冻结。黑客同时使用TornadoCash和renBTC来进行洗钱和转移资金,目前,黑客钱包中还有7137枚ETH和224.9万枚DAI。此次攻击是由合约中的一个重入漏洞(reentrancybug)引发。团队将在未来几天内采取措施,试图弥补用户资金,还将讨论OUSD持有者的补偿计划。”据此前报道,OUSD因此次攻击事件造成700万美元损失。Origin提醒称,“目前已禁用了vault存款,请不要在Uniswap或Sushiswap上购买OUSD。”
11月14日,慢雾发布DeFi协议Akropolis重入攻击事件简析。内容显示: \n1. 攻击者使用自己创建的token进行deposit,此时Akropolis合约会先记录一次合约中所有代币的总量; \n2. Akropolis合约调用用户自己创建的token的transferFrom函数的时候,攻击者在transferFrom函数中重入Akropolis合约的deposit函数,并转入DAI到Akropolis合约中; \n3. 此时在重入的交易中,由于Akropolis合约会先获取合约中所有代币的总量,这个值和第一次调用deposit函数获取的合约代币总量的值一致; \n4. Akropolis合约计算充值前后合约中代币总量的差值,攻击者在充值DAI后,会得到一定量的Delphi token,获得token的数量就是充值DAI的数量; \n5. 铸币完成后,流程回到第一次deposit往下继续执行,这时合约会再次获取合约中所有代币的总量,这时由于在重入交易时,攻击者已经转入一定量的DAI,所以得到的代币总余额就是攻击者在重入交易完成后的代币总余额; \n6. 此时合约再次计算差
如何在以太坊伊斯坦布尔硬分叉之后保护你的智能合约不被重入攻击。即将于12月初推出的伊斯坦布尔硬分叉包括EIP1884:“限制trie大小有关的操作码”。关键字是
如何在以太坊伊斯坦布尔硬分叉之后保护你的智能合约不被重入攻击。即将于12月初推出的伊斯坦布尔硬分叉包括EIP1884:“限制trie大小有关的操作码”。
比特币以太坊晚间行情分析重入震荡,如何控局
慢雾安全团队发文跟进“DeFi平台Lendf.Me被黑”一事的具体原因及防御建议。文章分析称,通过将交易放在bloxy.info上查看完整交易流程,可发现攻击者对Lendf.Me进行了两次“supply()”函数的调用,但是这两次调用都是独立的,并不是在前一笔“supply()”函数中再次调用“supply()”函数。紧接着,在第二次“supply()”函数的调用过程中,攻击者在他自己的合约中对Lendf.Me的“withdraw()”函数发起调用,最终提现。慢雾安全团队表示,不难分析出,攻击者的“withdraw()”调用是发生在transferFrom函数中,也就是在Lendf.Me通过transferFrom调用用户的“tokensToSend()”钩子函数的时候调用的。很明显,攻击者通过“supply()”函数重入了Lendf.Me合约,造成了重入攻击。