|
|
第2回 ボットに組み込まれたルートキットを解析セキュリティ・コンサルタント 前回で述べたように,昨今流行しているボットやスパイウェアなどのマルウエアでは,ルートキットを悪用して,その存在を隠す手口が使われている。今回は,その一例としてMAILBOTの亜種であるMAILBOT.ARを紹介する。 MAILBOT.ARは,2006年5月に発見されたルートキットを悪用するボットの一種である。検体はOffensive Computingから取得できる。 ボットの動作を逆アセンブリで解析MAILBOT.ARは,実行ファイル(.exeファイル)中にシステム・ファイル(.sysファイル)が埋め込まれた構造を持つ。プログラムの実行時に動的にこのシステム・ファイルを生成する。図1に,該当する機械語コードの逆アセンブルを示す。GetTempPathA APIを呼び出してテンポラリ・フォルダを取得した後,フォルダ中にsysbus32.sysを生成していることが分かる。
次に,生成したシステム・ファイルをCreateService API,StartService APIを順に呼び出してサービス化する(図2)。.exeファイルが.sysファイルを生成し,サービス化した後,.exeはcmd.exeを使って自身のファイルを消去する(図3)。この結果,コンピュータ上に存在するrootkitのコンポーネントはsysのみとなる。通常,サービスの一覧は「scコマンド」や「winmsdコマンド」を利用して取得できる。また,レジストリには各サービスに対応したレジストリ・エントリが,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services以下に作成される。
しかし,MAILBOT.ARに感染した場合は,いずれの方法でもその存在を確認することはできない。前述のサービス化されたシステム・ファイルがカーネルを改変し,感染の痕跡を隠蔽(いんぺい)しているためである。 幸いにも,MAILBOT.ARの場合,インターネット上で公開されているいつかのルートキット検出ツールで検出できる。図4はGMERと呼ばれるルートキット検出ツールの実行結果である。GMERの実行結果から,カーネルに対して以下の3種類の改変が行われていることが分かる。
1.SSDT(System Service Descriptor Table)に対するパッチング 2.nfts.sysに対するメモリ・パッチング 3.tcpip.sysに対するメモリパッチング 次回は,ルートキットで利用されている様々な技術について,詳しく解説する。
連載新着連載目次へ >>
|