В бета-версии Elcomsoft iOS Forensic Toolkit 8.0 для компьютеров Mac появилась поддержка эксплойта загрузчика checkm8. Использование checkm8 сделало возможным проведение низкоуровневого анализа для ряда устройств Apple с извлечением образа файловой системы и расшифровкой связки ключей. Что такое checkm8, в чём отличия от checkra1n и чем наш метод отличается от аналогов — в этой статье.
checkm8 — эксплойт уязвимости, найденной в ряде моделей iPhone и других устройств Apple, позволяющий исполнять произвольный код независимо от того, какая версия iOS установлена на устройстве. Интересно то, что уязвимость была обнаружена не на программном, а на аппаратном уровне, причём не в одном устройстве, а в большом количестве моделей, которые выпускались на протяжении многих лет. Уязвимость кроется в загрузчике, который получает управление задолго до запуска операционной системы. Список устройств, подверженных уязвимости, можно посмотреть по ссылке Шпаргалка по мобильным устройствам Apple | Блог Элкомсофт (elcomsoft.ru). В то же время наше решение в текущей реализации поддерживает лишь следующие устройства из списка:
Неофициальная поддержка есть для следующих моделей:
checkra1n — это джейлбрейк, созданный на основе эксплойта checkm8. В отличие от checkm8, который является «чистым» эксплойтом уязвимости, джейлбрейк checkra1n для своей работы вынужден вносить определённые модификации и в системный раздел, и в раздел пользовательских данных. По этой причине использование джейлбрейка checkra1n в целях криминалистического анализа является хоть и возможным, но не оптимальным способом.
Новый метод анализа, представленный в редакции iOS Forensic Toolkit 8.0 для компьютеров Mac, основан на использовании эксплойта checkm8. Установка эксплойта использует уязвимость в загрузчике ряда моделей Apple, а для доступа к данным необходимо указать код блокировки экрана, если он установлен. В отличие от аналогичных решений, наш продукт не использует заимствований из джейлбрейка checkra1n и не включает проприетарного кода Apple. В процессе работы эксперту необходимо будет скачать образ прошивки iPhone с сайта Apple (ссылка на скачивание выдаётся в процессе анализа устройства). iOS Forensic Toolkit использует скачанный образ прошивки для того, чтобы загрузить устройство, минуя установленную на смартфоне операционную систему и избежав таким образом любых модификаций в разделе данных или системном разделе iPhone.
В отличие от аналогичных решений, наш продукт не использует заимствований из джейлбрейка checkra1n и не включает проприетарного кода Apple. В процессе работы эксперту необходимо будет скачать образ прошивки iPhone с сайта Apple (ссылка на скачивание выдаётся в процессе анализа устройства). iOS Forensic Toolkit использует скачанный образ прошивки для того, чтобы загрузить устройство, минуя установленную на смартфоне операционную систему и избежав таким образом любых модификаций в разделе данных или системном разделе iPhone.
Преимущества нашего решения:
Анализ iPhone с использованием уязвимости checkm8 требует точного соблюдения порядка действий. Во-первых, необходимо применить эксплойт, для чего нужно перевести iPhone в режим DFU и подключить его к компьютеру (напомним, в EIFT 8.0 поддерживаются только компьютеры Mac). Затем следует применить уязвимость, загрузим в оперативную память устройства модифицированный код. В нашей реализации этот процесс выглядит следующим образом:
Обратите внимание: все модификации выполняются исключительно в оперативной памяти устройства; никаких изменений в область данных или системный раздел не вносится. Более того, наш способ использования checkm8 никаким образом не использует копию операционной системы, установленную на самом устройстве! Весь процесс загрузки полностью контролируем, а управление получает только и исключительно тот код, который передаётся на устройство нашим приложением. Этим наше решение выгодно отличается от решений конкурентов, которые используют части кода, заимствованные из джейлбрейка checkra1n:
# Checkra1n beta 0.9.6 # # Proudly written in nano # (c) 2019 Kim Jong Cracks # #======== Made by ======= # argp, axi0mx, danyl931, jaywalker, kirb, littlelailo # nitoTV, nullpixel, pimskeks, qwertyoruiop, sbingner, siguza … Begin Checkra1n
Приведённые выше строки выводятся в одном из известных криминалистических пакетов, в котором заявлена поддержка криминалистически чистого извлечения посредством checkm8.
Далее потребуется провести разблокировку диска, для чего потребуется ввести код-пароль блокировки экрана. Необходимость ввода кода блокировки связана с тем, что подавляющее большинство данных в iOS зашифровано ключом, который вычисляется в недрах аппаратного сопроцессора Secure Enclave именно на основе того кода блокировки экрана, который вводит пользователь при включении или перезагрузке устройства. Без этого ключа можно создать копию пользовательского раздела, но сами данные в большинстве своём останутся зашифрованными.
Если код блокировки отсутствует, то раздел данных будет разблокирован автоматически. Если же код блокировки неизвестен, то извлечение возможно только в BFU-режиме (режиме «до первой разблокировки»), в котором доступен лишь очень ограниченный объём информации.
После этого можно приступать к извлечению и расшифровке связки ключей и файловой структуры устройства. Извлекаются абсолютно все данные: базы данных приложений, журнал звонков, история переписки, включая сообщения и вложения, фотографии, скачанные на устройство файлы, данные местоположения и многое другое.
Для начала следует разобраться, в каком именно состоянии находится «заблокированный» iPhone. Если устройство выдаёт сообщение о необходимости подключения к iTunes — вероятно, был исчерпан лимит на число попыток разблокировки устройства (более 10 раз был введён неправильный код блокировки экрана). В этом случае аппаратный сопроцессор безопасности блокирует доступ к устройству; обойти эту блокировку нам пока не удалось.
Что делать в этом случае? При разблокировке устройства в момент запроса «известен ли код блокировки» укажите N/n. После этого EIFT перейдёт в режим извлечения данных BFU — «до первой разблокировки».
Совершенно другая ситуация — если устройство заблокировано защитным режимом USB restricted mode, в котором отключается возможность передачи данных через порт Lightning. В этом случае просто переведите iPhone в режим DFU, и связь с телефоном будет установлена.
Начиная с поколения устройств iPhone 7, Apple внедрили усиленные меры безопасности, обозначенные термином «SEP hardening». Мы ведём работу над поддержкой iPhone 7 и 7 Plus, которая должна появиться в EIFT уже в ближайшие месяцы. Что касается более новых моделей (iPhone 8, 8 Plus и iPhone X), их поддержка возможна в теории, но достаточно сложна на практике. Мы работаем в этом направлении, но определённых сроков назвать не можем.
В текущей версии EIFT взломать код блокировки iPhone нельзя: аппаратный сопроцессор iPhone блокирует доступ к устройству после десяти неудачных попыток. Обойти это ограничение нам (пока?) не удалось. Мы продолжаем работу в этом направлении.
Elcomsoft iOS Forensic Toolkit – специализированный инструмент для проведения криминалистического анализа устройств, работающих под управлением Apple iOS. Для анализа доступна вся пользовательская и системная информация, а также зашифрованные данные из системного хранилища (связка ключей).