来客网

币安60亿美元惊天窃案流程全复盘.....

声明:本文转载自 「倍可亲」, 或因排版与篇幅原因进行过编辑,内容未经本站独立核实,不代表本站立场、观点或建议。 如涉及版权问题,请联系我们,核实后立即删除。 [ 免责声明 ]

币安60亿美元惊天窃案流程全复盘.....

来源:倍可亲(backchina.com)

   今日凌晨,币安(Binance)热钱包遭遇了加密货币历史上规模最大的一起安全事故。在不到一小时的时间内,横跨 Ethereum、Bitcoin、Tron 以及 Arbitrum、Avalanche、Optimism、Base 等多条网络的币安热钱包同时失守,累计流出资金接近 60 亿美元(社区统计,暂无官方口径)。

  关于被盗资金的流向、业界的追踪堵截(尤其是 Tether 与 Circle 的及时冻结),以及间接遭牵涉的链上协议(比如 Aave),市场已有大量实时追踪。本文将剥离繁杂的资金盘点,直接聚焦最核心的疑问 —— 固若金汤的币安热钱包,究竟是怎么被攻破的?

  综合各家安全机构及多位链上安全研究人员的逆向还原,这大概率是一场针对交易所底层签名基础设施(HSM/MPC 签名机)的精准渗透,并配合以太坊 EIP-7702 机制实现“单区块极速清扫”的教科书级攻击。

  核心原因:底层签名机沦陷,黑客具备“按需签名”能力

  事件发生后,由于核心被盗钱包 Binance 14 是通过以太坊 Pectra 升级引入的 EIP-7702 机制被瞬间掏空的,社区一度出现“EIP-7702 存在漏洞”的误读。

  但从密码学常识来看,EIP-7702 允许普通钱包(EOA)临时挂载智能合约代码的前提,是必须由该钱包自己的私钥完成合法签名。因此,EIP-7702 只是黑客用来加速提款的“作案工具”,而非漏洞本身。

  顺着“谁完成了签名”这一核心线索,出事的原因无非指向两种可能 —— 裸私钥直接泄露,或是签名系统(基础设施)被操纵。

  结合目前的链上特征来看,签名系统被操纵几乎是唯一合理的解释。原因在于,像币安这种级别的交易所,热钱包绝不可能使用单点明文的“裸私钥”,其底层标准架构必然是 HSM(硬件安全模块)+ MPC(多方安全计算)+ 策略引擎(Policy Engine)——私钥分片锁在硬件黑盒里,任何人(包括内部运维)都拿不到完整明文,只能由前端业务系统通过“策略引擎”校验风控规则后,向签名机请求产出签名。

  链上有两个铁证直接指向了“签名系统被操纵”:

  铁证一(50 连发 Nonce 盲狙):攻击者在攻破 Binance 14 时,一次性提交了 50 个覆盖连续 Nonce 的有效 EIP-7702 签名。如果攻击者直接偷走了明文私钥,他完全可以在本地精准控制交易,不需要用这种“撞大运”的方式去猜 Nonce。这说明攻击者应该并没有拿到私钥本身,而是攻破了策略引擎或签名接口,具备了让币安签名系统“按需吐出合法签名”(Sign on demand)的能力。

  铁证二(多链异构钱包同步失守): 在 Binance 14 被清空仅 24 秒后,独立热钱包 Binance 16 用自己的密钥签出了 2.8 万枚 ETH;同一时间,比特币(18270.2 BTC)与波场(6.12 亿 USDT)等不同签名算法的热钱包同步发起转账(部分转移暂不确定是否为被盗)。唯有打穿顶层的统一调度,才能同时指挥多条链的 HSM/MPC 签名机一起提现。

  链上时间线还原:长达 37 小时的潜伏与 700 万美元“实盘彩排”

  链上数据显示,攻击者在控制签名链路后并未打草惊蛇,而是在动手前进行了长达一天半的精密部署与实盘演练。

  10 月 28 日 07:39(UTC),准备弹药: 攻击者主地址(0x7c86...5ca0)从 Tornado Cash 的 0.1 ETH 混币池中分三次提取了初始 Gas 资金(首笔到账 0.0983 ETH),此时距离“总攻”还有整整 37 小时。

  10 月 29 日 02:28 – 14:19(UTC),事先彩排: 攻击者先是在以太坊上部署了初代清扫合约 Sweeper A;随后在 13:51 创建了 2 个测试钱包,甚至豪掷 700 万美元稳定币充入其中进行 EIP-7702 委托演练,并在半小时后成功测试将其一键清扫。

  10 月 29 日 15:59 – 18:20(UTC),终版定型:攻击者部署了最终版恶意清扫合约 Sweeper B,紧接着创建第 3 个测试钱包注入 1.01 ETH,并在 16:30 完成了对 2.54 USDT 的清扫测试;18:20,所有测试资金被悉数归集回资金池,战前演练全部完成。

  致命一击:50 连发 Nonce“盲狙”与 EIP-7702 一键搬空

  北京时间今日凌晨 4:20(20:20 UTC)左右,黑客正式拉响总攻信号,并在短短数分钟内直接卷走了总价值数十亿美元的加密资产。

  20:20:06(UTC): 比特币热钱包率先异动,18270.2 枚 BTC 被转出;

  20:20:59(UTC): 以太坊主网迎来了整场攻击中最核心的技术操作 —— 50 连发 Nonce 盲狙;

  20:22:45(UTC): 波场热钱包单笔转出 6.127 亿枚 USDT;

  20:24:23(UTC):黑客触发 Binance 14 的 sweep 函数,单笔交易瞬间将 167464.25 枚 ETH、16.15 亿枚 USDT 以及另外 62 种代币抽干,打入黑客收款地址 0x5227…2f8c(Etherscan 标记为 Exploiter 2);

  20:24:47(UTC):Binance 14 被盗仅仅 24 秒后,币安另一个独立热钱包 Binance 16 在未使用 EIP-7702 的情况下,直接用自己的私钥签署了一笔普通转账,将 28005.6 枚 ETH 打入了同一个黑客收款地址(0x5227…2f8c),15 分钟后(20:39 UTC),黑客将这两个钱包流出的共计 195,470 枚 ETH 打包转走;

  20:32 – 20:33(UTC): Arbitrum、Avalanche 等其他链相继被洗劫;

  20:41(UTC): 另一个持有 7.8 亿枚 USDC 的智能合约钱包 Binance 34 失守(随后在 20:59 再次流出 4300 万 USDC)。由于 Binance 14 恰好是 Binance 34 的管理员(Owner),黑客在通过 EIP-7702 寄生控制 Binance 14 后,直接以管理员身份顺手抽干了关联金库……

  为什么黑客要在以太坊主网用 EIP-7702?

  像 Binance 14 这样的主力热钱包,内部存放着数十种 ERC-20 代币。如果黑客像在比特币上那样一笔笔发起普通转账,不仅需要向签名系统请求几十次签名,更会在第一笔大额异动后的几秒内,触发交易所的异常流向监控与自动熔断机制。

  而通过 EIP-7702 将 Binance 14 原地升级为恶意合约 Sweeper B,黑客只需调用一次合约内置的函数(硬编码仅允许黑客地址调用),就能在单笔交易、同一个区块内,将所有代币和 ETH 全部打包抽干,彻底抹平风控系统的反应时间窗口。

  为什么要塞入 50 个连续签名?

  EIP-7702 授权有一个极其严苛的限制 —— 授权签名中包含的 Nonce,必须与交易上链瞬间该钱包的实时 Nonce 完全一致。

  由于黑客大概率只是操纵了后端的签名系统接口,此时的 Binance 14 仍在高频处理全球用户的正常提现,Nonce 每秒都在跳动。黑客从签名机拿到签名、再广播到链上被打包,中间存在数秒的网络与队列延迟,根本无法预知上链那一刻 Nonce 会停在哪个数字。

  为了克服这一盲区,黑客利用被攻破的签名系统,针对当时的 Nonce 区间,一次性逼迫签名机产出了 50 个连续递增的 EIP-7702 授权签名(Nonce 从 18914775 到 18914824),并将它们全部塞进同一笔 Type-4 交易中发射上链。以太坊底层在执行时自动丢弃了 49 个无效签名,唯独卡在实时窗口上的那 1 个 Nonce 精准命中生效。

  更致命的是,EIP-7702 的委托一旦生效便会持久存在。在币安彻底切断签名机并重新发送零地址授权将其覆盖之前,任何后续充入 Binance 14 的资金都会被继续抽走(直至 21:04 UTC 仍有零星余额被持续清扫)。

版权说明 / Copyright Notice:
Content and images in this article may originate from third-party sources and are used for news reporting, commentary, or public interest purposes. All copyrights remain with their respective owners. Please refer to the Copyright Notice at the bottom of this page.
本文内容仅供信息参考,不代表倍可亲立场或观点。

评论 (0)