@port139 Blog

基本的にはデジタル・フォレンジックの技術について取り扱っていますが、記載内容には高確率で誤りが含まれる可能性があります。

プログラム実行時の .pf ファイルの Atime

前置きはさておき、試しに notepad.exe を実行した時の Atime と、.pf ファイルの Atime を比較してみます。*1

notepad.exe              2006/4/2 10:34:49
NOTEPAD.EXE-336351A9.pf  2006/4/2 10:34:51

イベントログ上では、notepad.exe の実行時刻が「10:34:49」となっていますので、2秒遅れて NOTEPAD.EXE-336351A9.pf の Atime が更新されています。
再度 notepad.exe を何度か実行し、.pf の Atime の変化を確認してみます。

  notepad.exeのAtime      NOTEPAD.EXE-336351A9.pfのAtime
1 2006/4/2 10:34:49       2006/4/2 10:40:16
2 2006/4/2 10:34:49       2006/4/2 10:45:00
3 2006/4/2 10:34:49       2006/4/2 10:51:05
4 2006/4/2 13:20:27       2006/4/2 13:20:51

1〜3 では、Atime の分解能の影響で notepad.exe の Atime に変化がありませんが、.pf は実行のタイミングで変化していきます。実際には、.pf ファイルは Atime が更新されているということではなく、ファイルの更新(Last Written)が同一時刻で発生している為、先の最終アクセス日時の更新条件“最終書き込み日時”に従って更新されています。
13:20:27 の実行では、先のプログラム実行より1時間以上経過しているため、notepad.exe の Atime が更新されています。
例えば、notepad.exe の Atime が 13:20:27 の状態で、14:19:17 などに notepad.exe を実行しても、分解能が 1時間以内であるため notepad.exe の Atime は更新されません。分解能 1時間は、ある意味かなり幅が大きいので、イベントログ(セキュリティログ)で実行日時を確認するか*2、.pf ファイルのタイムスタンプも併せて見たほうがよいですね。

*1:NOTEPAD.EXE-336351A9.pfはすでに存在している状態

*2:これをやる為には、監査設定が適切に設定されている必要があるわけですが、皆さん取ってますかね?