bulk_extractor
est un outil d'exploitation médico-légal numérique haute performance. Il s'agit d'un bouton « obtenir des preuves » qui analyse rapidement tout type d'entrée (images disque, fichiers, répertoires de fichiers, etc.) et extrait des informations structurées telles que des adresses e-mail, des numéros de carte de crédit, des extraits JPEG et JSON sans analyser le système de fichiers ou structures du système de fichiers. Les résultats sont stockés dans des fichiers texte qui peuvent être facilement inspectés, recherchés ou utilisés comme entrées pour d'autres traitements médico-légaux. Bulk_extractor crée également des histogrammes de certains types de fonctionnalités qu'il trouve, telles que les termes de recherche Google et les adresses e-mail, car des recherches antérieures ont montré que ces histogrammes sont particulièrement utiles dans les applications d'enquête et d'application de la loi.
Contrairement à d'autres outils d'investigation numérique, bulk_extractor
sonde chaque octet de données pour voir s'il s'agit du début d'une séquence qui peut être décompressée ou décodée d'une autre manière. Si tel est le cas, les données décodées sont réexaminées de manière récursive. En conséquence, bulk_extractor
peut trouver des éléments tels que des fichiers JPEG codés en BASE64 et des objets JSON compressés qui manquent aux outils de sculpture traditionnels.
Il s'agit de la branche de développement bulk_extractor
2.1 ! C'est fiable, mais si vous souhaitez disposer d'une version de qualité de production bien testée, téléchargez une version depuis https://github.com/simsong/bulk_extractor/releases.
bulk_extractor
Nous vous recommandons de construire à partir de sources. Nous fournissons un certain nombre de scripts bash
dans le répertoire etc/
qui configureront une machine virtuelle propre :
git clone --recurse-submodules https://github.com/simsong/bulk_extractor.git
./bootstrap.sh
./configure
make
make install
Pour des instructions détaillées sur l'installation des packages et la création de vrac_extractor, lisez la page wiki ici : https://github.com/simsong/bulk_extractor/wiki/Installing-bulk_extractor
Pour plus d'informations sur Bulk_extractor, visitez : https://forensics.wiki/bulk_extractor
Cette version de Bulk_extractor nécessite C++17 et a été testée pour être compilée sur les plateformes suivantes :
Vous devez toujours commencer avec une nouvelle VM et préparer le système à l'aide du script de préparation approprié dans le répertoire etc/
.
Si vous rédigez un article scientifique et utilisez vrac_extractor, veuillez le citer avec :
Garfinkel, Simson, Triage des médias numériques avec analyse de données en masse et Bulk_extractor. Ordinateurs et sécurité 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}
}
Les variables d'environnement suivantes peuvent être définies pour modifier le fonctionnement de bulk_extractor
:
Variable | Comportement |
---|---|
DEBUG_BENCHMARK_CPU | Inclure les informations de référence du processeur dans le fichier report.xml |
DEBUG_NO_SCANNER_BYPASS | Désactive la logique de contournement du scanner qui contourne certains scanners si un sbuf contient des ngrammes ou n'a pas un nombre élevé de caractères distincts. |
DEBUG_HISTOGRAMS | Imprimez les informations de débogage sur des histogrammes basés sur des fichiers. |
DEBUG_HISTOGRAMS_NO_INCREMENTAL | N'utilisez pas d'histogrammes incrémentiels basés sur la mémoire. |
DEBUG_PRINT_STEPS | Imprime sur la sortie standard lorsque chaque scanner est appelé pour chaque sbuf |
DEBUG_DUMP_DATA | Effectuez un dump hexadécimal de chaque sbuf à analyser. |
DEBUG_SCANNERS_IGNORE | Une liste d'analyseurs séparés par des virgules à ignorer (ne pas charger). Utile pour déboguer les tests unitaires. |
Autres conseils pour le débogage :
Remarque : Actuellement, Bulk_extractor 2.1 ne s'appuie pas sur Windows, contrairement à la version 2.0.
Si vous souhaitez compiler pour Windows, vous devez effectuer une compilation croisée à partir d'un système Fedora. Commencez avec une VM propre et utilisez ces commandes :
$ git clone --recurse-submodules https://github.com/simsong/bulk_extractor.git
$ cd bulk_extractor/etc
$ bash CONFIGURE_FEDORA36_win64.bash
$ cd ..
$ make win64
Enregistreur de fonctionnalités jpeg_carved renommé en jpeg, afin que le mode de sculpture jpeg puisse être défini avec -S jpeg_carve_mode=2, plutôt que -S jpeg_carved_carve_mode=2, ce qui prêtait à confusion.
bulk_extractor
2.0 (BE2) est désormais opérationnel. Bien qu'il fonctionne avec la visionneuse basée sur Java, nous n'avons actuellement pas de programme d'installation fonctionnant sous Windows.
BE2 nécessite C++17 pour compiler. Il nécessite https://github.com/simsong/be13_api.git
comme sous-module, qui à son tour nécessite dfxml
comme sous-module.
Le projet a pris plus de temps que prévu. En plus de la mise à jour vers C++17, il a été utilisé comme une opportunité pour une refactorisation massive du code et une augmentation générale de la qualité, de la testabilité et de la fiabilité du code. Un article sur l'expérience paraîtra dans un prochain numéro d'ACM Queue