Back to Blog

Bybit 15亿美元被盗事件:恶意Safe钱包升级攻击深度解析

Phalcon
February 25, 2025
6 min read

Bybit 交易所于 2025 年 2 月 21 日协调世界时(UTC)下午 14:00 左右遭到了黑客攻击,损失接近 15 亿美元,这是迄今为止加密货币历史上最大的安全事件。与以往的安全漏洞不同,此次盗窃并非由智能合约权限问题引起,而是由于 Bybit 所使用的 Safe 多签钱包遭到了恶意升级。攻击者欺骗了多名 Safe 钱包操作员签署了一笔钱包升级交易,从而成功夺取了该 Safe 钱包的控制权。在获得控制权后,攻击者迅速抽干了其中的资金。

我们发现,这次攻击是一次针对 Bybit 精心策划的行动。攻击者在发动最终攻击的前两天,就已经在链上部署并测试了攻击合约。在这篇博客文章中,我们将首先介绍 Safe 钱包,分析整个攻击过程,最后提供一些安全建议。

什么是 Safe 多签钱包

Safe 多签钱包是一种智能合约钱包,其核心功能是使用多个密钥来授权交易。该钱包要求多个用户(通常是预先指定的密钥持有者)在执行转账或其他操作之前对交易进行签名,从而提高安全性,防止单点故障或单个密钥泄露带来的风险。

当创建钱包时,会设置多个密钥(通常使用“n-of-m”模式),这意味着在多个密钥持有者中,需要一定数量的签名才能执行交易。例如,“3-of-5”多签钱包意味着在 5 个密钥持有者中,至少需要 3 个签名交易才有效。

尽管存在不依赖于 Safe 官方网站来构造交易的方法,但从用户体验的角度来看,大多数用户还是选择通过 Safe 网站来构造和签署交易。通常,用户会访问 https://app.safe.global 来构建交易。在使用 Safe 钱包构建和签署交易时,用户首先会模拟交易,以了解其上链后的潜在结果,并验证其是否符合预期。只有在结果符合预期的情况下,操作员才会继续完成签名过程。

以下是 Safe 钱包中交易构建界面的截图。由于 Safe 网站目前暂时无法访问,以下截图来源于网络(来源:https://milkroad.com/reviews/safe-wallet/)。

实际上,在使用 Safe 钱包时,存在以下安全风险:

  • 漫长的安全链条: 用户必须信任 Safe 官方网站、应用程序和后端服务,以及他们自己的电脑和浏览器,最后还要信任用于签名的钱包(无论是浏览器插件还是硬件钱包)。如果这些组件中的任何一个被攻击者破坏,操作员可能会收到错误信息(例如,当界面显示的是一笔正常转账交易时,你实际上可能正在签署一个升级交易)。

  • 硬件钱包缺乏对交易的解析能力: 硬件钱包通常缺乏解析 Safe 交易的能力。这意味着如果用户被 Safe 界面误导,他们在最终签名时将无法进行交叉验证,从而导致所谓的“盲签”。

攻击过程

在发动最终攻击之前,攻击者已经在链上部署并测试了攻击合约。整个攻击过程中涉及多个不同的地址。

第一步:获取资金

攻击者首先需要获取发动攻击的初始资金。通常,攻击者会通过混币平台(例如 Tornado Cash)获取资金以隐藏踪迹。然而,在本案中,攻击者的资金来自币安(Binance)。我们认为这可能是攻击者掩盖身份的一种手段,因为安全公司通常会对来自混币服务的资金和地址进行严密监控,而来自交易所的资金受到的监控相对没那么严格。此外,尽管资金来源于交易所,但该交易所账户也有可能未进行 KYC,或者其 KYC 信息是伪造的。

https://metasleuth.io/result/eth/0x3b48fa59c2bBdF8D00D70aC40B2CdA576fC519E3?source=5d9ab32c-e958-4a8d-864f-f1f4e79d0d0c

第二步:部署和测试合约

在进行实际攻击之前,攻击者进行了一系列测试。这些测试包括部署一个 Safe 钱包、部署攻击合约,并使用自建的 Safe 钱包执行升级操作,以及从升级后的 Safe 钱包中提取资金。此外,在测试过程中,攻击者仅针对有限范围的资产进行了实验——这些资产与最终 Bybit 钱包中被盗的资产相匹配。这表明攻击者专门针对了 Bybit 的 Safe 钱包。

攻击者创建了一个用于测试目的的 Safe 钱包;其中一个测试 Safe 钱包地址为:
0x509b1eDa8e9FFed34287ccE11f6dE70BFf5fEF55

攻击者测试了 Safe 合约的升级。我们可以通过以下链接在 Phalcon Explorer 上查看相关信息:

https://app.blocksec.com/explorer/tx/eth/0x50a51f781567a003662b933fc1224a35d824ba695edce7687473800299c7d1ef

在测试完升级后,攻击者继续测试提现流程。他们直接从升级后的地址为 0x509b1eda8e9ffed34287cce11f6de70bff5fef55 的 Safe 合约中提取了 stEth 资产。

https://app.blocksec.com/explorer/tx/eth/0xa284658ddbe5af54bf056ea32147f0842990555510c5b752e3814dbfe0210e0c

第三步:欺骗用户构建并签署升级交易

在完成测试后,攻击者需要诱骗用户构建并签署 Safe 合约升级交易。由于测试是在两天前进行的,因此欺骗行为很可能发生在测试后的两天内。目前尚未公开证实这是通过攻击 Safe 服务器还是通过攻击钱包操作员的电脑实现的。

第四步:发动攻击

一旦攻击者获得了足够数量的签名,他们就在链上提交了交易并成功执行了合约升级。升级完成后,攻击者提取了资金。我们发现,这笔恶意升级交易与之前的测试交易完全相同。

https://app.blocksec.com/explorer/tx/eth/0x46deef0f52e3a983b67abf4714448a41dd7ffd6d32d32da69d62081c68ad7882

教训与洞察

事实上,去年曾发生过两次类似的攻击——包括 Radiant印度交易所 WazirX(损失超过 2 亿美元)的失窃事件——两者都是由于使用了 Safe 钱包签署恶意交易导致的。此次事件的区别在于,所签署的交易是一笔合约升级交易。因此,吸取这些安全事件的教训并防止未来再次发生攻击,仍然是持有大量数字资产的交易所和项目团队必须解决的挑战。这可以通过改进日常运营、完善内部流程管理、加强敏感操作的安全协议以及调整去中心化设置来降低被攻击的风险。

其次,钱包如何在交易签名过程中更好地参与安全保障仍是一个未解的问题。目前,特别是硬件钱包通常缺乏解析复杂交易的能力。此外,由于硬件钱包不直接连接互联网,如何执行交易模拟(并以易于理解的方式向用户呈现结果)以避免盲签,仍然是一个巨大的挑战。

此外,必须采取多种安全措施,例如雇用 BlockSec Phalcon 等安全监控平台来监控 Safe 钱包,确保任何异常行为都能得到及时发现和处理。事实上,Phalcon 已经具备监控 Safe 钱包的能力,我们将继续升级我们的产品,以便在未来可以自动配置此类监控,帮助用户在使用 Safe 管理大量资产时避免风险。尽管这次事件是由使用 Safe 钱包引起的,但无需对“Safe”感到恐惧;它仍然是多签钱包的事实标准,其合约安全性已通过时间证明。

最后,我们必须强调,安全防御绝非单点突破的战场,也没有一劳永逸的“银弹”。 在确保业务运营安全的同时,行业参与者可以将 BlockSec Phalcon 作为保护其资产的最后一道防线。