ホームZ - バナーホーム itaCoinkiteのシード脆弱性により3,800万ドルが流出 — さらに数百万ドルが依然として危険に晒されている

Coinkiteのシード脆弱性により3,800万ドルが流出 — さらに数百万ドルが依然として危険に晒されている

5年以上にわたってColdcardファームウェア内部に潜んでいた欠陥が、約594ビットコイン(約3,800万ドル相当)を所有者から奪う結果となった。この盗難は、Mk3ハードウェアウォレットの中核にあるCoinkiteのシード脆弱性に直接起因しており、30分足らずのうちに発生した。現在も、同じ弱点に静かにさらされたままのウォレットに、さらに数百万ドル相当の資金が眠っている可能性がある。

重要なポイント

  • 攻撃者は、Coldcardファームウェアの乱数生成器の不具合を悪用し、2026年7月31日 01:31〜01:56(UTC)の間に、約500のシングルシグネチャウォレットから合計約594 BTC(約3,800万ドル)を一掃した。
  • Coinkiteは、ファームウェア4.0.1以降を実行するMk3(2021年3月以降)でシードを生成したすべてのユーザーに対し、資金が危険にさらされている可能性があると警告している。
  • このバグは、ファームウェア5.6.0以前のMk4およびMk5デバイス、およびバージョン1.5.0Q以前のQデバイスにも影響し、シードのエントロピーを128ビットから約72ビットに低下させる。
  • TAPSIGNER、OPENDIME、SATSCARDは、コードベースが異なるため影響を受けないことが確認されている。
  • シード作成時に少なくとも50回の独立したサイコロ振りを追加したユーザーは保護されていると見なされる。それ以外のユーザーは、修正済みファームウェア上で新しいシードへ直ちに移行すべきである。

静かなファームウェアバグが3,800万ドルの盗難に至るまで

攻撃は計画的かつ迅速だった。CoinDeskによると、3ブロックの範囲内で500件のトランザクションを通じて1,324のビットコインの塊が移動し、そのうち562 BTCが1つのアドレスに集約され、その後動いていない。すべての流出ウォレットはシングルシグネチャで、各ウォレットには0.15 BTCを超える残高があり、多くは数年間休眠状態だった。コインの年代は2021年から2026年にわたり、この欠陥が存在していた期間とほぼ完全に一致している。

根本原因は、2021年3月1日付のコミットにさかのぼる。これはファームウェア4.0.0として出荷されたものだ。Blockのビットコインエンジニアリングおよびセキュリティチームが公開したレポートによると、ビルド設定により、デバイスは自身のハードウェア乱数生成器をスキップするよう指示されていた。サポートライブラリ内のチェックは、その設定が存在するかどうかだけを検査し、実際に有効になっているかどうかは確認していなかった。その結果、鍵生成は密かに、チップのシリアル番号とクロックレジスタ(いずれも秘密ではない)からシードされる基本的なソフトウェア代替にフォールバックしていた。

シリアル番号は工場出荷時に固定されたメタデータである。クロック値は、攻撃者が自前のデバイスを用いて範囲を絞り込んだり計測したりできるタイミング状態だ。「推測不可能」であるはずのシードは、事実上、推測可能なものになってしまった。Blockは、実際に悪用が開示時点ですでに進行中だったため、完全な悪用可能性の確認を待たずに調査結果を公開したと述べている。

影響範囲はウォレットシードを超える

露出はシードフレーズにとどまらない。Blockは、同じ不具合のある生成器がColdcardのペーパーウォレット用秘密鍵も生成していたと指摘している。ここでは出力がそのまま鍵となり、追加の導出は行われない。そのほかにも、シード分割用マスク、デバイス複製用鍵、Key Teleport転送なども同じ生成器に依存していた。言い換えれば、攻撃対象領域は、すでに資金が抜かれたウォレットだけにとどまらない。

どのデバイスが影響を受け、どのデバイスが影響を受けないのか

Coinkiteは、この問題が4.0.1以降のすべてのMk3ファームウェアに存在することを確認した。Mk4、Mk5、Qへの影響は、より軽度ではあるが依然として深刻だと説明されている。これらのデバイスで修正済みファームウェアリリース以前に生成されたシードは、期待される128ビットではなく、約72ビットのエントロピーしか持たない。この低下は無視できない。72ビットのエントロピーは、持続的かつ標的型の攻撃に対して理論的に破られないとは言えない。

3つの製品ラインについては明確に除外されている。TAPSIGNER、OPENDIME、SATSCARDは、まったく異なるコードベース上で動作しているため影響を受けない。Coinkiteの初期分析では、Mk4、Q、Mk5はMk3と同じ形では影響を受けていないことも示されているが、それでもこれらのデバイスで新しい代替シードを生成する前には、ファームウェアのバージョン要件を満たしている必要がある。

