Дослідницька компанія Paradigm Shift оприлюднила інформацію про нову вразливість рівня BootROM, яка зачіпає чипи Apple A12 та A13. Експлойт отримав назву “usbliter8” і, за словами дослідників, дозволяє отримати глибокий контроль над пристроєм ще на етапі його запуску. Найчутливіший рівень системи BootROM (або SecureROM) — це перший код, який запускається в iPhone одразу після ввімкнення. Він записаний безпосередньо в апаратну частину чипа під час виробництва, а це означає ключову проблему: такі вразливості неможливо виправити звичайним оновленням iOS. Фактично, якщо пристрій підпадає під таку вразливість, він залишатиметься потенційно вразливим протягом усього життєвого циклу. Нове покоління після легендарного checkm8 Подібний випадок востаннє фіксувався у 2019 році з експлойтом checkm8, який вплинув на пристрої від iPhone 4S до iPhone X. Новий “usbliter8” продовжує цю лінію атак, але вже для більш сучасного покоління — зокрема iPhone XS та iPhone 11. Як працює атака Експлойт базується на помилці в USB-контролері, вбудованому в чипи Apple. Під час запуску пристрій приймає USB-дані та зберігає їх у буфері пам’яті. Дослідники з Paradigm Shift виявили, що спеціально сформована послідовність дуже малих пакетів даних дозволяє маніпулювати внутрішнім вказівником пам’яті. У результаті він «рухається назад» і починає записувати дані в області, які за нормальних умов недоступні. За їхніми словами, йдеться не про програмну помилку, а про апаратну особливість самого USB-контролера. Чому не всі чипи вразливі Не всі покоління процесорів Apple мають цю проблему: A11 (iPhone X) не вразливий, оскільки драйвер USB скидає вказівник після кожного пакета A14 та новіші чипи захищені завдяки правильно реалізованим механізмам захисту пам’яті A12 і A13 опинилися в «перехідній зоні» — між старою та новою архітектурою без достатнього захисту Рівень доступу та обмеження На пристроях з A12 отримання контролю над кодом відбувається відносно просто. У випадку A13 ситуація складніша: Apple впровадила технологію Pointer Authentication Codes (PAC), яка ускладнює підміну вказівників пам’яті. За словами дослідників, обхід PAC вимагав багатоетапного процесу, перш ніж вдалося отримати повний контроль над процесором. Що дозволяє експлойт Після успішного запуску “usbliter8” встановлює власний обробник, який зберігається навіть після перезавантаження пристрою. Серед можливостей: тимчасове зниження рівня безпеки пристрою запуск непідписаного програмного забезпечення без перевірки модифікація системних параметрів під час старту Також дослідники традиційно додають рядок “PWND” у USB-серійний номер пристрою — своєрідний знак компрометації, який використовується ще з часів checkm8. Що це означає для безпеки Хоча експлойт не напряму зламує Secure Enclave, BootROM-рівень доступу відкриває потенційні можливості для подальших атак на захищені компоненти системи. У Paradigm Shift зазначають, що повідомили Apple про проблему до публікації та працювали з компанією в межах відповідального розкриття вразливості. Повний proof-of-concept код уже опубліковано разом із дослідженням на сайті ps.tc, що робить цю знахідку не лише теоретичною, а й практично підтвердженою.