Coldcardのエントロピー不具合──ファームウェアの欠陥で1,196個のウォレットから7,000万ドル相当のビットコインが流出

長年、コールドストレージの砦として信頼されてきたハードウェアウォレットに、静かな裏切りが潜んでいました。鍵生成時に生成される乱数を完全に予測可能にしてしまう隠れたファームウェアの欠陥があり、攻撃者はその予測可能性を悪用して、何も知らない保有者たちから7,000万ドル超相当のビットコインを盗み出しました。

Coinkiteが脆弱性を認める

Coldcardウォレットの製造元であるCoinkiteは、エントロピーの欠陥に関する技術的背景を解説する記事を公開し、この不具合がMk3モデルに影響していることを認め、所有者に対して速やかに新規生成したアドレスへ資金を移動するよう呼びかけました。

翌日、同社は警告の対象範囲を拡大しました。同社によれば、このリスクはより新しい機種にも及んでおり、Mk4、Mk5、Qの各モデルすべてが影響を受けるとのことです。

根本原因:ハードウェア生成器が脆弱なソフトウェアRNGに置き換えられていた

この脆弱性は、影響を受けたファームウェアがシードフレーズを生成する仕組みに起因しています。シードフレーズとは、ウォレットの秘密鍵が数学的に導出される元となる単語列のことです。2021年3月にリリースされたファームウェアバージョン4.0.1以降、デバイスはそれまで使用していた専用のハードウェアRNGを、密かにより脆弱なソフトウェアベースの乱数生成器に置き換えていました。

なぜ40ビットのエントロピーは致命的に不十分なのか

この置き換えの影響は深刻でした。影響を受けたウォレットは、セキュリティモデルが要求する128ビットではなく、鍵生成時に約40ビットのエントロピーしか受け取っていませんでした。40ビットでは、秘密鍵の探索空間は現代の計算資源を使ったブルートフォース探索によって尽くせる範囲まで縮小してしまいます。

補助的なエントロピー──具体的には、最低50回の独立したサイコロの目、または強力で一意なBIP-39パスフレーズ──を伴わずに作成されたシングルシグウォレットが、最も深刻な危険にさらされていました。

被害の実態:1,196個のアドレスから7,000万ドル

不正な出金の最初の波は、7月30日木曜日に確認されました。この最初の一斉出金では、594.5ビットコイン(当時の価値で3,570万ドル超相当)が、何の警告もなかったシングルキーアドレスの所有者たちから引き出されました。

その後のGalaxy Researchおよび決済企業Blockのエンジニアによる分析によれば、盗難総額は最終的に1,196個の侵害されたアドレスにわたる1,082.65ビットコインにまで達し、価値にして7,000万ドルを超えました。被害者たちは、2021年以降安全に保管されていたはずの資金が跡形もなく消えていたと報告しています。本記事執筆時点で、脆弱なウォレットからの出金は依然として続いているとされています。

両者の関連性についてのCoinkiteの見解

Coinkiteは、今回の盗難がエントロピーの欠陥と因果関係にあることを、まだ直接的には確認していません。ただし同社は、シードフレーズ生成のバグそのものについては認めています。調査は現在も継続中です。

影響を受けたユーザーが直ちに取るべき対応

Coldcardの所有者は、できるだけ速やかにビットコインを新しいウォレットへ移すよう強く求められています。補助的なエントロピー、つまり最低50回の独立したサイコロの目を用いずにシードフレーズを生成したユーザーに対して、Coinkiteは特に、更新済みファームウェアを搭載したデバイス上で全く新しいシードフレーズを生成するよう推奨しています。

セキュリティコミュニティの一部では、さらに踏み込んで、脆弱性の全容が権威的に解明され解決されるまでは、Coldcardデバイスの使用を一切見合わせるよう助言する声も上がっています。

翻訳元: https://meterpreter.org/coldcard-entropy-bug-bitcoin-theft/

ソース: meterpreter.org