Libbitcoin Explorer 随机数产生器有缺陷,导致超过 12 万个比特币私钥泄露

本文为机器翻译
展示原文

根据加密钱包提供商 OneKey 的报告,广泛使用的开源比特币库中新发现的一个漏洞导致超过 120,000 个私钥被泄露。

该漏洞可追溯到 Libbitcoin Explorer (bx) 3.x 系列,该漏洞允许攻击者预测通过不安全的随机数方法生成的钱包私钥。

根据 OneKey周五晚间在 X 上发布的洞察,Libbitcoin Explorer (bx) 3.x 是一个长期用于离线创建比特币钱包的命令行实用程序。该软件使用 Mersenne Twister-32 伪随机数生成器 (PRNG),该生成器仅使用系统时间来产生随机数。

种子空间被限制为 2³² 个可能值,这使得黑客可以轻松预测随机数并暴力破解钱包私钥。任何知道钱包生成时间的人都可以重建相同的随机数序列,进而推导出私钥来访问地址的资金。

OneKey 对受影响钱包范围的分析

据加密钱包服务提供商称,该问题已被确认影响集成 Libbitcoin Explorer 或其依赖组件的多个钱包实现,包括 Trust Wallet Extension 版本 0.0.172 至 0.0.183,以及 Trust Wallet Core 版本高达 3.1.1,但不包括修补后的 3.1.1 版本。

OneKey 援引安全研究人员的分析,发现该安全漏洞源于PRNG 对可预测熵的依赖。攻击者可以为特定时间戳生成的钱包复制相同的私钥。

Mersenne Twister-32 算法的种子空间较小且可预测性强,这使得恶意行为者可以自动化该过程并入侵多个钱包。

OneKey 解释说,该漏洞可能是造成之前神秘资金损失的原因之一,例如“Milk Sad”事件,受害者报告称,尽管使用了隔离系统以确保安全,但他们的钱包还是被掏空了。

“Milk Sad”事件并未影响 OneKey 钱包

今年早些时候启动的“Milk Sad”调查显示,受害者使用 Libbitcoin Explorer 中的命令,在隔离的 Linux 笔记本电脑上生成了钱包。在每种情况下,用户都依赖 bx 生成 24 个单词的 BIP39 助记词,因为他们认为该工具足以提供足够的随机性。

钱包生成过程中使用的一个命令序列是 bx seed -b 256 | bx mnemonic-new。它生成了 256 位熵,然后将其转换为 24 个单词的助记词。由于随机数生成器存在缺陷,原本应该安全的助记词实际上是可以预测的。

尽管 Milk Sad 受害者创建钱包的时间相隔数年,但调查人员发现他们各自使用了相同版本的 Libbitcoin Explorer,这在不知不觉中生成了弱私钥。

OneKey 在报告中表示,Libbitcoin Explorer 中的漏洞不会危及其钱包中助记词或私钥的安全性。该公司的调查证实,其设备和软件使用了符合国际安全标准的加密安全 RNG。

这家硬件和冷钱包公司确认:“所有新一代硬件钱包都配备了安全元件 (SE),并内置真随机数生成器 (TRNG) 用于密钥生成。这些组件基于硬件,并拥有 EAL6+ 认证,其安全级别获得全球认可。”

软件钱包漏洞评估

OneKey 还对其软件产品进行了评估,指出桌面和浏览器扩展版本使用基于 Chromium 的 WebAssembly (WASM) PRNG 接口。

界面操作系统使用加密安全伪随机数生成器(CSPRNG)作为熵源,这与现代浏览器和安全软件系统使用的标准相同。

OneKey 表示,其 Android 和 iOS 钱包在操作系统中内置了系统级 CSPRNG API。该钱包服务的安全团队重申,钱包生成的随机性质量直接取决于设备和软件环境的完整性。

报告写道:“如果操作系统、浏览器内核或设备硬件受到损害,熵源可能会被削弱。”

该公司建议用户如果打算长期存储加密货币,最好选择硬件钱包,以最大程度地降低风险。此外,该公司还警告用户不要将软件钱包生成的助记词导入硬件钱包。

来源
免责声明:以上内容仅为作者观点,不代表Followin的任何立场,不构成与Followin相关的任何投资建议。
喜欢
86
收藏
16
评论