図1 ルートキットは便利なツールを装うなどして入ってくる(イラスト:なかがわ みさこ)
図1 ルートキットは便利なツールを装うなどして入ってくる(イラスト:なかがわ みさこ)
[画像のクリックで拡大表示]
図2 管理者の問い合わせに対して嘘を教える(イラスト:なかがわ みさこ)
図2 管理者の問い合わせに対して嘘を教える(イラスト:なかがわ みさこ)
[画像のクリックで拡大表示]

 ルートキットとは,ネットワーク経由で悪さをするクラッカ(破壊者)が使う各種ツールの集まり(=キット)を意味する言葉です。クラッカがサーバーに侵入したあと,その痕跡を消したり,サーバー管理者から隠れて裏で悪さをするための“隠密行動用の七つ道具”とでも言うべきものです。

 ルートキット(rootkit)の語源は,初期のルートキットがUNIXシステムをターゲットにしていたことに由来します。UNIXでは,システムのあらゆる操作の権限を持つユーザーを「root」(ルート)と呼びます。このrootユーザーの権限を奪ってシステムに侵入したクラッカのために,継続的にシステムを支配できるように手助けするためのキットということで,ルートキットと呼ばれるようになりました。

 ルートキットはクラッカ用ツールの寄せ集めなので,それぞれのルートキットが実際に備えている機能はさまざまです。例えば,侵入の痕跡を示すログイン記録を削除するツールや,あとでサーバーに再び侵入できるように裏口(バックドア)を設けるツールを備えていたりします。ユーザーがキーボードから入力する情報を盗んだり,サーバーがやりとりするパケットを盗聴するツールを備えているものもあります。

 ただ,どんなルートキットにも共通する機能が一つあります。それは「自分の存在を隠す」機能です。最近では,この自分の存在を隠す機能だけに着目して,自分を隠す機能を備えたプログラム全般を広くルートキットと呼んでしまうケースも多いようです。ですが,自分を隠す機能はルートキットの一部分に過ぎないので,この点に着目する場合は「ルートキット機能」などと区別して呼ぶべきでしょう。

 自分を隠すというルートキット機能の存在を世に知らしめたのは,2005年に起こった米Sony BMG Music Entertainmentによる音楽CDへのルートキット機能組み込み騒動です。同社が販売した音楽CDに,ルートキット機能を使った違法コピー防止機構(XCPと呼ばれます)が組み込まれていることが発覚し,騒動になりました。このXCP騒動は,販売元がCDを回収する対応をとったことで一応収まりました。しかし,一般ユーザーがルートキット機能によって被害を受ける危険性がなくなったわけではありません。

 大手ウイルス対策ソフト・ベンダーの米マカフィーによれば,2000年から2005年までの間に同機能を悪用したウイルスやボットなどの不正プログラムの種類は4倍以上に増えたといいます。大手ベンダーのトレンドマイクロも「見つかる絶対数で言えば一般的なウイルスの方が圧倒的だが,同機能を悪用する不正プログラムは年々増えており,今後注目していく必要がある」(西山健一スーパーバイザー)と指摘しています。XCP騒動とは関係なく,ルートキット機能を悪用した不正プログラムによる被害の危険性は年々高まっているのです。

 ルートキット機能を悪用する不正プログラムは,例えば正規のプログラムを装ったトロイの木馬などの形でパソコンに入ってきます(図1)。こうした不正プログラムを誤って実行してしまうと,パソコンにルートキット機能が組み込まれます。その手法はさまざまですが,マカフィーによれば「一般には Windowsのデバイス・ドライバとして組み込む方法がよく使われる」(AVERTラボJAPANの本城信輔ウイルス研究員)とのことです。

 こうして組み込まれたデバイス・ドライバは,アプリケーションがOSを呼び出す「API」の部分を監視します。そして,ファイル名やプロセスの一覧などの取得要求を見つけると,結果を横取りして隠したい情報を取り除き,嘘の情報をアプリケーションに教えます(図2)。これにより,ユーザーは通常の操作では隠されたファイルやプログラムを見つけられなくなります。

 本来の意味でのルートキットは,定義から言って「悪い」ソフトですが,自分の存在を隠すというルートキット機能は,一概に悪とは決め付けられません。例えばセキュリティ・ソフトや企業向けのクライアント管理ソフトが使うケースも考えられるからです。現状ではウイルス対策ベンダーも同様の考えに基づいて対応をとっています。ただ,「パソコンの利用者が検知できないようにすることは本質的に好ましくない」という意見もあり,議論は決着していません。