ファイル カービングは、ファイル システム メタデータが存在しない場合に、断片からコンピューター ファイルを再構成するプロセスです 。
はじめにと基本原則
すべてのファイルシステムには、実際のファイルシステムを説明するメタデータが含まれています。少なくとも、これにはフォルダとファイルの階層と、それぞれの名前が含まれます。また、ファイルシステムは、各ファイルが保存されているストレージ デバイス上の物理的な場所も記録します。以下で説明するように、ファイルは異なる物理アドレスに断片的に分散している場合があります。
ファイル カービングとは、このメタデータなしでファイルを復元しようとするプロセスです。これは、生データを分析してそれが何であるか (テキスト、実行可能ファイル、png、mp3 など) を識別することによって行われます。これはさまざまな方法で実行できますが、最も簡単な方法は、ファイル署名または特定のファイル タイプの始まりと終わりを示す「マジック ナンバー」を探すことです。[1]たとえば、すべての Java クラス ファイルの最初の 4 バイトは 16 進値ですCA FE BA BE。一部のファイルにはフッターも含まれており、ファイルの終わりを識別するのも同様に簡単です。
FATファミリーや UNIX のFast File Systemなど、ほとんどのファイル システムは、同じ固定サイズのクラスターの概念で動作します。たとえば、FAT32ファイル システムは、それぞれ 4 KiB のクラスターに分割される場合があります。4 KiB 未満のファイルは 1 つのクラスターに収まり、各クラスターに複数のファイルが存在することはありません。4 KiB を超えるファイルは、多くのクラスターに割り当てられます。これらのクラスターはすべて連続している場合もあれば、2 つまたは場合によってはそれ以上のフラグメントに分散している場合もあります。フラグメントには、ファイルのデータの一部を格納する連続したクラスターがいくつか含まれています。当然、大きなファイルは断片化される可能性が高くなります。
Simson Garfinkel [2]は、 FAT、NTFS、UFSファイルシステムを含む350以上のディスクから収集された断片化統計を報告しました。彼は、一般的なディスクの断片化は低いものの、電子メール、 JPEG、Word文書などの法医学的に重要なファイルの断片化率は比較的高いことを示しました。JPEGファイルの断片化率は16%、Word文書は17%、AVIは22%、PSTファイル(Microsoft Outlook)は58%の断片化率(2つ以上の断片に断片化されているファイルの割合)であることがわかりました。Pal、Shanmugasundaram、およびMemon [3]は、断片化された画像を再構成するための貪欲ヒューリスティックとアルファベータプルーニングに基づく効率的なアルゴリズムを提示しました。Pal、Sencar、およびMemon [4]は、断片化ポイントを検出するための効果的なメカニズムとして順次仮説検定を導入しました。 RichardとRoussev [5]は、2005年から存在し、当初はForemost [7]をベースにしたオープンソースのファイルカービングツール[6]であるScalpelを発表しました。
ファイル カービングは非常に複雑なタスクであり、試すべき順列の数は膨大になる可能性があります。このタスクを扱いやすくするために、カービング ソフトウェアでは通常、モデルとヒューリスティックを多用します。これは、実行時間の観点からだけでなく、結果の精度の観点からも必要です。最先端のファイル カービング アルゴリズムでは、断片化ポイントを決定するために、順次仮説検定などの統計的手法を使用します。
モチベーション
ほとんどの場合、ファイルが削除されると、ファイル システム メタデータのエントリは削除されますが、実際のデータはディスク上に残っています。ファイル カービングを使用すると、メタデータが削除されたり、その他の理由で破損したハード ディスクからデータを回復できます。このプロセスは、ドライブがフォーマットされたり、パーティションが再分割された後でも成功する場合があります。
ファイルカービングは無料または市販のソフトウェアを使用して実行でき、多くの場合、データ復旧会社によるコンピュータフォレンジック調査と併せて、または他の復旧作業(ハードウェア修理など)と並行して実行されます。 [8] データ復旧の主な目的はファイルの内容の復旧ですが、コンピュータフォレンジック調査官は、ファイルの所有者、保存場所、最終更新日などのメタデータにも同じくらい興味を持っています。[9] したがって、フォレンジック調査官はファイルカービングを使用して、ファイルがかつてハードドライブに保存されていたことを証明できますが、誰がそのファイルをそこに置いたかを証明するために他の証拠を探す必要がある場合があります。
彫刻計画
二分片ギャップカービング
Garfinkel [2]は、2 つに分割されたファイルを再構成するための高速オブジェクト検証の使用を紹介しました。この手法は、Bifragment Gap Carving (BGC) と呼ばれます。開始フラグメントのセットと終了フラグメントのセットが識別されます。フラグメントは、一緒に有効なオブジェクトを形成する場合に再構成されます。
スマートカービング
Pal [3] は、二重断片化ファイルに限定されないカービング方式を開発しました。SmartCarving と呼ばれるこの技術は、既知のファイルシステムの断片化動作に関するヒューリスティックを利用します。このアルゴリズムには、前処理、照合、および再アセンブリの 3 つのフェーズがあります。前処理フェーズでは、ブロックは必要に応じて解凍および/または復号化されます。照合フェーズでは、ブロックはファイルの種類に従ってソートされます。再アセンブリフェーズでは、ブロックは順番に配置され、削除されたファイルが再現されます。SmartCarving アルゴリズムは、Digital Assembly の Adroit Photo Forensics および Adroit Photo Recovery アプリケーションの基礎となっています。
メモリダンプのカービング
コンピュータの揮発性メモリ(RAM)のスナップショットをカービングすることができます。メモリダンプカービングはデジタルフォレンジックで日常的に使用されており、調査員が一時的な証拠にアクセスできるようにします。一時的な証拠には、最近アクセスした画像やWebページ、ドキュメント、チャット、ソーシャルネットワーク経由で行われた通信が含まれます。たとえば、LiME [10] をVolatility [11]と組み合わせて使用すると、このようなタスクを実行できます。暗号化されたボリューム(TrueCrypt、BitLocker、PGP Disk)が使用された場合、暗号化されたコンテナーのバイナリキーを抽出し、そのボリュームを即座にマウントするために使用できます。揮発性メモリの内容は断片化されます。断片化されたメモリセットのカービングを可能にするために、Belkasoftによって独自のカービングアルゴリズムが開発されました(BelkaCarving)。
参照
参考文献
- ^ 「ファイル署名」。
- ^ ab Simson Garfinkel、「高速オブジェクト検証による連続ファイルと断片ファイルの切り分け」Wayback Machineに 2012-05-23 アーカイブ、2007 年デジタルフォレンジック研究ワークショップの議事録、DFRWS、ピッツバーグ、ペンシルバニア州、2007 年 8 月
- ^ ab A. Pal および N. Memon、「貪欲アルゴリズムを使用したファイル断片化画像の自動再構成 - URL が無効になりました」、IEEE Transactions on Image processing、2006 年 2 月、385 ~ 393 ページ
- ^ A. したがって、ファイルのヘッダーを見つけるということは、ファイルの最初のフラグメントが見つかったことを意味しますが、他のフラグメントはパーティションのどこかに散らばっている可能性があり、ファイル カービングがはるかに困難になります。ファイル システムが実際にどのようにフラグメント化を行うかを調べ、統計を適用することで、どのフラグメントが一緒に適合するかについて、限定された推測を行うことができます。次に、これらのフラグメントをさまざまな可能な順列で組み合わせ、フラグメントが一緒に適合するかどうかをテストします。一部のファイルでは、ソフトウェアが適合するかどうかを簡単にテストできますが、他のファイルでは、ソフトウェアが誤ってピースを間違って組み合わせる場合があります。Pal、T. Sencar、N. Memon、「シーケンシャル仮説テストを使用したファイル フラグメント ポイントの検出 - URL が無効です」、Digital Investigations、2008 年秋
- ^ Richard, Golden, Roussev, V.、「Scalpel: a frugal, high performance file carver」、Wayback Machineに 2019-02-09 アーカイブ、2005 年デジタルフォレンジック研究ワークショップの議事録、DFRWS、2005 年 8 月
- ^ 「Sleuthkit/Scalpel」。GitHub。
- ^ https://foremost.sourceforge.net/ [裸の URL ]
- ^ 「プロフェッショナル データ復旧サービス | SERT データ復旧会社」。2015 年 5 月 12 日時点のオリジナルよりアーカイブ。2015年 5 月 5 日閲覧。
- ^ 「削除されたファイルについて」
- ^ 「504ensicsLabs/LiME」。GitHub。
- ^ 「Volatilityfoundation/Volatility」。GitHub。
