メタデータの解析

概要

メタデータ解析モードでは、調査員がメタデータの構造の詳細を確認することが可能となる。 ディスク上のメタデータの構造体には、ファイルの時刻や割り当てられているデータ部へのポインタといったファイルの詳細情報が格納される。 FFS と EXT2FS ファイルシステムでは、これを inode 構造体と呼び、NTFS ファイルシステムでは MFT(Master File Table)エントリ(もしくはファイルエントリ(File Entry)と呼び、FAT ファイルシステムでは、ディレクトリエントリと呼ぶ。 このモードはデータの復元やファイルに関する詳細を表示させるのに有用である。

入力

構造体の内容を表示させるには、左側のテキストボックスにアドレスを入力の上、DIsplay(OKボタン)を選択する。

Allocation List ボタンにより、メタデータ構造体の割り当て状態を 500 個ずつ表示させることも可能である。

画面表示

構造体の詳細は右側に表示される。 通常、メタデータ構造体には、構造体を利用しているファイル名が格納されていないため、Autopsy ではファイル名を確認しようとする。 FAT ファイルシステムでは、この処理に時間がかかるため、デフォルトでは行なわないようになっている。

「file」ツールの出力により、File Typeが表示される。 このツールはファイルのヘッダ情報からファイルのタイプを推定する。 ファイルの MD5 ハッシュ値も表示される。

Autopsy がハッシュデータベースを用いるように構成されている場合、ファイルを検索するために用いるデータベースを選択することが可能である。 詳細については、ハッシュデータベースを参照のこと。

その他の情報はファイルシステムのタイプに依存する。 通常、データユニットの割当て状態として、割当てられているデータユニットの番号やサイズの情報が表示される。各データユニットには、その内容を表示するためのリンクが生成される。

Report オプションにより、構造体の詳細/MD5 の値/各種時刻などに関する ASCII のレポートを生成できる。 View Contents オプションにより、割り当てられているデータユニットの内容を一つの巨大なファイルとして表示できる。 Export(Export Contents) オプションにより、データの内容をファイルに保存することが可能となる。 Add Note ボタンにより、後で参照した時のために、この構造体に関するコメントを付加することが可能となる。

NTFS についての注意

NTFS は UNIX のファイルシステムとはデザインが大きく異なっており、メタデータ構造体の構成も異なっている。 NTFS のメタデータ構造体は、A-B-C (例えば88-123-3) のような形式で格納されている。 A の値(上記では 88) は MFT におけるファイルの位置を示す。 これは UNIX の inode の値に類似したものである。 ファイル内容に関するものを含め、各ファイルにはいくつかの属性がある。B の値は、属性のタイプを示す。ほとんどの場合、これはデータ属性を示す 128 の値をとる。 しかし、例えばファイル名の属性を確認したい場合は、明示的に指定することで確認することも可能である(it is fairly boring)。最後の値である C の値は id である。各属性には一意な ID の値を持つ。そのため、同じタイプの属性が複数あっても、それらを区別することが可能である。

FAT についての注意

FAT はディレクトリエントリ構造体の位置に関する情報を持たない。 FAT において、ディレクトリエントリはディスクのどこに格納されているかわからず、親ディレクトリに割当てられたクラスタ内に格納されている。 これは、構造体がディスク上の特定の位置にあり移動することのない巨大なテーブルに存在している NTFS や UNIX とは大きく異なる。 get around that,

The addressing issue was solved by providing an address to every 32-byte area in the Data Area. Whether that data was currently a directory entry or not. This makes it easy to find a given address and scale when new files are created. The downside is that not every address is possible, so it is likely that you will see jumps in the address values. 詳細については TASK のドキュメントを参照のこと。


Brian Carrier