重要なのは、露出がハードウェアの購入時期ではなく、ウォレットが最初に作成された時点で動作していたファームウェアバージョンに依存するという点である。

ユーザーが今すぐ取るべき行動

同社は詳細なステップバイステップの緩和ガイドを公開している。今後の対応は、ユーザーがどのデバイスを保有しているか、シード作成時に何を行ったかによって異なる。

セットアップ時にサイコロを振った場合

シード作成時にサイコロの出目を入力したユーザーは、知らず知らずのうちに自分を守っていた可能性がある。影響を受けるファームウェアでは、Coldcardはデバイス生成のエントロピーと、ユーザーが入力した各サイコロの出目をハッシュで結合していた。ここで閾値が重要になる。

  • 50〜98回の独立したプライベートなサイコロ振り:サイコロ入力だけで少なくとも128ビットのエントロピーが追加されるため、このRNG問題からは安全なシードと見なされる。
  • 99回以上の独立したプライベートなサイコロ振り:サイコロ入力だけで約256ビットのエントロピーが追加される。
  • 50回未満、または回数が不明な場合:直ちに移行ガイドに従う必要がある。

これは、サイコロを追加した後に表示される最終的なシードワードにのみ適用される。サイコロの回数、それがプライベートだったかどうか、どの単語セットが使われたかについて少しでも不確かさがある場合は、移行が唯一の安全な選択肢となる。

BIP-39パスフレーズを使用した場合

強力で一意なBIP-39パスフレーズは、危殆化したシードの上に独立したセキュリティバリアを追加する。保護は現実的だが条件付きである。短い、よくある、パターン化された、あるいは使い回されたパスフレーズは推測される可能性があり、十分な保護とは見なすべきではない。Coinkiteは、強力なパスフレーズを使用しているユーザーであっても、可能な限り早く新たに生成したシードへ移行すべきであり、パスフレーズをウェブサイトや信頼できないデバイスに入力してはならないと明言している。

Mk3しか選択肢がないユーザー向け

Coinkiteは暫定的な手段を提供している。ユーザーはMk3上でパスフレーズ保護されたウォレットを作成し、元のウォレットからそのウォレットへ資金を移動することで、これを一時的な対策として扱うことができる。同社のガイドでは、デバイス上で(コンピュータやスマートフォンではなく)長くランダムで一意なパスフレーズを入力すること、シードワードとは別にバックアップを取ること、トランザクション前にウォレットフィンガープリント(XFP)を検証すること、残高全額を移す前に少額のテスト送金を行うことなど、手順が説明されている。

さらに高度なフォールバックも存在する。空のMk3でファームウェア4.1.9を実行している場合、Import Existing > Dice Rollsに進み、公平な6面ダイスを少なくとも99回独立して振った結果を入力できる。この方法では、デバイスの不具合のある生成器を使わずに、サイコロの出目列を直接ハッシュする。Coinkiteは、これは高度な手順であると強調している。1台のデバイスで移行を行う場合、古いシードと新しいシードを安全に切り替える必要があり、サイコロの出目列は秘密鍵と同等の機密情報として扱わなければならない。つまり、写真撮影やデジタル保存、ネットワーク接続されたコンピュータへの入力は決して行ってはならない。

Mk4、Mk5、Qユーザー向け

これらのモデルで代替シードを生成する前に、ユーザーはまずアップグレードを行う必要がある。Mk4とMk5はファームウェア5.6.0以降、Qは1.5.0Q以降に更新しなければならない。修正済みファームウェアがインストールされていることを確認してから、新しいシードを生成する。その際には、資金を入金する前にバックアップを記録・検証し、受取アドレスをデバイス上で確認し、少額のテストトランザクションを送信し、移行が完全に完了したことを確認するまで古いバックアップを保持しておく必要がある。

なぜこれは1件の盗難以上の意味を持つのか

3,800万ドルの流出自体も十分に衝撃的だが、より深刻なのはその広範な意味合いである。コールドストレージ用ハードウェアウォレットは、本来、最後の防衛線として存在している。エアギャップされ、オフラインで、暗号的に堅牢であることが前提だ。ハードウェア乱数生成器を密かにバイパスすることでシードのエントロピーを128ビットから72ビットに低下させる欠陥は、単に1つの製品ラインを脅かすだけではない。オフラインでの鍵生成はソフトウェア代替より本質的に安全である、という根本的な前提を揺るがす。

