Hundred与Agave闪电贷攻击事件分析-ODAILY_RED:UND

1.前言

北京时间3月15日晚,知道创宇区块链安全实验室监测到Gnosis链上的借贷类协议HundredFinance与Agave均遭遇了闪电贷袭击,包括AAVE的分支Agave和Compound的分支HundredFinance。协议损失超1100万美元。目前项目方已暂停其数百个市场。

知道创宇区块链安全实验室第一时间跟踪本次事件并分析。

2.分析

首家BAYC主题餐厅Bored & Hungry已开业,接受APE和ETH支付:4月25日消息,首家Bored Ape Yacht Club(BAYC)NFT主题餐厅Bored & Hungry已经于当地时间4月9日在美国加州长滩正式开业。据悉,Bored & Hungry餐厅将以快闪店的形式开放90天。该餐厅接受ApeCoin(APE)、ETH以及借记卡/信用卡支付方式。这家餐厅由食品企业家Andy Nguyen构思。为了推出该餐厅,早在3月Nguyen花费267000美元购买Bored Ape #6184,此外还购买多个MAYC。通过二维码,餐厅可以扫描顾客的MetaMask钱包,查看其APE、BAYC、MAYC或BAKC NFT。拥有加密货币或相关NFT的顾客可以享受餐厅提供的特殊福利,比如免费套餐组合等。[2022/4/25 14:46:29]

2.1攻击者相关信息

Phunware以620万美元现金购买100枚比特币:11月5日,企业云办公软件公司Phunware宣布以约620万美元现金购买100枚比特币,本次购买比特币的平均价格约为62,030美元。截至2021年11月4日,Phunware总共持有约127枚比特币,持有比特币的公允价值约为775万美元,平均购买价格约为每枚比特币61,238美元。[2021/11/5 21:28:43]

百金融被攻击tx:

0x534b84f657883ddc1b66a314e8b392feb35024afdec61dfe8e7c510cfac1a098

攻击合约:0xdbf225e3d626ec31f502d435b0f72d82b08e1bdd

攻击地址:0xd041ad9aae5cf96b21c3ffcb303a0cb80779e358

Blockchain Monster Hunt完成 380 万美元融资,Animoca Brands 领投:据官方消息,Blockchain Monster Hunt(BCMH)团队已于本周初完成了 380 万美元的融资,用于推广第一个存在于多个区块链上的 NFT 游戏。本轮融资由 Animoca Brands、SkyVision Capital、 ChainBoost领投,Polygon Venture、GD10、Delta Blockchain Fund、MorningStar、EverseCapital等参投。

BCMH是一个完全在区块链上运行的多链游戏,玩家可以在多个链上玩游戏,并鼓励它们之间进行交互。游戏最初在以太坊、BSC 和 Polygon 上运行,团队将在后续版本中逐步扩展到其他 EVM 以及非 EVM 链。[2021/9/30 17:17:17]

攻击后跨链匿名化:https://etherscan.io/txs?a=0xd041ad9aae5cf96b21c3ffcb303a0cb80779e358

金色财经现场报道,Brad Chun:基础设施的区块链项目其应用领域极为广泛:在2018年世界数字资产峰会(WDAS)暨FBG年会上,来自Shuttle Fund公司的Brad Chun表示,基础设施的区块链项目其应用领域极为广泛,不仅在数字货币领域,在财务管理等众多方面均可以使用,这种类型的项目在智能合约领域潜力极大,并很容易被众多社群所接受,而且还可以助力多中心化环境自下而上的建设。[2018/5/2]

龙舌兰被攻击tx:

0xa262141abcf7c127b88b4042aee8bf601f4f3372c9471dbd75cb54e76524f18e

攻击合约:0xF98169301B06e906AF7f9b719204AA10D1F160d6

澳大利亚IOT集团与Hunter Energy合作重建Redbank电厂:根据周二的一份报告显示,澳大利亚一家技术公司IOT集团与Hunter Energy合作重建Redbank电厂,将运用区块链技术,以降低其能源成本。该公司预计,与目前的成本相比,IOT的新能源账单将使成本减少20%。据悉此前该工厂于2014年首次关闭。[2018/4/13]

攻击地址:0x0a16a85be44627c10cee75db06b169c7bc76de2c

攻击后跨链匿名化:https://etherscan.io/txs?a=0x0a16a85be44627c10cee75db06b169c7bc76de2c

2.2攻击流程

由于百金融与龙舌兰攻击流程与手法类似,因此我们使用百金融进行分析。

百金融攻击调用流程

1、攻击者利用合约在三个池子中利用闪电贷借出WXDAI和USDC

2、在WETH池子质押借出的部分USDC

3、利用重入利用一笔质押,超额借出池子中资金

4、重复质押-重入借出步骤,将其他两个池子资产超额借出

5、归还闪电贷

6、获利转移

2.3漏洞细节

导致本次问题的根本原因是由于在Gnosis链上的官方桥接代币xDAI合约中实现了一个对于to地址的回调

合约实现地址:

https://blockscout.com/xdai/mainnet/address/0xf8D1677c8a0c961938bf2f9aDc3F3CFDA759A9d9/contracts

该回调将直接导致重入漏洞的产生,同时由于在HundredFinance团队fork的Compound版本中没有严格遵循检查-生效-交互,进而导致了总借贷量更新晚于重入实现。最终攻击者得以超额借贷。

类似的,对于Agave项目方,攻击者利用liquidateCall函数内部调用会调用xDAI的callAfterTransfer方法进行回调,最终导致攻击者能再次进行借贷。

在百金融攻击中攻击者重入的调用路径如下:

在Agave攻击中攻击者回调路径如下:

3.总结

此次遭受攻击的两个借贷项目由于错误的引入了存在重入的token,同时项目方的fork的代码没有采用检查-生效-交互模式导致了问题的发生。

我们强调:对于一个优秀的项目的引用必须建立在足够的理解和严谨的开发上,尤其是存在差异化的部分,切忌顾此失彼最终因为一个小的差错导致项目全部的损失。

近期,各类合约漏洞安全事件频发,合约审计、风控措施、应急计划等都有必要切实落实。

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

水星链

[0:0ms0-0:912ms