广泛使用的加密协议(如GG-18、GG-20和Lindell 17)实施中的多个0-day漏洞,被称为“BitForge”,影响了包括Coinbase、ZenGo、Binance等流行的加密货币钱包提供商。
这些漏洞可能使攻击者能够在几秒钟内窃取受影响钱包中存储的数字资产,而无需与用户或供应商进行交互。
这些漏洞是由Fireblocks密码研究团队于2023年5月发现的,他们将其统称为“ BitForge ”。
今天,在“Small Leaks, Billions Of Dollars: Practical Cryptographic Exploits That Undermine Leading Crypto Wallets”这场BlackHat的演讲中,分析师们公开了BitForge的信息。而到这个时候,Coinbase和ZenGo已经采纳了相应的修复措施来应对这个问题。
然而,Fireblocks 表示 Binance 和其他数十个钱包提供商仍然容易受到 BitForge 的攻击。Fireblocks 已经创建了一个状态检查器,供项目使用,以检查它们是否由于不正确的多方计算( MPC )协议实现而面临风险。
BitForge 漏洞
由Fireblock发现的第一个漏洞( CVE-2023-33241 )影响到 GG18 和 GG20 门限签名方案( TSS ),这些方案被认为是多方计算( MPC )钱包行业的先驱和基础,允许多个参与方生成密钥并共同签署交易。
Fireblock 的分析人员发现,根据实施参数的不同,攻击者可以发送一个特制的消息,并以16位块的形式提取密钥碎片,通过16次重复操作从钱包中检索完整的私钥。
该漏洞源于对攻击者的 Paillier 模数(N)以及其基于存在小因子或双素数的加密状态的检查不足。
Fireblock 的报告中写道:“如果被利用,这个漏洞允许威胁行为者与 TSS 协议中的签署者进行交互,窃取他们的秘密碎片,并最终获取主密钥。”
漏洞的严重程度取决于实施参数,因此不同的参数选择会导致不同的攻击,需要不同程度的努力/资源来提取完整的密钥。
在 Lindell17 2PC 协议中发现的漏洞( CVE-2023-33242 )具有类似的性质,允许攻击者在大约200次签名尝试后提取整个私钥。
这个缺陷存在于 2PC 协议的实现中,而不是协议本身,并通过钱包对中止操作的处理不当而显现出来,这迫使它们继续签名操作,无意中暴露私钥的几位。
这种攻击利用了使用 2PC 协议的钱包在处理中止操作时的错误处理,钱包面临一个“不可能的选择”,要么中止操作(这是不合理的,因为可能会导致资金被锁定在钱包中),要么继续签名并在每个签名中牺牲额外的密钥位。- Fireblock
利用这个缺陷的攻击是“非对称”的,这意味着可以通过破坏客户端或服务器来利用它。
在第一种情况下,攻击者会破坏客户端,使其代表攻击者向服务器发送命令,这将揭示服务器的一位秘密密钥。
Fireblock 表示需要进行256次此类尝试才能收集足够的数据来重建服务器的完整秘密份额。
然而,由于没有设定限制,攻击者可以通过快速连续的请求来频繁地向服务器发送请求,因此攻击可以在短时间内完成。
第二种情况针对的是客户端的秘密密钥,利用被攻陷的服务器通过特制的消息来检索它。同样,需要256个请求来完整地提取密钥。
分析人员还在 GitHub 上发布了每个协议的两个概念验证( PoC )漏洞利用工具。
Coinbase告诉BleepingComputer,在漏洞被披露后,他们修复了其钱包作为服务( WaaS )解决方案中的漏洞,并感谢研究人员的负责任披露。
“我们要感谢 Fireblocks 发现并负责任地披露了这个问题。虽然 Coinbase 的客户和资金从未面临风险,但维护完全不可信的加密模型是MPC实施的重要方面,” Coinbase 的首席信息安全官 Jeff Lunglhofer 说道。“设立一个高安全性的行业标准可以保护生态系统,并对这项技术的广泛采用至关重要。”
本文转载自https://www.bleepingcomputer.com/news/cryptocurrency/new-bitforge-cryptocurrency-wallet-flaws-lets-hackers-steal-crypto/,本文观点不代表墨知立场。