NTFSのトンネリングとLocalFileMove(後編)
はじめに
こんにちは、iria_piyo🐣です。
前編ではファイル削除とファイル移動の操作で作成時間が引き継がれることを確認しました。 今回はファイルの削除、リネームの操作をせず、ファイル移動だけで作成時間が引き継がれるのか気になったので検証してみることにしました。
前編はこちら
NTFSのトンネリングとLocalFileMove(前編) - ひよこメモ
環境
Windows10 バージョン1803
検証内容
/test01内のtest01.txtを/test03に移動し、15秒以内に/test01/test02内のtest01.txtを/test01内に移動すると/test03に移動したtest01.txtの作成時間が引き継がれるのか。 
/test01/test01.txtのタイムスタンプ
>istat \\.\C: 296339-128-1 MFT Entry Header Values: Entry: 296339 Sequence: 54 $LogFile Sequence Number: 75950503896 Allocated File Links: 1 $STANDARD_INFORMATION Attribute Values: Flags: Archive Owner ID: 0 Security ID: 2836 (S-1-5-21-3763767945-1047358448-4033639875-8282) Last User Journal Update Sequence Number: 16369357392 Created: 2018-09-25 09:26:05.266683300 ( File Modified: 2018-09-25 09:26:05.266888700 ( MFT Modified: 2018-09-25 09:26:08.181408600 ( Accessed: 2018-09-25 09:26:05.266683300 ( $FILE_NAME Attribute Values: Flags: Archive Name: test01.txt Parent MFT Entry: 11853 Sequence: 96 Allocated Size: 0 Actual Size: 0 Created: 2018-09-25 09:26:05.266683300 ( File Modified: 2018-09-25 09:26:05.266888700 ( MFT Modified: 2018-09-25 09:26:05.266888700 ( Accessed: 2018-09-25 09:26:05.266683300 ( $OBJECT_ID Attribute Values: Object Id: 33955469-c057-11e8-84dd-a81374942b83 Attributes: Type: $STANDARD_INFORMATION (16-0) Name: N/A Resident size: 72 Type: $FILE_NAME (48-4) Name: N/A Resident size: 86 Type: $OBJECT_ID (64-5) Name: N/A Resident size: 16 Type: $DATA (128-1) Name: N/A Resident size: 0
/test02/test01.txtのタイムスタンプ
>istat \\.\C: 296987-128-1 MFT Entry Header Values: Entry: 296987 Sequence: 13 $LogFile Sequence Number: 75950543246 Allocated File Links: 1 $STANDARD_INFORMATION Attribute Values: Flags: Archive Owner ID: 0 Security ID: 2836 (S-1-5-21-3763767945-1047358448-4033639875-8282) Last User Journal Update Sequence Number: 16369378424 Created: 2018-09-25 09:26:16.854957200 ( File Modified: 2018-09-25 09:26:16.854957200 ( MFT Modified: 2018-09-25 09:26:20.747500700 ( Accessed: 2018-09-25 09:26:16.854957200 ( $FILE_NAME Attribute Values: Flags: Archive Name: test01.txt Parent MFT Entry: 295794 Sequence: 27 Allocated Size: 0 Actual Size: 0 Created: 2018-09-25 09:26:16.854957200 ( File Modified: 2018-09-25 09:26:16.854957200 ( MFT Modified: 2018-09-25 09:26:16.854957200 ( Accessed: 2018-09-25 09:26:16.854957200 ( $OBJECT_ID Attribute Values: Object Id: 339554af-c057-11e8-84dd-a81374942b83 Attributes: Type: $STANDARD_INFORMATION (16-0) Name: N/A Resident size: 72 Type: $FILE_NAME (48-4) Name: N/A Resident size: 86 Type: $OBJECT_ID (64-5) Name: N/A Resident size: 16 Type: $DATA (128-1) Name: N/A Resident size: 0
/test01/test01.txtを/test03へ移動させ、/test01/test02/test01.txtを/test01へ移動させます。 /test01/test02/から移動した/test01/test01.txtのタイムスタンプを確認します。
/test01/test01.txtのタイムスタンプ
>istat \\.\C: 296987-128-1 MFT Entry Header Values: Entry: 296987 Sequence: 13 $LogFile Sequence Number: 75951797368 Allocated File Links: 1 $STANDARD_INFORMATION Attribute Values: Flags: Archive Owner ID: 0 Security ID: 2836 (S-1-5-21-3763767945-1047358448-4033639875-8282) Last User Journal Update Sequence Number: 16370028064 Created: 2018-09-25 09:26:05.266683300 ( File Modified: 2018-09-25 09:26:16.854957200 ( MFT Modified: 2018-09-25 09:34:24.635576100 ( Accessed: 2018-09-25 09:26:16.854957200 ( $FILE_NAME Attribute Values: Flags: Archive Name: test01.txt Parent MFT Entry: 11853 Sequence: 96 Allocated Size: 0 Actual Size: 0 Created: 2018-09-25 09:26:16.854957200 ( File Modified: 2018-09-25 09:26:16.854957200 ( MFT Modified: 2018-09-25 09:26:20.747500700 ( Accessed: 2018-09-25 09:26:16.854957200 ( $OBJECT_ID Attribute Values: Object Id: 339554af-c057-11e8-84dd-a81374942b83 Attributes: Type: $STANDARD_INFORMATION (16-0) Name: N/A Resident size: 72 Type: $FILE_NAME (48-6) Name: N/A Resident size: 86 Type: $OBJECT_ID (64-5) Name: N/A Resident size: 16 Type: $DATA (128-1) Name: N/A Resident size: 0
結果
作成時間が引き継がれました。 削除や、リネームでなくてもディレクトリからファイル名が存在しなくなったら 作成時間がキャッシュ保存されて、今回のように引き継がれてしまうのでしょうかね。 また何か思いついたら、NTFS/FATのトンネリング*1についてもっと調べていきたいと思います。 面白い結果が見れて良かったです。
参考資料
A Fistful of Dongles: Microsoft Windows File System Tunneling