ハードウェアウォレットBitBox脆弱性について
執筆 AndGoインターン 内藤貴生 naito.icon
今回はハードウェアウォレットBitBoxの脆弱性について下記の記事を元に報告します。
Breaking into the (Digital) BitBox
https://gyazo.com/9d184927f8c13c80e882fbab94c6df0b
前回の報告でも触れたように、ハードウェアウォレットから秘密鍵を盗む方法には主に以下の3つの手法があることが知られています。 サプライチェーン攻撃(セットアップ前の物理アクセス)
エビルメイド攻撃(セットアップ後の物理的アクセス)
マルウェアによる攻撃(操作につかうPCに不正なプログラムを忍ばせる)
今回参照している元記事ではマルウェアを使って秘密鍵を差し替える手法がまとめられています。
そもそもマルウェアとは?
悪意のあるソフトウェアの総称です。
MaliciousとSoftwareの組み合わせによる造語で不正プログラム全体を指します。
実装
初めに、BitBoxの大まかな機能を説明します。
BitBoxはスマートフォンとペアリングし利用します。スマートフォンの画面にトランザクションの詳細が表示され、署名はBitBox側で行います。BitBoxの特徴として、スマートフォン側から指示された任意のデータに盲目的に署名するという点があげられます。BitBoxはディスプレイがなくトランザクション情報を確認することはできません。署名の為のみ使用されます。
BitBoxはスマートフォンとの通信において、鍵を交換しデバイスとスマートフォンとをペアリングすることでセキュアな通信路を構築するアプローチをとります。この通信路では、BitBoxとスマートフォンとはお互いに暗号化されたメッセージをやりとりします。第三者がメッセージを盗み見ることはできないよう設計されています。
記事ではこのペアリング部分に対し攻撃を行う手法が紹介されています。
BitBoxは、Elliptic-Curve Diffie-Hellman(ECDH)として知られる「鍵交換」の一手法を利用しています。この手法は、下図のように両方の当事者が自身の秘密鍵をそれぞれ生成し、それらを相手の公開鍵と組み合わせることで、両者が共通の鍵を取得できるというスキームを用います。公開鍵のみが通信を仲介するコンピュータ上を通過します。公開鍵から秘密鍵を復元することはできないので、コンピュータ上で秘密鍵や最終的に共有される共有鍵を入手することはできません。
https://gyazo.com/7adfbb71f4b6c4aa8bedb8f6496319bf
さて、この間に入るコンピュータが少しトリッキーな動作をする仲介役を演じると上記の前提が崩れます。
コンピュータにまずマルウェアをしのばせます。下図のように、このマルウェアがスマートフォンと鍵交換することができる場合、BitBoxになりすますことで、改ざんした取引をスマートフォン上に表示することができます。その後、BitBoxとの間で独自の鍵交換を実行したマルウェアは、スマートフォンになりすまして、悪意のある取引を確認したことをBitBoxに伝えます。このように、マルウェアにより簡単に中間者攻撃を実行できてしまいます。 https://gyazo.com/4cb182ec7d28734cda0377879e9d3702
記事ではその他にも、BitBoxのセキュアチップ内ストレージ(すべての秘密鍵とパスワードが入った)に直接アクセスする方法についても述べてられています。
https://gyazo.com/5d7b12e9c0e6bb1b656f40702162be4d
BitBoxの対応と筆者の主張
このような脆弱性の報告を受けてBitBoxは対策のアップデートを何度か出しています。しかし、記事の筆者はこうした修正では根本的な問題は解決できないと述べています。
筆者は、BitBoxの脆弱性はデバイス設計の基本的欠陥であると主張しています。BitBoxの装置全体(ファームウェアとハ ードウェア設計の両方)の専門的な監査を受けるようにBitBoxに強く勧めています。また、安全性を高めたディスプレイ付きの後継機の開発、販売も勧めています。
まとめ
今回はBitBoxにおける脆弱性の報告についてまとめました。物理アクセスによる攻撃は簡単に実現できる話ではありませんが、マルウェアによるハッキング被害は近年増加しています。ユーザーが取れる対策としては、PCにマルウェアを検知する対策ソフトをインストールすることが挙げられます。また、本体にディスプレイがあり、取引内容を確認できるハードウェアウォレットを選択することも重要です。メーカー側は脆弱性への対応を続け、新しいアーキテクチャによる強固な製品の開発が求められると思います。