checkra1n
checkra1n — это утилита для выполнения джейлбрейка (jailbreak) устройств Apple, работающая на основе аппаратной уязвимости Checkm8 в загрузчике (BootROM) процессоров серий A5–A11. Уязвимость Checkm8 является неисправимой на аппаратном уровне, что позволяет выполнять джейлбрейк на устройствах с указанными процессорами независимо от версии установленной операционной системы iOS/iPadOS (вплоть до последних поддерживаемых версий). Разработка велась группой независимых исследователей, известных как qwertyoruiop, axi0mX, siguza, dora2ios и другими, и была впервые опубликована в 2019 году.
История
Предпосылки и открытие уязвимости
В сентябре 2019 года исследователь безопасности под псевдонимом axi0mX опубликовал код эксплойта для уязвимости в BootROM процессоров Apple A5–A11, получившей название Checkm8. Уязвимость затрагивает загрузчик, который хранится в постоянной памяти (ROM) и не может быть исправлен через обновление программного обеспечения, так как является частью аппаратного обеспечения. Это сделало Checkm8 первой публично известной неисправимой уязвимостью BootROM для устройств Apple со времен iPhone 4 (процессор A4).
Разработка checkra1n
После публикации эксплойта группа разработчиков, включая участников сообщества джейлбрейка (qwertyoruiop, siguza, dora2ios и других), начала работу над созданием простого в использовании инструмента для выполнения джейлбрейка на основе Checkm8. Первая публичная бета-версия checkra1n была выпущена 9 ноября 2019 года. Инструмент изначально поддерживал устройства на процессорах A7–A11 (iPhone 5S — iPhone X) и работал на macOS и Linux. Поддержка Windows была добавлена позже, в версии 0.12.0, выпущенной в феврале 2021 года, но с ограничениями (требовался режим восстановления или DFU).
Развитие и текущее состояние
Checkra1n продолжал развиваться, добавляя поддержку новых устройств и версий iOS/iPadOS. Однако, начиная с iOS 14, Apple внедрила механизмы, частично затрудняющие использование checkra1n на некоторых устройствах (например, на iPhone X с iOS 14 и выше требовался ввод пароля в режиме DFU, что усложняло процесс). В 2022 году разработчики объявили о прекращении активной разработки новых версий, сосредоточившись на поддержке существующих. Тем не менее, checkra1n остаётся актуальным для устройств с процессорами A5–A11, особенно для старых моделей, где он обеспечивает стабильный и полу-тether-джейлбрейк.
Технические основы
Уязвимость Checkm8
Checkm8 — это эксплойт, использующий ошибку в коде BootROM, который отвечает за начальную загрузку устройства. Ошибка позволяет выполнить произвольный код на уровне загрузчика, до загрузки операционной системы. Это даёт возможность обойти механизмы безопасности, такие как Secure Boot Chain и KPP (Kernel Patch Protection). Уязвимость затрагивает все устройства Apple с процессорами A5–A11, включая iPhone, iPad, iPod touch и Apple TV.
Принцип работы checkra1n
Checkra1n использует Checkm8 для внедрения в процесс загрузки устройства. Процесс включает несколько этапов:
- Перевод устройства в режим DFU (Device Firmware Update) — специальный режим, в котором устройство ожидает загрузки прошивки через USB.
- Загрузка эксплойта — через USB отправляется специально сформированный пакет данных, который вызывает ошибку в BootROM и позволяет выполнить произвольный код.
- Внедрение пейлоада (payload) — выполняется загрузка и запуск ядра джейлбрейка, которое модифицирует системные файлы и устанавливает необходимые патчи.
- Установка Cydia/Substitute — после успешного джейлбрейка на устройство устанавливается менеджер пакетов (обычно Cydia или Sileo) и набор инструментов для установки твиков (Substitute или Substrate).
Тип джейлбрейка
Checkra1n предоставляет полу-тетher-джейлбрейк (semi-tethered). Это означает, что после перезагрузки устройства джейлбрейк сбрасывается, и устройство загружается в обычном режиме. Для повторного активирования джейлбрейка необходимо снова подключить устройство к компьютеру и запустить checkra1n. Однако все установленные твики и модификации остаются на устройстве, но становятся неактивными до повторного запуска джейлбрейка. Это отличает checkra1n от untethered-джейлбрейка (который сохраняется после перезагрузки) и от tethered-джейлбрейка (который делает устройство неработоспособным без подключения к компьютеру).
Поддерживаемые устройства и версии iOS
Устройства
Checkra1n поддерживает следующие устройства на базе процессоров A5–A11:
- iPhone: iPhone 4S (A5), iPhone 5 (A6), iPhone 5C (A6), iPhone 5S (A7), iPhone 6/6 Plus (A8), iPhone 6S/6S Plus (A9), iPhone SE (1-го поколения, A9), iPhone 7/7 Plus (A10), iPhone 8/8 Plus (A11), iPhone X (A11).
- iPad: iPad 2, iPad 3, iPad 4 (A5X), iPad mini (A5), iPad mini 2, iPad mini 3 (A7), iPad mini 4 (A8), iPad Air (A7), iPad Air 2 (A8X), iPad (5-го и 6-го поколений, A9/A10), iPad Pro (1-го поколения, A9X/A10X).
- iPod touch: iPod touch 5-го поколения (A5), iPod touch 6-го поколения (A8), iPod touch 7-го поколения (A10).
- Apple TV: Apple TV 4-го поколения (A8), Apple TV 4K (1-го поколения, A10X).
Версии iOS/iPadOS/tvOS
Checkra1n поддерживает все версии iOS/iPadOS/tvOS, которые могут быть установлены на указанные устройства, от iOS 5 (для iPhone 4S) до iOS 16.x (для iPhone X, iPad 6-го поколения и т.д.). Однако для некоторых устройств и версий iOS могут быть ограничения, связанные с работой механизмов безопасности (например, на iPhone X с iOS 14 и выше требуется ввод пароля в режиме DFU).
Функциональность и возможности
Основные функции
- Установка джейлбрейка: Основная функция — выполнение джейлбрейка на поддерживаемых устройствах.
- Установка менеджера пакетов: После джейлбрейка автоматически устанавливается Cydia (или Sileo, в зависимости от версии) для установки твиков и расширений.
- Поддержка твиков: Пользователи могут устанавливать сторонние модификации, расширяющие функциональность устройства (например, настройка интерфейса, добавление новых функций, обход ограничений).
- Восстановление: Возможность восстановить устройство до исходного состояния (без джейлбрейка) через перепрошивку в iTunes или Finder.
Ограничения
- Полу-тетher-тип: Требуется повторное подключение к компьютеру после каждой перезагрузки.
- Отсутствие поддержки новых устройств: Устройства с процессорами A12 и новее (iPhone XS, iPhone 11, iPhone 12 и т.д.) не поддерживаются из-за отсутствия уязвимости в BootROM.
- Зависимость от USB: Процесс джейлбрейка требует подключения к компьютеру через USB, что может быть неудобно.
- Нестабильность на некоторых версиях iOS: На iOS 14 и выше могут возникать проблемы с активацией джейлбрейка на некоторых устройствах (например, iPhone X).
Применение и значение
Для сообщества джейлбрейка
Checkra1n стал важным инструментом для сообщества джейлбрейка, так как он предоставил возможность выполнять джейлбрейк на устройствах с процессорами A5–A11, включая устройства, которые больше не получают официальные обновления iOS. Это позволило пользователям старых устройств получать доступ к новым функциям и твикам, которые не поддерживаются в официальных версиях iOS.
Для безопасности
Уязвимость Checkm8 и инструмент checkra1n также используются исследователями безопасности для изучения внутреннего устройства iOS и поиска других уязвимостей. Однако, с точки зрения Apple, checkra1n представляет собой угрозу безопасности, так как позволяет обходить механизмы защиты, что может быть использовано злоумышленниками для установки вредоносного ПО.
Для разработчиков
Checkra1n используется разработчиками для тестирования твиков и модификаций на реальных устройствах, а также для отладки и анализа работы iOS.
Критика и правовые аспекты
Критика
- Нестабильность: Некоторые пользователи сообщают о проблемах с активацией джейлбрейка на определённых устройствах или версиях iOS.
- Отсутствие поддержки Windows: Долгое время checkra1n был доступен только для macOS и Linux, что ограничивало его использование.
- Прекращение разработки: Объявление о прекращении активной разработки вызвало разочарование в сообществе, так как инструмент не получил поддержки для новых устройств и версий iOS.
Правовые аспекты
В США и большинстве стран мира джейлбрейк устройств Apple не является незаконным, но может нарушать условия лицензионного соглашения (EULA) и гарантийные обязательства. В России джейлбрейк также не запрещён, однако использование модифицированного программного обеспечения может привести к потере гарантии и проблемам с безопасностью. В некоторых странах (например, в Китае) джейлбрейк может быть ограничен или запрещён.
Интересные факты
- Уязвимость Checkm8 была названа в честь шахматного термина «шах и мат» (checkmate), что отражает её неисправимость.
- Checkra1n стал первым публичным инструментом, использующим аппаратную уязвимость BootROM со времён iPhone 4.
- Разработчики checkra1n выпустили также инструмент для восстановления устройств после джейлбрейка — checkra1n Recovery Mode.
- В 2020 году группа разработчиков checkra1n выпустила версию для Windows, но с ограничениями, связанными с драйверами USB.
Источники
- Официальный сайт checkra1n: https://checkra.in
- Публикация эксплойта Checkm8 (axi0mX, 2019)
- Документация по checkra1n на GitHub
- Статьи на сайтах The iPhone Wiki и Reddit (r/jailbreak)
- Обсуждения на форумах разработчиков (например, r/jailbreakdevelopers)
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →