Введение 3
1. Постановка задачи 5
2. Обзор 6
2.1. Существующие решения для криминалистического анализа Btrfs 6
2.1.1. Проприетарные решения 6
2.1.2. WinBtrfs 6
2.1.3. The Sleuth Kit 7
2.2. Устройство файловой системы 7
2.2.1. Суперблок 7
2.2.2. Деревья 7
2.2.3. RAID 8
2.2.4. Подтома и снимки 9
3. Исследование возможностей восстановления удаленных
и поврежденных данных в Btrfs 11
3.1. Восстановление суперблока 11
3.2. Логический адрес в физический 11
3.3. Восстановление метаданных директорий и файлов .... 12
3.4. Копии метаданных 13
3.5. Определение отсутствующих устройств в пуле 13
3.6. Orphan элементы 14
4. Реализация 15
4.1. Чтение деревьев 15
4.2. Чтение элементов деревьев 16
4.3. Чтение директорий и файлов 17
4.4. Чтение данных файлов 17
4.5. Чтение подтомов и снимков 18
5. Интеграция 20
Заключение
Список литературы
В настоящее время совершается все больше преступлений в сфере информационных технологий, для их расследования существует специальная отрасль судебной науки — цифровая криминалистика. Она изучает извлечение и исследование данных, обнаруженных на цифровых устройствах. В ходе своей работы эксперты-криминалисты часто сталкиваются с необходимостью анализа данных с жестких дисков и переносных носителей, что в свою очередь требует подробного изучения файловой системы, используемой на устройстве.
Операционные системы семейства Unix, помимо серверных решений, начинают набирать популярность также и среди рядовых пользователей. В их основе лежит базовое монолитное ядро, а дополнительные компоненты, такие как драйверы для новых устройств или файловые системы (ФС), могут быть скомпилированы отдельно. По этой причине для инструментов цифрового криминалистического анализа крайне необходима поддержка ряда специфических файловых систем, в частности Btrfs [2].
Btrfs — это файловая система, основанная на принципе «Copy on Write» (CoW), который заключается в сохранении измененных данных в новое свободное пространство на диске, без модификации оригинала, что позволяет избежать их повреждения или частичной записи в случае сбоя питания во время внесения изменений. Также этот принцип позволяет делать эффективные снимки системы, которые не занимают места на диске до внесения изменений в файлы. C 2009 года Btrfs доступна в ядре Linux, а в ноябре 2013 года она получила статус стабильной и некоторые дистрибутивы (Ubuntu, Arch, Fedora) позволяют установить ее в качестве основной. Такие компании, как например Suse в «Linux Enterprise Server» [4] или NetGear в «ReadyNas» [5], активно используют Btrfs в своих продуктах.
Компания «Белкасофт» занимается разработкой программного обеспечения для цифровой криминалистики, одним из ее продуктов является Belkasoft Evidence Center X для ОС Windows. Инструмент позволяет проводить анализ данных для экспертизы из разнообразных источников, в том числе c жестких дисков, для которого необходимо получение максимально возможного количества артефактов.
Проведение анализа средствами операционной системы не позволяет исследовать поврежденные данные, поскольку операции с ними могут нарушить работоспособность всей файловой системы, что недопустимо для ОС. В контексте криминалистического анализа мы этим не ограничены, поскольку работаем с данными только в режиме чтения, а для исследования важны любые доступные артефакты. По этой причине оригинальный модуль для Linux и популярный open-source драйвер WinBtrfs для Windows не подходят за основу для исследования.
Популярный инструмент с открытым исходным кодом для криминалистического анализа The Sleuth Kit (TSK) в актуальной версии Btrfs не поддерживает. По этой причине было принято решение самостоятельно изучить возможности извлечения поврежденных и удаленных данных для актуальной версии файловой системы, в том числе для RAID конфигураций и внедрить их в продукт Belkasoft Evidence Center X компании Belkasoft.
В ходе работы были достигнуты следующие результаты.
• Проведен обзор существующих решений.
• Исследованы возможности восстановления удаленных и поврежденных данных в Btrfs.
• Реализован модуль для криминалистического анализа файловой системы Btrfs с возможностью восстановления удаленных и поврежденных данных.
• Разработанный модуль интегрирован в продукт Belkasoft Evidence Center X.