DEF CON 22で仕入れた悪意のあるUSBデバイス
世界最大級のハッカーの祭典であるDEF CON22で仕入れたハッキング用USBデバイスをご紹介します。デバイス制御の製品をすり抜け、脆弱性もマルウェアも利用しないため、検知がとても難しい代物となります。
こちらがその写真です。なんの変哲もないUSBメモリに見えます。
図、悪意のあるUSBデバイス
■攻撃デモ
中身をご紹介する前に当該USBデバイスを用いた攻撃をご覧ください。
動画が見れない方はこちらから動画ファイルをダウンロードしてください。
動画のホストには以下の一般的な対策が施されています。
- 最新のOS/アプリのパッチ適用済み
- 最新パターンファイルで動作しているウィルス対策
- USBマスストレージデバイスをブロックするデバイスコントロール対策
- CDデバイスによる自動実行(Autorun)の無効化
しかし、USBデバイスを挿入後、勝手にメモ帳が立ち上がり、メッセージが打ち込まれました。
■攻撃の仕組み
では、その仕組みを解説します。当該USBデバイスは一見するとUSBメモリに見えますが、OSはキーボードとして認識しています。
図、デバイスマネージャ
USBデバイスを分解すると...
図、デバイスの中身
デバイス内にはMicroSDカードがあり、その中に攻撃者が用意した「デバイスを挿入した時にタイピングする文字列」が含まれています。上記の動画であれば、以下のような文字列になります。
[Windows]キー + [R] (ファイル名を指定して実行のショートカットキー)
notepad.exe [Enter] (メモ帳の起動)
You are hacked. (メッセージ)
これらの文字列は攻撃者が任意に設定できるため、たとえば以下の攻撃のようなことが行えます。
- マルウェアをダウンロードして実行するJScriptスクリプトを作成して、実行させる
- コマンドプロンプトからnet user /addコマンドを利用してローカルのユーザを作成する
- デスクトップ上のOffice文書をアップロードさせる
攻撃者がキーボードを乗っ取っている状態に等しく、キーボードが乗っ取れれば、ホストを乗っ取ることができるということです。
OSはUSBが挿入された場合、そのデバイスのデバイスクラスIDなどの情報を元にロードするドライバを決めています。そのため、USBデバイスがキーボードのクラスを「自称」すれば、OSはキーボードデバイスとして認識し、ドライバをロードします。
この仕組みを利用してBlack Hat USA 2014の一つのセッション(BADUSB - ON ACCESSORIES THAT TURN EVIL)では、キーボードだけでなく、Etherカードの振りをし、パケットをスニフィングするUSBデバイスやUSBブート型ブートキットなどの攻撃の可能性について発表していました。
■対策
上述の通り、マルウェアも脆弱性も利用していないので、ウィルス対策やパッチの適用では防げません。
もし、デバイス制御の対策があれば、USBストレージデバイスのみのブロックというようなブラックリスト方式ではなく、USBデバイスは全てブロックし、利用するデバイスのみをシリアル番号などの一意な識別子で許可をする必要があります。
ユーザに任意のマウス、キーボードを使わせたいという要望を受け入れるとホワイトリストの管理が煩雑さになったり、そもそも一意な識別子を持っていないデバイスもあったりして、根本的な対策はなかなか難しいと言えます。
ユーザに対する教育として以下の基本的な2点を厳守させることが最も手っ取り早い対策となるかもしれません。
- 出所が不明な「いかなる」USBデバイスを接続しない
- スマホ充電器も含む
- 離席時に画面ロックをする(攻撃者にUSBデバイスを接続されても、ログオン画面では悪いプログラムが発動できない)
フォローしませんか?