Использование checkm8 для доступа к данным

19 мая, 2021, Oleg Afonin
Рубрика: «Разное»
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

В бета-версии Elcomsoft iOS Forensic Toolkit 8.0 для компьютеров Mac появилась поддержка эксплойта загрузчика checkm8. Использование checkm8 сделало возможным проведение низкоуровневого анализа для ряда устройств Apple с извлечением образа файловой системы и расшифровкой связки ключей. Что такое checkm8, в чём отличия от checkra1n и чем наш метод отличается от аналогов — в этой статье.

Что такое checkm8

checkm8 — эксплойт уязвимости, найденной в ряде моделей iPhone и других устройств Apple, позволяющий исполнять произвольный код независимо от того, какая версия iOS установлена на устройстве. Интересно то, что уязвимость была обнаружена не на программном, а на аппаратном уровне, причём не в одном устройстве, а в большом количестве моделей, которые выпускались на протяжении многих лет. Уязвимость кроется в загрузчике, который получает управление задолго до запуска операционной системы. Список устройств, подверженных уязвимости, можно посмотреть по ссылке Шпаргалка по мобильным устройствам Apple | Блог Элкомсофт (elcomsoft.ru). В то же время наше решение в текущей реализации поддерживает лишь следующие устройства из списка:

  • iPhone 5S (iPhone6,1): A1453, A1533
  • iPhone 5S (iPhone6,2): A1457, A1518, A1528, A1530
  • iPhone 6 (iPhone7,2): A1549, A1586, A1589
  • iPhone 6 Plus (iPhone7,1): A1522, A1524, A1593
  • iPhone 6s (iPhone8,1): A1633, A1688, A1691, A1700
  • iPhone 6s Plus (iPhone8,2): A1634, A1687, A1690, A1699
  • iPhone SE (iPhone8,4): A1662, A1723, A1724

Неофициальная поддержка есть для следующих моделей:

  • iPod touch 6th gen: A1574
  • iPad Air: A1474, A1475, A1476
  • iPad mini 2/3/4: A1490, A1491, A1599, A1600, A1601, A1538, A1550
  • iPad 5th gen: A1822, A1823

Что такое checkra1n

checkra1n — это джейлбрейк, созданный на основе эксплойта checkm8. В отличие от checkm8, который является «чистым» эксплойтом уязвимости, джейлбрейк checkra1n для своей работы вынужден вносить определённые модификации и в системный раздел, и в раздел пользовательских данных. По этой причине использование джейлбрейка checkra1n в целях криминалистического анализа является хоть и возможным, но не оптимальным способом.

Наше решение на основе checkm8

Новый метод анализа, представленный в редакции iOS Forensic Toolkit 8.0 для компьютеров Mac, основан на использовании эксплойта checkm8. Установка эксплойта использует уязвимость в загрузчике ряда моделей Apple, а для доступа к данным необходимо указать код блокировки экрана, если он установлен. В отличие от аналогичных решений, наш продукт не использует заимствований из джейлбрейка checkra1n и не включает проприетарного кода Apple. В процессе работы эксперту необходимо будет скачать образ прошивки iPhone с сайта Apple (ссылка на скачивание выдаётся в процессе анализа устройства). iOS Forensic Toolkit использует скачанный образ прошивки для того, чтобы загрузить устройство, минуя установленную на смартфоне операционную систему и избежав таким образом любых модификаций в разделе данных или системном разделе iPhone.

Преимущества нашего решения

В отличие от аналогичных решений, наш продукт не использует заимствований из джейлбрейка checkra1n и не включает проприетарного кода Apple. В процессе работы эксперту необходимо будет скачать образ прошивки iPhone с сайта Apple (ссылка на скачивание выдаётся в процессе анализа устройства). iOS Forensic Toolkit использует скачанный образ прошивки для того, чтобы загрузить устройство, минуя установленную на смартфоне операционную систему и избежав таким образом любых модификаций в разделе данных или системном разделе iPhone.

Преимущества нашего решения:

  • Гарантированная целостность и неизменность всех разделов устройства.
  • Любые модификации происходят только в оперативной памяти устройства.
  • Интерактивные инструкции по установке эксплойта.
  • Поддержка всех версий iOS от 8.0 до 14.5.1 включительно.
  • Поддержка заблокированных устройств в режиме BFU, обход ограничений USB.

Как это работает

Анализ iPhone с использованием уязвимости checkm8 требует точного соблюдения порядка действий. Во-первых, необходимо применить эксплойт, для чего нужно перевести iPhone в режим DFU и подключить его к компьютеру (напомним, в EIFT 8.0 поддерживаются только компьютеры Mac). Затем следует применить уязвимость, загрузим в оперативную память устройства модифицированный код. В нашей реализации этот процесс выглядит следующим образом:

  1. Из режима DFU в устройство производится загрузка нашего кода, которому затем передаётся управление.
  2. Наш код получает версию загрузчика iBoot и на её основе определяет версию iOS, установленную на устройстве.
  3. В консоли EIFT, которая запущена на компьютере Mac, выводится ссылка или ссылки на файл с прошивкой соответствующей версии. Прошивки всегда скачиваются непосредственно с сайта Apple.
  4. Скачанный файл с прошивкой перетаскивается мышкой на окно EIFT.
  5. EIFT распаковывает прошивку, на лету модифицирует исполняемый код и пересылает его в оперативную память устройства.

Обратите внимание: все модификации выполняются исключительно в оперативной памяти устройства; никаких изменений в область данных или системный раздел не вносится. Более того, наш способ использования 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, 8 и iPhone X?

Начиная с поколения устройств iPhone 7, Apple внедрили усиленные меры безопасности, обозначенные термином «SEP hardening». Мы ведём работу над поддержкой iPhone 7 и 7 Plus, которая должна появиться в EIFT уже в ближайшие месяцы. Что касается более новых моделей (iPhone 8, 8 Plus и iPhone X), их поддержка возможна в теории, но достаточно сложна на практике. Мы работаем в этом направлении, но определённых сроков назвать не можем.

Можно ли (будет) взломать код блокировки?

В текущей версии EIFT взломать код блокировки iPhone нельзя: аппаратный сопроцессор iPhone блокирует доступ к устройству после десяти неудачных попыток. Обойти это ограничение нам (пока?) не удалось. Мы продолжаем работу в этом направлении.


  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

REFERENCES:

Elcomsoft iOS Forensic Toolkit

Elcomsoft iOS Forensic Toolkit – специализированный инструмент для проведения криминалистического анализа устройств, работающих под управлением Apple iOS. Для анализа доступна вся пользовательская и системная информация, а также зашифрованные данные из системного хранилища (связка ключей).

Официальная страница Elcomsoft iOS Forensic Toolkit »

НАШИ НОВОСТИ