Scalpel — утилита с интерфейсом командной строки для восстановления данных и цифровой криминалистики. Она выполняет извлечение файлов (file carving), анализируя образ диска, раздел или накопитель. Программа работает независимо от файловой системы. Scalpel входит в состав набора инструментов The Sleuth Kit (TSK).

Принцип работы Метод работы Scalpel основан на поиске и извлечении файлов по их сигнатурам — уникальным последовательностям байтов в заголовках и окончаниях. Для распознавания типов файлов Scalpel опирается на встроенный набор сигнатур, хранящийся в конфигурационном файле.

Извлечение файлов в Scalpel выполняется следующим образом: сначала утилита строит индекс расположения заголовков и окончаний файлов, а затем на основе этого индекса собирает и записывает содержимое найденных файлов в целевой каталог.

Версия 1.6 программы для поиска каждого заголовка и окончания последовательно применяет алгоритм Бойера — Мура.

Использование Для работы с утилитой пользователь редактирует конфигурационный файл `scalpel.conf`, в котором раскомментирует строки, соответствующие типам файлов для поиска. Файл конфигурации также даёт возможность добавлять пользовательские определения заголовков и окончаний, в том числе с применением регулярных выражений. Можно задать минимальный и максимальный размер извлекаемых файлов, что помогает избежать создания слишком большого файла, особенно в случаях, когда окончание файла не определено.

Для анализа системного диска рекомендуется загружать операционную систему с Live CD или Live USB. Другой безопасный метод — создание образа диска или раздела и последующий анализ этого образа. Scalpel также входит в состав дистрибутива Kali Linux, одним из применений которого являются задачи цифровой криминалистики. При загрузке в режиме Forensic mode этот дистрибутив не монтирует автоматически жёсткие диски и съёмные накопители, что снижает риск случайного изменения исследуемых данных.

По завершении работы Scalpel создаёт в указанном каталоге подкаталоги для каждого типа восстановленных файлов, а также файл отчёта `audit.txt` со списком всех извлечённых объектов.

Версии Scalpel 1.6 — использует для поиска алгоритм Бойера — Мура и синхронные операции ввода-вывода. Scalpel 2.0 — в этой версии добавлена поддержка многопоточности, ускорение с помощью CUDA (при наличии NVidia CUDA SDK), а также использование регулярных выражений для определения заголовков и окончаний файлов. Scalpel3 — полностью переписанная версия, основанна на новой многопоточной и асинхронной архитектуре.

Ограничения Эффективность Scalpel снижается при работе с фрагментированными файлами, так как утилита предполагает, что файл расположен на диске в виде непрерывной последовательности блоков. Программа не может восстановить файлы на зашифрованных носителях или в случаях, когда заголовки и окончания были перезаписаны, например, с помощью утилиты shred. Если для типа файла не определено окончание, Scalpel извлекает данные до заданного максимального размера файла или до начала следующего файла, что может приводить к созданию файлов большого размера с посторонними данными в конце.

Примечания

Категория:Свободное ПО для восстановления информации Категория:Свободное программное обеспечение, написанное на Си