写点什么

Bybit 14.6 亿美元被盗能否避免?解析 Polkadot 的离线签名安全机制!

  • 2025-03-03
    浙江
  • 本文字数:3537 字

    阅读完需:约 12 分钟

Bybit 14.6 亿美元被盗能否避免?解析 Polkadot 的离线签名安全机制!


原文:https://blog.kchr.de/one-metadata-to-rule-them-all-or-how-to-implement-offline-signers/

作者:Parity 开发者 Bastian Köcher

编译:OneBlock+

2025 年 2 月 21 日晚,中心化交易平台 Bybit 遭遇了金融史上最大攻击,价值 14.6 亿美元的数字资产被盗。此次安全事件再次引发了业界对数字资产安全架构的深度思考。尽管采用了业内公认的高安全标准 —— 3/3 多重签名与硬件冷钱包,Bybit 仍然因为 "盲签名" (Blind Signing) 的固有风险而遭受损失

本文将通过分析 Bybit 事件的技术细节,探讨波卡(Polkadot)生态系统如何通过创新的元数据解决方案,从根本上解决盲签问题,并为整个区块链行业提供有益的借鉴。

Bybit 事件分析:社会工程学攻击与盲签漏洞

事件回顾:冷钱包被攻破过程

Bybit 采用了加密货币行业公认的高安全性资产保管方案,即 Safe 多签钱包与冷钱包的结合。Bybit 设置了 3/3 签名门槛,这意味着必须三位私钥持有者同时授权,才能进行资产转移操作。尽管采取了这些严格的安全措施,黑客仍然通过社会工程学攻击突破了防线。

攻击者先是成功入侵了三位签名者的计算机系统,随后进行长期观察,详细记录签名者的操作习惯、内部沟通内容以及转账流程。在充分观察一段时间后,黑客瞄准了冷钱包向热钱包转移资金的周期性过程,并提前部署了带有后门的恶意合约。当签名者在进行日常操作时,攻击者悄悄将正常的交易请求替换为他们提前部署好的恶意合约。签名者在签名时并未察觉到这一点,因为他们看到的是一笔普通的转账交易,但实际上,他们签署的是一个让黑客接管钱包控制权的交易。

事件本质:盲签问题

事件的核心问题在于盲签名签名者无法在离线签名设备上真实看到他们实际签署的交易内容。黑客通过控制签名者的电脑,使他们看到的是假交易信息,但签名却用于真实的恶意交易。分析表明,攻击者仅通过一次伪造签名攻击就获取了钱包的所有者权限。这强烈暗示不止一台设备被攻陷,且黑客很可能已在 Bybit 内网潜伏多时,掌握了足够的内部情报来精确模拟正常交易流程和时机。

盲签的危险性在于它为攻击者提供了一个绕过传统安全措施的途径。它完全割裂了用户意图与实际执行的交易,创造了一个难以察觉的欺骗空间,亟需从根本上解决。

波卡生态的安全签名机制:解决盲签问题

波卡生态系统在解决盲签问题上进行了深入的技术创新,提出了一套完整的安全机制,确保 "你看到的就是你签署的" 这一核心安全问题得到有效解决。通过元数据的应用、离线签名验证以及链上安全机制,波卡能够有效避免类似 Bybit 事件中的攻击风险,为用户提供安全、透明的签名过程。

有关元数据的详细技术文档,请参考:

👉 https://polkadot-fellows.github.io/RFCs/approved/0078-merkleized-metadata.html

什么是元数据?

波卡生态系统提供了一个用于实现平行链/汇总层的软件开发工具包 (SDK),该工具包将业务逻辑 (运行时) 与节点端分离开来。由于每条链的功能各不相同,这些运行时 (Runtime) 也有所不同,它们暴露不同的交易、事件和存储项,并对余额使用不同的数据类型。为了让去中心化应用 (DApp) 开发者能够与这些不同的链进行交互,运行时会暴露关于自身的元数据

这些元数据包含了丰富的信息,甚至可以用来训练 AI 自动生成用户界面并与区块链进行交互。元数据本质上是链上功能的详细说明书,它让系统能够将复杂的交易数据解码为人类可读的形式,从而使用户能够理解他们正在批准的内容。这解决了盲签的根本问题,即用户在不知道自己实际签署内容的情况下进行签名。

元数据应用的技术挑战

将元数据应用于离线签名设备面临一系列技术挑战,最突出的就是元数据的大小问题。随着区块链功能的不断扩展,每条链的元数据很容易增长到数兆字节,相比之下,像 Ledger 这样的离线签名设备只有几千字节的主内存,无法加载整个元数据来解码交易。其他解决方案如 Polkadot Vault 需要通过 QR 码传输整个元数据到设备,这个过程可能需要几分钟,用户体验并不理想。

为解决这个问题,波卡生态系统对元数据进行了精简和分块处理。首先移除了关于存储条目、事件等信息以减小元数据的大小。然后在交易级别对元数据进行分块,因为解码交易 Y 时不需要交易 X 的元数据。这种分块方式使得可以逐块流式传输数据来解码交易,向用户展示后再继续处理下一块,直到整个交易被解码并展示给用户。这对于 Polkadot 中可能变得相当大的批量交易特别重要。

