身のまわりにあるUSBデバイスを接続するだけで、PCが乗っ取られたり情報が盗まれたりする。ウイルス対策ソフトでは見つけることも止めることもできず、どのデバイスが怪しいかを見分ける手立てもない---。

 PCの基本的インタフェースである「USB(Universal Serial Bus)」にこんな危険な脆弱性が報告され、セキュリティ専門家が危機感を募らせている。ウイルスのようにネットワークを介して一気に世界中に広まるようなものではないため、今のところ大きな事件として表面化はしていない。しかし、標的型攻撃などで特定の企業PCが狙われ、既にじわじわと入り込んでいる可能性がある。

 事の発端は、2014年7月にセキュリティ研究者のカルステン・ノール氏らが同脆弱性を「BadUSB」と名付けて公表したこと。カルステン氏らは、8月に米国で開催されたセキュリティイベント「black hat USA 2014」の場でBadUSBのデモを実際に行った。カルステン氏らは具体的なコードを提示しなかったが、10月、別の研究者がBadUSBを解析し、得られたコードをソフトウエア開発プロジェクトホスティングサイトの「GitHub」上に公開した。

ファームウエア書き換えを防げない

 BadUSB脆弱性とは、ひと言で表すと「USBデバイスのファームウエアを不正なものに勝手に書き換えられること」である()。USBデバイスは、マウスのように単純なデバイスであっても、実際の中身は小型のコンピュータと同じである。

図●BadUSB脆弱性の概要
図●BadUSB脆弱性の概要
[画像のクリックで拡大表示]

 USBデバイスの中にはCPUに該当する制御チップ(USBコントローラ)があり、書き換え可能なフラッシュROMなどにファームウエアという形でデバイスを機能させるためのプログラムが書き込まれている。PCにUSBデバイスを接続すると、電力供給を受けたUSBコントローラが起動し、このプログラムを読み出して実行する。処理結果はUSBケーブルを介してPCに送られる。これを受け取りOSに意味のあるデータとして受け渡すのが「デバイスドライバー」の役割だ。