仮想マシン(Virtual Machine,VM)は,非常に有用な技術である。しかし,仮想マシンがルートキットと組み合わされると,「仮想マシン・ベースのルートキット(VM-based rootkit,VMBR)」という非常にやっかいな問題が発生する。

 VMBRは,単に理論上迷惑なもの,というだけではない。ミシガン大学のSamuel T. King氏とPeter M. Chen氏,米Microsoft ResearchのYi-Min Wang氏とChad Verbowski氏,Helen J. Wang氏,Jacob R. Lorch氏は,VMBRについてかなり詳細に論じたホワイト・ペーパーを発表した。「SubVirt: Implementing malware with virtual machines(SubVirt:VMでマルウエアを実行する)」と題されたこのホワイト・ペーパーはネット上で入手可能で(配布サイト),5月の「IEEE Symposium on Security and Privacy」(セキュリティとプライバシーに関するIEEEシンポジウム)でも紹介される予定だ。

 VMBRは通常のルートキットよりも発見が困難である。しかし幸運なことに,VMBRを開発したりインストールしたりするのも,通常のルートキットより難しい。簡潔にまとめると,VMBRは既存のOS下層(underneath)に自らをロードして機能する。既存OSは,VMBR上の仮想マシン(VM)として実行される。この場合,VMBR検出用の特別なツールを使わない限り,VMBRは発見されない。VMBRはLinuxとWindowsの両方のプラットフォームで実行可能だ。

 ルートキット全般についても当てはまることだが,VMBRはインストールさせるのが非常に難しい。VMBRを既存OSの下層で実行させるには,VMBRが最初にロードされるように,システムの起動順序を変更しなければならない。システムの起動順序を変更するには高いレベルの権限,あるいは簡単にだまされるユーザーが必要だ。ホワイト・ペーパーの著者たちが指摘したところによると,システムに侵入される原因としては,リモートからの不正操作を可能にするシステムのぜい弱性や,悪意のあるブータブルCD-ROMやDVD-ROM,悪徳業者の販売するソフト,管理者権限を使ってログオンしているパソコン初心者が実行するマルウエア−−−などが考えられるという。

 VMBRが本当に恐ろしいのは,既存OSの下層で動作するという性質であるため,ターゲットのOSに気づかれずに潜伏するのが比較的容易だということだ。VMBRはターゲットのOSと通信することもあれば,しないこともある。サービス拒否(DoS)攻撃の実行やメールの中継,海賊版ソフトのアップローダーの確保,フィッシング目的のWebサイトの設置−−−などを目的とするVMBRの場合,ターゲットのOSと通信する必要はない。逆に,キーボードやマウス,ネットワーク活動の監視を目的とするVMBRの場合,ある程度の通信が必ず必要になる。しかし,デバイス・ドライバやエミュレーターに変更を加えることによって,通信を最小限に抑えることも可能である。

 ホワイト・ペーパーの著者たちは,実際にいくつかの悪意あるサービスと一緒に,VMBRも開発した。さらに,ユーザー・モードで実行される仮想マシン検出ソフトウエアがVMBRを検出しないように,システムに変更を加えてもいる。また著者たちは,VMBRをより高いレベルへと進化させることに成功したのだ。何と,システムBIOSを通じて数台のコンピュータのLED(発光ダイオード)を操り,システムの電源が入っているのに,電源が切れているとユーザーに思わせたのである。

 控えめに言っても,このプロジェクトは発想次第でどんなことでもできてしまうということを示す,良い証拠であると言えるだろう。研究の詳細に関しては,ホワイト・ペーパーを読んで頂きたい。