如何安全离线签名?

离线设备如何确保从在线钱包接收的元数据块是正确的?如果离线设备无法验证这一点,在线钱包可能会构造欺骗性的数据块,使离线设备向用户显示为交易 Y,而在链上实际执行为交易 X,这正是 Bybit 事件中发生的安全漏洞

波卡生态系统通过将所有元数据块放入一个默克尔树中来解决这一问题。每个块的根哈希(元数据根哈希)代表了整个元数据,离线签名器通过验证每个块的证明,确保收到的数据是正确的。此外,离线签名器将元数据根哈希包含在交易的签名数据中,这样不仅签署了交易本身,还签署了元数据的哈希。交易在提交前会先与运行时的已知元数据根哈希进行比对,确保交易的合法性。

这种方式使得离线设备能够在不信任在线钱包的情况下,独立验证交易数据的准确性。只有当元数据根哈希匹配时,交易才会被执行,确保了“你看到的就是你签署的”这一核心安全原则。

对比 Bybit 事件:波卡方案如何防止类似攻击

如果 Bybit 采用波卡的安全机制,黑客的攻击将无法得逞。首先,波卡的离线签名系统能够清晰呈现交易的真实内容,即使黑客控制了签名者的电脑。签名者能够明确看到交易的真实意图,比如 “授予合约控制权限” 而不是误导性的 “普通转账” 交易类型,从而有效避免了签署恶意合约。

其次,波卡的方案有效防止了元数据欺骗。黑客无法提供虚假的元数据解码信息,因为链上验证机制确保了元数据的完整性与准确性。这种机制有效地阻止了黑客利用伪造元数据实施攻击。

最终,波卡的全流程安全架构形成了一道坚实的防线,从交易发起到链上执行的每个环节都经过严格的安全验证。任何环节的异常都会被自动检测并阻止,从根本上杜绝了类似 Bybit 遭遇的攻击可能性。

其他生态系统的解决方案

Cosmos 生态系统采用了一种基于交易文本表示的方式来解决盲签问题,他们通过标准化一些 print 功能,使得用户可以以清晰的文本形式查看交易内容。然而,这种方法的缺点是:每个网络节点在处理交易时都需要生成文本表示。考虑到区块链网络中节点数量庞大,所有节点都必须重复这一操作,这无疑是一种资源浪费。

与此不同,Sovereign SDK 则借鉴了 Polkadot 生态系统的解决方案,开发了一个通用钱包,能够让任何 Sovereign SDK 应用程序自动展示格式良好且易于理解的交易内容,而应用开发者无需额外操作。由于特定应用链的 API 集(即“调用消息”)是有限的,他们为每种调用消息生成了特定的人类可读格式。通过这种方式,Sovereign SDK 的 Snaps、钱包以及硬件钱包(作为受信任的二进制文件)能够显示由不受信任前端提供的交易内容。

此外,钱包在签名数据中包含了用于显示交易的模式哈希,而每条链在接受交易前都会验证该哈希。这意味着,链本身可以拒绝那些未正确向用户展示的交易,从根本上保障了交易的安全性。

未来改进计划:提升用户体验

虽然波卡生态系统目前的实现已经有效解决了盲签的核心安全问题,但团队仍计划进一步优化用户体验,使系统更加用户友好。

当前的局限在于,离线签名设备显示的信息使用与链上函数相同的技术命名,且不提供必要的上下文信息。这导致普通用户难以理解交易内容 —— 例如,用户无法直观分辨某个数值是代表余额还是其他类型的整数。要正确解读这些交易信息,用户需要具备一定的技术背景。

针对这一问题,波卡团队正在讨论的未来升级将包含更丰富的上下文信息。这意味着开发者将能够向离线签名设备明确表达参数的具体含义,如 "parameter_a 是一个 Balance 类型","parameter_b 是另一种数据类型"等。

此外,理想的用户体验应包括为每个函数附加解释性文本,帮助用户理解该操作的具体作用。虽然当前系统中已有文档功能,但这些文档主要面向开发者而非普通用户设计。未来的改进将更注重为最终用户提供清晰、易懂的操作说明,让非技术人员也能轻松理解他们正在授权的交易内容。

结语

波卡生态系统的元数据解决方案从根本上解决了盲签问题,为区块链交易提供了一种更加安全、透明的签名机制。这一创新不仅有效防止了类似 Bybit 的攻击,还为用户提供了易于理解的操作界面,确保用户签署的交易与实际执行的内容一致。通过将元数据验证整合到交易签名和执行过程中,波卡建立了一个端到端的安全体系,为区块链资产安全树立了新标杆。

随着未来更多用户友好性改进的实施,波卡的方案将进一步降低使用门槛,让非技术用户也能安全地参与区块链交易,从而更好地防范社会工程学攻击的风险。

发布于: 刚刚阅读数: 4
用户头像

还未添加个人签名 2022-01-14 加入

还未添加个人简介

评论

发布
暂无评论
Bybit 14.6 亿美元被盗能否避免?解析 Polkadot 的离线签名安全机制!_One Block Community_InfoQ写作社区