Coldcard 錢包熵值漏洞疑致 3,820 萬美元比特幣失竊

【緊急保安通告】如你在未更新至最新修補(hotfix)韌體前,曾用 Coldcard Mk3、Mk4、Mk5 或 Q 產生錢包助記詞(seed),資金或正面臨風險。請即閱讀官方文章並按指引完成遷移。 【事件概況】 鏈上監測機構 Lookonchain 指出,超過 3,800 萬美元的比特幣(594.48 BTC)在短時間內,從約 500 個錢包被轉走並集中至一個以 bc1qnk… 開頭的地址,交易集中在少量區塊內完成。被清空錢包呈現幾個關鍵特徵: - 以單簽(single-signature)錢包為主,未見多重簽名(multisig)保護 - 部分錢包多年未動用,顯示目標更可能是既有、可被利用的舊 seed,而非近期活躍錢包 - 多筆轉賬近乎同步且具協調性,符合自動化「掃 seed」的行為模式(在縮小的搜尋空間內枚舉或推導 seed) Coinkite 尚未正式確認該次「鏈上掃倉」一定由熵值漏洞引致,但由於通告發布時間與鏈上事件相近,加上受害錢包特徵一致,安全研究人員普遍將「低熵 seed 生成漏洞」視為最合理的技術解釋。 【技術問題:Coldcard 熵值來源出了甚麼錯】 資料來源:Coinkite 技術背景說明(blog.coinkite.com/entropytechnicalbackgrounder/)。 Coinkite 的技術通告披露,受影響韌體存在一連串缺陷,令硬件的真隨機數產生器(TRNG)未能在 seed 生成過程中正常提供隨機性。核心問題是:seed 生成錯誤地依賴 MicroPython 的軟件偽隨機數產生器(PRNG),而非預期的硬件 RNG。 根因涉及建置設定及前置處理器檢查未有強制啟用硬件 RNG 路徑,導致系統在無提示下靜默改用軟件後備方案,用戶無從得知硬件熵值來源未如預期參與。 安全影響(有效安全性 vs 原本設計): - Mk3:有效安全性約 40 bits(原意為 128 bits) - Mk4/Mk5/Q:有效安全性約 72 bits(因安全元件帶來部分改善;原意為 128 bits) 40 bits 代表可能 seed 組合約為 1 兆(10^12)。這數量對一般人很大,但對具資源的攻擊者配合現代算力屬可觸及。72 bits 雖大幅提高難度,仍遠低於 128 bits 這個令暴力破解在可見未來幾乎不可行的標準。40/72 bits 與 128 bits 的差距並非細節,而是「可實際破解」與「幾乎不可破解」的分水嶺。 【受影響裝置及韌體範圍】 資料來源:Coinkite 通告(blog.coinkite.com/coldcardmk3seedgenerationwarning/)。 - Mk3(高風險):在韌體 4.0.1(2021 年 3 月發布)至最終支援版本 5.0.3 期間產生的 seed 均被視為有風險;受影響 Mk3 的有效熵值約 40 bits,屬最嚴重情況。 - Mk4/Mk5/Q(較高風險):在最新 hotfix 之前任何版本韌體產生的 seed,熵值亦會下降至約 72 bits;安全性較 Mk3 好,但仍明顯低於 128 bits 標準。 - 不受影響產品:TAPSIGNER、OPENDIME、SATSCARD 採用不同程式碼基礎,不受此漏洞影響。 - 風險較低情況:若生成 seed 時加入至少 50 次獨立且私密的擲骰(外部熵值),或使用強且獨特的 BIP39 passphrase,風險會顯著降低。passphrase 的處理獨立於裝置內部熵值,即使 RNG 受影響仍可提供額外保護。 【必做事項:官方建議的遷移步驟】 Coinkite 強調:更新韌體並不能修正既有 seed。seed 早已在熵值不足的情況下生成,任何更新都無法改變當時使用的隨機性(或其不足)。唯一處理方法是重新生成全新 seed,並把資金遷移過去。 1)將既有 seed 視為可能已外洩 如你在受影響裝置與韌體組合上生成 seed,且當時沒有加入 50+ 次擲骰,也沒有設定強 passphrase,應假設 seed 可能脆弱,毋須等待更多資訊。 2)立即更新至已修補韌體 - Mk4、Mk5:更新至 5.6.0 或以上 - Q:更新至 1.5.0Q 或以上 - Mk3:暫無修補(見下文臨時措施) 3)在已更新韌體上生成全新 seed 在已更新的裝置上建立新 seed,切勿還原舊助記詞。新 seed 會正確使用硬件熵值來源,不受漏洞影響。 加強建議: - 生成新 seed 時加入至少 50 次獨立擲骰 - 配合強且獨特的 BIP39 passphrase,並與 seed 備份分開保存 4)正確備份 seed 與 passphrase 把新助記詞手寫備份並妥善保管;如有使用 BIP39 passphrase,必須與助記詞分開保存。兩者缺一不可,遺失任何一項都等同失去錢包存取權。 5)核對錢包設定 檢查錢包指紋(fingerprint),並至少核對一個收款地址,確認新錢包設置正確後才轉賬。 6)先做小額測試轉賬 把少量資金由舊錢包轉到新錢包,確認到賬無誤後才進行全額遷移。 7)轉走全部餘額並停用舊 seed 把舊錢包(可能已被攻擊者掌握)的資金全部轉到新錢包,遷移後不要再使用舊 seed。 Mk3 臨時措施:如你只有 Mk3 並短期內無法使用 Mk4/Mk5/Q,可先為現有錢包加入強且獨特的 BIP39 passphrase 以降低曝險,但這不是長久方案,應盡快安排遷移至不受影響的裝置。 【為何熵值重要:不談技術的解釋】 硬件錢包的安全根基在於生成 seed 的隨機性。seed 是主密鑰,所有比特幣地址都由它推導而來。若 seed 隨機性不足,可行的 seed 範圍會遠小於設計值:原本應是 2^128 之一(大到超越可觀測宇宙原子數量級),但在此漏洞下可能變成約 2^40 或 2^72 之一,令具備算力與資源的對手有機會在可行時間內搜尋到。 值得留意的是,Coldcard 的 air-gap 與防拆等物理安全特性並未因此失效;問題在於密碼學基礎(seed)本身一旦偏弱,物理防護亦難以補救。 【官方資訊與防騙提醒】 請只透過 Coinkite 官方渠道核實資訊: - Mk3 警告文章 - 技術背景說明 切勿跟從非官方來源、冒充支援的社交媒體帳號,或任何第三方提出的「協助找回/遷移資金」安排。 【結論】 基於目前鏈上證據,Coldcard 熵值漏洞很可能已導致受影響錢包約 3,820 萬美元(594.48 BTC)被盜。漏洞源於韌體錯誤,令裝置在生成 seed 時靜默使用軟件 PRNG 取代硬件 TRNG,造成 Mk3 約 40 bits、Mk4/Mk5/Q 約 72 bits 的有效安全性,而非原本 128 bits。 如你持有 Coldcard 並在受影響韌體上生成 seed,且未加入擲骰或未設強 passphrase,資金或即時有風險。必須即刻採取行動:更新韌體、生成全新 seed、完成資金遷移。 【常見問題(FAQ)】 Q:甚麼是 Coldcard 熵值漏洞? A:韌體缺陷令 Coldcard 在生成 seed 時使用軟件 PRNG,而非硬件 TRNG,導致 seed 有效安全性降至約 40 bits(Mk3)或 72 bits(Mk4/Mk5/Q),低於原本 128 bits。 Q:我的 Coldcard 受影響嗎? A:Mk3 使用 4.0.1 至 5.0.3 韌體期間生成的 seed 屬高風險;Mk4、Mk5、Q 在最新 hotfix 之前韌體生成的 seed 亦受影響。TAPSIGNER、OPENDIME、SATSCARD 不受影響。 Q:更新韌體可否修正現有 seed? A:不可。韌體更新不會改變既有 seed 的隨機性;必須在已更新韌體上生成全新 seed,並把所有資金遷移。 Q:應更新到哪個版本? A:Mk4、Mk5 更新至 5.6.0 或以上;Q 更新至 1.5.0Q 或以上。Mk3 暫無修補,可先加上強 BIP39 passphrase 作臨時措施,同時規劃遷移至不受影響的裝置。