ニュース暗号資産Coldcardファームウェアのエクスプロイト:予測可能なエントロピーが物理アクセス不要の7000万ドルBitcoin盗難を可能にした仕組み

Coldcardファームウェアのエクスプロイト:予測可能なエントロピーが物理アクセス不要の7000万ドルBitcoin盗難を可能にした仕組み

著者: BitcoinKE·

重要ポイント

  • 7月30日の41分間にわたる協調的な一括操作で、約7,000万ドル相当の1,082 BTC以上が1,196のColdcardウォレットから盗まれた。これは初期報告の594 BTCのほぼ倍にあたる。
  • 2021年3月に導入されたファームウェアのバグにより、影響を受けたColdcard Mk3デバイスは、セキュアなハードウェア乱数生成器の代わりに予測可能なソフトウェアベースの乱数を使用してシードフレーズを生成していた。
  • 攻撃者はデバイスやリカバリフレーズに物理的にアクセスすることなく、完全にオフラインで被害者の秘密鍵を再構成できた。これはウォレットの中核となるエアギャップセキュリティモデルを無効化するものであった。
  • Mk4、Q、Mk5などの新しいColdcardモデルでは、この脆弱性は可能なシード空間を約40億の組み合わせに縮小していた可能性があり、これはブルートフォース攻撃が計算上実行可能な範囲であった。
  • この事件は、ハードウェアウォレットにおけるエントロピー生成が単一障害点であり、その正当性をセットアップ後にエンドユーザーや第三者監査人が容易に検証できないことを明らかにしている。
Coldcardファームウェアのエクスプロイト:予測可能なエントロピーが物理アクセス不要の7000万ドルBitcoin盗難を可能にした仕組み

脆弱なColdcard Bitcoinウォレットから、約7,000万ドル相当の1,000 BTC以上が盗まれた事件は、記録上最も重大なハードウェアウォレット侵害の一つとなっている。カナダのBitcoinセキュリティ企業Coinkiteが製造するColdcardは、インターネットに接続されたデバイスから秘密鍵を隔離するエアギャップ設計で高く評価され、市場で最もセキュリティに重点を置いたハードウェアウォレットの一つとして広く認識されている。本件が特筆すべき点は、攻撃者がデバイスやユーザーのリカバリフレーズへの物理的アクセスを一切必要としなかったことである。これは、同ウォレットが防御するために構築された脅威モデルそのものを無効化するものであった。

研究者は現在、7月30日にわずか41分間の協調的な一括操作で、1,196のウォレットから1,082.65 BTCが盗まれたと推定している。この数値は初期推定の594 BTCをほぼ倍増させる。Galaxy Researchによると、資金は6つの連続するBitcoinブロックにわたって引き出され、ウォレットが急速に連続して空にされたという。

多くのハードウェアウォレット攻撃は、ソーシャルエンジニアリング——ユーザーを騙してシードフレーズを開示させたり、悪意のあるファームウェアをインストールさせたり、デバイスを引き渡させたりする——に依存するのが一般的であるが、このエクスプロイトはウォレット作成プロセス自体を標的とした。2021年3月に導入されたファームウェアのバグにより、影響を受けたColdcard Mk3デバイスは、デバイスのセキュアなハードウェア乱数生成器ではなく、予測可能なソフトウェアベースの乱数を使用してリカバリシードフレーズを生成するようになっていた。

これにより、攻撃者はハードウェアウォレットに一切触れることなく、数学的に被害者の秘密鍵を遠隔から再構築できた。これは、ユーザーのエラーやフィッシングではなく、ウォレットのエントロピー生成の欠陥が直接的に大規模な盗難につながった、稀に文書化された事例の一つである。この障害は、他の暗号システムで見られた脆弱性のクラスを想起させる。最も注目すべきは2008年のDebian OpenSSLバグであり、単一のコード変更により数百万台のサーバーが生成する可能性のあるキーのプールが崩壊し、SSHおよびSSL証明書の世界的な再発行を余儀なくされた。

エクスプロイトの仕組み

