bulk_extractor
ist ein leistungsstarkes Tool zur digitalen Forensik-Auswertung. Es handelt sich um eine Schaltfläche zum Abrufen von Beweisen, die jede Art von Eingabe (Disk-Images, Dateien, Dateiverzeichnisse usw.) schnell scannt und strukturierte Informationen wie E-Mail-Adressen, Kreditkartennummern, JPEGs und JSON-Snippets extrahiert, ohne das Dateisystem zu analysieren Dateisystemstrukturen. Die Ergebnisse werden in Textdateien gespeichert, die leicht überprüft, durchsucht oder als Eingaben für andere forensische Verarbeitungen verwendet werden können. bulk_extractor erstellt außerdem Histogramme bestimmter Arten von gefundenen Merkmalen, wie z. B. Google-Suchbegriffe und E-Mail-Adressen, da frühere Untersuchungen gezeigt haben, dass solche Histogramme besonders bei Ermittlungs- und Strafverfolgungsanwendungen nützlich sind.
Im Gegensatz zu anderen digitalen Forensik-Tools untersucht bulk_extractor
jedes Datenbyte, um zu sehen, ob es der Anfang einer Sequenz ist, die dekomprimiert oder auf andere Weise dekodiert werden kann. Wenn ja, werden die dekodierten Daten rekursiv erneut untersucht. Dadurch kann bulk_extractor
Dinge wie BASE64-codierte JPEGs und komprimierte JSON-Objekte finden, die herkömmliche Carving-Tools übersehen.
Dies ist der Entwicklungszweig bulk_extractor
2.1! Es ist zuverlässig, aber wenn Sie eine gut getestete Version in Produktionsqualität haben möchten, laden Sie eine Version von https://github.com/simsong/bulk_extractor/releases herunter.
bulk_extractor
wird erstellt Wir empfehlen den Aufbau aus Quellen. Wir stellen im Verzeichnis etc/
eine Reihe von bash
-Skripten bereit, die eine saubere virtuelle Maschine konfigurieren:
git clone --recurse-submodules https://github.com/simsong/bulk_extractor.git
./bootstrap.sh
./configure
make
make install
Ausführliche Anweisungen zum Installieren von Paketen und zum Erstellen von bulk_extractor finden Sie auf der Wiki-Seite hier: https://github.com/simsong/bulk_extractor/wiki/Installing-bulk_extractor
Weitere Informationen zu bulk_extractor finden Sie unter: https://forensics.wiki/bulk_extractor
Diese Version von bulk_extractor erfordert C++17 und wurde für die Kompilierung auf den folgenden Plattformen getestet:
Sie sollten immer mit einer neuen VM beginnen und das System mit dem entsprechenden Vorbereitungsskript im Verzeichnis etc/
vorbereiten.
Wenn Sie eine wissenschaftliche Arbeit schreiben und bulk_extractor verwenden, zitieren Sie diese bitte mit:
Garfinkel, Simson, Triage digitaler Medien mit Massendatenanalyse und bulk_extractor. Computer und Sicherheit 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}
}
Die folgenden Umgebungsvariablen können festgelegt werden, um den Betrieb von bulk_extractor
zu ändern:
Variable | Verhalten |
---|---|
DEBUG_BENCHMARK_CPU | Fügen Sie CPU-Benchmark-Informationen in die Datei report.xml ein |
DEBUG_NO_SCANNER_BYPASS | Deaktiviert die Scanner-Umgehungslogik, die einige Scanner umgeht, wenn ein SBUF Ngrams enthält oder keine hohe Anzahl eindeutiger Zeichen aufweist. |
DEBUG_HISTOGRAMS | Drucken Sie Debugging-Informationen in dateibasierten Histogrammen. |
DEBUG_HISTOGRAMS_NO_INCREMENTAL | Verwenden Sie keine inkrementellen, speicherbasierten Histogramme. |
DEBUG_PRINT_STEPS | Druckt auf stdout, wenn jeder Scanner für jeden SBUF aufgerufen wird |
DEBUG_DUMP_DATA | Erstellen Sie einen Hex-Dump für jeden SBUF, der gescannt werden soll. |
DEBUG_SCANNERS_IGNORE | Eine durch Kommas getrennte Liste von Scannern, die ignoriert (nicht geladen) werden sollen. Nützlich zum Debuggen von Komponententests. |
Weitere Hinweise zum Debuggen:
Hinweis: Derzeit baut bulk_extractor 2.1 nicht auf Windows auf, 2.0 jedoch schon.
Wenn Sie für Windows erstellen möchten, sollten Sie die Cross-Kompilierung von einem Fedora-System aus durchführen. Beginnen Sie mit einer sauberen VM und verwenden Sie diese Befehle:
$ 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 in jpeg umbenannt, sodass der JPEG-Carve-Modus mit -S jpeg_carve_mode=2 und nicht mit -S jpeg_carved_carve_mode=2 eingestellt werden kann, was verwirrend war.
bulk_extractor
2.0 (BE2) ist jetzt betriebsbereit. Obwohl es mit dem Java-basierten Viewer funktioniert, verfügen wir derzeit über kein Installationsprogramm, das unter Windows läuft.
BE2 erfordert zum Kompilieren C++17. Es erfordert https://github.com/simsong/be13_api.git
als Submodul, das wiederum dfxml
als Submodul benötigt.
Das Projekt dauerte länger als erwartet. Zusätzlich zur Aktualisierung auf C++17 wurde dies als Gelegenheit für eine umfassende Code-Umgestaltung und eine allgemeine Verbesserung der Codequalität, Testbarkeit und Zuverlässigkeit genutzt. Ein Artikel über das Experiment wird in einer der nächsten Ausgaben von ACM Queue erscheinen