这个长达五年的错误没有被发现,因为审计人员验证了预期的随机数生成器存在,但没有验证它被调用。

Kraken 首席安全官 Nick Percoco 表示,Coldcard 的五年种子生成缺陷暴露了硬件钱包独立测试方式方面的更广泛弱点。

Percoco 在周日的一篇 X 帖子中表示,这一事件应该给硬件钱包制造商敲响“警钟”,呼吁进行独立测试,以验证批准的随机源是否是生产固件实际使用的随机源。

“消费者被要求相信制造商对系统中最关键功能的实现,而没有独立验证批准的熵路径是实际执行的,”Percoco 说。

他的评论是在一场持续的攻击之后发生的,据信该攻击利用了受影响的 Coldcard 设备生成的弱种子短语。截至周日,超过 4,500 个地址受到影响,比特币损失近 9000 万美元。

Coldcard RNG 缺陷五年来仍未被发现

周四,Coinkite 披露了自 2021 年 3 月以来一直存在的软件缺陷,当时 Coldcard 在集成新的加密库时改变了其种子生成过程。

迁移无意中将钱包创建路由到代码库中存在的较弱的 MicroPython 生成器,而不是 Coldcard 预期的真随机数生成器 (TRNG)。

Coinkite 在事后分析中表示:“COLDCARD 上的大部分随机性来自 PRNG,而我并不知道它实际上存在于源代码库中。” “与此同时,我编写的精心设计的 TRNG 代码也被使用了,但只是偶然,而且只用于不太重要的事情。”

预期随机数生成器的存在使得该漏洞能够在未被发现的情况下溜走。代码审查将确认 Coldcard 的 TRNG 代码的存在和功能,但没有检查来确保这是实际调用的 RNG。

Percoco 表示,此类检查已经成为安全行业其他领域的标准,并引用了 NIST SP 800-90B(一项美国政府标准,规定了设计、测试和验证加密安全物理真随机数生成器的要求)和 BSI AIS-31(德国联邦信息安全办公室创建的类似标准)。

“硬件钱包没有类似的流程。我们有关于安全元件的通用标准、一些 CSPN 认证和供应商赞助的审计。它们都没有系统地强制进行端到端验证,以确保经过验证的熵源是生产固件实际调用的内容,”他说。

Percoco 表示:“支付行业不允许 PIN 输入设备在未经独立实验室测试的情况下发货。美国政府不会接受未经熵源验证的加密模块。数字资产自我托管也不应该例外。”

Coldcard 周日表示,自周四确认该漏洞以来,该公司已停止所有设备发货,并销毁了其设施中包含受影响固件的所有剩余设备。

然而,Coinkite 建议拥有受影响设备的用户不要处置它们,因为“如果资金被追回,这可能会变得至关重要。”

“我们的法律团队将在必要时与多个司法管辖区的执法部门进行协调,以支持查明责任人的工作。”