ビットコイン史上最大級となる自己管理(セルフカストディ)の失敗事例が、5年間も気づかれずに潜んでいたファームウェアのバグに起因していたことが分かった。Whale Insiderの報告によると、ハードウェアウォレットColdcardの欠陥により1,816BTC、約1.16億ドル相当が盗まれたという。この一件は、自己管理型ハードウェアがどこまで信頼に値するのかという議論を再燃させている。

5年前から存在した欠陥

TRM Labsが公表した調査によれば、この脆弱性はColdcardのファームウェアv4.0.0に2021年3月の時点からすでに存在していた。特定の条件下では、鍵の生成時に専用のハードウェア乱数生成チップを迂回し、予測可能なソフトウェア代替処理にフォールバックしてしまう。つまり、影響を受けたデバイスで生成されたシードフレーズは、ユーザーが思っていたほどランダムではなかったということになる。

Coldcard Firmware Bug Enabled $116M Bitcoin Wallet Heist
Image via @whaleinsider on X

4波に分かれた資金流出

今回の盗難は一度きりの事件ではなかった。TRM Labsの分析では、攻撃者は7月30日から資金の移動を始め、計4回に分けて引き出しを実行。最終的に、脆弱性の影響を受けた期間にColdcardで生成された5,200を超えるアドレスから、合計およそ1,816BTCを抜き取ったとされる。これだけの規模を段階的に実行できたということは、攻撃者が引き出しを始める前の段階で、すでに脆弱なアドレスを広く洗い出していたことを示唆している。行き当たりばったりに見つけて悪用したわけではなさそうだ。

関連記事: ZachXBT氏の新詐欺調査サイト、7カ国からの案件を受け付けず

Coldcardユーザーが取るべき対応

Coldcardを製造するCoinkiteは、2021年3月からパッチ適用までの間にデバイス上でシードを生成した利用者に対し、そのシードは危険にさらされているものとみなし、直ちに新しく生成したウォレットへ資金を移すよう呼びかけている。CoinkiteのCEOであるロドルフォ・ノヴァク氏は、AIを活用したコード解析がこの欠陥の発見につながった可能性を示唆しているが、独立系のセキュリティ研究者たちの見方は違う。乱数フォールバックの実装における単純な設計ミスだったというのが実際のところだろう。いずれにせよ、今回の一件はハードウェアウォレットが安全性の実績確認に代わるものではないこと、そしてファームウェアの欠陥は攻撃者・防御者どちらにも発見されないまま何年も潜み続けうることを、あらためて突きつけている。