Internet Watch logo
記事検索
バックナンバー
第10回 rootkit
[2005/12/21]
第9回 ボットネット(BotNet)
[2005/11/10]
第8回 Outbound Port 25 Blocking
[2005/10/13]
第7回 国際化ドメイン名(IDN)
[2005/03/31]
第6回 UWB(Ultra Wide Band)
[2005/02/17]
第5回 脆弱性
[2005/01/27]
第4回 周波数割当
[2005/01/13]
第3回 ドライカッパー
[2004/12/22]
第2回 バックボーン
[2004/12/09]
第1回 FTTH(Fiber To The Home)
[2004/11/24]
ニュースに出るネット用語
第10回 rootkit

TEXT:佐藤 晃洋

 今回は「rootkit」を取り上げる。米SONY BMGの音楽CDにrootkitが仕込まれていたとして最近急に名前を聞くようになったこの言葉だが、そもそもrootkitとは何なのか、そしてなぜこれが問題となるのかというと意外と知られていない。そこで今回はrootkitとは何か、そしてrootkitの最新動向に至るまでの情報を取り上げる。


rootkit=「管理者権限を奪い維持するツールのパッケージ」

 例によって、まずはrootkitの辞書的な定義から……といきたいところだが、これが意外と難しい。というのは、rootkit自体はいわゆるトロイの木馬やログ改竄ツールなど、一般にクラッカーが他人の端末に侵入するためのツールを集めたものであり、その内容はrootkitの種類によって異なるからだ。ただ1つ共通する点は「rootkit」という名前の通り、ターゲットとした端末の「root」、つまり管理者権限を奪い、それを維持することを目的として作られているということだ。

 例えばLinux上で動作するrootkitでよくある手口としては、クラッカーが端末に仕掛けたバックドアを気付かれないようにするために、動作中のプロセスを表示する「ps」コマンドを置き換える。あるいは、ネットワークインターフェイスがプロミスキャスモード(自分以外宛のパケットもすべて受け取ってしまうモード。この場合ネットワーク上のパケットを盗聴することを目的としている)になっているのをチェックされないために、ネットワークインターフェイスの状態を表示する「ifconfig」コマンドを置き換えるといった手法だ。つまり、標準のコマンド群を置き換えることで、クラッカーが侵入した痕跡を管理者に悟られないようにするのだ。

 rootkitにはこれ以外にも、ユーザーのログイン記録のログからクラッカーの痕跡を消し去るツールや、端末のHDD内の情報を管理者に気付かれないように分割して少しずつ送信するツール(一度に送ると大量のトラフィックが発生して侵入行為が発覚する可能性があるため)、侵入した端末を踏み台としてさらに別の端末を狙うための攻撃ツールなどが含まれることが多い。

 SONY BMGのケースでは、著作権管理(DRM)用のプログラムやデータファイル、レジストリ等の情報をユーザーが勝手に消去したりすることができないようにするために、rootkitの手法を使っていたという。これまでに公開されている情報によれば、バックドア等は含まれていない模様だ。これを悪意のある第三者が利用すると、著作権管理以外のプログラムも同様に存在を隠すことができ、容易にバックドアなどを仕掛けることができる。実際に、そのようなプログラムも現われている。しかも、当初SONY BMGからはアンインストール方法が提供されていなかったことや、その後の対応がまずかったことなどが結果的に火に油を注ぐ格好になり、今回のような騒ぎに至ったというわけだ。


rootkit最新事情~隠蔽工作はここまで進化した

 さて、rootkitの中でも非常に重要な割合を占めるのが、クラッカーが端末に仕込んだプログラム等の痕跡を発見されないための隠蔽の方法だ。さきほどはLinuxのコマンド群を置き換えるという方法を紹介したが、これはrootkitとしては非常に古い方法で、最近ではもっと別の方法が採用されている。

 例えば前述のSONY BMGの方法では、WindowsのAPIをフックしてrootkit側のデバイスドライバに制御を移すことでファイルを隠す方法が取られている。単純にコマンドを置き換える方法では別のツールを使うことで容易にクラッカーの痕跡を調べることができるが、APIをフックする方法では当該APIを利用するすべてのプログラムにおいてクラッカーの痕跡が隠されてしまう。rootkitの存在を調べるには、rootkit側がフックしていないAPIを使うか、あるいは独自にライブラリ等を実装してチェックを行なうといった方法を取らざるを得ず、より調査の難易度が上がるという仕組みだ。同様の効果を期待して、Linuxではglibcなどの標準ライブラリを悪意のあるコードを含んだものに置き換えるといったことも行なわれているようだ。

rootkitの例1:アプリケーションを置き換えることで、ユーザーからrootkitの存在を隠す rootkitの例2:ライブラリなどを書き換えることで、どのアプリケーションからもrootkitの存在を隠す

 さらに最近では、プログラムがメモリにロードされた後にメモリの内容を書き換えてしまうタイプのrootkitも存在するという。前記のコマンド類、あるいはAPIやライブラリを置き換える方法がいずれもHDDに対して書き換えを行なうため、HDDの内容をスキャニングすればrootkitの検出が基本的に可能となる。これに対して、メモリの内容を書き換えるタイプでは、メモリ上でプログラムの書き換えが行なわれるため、HDDに保存されたプログラムは正規の状態のままであり、より検出が困難になる。

 ちなみにこれをさらに推し進め、x86系など最近の多くのCPUで採用されている「ハーバード・アーキテクチャ」(命令キャッシュとデータキャッシュを分離したキャッシュ構造を持つCPUアーキテクチャ)を利用してスキャニングを回避するという手法も世の中には存在するという。10月に行なわれたイベント「Black Hat Japan Briefing」の中でその一部が紹介されたが、筆者の知る限り具体的にこの手法を採用したrootkitはまだ現われていない模様だ。

 このようにrootkitの隠蔽方法が進化する一方で、その存在を探知するべくウイルス対策ソフトやrootkit専用の探知ソフトなどの開発も進められている。しかし、このあたりはウイルス・ワームと同様に、いたちごっこが繰り返されている。また、rootkitの多くはOSカーネルや必須ライブラリと深く結び付いて動作するため、SONY BMGのケースでは無理にアンインストールを行なおうとするとCDドライブが消えてしまうといった問題も発生するなど、駆除1つとっても一筋縄ではいかない。rootkitという分野自体、これまでセキュリティ関係者の中ではあまり重要視されてこなかった分野だけに、今後しばらくの間はいろいろと動きが見られそうで、とりあえず「rootkit」という言葉を頭に入れておいて損はないはずだ。

関連記事
マイクロソフト、ウイルス駆除ツールで「XCP」のrootkitに対応(2005/12/14)
SONY BMG、コピー防止ソフト「XCP」入りの音楽CDを交換・回収へ(2005/11/16)


(2005/12/21)

佐藤 晃洋
 1975年北海道旭川市生まれ。某通信事業者での法人営業(という名の現場調査員)を経て、現在は通信・ネットワーク関連を主な専門分野とするテクニカルライター。ついでになぜか煎茶道の師範もやっている。

- ページの先頭へ-

INTERNET Watch ホームページ
Copyright (c) 2005 Impress Watch Corporation, an Impress Group company. All rights reserved.