Компания по исследованию безопасности Paradigm Shift сегодня опубликовала подробности новой уязвимости в BootROM, затрагивающей чипы Apple A12 и A13, а также рабочий прототип эксплойта под названием «usbliter8».

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