攻撃チェーンは以下の段階で進行した:

  1. ウォレットの作成: セットアップ時に、Coldcardハードウェアウォレットは暗号論的にセキュアな乱数(シードとして知られる)を生成するよう設計されている。このシードがウォレットのセキュリティの基盤を形成する。

  2. シードから派生するクレデンシャル: ウォレットが作成するすべての秘密鍵、公開鍵、および暗号通貨アドレスは、標準化された一般に知られるアルゴリズムを使用してこのシードから数学的に導出される。シードが予測不可能なままである限り、ウォレットは安全である。

  3. ハードウェアRNGの設計: 通常の動作では、ウォレットのファームウェアは専用のハードウェア乱数生成器(RNG)からエントロピーを取得し、事実上予測や再現が不可能なシードを生成する。

  4. ファームウェアビルドの誤設定: 内部ビルド設定が誤って、ウォレット作成時にハードウェア乱数生成器をバイパスするようファームウェアに指示した。

  5. 検証の失敗: ハードウェアRNGが実際に有効になっているかを確認する代わりに、サポート用ソフトウェアライブラリは設定オプションが存在するかどうかのみをチェックした。この欠陥のある検証ロジックにより、ファームウェアはエラーを発生させることなく処理を続行した。

  6. より弱いフォールバック: 予測不可能なハードウェアエントロピーを使用する代わりに、ファームウェアは基本的なソフトウェアルーチンを使用してシードを生成した。

  7. 予測可能な入力: ソフトウェアルーチンは2つのソースを使用してシード化された。デバイスの工場出荷時に割り当てられたシリアル番号(不変)と、チップのクロックレジスタ(同じモデルの別デバイスを使用すれば攻撃者が推定または再現可能な値)である。

  8. シード空間の崩壊: 天文学的に大きな数の可能なシードから選択する代わりに、影響を受けたウォレットははるかに小さな有限のセットしか生成できなかった。古いColdcard Mk2およびMk3デバイスでは、研究者はシード生成が完全に決定可能であることを発見した。Mk4、Q、およびMk5モデルでは、可能なシード空間は約40億の組み合わせに縮小された。

  9. オフラインのブルートフォース: 40億の可能性は現代のコンピュータの能力の範囲内であるため、攻撃者は自身のハードウェア上で完全にオフラインで体系的にすべての候補シードを生成できた。

  10. アドレスの導出: 生成された各シードについて、攻撃者はウォレットが使用するのと同じ公開導出標準を使用して、対応するすべての暗号通貨アドレスを導出した。

  11. ブロックチェーンとの照合: ブロックチェーンのアドレスと残高は公開されているため、攻撃者は生成したアドレスのいずれかが暗号通貨を保持しているアドレスと一致するかどうかをチェックした。

  12. 被害者とのやり取り不要: 攻撃は完全にオフラインで実行された。被害者のColdcardはインターネットに接続、ロック解除、または物理的にアクセスされる必要が全くなかった。デバイスは金庫の中で電源オフのまま放置でき、攻撃者は別の場所で検索を実行できた。

  13. 複数のアドレス形式: Galaxyの分析によると、侵害されたウォレットには、最新のNative SegWitアドレスを使用するものが1,183、古いSegWitアドレスを使用するものが7、レガシーアドレス形式を使用するものが6含まれていた。

  14. 自動化された列挙: 攻撃者は個々の被害者を標的にするのではなく、資金のあるウォレットが見つかるまで、考えられるすべてのシードとすべてのアドレス導出パスを体系的にテストした。これは自動化された一括操作を示唆している。

  15. 無期限の検索能力: 攻撃は完全にオフラインであるため、攻撃者はいつでも列挙プロセスを一時停止、拡張、改良、再開でき、追加の脆弱なウォレットを発見する確率を高めることができる。

ハードウェアウォレットセキュリティへの影響

この事件は、Bitcoinの中核的なセキュリティ前提の一つに疑問を投げかけている。すなわち、ユーザーがリカバリフレーズをオフラインに保つ限り、ハードウェアウォレットは強力な保護を提供するという前提である。本件では、ウォレット自体が弱いシードフレーズを生成し、適切に保管されたデバイスでさえ作成から数年後に脆弱な状態となった。

この欠陥は特に、影響を受けた期間中にファームウェアバージョン4.0.1以降を使用して作成されたColdcard Mk3ウォレットに影響する。新しいColdcardモデルは実際の盗難の影響を受けていないと考えられているが、研究者は、バグが存在した場合、Mk4、Q、およびMk5モデルのシード空間は約40億の組み合わせに縮小されていたであろうと指摘した。

この攻撃は、ウォレット作成時に暗号論的乱数が失敗した場合、いかに信頼されたハードウェアセキュリティであっても根本的に侵害され得るかを浮き彫りにした。これは、いかなるユーザーの警戒でも緩和できない脆弱性である。ハードウェアウォレット業界にとってのより広範な影響は、エントロピー生成が単一障害点を構成し、その正当性を外部から検証することが困難であるということである。製造およびセットアップ中に生成される乱数は、事後にエンドユーザーや第三者レビューアーが容易に監査できるものではないからである。