Для чипів Apple A12 та A13 знайшли новий невиправний експлойт
Компанія з досліджень безпеки Paradigm Shift сьогодні опублікувала подробиці про нову вразливість BootROM, що зачіпає чипи Apple A12 та A13, а також робочий proof-of-concept експлойт під назвою «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-серійний номер iPhone як сигнал, що пристрій скомпрометовано — це умовність, що тягнеться ще з checkm8 та попередніх експлойтів.
Paradigm Shift зазначає, що хоча usbliter8 не впливає безпосередньо на Secure Enclave, компрометація BootROM такого типу відкриває ширші можливості для атак на нього. Компанія повідомляє, що до публікації передала свої висновки команді Apple Product Security і працювала з Apple в межах узгодженого розкриття. Повний код proof-of-concept опубліковано разом із матеріалом на ps.tc.
Джерело: macrumors.com
Як вам цей матеріал?