Ola_finance攻击事件分析:黑客利用重入漏洞盗币

前言

北京时间2022年3月31日,知道创宇区块链安全实验室?监测到借贷平台Ola_finance遭到重入攻击,黑客窃取216964.18USDC、507216.68BUSD、200000.00fUSD、55045WETH、2625WBTC和1240,000.00FUSE,约467万美元。

分析

其中一起攻击事件如下图所示,该次攻击事件的问题点在于Ola.finance和ERC677代币的不兼容,这些代币的内置回调函数被攻击者利用进行重入攻击以耗尽借贷池。

所有攻击事件如下:

20WBTC100WETH被盗:https://explorer.fuse.io/tx/0xe800f55fe6c81baba1151245ebc43692735d4019107f1f96eeb9f05648c79938/token-transfers

100WETH被盗:https://explorer.fuse.io/tx/0xb8ef2744647027047e383b6cdd660a950b4f6c6bbbc96378ef1e359b4369ffc1/token-transfers

Electric Capital:截止6月1日,活跃开源开发者数量为2.13 万,开发者总数同比减少22%:7月9日消息,加密风险投资公司Electric Capital发布截止2023年年中开发者报告,其中,截止2023年6月1日,全职开发者为6793名,每月活跃开源开发者有2.13万名,比2021年11月加密货币市场创下历史新高之前还要多。开发者数量较2022年同比减少22%,但较2020年同比增加92%,较2021年同比增加25%。最近离开加密领域的开发者是在加密领域工作不到12个月的新人,并且只负责所有代码提交的不到20%;相比之下,在加密领域中工作12个月或更长时间的开发者会继续进行开发,他们贡献了80%以上的代码提交。过去一年,新人开发者减少7730人,占比48%;新开发者新增44%,共1650位;成熟开发者新增2%。该报告指出,新开发者往往在市场高峰期占主导地位,熊市开发者停留率较低,且过去一年,探索加密货币的新开发者越来越少,较去年5月下降50%。

此外,过去一年,Osmosis、Sui、Aptos、TON、Optimism与Aztec Protocol开发者同比增长明显。Osmosis同比增长56%、Sui同比增长159%、Aptos同比增长90%、TON同比增长102%、Optimism同比增长27%、Aztec Protocol同比增长267%。[2023/7/9 22:27:20]

100WETH被盗:https://explorer.fuse.io/tx/0xff4fa726d0967bda03124fb71d58f0aa32d8132029804cdcf0c517761f4acd74/token-transfers

动态 | Electroneum正努力让数百万尼日利亚人使用ETN进行电力充值:Electroneum创始人兼首席执行官Richard Ellis在接受BlockTV采访时列举了其区块链网络在过去几个月里取得的一些主要成就。他表示,Electroneum正在努力确保有需要的人们(尤其是发展中国家)能够轻易获得融资。Electroneum正在努力实现2020年的公用事业充值目标,而尼日利亚的电力充值是人们关注的一个关键领域,目的是让电灯正常工作。Ellis补充道,Electroneum已经接触了一些全球公用事业公司,并向他们介绍新的数字手段,以完善公用事业充值功能。(NewsLogical)[2020/2/27]

100WETH被盗:https://explorer.fuse.io/tx/0xf06a9b830dc2577e62016df45ee6f824d9112d32d3f66f4e1e31639d15a3812d/token-transfers

声音 | 媒体:Telegram众筹17亿美元的Ton Network首度曝光:推特上流传了一个Telegram Ton Network的旧版Github库,内包含Ton Network测试网轻钱包安装文件以及部分Ton Network的依赖库等文件。描述文件显示,“这并不能完全表面Ton Network的核心开发进度,目前已经进入了简单稳定版本,这里只包含部分生成轻钱包的必要文件以及一些故意放置的旧版过时文件等。”这次泄露的Github库是首度泄露相关信息,而且还将Ton Network已经完成轻钱包开发的进度进行了曝光。 从该Github的描述文件,可以看到Ton Network的轻钱包已经开发完毕,团队故意防止了一些旧版过时文件来防止外部人士获得全部访问权限等。据悉,该库可以在绝大多数Linux、Mac、Windows上进行编译运行。运行之后就可以进入Ton测试网络。此外,该Github还泄露了Ton的智能合约创建流程(包含源代码)、TVM虚拟机等信息。分析称,在泄露这个轻钱包产品,或许与需要完成融资计划书上的目标有关。 据此前消息,Telegram向投资人发出内部邮件表示,其将于今年三季度发布Ton。[2019/5/26]

100WETH被盗:https://explorer.fuse.io/tx/0xb535823c71bf753e6468e40ce009f00ab473e716900417719377a0c50892816f/token-transfers

Solana链上NFT交易总额突破8亿美元:12 月 20 日消息,据最新数据显示,Solana 链上 NFT 交易总额突破 8 亿美元,创下历史新高。本文撰写时为 800,210,323 美元,链上交易总量为 580,431 笔。当前 Solana 区块链上 NFT 交易额最大的 NFT 项目是 Degenerate Ape Academy,交易额为 115,685,589 美元,其次是 Solana Monkey Business,交易额为 112,745,037 美元,这两个 NFT 项目交易总额占到 Solana 链上交易额的近 30%。[2021/12/20 7:51:23]

