bulk_extractor
は、高性能デジタル フォレンジック悪用ツールです。 これは、あらゆる種類の入力 (ディスク イメージ、ファイル、ファイルのディレクトリなど) を迅速にスキャンし、ファイル システムやファイル システムを解析することなく、電子メール アドレス、クレジット カード番号、JPEG、JSON スニペットなどの構造化情報を抽出する「証拠を取得」ボタンです。ファイルシステムの構造。結果はテキスト ファイルに保存され、簡単に検査、検索したり、他のフォレンジック処理の入力として使用したりできます。また、Bulk_extractor は、Google 検索用語や電子メール アドレスなど、検出した特定の種類の特徴のヒストグラムも作成します。これは、このようなヒストグラムが捜査や法執行のアプリケーションで特に役立つことが以前の研究で示されているためです。
他のデジタル フォレンジック ツールとは異なり、 bulk_extractor
データのすべてのバイトを調べて、それが解凍またはデコードできるシーケンスの始まりであるかどうかを確認します。そうであれば、デコードされたデータが再帰的に再検査されます。その結果、 bulk_extractor
、従来のカービング ツールでは見逃していた、BASE64 でエンコードされた JPEG や圧縮された JSON オブジェクトなどを見つけることができます。
これは、 bulk_extractor
2.1 開発ブランチです。これは信頼性がありますが、十分にテストされた製品品質のリリースが必要な場合は、https://github.com/simsong/bulk_extractor/releases からリリースをダウンロードしてください。
bulk_extractor
の構築ソースからビルドすることをお勧めします。クリーンな仮想マシンを構成する多数のbash
スクリプトがetc/
ディレクトリに用意されています。
git clone --recurse-submodules https://github.com/simsong/bulk_extractor.git ./bootstrap.sh ./configure make make install
パッケージのインストールとBulk_extractor の構築に関する詳細な手順については、こちらの Wiki ページを参照してください: https://github.com/simsong/bulk_extractor/wiki/Installing-bulk_extractor
Bulk_extractor の詳細については、https://forensics.wiki/bulk_extractor を参照してください。
Bulk_extractor のこのリリースには C++17 が必要で、次のプラットフォームでコンパイルすることがテストされています。
2023 年 5 月 25 日時点の Amazon Linux
Fedora 36 (最新)
Ubuntu 20.04LTS
MacOS 13.2.1
常に新しい VM から開始し、 etc/
ディレクトリ内の適切な準備スクリプトを使用してシステムを準備する必要があります。
Debian 10 (ネイティブ ビルドではサポートされていません))
科学論文を執筆し、Bulk_extractor を使用している場合は、次のように引用してください。
Garfinkel、Simson、バルク データ分析とBulk_extractor によるデジタル メディア トリアージ。コンピュータとセキュリティ 32: 56-72 (2013)
サイエンスダイレクト
ビブリオメトリクス
著者のウェブサイト
@article{10.5555/2748150.2748581, author = {Garfinkel, Simson L.}, title = {Digital Media Triage with Bulk Data Analysis and Bulk_extractor}, year = {2013}, issue_date = {February 2013}, publisher = {Elsevier Advanced Technology Publications}, address = {GBR}, volume = {32}, number = {C}, issn = {0167-4048}, journal = {Comput. Secur.}, month = feb, pages = {56–72}, numpages = {17}, keywords = {Digital forensics, Bulk data analysis, bulk_extractor, Stream-based forensics, Windows hibernation files, Parallelized forensic analysis, Optimistic decompression, Forensic path, Margin, EnCase} }
次の環境変数を設定して、 bulk_extractor
の動作を変更できます。
変数 | 行動 |
---|---|
DEBUG_BENCHMARK_CPU | CPU ベンチマーク情報をreport.xml ファイルに含めます |
DEBUG_NO_SCANNER_BYPASS | sbuf に ngram が含まれているか、個別の文字数が多くない場合に、一部のスキャナをバイパスするスキャナ バイパス ロジックを無効にします。 |
DEBUG_HISTOGRAMS | ファイルベースのヒストグラムに関するデバッグ情報を出力します。 |
DEBUG_HISTOGRAMS_NO_INCREMENTAL | 増分メモリベースのヒストグラムは使用しないでください。 |
DEBUG_PRINT_STEPS | 各スキャナが各 sbuf に対して呼び出されたときに stdout に出力します。 |
DEBUG_DUMP_DATA | スキャンされる各 sbuf を 16 進ダンプします。 |
DEBUG_SCANNERS_IGNORE | 無視する (ロードしない) スキャナーのカンマ区切りのリスト。単体テストのデバッグに役立ちます。 |
デバッグに関するその他のヒント:
スキャナーを使用せずに実行するには、-xall を実行します。
0.001% のランダム サンプリングで実行して、読み取りイメージ サイズと数回のクイック シークをデバッグします。
注: 現在のBulk_extractor 2.1 は Windows 上に構築されませんが、2.0 は Windows 上に構築されます。
Windows 用にビルドしたい場合は、Fedora システムからクロスコンパイルする必要があります。クリーンな VM から始めて、次のコマンドを使用します。
$ git clone --recurse-submodules https://github.com/simsong/bulk_extractor.git $ cd bulk_extractor/etc $ bash CONFIGURE_FEDORA36_win64.bash $ cd .. $ make win64
jpeg_carved feature Recorder の名前を jpeg に変更し、混乱していた -S jpeg_carved_carve_mode=2 ではなく、-S jpeg_carve_mode=2 で jpeg carve モードを設定できるようにしました。
bulk_extractor
2.0 (BE2) が動作可能になりました。 Java ベースのビューアで動作しますが、現在 Windows 上で動作するインストーラはありません。
BE2 のコンパイルには C++17 が必要です。サブモジュールとしてhttps://github.com/simsong/be13_api.git
が必要で、さらにサブモジュールとしてdfxml
が必要です。
プロジェクトには予想よりも時間がかかりました。 C++17 への更新に加えて、大規模なコードのリファクタリングと、コードの品質、テスト容易性、信頼性の全体的な向上の機会として使用されました。この実験に関する記事は、ACM Queue の次号に掲載される予定です。