悪用するAPIのレベルによってルートキットは分類可能
![]() △ 図をクリックすると拡大されます |
図2●Windows APIのレイヤー |
ユーザー・モードのルートキットは,マルウエアを起動したユーザー・アカウントのプロセスをすべて隠せる。しかし,最も効果があるのは,「プログラムのデバッグ」という特権を持つアカウントで起動したときだ。管理者グループはこの特権をデフォルトで持っており,そのためシステム上のプロセスのすべてにルートキットの影響が及ぶ。この影響は,ウイルス対策やスパイウエア対策プロセスといった,ローカル・システム・アカウントで動作するものにまで及ぶ。つまりルートキットからシステムを守る最良の方法としては,できる限り特権を持たないユーザー・アカウントを使用することが挙げられる。
最も凶悪なルートキットは,カーネル・モード・レベルのAPIを横取りするタイプだ。しかし,カーネル・モードのルートキットは,デバイス・ドライバをインストールできる権限を持つユーザー・アカウントでマルウエアが実行される必要がある。つまり,その権限がないユーザーのアカウントで動く限りは,ユーザー・モードのルートキットと同じような効果になる。また,カーネル・モードのルートキットの開発には膨大な知識が必要で注意深く作成しなければならない。バグがあればOSがクラッシュしてしまうからで,これはルートキット作成者にとって最も避けたい事態である。プログラムやコンピュータがクラッシュすると,ルートキットの存在に気づかれるからだ。