Введение 4
Постановка задачи 6
1. Обзор уязвимых служебных структур 7
1.1. MBR-запись 7
1.1.1. Структура 7
1.1.2. Роль в процедуре загрузки компьютера 10
1.1.3. Уязвимость 10
1.2. MFT-таблица 11
1.2.1. Структура 11
1.2.2. Уязвимость 12
2. Способы восстановления доступа к данным 14
2.1. Восстановление MBR-записи 14
2.2. Восстановление MFT-таблицы 16
3. Архитектура прототипа 18
3.1. Требования 18
3.2. Компоненты 19
4. Особенности реализации прототипа 22
4.1. Компонент восстановления MBR-записи 22
4.2. Компонент восстановления данных при повреждённой MFT-таблице 22
5. Тестирование прототипа 26
5.1. Тестирование восстановления MBR-записи 26
5.2. Тестирование восстановления данных при повреждённой MFT-таблице 26
Заключение 29
Список литературы 30
Основной ценностью для пользователя компьютера являются его файлы - документы, фотографии, платёжные реквизиты, программы и т.д. Поэтому большинство современных операционных систем в первую очередь предназначены для упрощения работы с файлами.
Как и любой сложный программный продукт, операционная система неизбежно содержит дефекты. Этим пользуются злоумышленники, заинтересованные в использовании данных пользователя в собственных целях. Создавая вредоносные программы, они намеренно используют обнаруженные уязвимости и получают доступ к данным пользователя.
Одним из видов вредоносных программ являются программы-вымогатели. Общий цикл работы таких вредоносных программ после заражения компьютера делится на три этапа [5]. В первую очередь выполняется поиск целевых объектов программы: разделов на жёстком диске, файлов с конкретным расширением, файлов, содержащих в своём названии определённые ключевые слова, и т.п. Затем вредоносная программа блокирует доступ пользователя к обнаруженным объектам. После этого программа объявляет пользователю о том, что доступ к его данным заблокирован, и требует от него определённых действий для восстановления доступа. При этом никаких гарантий не предоставляется.
В случае, если вредоносная программа шифрует файл, чаще всего восстановить доступ к нему в обход требований вымогателя можно лишь расшифровав его. Однако, такой подход требует тщательного анализа алгоритма работы этой вредоносной программы. Поэтому такая задача решается индивидуально для каждой новой угрозы.
Если доступ к данным ограничивается шифрованием служебных структур или системных областей памяти, сами пользовательские данные остаются нетронутыми. Таким образом, доступ к данным может быть восстановлен, если удастся восстановить повреждённые служебные структуры.
Одним из примеров вредоносных программ, которые умышленно повреждают служебные данные, является The Petya [9]. Несмотря на то, что непосредственно файлы на заражённом компьютере не модифицируются, доступ к ним полностью ограничивается из-за того, что вирус шифрует MFT-запись, главную файловую таблицу NTFS [16]. В MFT-записи содержится вся информация о файлах на томе файловой системы. The Petya предлагает пользователю перечислить денежные средства на счёт вымогателя и получить взамен код для расшифровки данных. Вместо того, чтобы выкупать ключ шифрования у злоумышленника, пользователь может попытаться восстановить файлы на повреждённом томе файловой системы и скопировать их на другой диск.
Belkasoft Evidence Center - инструмент цифрового криминалистического анализа [3], который позволяет анализировать и восстанавливать данные разных видов: файлы гибернации операционной системы, зашифрованные архивы, образы памяти мобильных устройств и т.д. Однако, при повреждении вредоносными программами служебных структур носителя информации, доступ к данным ограничивается, в связи с чем анализ данных усложняется. Для того чтобы восстановить доступ к данным необходимо в первую очередь восстановить повреждённые служебные структуры. Таким образом, представляет интерес задача восстановления доступа к данным на дисках с повреждёнными служебными структурами.
В рамках данной работы были выполнены следующие задачи:
• выполнен обзор MFT-таблицы и MBR-записи;
• исследованы способы восстановления доступа к данным при повреждении MBR-записи и MFT-таблицы; установлено, что MBR- запись можно воссоздать, определив адреса разделов и восстановив таблицу разделов, а для восстановления доступа к данным при повреждённой MFT-таблице можно воспользоваться методом сигнатурного поиска с учётом возможной фрагментации;
• определены основные компоненты прототипа; разработана архитектура прототипа;
• реализован прототип инструмента на языке C#; реализован модуль MBRRestore с поддержкой файловых систем NTFS и FAT32; реализован модуль MFTRestore с поддержкой файлов формата JPEG;
• проведено тестирование компонентов разработанного прототипа.
В дальнейшем планируется провести апробацию реализованного прототипа в инструменте криминалистического анализа Belkasoft Evidence Center [3], а также расширить функционал возможностью восстанавливать фрагментированные файлы других форматов.