Hedgey 攻击事件分析 - 损失上千万美元的代币授权

时间:2024-09-25 编辑: 浏览:(979)

2024 年 4 月 19 日,Hedgey Token Claim 合约在以太坊、Arbitrum 等多条链上被攻击,损失高达数千万美元。Hedgey 项目方随即发出安全告警,提醒创建代币认领活动的用户通过官方渠道取消代币认领活动。(https://twitter.com/hedgeyfinance/status/1781257581488418862)

攻击简述

Hedgey 帮助 DAOs 和链上组织通过链上、程序化的代币发放,将代币分配给他们的团队、贡献者、投资者和社区。本次出现漏洞的工具是其 Token Claims 产品,该产品可以让用户创建一个代币认领页面,通过 CSV 文件添加多达十万多名接收者到白名单中,并控制如何通过流、时间锁、回收等方式释放已认领的代币。

而本次攻击事件所利用的合约漏洞在于:Token Claims 产品中的 ClaimCampaigns 合约在创建一个代币认领活动时,将自身的 token 授权给了创建者指定的地址。在该创建者取消认领活动时,将活动创建阶段创建者转入的 token 返还给创建者指定的另一个地址,但并未撤销 token 授权,导致活动创建者的地址依然可以使用 ClaimCampaigns 合约所授权的 token。

攻击中涉及的关键地址

本次攻击涉及到多笔交易,我们仅以下面这笔盗取 NOBL 代币的交易为例来对攻击原理进行分析。

攻击交易:

https://etherscan.io/tx/0x017ce9593350cba65d506e1a87e52d2c20079fdfa80a350a89fe6fc875f2d9f9

攻击 EOA:

0xded2b1a426e1b7d415a40bcad44e98f47181dda2

攻击者(合约):

0xd818ff3d5cfc938014b270d0c8029ba04629b549

漏洞合约(ClaimCampaigns):

0xbc452fdc8f851d7c5b72e1fe74dfb63bb793d511

被盗代币(NobleBlocks: NOBL Token):

0x88b9f5c66342ebaf661b3e2836b807c8cb1b3195

攻击流程分析

1.攻击实施

在攻击实施阶段,攻击者多次调用漏洞合约的 「 createLockedCampaign 」 函数创建 campaign,再调用「 cancelCampaign 」函数删除 campaign。创建 campaign 时,攻击者向漏洞合约转入指定数量的 NOBL 代币,并获得漏洞合约给其授权的 NOBL 代币使用额度。删除 campaign 时,漏洞合约退还攻击者创建 campaign 时转入的 NOBL 代币,然而此时漏洞合约并未撤销给攻击者授权的 NOBL 代币使用额度。因此攻击者通过创建 campaign 再删除 campaign,可以凭空获取花费漏洞合约持有的 NOBL 代币的权力。

具体攻击步骤如下:

攻击者调用漏洞合约的「 createLockedCampaign 」函数创建 campaign,在参数中将 「 campaign.manager 」和「 claimLockup.tokenLocker 」均设置为攻击者自己,将「 campaign.token 」设置为 NOBL 代币,「 campaign.amount 」设置为「 680000000000000000000000 」(NOBL 代币的 decimal 为 18,因此此处代表 680000 个 NOBL 代币),「 donation.amount 」设置为 0。从「 createLockedCampaign 」函数代码可以看出,攻击者首先将 NOBL 代币转给漏洞合约,然后再通过「 safeIncreaseAllowance 」函数,使漏洞合约给「 claimLockup.tokenLocker 」(攻击者)授权花费漏洞合约持有的 NOBL 代币的权力,此处授权了「 campaign.amount 」这么多的额度给攻击者。

攻击者调用「 cancelCampaign 」函数删除第 1 步中创建的 campaign,从函数代码可以看出,漏洞合约将该 campaign 的数据删除,并调用 TransferHelper 库的 「 withdrawTokens 」函数将第 1 步中攻击者转入的 NOBL 代币还给「 campaign.manager 」(攻击者)。至此 campaign 成功被取消,然而第 1 步中漏洞合约授权给攻击者的 NOBL 代币使用额度并没有同步删除。因此攻击者此时还具备花费漏洞合约 NOBL 代币的权力。

攻击者重复 25 次第 1 步和第 2 步的操作,最终从漏洞合约获取到了 680000 * 25 = 17000000 个 NOBL 代币的使用额度。

2.收割赃款

在收割赃款阶段,攻击者直接调用 NOBL 代币的「 transferFrom 」函数,将 NOBL 代币从漏洞合约转到攻击者 EOA 地址上,由于在攻击实施阶段攻击者已经拿到了花费漏洞合约持有的 NOBL 代币的权力,因此在「 transferFrom 」函数中的额度校验可以顺利通过,最终攻击者成功盗取了漏洞合约中的 NOBL 代币。

具体细节请查看交易:

https://etherscan.io/tx/0x47da1ac72d488f746865891c9196c1632ae04f018b285b762b2b564ad1d3a9e5

攻击中涉及到的交易

通过 ZAN KYT 数据分析,攻击者在从漏洞合约中取走 NOBL token 之前,利用合约漏洞让漏洞合约给攻击者 approve token 的交易 hash 如下(仅罗列了以太坊上的交易):

目前,攻击者已将部分非法所得转移到了另外一个地址 0xd84f48b7D1AaFA7bd5905c95c5d1ffB2625AdA46 上,目前暂时没有其他动作。而 claims 合约的开发者(0x5a4bC2bdA1f6B9929b6efdCef4728246bEc4C635)通过 Blockscan chat 与攻击者联系,承认了合约中的漏洞并假定了他们的行为为白帽行动,希望攻击者在 24 小时内与他们取得联系。

安全建议

通过分析本次攻击事件,我们有如下建议:

严格审查项目中代币授权的操作。项目开发者和合约审计者应该明确哪些业务场景需要代币授权,哪些业务场景需要回收代币授权,避免未回收的代币授权或预期之外多余的授权被攻击者利用。

项目应设置紧急暂停机制。建议涉及到资金流转的项目都建立完善的暂停机制,当攻击发生时,能及时止损。

本文由 ZAN Team 的 Cara(X 账号 @Cara6289)和 XiG(X 账号 @SHXiGi)共同撰写。

最新 更多 >
  • 1 韩国监管当局责令Paycoin在2月5日之前关闭服务

    Payco是一家来自韩国的在线支付平台注册,为用户提供安全、便捷的支付服务。用户可以通过Payco进行在线购物、转账、充值等操作,享受快速、便捷的支付体验。Payco注册简单方便,用户只需提供基本信息即可完成注册。通过Payco的平台,用户可以轻松管理自己的资金,方便快捷地进行各种支付交易。欢迎大家注册Payco,体验便捷、安全的在线支付服务。

  • 2 币圈四大专业的虚拟货币交易平台推荐 2022值得尝试的交易所榜单

    2022年币圈四大专业的虚拟货币交易平台推荐如下: 1. 币安(Binance)- 作为全球最大的加密货币交易平台之一,币安提供了丰富的交易对和多样的交易服务,拥有强大的安全性和高效的交易体验。 2. 火币(Huobi)- 火币作为最大的数字货币交易平台之一,提供了全球范围内的数字货币交易和服务,具有良好的流动性和安全性。 3. OKEx- OKEx是全球领先的数字货币交易平台之一,拥有丰富的交易

  • 3 火必app下载_火必app安卓版下载_Huobi?App

    火币app是一款专为数字货币交易而设计的应用程序,用户可以在平台上进行各种数字货币的交易,包括买卖、存储和转账等功能。用户可以便捷地查看行情走势、实时交易数据以及进行交易对比分析。火币app还提供了多种安全措施,确保用户的交易信息和数字资产的安全性。总的来说,火币app是一个功能齐全、安全可靠的数字货币交易平台,为用户提供了便捷的交易体验。

  • 4 鸥易oe钱包下载 欧意易0kx平台v6.8.8

    鸥易oe钱包下载 欧意易0kx平台v6.8.8 是一款专为用户提供数字货币管理及交易功能的应用。用户可以通过该平台方便地进行数字货币的存储、转账和交易操作。此版本更新了更加稳定和安全的功能,带来更好的用户体验和使用效果。欧意易0kx平台v6.8.8是一个值得信赖的数字货币管理工具,为用户提供方便快捷的数字货币管理服务。

  • 5 欧意app官网下载-欧意交易所app2022最新版官方下

    欧意交易所最新消息摘要:欧意交易所最近宣布将推出全新的数字资产交易平台,该平台将提供更多的加密货币交易对和更快的交易执行速度,以满足日益增长的数字资产交易需求。此外,欧意交易所还计划推出一系列新的金融产品和服务,以促进数字资产市场的发展和创新。

  • 6 GNS上线币安 GM稳步上涨 还有哪些真实收益DbFi

    GNS 和 GM 是两种加密货币,它们在币安交易所上线后稳步上涨。DbFi 也是一种加密货币,有真实的收益。不同加密货币的价格波动会受到市场因素和投资者信心的影响,因此投资者需要谨慎选择投资对象。

  • 7 柴犬币3年后预估价格 - 柴犬币刚开始价格

    柴犬币是一个虚拟加密货币,根据市场趋势和供需情况分析,预计柴犬币在3年后的价格可能会有所增长。然而,由于加密货币市场的波动性较大,这只是一种初步的预估,实际价格可能会有所变化。柴犬币的初始价格可能会在几美元到几十美元之间,具体价格取决于市场表现和投资者参与程度。因此,投资者在决定是否购买柴犬币时应该谨慎考虑市场风险和自身资金情况。

  • 8 鸥意0kex交易所下载 欧亿0kx交易v6.0.9

    欧亿0kx交易v6.0.9是一款鸥意0kex交易所的手机应用程序,用户可以通过该应用进行数字资产交易。该版本更新了一些功能和优化了用户体验,使交易更加方便和高效。用户可以在手机上随时随地进行交易,管理自己的数字资产。欧亿0kx交易v6.0.9为用户提供了更好的交易体验,是一款值得下载的交易应用。

  • 9 专家解读比特币最近什么情况一文读懂比特币简介

    目前比特币价格波动较大,最近一段时间内持续下跌,主要受到市场情绪、宏观经济波动以及监管政策等多方面因素的影响。一些投资者担心比特币泡沫破裂,导致卖出压力增大,价格持续走低。尽管如此,比特币作为一种加密货币仍受到广泛关注和讨论,未来发展前景仍具备一定的潜力。

  • 10 区块链 供应链金融发展前景怎么样

    区块链技术在供应链金融领域有很大的发展前景。通过区块链,可以实现供应链上信息的透明度、安全性和实时性,从而减少供应链中的信任成本和交易风险。同时,区块链也能够为中小企业提供更多的融资机会,促进金融市场的发展和创新。因此,区块链在供应链金融领域有望为整个行业带来更高效、更稳定和更可持续的发展。