При работе с мобильными устройствами Apple важна правильная последовательность переходов в различные режимы. Особенно это касается режима DFU (Device Firmware Update), который необходим для извлечения данных с помощью эксплойта checkm8. Попасть в этот режим не так просто — нужна специфическая последовательность нажатий с точным соблюдением таймингов. Если что-то пойдет не так, устройство может просто перезагрузиться, что может привести к крайне нежелательным последствиям. В этой статье объясним, почему перевод в DFU лучше начать с режима восстановления Recovery Mode.
Режим DFU (Device Firmware Update) — это специальный режим, используемый для обновления или восстановления прошивки устройства, который работает, даже если повреждена не только операционная система, но и область загрузчика. Код загрузчика в DFU прошит в устройство; его никак невозможно модифицировать — этого не может сделать даже сама компания Apple. В цифровой криминалистике режим DFU используется при извлечении данных через эксплойт checkm8 из старых устройств, начиная с iPhone 5 и заканчивая iPhone X. (В скобках заметим, что для ряда моделей, начиная с iPhone 8/8 Plus/iPhone X, доступен вариант автоматического ввода в DFU с использованием микроконтроллера Raspberry Pi Pico, а устройства с неработающими кнопками для ввода в DFU и вовсе придётся разобрать).
Перевести устройство в режим DFU не так просто — требуется точная последовательность нажатий с соблюдением таймингов. Если задержка в процессе будет слишком короткой или слишком долгой, устройство просто перезагрузится и не войдет в DFU. Важно помнить, что DFU — это не документированный режим, и способы перехода в него могут различаться в зависимости от модели устройства. Мы собрали все известные нам способы перевода в DFU в следующей статье: Перевод iPhone в режим DFU.
Режим восстановления (Recovery Mode) — это стандартный режим для восстановления iOS, который позволяет загрузить устройство в минимальном состоянии для восстановления системы или обновления прошивки. В отличие от DFU, этот режим хорошо документирован; его намного проще активировать. В криминалистике Recovery Mode часто используется как первый шаг перед переходом в DFU, что повышает шанс успешного извлечения данных.
Перед тем как переводить устройство в режим DFU, имеет смысл сначала перевести его в режим восстановления (Recovery Mode). По отзывам экспертов, такой подход повышает вероятность успешного срабатывания эксплойта при работе с checkm8. Наш собственный опыт подтверждает это: на тестовом iPhone 5 мы смогли провести успешный взлом пароля только после перехода в DFU через Recovery; напрямую в DFU эксплойт не сработал.
Спонтанная перезагрузка устройства в основную ОС во время анализа может привести к ряду нежелательных последствий. Одним из основных рисков является нежелательное подключение к беспроводным сетям, как Wi-Fi, так и сотовым вышкам. Даже если опустить вероятность удалённого сброса или блокировки устройства со стороны злоумышленника, такое подключение может вызвать синхронизацию данных с облачными сервисами, что нарушает криминалистическую чистоту исследования.
Перезапись логов — еще один риск, возникающий при случайной перезагрузке. Если устройство перезагружается и продолжает работу в нормальном режиме, новые логи могут заменить старые, что затруднит анализ следов и событий. Наконец, при перезагрузке устройства также существует опасность удаления «исчезающих сообщений» в некоторых мессенджерах.
Избежать спонтанной перезагрузки при вводе в DFU не всегда получается даже у опытных специалистов. Более того, даже хранить устройства стоит таким образом, чтобы случайная загрузка (например, при подключении к зарядному устройству) не приводило к загрузке операционной системы. С этой целью мы разработали специальное решение.
Для устройств под управлением iOS в iOS Forensic Toolkit доступна функция, управляющая загрузкой устройства. При установке специального флага (в нашем продукте он называется «autoboot») в значение False устройство будет загружаться не в установленную операционную систему, а в режим восстановления (Recovery). В iOS Forensic Toolkit можно установить нужное значение автозагрузки следующей командой:
./EIFT_cmd tools autobootFalse
Значение флага автозагрузки сохраняется и после выключения или перезагрузки устройства. Предполагается, что устройство будет находиться в режиме с отключённой автозагрузкой в течение всего времени, пока оно находится в процессе исследования. Оригинальное значение флага ‘autobootTrue’ рекомендуем восстанавливать непосредственно перед тем, как устройство будет возвращено владельцу. Для этого используется следующая команда:
./EIFT_cmd tools autobootTrue
Elcomsoft iOS Forensic Toolkit – специализированный инструмент для проведения криминалистического анализа устройств, работающих под управлением Apple iOS. Для анализа доступна вся пользовательская и системная информация, а также зашифрованные данные из системного хранилища (связка ключей).