Trusted Design

T1093 - Process Hollowing

概要

Process hollowing occurs when a process is created in a suspended state then its memory is unmapped and replaced with malicious code. Similar to Process Injection, execution of the malicious code is masked under a legitimate process and may evade defenses and detection analysis. (Citation: Leitch Hollowing) (Citation: Elastic Process Injection July 2017)

管理者によるコメント

T1093「Process Hollowing」(プロセス・ホロウィング) は、攻撃者が「信頼されたプロセス」の皮を被り、その中身(コード)を自分のものに入れ替える、非常に高度でステルス性の高いプロセスインジェクション手法です。

1. 概要

「Hollowing(中身を空にする)」という名の通り、正規のプロセスを起動し、そのメモリ内にある正規のコードを抜き取って、代わりに悪意のあるコードを流し込みます。

2. 攻撃の流れ

Windows APIを巧みに操る、以下のステップで行われます。

  1. プロセスの作成 (Create): ターゲットとなる正規の実行ファイル(例:lsass.exe)を、「サスペンド(一時停止)状態」で起動します(CREATE_SUSPENDED フラグを使用)。
  2. メモリの解放 (Unmap): 起動したプロセスのメモリ空間から、本来の実行ファイルの中身(イメージ)をマッピング解除して空の状態にします(NtUnmapViewOfSection などを使用)。
  3. 悪意あるコードの割り当て (Allocate): 空になったメモリ空間に、攻撃者のコードを書き込むための領域を確保します(VirtualAllocEx)。
  4. コードの注入 (Write): 確保した領域に、実行したいマルウェアのコードを書き込みます(WriteProcessMemory)。
  5. 実行の再開 (Resume): プロセスのエントリポイント(実行開始位置)を書き換えた後、サスペンド状態を解除します(ResumeThread)。これにより、正規のプロセスの名前でマルウェアが動き出します。

3. 防御・対策

「正規プロセスが動いている」という外見に騙されない監視が必要です。

4. 重要ポイント

5. 関連する主なCWE

6. 関連する代表的なCVE

T1093はOSの標準機能(プロセス管理機能)を悪用するため、特定の脆弱性を突くというよりは「手法」そのものですが、これに関連して悪用されるケースがあります。

豆知識: T1093 が使われる際、よくセットで登場するのが「空の器」にされる svchost.exe です。このプロセスはWindows内に多数存在するため、一つくらい中身が入れ替わっていても目立たないからです。

分析

この攻撃手法を利用する脅威アクター

関連する CVE

この攻撃手法に関連する CVE は登録されていません。

攻撃手法 – 脅威アクター Graph


← Technique一覧に戻る ← Tactics一覧に戻る