
揭秘以太坊TIME合约黑客攻击事件 如何利用ERC2771协议安全问题获利?
当我们都以为这本是一场普通的攻击。
2023年12月07日,据Beosin旗下Eagle Eye平台消息,以太坊的TIME合约遭受黑客攻击,黑客获利约18.8万美元。
EagleEye平台截图
但我们发现,本次事情好像不止这么简单。
通过追踪溯源发现,我们发现在2023年12月4日,thirdweb就在博客和官方发布漏洞公告称“2023 年 11 月 20 日,我们意识到 web3 智能合约常用开源库特定模式的集成存在安全漏洞,该漏洞影响了 Thirdweb 的一些预构建智能合约,并联系了相关项目方进行缓解。”
相关链接:https://twitter.com/thirdweb/status/1731841493407576247,https://blog.thirdweb.com/security-vulnerability/
12月7日,以太坊的TIME合约,成为第一个因该安全问题受害的第一项目。
今天让我们还原一下本次攻击事件真相。
协议背景简介
ERC2771 原生元交易安全协议:
EIP 2771协议为接收者合约定义了合约级协议,以通过可信转发器合约接受元交易。没有进行任何协议更改。通过附加额外的 calldata 向接收者合约发送有效的 msg.sender(称为 _msgSender())和 msg.data(称为 _msgData()),该协议设计的初衷在于让以太坊接受来自没有 ETH 来支付 Gas 费用的外部账户的调用。
由于该设计的特殊性,其msg.sender正如其协议描述的那样是通过_msgSender()函数获取的,该函数会会判断发起者是否为可信转发器,如果是,则将截取传入的Calldata的最后20个字节作为交易的发起者。
参考链接:https://eips.ethereum.org/EIPS/eip-2771,https://etherscan.io/address/0x4b0e9a7da8bab813efae92a6651019b8bd6c0a29#code
Muticall批处理调用库:
Muticall是一个由openzeppelin contacts提供的单个外部调用中批量处理多个调用的功能库。
从Time事件中我们可以看见其Multicall()函数中将循环调用DelegateCall 函数处理Calldata并调用本合约的其他函数。
参考链接:https://github.com/OpenZeppelin/openzeppelin-contracts,https://etherscan.io/address/0x4b0e9a7da8bab813efae92a6651019b8bd6c0a29#code
TIME合约事件相关信息
●攻击交易
0xecdd111a60debfadc6533de30fb7f55dc5ceed01dfadd30e4a7ebdb416d2f6b6
●攻击者地址
0xfde0d1575ed8e06fbf36256bcdfa1f359281455a
●攻击合约
0x6980a47bee930a4584b09ee79ebe46484fbdbdd0
●被攻击合约
0x4b0e9a7da8bab813efae92a6651019b8bd6c0a29
TIME合约事件漏洞分析
本次攻击主要利用了转发器(Forwarder)合约调用了TIME 代币的multicall 函数,并由于TIME代币使用了ERC2771 原生元交易的安全协议,从而恶意伪造_msg.sender进而销毁了pair中的代币。最终由于token代币价格上涨兑换而获利。
TIME合约事件攻击流程
1.攻击者首先使用5个WTH兑换约34.5亿个Time代币作为准备资金。
2.接着攻击者调用转发器的execute函数通过签名验证,并传入恶意的calldata,如下
3.此时execute函数会调用req.to地址(Time代币地址),并将req.data和req.from地址打包并调用Time代币的multicall函数。那这里黑客是如何将req.from给舍弃的呢?原因在于黑客将data[1]的长度(size)设置为了0×38,那么muticall在解析data时req.from将被截断。
参考:https://docs.soliditylang.org/en/v0.8.12/abi-spec.html
4. muticall 函数以pair的调用者身份调用burn函数销毁piar中的Time代币。
5. 最后攻击者调用pair中的sync函数同步pair中的储备量,使得Time代币价格上涨。
最后黑客使用准备阶段获得的TIME代币在pair中兑换ETH从而获利18.8万美元。
这次攻击事件再次提醒我们,智能合约的安全性至关重要,项目方必须加强对漏洞的识别和修复,以确保区块链生态系统的可持续发展和用户的资产安全。
比推快讯
更多 >>- Ju.com 宣布 xBrokers 股票交易专区 10 月 20 日开启试运营
- 分析:部分行情指标显示 ETH 或续反弹势头于 4,500 美元
- Andrew Kang 关联地址上演多空双杀:ETH 高位获利后反手做空,现持近亿美元空头
- Oly One 推出黑洞销毁机制,通过智能合约实现 OLY 代币永久通缩
- 推特联创 Jack Dorsey:比特币不是加密货币,它就是货币
- STBL 宣布 1 亿美元 USST 铸造计划已启动,并完成超 200 万美元初始铸造
- Michael Saylor 再次发布 Tracker 信息,下周或将披露比特币增持数据
- Vitalik 回应改进加密技术性能评估方法如何确保硬件独立性,可使用公开可用硬件
- Bubblemaps:STBL 内幕地址已全部清仓,共获利 1700 万美元
- MLN 24 小时涨超 73%,市值升至 2550 万美元
- 自“10.11 崩盘”以来 BitMine 或已增持近 38 万枚 ETH,价值约合 15 亿美元
- 过去 24 小时 CEX 净流入 5591.59 枚 ETH
- 币安将调整 PM Pro 及合约杠杆保证金参数
- 香港财政司司长陈茂波:稳定币等数字资产有发展潜力,国际间应协作管控风险
- X 推出账号 ID 交易市场 Handle Marketplace
- 数据:某新地址做多 4100 万美元 ENA,同时做空 4200 万美元的 ETH 和 BTC 进行对冲
- 比特币短线飙升约 1,000 美元,现报 107,006 美元/枚
- 某新地址从 CEX 提取超 14.2 万枚 LINK,价值 240 万美元
- Andrew Kang 关联地址再次由多转空,仓位价值 6824 万美元
- 中文去中心化合约交易所孙悟空已扩展至以太坊、BNB Chain、Arbitrum
- 高调换仓 ETH 的比特币远古巨鲸再次转出 3,000 枚 BTC,仍持有 2.43 万枚 TC
- Astra Nova 将回购等量受影响 RVV 代币
- 币安:邀请社区共同参与监督,举报任何涉嫌 Alpha 欺诈和违规行为,举报成功可获奖励
- 灰度发布最新Solana研报:SOL经通胀调整后回报率约3%,年初至今平均交易费用仅0.02美元
- 2.2 亿美元做多 BTC 和 ETH 巨鲸持续加仓至 2.31 亿美元,目前浮亏 442 万美元
- 比特币与以太坊出现短时波动,ETH 短时插针触及 3958 美元
- 萨尔瓦多近 7 日共增持 8 枚 BTC,总持仓 6,354.18 枚
- 中文去中心化合约交易所孙悟空单日交易额达 8,600 万 USDT,深度最高三倍提升
- 去中心化人才网络 TradeTalent 完成 800 万美元融资
- 数据:美国政府当前持有约 32.5 万枚比特币,达到其黄金储备的约 3.5%
- JustLend DAO 正式发起 JST 回购销毁提案
- 数据:过去 1 小时 Binance 净流出 3,152.74 万 USDT
- 币安 Alpha 空投今日 15:00 开启,230 分及以上可先到先得申领
- 某巨鲸从 Binance 提出 50.6 万枚 LINK,价值 847 万美元
- 特朗普发布 AI 视频挑衅反特朗普游行示威者
- 周杰伦已删除寻找代投比特币好友的社媒内容
- 数据:过去 7 天约 2.2 万枚 BTC 流出 CEX 平台
- 灰度发布 Solana 研报:生态年收入可达 50 亿美元,若网络如期增长或将推动 SOL 上涨
- Ansem:比特币需重回 11.2 万美元以上,否则看不到牛市景象
- Bitdeer 比特币总持仓量增至 2126.8 枚,上周挖矿产出 117.2 枚 BTC
- 中国人民银行支付结算司负责人:将继续完善人民币跨境支付体系
- Ansem:从技术形态看,目前市场已进入动能衰竭阶段
- 数据:当前加密恐慌贪婪指数为 30,处于恐慌状态
- 蚂蚁京东等暂停在港发行稳定币计划
- 观点:Astra Nova 被盗未必属实,资金流向与黑客常规行为不符
- Eric Trump 澄清:Barron 将推出 USA 代币为不实消息
- 10.11 闪崩后比特币合约未平仓头寸大幅下降,现报 684.7 亿美元
- Ripple CLO:《纽约时报》连续抹黑加密货币,其并非犯罪与腐败的工具
- RootData:ALT 将于一周后解锁价值约 473 万美元的代币
- Zerobase 任命 Constantin Gao 担任首席治理官
比推专栏
更多 >>观点
比推热门文章
- Ju.com 宣布 xBrokers 股票交易专区 10 月 20 日开启试运营
- 分析:部分行情指标显示 ETH 或续反弹势头于 4,500 美元
- Andrew Kang 关联地址上演多空双杀:ETH 高位获利后反手做空,现持近亿美元空头
- Oly One 推出黑洞销毁机制,通过智能合约实现 OLY 代币永久通缩
- 推特联创 Jack Dorsey:比特币不是加密货币,它就是货币
- STBL 宣布 1 亿美元 USST 铸造计划已启动,并完成超 200 万美元初始铸造
- Michael Saylor 再次发布 Tracker 信息,下周或将披露比特币增持数据
- Vitalik 回应改进加密技术性能评估方法如何确保硬件独立性,可使用公开可用硬件
- Bubblemaps:STBL 内幕地址已全部清仓,共获利 1700 万美元
- MLN 24 小时涨超 73%,市值升至 2550 万美元