Уязвимость в чипах Apple A12 и A13 позволяет взломать устройство на аппаратном уровне
RSSИсследовательская компания Paradigm Shift раскрыла подробности новой уязвимости BootROM в процессорах Apple A12 и A13, а также опубликовала демонстрационный эксплойт под названием usbliter8. Проблема затрагивает устройства от iPhone XS до линейки iPhone 11.
BootROM (или SecureROM) — это первый код, который выполняется при включении iPhone. Поскольку он записывается непосредственно в чип на этапе производства, обнаруженные в нём уязвимости невозможно устранить с помощью обновлений iOS. Это означает, что затронутые устройства останутся уязвимыми на протяжении всего срока службы.
Новая находка стала первым публичным эксплойтом такого рода после checkm8, представленного в 2019 году для устройств от iPhone 4S до iPhone X. Теперь аналогичная возможность появилась и для следующего поколения процессоров Apple.
Уязвимость связана с ошибкой в аппаратном USB-контроллере. Исследователи выяснили, что при отправке определённой последовательности очень маленьких USB-пакетов во время загрузки устройства можно заставить внутренний указатель памяти перемещаться в обратном направлении. Это позволяет записывать данные в области памяти, доступ к которым в обычных условиях невозможен. По словам специалистов, проблема находится именно в аппаратной части USB-контроллера, а не в программном обеспечении Apple.
Чип A11 не подвержен этой уязвимости благодаря иной реализации USB-драйвера, который сбрасывает указатель после каждого пакета. Процессоры A14 и более новые модели также защищены, поскольку используют дополнительные механизмы защиты памяти на уровне BootROM. Таким образом, уязвимыми оказались только A12 и A13.
На устройствах с A12 выполнение произвольного кода достигается сравнительно легко. В случае с A13 задача значительно сложнее из-за технологии Pointer Authentication Codes (PAC), которая предназначена для защиты от подмены данных в памяти. Тем не менее исследователям удалось обойти этот механизм и получить полный контроль над процессором.
После успешной эксплуатации уязвимости эксплойт устанавливает специальный обработчик, который сохраняется после перезагрузки устройства. Он позволяет временно ослаблять настройки безопасности и запускать неподписанное программное обеспечение без стандартных проверок Apple. Кроме того, в серийный номер USB-устройства добавляется строка «PWND», сигнализирующая о компрометации устройства — по аналогии с эксплойтом checkm8.
Хотя уязвимость не затрагивает напрямую модуль Secure Enclave, исследователи отмечают, что получение контроля над BootROM открывает дополнительные возможности для атак на другие защитные механизмы устройства. Paradigm Shift сообщила, что заранее уведомила Apple о своей находке и согласовала публикацию информации с компанией. Исходный код демонстрационного эксплойта уже опубликован в открытом доступе.
