フォレンジック-ファイルカービング
これまで、フォレンジックにおいて削除されたファイルを復元させることの重要性をお話してきました。それは、外部からのサイバー攻撃にしても、内部からの不正な情報持ち出しにしても、不正を行った当時者は実行した内容の痕跡を消すためにファイルの削除を行うことが大多数だからです。その隠滅させられた対象のデータこそ、何より重要な証拠となる可能性が高いです。そのため、復元することが大切だということがいえます。
今までにお話した削除ファイルの復元は、メタデータに依存してきました。ごみ箱から削除されたデータも、メタデータ上で削除フラグが立つだけで、実際のデータ部は上書きされるまでは削除されないことが大半です。
今回は、メタデータが無くても復元可能となる技術である「ファイルカービング」を解説します。
ファイルカービングの仕組み
前述の通り、ファイルカービングでのファイル復元にはメタデータの情報は用いません。ではどうやって復元するかというと、直接直にデータ部を読みに行くのです。
補助記憶装置上に残された情報の断片の記録を基に、ファイルの復元を試みるのがファイルカービングです。ではどうしたらそんなことができるのでしょうか?
実は多くのファイルは、特徴を持っています。あるファイル形式では、先頭部(ヘッダー)にとある一定の文字列が入り、終端部(フッター)にまた別の文字列が入るといったことがあります。ファイルカービングの最も基本的な手法はこういった特徴を見出すことにあります。
例を挙げると、画像データのファイル形式のひとつであるJPEG形式では、ヘッダは $FF D8 FF E0$ や $FF D8 FF E1$ などで始まり、フッタは $FF D9$ で終わることが多くなっています。この特徴のことをファイルシグネチャといいます。このようにファイルシグネチャが存在する形式のファイルは多数あり、ファイルカービングを行うためのフォレンジックツールでは、数百以上のファイルシグネチャを理解できるものもあります。
ファイルカービングは補助記憶装置のデータが保管されている箇所を全て見ていき、ファイルシグネチャを探し出します。これは人間が手作業で行うには少し難しい所がありますので、前述の通り、フォレンジックツールが使用されることが一般的です。
なお、カービングとは、「切り出す」といったような意味を持つ英単語で、ヘッダーとフッターの間のデータを判別して抜き出す動作をすることからこのように呼ばれます。
ファイルカービングの課題
ファイルカービングは万能の手法ではありません。弱点も多数保有しています。例えば、データの断片化はその最たるものといえます。
断片化とは、補助記憶装置上に連続したセクタ上にデータが並ばない事象のことです。ディスクドライブの空き容量が少なくなってくると顕著になりますが、わずかな空き容量を活用するため、補助記憶装置上にて、飛び飛びでデータが保存される傾向が強くなります。カービングはこの断片化に弱いのです。
もともと連続した領域にファイルのデータがあるという前提に立ってカービングを行いますので、仮に途中に別のファイルがあって、そこに偶然フッターのファイルシグネチャがあった場合など、誤ったファイルを一つのものとして結合してしまうこともあり得ます。
また、カービングはメタデータが存在していない場合の最後の手段として使われることも多くなっていますが、メタデータが無いという事は、ファイル名や保存ディレクトリ等の情報もわからないということになります。
したがって、大半のフォレンジックツールでカービングを行った場合、ファイル名はツールが機械的に名付けた名前が付与されます。
これは分析時に大変な問題になります。フォレンジックを行う調査官が手動で、この出所もファイル名もわからない大量のファイル群から、証拠に直結するデータを探し出すのには困難を伴います。これもファイルカービングの抱える大きな課題のひとつです。
高度なカービング手法
こういった問題に対処するために、より高度なカービング技術が考案されています。例を挙げると、このファイル形式では統計的に恋打った文字列が利用されることが多い、といった情報から元のファイル形式を推測し、カービングを行う技術があります。また、ファイルの中身に含まれる文字列からファイルの形式を推定する手法も実現されています。
ただ、これらの高度な手法も完全とはいえず、カービングは間違った推察をしてしまう可能性があるものだという認識は持っておく必要があります。
まとめ
ファイルカービングは、メタデータが利用できない場合に用いられる、データを直接的に分析して、元のファイルを推察する手法です。これが決定的な証拠として用いられるケースも多く、フォレンジックにおける最後の手段のひとつとして広く利用されています。
その決定力とは反面に、ファイルカービングにはまだまだ課題も多くあり、万能の手法ではありません。実際に使用するケースではフォレンジック専門のツールを使用する事になりますが、ツールの特性や限界をきちんと理解した上で用いることが必要だといえるでしょう。