Bitcoin開発者がColdcardウォレットで9つのRNGの懸念をリストアップ

iconThe Defiant
共有
AI summary icon概要
Bitcoinのニュース:11月9日、Bitcoin開発者であるLuke Dashjrは、CoinkiteのColdcardハードウェアウォレットに9つのRNGの懸念点を挙げました。Dashjrは、これらの問題を以前にプライベートに報告していたが、修正されているかどうかは不明だと述べました。彼のレビューは迅速な確認であり、完全な監査ではありませんでした。この開示は、Coldcardが7月に種生成のインシデントを起こした後に続きました。Dashjrは、更新されたコードにチェックが不足しており、エラー検出が弱いと指摘しました。Coinkiteは後のファームウェアでRNGチェックを追加し、種エラー検出とハードウェアRNGの自己診断を実装しましたが、繰り返し出力のチェックやクロックエラーの処理などの一部の問題は未解決のままです。Bitcoinのニュースは、ハードウェアウォレットにおけるセキュリティ懸念を引き続き強調しています。

Bitcoin開発者であるLuke Dashjrは11月9日、CoinkiteのColdcardハードウェアウォレットの乱数生成コードについて9つの懸念を公にリストアップし、以前にそれらを同社に非公開で報告していたと述べた。

「これらすべてが兵器化できるとは言っておらず、すべてがバグであるとも断言していません」とDashjrは彼の開示で書きました。彼はCoinkiteがこれらを修正したかどうかを知らないと述べ、自分のレビューを完全な監査ではなく、簡易な確認であると説明しました。

彼のスレッドは7月のファームウェア改訂版にリンクしています。Coinkiteの後のリリースノートと公開されたソースには、彼が指摘した複数の分野に対する変更が含まれており、チップシードエラーのチェックやハードウェアRNGパスの起動テストが含まれています。

https://x.com/i/status/2119836060306018364

この開示は、Coldcardの7月のシード生成イベントに続くものです。Coinkiteは、攻撃者が弱体化したウォレットのシードを悪用して、オフラインでプライベートキーを再生成し、デバイスにリモートでアクセスすることなく資金を盗んだと述べています。

Dashjrの番号付き投稿は、以前の修正後に使用されたコードについて懸念を提起しました:

彼は、起動時に初期のランダムサンプルを破棄すべきかどうか疑問を呈し、チップのシードおよびクロックエラーのチェックが欠落していることを指摘し、チップのマニュアルには暗号アプリケーション向けに後処理が求められていると述べた。

彼は、バッファ化された読み取りには繰り返し出力チェックが適用されるが、直接呼び出しには適用されないと述べ、低レベルのエラー検出ルーチンだけでは十分であることが示されていないと主張した。

彼は、セキュアエレメントのランダム性が期待される強度を維持できなかった理由を疑問に思い、新たに有効化されたRNGパスの完全なテストを促し、ビルド時の対策にのみ頼るのではなく、デバイス上でチェックを行うよう呼びかけました。

彼は、Pythonの例外を安全に処理できないコンテキストでタイムアウトが処理されると、未定義の動作を引き起こし、デバイスがクラッシュしたり使用不能になったりする可能性があると警告しました。

Dashjrは、NVKが人間にはColdcardの欠陥を見つけることができないと主張したことを聞いて、公にしたと述べた。その当日早朝、CoinkiteのCEOであるRodolfo Novak(通称NVK)は、「人間が見つけられなかったものを発見するには新しいAIモデルが必要だった」と記していた。Novakの投稿は、以前のシード生成の欠陥の発見に関するものであり、Dashjrの技術的なスレッドはその修正後のコードについて扱っていた。

後続のファームウェアでRNGチェックが追加されました

Coinkiteのダウンロードページでは、Mk4/Mk5用の現在の標準ファームウェアが5.6.3、Q用が1.5.3Qであると示されています。リリース履歴によると、シードエラー検出とハードウェアRNGの起動自己診断は、8月20日にリリースされたバージョン5.6.1で追加されました。

5.6.3の公開されたMk4ソースはウォームアップサンプルを無視し、シードエラーフラグをチェックし、失敗時に再試行し、呼び出しがハードウェア乱数生成器に到達するかをテストします。リリースノートには、セキュア要素の両方が、新しいマスターシードごとに直接サンプリングされるようになったとあり、以前はブート時のRNGシーディングを通じてのみ寄与していました。

現在のソースでは、繰り返し出力のチェックをバッファ化された読み込みルーチン内に置いたままであり、すべての直接呼び出しには含まれていません。そのコメントでは、チップのドキュメントに基づき、クロックエラーのフラグは意図的に無視されていると述べており、これらのエラーは生成された数値を無効にはしないとしています。

7月の事象の影響を受けたユーザーに対して、Coinkiteのスタンディングガイドラインは、ファームウェアの更新では既に弱化したシードを修復できないことを維持しています。これらのユーザーは、アドバイザリーの独立したダイス例外が適用されない限り、その移行ガイドラインに従う必要があります。

免責事項: 本ページの情報はサードパーティからのものであり、必ずしもKuCoinの見解や意見を反映しているわけではありません。この内容は一般的な情報提供のみを目的として提供されており、いかなる種類の表明や保証もなく、金融または投資助言として解釈されるものでもありません。KuCoinは誤記や脱落、またはこの情報の使用に起因するいかなる結果に対しても責任を負いません。 デジタル資産への投資にはリスクが伴います。商品のリスクとリスク許容度をご自身の財務状況に基づいて慎重に評価してください。詳しくは利用規約およびリスク開示を参照してください。