Касперский поделился подробностями самой сложной цепочки атак на iPhone в истории
Ещё в июне этого года Apple закрыла уязвимость «Операция триангуляция» с релизом iOS 16.5.1.
Сегодня Лаборатория Касперского впервые поделилась подробностями этой уязвимости iOS, которая позволяла получить доступ к устройству и собрать все пользовательские данные через iMessage. Что из себя представляет вирус и как он работает, рассказали исследователи безопасности Борис Ларин, Леонид Безверченко и Георгий Кучерин.
Атака включала в себя четыре уязвимости «нулевого дня». Вот, как это выглядело поэтапно:
1. Злоумышленники отправляют вредоносное вложение iMessage, которое приложение обрабатывает, не показывая никаких признаков пользователю.
2. Это вложение использует уязвимость удаленного выполнения кода CVE-2023–41990 в инструкции шрифта ADJUST TrueType. Она существовала с начала девяностых годов, прежде чем её удалили в патче.
3. Вирус использует реверс-инжиниринг и несколько фрагментов, написанных на языке запросов NSExpression/NSPredicate, корректируя библиотечную среду JavaScriptCore для выполнения эксплойта повышения привилегий, написанную на JavaScript.
4. Эксплойт запутан, чтобы сделать его полностью нечитаемым и свести к минимуму его размер. Тем не менее, он имеет около 11 000 строк кода, которые в основном посвящены JavaScriptCore, разбору и манипулированию памятью ядра.
5. Уязвимость использует функцию отладки JavaScriptCore DollarVM ($vm), чтобы получить возможность манипулировать памятью JavaScriptCore из сценария и выполнять собственные функции API.
6. Вирус был разработан для поддержки как старых, так и новых iPhone и включал в себя обход кода аутентификации указателя (PAC) для использования последних моделей.
Он использует уязвимость целочисленного переполнения CVE-2023–32434 в системных вызовах отображения памяти XNU (mach_make_memory_entry и vm_map) для получения доступа к чтению/записи всей физической памяти устройства на уровне пользователя.
7. Вирус использует аппаратные реестры ввода-вывода (MMIO) с отображением памяти для обхода уровня защиты страниц (PPL). После использования всех уязвимостей эксплойт может делать с устройством все, что захочет, включая запуск шпионского ПО, но злоумышленники решили: запустить процесс IMAgent и ввести полезную нагрузку, которая очищает артефакты эксплуатации с устройства; запустить процесс Safari в невидимом режиме и переслать его на специальный сайт.
8. На этом сайте есть скрипт, который проверяет жертву и, если проверки проходят, то запускается эксплойт Safari. Эксплойт Safari использует CVE-2023–32435 для выполнения кода оболочки.
9. Код оболочки выполняет другой эксплойт ядра в виде файла объекта Mach. Он использует те же уязвимости: CVE-2023–32434 и CVE-2023–38606. Он также массивен с точки зрения размера и функциональности, но полностью отличается от эксплойта ядра, написанного на JavaScript.
10. Большая часть его кода посвящена разбору и манипулированию памятью ядра. Он содержит различные утилиты после эксплуатации, которые в основном не используются.
11. Эксплойт получает root-права и переходит к выполнению других этапов, которые загружают программы для слежки за пользователем.
Исследователи отметили, что почти перепроектировали «каждый аспект этой цепочки атак» и в 2024 году опубликуют больше статей, подробно посвященных каждой уязвимости. [9to5]