
一场毁灭性的黑客攻击正在席卷加密货币生态系统,将价值数百万美元的比特币从用户钱包中窃取,并转移到不同黑客团伙的手中。此次攻击针对的是 Coldcard 硬件钱包(一款专门用于存储比特币的钱包),这意味着其他加密货币并未受到影响。目前损失已远超 1 亿美元,且这一数字每天还在不断攀升,已有数千名用户受到影响。
硬件钱包本应为人们存储和访问加密资产提供一种安全的方式,但在这起事件中,情况却大错特错。漏洞曝光后,该钱包背后的多伦多公司 Coinkite 甚至指示用户尽快转移资金。
就像加密行业以往发生大规模黑客攻击时一样,关于自我托管与第三方托管的争论再次白热化,且尚未分出胜负。
加密领域自我托管的核心意义在于,除非提供所需的密码学授权,否则任何人都无法触碰个人的数字资产。这通常意味着使用私钥签署交易,而私钥只有最初生成它的人才知道。私钥提供了对这些资产的绝对控制权,但这也意味着,一旦私钥被盗,它就成了单点故障。正因如此,在联网设备的日常操作中暴露私钥被视为一种行业大忌。恶意软件或键盘记录器可能会窃取私钥,让黑客能够立即且不受限制地访问受影响的钱包。
这就是为什么许多人选择使用硬件钱包的原因。硬件钱包允许人们签署交易,同时将私钥保存在设备内部的安全芯片中。因此,私钥永远不会暴露给本地计算机,也不会暴露给整个互联网。硬件钱包将所有关键信息与外界窥探隔绝,同时允许通过直接在设备上输入 PIN 码或密码短语来转移资金。在正常情况下,潜在的攻击者需要物理接触到该设备,并掌握解锁所需的 PIN 码。
这一切听起来很完美,但为什么仍有数千个钱包的资金被洗劫一空?就网络安全专家目前所能确定的情况来看,答案在于 Coldcard 固件中的一个代码错误。这里的细节有点繁杂,但值得花时间去好好理解。
私钥本质上只是一个数字。它是从一个庞大到难以想象的数字集合中抽取出来的一个数字。找到一个简单的数字似乎微不足道,但所涉及的可能性数量之多,使得这项任务在统计学上是不可能完成的。这就好比不仅在地球上,而是在整个宇宙中寻找某一粒特定的沙子。
关键在于生成这个数字时,需要具备无法被复制的随机性。这正是常规随机数生成器(RNG)失效的地方。大多数软件中使用的常规 RNG 从一个种子数字开始,然后将其输入一系列已知的数学函数中。这个过程是确定性的,意味着相同的输入总是产生相同的输出。
这样是不行的。加密软件依赖的是密码学随机数生成器,它们是非确定性的。通过这种方式产生的数字在任何情况下都无法被预测,这意味着生成的私钥是绝对未知的。自加密货币诞生以来,这个过程一直是其基石。
在 Coldcard 固件中发现的明显漏洞在于,其私钥生成机制使用的是常规 RNG,而非密码学 RNG。这些私钥是可预测的,因为它们是通过确定性 RNG 生成的,这极大地缩小了抽取私钥的数字集合范围。一旦有人发现了这一点,在外部硬件上复制种子生成过程并独立重现相同的私钥就变得轻而易举。完成这一步后,洗劫这些钱包简直易如反掌。
如果这确实是部分私钥的生成方式,那么这些钱包的密码学安全性就和普通的烤面包机差不多了。这也解释了为什么这次攻击似乎不是一个单一事件,而是一个持续的过程,因为攻击者还在不断发现新的私钥。
Coldcard 用户做对了一切。他们很谨慎,为了保护自己的比特币,花钱购买了他们以为安全的硬件钱包。但他们还是被抢了。用「不公平」都不足以形容这种遭遇。然而,以一种极其残酷的方式,比特币「不要信任,要验证」(don't trust, verify)的信条在此次事件中变得比以往任何时候都更加响亮。事实是,数千人没有去验证他们所使用的硬件钱包的源代码,并为此付出了惨痛的代价。
另一方面,有些人认识到自己的技术局限性,将资金委托给 Coinbase 或币安(Binance)等平台。这无可厚非,但反对这种做法的直接反例就是门头沟(Mt. Gox)、QuadrigaCX、Cryptopia以及一大串突然倒闭的交易所,这些事件让客户血本无归。
加密行业目前还没有解决之道。当人们遭遇信用卡盗刷时,银行通常会拦截交易、冻结卡片,并在几天内寄出新卡。在加密领域绝对没有类似的机制。事实上,最近的黑客攻击已经引发了对加强加密资产监管的呼声;而这目前正因为美国国会未能通过《明晰法案》(Clarity Act)而处于搁置状态。