fte

typeカラム

fteを実行するとタブによってはtypeカラムにタイムスタンプの種類を出力します。記録されている4つのタイムスタンプ(ファイル作成日時: crtime, 最終更新日時: mtime, エントリ更新日時: ctime, 最終アクセス日時: atime)値から、ファイルがどこで、どのようにして生成されたか、最も妥当と判断した情報を出力しています。

fteが扱う分類について以下に記載します。

FAT

FAT上で保持するタイムスタンプの精度に一致する場合です。

  • atime - 日単位
  • mtime - 2秒単位
  • ctime - なし (fte上は1601/01/01 00:00:00+タイムゾーンの表示)
  • crtime - 10ミリ秒単位

exFAT

exFAT上で保持するタイムスタンプの精度に一致する場合です。

タグ

動作環境

fteはMicrosoft .NET Framework 2.0以上およびVisual C++ 2008ランタイムがインストールされている環境で動作します。

条件を満たす環境ではfte.exeを実行するだけで起動しますが、エラーが出る場合は以下から必要なパッケージを入手してインストールする必要があります。

.NET Framework ダウンロード
http://msdn.microsoft.com/ja-jp/netframework/aa569263.aspx

Microsoft Visual C++ 2008 SP1 再頒布可能パッケージ (x86)
http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=A5C84275-...

タグ

INDX アーティファクト(2)

INDX アーティファクト(1)でも書いた通り、NTFSのフォルダ構造では$INDEX_ROOT属性と$INDEX_ALLOCATION属性を使います。$INDEX_ROOTはResidentな属性でありMFTエントリ内のみを保存場所に使いますが、$INDEX_ALLOCATION、いわゆるINDXレコードはNon-Residentな属性でありクラスタを割り当てます。例えば図のように、ファイル/フォルダの作成、更新、削除の処理の組み合わせによっては、フォルダに相当するMFTエントリが上書きされてもINDXレコード使っていたクラスタは上書きされない場合があります。

fte Carving INDX

タグ

MFT アーティファクト

fteのMFTタブではNTFS内の$MFTファイルを参照して各ファイル/フォルダのタイムスタンプをパースします。

MFT Big Picture

MFTエントリ

NTFSの先頭には$Bootファイルがあり、1クラスタのセクタ数や$MFTファイルの開始位置などの情報が格納されています。$MFTファイルは固定サイズのエントリで構成されており、原則1エントリで1つのファイル、フォルダ(以降オブジェクトと表現)のメタデータを管理します。

各エントリの先頭は必ずシグネチャ"FILE"ではじまるヘッダ領域があり、その中にリンク数、フラグ(ファイル/フォルダ/未使用)、IDなどの情報が含まれます。ヘッダの後は属性情報で構成されており、様々な属性によって構造は様々です。

タグ

ObjectID アーティファクト

ObjectID(オブジェクトID)についてまとめています。ObjectIDの仕組みをご存じの方には目新しい情報は含まれていません。fteの実装は後半のfteの処理内容に書いています。

ObjectIDの仕組み

NTFSではMFTエントリの属性として、$OBJECT_ID(0x40)が定義されておりファイルに付与することができます。この属性はDistributed Link Trackingサービスで使われています。Distributed Link TrackingサービスはWindows 2000からデフォルトでONになっており、例えばあるファイルのショートカットを作成して、その後にファイルを移動しても、ObjectIDの紐付けによりショートカットはファイルの場所を追跡できます。このように、ObjectIDは基本的にショートカットファイル(拡張子lnk)が作成された時点でファイルとショートカットファイル内に付与されます。

タグ