checkm8
checkm8 — это аппаратная уязвимость в загрузочном процессе (bootrom) процессоров Apple A5–A11, обнаруженная и опубликованная исследователем безопасности по псевдонимом axi0mX в сентябре 2019 года. Уязвимость позволяет выполнить произвольный код на устройстве на самом раннем этапе загрузки, до загрузки операционной системы, и не может быть исправлена программным обновлением (patch) от Apple, так как bootrom хранится в постоянной памяти (ПЗУ) чипа.
История обнаружения
Уязвимость была обнаружена в ходе реверс-инжиниринга загрузочного процесса устройств Apple. 27 сентября 2019 года axi0mX опубликовал на GitHub эксплойт под названием checkm8, что в переводе с английского означает «проверь мат» (отсылка к шахматному термину «checkmate»). Публикация сопровождалась подробным техническим описанием и кодом для использования уязвимости на устройствах с процессорами A5 (iPhone 4S) до A11 (iPhone 8, iPhone X). Эксплойт был выпущен в открытом доступе, что привлекло внимание сообщества разработчиков джейлбрейков и исследователей безопасности.
Технические детали
Природа уязвимости
Уязвимость checkm8 относится к классу bootrom-эксплойтов. Bootrom — это первая программа, выполняемая процессором при включении устройства. Она хранится в ПЗУ, которое физически не может быть изменено после производства чипа. checkm8 использует ошибку в обработке USB-контроллера устройства в режиме восстановления (DFU — Device Firmware Upgrade). При передаче определённой последовательности USB-пакетов происходит переполнение буфера (buffer overflow), что позволяет злоумышленнику выполнить произвольный код на уровне bootrom.
Уязвимые устройства
checkm8 затрагивает все устройства на процессорах Apple A5–A11, включая:
- iPhone: 4S, 5, 5C, 5S, 6, 6 Plus, 6S, 6S Plus, SE (1-го поколения), 7, 7 Plus, 8, 8 Plus, X.
- iPad: 2, 3, 4, Air, Air 2, Mini, Mini 2, Mini 3, Mini 4, 5-го поколения, 6-го поколения, Pro (все поколения до 2017 года).
- iPod touch: 5-го, 6-го и 7-го поколения.
- Apple TV: 4-го поколения и 4K (1-го поколения).
Устройства на процессорах A12 и новее (например, iPhone XS, XR, 11, 12, 13) не подвержены уязвимости.
Неустранимость
Поскольку bootrom хранится в ПЗУ, Apple не может выпустить программное обновление для устранения checkm8. Единственный способ защиты — замена процессора на устройстве, что экономически нецелесообразно. Таким образом, уязвимость является «неисправимой» (unpatchable) для всех затронутых устройств, что делает её уникальной среди современных потребительских электронных устройств.
Применение
Джейлбрейк
Основное применение checkm8 — создание джейлбрейков (процедуры снятия ограничений операционной системы iOS). Эксплойт позволяет получить полный контроль над устройством на уровне ядра, что необходимо для установки неофициального программного обеспечения, модификации системных файлов и обхода ограничений Apple. На основе checkm8 были созданы популярные инструменты для джейлбрейка, такие как checkra1n (выпущен в ноябре 2019 года) и Odysseyra1n.
Восстановление данных и ремонт
checkm8 используется для восстановления данных с заблокированных или неработающих устройств, а также для снятия активационной блокировки (iCloud lock) при условии, что устройство не было украдено. Однако такое применение может быть спорным с юридической точки зрения, так как обход блокировки iCloud может быть незаконным в некоторых юрисдикциях.
Исследования безопасности
Эксплойт предоставляет исследователям доступ к низкоуровневым компонентам системы, что позволяет изучать архитектуру безопасности Apple, находить другие уязвимости и разрабатывать методы защиты. checkm8 также используется для загрузки кастомных версий iOS (например, для тестирования или отладки).
Ограничения и риски
Аппаратные ограничения
checkm8 требует физического подключения устройства к компьютеру через USB. Удалённое использование эксплойта невозможно. Кроме того, эксплойт работает только в режиме DFU, который активируется специальной комбинацией кнопок при включении устройства.
Безопасность
Использование checkm8 может привести к потере данных, если процесс выполнен неправильно. Также существует риск повреждения загрузчика устройства, что может сделать его непригодным для использования (так называемый «brick»). Кроме того, злоумышленник, имеющий физический доступ к устройству, может использовать checkm8 для извлечения личных данных, включая пароли, криптографические ключи и биометрические данные.
Юридические аспекты
В России и других странах использование эксплойтов для обхода защиты устройств может быть ограничено законодательством. В частности, джейлбрейк устройства может нарушать условия лицензионного соглашения Apple, но не является уголовно наказуемым деянием в большинстве стран. Однако снятие активационной блокировки с украденного устройства может квалифицироваться как неправомерный доступ к компьютерной информации (статья 272 УК РФ) или мошенничество (статья 159 УК РФ).
Реакция Apple
Apple официально не комментировала уязвимость checkm8, но выпустила обновления iOS, которые не влияют на bootrom. Компания также усилила защиту в процессорах A12 и новее, изменив архитектуру загрузчика. В устройствах на A12 и старше bootrom был переписан, что исключило возможность повторения подобной уязвимости.
Значение
checkm8 считается одной из самых значимых уязвимостей в истории iOS. Она предоставила сообществу разработчиков и исследователей беспрецедентный уровень контроля над устройствами Apple, выпущенными с 2011 по 2017 год. Эксплойт остаётся актуальным и по сей день, так как затронутые устройства всё ещё широко используются. checkm8 также продемонстрировал, что даже в современных системах безопасности могут существовать неустранимые аппаратные ошибки, что подчёркивает важность аудита на уровне микрокода и ПЗУ.
Источники
- axi0mX. «checkm8: a bootrom exploit for iPhone». GitHub, 2019.
- «checkm8 — The Bootrom Exploit». The iPhone Wiki.
- «Checkra1n: A Jailbreak for iOS 12.3 and Later». checkra.in, 2019.
- «Apple Security Updates». Apple Inc., 2019–2020.
- «Уязвимость checkm8: что это и как работает». Хабр, 2019.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →