署名がすり替えられた5000万ドル|エアギャップだけが防げる理由

ハードウォレットを持っているから安全、という感覚は、ある前提の上にしか成り立たない。

2024年10月、DeFiプロトコル「Radiant Capital」から約5000万ドルが失われた。チームはハードウォレットを使い、セキュリティへの意識も業界水準以上だった。それでも防げなかった。理由は鍵の管理方法ではなく、鍵が「何に」署名させられたかにある。

攻撃の起点は一本のPDFだった。Telegram経由で届いた添付ファイルにマルウェアが仕込まれ、チームのPCが静かに感染した。その後、USBで接続されたハードウォレットへの通信が水面下で改ざんされ続けた。デバイスは受け取った内容に従い、正直に署名した。秘密鍵が外部に漏れたわけではない。鍵が動かされたのではなく、鍵の前に立つプロセス全体が汚染されていた。

USBという接続が作る攻撃面

ハードウォレットはUSBやBluetoothを介してPCと通信する。その通信経路は、正規のソフトウェアと同様に、マルウェアにも開かれている。感染したPCが「署名してほしいトランザクション」を送る瞬間、内容はすでに別物に置き換わっている可能性がある。

デバイス画面で確認する習慣があっても、マルウェアが表示内容ごと偽装していれば確認そのものが機能しない。送金先アドレス、送金額、いずれも「正しく見せる」ことはマルウェアの仕事の範囲内だ。

取引所に預けたBTCも構造は変わらない。秘密鍵が常時接続のサーバー上にある以上、ユーザーが操作するたびに攻撃者が介入できる瞬間が生じる。自分でハードウォレットを持ちながらも、USB接続を維持している限り攻撃面は残存する。

エアギャップは経路そのものを消す設計だ

エアギャップ署名の発想は「セキュリティを強化する」ではなく「接続が物理的に存在しない状態を作る」という点にある。

実際の流れはこうだ。まず、オンラインのPCで未署名のトランザクション(PSBT形式)を作成する。次に、そのデータをQRコードかSDカードに変換し、一度もネットワークに接続したことのないオフライン専用デバイスに渡す。デバイス上で内容を確認して署名し、署名済みデータをふたたびQRかSDカードでオンラインPCに戻してブロードキャストする。

このプロセスにおいて、オンラインPCとオフライン署名デバイスが直接通信する瞬間は存在しない。PCがマルウェアに感染していたとしても、署名デバイスへの影響経路が物理的にない。Radiant Capitalが踏んだ攻撃はこの設計では成立しない。

デバイス画面で「何に」署名するかを確認する

エアギャップ設計に切り替えたとしても、署名デバイスの液晶表示を流し読みするだけでは最後の確認が抜ける。デバイスが独自に解析・表示した送金先アドレスと金額を、PCの画面から独立して確認することが重要だ。

「送金先アドレスの先頭4文字と末尾4文字が一致しているか」「送金額に不自然なゼロが追加されていないか」。この確認を毎回デバイス画面で行う習慣が、最後の砦として機能する。

秘密鍵を持つことと、安全に署名することは別の問題だ

セルフカストディの核心は「秘密鍵を自分で保管すること」だ。しかしそれだけでは、Radiant Capitalのケースは防げなかった。問われているのは「どこで、どのように、何に署名するか」という署名環境全体の設計だ。

なお、今回の事件はDeFiプロトコルで起きたものだ。アルトコインやDeFiの世界は、スマートコントラクトの複雑性に加え、接続を前提とした設計が重なる。ビットコインのシンプルなトランザクション構造はこの点で異なるが、署名環境の汚染リスクはどのプロトコルにも等しく存在する。

接続を前提とした運用から、接続を物理的に持たない設計へ。それが現時点でビットコインのセルフカストディにおいて個人が選べる最も確実な選択肢だ。

ハードウォレットの購入は出発点に過ぎない。あなたの署名環境の設計を、今一度確認してほしい。

※本記事は一般的な情報提供を目的としており、投資助言ではありません。

この記事が参考になったら、セルフカストディの具体的な始め方もチェックしてみてください。

LINE登録でセルフカストディの始め方を学ぶ 正しい手順を無料でお届けします
← 記事一覧に戻る
LINE登録 ▶ セルフカストディの始め方を無料で学ぶ