Darkmegi をリアルタイムで検知:インテルとの共同開発テクノロジーから生まれた初の製品、McAfee Deep Defenderの最新情報 第2回

2012/05/17

数カ月前、話題になったDarkmegiは、マイクロソフト製品の脆弱性CVE-2012-0003(MIDIのリモートでコードが実行される脆弱性)を悪用した脅威として初めて確認されたものです。最近では、Gong Da Packエクスプロイトキットの一部として、CVE-2011-3544(Java Runtimeのリモートでコードが実行される脆弱性)を利用したドライブ・バイ・ダウンロード攻撃でも確認されています。Darkmegiは、カーネルルートキットコンポーネントを使って、感染したシステム内で拠点を維持します。

フックのインストール
一般的に、ルートキットは自身のファイルやレジストリキーの読み取りを拒否したり、アクセスを削除したりしますが、Darkmegiも例外ではありません。DarkmegiはDriversディレクトリのcom32.sysにカーネルドライバをドロップします。また、ユーザーモードコンポーネントであるcom32.dllもドロップします。このコンポーネントはexplorer.exe、iexplore.exeに挿入されます。また、ntfs.sys(IRP_MJ_CLOSE、IRP_MJ_CREATE、IRP_MJ_DEVICE_CONTROL)およびfastfat.sysのDispatchテーブルにフックし、アプリケーションがcom32.dll、com32.sysファイルを読み取れない(またはスキャンできない)ようにします。

フックの影響
一度ルートキットがOSを乗っ取ると、保護されたファイルのコピーや読み取りは拒否されます。

ルートキットのドライバを別のディレクトリにコピーしようとした場合

ルートキットのドライバを開こうとした場合

正規ファイルを装うマルウェア
また、Darkmegiは、もうひとつの手段として、自身のマルウェアファイルに25MBもの意味のないデータを埋め込みます。一般的なマルウェアのサイズは1MB未満であるため、それによって正規のファイルのように見せかけるのです。実際、25MBを超える既知のマルウェアは0.03%以下にとどまっています。このように、マルウェアの作成者は、ファイルを中心としたセキュリティの観点を回避するために、様々な戦略を練っているのです。

マルウェア7,900万個のファイルサイズ分布

ただし、Darkmegiはファイルの格納場所は隠しません。

半ステルス性
では、手間をかけてルートキットを作成しながら、ファイルを隠さない理由は何でしょうか。ひとつは、ルートキット対策ツールの中にWindows APIから返されるファイルのリストをNTFSのロースキャンで作成されるツール作成リストと比較するものがあるということが挙げられます。ここに矛盾があれば、疑いが出てしまうというわけです。

Windows 7上のDarkmegiに対して、オンデマンドのルートキット対策ツールがどう対処するかは興味のあるところですが、マイクロソフトのRootkitRevealerといった人気の高いものも含めて、今のところほとんどWindows 7に対応していないようです。

ひとつだけ感染時にカーネルドライバに保護されているユーザーモードコンポーネントを識別できるものがありましたが、修復の完了には再起動が必要でした。1回目の再起動ではシステムがハングアップし、2回目の再起動後にクリーンアップ完了のメッセージが表示されましたが、検出されなかったカーネルドライバによってユーザーモードコンポーネントが復元され、元通り挿入されてしまいました。

また、感染後に使用するタイプの別のツールは、Darkmegiの悪質な実行ファイルを識別しましたが、ファイルを削除しようとすると、システムの問題を引き起こす可能性があるため推奨しないという表示が出ました。かまわず削除したところ、システムがブルースクリーンループに陥り、セーフモードでも抜け出すことができませんでした。

Windows 7では成功しませんでしたが、ファイル比較ツールを感染したWindows XPシステムで試してみることにしました。テストの結果、読み取りではなく、ファイルのリストアップを許可する手法により、いくつかのツールが回避される可能性があることが判明しました。

以上により、感染後にルートキット削除ツールを実行しても、望ましくない結果に終わることがわかります。OSが支配される前に検知することが理想的です。

リアルタイムにマルウェアを捕えるDeep Defender
McAfee Deep Defenderは、カーネルメモリーのリアルタイム監視により、悪質なイベントをブロックし、問題のルートキットをブラックリストに入れ、削除することができます。

インストール中にDarkmegiを捕らえたDeep Defender

ルートキットが削除または無力化されれば、ユーザーモードコンポーネントはロードされず、同様に無力化されます。

関連情報:McAfee Deep Defender