NTFSボリューム F: 上でデフラグを実行した場合に、$LogFile に記録される内容を確認してみます。
サンプルの画像ファイル crocodile.jpg のメタ情報を確認します。クラスタ番号 34848 からデータが配置されています。
$STANDARD_INFORMATION Attribute Values:
Flags: Archive
Owner ID: 0
Security ID: 264 (S-1-5-21-1901480256-120802936-2790681297-1000)
Created: 2017-10-29 00:28:07.050364800 (UTC)
File Modified: 2017-09-15 22:08:28.397301700 (UTC)
MFT Modified: 2017-09-15 22:08:28.397301700 (UTC)
Accessed: 2017-10-29 00:28:07.050364800 (UTC)
DataRun
デフラグを実行
F:ドライブ上で幾つかファイルを削除した後、デフラグを実行します。
デフラグ実行後の crocodile.jpg のメタ情報を確認します。新たにクラスタ番号 1992 からデータが配置されています。
また、MFT Modified のタイムスタンプはデフラグにより変化してない事を確認できます。
$STANDARD_INFORMATION Attribute Values:
Flags: Archive
Owner ID: 0
Security ID: 264 (S-1-5-21-1901480256-120802936-2790681297-1000)
Created: 2017-10-29 00:28:07.050364800 (UTC)
File Modified: 2017-09-15 22:08:28.397301700 (UTC)
MFT Modified: 2017-09-15 22:08:28.397301700 (UTC)
Accessed: 2017-10-29 00:28:07.050364800 (UTC)
DataRun
$LogFile
LogFileParser を利用して、デフラグ実行後の $LogFile ファイルをパースします。
フィルタを利用し、crocodile.jpg ファイルのレコードを表示します。
デフラグ前の DataRun値 32 78 07 20 88 00 を $LogFile で検索します。オフセット位置 4AB70 でヒットしました。この値が含まれると考えられる $LogFile のレコードオフセットは 0x0004AB08 です。
オフセット 0x0004AB08(LSN 1086817)のレコードをパースしてみます。
6195100000000000 this_lsn; ⇒ 1086817
5595100000000000 client_previous_lsn; ⇒
5595100000000000 client_undo_next_lsn;
40000000 client_data_length; ⇒ 64
0000 seq_number;
0000 client_index;
01000000 record_type;
18000000 transaction_id;
0000000000000000 reserved_or_alignment[3];
0900 redo_operation; ⇒ UpdateMappingPairs
0900 undo_operation; ⇒ UpdateMappingPairs
2800 redo_offset; ⇒ 40
1000 redo_length; ⇒ 16
3800 undo_offset;⇒ 56
0800 undo_length;⇒ 8
1800 target_attribute;
0100 lcns_to_follow;
1001 record_offset; ⇒ 272
4000 attribute_offset; ⇒ 64
0200 MFT Cluster Index
0200 alignment_or_reserved;
0D000000 Target VCN
00000000 Alignment or Reserved
0D630000 Target LCN
00000000 alignment_or_reserved1;
220001C807327806588100008AB1FFFF ⇒ redo data
3278072088000000 ⇒ undo data
上記の C807(1992)は新たに配置されたクラスタ番号のデータ部分になります。
クラスタの再配置により、クラスタ番号 1992 が長さ 1 で割り当てられた時点のデータである事を確認できます。
クラスタが徐々に割り当てられていく状況は、lf_DT_DataRuns のセル内容から確認ができます。
参考URL:
http://forensicinsight.org/wp-content/uploads/2013/06/F-INSIGHT-NTFS-Log-TrackerEnglish.pdf
https://www.sans.org/summit-archives/file/summit-archive-1493741055.pdf