北京时间2022年3月31日上午10时左右,Fuse上的OlaFinance被恶意利用,导致约400万美元资产遭受损失。
漏洞交易
●其中一笔交易:
https://explorer.fuse.io/tx/0xe800f55fe6c81baba1151245ebc43692735d4019107f1f96eeb9f05648c79938/token-transfers
波卡首个平行链Statemine上建立Tether账户议案已启动投票:5月11日消息,Kusama理事会最近已投票通过Motion 470,该议案旨在通过Kusama的治理帮助Tether在Statemine上建立账户,并且用户可以自由在Statemine上接收USDT,而不需要账户有一定数额的KSM。目前该议案已经转为197号议案进行公众投票,截至目前还有6天的投票时间和7天的执行期。
Tether首席技术官Paolo Ardoino表示,我们很高兴在Kusama上推出USDT,为其社区提供数字代币领域中流动性最强、最稳定和最受信任的Stablecoin。对于那些相信去中心化、无需许可的生态系统重要性的人来说,Kusama是这种精神的完美代表。它是一个平台,旨在将控制权交到用户手中,我们期待成为其不断发展的生态系统中的重要资产。
Statemint由Shell空白链升级,是波卡首个平行链,未来Tether也会在波卡区块链上进行部署。(Polkaworld)[2022/5/11 3:06:51]
●所有相关交易均可在此查到:
1500万枚USDT从Tether Treasury转入币安:金色财经报道,Whale Alert数据显示,北京时间07月22日00:59,1500万枚USDT从Tether Treasury转入币安,价值约1501.6万美元,交易哈希为:ec1039c9b9870b82dced2bf78b4d0056e17199eedc38b2bdf3599763ed23535d。[2020/7/22]
https://explorer.fuse.io/address/0x371D7C9e4464576D45f11b27Cf88578983D63d75/transactions
动态 | 近24小时Tether Treasury转出3110万USDT:据Tokenview数据显示,截止至北京时间下午18点,近24小时在Omin和Ethereum公链通过Tether Treasury地址转出的USDT总量为3110万,与昨日相比增加了109.19%。流入交易所的USDT共计3660万,一共转入3家交易所。[2019/6/6]
相关合约及地址
●攻击者地址:0x371d7c9e4464576d45f11b27cf88578983d63d75
●攻击合约:
Solana Devnet已集成Chainlink喂价:8月26日消息,Chainlink喂价现已在Solana Devnet上发布,为Solana DeFi生态系统提供去中心化预言机访问渠道。Solana链上的开发人员可以利用Chainlink喂价获得高度去中心化、高质量和快速更新的价格参考数据,从而在DeFi中构建各种混合智能合约应用程序。Chainlink团队计划在第四季度末之前发布Solana主网集成。[2021/8/26 22:37:35]
○0x632942c9BeF1a1127353E1b99e817651e2390CFF
●OlaFinance相关合约:
○oWETH:0x139Eb08579eec664d461f0B754c1F8B569044611
○oWBTC:0xd3f5070d524780CD204AF5A64d6B7D722F686729
攻击流程
我们以0xe800f55这一笔交易举例:
1.黑客部署了一个攻击合约0x632942c。
2.黑客利用部署的攻击合约发起攻击,首先从0x97F4F45闪电贷到515WETH。
3.攻击合约将借到的515WETH存到Erc20Delegator(oWETH)合约,并铸造了25,528.022oWETH用于后续借贷。
4.由于攻击合约拥有了上述步骤中的25,528.022oWETH,即可从另一个Erc20Delegator(oWBTC)合约借得20WBTC。
5.因为WBTC代币合约是一种ERC677合约,在代币转移过程中会发起外部调用。
因为这笔转移发生在借款记录更新之前,而该借贷记录由多个Erc20Delegator合约共享,攻击合约利用外部调用在借款记录更新之前进入另一个Erc20Delegator合约,再次借用代币。
虽然Erc20Delegator合约的借款函数有防止重入的限制,但它只能防止外部调用重入自身合约,而它不能防止外部调用进入其它Erc20Delegator合约并通过共享的借款记录再次借款。
自此,黑客完成了利用一笔抵押进行的多次借款。
6.完成恶意借款之后,黑客于0x97F4F45偿还闪电贷借款。
漏洞为何会被利用
该项目基于Compound合约,Compound合约和ERC677/ERC777的代币之间的不兼容,使该黑客事件成为可能。
这些代币的内置回调函数被利用,允许重入以耗尽借贷池。
写在最后
该次事件可通过安全审计发现相关风险。
若该合约进行审计,我们将会注意到该Compound合约和有外部调用的代币的不兼容型,并提示可能存在的重入问题。
技术团队应及时关注已发生的安全事件,并且检查自己的项目中是否存在类似问题。
400万美元说没就没并不是愚人节恶作剧,但项目方如果不重视安全问题极有可能让黑客有机可乘,成为下一个“整蛊对象”。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。