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

时间:2024-10-02 编辑: 浏览:(813)

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 晚间必读5篇 | Meme 的游戏结束了吗?

    1.山寨币的未来是什么?还会变得更糟吗?尽管主流加密货币和美国股市持续表现出有利的价格走势,但人们对山寨币的信心似乎处于异常低位。之前周期所灌输的预期让许多人感到失望和难以置信,而他们的投资组合回报却停滞在上升趋势中。点击阅读2.Galaxy研究主管:Mt.Gox即将赔付BTC 到底会带来多大抛压本文中的数据基于审查破产申请、与债权人的谈话以及各种假设。请注意,这些都是估计值,旨在提供方向性而非确

  • 2 以太坊ETF获准 不要对山寨币 ETF 屏息以待

    作者: Nikita Ovchinnik来源:blockworks 翻译:善欧巴,2023年5月23日,美国证券交易委员会(SEC)批准了首个现货以太坊ETF,这是加密货币市场的重要里程碑。然而,虽然这是一个积极的决定,但对于加密社区来说并不是彻底的胜利。此举是在1月份批准比特币ETF之后进行的。两项批准似乎表明监管机构对数字资产的态度发生了转变,这无疑会导致更广泛的采用。然而,对于其他加密货币E

  • 3 “几乎没有人看到抛物线式的反弹”——交易员称被忽视的比特币指标在修正中翻绿

    一位密切关注的加密货币分析师表示,尽管周一比特币(BTC)指标跌破60000美元,但其中一个指标仍呈绿色闪烁。 匿名分析师TechDev告诉他在社交媒体平台X上的460100名粉丝,一个关键指标表明比特币可能很快就会出现抛物线。 “比特币历史上只有一次两周的高斯通道翻绿。价格在之前的高点盘整,标志着几乎没有人看到抛物线移动的中点。” 来源:TechDev/X 高斯通道是动量指标,可用于识别价格的

  • 4 AI行情预测:初学者的市场分析利器

    在加密货币市场中,初学者常常面临复杂的市场数据和快速变化的价格趋势。为了帮助新手投资者更好地理解市场动态,全新推出了AI行情预测功能。这一功能通过先进的数据分析技术,为用户提供精准、及时的市场分析,成为初学者的理想市场分析利器。AI行情预测功能简介AI行情预测功能集成了多种数据分析工具,为用户提供全面的市场分析和趋势预测,包括:K线形态分析:分析不同时间段的K线走势,帮助用户识别市场规律,预测未来

  • 5 以下是现在住房负担能力有多差

    2022年12月6日,星期二,美国加利福尼亚州罗克林的房屋。David Paul Morris |彭博社|盖蒂图片社 尽管抵押贷款利率上升,待售房屋供应增加,但房价在4月份再次创下历史新高。通常,在这种情况下,价格会走弱,但今天的房地产市场与近代史上的任何其他市场都不同。根据标普CoreLogic Case Shiller全国房价指数,与2023年4月相比,4月房价上涨了6.3%。这标志着全国指

  • 6 在比特币和以太坊清算之后,分析师们正在关注积累的鲸鱼

    加密货币市场本周继续螺旋式下跌,在过去24小时内,价值约1.91亿美元的加密衍生品合约被清算。 比特币(BTC)受到的影响最大,约占1.03亿美元清算总额的一半。以太坊(ETH)紧随其后的是3300万美元的清算。此前,比特币自5月初以来首次跌破6万美元,昨天下午24小时交易额升至3.3亿美元。 清算数量的急剧上升反映了市场波动加剧和看跌情绪。 比特币价格在过去24小时内下跌2.2%,收于61516

  • 7

  • 8 BTC和ETH高位震荡,为何山寨币“转熊”?

    要点:过去几个月,SOL、AVAX、APT、SUI等出现了40%-70%的回调,打压了山寨币市场情绪,而BTC和ETH仅从年度高点下跌了15%左右。Markus Thielen指出,风投基金面临出售代币的压力,以实现过去几年投资的利润。Anagram合伙人David Shuttleworth表示,加密市场缺乏资金流入“对即将大量解锁的代币、新发行代币和空投计划产生了特别不利的影响”。加密市场在经历

  • 9 登月计划崛起:DexScreener的Pump.fun竞争对手已经拥有7000枚索拉纳记忆硬币

    在快节奏的模因币世界里,一个新的竞争者进入了舞台。流行的去中心化交易所数据聚合器DEX Screener刚刚推出了自己的代币发布平台Moonshot。 在真正的迷因币时尚中,Pump.fun的竞争对手已经掀起了波澜。 Moonshot于周一推出,是一个基于索拉纳的平台,任何人都可以毫不费力地创建和推出自己的模因币。用户可以铸造一个固定供应量为10亿的代币,一旦投资者注入500 SOL(按当前价格计

  • 10 比特币恢复到60万美元以上,Polkadot(DOT)关注6美元(市场观察)

    在过去的24小时里,加密货币市场经历了过山车般的波动。总资本目前约为2.36万亿美元,与昨天这个时候差不多。 比特币的价格和大多数替代币一样经历了重大波动,所以让我们深入了解一下。 比特币恢复到6万美元以上 比特币空头昨日决心将加密货币推至6万美元以下,他们的尝试取得了成功,尽管是暂时的。 价格跌至58400美元左右的低点,这是自5月初以来我们从未见过的。 来源:TradingView 如上图所