🌐 English 即时比分

冷钱包Coldcard代码漏洞多年未被发现,致1亿美元加密货币被盗

数字资产 来源: CoinDesk 发布时间: 热度: 👍👍
冷钱包Coldcard代码漏洞多年未被发现,致1亿美元加密货币被盗
🤖
🤖

核心导读

Coldcard硬件钱包因固件中的随机数生成配置错误,导致种子生成熵值大幅降低,多年未被发现,最终遭黑客利用,约1596枚比特币(价值超1亿美元)从数千地址被盗。漏洞源于2021年固件更新中libngu库的设置检查缺陷,使设备使用了弱随机源。尽管用户严格遵循安全规范,仍无法避免损失。Coinkite已发布修复固件,但受影响用户需生成新种子并迁移资产。

乔纳森·古德曼严格遵守了保护比特币安全的所有规则。 存储其私钥的硬件钱包Coldcard从未连接过互联网。他将钱包保存在银行保险箱中。他从未向任何人透露过的助记词,则存放在另一个保险箱里。然而,古德曼表示,7月29日,他所有的钱包都被清空,最后一聪也被盗走。这位多伦多企业家报告称损失了18.25枚比特币,在攻击发生时价值略高于117万美元。 “也许最令人难熬的是,我做对了一切,”他在8月1日的X帖文中写道。 古德曼的损失是一场规模更大的黑客攻击的一部分,影响了数千名Coldcard用户。Galaxy Research表示,其高度确信在系列攻击中,约有7300个地址被盗取了1596枚比特币——价值超过1亿美元。Galaxy Research负责人亚历克斯·索恩在8月4日估计,至少有15个不同的攻击者利用了该漏洞。他们中没有人需要物理接触设备。 硬件钱包的整个安全前提是其秘密永不离开芯片。没有互联网连接,除了物理接触设备外,没有其他进入途径。尽管硬件钱包的物理性给用户带来了自身风险——小到放错设备,大到扳手攻击——但它们的主要卖点是免受黑客和其他网络威胁的侵害。 然而,就Coldcard而言,这一安全承诺未能兑现。漏洞不在于钱包本身,而在于保护用户币种的秘密密码(即助记词)的生成方式。 比特币钱包有多种形态。软件钱包(也称为“热钱包”)在联网设备上运行,使用方便,但如果设备被攻破,则面临风险。 硬件钱包(或称“冷钱包”)如Coldcard,将私钥保存在不联网的独立设备上。早期冷钱包的形式之一是所谓的“纸钱包”,用户将访问钱包所需的私钥写在纸上。虽然免受黑客攻击,但这种钱包面临被损坏或丢失的巨大风险。 硬件钱包介于纸钱包和基于浏览器的热钱包之间。它们比软件更难被黑客攻击,比纸钱包更难丢失,但并非万无一失。它们可能丢失或被窃,用户还需要能够信任设备从一开始就正确生成私钥。 “气隙系统有帮助,但并非完美的解决方案,”TEXITcoin创始人鲍比·格雷告诉CoinDesk。“安全必须从私钥的生成方式开始,并贯穿托管过程的每一个环节。” 不幸的是,这正是Coldcard钱包制造商Coinkite出错的地方。 2016年3月,这家总部位于多伦多的比特币公司告诉客户,它将逐步关闭其托管的热钱包。运营一家在线金融服务公司带来了持续不断的垃圾互联网流量攻击,旨在将其服务下线,同时还面临不断上升的法律成本和监管复杂性。 相反,Coinkite表示想尝试不同的东西。它想构建去中心化的硬件和“非软件即服务”。那是在加密货币历史的早期,在比特币第二次减半之前,一枚比特币的交易价格略高于400美元。 Coinkite的转型首先于2016年4月推出了Opendime。这款小型USB设备生成并隐藏私钥,允许比特币像实物凭证一样在人与人之间传递。物理破坏设备的封条会揭示私钥,从而允许花费资金。 Coldcard紧随其后。Coinkite于2017年12月以“世界需要一款开放、廉价且超安全的硬件钱包”为标题宣布了该设备。在公告中,该公司认为现有的硬件钱包过于昂贵,且依赖于专有的配套应用程序。 原始设计结合了数字键盘、屏幕、安全元件和MicroSD卡槽。用户可以在Coldcard和计算机之间移动未签名和已签名的交易文件,而无需建立实时数据连接。他们不需要Coinkite账户或桌面应用程序即可使用该钱包。 首批产品于2018年发货。下一款型号于2019年4月发布,增加了更多功能。随着每个更新版本,Coldcard变得更加复杂,理论上也更加技术先进。 Coldcard的复杂性是其吸引力的一部分。它是为那些愿意检查交易细节、管理备份和构建自己的安全模型的用户而设计的。 包括胁迫PIN码、加密MicroSD备份、多重签名支持和用户提供的骰子投掷在内的众多功能,迎合了那些将托管视为对抗性练习的比特币持有者。 Coldcard的源代码也是公开的。用户可以检查固件,重现构建,并与Coinkite的发布版本进行比较。这种可见性强化了比特币生态系统的核心精神——“不要信任,要验证”。 尽管用户能够检查Coldcard的代码,但他们并没有真正仔细查看。种子生成故障是在2021年的一次重大软件更改中引入Coldcard的,多年来一直未被注意到。 Coinkite将固件版本4.0.0描述为“全新代码,同样出色的功能”。该版本用新的等价代码替换了原有代码,添加了可重现构建,并感谢名为“switck”的账户提供了“新的源代码库”。 比特币开发者詹姆斯·奥贝恩在发现以该名称发布的58项代码更改使用了与格雷以自己名义发布的更改相同的加密签名后,确认“switck”账户属于Coinkite联合创始人彼得·格雷。 此类签名就像防篡改的数字签名,表明相同的秘密签名密钥批准了这两组工作。Coinkite尚未回应该身份声明。 Switck开发了libngu,这是一个可重用代码库,被整合到客户设备上安装的Coldcard固件中。其任务之一是帮助生成创建钱包时使用的随机性。 奥贝恩表示,他在2025年5月审计Coldcard代码时对该过程提出了质疑。在将钱包的随机性来源追溯到libngu后,他向Coinkite提出了存在缺陷的可能性。 据奥贝恩称,该公司回复说,如果真的有问题,很可能早就被发现了。“就是这个人,在2025年5月对我关于可能存在缺陷的报告不予理睬,”他后来写道,指的是彼得·格雷。 随机性至关重要,因为新钱包必须从大量可能值中选择一个种子。这种选择的不可预测性以“熵”的位数来衡量,熵用于指缺乏可预测性。每增加一位熵,可能性数量就翻倍,使种子更难被猜测。 Coldcard本应从设备内部的专用硬件生成器中获取随机性。然而,一个配置错误将钱包引导至一个更简单的软件生成器,该生成器使用了包括设备和计时数据在内的信息。 这些信息并非完全随机,因此可以被缩小范围或重现,从而大幅减少了攻击者需要测试的种子数量。 简而言之,Coldcard的代码本应从极其庞大的可能性池中为每个钱包选择秘密,以至于任何计算机都无法穷尽。然而,一个接线错误将其引导至一个更小、更弱的来源,将可能性池缩小到攻击者可以遍历的程度。 据Block的比特币工程与安全团队称,错误归结为两个软件组件之间如何通信来读取设置。 该设置旨在Coldcard添加另一个随机数源后关闭一个随机数源。Libngu仅检查该设置是否存在,而不检查其是开启还是关闭。因此固件在正常构建的同时使用了错误的生成器。 Block表示,受影响的Mk2和Mk3设备通过该过程未获得安全随机性。Mk4、Q和Mk5设备获得了一些,但软件只保留了很少一部分。 Coinkite估计,这些较新的设备产生的种子具有72位随机性,而非预期的128位。这使得可能的种子数量减少了约7.2万万亿倍。 Block将易受攻击的代码追溯到2021年3月17日发布的固件版本4.0.0。Coinkite将版本4.0.1确定为Mk2和Mk3用户首次受影响的版本。 源代码是公开的,正确的硬件生成器也存在于最终固件中。审查者确认该组件存在,但未能从头到尾追踪种子生成过程,以确定设备实际使用的生成器。 该公司表示,在盗窃事件发生前进行的AI辅助审查也未能发现该错误。事件发生后,使用多个领先AI模型进行的测试也未能识别出该问题。 Coinkite已承诺发布更完整的故障说明。该公司表示正在直接为受影响的客户提供支持。 该公司未回应CoinDesk的置评请求。 Coinkite已为所有受影响的Coldcard型号和发布渠道发布了修复后的固件。该更新修复了未来的种子生成,但不会加强已使用易受攻击软件创建的种子。 根据Coinkite的建议,受影响的用户必须安装修正后的固件,生成新种子,并将比特币转移到由新种子派生的地址。 Coldcard建立在这样一种理念之上:比特币用户可以减少对托管方的依赖,并减少需要信任的参与者数量。这一事件并未恢复人们对交易所或银行作为对手方的信心。它表明,自我托管替代了一种不同的依赖:用户持有私钥,但钱包制造商仍然决定这些私钥是否被安全创建。 乔纳森·古德曼价值百万美元的比特币的关键,躺在一个从未上过网的设备里,放在保险箱中。然而,由于Coldcard种子生成软件的缺陷,古德曼物理保护其财富的努力毫无意义。
分享这篇文章: