Coldcard 韌體漏洞:可預測的熵值如何讓攻擊者無需實體接觸即可竊取 7,000 萬美元比特幣
重點速覽
- •超過 1,082 BTC(價值約 7,000 萬美元)於 7 月 30 日在一次 41 分鐘的協同掃蕩中,從 1,196 個 Coldcard 錢包中被盜,幾乎是最初通報的 594 BTC 的兩倍。
- •2021 年 3 月引入的一個韌體錯誤導致受影響的 Coldcard Mk3 設備使用可預測的軟體隨機性產生種子短語,而非使用安全的硬體隨機數產生器。
- •攻擊者能夠完全在離線狀態下重建受害者的私鑰,無需實體接觸設備或恢復短語,直接擊潰了該錢包的核心氣隙隔離安全模型。
- •在較新的 Coldcard 型號(包括 Mk4、Q 和 Mk5)上,該漏洞會將可能的種子空間縮減至約 40 億種組合,這在運算上是可行的暴力破解範圍。
- •此次事件揭示了硬體錢包中的熵值產生是一個單一故障點,其正確性在設定後無法輕易由終端用戶或第三方審計人員驗證。

超過 1,000 BTC(價值約 7,000 萬美元)從存在漏洞的 Coldcard 比特幣錢包中被盜,這是迄今為止最嚴重的硬體錢包安全事件之一。Coldcard 由加拿大比特幣安全公司 Coinkite 製造,被廣泛認為是市場上安全性最高的硬體錢包之一,其氣隙隔離設計可將私鑰與聯網設備隔離,備受推崇。然而,此次事件的特殊之處在於,攻擊者從未需要實體接觸設備或用戶的恢復短語——直接擊潰了該錢包設計所防禦的核心威脅模型。
研究人員目前估計,1,082.65 BTC 在 7 月 30 日的一次僅持續 41 分鐘的協同掃蕩中,從 1,196 個錢包中被盜。這一數字幾乎是最初估算 594 BTC 的兩倍。根據 Galaxy Research 的報告,資金在六個連續的比特幣區塊中被抽空,各錢包以極快的速度被清空。
與大多數依賴社交工程攻擊的硬體錢包入侵不同——後者通常誘騙用戶透露種子短語、安裝惡意韌體或交出設備——此次漏洞直接針對錢包創建過程本身。2021 年 3 月引入的一個韌體錯誤導致受影響的 Coldcard Mk3 設備使用可預測的軟體隨機性來產生恢復種子短語,而非使用設備安全的硬體隨機數產生器。
這意味著攻擊者可以在遠端以數學方式重建受害者的私鑰,完全不需要接觸硬體錢包。這是少數有記錄的案例之一,顯示錢包熵值產生的缺陷——而非用戶失誤或釣魚攻擊——直接導致了大規模盜竊。這一失誤與其他密碼學系統中曾出現的一類漏洞如出一轍,最著名的是 2008 年的 Debian OpenSSL 漏洞,當時一次代碼修改導致數百萬台伺服器可產生的密鑰池大幅縮減,迫使全球重新簽發 SSH 和 SSL 憑證。
漏洞利用原理
攻擊鏈依以下階段進行:
-
錢包創建: 在設定過程中,Coldcard 硬體錢包設計上會產生一個密碼學安全的隨機數,稱為種子(seed),構成錢包安全的基礎。
-
由種子衍生憑證: 錢包未來創建的每一個私鑰、公鑰和加密貨幣地址,都是透過標準化且公開的演算法,從這個種子數學推導而來。只要種子保持不可預測,錢包就是安全的。
-
硬體 RNG 設計: 在正常運作下,錢包韌體從專用的硬體隨機數產生器(RNG)獲取熵值,產生的種子實際上不可能被預測或重現。
-
韌體建置設定錯誤: 一個內部建置設定錯誤地指示韌體在錢包創建過程中繞過硬體隨機數產生器。
-
驗證失效: 支援軟體庫並未驗證硬體 RNG 是否實際啟用,而僅檢查配置選項是否存在。由於此驗證邏輯存在缺陷,韌體在未觸發任何錯誤的情況下繼續執行。
-
較弱的後備方案: 韌體沒有使用不可預測的硬體熵值,而是使用基本的軟體例行程式來產生種子。
-
可預測的輸入來源: 該軟體例行程式使用兩個來源進行種子初始化:設備出廠分配的序號(永不改變),以及晶片的時脈暫存器(攻擊者可使用同型號的另一台設備來估算或重現其值)。
-
種子空間急劇縮減: 受影響的錢包無法從天文數字般的可能種子中選擇,只能產生一個小得多的有限集合。研究人員發現,在較舊的 Coldcard Mk2 和 Mk3 設備上,種子產生可以被完全確定。在 Mk4、Q 和 Mk5 型號上,可能的種子空間縮減至約 40 億種組合。
-
離線暴力破解: 由於 40 億種可能性完全在現代電腦的運算能力範圍內,攻擊者可以在自己的硬體上系統性地產生每一個候選種子,完全離線操作。
-
地址推導: 對於每個產生的種子,攻擊者使用與錢包相同的公開推導標準,推導出所有對應的加密貨幣地址。
-
區塊鏈比對: 由於區塊鏈地址和餘額是公開的,攻擊者檢查是否有任何產生的地址與持有加密貨幣的地址匹配。
-
無需與受害者錢包互動: 整個攻擊完全在離線狀態下進行。受害者的 Coldcard 無需連接網路、解鎖或被實體接觸。設備可以保持關機狀態放在保險箱中,而攻擊者在其他地方執行搜尋。
-
多種地址格式: 根據 Galaxy 的分析,受影響的錢包包括 1,183 個使用現代 Native SegWit 地址、7 個使用舊版 SegWit 地址,以及 6 個使用傳統地址格式。
-
自動化枚舉: 攻擊者並非針對個別受害者,而是系統性地測試每一個可能的種子和每一條地址推導路徑,直到找到有資金的錢包,顯示這是一次自動化掃蕩。
-
無限期搜尋能力: 由於攻擊完全離線,攻擊者可以隨時暫停、擴展、改進和恢復枚舉過程,提高發現更多脆弱錢包的機率。
對硬體錢包安全的啟示
這一事件挑戰了比特幣的核心安全假設之一:即只要用戶將恢復短語保持離線,硬體錢包就能提供強大的保護。在此次事件中,錢包本身產生了脆弱的種子短語,使得即使妥善保存的設備在創建多年後仍然存在漏洞。
該缺陷專門影響在受影響期間使用韌體版本 4.0.1 或更高版本創建的 Coldcard Mk3 錢包。較新的 Coldcard 型號據信未受到實際盜竊影響,不過研究人員指出,如果該錯誤存在,Mk4、Q 和 Mk5 型號上的種子空間將縮減至約 40 億種組合。
此次攻擊凸顯了即使是最受信賴的硬體安全,如果在錢包創建時密碼學隨機性失效,也可能從根本上被瓦解——這是一個任何用戶警惕都無法防範的漏洞。對硬體錢包產業而言,更廣泛的啟示是,熵值產生代表了一個單一故障點,其正確性難以從外部驗證,因為製造和設定過程中產生的隨機性在事後不易被終端用戶或第三方審計人員稽核。