bulk_extractor
— это высокопроизводительный инструмент цифровой криминалистики. Это кнопка «получить доказательства», которая быстро сканирует любые входные данные (образы дисков, файлы, каталоги файлов и т. д.) и извлекает структурированную информацию, такую как адреса электронной почты, номера кредитных карт, фрагменты JPEG и JSON, без анализа файловой системы или структуры файловой системы. Результаты сохраняются в текстовых файлах, которые легко проверять, искать или использовать в качестве входных данных для другой криминалистической обработки. Bulk_extractor также создает гистограммы определенных типов обнаруженных функций, таких как поисковые запросы Google и адреса электронной почты, поскольку предыдущие исследования показали, что такие гистограммы особенно полезны в приложениях для расследований и правоохранительных органов.
В отличие от других инструментов цифровой криминалистики, bulk_extractor
проверяет каждый байт данных, чтобы определить, является ли он началом последовательности, которую можно распаковать или иным образом декодировать. Если это так, декодированные данные рекурсивно повторно проверяются. В результате bulk_extractor
может находить такие вещи, как файлы JPEG в кодировке BASE64 и сжатые объекты JSON, которые пропускают традиционные инструменты вырезания.
Это ветка разработки bulk_extractor
2.1! Это надежно, но если вы хотите иметь проверенную и качественную версию, загрузите ее с https://github.com/simsong/bulk_extractor/releases.
bulk_extractor
Мы рекомендуем собирать из исходников. В каталоге etc/
мы предоставляем несколько bash
-скриптов, которые настроят чистую виртуальную машину:
git clone --recurse-submodules https://github.com/simsong/bulk_extractor.git
./bootstrap.sh
./configure
make
make install
Подробные инструкции по установке пакетов и сборке Bulk_extractor можно найти на вики-странице здесь: https://github.com/simsong/bulk_extractor/wiki/Installing-bulk_extractor.
Для получения дополнительной информации о Bulk_extractor посетите: https://forensics.wiki/bulk_extractor.
Для этой версии Bulk_extractor требуется C++17, и она была протестирована для компиляции на следующих платформах:
Всегда следует начинать с новой виртуальной машины и готовить систему, используя соответствующий сценарий подготовки в каталоге etc/
.
Если вы пишете научную статью и используете Bulk_extractor, цитируйте ее с помощью:
Гарфинкель, Симсон, Сортировка цифровых носителей с анализом больших объемов данных и 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 | Включите информацию о тестах процессора в файл report.xml |
DEBUG_NO_SCANNER_BYPASS | Отключает логику обхода сканера, которая обходит некоторые сканеры, если sbuf содержит ngrams или не имеет большого количества различных символов. |
DEBUG_HISTOGRAMS | Вывод отладочной информации на файловых гистограммах. |
DEBUG_HISTOGRAMS_NO_INCREMENTAL | Не используйте инкрементальные гистограммы, основанные на памяти. |
DEBUG_PRINT_STEPS | Выводит на стандартный вывод, когда каждый сканер вызывается для каждого sbuf. |
DEBUG_DUMP_DATA | Выполните шестнадцатеричный дамп каждого sbuf, который необходимо сканировать. |
DEBUG_SCANNERS_IGNORE | Список сканеров, разделенных запятыми, которые следует игнорировать (не загружать). Полезно для отладки модульных тестов. |
Другие советы по отладке:
Примечание. Currenlty Bulk_extractor 2.1 не использует Windows, а версия 2.0 — поддерживает.
Если вы хотите выполнить сборку для Windows, вам следует выполнить кросс-компиляцию из системы Fedora. Начните с чистой виртуальной машины и используйте следующие команды:
$ 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 переименован в jpeg, чтобы режим вырезания jpeg можно было установить с помощью -S jpeg_carve_mode=2, а не -S jpeg_carved_carve_mode=2, что приводило к путанице.
bulk_extractor
2.0 (BE2) теперь работает. Хотя он работает со средством просмотра на основе Java, в настоящее время у нас нет установщика, работающего под Windows.
Для компиляции BE2 требуется C++17. Для этого требуется https://github.com/simsong/be13_api.git
в качестве подмодуля, который, в свою очередь, требует dfxml
в качестве подмодуля.
Проект занял больше времени, чем предполагалось. Помимо обновления до C++17, он использовался как возможность масштабного рефакторинга кода и общего повышения качества, тестируемости и надежности кода. Статья об эксперименте появится в ближайшем выпуске ACM Queue.