TL;DR. 優先順に読みましょう:Prefetch(有効なら最強)→ BAM/DAM(Win10+ のユーザー別最終実行、過小評価されている)→ AmCache(SHA-1 識別)→ ShimCache(ファイルの存在)→ UserAssist(Explorer 経由の起動のみ、ROT13 エンコード)。三角測量を — 単一アーティファクトで案件は終わりません。
「このプログラムは実行されたか、いつ、誰によって?」という問いに完全に答えてくれる単一の Windows アーティファクトは存在しません。調査員は複数の証拠を三角測量します。本稿は、各アーティファクトが何を語り何を語らないかをまとめた実務的なショートリストです。
ショートリスト
| アーティファクト | 場所 | 記録内容 | 実行の証拠としての信頼性 |
|---|---|---|---|
| Prefetch | C:\Windows\Prefetch\*.pf | パス、実行回数、直近 8 回の実行時刻、ロードファイル | 非常に高い — プロセス起動時のみ書き出し |
| AmCache | C:\Windows\AppCompat\Programs\Amcache.hve | パス、SHA-1、サイズ、発行元、インストール + 初回実行 | 高い — 実行タイムスタンプを明示的に記録 |
| ShimCache | SYSTEM ハイブ …\AppCompatCache | パス、ファイル mtime | 中程度 — 存在は立証するが、実行を必ずしも示さない |
| UserAssist | NTUSER.DAT …\UserAssist | Explorer 経由でユーザーごとに起動した GUI プログラム | 高い — ただしユーザー起動のみ。名前は ROT13 エンコード |
| BAM / DAM | SYSTEM ハイブ …\bam\State | ユーザーごと・バイナリごとの最終実行時刻 | 非常に高い — Win10+、解析が容易、見落とされがち |
優先順位順に読む
1. まず Prefetch。 .pf ファイルは、Windows が提供する「これは実行された」という最も領収書に近い記録です。直近 8 回までの実行時刻を保持し、現行 Windows ではワークステーションで既定で有効です。Eric Zimmerman の PECmd が標準パーサです。
2. 次に BAM / DAM。 Background / Desktop Activity Moderator はバックグラウンドアプリを抑制するサービスで、SYSTEM ハイブの …\bam\State、…\dam\State 下にユーザーごと・バイナリごとの「最終実行」タイムスタンプを保持します。Windows 10/11 に存在し、ノイズが少なく、任意のレジストリツールで読み取れます。
3. 3 番目に AmCache。 Prefetch が無効化されている環境(サーバなど!)を補強し、SHA-1 ハッシュでファイルを一意に特定できます。詳細は ShimCache vs AmCache を参照。
4. 4 番目に ShimCache。 実行の宣言ではなく、「ファイルが存在した」アンカーとして扱ってください。理由は 実行証明に関する記事 で詳説しています。
5. 最後に UserAssist。 Explorer 起点の インタラクティブ な起動に対しては強力な証拠ですが、シェル、スケジュールタスク、サービスから起動された処理には盲目です。「ユーザーがクリックしたか?」には有効ですが、「このバイナリは実行されたことがあるか?」には不十分です。
よくある落とし穴
- Prefetch は無効化されることがあります(SSD やポリシーによって)。不在をもって「何も実行されなかった」と決めつけてはいけません。
- AmCache はローテートし、古いエントリは消えます。 トリアージの早い段階で収集してください。
- ShimCache のタイムスタンプはファイル mtime であり実行時刻ではありません。 多くの調査員が痛い目を見た事実です。
- UserAssist の名前は ROT13 エンコードされています。 復号は簡単ですが、慣れない読者を混乱させます。
- BAM は過小評価されています。 現行 Windows では「このバイナリはこのユーザーで実行されたか?」を最もクリーンに示すシグナルのひとつです。
ツール
ハイファイなオフライン解析の事実上の標準は Eric Zimmerman のツール群 — AppCompatCacheParser、AmcacheParser、PECmd、RBCmd など — です。ライブトリアージには Velociraptor のアーティファクトライブラリ が便利です。ShimCache 専用なら、何もインストールせずに Shimcache Parser をブラウザ上で使えます。
さらに読む
- AppCompatCacheParser (Zimmerman) — リファレンスとなる ShimCache パーサ。
- Velociraptor の ShimCache アーティファクト — ライブシステム収集ロジック。
- ShimCache & AmCache forensic analysis (Mehrnoush) — ケース駆動の詳細な解説。