ファイルシステムとファイルカービング(FileCarving)

ファイルシステム

OSがファイルを表示する為にファイルシステムと言うものが存在しています。ファイルシステムにはファイル名、作成日、更新日時など(METAデータと言われる物)が格納されています。
Windowsなどで利用されている代表的なファイルシステムはNTFS、FATなどが該当します。ファイルシステムが管理しているファイルのツリー構造を、本の目次の様な物と思って頂ければと思います。
例として、Windowsのゴミ箱から削除されたファイルは 上記の例で示した本の目次ページの文字列を消したに過ぎません。
実際にはその目次が指し示したページにはデータが残っています。その目次が指し示したページを復旧する方法の一つにファイルカービング(FileCarving)と言われる手法が使われます。

ファイルカービング(FileCarving)

METAデータを利用しないデータの復旧方法はファイルのヘッダ情報を探し出す事です。例えば、Javaのクラスファイルの上部ヘッダには、AC FE BA BEを進値の最初の4バイトがあります。
最後に改行となるフッタがファイル内に含まれています。このヘッダとフッタのフラグを利用し、記憶されていたデバイスからファイルを抽出する方法がFileCarving
と言う手法です。しかし、欠点として現在表示されているファイルも抽出される為、削除ファイルと混在して抽出されてしまう事。

よって抽出したファイル内部を確認しなければならない事とファイル名、更新日などのMETAデータが存在しない為、ファイル内の解析を行わなければならないと言う欠点が存在します。