Recovery

ファイルの復元ツールを紹介しています。

TestDisk
http://www.cgsecurity.org/wiki/TestDisk

オープンソースのパーティション、ブータブルディスクの修復ツールです。
いわゆるファイルシステムレイヤの情報復旧を主眼としているようで、機能として以下が挙げられています。

  • パーティションテーブルを修復する。削除済みパーティションを復旧する。
  • バックアップ領域からFAT32のブートセクタを回復する。
  • FAT12/16/32のブートセクタを修正する。
  • FATテーブルを修復する。
  • NTFSブートセクタを修正する。バックアップ領域から回復する。
  • MTF mirrorを使ってMFTを修復する。
  • ext2/3のバックアップ領域のスーパーブロックを探索する。

PhotoRec
http://www.cgsecurity.org/wiki/PhotoRec

オープンソースのメディアファイル系のリカバリツールで、TestDiskの姉妹版にあたりますす。対象のファイルはzip, office, pdf, html, jpeg等180種類以上の形式のファイルに対応しています。動作環境はWindows, Linux, Mac OS X, BSD, Solarisなど多岐に渡ります。ファイルシステムを無視して復元を試みると書かれており、いわゆるカービング手法を用いているものと思われます。そのため、フラグメンテーションにどのように対処しているのかが気になるところです。

TestDiskとPhotoRecはDebianでパッケージ化されていて容易に導入することができます。

Foremost
http://foremost.sourceforge.net/

カービング手法を用いた復元ツール。おそらくForemostがカービング手法を実装した最初のツールではないかと思います。カービングは簡単に言うとヘッダ、フッタ、データ構造に基づきファイルを復旧するという方法です。使い方はForemostを参照してください。

Scalpel
http://www.digitalforensicssolutions.com/Scalpel/

こちらもカービング手法を用いた復元ツールです。Foremostのバージョン0.69から完全にリライトされた派生版です。大きな違いは速度やメモリの使い方と書かれていますが、最近のバージョンはどちらも大差はない感じがします。

tcpxtract
http://sourceforge.net/projects/tcpxtract/

ネットワークパケットからのデータ構築ツールです。ネットワークストリームまたはtcpdumpフォーマットのファイルからいろいろな形式のファイルを抽出します。使った感じはforemostやscalpelのネットワークパケット版でした。

ext3undel
http://projects.izzysoft.de/trac/ext3undel

ext3ファイルシステムの削除済ファイルを復元するツール。Photorec、Foremost、Sleuth Kitのラッパーで、復元作業をなるべく自動化するようです。ext3上の削除ではファイル名<--->iノード<-x->コンテンツ
となるため、復元したコンテンツとファイル名&iノードの対応を確認することは手動でしなければならないと思われます。

SELECTIVE FILE DUMPER
http://sfdumper.sourceforge.net/

シェルスクリプトで実装されたファイル復元ツールです。sleuthkitとforemostなどを駆使してファイルを復元する作りになっているようです。

Restoration
http://www.snapfiles.com/get/restoration.html

FAT, NTFSファイルシステムの削除済ファイルを復元するツールです。インストール不要のフリーウェアです。

Recuva
http://www.recuva.com/

ウイザード形式でファイルを復元できるフリーウェアツールです。どのような処理をするかは未調査ですが、カービングのような動きもするように思われます。インストールが必要です。