Blockは調査結果をCoinkiteに開示し、Coinkite側もこれを認めた。両社とも、自らの分析は予備的なものであると説明している。両組織が、完全なテストを終える前に公開を選択したのは、悪用がすでに進行中だったためであり、従来の責任ある開示のタイムラインよりもユーザーへの警告を優先するという計算された判断を反映している。Coinkiteは調査が継続中であり、さらなる詳細が追って公表されると述べている。影響を受けるユーザーにとって、落ち着いて慎重に移行を行える時間的猶予は今はまだ残されているが、それがいつまでも続くとは限らない。

FAQ

シードエントロピーの脆弱性は、どのCoinkiteデバイスに影響しますか?

ファームウェア4.0.1以降を実行するMk3デバイスが影響を受けます。また、ファームウェア5.6.0以前のMk4およびMk5デバイス、1.5.0Q以前のQデバイスも影響を受けます。Mk3が最も深刻な影響を受けています。TAPSIGNER、OPENDIME、SATSCARDは影響を受けません。

影響を受けるデバイスを使用した場合、ユーザーはどのように資金を保護できますか?

ユーザーは、修正済みファームウェアを実行するデバイス上で新たに生成したシードへ資金を移行する必要があります。Mk4、Mk5、Qでこれを行う前に、まず必要なファームウェアバージョンへアップグレードしてください。暫定的な対策として、強力で一意なBIP-39パスフレーズを適用することで、独立した保護レイヤーを追加できます。元のシード作成時に少なくとも50回の独立したサイコロ振りを追加したユーザーは、この特定のRNG問題については安全と見なされます。

すべてのCoinkiteコールドウォレットデバイスが、この脆弱性の影響を受けるのですか?

いいえ。TAPSIGNER、OPENDIME、SATSCARDは、Mkシリーズデバイスとは異なるコードベースで動作しているため、影響を受けません。

Mk3デバイスしか利用できないユーザーには、どのような対応が推奨されますか?

上級ユーザーは、Mk3のファームウェア4.1.9上で、Import Existing > Dice Rollsを選択し、少なくとも99回の独立したサイコロ振りを入力することで、サイコロのみを用いたシードを作成できます。これにより、不具合のあるRNGを完全にバイパスできます。上級者でないユーザーについては、強力で一意なBIP-39パスフレーズを適用し、資金をパスフレーズ保護されたウォレットへ移動することが、修正済みデバイス上で新しいシードへ移行するまでの推奨される暫定ステップとなります。

{“@context”:”https://schema.org”,”@type”:”FAQPage”,”mainEntity”:[{“@type”:”Question”,”name”:”シードエントロピーの脆弱性は、どのCoinkiteデバイスに影響しますか?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”ファームウェア4.0.1以降を実行するMk3デバイスが影響を受けます。また、ファームウェア5.6.0以前のMk4およびMk5デバイス、1.5.0Q以前のQデバイスも影響を受けます。Mk3が最も深刻な影響を受けています。TAPSIGNER、OPENDIME、SATSCARDは影響を受けません。”}},{“@type”:”Question”,”name”:”影響を受けるデバイスを使用した場合、ユーザーはどのように資金を保護できますか?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”ユーザーは、修正済みファームウェアを実行するデバイス上で新たに生成したシードへ資金を移行する必要があります。Mk4、Mk5、Qでこれを行う前に、まず必要なファームウェアバージョンへアップグレードしてください。暫定的な対策として、強力で一意なBIP-39パスフレーズを適用することで、独立した保護レイヤーを追加できます。元のシード作成時に少なくとも50回の独立したサイコロ振りを追加したユーザーは、この特定のRNG問題については安全と見なされます。”}},{“@type”:”Question”,”name”:”すべてのCoinkiteコールドウォレットデバイスが、この脆弱性の影響を受けるのですか?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”いいえ。TAPSIGNER、OPENDIME、SATSCARDは、Mkシリーズデバイスとは異なるコードベースで動作しているため、影響を受けません。”}},{“@type”:”Question”,”name”:”Mk3デバイスしか利用できないユーザーには、どのような対応が推奨されますか?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”上級ユーザーは、Mk3のファームウェア4.1.9上で、Import Existing > Dice Rollsを選択し、少なくとも99回の独立したサイコロ振りを入力することで、サイコロのみを用いたシードを作成できます。これにより、不具合のあるRNGを完全にバイパスできます。上級者でないユーザーについては、強力で一意なBIP-39パスフレーズを適用し、資金をパスフレーズ保護されたウォレットへ移動することが、修正済みデバイス上で新しいシードへ移行するまでの推奨される暫定ステップとなります。”}}]}

本記事は人工知能の支援を受けて作成され、編集チームによるレビューを経ています。

Satoshi Voice
この記事は人工知能の支援を受けて作成され、正確さと品質を保証するために我々の記者チームによってレビューされた。
RELATED ARTICLES

Stay updated on all the news about cryptocurrencies and the entire world of blockchain.

Featured video

LATEST