Extractorのレコードカービング用のスキャナプラグインを開発し、追加したスキャナを搭載したバイナリ/インストーラをこのページで公開しています。Extractor本家の開発版バージョンは、2015年4月にリリースされた1.6.0-devであり、このバージョンをベースにプラグインを追加しています。バージョン体系はbulk_extractor-rec番号としており、最新バージョンはbulk_extractor-rec02です。Carving実行画面コマンドライン版、GUI版それぞれで追加スキャナの指定が可能です。a219eeb4184a8cf23f5645b0c79c0cf7eab457c978ad91a362c0f7624c87925a)Linux環境ではソースコードからビルドすることができます。ソースコードおよびビルド手順は以下を参照してください。b2c1f3916c1df803fbb9b6c699ebf5a70f365bd37b8fe5bb71512e3d157c8064)ライセンス本家のライセンスに準じます。背景データ復元手法の1つであるカービングは、各種データのヘッダやフッタのパターンを検索して抽出、復元する手法であり、foremost、scalpel、PhotoRecなどのツールが知られています。これらは原則として、ファイル単位のカービングをするツールです。Extractorも入力データに対して様々なパターン(シグネチャ)で検索して意味のある情報を抽出するツールであり、ファイルカービングのツールと似ていますが、ファイル単位に限らない幅広いデータパターンを抽出することが可能です。Extractorは個々のパターン(シグネチャ)を処理するスキャナをプラグインとして開発できるようになっていることから、ファイル単位ではなくレコード単位でのカービングを目的としたプラグインを開発してみました。Extractorと同様であり、GUI版の場合はScanner欄に追加されているスキャナのチェックボックスをオン/オフすることにより指定します。コマンドラインの一般的な使い方は以下の通りです。入力ファイル1.は指定したスキャナだけを実行したい場合、2.はスキャナを複数個指定する場合の形式です。10環境で動作確認済)。Linux.E01実行結果-oオプションで指定したフォルダ配下にカービングした結果とレポートが出力されます。個々のレコードは種別ごとに1ファイルにまとめており、末尾にcorruptedと名前が付いているファイルには、パターンに一致するもののfixupなどのデータ整合性の検証を満たさなかったレコードを集約しています。$INDEX_ALLOCATION属性のINDXレコードは、一般的にはフォルダのコンテンツデータとして表現されていますが、$ObjIdファイルや$Secureなどのファイル内では別の形式で表現されているため、それらは別のファイルに分けて出力しています。スキャナ名_carved.txtにはカービングした際のオフセット、サイズの情報が記録されています。Extractorはマルチスレッド処理をするように設計されているため、高速なカービングが可能です。自環境では常時100MBytes/secの速度が出ており、高速なストレージや高スペックPCでは300MBytes/secの速度が出ることを確認しています。Extractorは圧縮データの展開用スキャナと併用することにより、カービング対象のレコードが圧縮されている場合でも展開して適切にカービングすることができます。7までであればハイバネーションファイルの展開に対応したhiberfileスキャナ、Linux環境であればgzipの展開に対応したgzipスキャナとの併用により、カービング精度の向上が見込めます。Extractorは任意のデータを入力に扱うことができるため、ディスク/ファイルシステムだけでなくメモリダンプに対しても実行することができます。追加スキャナはカービングするだけであり、パースしていません。パースは別のツールを使う必要があります。Extractorは指定した入力ファイルをそのまま扱っており、ファイルシステムなどの構造を解釈せずにカービングしています。したがって、結果ファイル内のレコードの順番は正規のファイルの順番とは異なっている可能性があります。入力ファイルのイメージが複数ボリュームを構成している場合、カービング後のファイルには複数のボリュームのレコードが混在した状態になります。更新履歴2018/10/17bulk_extractor-rec03をリリースしました。イベントログ形式のファイルおよびチャンクをカービングするevtxスキャナを追加しました。チャンクカービング時にヘッダを付加してファイルとして出力します。2018/01/21bulk_extractor-rec02をリリースしました。ハイバネーションファイル(hiberfileスキャナ)処理の改善、USNレコード(ntfsusnスキャナ)で不完全なレコードを発見した場合は別ファイル(UsnJrnl-J_corruptedに書き出すようにしました。2017/12/12bulk_extractor-rec01をリリースしました。