Prefetch、AmCache、ShimCache:プログラム実行証拠のクイックリファレンス

読了 2 分

TL;DR. 優先順に読みましょう:Prefetch(有効なら最強)→ BAM/DAM(Win10+ のユーザー別最終実行、過小評価されている)→ AmCache(SHA-1 識別)→ ShimCache(ファイルの存在)→ UserAssist(Explorer 経由の起動のみ、ROT13 エンコード)。三角測量を — 単一アーティファクトで案件は終わりません。

「このプログラムは実行されたか、いつ、誰によって?」という問いに完全に答えてくれる単一の Windows アーティファクトは存在しません。調査員は複数の証拠を三角測量します。本稿は、各アーティファクトが何を語り何を語らないかをまとめた実務的なショートリストです。

ショートリスト

アーティファクト場所記録内容実行の証拠としての信頼性
PrefetchC:\Windows\Prefetch\*.pfパス、実行回数、直近 8 回の実行時刻、ロードファイル非常に高い — プロセス起動時のみ書き出し
AmCacheC:\Windows\AppCompat\Programs\Amcache.hveパス、SHA-1、サイズ、発行元、インストール + 初回実行高い — 実行タイムスタンプを明示的に記録
ShimCacheSYSTEM ハイブ …\AppCompatCacheパス、ファイル mtime中程度 — 存在は立証するが、実行を必ずしも示さない
UserAssistNTUSER.DAT …\UserAssistExplorer 経由でユーザーごとに起動した GUI プログラム高い — ただしユーザー起動のみ。名前は ROT13 エンコード
BAM / DAMSYSTEM ハイブ …\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 のツール群AppCompatCacheParserAmcacheParserPECmdRBCmd など — です。ライブトリアージには Velociraptor のアーティファクトライブラリ が便利です。ShimCache 専用なら、何もインストールせずに Shimcache Parser をブラウザ上で使えます。

さらに読む

関連記事