北京时间2022年3月31日上午10时左右,Fuse上的OlaFinance被恶意利用,导致约400万美元资产遭受损失。
漏洞交易
●其中一笔交易:
https://explorer.fuse.io/tx/0xe800f55fe6c81baba1151245ebc43692735d4019107f1f96eeb9f05648c79938/token-transfers
Ava Labs创始人:Solana此次攻击可能是供应链攻击:8月3日消息,Ava Labs创始人Emin Gün Sirer在社交媒体表示,目前在针对Solana生态系统的持续攻击中,已经有7000多个钱包受到影响,并且正在以20/min的速度增长。他认为,因为现在还很早,而且攻击仍在进行中,所以有很多错误信息和猜测。
他说,由于交易签名正确,攻击者很可能已经获得了对私钥的访问权限。一种可能的途径是供应链攻击,其中JS库被黑客入侵,并泄露(窃取)用户的私钥。受影响的钱包似乎是在过去9个月内创建的,但也有报告说新创建的钱包也受到影响。目前停止链条是无济于事的,当链条恢复时攻击将恢复。[2022/8/3 2:55:19]
●所有相关交易均可在此查到:
Solana官推更名为“Solano”,或为回应Jack Dorsey拼写错误刻意调整:金色财经报道,Solana官方社交媒体账户已更名为“Solano”,有传言显示,Solana此举可能是由于前 Twitter 首席执行官 Jack Dorsey 将其名称拼写错误有关,更名对其进行回应。Jack Dorsey 此前发文回应加密社区用户关于“Web5如何实现去中心化”问题时表示,Web3依然存在单点故障问题“比如Solano”。[2022/6/12 4:19:59]
https://explorer.fuse.io/address/0x371D7C9e4464576D45f11b27Cf88578983D63d75/transactions
跨链桥Glitter Finance获得Algorand基金会Grant支持,将桥接Solana:12月29日,据官方消息,Algorand基金会的新Grant项目将给予Glitter Finance,促进该项目开发的五个区块链生态系统之间的跨链桥梁的创建和发展,包括Algorand、Solana、Cudos、Terra和Polygon。Glitter Finance的第一个产品将会先在Algorand和Solana之间建立一个双向桥梁。
Glitter Finance是采用AI方案来解决DeFi生态上的资产转移问题,该解决方案使交易者能够轻松地在各个区块链网络上转移他们的数字资产,其过程并不需要中间商介入。[2021/12/29 8:12:35]
相关合约及地址
Coin98 Labs 计划推出Solana DeFi平台Saros Finance:12月28日消息,Coin98Labs宣布推出Solana生态项目SarosFinance,目标是成为Solana原生的终极DeFi平台,提供交易、抵押和产量农业服务,其中SarosSwap已经完成审计并上线,SarosFarm将通过交易对的LP代币持有者分发SAROS来激励用户为交易对提供流动性。[2021/12/29 8:10:22]
●攻击者地址:0x371d7c9e4464576d45f11b27cf88578983d63d75
●攻击合约:
○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万美元说没就没并不是愚人节恶作剧,但项目方如果不重视安全问题极有可能让黑客有机可乘,成为下一个“整蛊对象”。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。