Randstorm Bitcoin 錢包餘額掃描器
Randstorm 錢包掃描器:檢測可能受到 Randstorm 弱隨機數漏洞影響的舊版 Bitcoin 錢包,協助使用者進行錢包安全性與歷史風險分析。 此工具用於檢查可能受到 Randstorm MWC1616(Web JavaScript 版本)弱點影響的 Bitcoin 錢包,並查看相關錢包是否存在餘額或交易紀錄。
Randstorm:早期網頁 Bitcoin 錢包中的安全漏洞
深入了解 Randstorm 安全漏洞,以及 2011 年至 2015 年期間使用特定網頁 JavaScript 技術建立的 Bitcoin 錢包可能面臨的私鑰安全風險。
Randstorm 漏洞是如何產生的?
2023 年 11 月,安全研究人員公開了名為 Randstorm 的一系列加密安全問題。這些問題可能影響早期使用瀏覽器 JavaScript 技術建立的部分 Bitcoin 錢包。
Randstorm 並不是 Bitcoin 區塊鏈協議本身的漏洞,而是與早期網頁環境中的偽隨機數產生器(PRNG)、JavaScript 執行環境,以及部分早期 Bitcoin 錢包函式庫的實作方式有關。當隨機數產生器提供的熵不足時,錢包私鑰的不可預測性可能因此降低。
Randstorm 的運作原理與技術背景
安全 Bitcoin 錢包的核心之一是高品質的熵,也就是用於產生私鑰時必須具備的不可預測隨機性。早期的網頁錢包在瀏覽器中產生金鑰時,可能依賴當時 JavaScript 執行環境所提供的偽隨機數產生器。
種子來源 = Date.now() [低熵時間資訊]
PRNG 狀態 = 32 位元狀態 [可分析的內部狀態]
在部分舊版 V8 JavaScript 執行環境中,曾使用名為 MWC1616 的偽隨機數產生演算法。如果錢包程式同時使用低熵的時間資訊作為隨機種子,實際產生的隨機狀態可能遠低於現代密碼學安全隨機數產生器所提供的安全程度。
這類問題的核心並不是 Bitcoin 私鑰本身從 2256 個可能值突然變成固定的小範圍,而是某些歷史錢包在產生私鑰時所使用的隨機性可能不足,使研究人員可以利用已知的產生方式、時間範圍與其他資訊進行分析。
- 低熵種子來源: 如果隨機種子過度依賴時間戳等可預測資訊,可能降低產生私鑰時的隨機性。
- 舊式 PRNG: MWC1616 等早期偽隨機數產生器並不是為現代密碼學金鑰產生而設計。
- 可分析的產生流程: 在掌握特定錢包軟體、JavaScript 執行環境與可能的建立時間等資訊後,研究人員可以對歷史金鑰產生方式進行安全性分析。
安全防護與現代錢包的影響
現代瀏覽器已提供適合密碼學用途的安全亂數 API,例如 crypto.getRandomValues()。與早期網頁環境相比,現代錢包通常可以使用更可靠的熵來源來產生私鑰與種子。
不過,如果 Bitcoin 錢包是在早期網頁環境中建立,而且使用了可能受到 Randstorm 相關問題影響的軟體或函式庫,就應該確認該錢包的建立方式與安全性。不能僅根據錢包目前仍然可以正常使用,就判定其歷史私鑰一定安全。