ハードウェアウォレットのハッキング事例:ファームウェア偽装とその手口
仮想通貨を最も安全に保管する方法は、コールド型の非カストディアルウォレットです。しかし、物理デバイスに資産を保管すればセキュリティの心配は不要なのでしょうか?実際には、どんな脅威が残っているのでしょうか?
本当にハッキング不可能?
かつてハードウェアウォレットは「ハッキング不可能」と信じられ、メーカーもこのイメージを積極的にアピールしていました。そのため、中古品を安全に購入できると考えられており、実際に一部メーカーは中古販売も行っていました。新品が100ドルのところ、50ドルで手に入るのは魅力的です。
しかし、コールドウォレットも実際にはハッキングされ得ることが判明するまで、この考えは広まりました。最初に証明したのは、15歳のハッカーSaleem Rashid氏です。彼はLedger Nano Sのファームウェアを書き換え、次回デバイス使用時にユーザーの秘密鍵が漏洩する手法を実演しました。
Saleem氏は、被害者のパソコンにマルウェアを仕込んで「ウォレットのファームウェアが不具合」と偽り、アップデートを促すことで、遠隔から改ざんファームウェアをインストールできる可能性も指摘しました。ユーザーが指示に従うと、改ざんされたファームウェアがウォレットに書き込まれます。
興味深いことに、彼がこの問題をメーカーに報告した際、メーカー側は「再現が難しい」と回答しましたが、その後、こうした脆弱性を防ぐアップデートが提供されています。
これだけではありません。サイバーセキュリティ研究者たちはコールドウォレットの安全性を検証し、興味深い結果を発表しています。たとえば、第35回Chaos Communication Congressでは、Ledgerハードウェアウォレットをハッキングする複数の手法が実演されました(そのうちの一つは、サイバーセキュリティ専門家Joe Grand氏が1年前に約200万ドル相当の暗号資産を復元する際にも使われました)。改ざんファームウェアがインストールされると、PINコードやニーモニックフレーズまで盗み取られる可能性があります。

本当にそこまで危険なのか?
必ずしもそうではありません。ファームウェア偽装攻撃を実行するには、物理的にデバイスへアクセスする必要があり、これは簡単ではありません。手口は2つあります。1)所有者の手元に届く前にウォレットをハッキングする、2)所有者に気付かれずにハッキングする。サイバーセキュリティ用語では、前者は「サプライチェーン攻撃」、後者は「イービルメイド攻撃」と呼ばれます。いずれも難点があります。前者は多大な準備が必要で、後者は時間がかかり、ウォレットが返却されなければ不審に思われるリスクがあります。
理論上だけの話?
実際に成功した攻撃例もいくつか存在します。たとえば、ハッカーがTrezorのサーバーに侵入し、顧客のメールアドレスを入手した事例です。ハッカーは「ファームウェアに問題があるためデバイス交換が必要」と偽り、ウォレット所有者にメールを送りました。被害者が新しいウォレットの配送先を伝えると、実際にウォレットが届きますが、ファームウェアは秘密鍵をハッカーに送信するよう改ざんされています。
また、偽造ウォレットが市場に出回ることもあります。これらは個人売買サイトで見つかったり、ハッカー自身が正規代理店を装って自分のサイトで販売する場合もあります。

偽物ウォレットと本物ウォレット。どちらがどちらかわかりますか?
もう一つの攻撃手法に「BadUSB」戦術があります。これは本来、組織のパソコンにマルウェアを仕込む際によく使われる手口ですが、暗号資産ウォレットにも応用可能です。典型的な例では、攻撃者がマルウェア入りUSBメモリをオフィスやカフェなどに「落とし物」として置き、拾った人がパソコンに接続すると感染します。時には「お客様プレゼント」と偽って郵送されることも。暗号資産の場合も、改ざん済みウォレットを人目につきやすい場所に「落とす」か、ターゲットに「プレゼント」することで同様の攻撃が可能です。
安全に使うためのポイント
もっとも重要なのは、必ず正規販売店からコールドウォレットを購入することです。リセラーから購入する場合は、メーカー公式サイトに販売店リストが掲載されているかを確認しましょう。掲載がない場合は、サポートに問い合わせてください。中古品は絶対に購入しないでください。
ウォレットを持っている場合は、人目につく場所に保管したり、他人に預けたりしないようにしましょう。これは友人にも当てはまります。信頼できる相手でも、どこでどのように保管されるかわからず、「イービルメイド攻撃」を受ける可能性も否定できません。
本当にハッキング不可能なウォレットはある?
はい、Tangem Walletです。当社のウォレットはEAL6+認証を取得しており、ファームウェアは工場でチップに一度だけ書き込まれます。その後はファームウェアを読み出したり、独自のバージョンを書き込んだりすることは物理的に不可能です。
仮にハッカーがこれを実現したとしても、ウォレットは使用できません。ファームウェア認証サービスがソフトウェアの改ざんを検知し、ユーザーに警告を表示します。