Особенности эксплойта загрузчика: чипы, модели и версии

9 февраля, 2024, Oleg Afonin
Рубрика: «Разное»
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Эксплойт уязвимости загрузчика checkm8, позволяющий извлекать информацию из широкого ряда устройств, работает не только для iPhone и iPad. В список входят и такие устройства, как Apple Watch, Apple TV, и даже колонки HomePod. В то же время свои особенности есть не только у каждого типа устройств, но и у чипов различных модификаций. В этой статье мы собрали информацию обо всех важных и просто интересных особенностях различных чипсетов, моделей и модификаций в контексте извлечения через эксплойт загрузчика.

Что такое «checkm8»?

checkm8 — это эксплойт загрузчика, посредством которого можно получить низкоуровневый доступ к файловой системе устройства, ключам шифрования и связке ключей. В отличие от джейлбрейков (включая джейлбрейк checkra1n), checkm8 позволяет добиться полной криминалистической чистоты исследования. Несмотря на то, что сам по себе этот эксплойт не модифицирует данные на устройстве, конкретные реализации большинства поставщиков криминалистического ПО не отличаются особой чистотой, заимствуя части кода из джейлбрейка checkra1n.

Несмотря на то, что checkm8 привлёк массовое внимание, подобные эксплойты существовали и ранее. Так, до выхода чипа A5, на котором построен iPhone 4s, существовали эксплойты limera1n, SHAtter, steaks4uce и Pwnage 2.0, которые используются в нашем продукте для извлечения из более старых устройств. Именно по этой причине мы предпочитаем говорить об «эксплойте загрузчика» и методе извлечения через эксплойт загрузчика, а не checkm8.

Наше решение

При разработке собственного решения на основе эксплойта загрузчика мы отталкивались от необходимости создать метод, который позволял бы извлекать данные из максимально широкого ряда моделей, гарантируя неизменность извлекаемых данных. В iOS Forensic Toolkit это полностью удалось: наш метод, основанный на эксплойте уязвимости загрузчика, позволяет получить верифицируемый и повторяемый результат, обеспечивая криминалистическую чистоту извлечения. Мы поддерживаем все устройства, для которых была обнаружена уязвимость загрузчика, и все версии iOS, которые могут запускаться на этих устройствах от iOS 3 до самых последних релизов iOS 16. Более того, наше решение поддерживает как бета-версии системы, так и частичные OTA-обновления — за одним исключением: на текущий момент не поддерживается iOS 17.

iOS 17 можно установить на следующие устройства, для которых существует эксплойт загрузчика:

  • iPad 6, 7 и iPad Pro 1, 2
  • Apple TV HD, 4K
  • HomePod

Работа над добавлением поддержки iOS 17 ведётся.

В процессе анализа очень важно знать точную версию iOS (вплоть до номера сборки). Мы разработали уникальную методику, позволяющую точно узнать номер версии системы невзирая на сложности (например, прерванные обновления). В последнем релизе iOS Forensic Toolkit необходимая информация извлекается непосредственно из сопроцессора безопасности SEP (Secure Enclave Processor).

Наконец, наше решение кросс-платформенно. Доступны редакции iOS Forensic Toolkit для macOS и Linux, а поддержка извлечения через эксплойт загрузчика в редакции для Windows в активной разработке.

Таблица совместимости

Эксплойт загрузчика доступен для большого числа моделей Apple. В их число входят далеко не только iPhone и iPad. В следующей таблице перечислены все поддерживаемые устройства.

(Полная версия откроется по ссылке)

Интересны следующие нюансы.

  1. Физический и низкоуровневый анализ
    • Для 32-разрядных моделей (отмечены синим) доступна полная поддержка: полноценный физический анализ, включая перебор кода блокировки.
    • Для 64-разрядных моделей с Secure Enclave (отмечены зелёным): доступно низкоуровневое извлечение без перебора кода блокировки. Кстати, в Apple TV и HomePod нет ни Secure Enclave, ни, соответственно, кода блокировки.
  2. Чипы в Apple Watch
    • В Apple Watch используются уникальные чипы, для которых в общем случае нельзя провести прямую параллель с соответствующими поколениями чипов iPhone.
      • Apple Watch S0: S1
      • Apple Watch S1: S1P
      • Apple Watch S2: S2
      • Apple Watch S3: S3
    • Особый интерес представляет чип S1 из оригинальной модели часов. Он напоминает процессор A6 из iPhone 5/5c, но поддерживает APFS несмотря на 32-разрядную архитектуру., что добавило сложностей в разработке. Мы работаем над методом перебора паролей для этой модели часов.
  3. Различия файловых систем
    • За единственным исключением все 32-разрядные устройства используют файловую систему HFS. В то же время 64-разрядные устройства были переведены на APFS начиная с iOS 10.3 (и HFS для версий системы до iOS 10.2 включительно).
  4. Эксплойты и уязвимости
    • checkm8, получивший широкую известность, используется для работы с устройствами на процессорах A5 и новее. Для старых устройств используются другие эксплойты: limera1n, SHAtter, steaks4uce и Pwnage 2.0.
  5. Поддержка чипов «X»
    • В некоторых моделях iPad и Apple TV используются вариации чипов с литерой «X». Эти чипы — вариации (как правило, с дополнительными ядрами) соответствующих процессоров для iPhone. Так, в Apple TV 4K первого поколения используется чип Apple A10X, на котором также собраны iPad Pro 10.5 и iPad Pro 12.9 второго поколения. Наше решение поддерживает и эти чипы.
  6. Варианты моделей iPad
    • Планшеты iPad доступны в версиях с Wi-Fi и 3G/LTE; каждая версия имеет свои особенности. Многие поставщики криминалистического ПО поддерживают единственный вариант; наше решение поддерживает все без исключения.
  7. Региональные версии
    • У большинства устройств Apple есть версии для разных регионов (США, EMEA и т.д.), между которыми могут быть существенные отличия (например, в моделях для американского рынка долгое время устанавливались уникальные модули беспроводной связи). В нашем решении поддерживаются все версии.
  8. Особенности чипа A5
    • Чип Apple A5 в трёх его версиях используется в iPhone 4s, iPod Touch 5, iPad 2 и 3, первой версии iPad mini и Apple TV 3. Для работы с этими устройствами мы разработали узкоспециализированное решение, использующее аппаратный микроконтроллер на основе Raspberry Pi Pico с уникальной прошивкой.

Заключение

В этой статье мы постарались рассказать о небольшой части тех сложностей, с которыми сталкиваются наши разработчики. Результат их усилий — универсальное, отлаженное и максимально совместимое решение, которое поддерживает все устройства Apple, для которых существует эксплойт загрузчика.


  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
НАШИ НОВОСТИ