PR

新たな段階に入った「TDL4」ボットネット

 スロバキアのイーセットは、長期間にわたって追跡している「TDL4」ボットネットが新たな段階に進化したとしてブログで注意を呼びかけた。

 イーセットが分析したドロッパー(Win32/Olmasco.R)は、システムにルートキットをインストールしているあいだ、マルウエア制御(C&C)サーバーに情報を送信する。エラーが起こると、マルウエア開発者がその原因を特定するのに十分な情報を持つエラーメッセージを送信する。このことから、ボットは現在も開発段階にあると考えられる。

 また仮想マシンベースのボットモニターへの対策機能も備え、マルウエアをインストール中に、ドロッパーが仮想マシン内で実行されていないか確認し、C&Cサーバーに報告する。仮想マシンをチェックするマルウエアは珍しくないが、TDLではこれまでなかった機能だという。

 同社が最新バージョンで特に関心を抱いたのは、ルートキットがシステムに侵入する方法だ。これまでの変種はマスターブートレコード(MBR)を上書きし、ハードドライブのブートテーブルの末尾に不正なコンポーネントを保存するスペースを確保した。新バージョンのマルウエアは、ブートキット部分がこれまでと異なり、まず、ハードディスクのブートテーブルの末尾にパーティションを作成する。Windows Vista以降のOSがインストールされたハードディスクのパーティションテーブルを見ると、末尾に割り当てられていないスペースがある。通常、このスペースはルートキットのコンポーネントやルートキット自体を保存するのに十分な容量がある。そのような場合、不正なパーティションのサイズは最大50Gバイトとなる。

 MBRのパーティションテーブルは4つの16バイトのエントリーで構成され、それぞれ該当するパーティションが記述されている。つまりハードディスクに4つのプライマリーパーティションがあり、うち一つはOSを起動するアクティブパーティションとなっている。マルウエアは、パーティションテーブルの空きエントリーに不正パーティション用のパラメーターを上書きし、アクティブパーティションに仕立てて、新たに作成したパーティションのボリュームブートレコード(VBR)をイニシャライズする。

エントリーを上書きした部分

マルウエア感染前と感染後のパーティションテーブル

 これら改ざんの結果、感染マシンが次に起動したとき、MBRの実行後でOSブートローダーのロード前に、マシンのコントロールは不正なVBRに渡される。このようにして、マルウエアはマシンのコントロールを奪う。

 不正VBRがコントロールを受け取ると、TDL4のルートディレクトリーから「boot」という名前のファイルを読み込む。bootコンポーネントは、BIOSの割り込み13hをフックして、本来のアクティブパーティションのVBRをロードする。マルウエアのブートキットコンポーネントは、不正ファイルシステム内での名前が変更されている以外は、TDL4のこれまでのバージョンと変わらない。

感染マシンのブートプロセスを示す図形

 また、隠しファイルシステムのレイアウトも変更されている。過去バージョンではサイズにかかわらず15ファイルほど保存できたが、最新バージョンのファイルシステムは不正パーティションの長さで容量が限定されている。過去バージョンより高度な機能を持ち、保存ファイルの破損を検出して、壊れたファイルをファイルシステムから除外する。