はじめに
少し前からXでファイルに更新日時が全部同じだから〇〇だという主旨の投稿が増えました。その背景についてはこの記事では触れませんが、ファイルの更新日時を含めたWindowsにおけるタイムスタンプについて改めてまとめてみたいと思います。
タイムスタンプ
まず、ファイルのタイムスタンプとは、それぞれのファイルに付与される時刻情報です。
以下はC:\test.txtを作成した直後のプロパティです。作成日時、更新日時、アクセス日時の3つが表示されています。
そして同じファイルをFTK Imagerで確認すると、もう一つタイムスタンプがあることがわかります。
プロパティにはなかったChange timeというものが追加されています。
タイムスタンプの変化
次に別のファイルtest2.txtを作成し、今度はこのファイルを作成した後に追記してみます。すると以下のようになります。
作成日時はそのままで、それ以外の日時は追記した時点で更新されていることがわかります。
このようにファイルの操作によってタイムスタンプが変化するため、タイムスタンプによってファイル操作がどのように行われたかわかるようになっています。
これらの変化についてはSANSのポスターにまとまっています。
これはFile_Nameと呼ばれる上記とは別の情報です。これらも作成、更新、アクセス、変更という4種類がありますが、単純にファイルが変更されたから更新されるというものではありません。
File_Nameの変化のルールは以前はSANSのポスターに記載されていましたが、いつの間にか消えていました。
更新日時がすべて一致するケース
それではXで話題になっていた更新日時がすべてのファイルで一致するケースとはどのようなケースでしょうか。思いつく限りで挙げてみました。
- すべてのファイルが同じタイミングで作成された
可能性としてはあり得ますが、プログラムを使って一気に作成する必要があり、通常の利用では考えにくいです。 - すべてのファイルが同じタイミングで更新された
こちらも同様にあり得ますが、プログラムを使って一気に更新する必要があるため考えにくいです。 - 別のマシン上で作成されたファイルがコピーされた
これは可能性としてはあり得ますが、別のマシンからコピーされた場合、更新日時はコピー元のファイルのタイムスタンプを引き継ぐことが多いです。ただし転送方法によっては引き継がない場合もあるので可能性としてはあり得ます。なお、ローカルでコピーした場合は引き継がれます。 - その他の可能性
例えばブラウザでダウンロードした場合はダウンロードの方法によっては更新日時がすべて一致するかもしれません。ブラウザでzipファイルをダウンロードし、ローカルで解凍した場合、ファイルの更新日時はzipファイル内に含まれているものを引き継ぐ場合とそうではない場合があります。後者であればすべてのファイルの更新日時が一致してもおかしくはありません。
結論
結論としてはこれだけで何かを断定できるものではありません。そのファイルがどこから来たものかはブラウザの履歴、LNKファイル、Shellbagsなどのアーティファクトを調べることで調査できる可能性があります。
もし今回の話題でファイルの更新日時に興味を持たれた方がいれば、ぜひフォレンジックについても調べていただけると引退したフォレンジッカーとしては大変うれしく思います。
なお、調査する際には正しい手順で証拠保全しなければ証拠として認められない可能性が高いです。特に裁判になりそうな事案ではお近くのフォレンジックベンダーにご相談ください。