セキュリティ・コンサルタント 村上 純一 今回と次回は,カーネル・モード・ルートキットについて,その実装を詳しく見ていきたい。最初に,アプリケーションやOSの正常な処理の流れ(実行パス)に自身の処理を挿入して,情報を改ざん・隠ぺいする方法について考えてみる。 まず,システム上のプロセスの一覧を取得する方法を考えよう。Windowsでは,EnumProcess APIを利用することで実現できる。プロセス・リストはOSが管理しているため,EnumProcess APIはカーネル・モードでの処理を通じて最終的にOSのプロセス・リストを取得する。EnumProcess APIによるプロセス・リスト取得処理の実行パスを図1に示す。 プロセス・リストを取得したいプログラム(図1ではfoo)はpsapi.dllに実装されているEnumProcess APIを呼び出す。次にEnumProcess APIは