@port139 Blog

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

くらげ画像のMFTレコード

まず Jellyfish.jpg のMFTレコードを、HighlightSpecificMFTRecordのEnScriptを使ってブックマークして内容を確認。以下、$MFTファイル内のレコード番号(FileIdentifier)38番*1の内容をEnCase上で表示したところ。

46494C4530000300EC3F100000000000 FILE0....?......
0100020038000100D801000000040000 ....8...リ.......
00000000000000000400000026000000 ............&...
02000000000000001000000060000000 ............`...
00000000000000004800000018000000 ........H.......
3897E481A73DCA01421CCEE13E04CA01 8嶺〒=ハ.B.ホ.>.ハ.
EC5BE981A73DCA013897E481A73DCA01 ・驕ァ=ハ.8嶺〒=ハ.
20000000000000000000000000000000 ...............
00000000050100000000000000000000 ................
00000000000000003000000078000000 ........0...x...
00000000000003005A00000018000100 ........Z.......
05000000000005003897E481A73DCA01 ........8嶺〒=ハ.
3897E481A73DCA013897E481A73DCA01 8嶺〒=ハ.8嶺〒=ハ.
3897E481A73DCA0100E00B0000000000 8嶺〒=ハ.........
00000000000000002000000000000000 ...............
0C024A0045004C004C00590046007E00 ..J.E.L.L.Y.F.~.
31002E004A0050004700670000000000 1...J.P.G.g.....
30000000780000000000000000000200 0...x...........
5C000000180001000500000000000500 \...............
3897E481A73DCA013897E481A73DCA01 8嶺〒=ハ.8嶺〒=ハ.
3897E481A73DCA013897E481A73DCA01 8嶺〒=ハ.8嶺〒=ハ.
00E00B00000000000000000000000000 ................
20000000000000000D014A0065006C00 .........J.e.l.
6C00790066006900730068002E006A00 l.y.f.i.s.h...j.
70006700000000008000000048000000 p.g.........H...
01000000000001000000000000000000 ................
BD000000000000004000000000000000 ス.......@.......
00E00B000000000016D60B0000000000 .........ヨ......
16D60B000000000022BE00D307000000 .ヨ......"セ.モ....
FFFFFFFF827947110000000000000000 ....ZG.........
00000000000000000000000000000000 ................

長いファイル名と短いファイル名のレコードとして、$FILENAME属性(30)が二つあります。まず一つ目の短いファイル名の方は以下の部分。0x30000000が属性値のヘッダで次の値が属性の長さになるので、どちらも 0x78 で 120 バイトの長さがあります。

                3000000078000000 ........0...x...
00000000000003005A00000018000100 ........Z.......
05000000000005003897E481A73DCA01 ........8嶺〒=ハ.
3897E481A73DCA013897E481A73DCA01 8嶺〒=ハ.8嶺〒=ハ.
3897E481A73DCA0100E00B0000000000 8嶺〒=ハ.........
00000000000000002000000000000000 ...............
0C024A0045004C004C00590046007E00 ..J.E.L.L.Y.F.~.
31002E004A0050004700670000000000 1...J.P.G.g.....

長いファイル名を保存している$FILENAME属性(30)は続きの以下の部分。

30000000780000000000000000000200 0...x...........
5C000000180001000500000000000500 \...............
3897E481A73DCA013897E481A73DCA01 8嶺〒=ハ.8嶺〒=ハ.
3897E481A73DCA013897E481A73DCA01 8嶺〒=ハ.8嶺〒=ハ.
00E00B00000000000000000000000000 ................
20000000000000000D014A0065006C00 .........J.e.l.
6C00790066006900730068002E006A00 l.y.f.i.s.h...j.
7000670000000000                 p.g.....

このMFTレコード(38番)を持つくらげ画像ファイルを、Windows 7 でゴミ箱フォルダに捨てます(移動する)。すると、MFTレコードでは短いファイル名を保存している $FILENAME 属性値でファイル名部分が変化し、ゴミ箱フォルダ内でのファイル名 $R 形式*2の名前に変更(上書き)されます。*3

                3000000078000000 ........0...x...
00000000000004005A00000018000100 ........Z.......
2E000000000001003897E481A73DCA01 ........8嶺〒=ハ.
421CCEE13E04CA01EC5BE981A73DCA01 B.ホ.>.ハ.・驕ァ=ハ.
3897E481A73DCA0100E00B0000000000 8嶺〒=ハ.........
16D60B00000000002000000000000000 .ヨ.............
0C03240052003700580051004B004B00 ..$.R.7.X.Q.K.K.
42002E006A0070006700670000000000 B...j.p.g.g.....

先の状態では、この$FILENAME属性に続いて再度 $FILENAME 属性がありましたが、長いファイル名を保存していた $FILENAME属性は、$DATA 属性に上書きされる形で失われています。以下は、ゴミ箱にファイルが移動された後の、長いファイル名が保存されていた部分。

80000000480000000100000000000100 ....H...........
0000000000000000BD00000000000000 ........ス.......
400000000000000000E00B0000000000 @...............
16D60B000000000016D60B0000000000 .ヨ.......ヨ......
22BE00D307000000FFFFFFFF82794711 "セ.モ........ZG.
20000000000000000D014A0065006C00 .........J.e.l.
6C00790066006900730068002E006A00 l.y.f.i.s.h...j.
70006700000000008000000048000000 p.g.........H...
01000000000001000000000000000000 ................
BD000000000000004000000000000000 ス.......@.......
00E00B000000000016D60B0000000000 .........ヨ......
16D60B000000000022BE00D307000000 .ヨ......"セ.モ....
FFFFFFFF827947110000000000000000 ....ZG.........

$DATA属性のレコードで上書きされていますが、以前に長いファイル名を保存していた $FILENAME属性の文字列残骸をまだ目視で確認することができます。Windows Vista/7 系では、ファイルがゴミ箱に移動された時点で、長いファイル名を持つレコードだった場合には、MFTレコードのスラック内にファイル名の痕跡が残っている場合があるということになります。ただし、そもそも短いファイル名しか持ってないケースでは $FILENAME属性が一つしかないことや、$DATA 属性が長いと恐らく上書きされるということで、運が良ければというところでしょうか。*4

*1:オフセット位置は1024*38で計算

*2:ファイル名の先頭が$Rになりプラス6文字が追加される、6文字の生成パターンは謎ですがランダムというお話もあるようです

*3:これは Vista 以降の INFO2 ファイルによる管理を利用しないケースでの動作

*4:$Iファイルでオリジナルのファイル名を確認すればよいのですが、それ以外の痕跡というか、MFTレコードしか見あたらないとかそいう場合