52.094WETH被盗:https://explorer.fuse.io/tx/0xf1ac951de9eda1be73fd99adf9cca902b0ff28515ec3061b487e52cf352f5b6a/token-transfers

6.246WBTC被盗:https://explorer.fuse.io/tx/0x719ec16e785463adf78e8ebf32286f837f7546e4301d9bce620da08af435bb3a/token-transfers

Circle CEO:USDC多链策略首个合作伙伴为Solana:9月11日消息,Circle首席执行官Jeremy Allaire在推特上表示,在短短一周内,Solana 区块链上的 USDC 流通量从10亿美元跃升至20亿美元。实际上,USDC从一年前就开始尝试多链策略,并与许多重要的新兴链建立合作伙伴关系,首个为Solana,Circle对Solana可以为 USDC 带来的规模、速度和成本效率感到兴奋。除了Solana,Circle还与FTX和Serum也都达成了合作,人们可以使用USDC轻松在FTX(托管)和Phantom(非托管)进行P2P支付,而且几乎没有太多成本,交易几秒就能完成,开发人员也可以利用 Circle 应用程序接口在 Solana 区块链上进行基于 USDC 开发。[2021/9/11 23:18:05]

216964.176USDC被盗:https://explorer.fuse.io/tx/0x0df8dce11993a2efff59a416aa967b64b9ebe0ab66f996cfdb41a463b952dd86/token-transfers

507216.676BUSD被盗:https://explorer.fuse.io/tx/0x1b3e06b6b310886dfd90a5df8ddbaf515750eda7126cf5f69874e92761b1dc90/token-transfers

200000fUSD被盗:https://explorer.fuse.io/tx/0x17883e8a1bcfc85b80f00f8faa730f2da17b1d9fe48c1922c05e51a1a9e01a2c/token-transfers

1240000FUSE被盗:https://explorer.fuse.io/tx/0x8223170a722eba6d4583845f377ba5f353e8e589d0d16b6a4fb0a2feaad94a8c/internal-transactions

基础信息

攻击合约:

Contract1:0x632942c9BeF1a1127353E1b99e817651e2390CFF

Contract2:0x9E5b7da68e2aE8aB1835428E6E0c83a7153f6112

攻击者地址:0x371D7C9e4464576D45f11b27Cf88578983D63d75

攻击tx:0x1b3e06b6b310886dfd90a5df8ddbaf515750eda7126cf5f69874e92761b1dc90

漏洞合约:0x139Eb08579eec664d461f0B754c1F8B569044611

流程

攻击者攻击的流程如下:

1.攻击者将550.446WETH从攻击合约0x6392转到另一个攻击合约0x9E5b。

2.攻击者存入550.446WETH到cETH合约0x139Eb08579eec664d461f0B754c1F8B569044611获取铸币27284.948oWETH。

3.由于有了27284.948oWETH,攻击者可以从cBUSD合约0xBaAFD1F5e3846C67465FCbb536a52D5d8f484Abc中借出507216.676BUSD。

4.攻击者在BUSD转账到攻击合约0x9E5b期间调用回调函数,将27284.948oWETH转给攻击合约0x6329,借到507216.676BUSD后也转给攻击合约0x6329。

5.攻击合约0x6329赎回27284.948oWETH获得550.446WETH。

细节

该攻击事件主要问题发生在上面流程的第三步和第四步。

由于ERC677代币中存在transferAndCall函数,所以可以进行外部调用。

16487976226614.jpg "/>在BUSD从oBUSD借出转账到攻击合约0x9E5b期间,在攻击合约0x9E5b中调用一个回调函数,将oWETH从攻击合约0x9E5b转到攻击合约0x6329中,借出BUSD后也转给攻击合约0x6329。

通过代码我们可以看出虽然Erc20Delegator合约的?函数有防止重入修饰器?的限制,但这个修饰器只能防止外部调用重入攻击自身合约,并不能够防止外部调用重入其他合约。

最后由于攻击合约0x6329没有进行借贷,所以它可以将oWETH赎回WETH。攻击者最终得到了用作抵押来借用BUSD代币的WETH和他们借来的BUSD代币。

后续处理

Ola.finance官方发表声明称:

我们将发布一份关于所有借贷网络中列出的所有代币的详细报告,确认此攻击无法在其他借贷网络上复制。为此,我们将调查每个代币的「转移」逻辑,以确保没有使用有问题的代币标准。此外,每个借贷网络创建者都将被提供在其借贷网络上快速暂停代币铸造和借贷的能力。稍后,我们将发布一个补丁,允许Compound分叉安全地列出符合ERC677/ERC777标准的代币。在此之前,Fuse上的借贷网络的借贷将暂时禁用;借入资产的用户不会累积利息,并鼓励他们此时不要偿还贷款。一旦此补丁经过彻底测试和审核,Voltage上的全部借贷功能将恢复。在接下来的几天里,我们将发布正式的补偿计划,详细说明向受影响用户分配的资金。这将伴随更多文章,概述我们将更深入地采取的「下一步」。我们感谢我们的合作伙伴支持分析这次攻击并帮助我们迅速解决问题。

总结

Ola.finance是基于Compound合约改写的,而Compound合约和ERC677/ERC777的代币之间不兼容,使得这些代币的内置回调函数被攻击者利用,用以重入来耗尽借贷池。

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

金宝趣谈

[0:15ms0-2:731ms