Ola Finance攻击事件分析:400万美元丢了,你以为这是愚人节故事?-ODAILY_OLA:SOLA

北京时间2022年3月31日上午10时左右,Fuse上的OlaFinance被恶意利用,导致约400万美元资产遭受损失。

漏洞交易

●其中一笔交易:

https://explorer.fuse.io/tx/0xe800f55fe6c81baba1151245ebc43692735d4019107f1f96eeb9f05648c79938/token-transfers

数据:当前Solana生态总市值为178.27亿美元,近24小时下跌0.6%:金色财经消息,据CoinGecko最新数据显示,当前Solana生态总市值为178.27亿美元(截至发稿时为17,827,771,800美元,近24小时下跌0.6%),24小时交易额为1,396,861,653美元。[2022/7/3 1:48:06]

●所有相关交易均可在此查到:

https://explorer.fuse.io/address/0x371D7C9e4464576D45f11b27Cf88578983D63d75/transactions

Inverse Finance:已暂停借款服务,今晨DOLA从货币市场Frontier中被移除:金色财经消息,DeFi协议Inverse Finance发推称,在今天上午发生DOLA被从货币市场Frontier移除的事件后,Inverse已经暂时暂停了借贷业务。正在调查这一事件,但没有用户的资金被拿走或面临风险。将很快提供更多细节。[2022/6/16 4:32:33]

相关合约及地址

●攻击者地址:0x371d7c9e4464576d45f11b27cf88578983d63d75

Hashflow发布最新路线图,将于今年内推出无gas交易并支持Solana网络:5月20日消息,去中心化交易平台 Hashflow 发布 2022 最新版本路线图,据路线图信息显示,Hashflow 计划于今年二季度推出无 gas(Gasless)交易功能,并于三季度支持 Solana 网络,为用户提供跨 Solana 和 EVM 兼容链的跨链 Swap 体验。最终预计将于年内为用户揭晓 Hashverse 具体信息。[2022/5/20 3:30:16]

●攻击合约:

○0x632942c9BeF1a1127353E1b99e817651e2390CFF

WisdomTree在欧洲为Solana、Cardano、Polkadot推出加密ETPs:金色财经报道,投资公司WisdomTree在欧洲市场推出了另一批加密交易所交易产品(ETPs)。根据一份新闻稿,周二,包括Solana (SOL)、Cardano (ADA)和Polkadot (DOT)在内的新ETP在瑞士证券交易所SIX和B?rse Xetra上市。巴黎和阿姆斯特丹的泛欧交易所(Euronext)将在本月底增加这些交易。

WisdomTree和VanEck、21Shares等其他发行者都在欧洲推出了比特币(BTC)和以太坊(ETH)等加密产品以外的加密ETPs。与此同时,在美国,加密资产管理公司仍在争夺首个获得美国证券交易委员会(SEC)批准的比特币现货工具。去年10月,美国证券交易委员会批准了两只现金结算的比特币期货ETF。(coindesk)[2022/3/29 14:24:53]

●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万美元说没就没并不是愚人节恶作剧,但项目方如果不重视安全问题极有可能让黑客有机可乘,成为下一个“整蛊对象”。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

水星链

[0:15ms0-0:893ms