プロセス・ドッペルゲンジング(Process Doppelgänging)は、Windows OSのファイルトランザクション機能を悪用した検知回避手法の一つで、マルウェアがセキュリティ対策ソフトに発見されないようにするために用いられます。この手法では、正規のプロセスに見せかけて悪意のあるコードを実行させることが可能で、アンチウイルスやエンドポイントセキュリティソフトからの検知を回避する高度な手法です。プロセス・ドッペルゲンジングは、一般的なファイルベースのマルウェア検知技術を回避できるため、マルウェアがシステム内で発見されにくくなるリスクがあります。
プロセス・ドッペルゲンジングは2017年に発表された技術で、特にファイルシステムトランザクションを悪用し、ディスク上に実体のない状態でプロセスを作成し、正規のプロセスに偽装することでセキュリティ対策をすり抜けることを目的としています。
プロセス・ドッペルゲンジングの仕組み
プロセス・ドッペルゲンジングは、Windowsのトランザクショナルファイルシステム(TxF)を利用して、悪意のあるコードを実行する手法です。以下は、この技術の基本的な流れです。
- トランザクションを開始 Windowsのファイルトランザクション機能を利用して、トランザクションを開始します。この段階では、まだディスク上に変更が反映されない状態です。
- 悪意のあるコードをメモリにロード トランザクション内で、悪意のあるコード(マルウェア)を一時的にメモリにロードします。このとき、ファイルシステムには悪意のあるコードの実体が存在しないため、アンチウイルスソフトがスキャンできない状態になります。
- プロセスを作成しメモリ上で実行 トランザクションの状態でプロセスを作成し、悪意のあるコードを実行します。メモリ内のプロセスは実行中でありながら、ファイルシステムには存在しない状態であるため、一般的なファイルベースの検出手段では検知できません。
- トランザクションの中断 プロセスが開始された後、トランザクションを中断または終了します。これにより、悪意のあるコードがディスクに書き込まれることなく、実行されることが可能になります。最終的に、システム上にはファイルとしてのマルウェアの痕跡が残らないため、検知を逃れることができます。
この手法によって、正規のプロセスに偽装したまま悪意あるプロセスを実行できるため、アンチウイルスソフトなどの検知を回避できるのです。
プロセス・ドッペルゲンジングの目的とリスク
主な目的
- 検知回避:プロセス・ドッペルゲンジングは、ファイルシステム上に痕跡を残さないため、ファイルベースの検出技術を回避できます。これにより、セキュリティソフトや監視システムによる検知を防ぎます。
- 持続的な攻撃:システムに侵入した後も、悪意のあるプロセスが検知されない状態で動作し続けることが可能となり、持続的な攻撃やスパイ活動を行うための拠点として利用されることがあります。
- 偽装:正規のプロセスに偽装して動作するため、プロセスモニタリングツールなどで確認しても、不正なプロセスと見破りにくくなります。
主なリスク
- 情報漏洩:正規プロセスに見せかけてシステム内にとどまり、ユーザー情報やシステムデータを収集して外部に流出させるリスクがあります。
- システム権限の不正使用:管理者権限などの高権限でプロセスが実行される場合、システム全体の制御を奪われるリスクがあります。
- マルウェアの拡散:一度システム内で検知されないプロセスが作成されると、他のネットワークに感染を拡大させたり、新たなマルウェアをダウンロードして実行することが可能です。
- システムパフォーマンスの低下:バックグラウンドで不正なプロセスが動作することで、システムのリソースを消費し、パフォーマンスが低下する可能性があります。
プロセス・ドッペルゲンジングへの対策
プロセス・ドッペルゲンジングはファイルベースの検出をすり抜けるため、従来のセキュリティ対策に加えて、メモリ内の動作を監視する対策が必要です。以下は、この手法に対する有効な対策です。
1. EDR(Endpoint Detection and Response)の導入
EDRは、エンドポイント上でのプロセスやスレッドの挙動をリアルタイムで監視し、不審な動作を検知するためのツールです。EDRを使用することで、ディスクに存在しない不正プロセスも検出可能になります。
2. アンチウイルスのメモリスキャン機能の活用
メモリスキャンをサポートするアンチウイルスソフトを使用し、プロセスの実行中にメモリ上で不審なコードが実行されていないかを監視します。これにより、ディスク外で動作するマルウェアを検出することが可能です。
3. アクセス制御の強化
高権限が不要なユーザーには、管理者権限を付与しないようにすることで、プロセス・ドッペルゲンジングによるシステム乗っ取りのリスクを低減できます。
4. ソフトウェアの定期更新とパッチの適用
Windows OSやその他ソフトウェアに定期的にパッチを適用し、ファイルトランザクション機能の悪用を防ぐための脆弱性を修正しておくことが重要です。
5. メモリ保護機能の活用
データ実行防止(DEP)やアドレス空間配置のランダム化(ASLR)などのメモリ保護機能を利用して、悪意あるコードがプロセス内で実行されるリスクを低減します。
まとめ
プロセス・ドッペルゲンジングは、Windowsのファイルトランザクション機能を悪用し、ファイルとしての痕跡を残さずに悪意のあるコードを実行する高度なマルウェア検知回避技術です。この手法により、従来のファイルベースの検出手段をすり抜け、セキュリティソフトや監視システムから検知されにくくなります。EDRの導入やメモリスキャン、アクセス制御の強化など、メモリ内の挙動を監視する対策が効果的です。