Ещё в июне этого года Apple закрыла уязвимость «Операция триангуляция» с релизом iOS 16.5.1.
Сегодня Лаборатория Касперского впервые поделилась подробностями этой уязвимости iOS, которая позволяла получить доступ к устройству и собрать все пользовательские данные через iMessage. Что из себя представляет вирус и как он работает, рассказали исследователи безопасности Борис Ларин, Леонид Безверченко и Георгий Кучерин.
Атака включала в себя четыре уязвимости «нулевого дня». Вот, как это выглядело поэтапно:
1. Злоумышленники отправляют вредоносное вложение iMessage, которое приложение обрабатывает, не показывая никаких признаков пользователю.
2. Для удалённого выполнения кода вложение эксплуатирует уязвимость CVE-2023-41990 в недокументированной инструкции ADJUST, предназначенной для шрифтов TrueType, которая присутствовала только на устройствах Apple. Она существовала с начала 90-х и была удалена в вышедшем исправлении.
3. В этой атаке использовалось возвратно- и переходно-ориентированное программирование. Взлом происходил с использованием языка запросов NSExpression/NSPredicate. А в среду библиотеки JavaScriptCore вносились изменения, позволявшие выполнить эксплойт на JavaScript для повышения привилегий.
4. Эксплойт запутан, чтобы сделать его нечитаемым и минимизировать размер. В нем около 11 000 строк кода, которые посвящены манипуляциям с памятью JavaScriptCore и памятью ядра.
5. Вирус использует DollarVM ($vm), отладочный функционал JavaScriptCore, чтобы манипулировать памятью JavaScriptCore из скрипта и исполнять функции API.
6. Эксплойт разработали для запуска на старых и новых iPhone, он предусматривает обход Pointer Authentication Code (PAC) для работы на более новых моделях.
Он использует уязвимость CVE-2023-32434, связанную с целочисленным переполнением в системных вызовах для работы с памятью ядра XNU. Это позволяло получить доступ на чтение-запись ко всей физической памяти устройства на уровне пользователя.
Для обхода PPL использовались аппаратные регистры ввода-вывода через память (MMIO). Эту проблему исправили в CVE-2023-38606.
7. Вирус получает полный контроль над устройством и может запускать шпионское ПО. Однако хакеры решили поступить иначе: запустили процесс IMAgent и внедрили в него полезную нагрузку, стирающую с устройства следы атаки; запустили процесс Safari в фоновом режиме и перенаправили его на специальный сайт для перехода к следующему этапу.
8. Этот сайт содержит скрипт, верифицирующий жертву, и, если проверка успешно пройдена, то происходит переход к следующему этапу — загрузке эксплойта для Safari. Он использует CVE-2023-32435, связанную с выполнением шелл-кода.
9. Шелл-код запускает ещё один эксплойт ядра в виде объектного файла Mach. Он использует те же уязвимости CVE-2023-32434 и CVE-2023-38606.
Большая часть кода предназначена для чтения памяти ядра и манипуляций с ней. В нем присутствуют различные утилиты для работы с уже скомпрометированными устройствами, которые в основном не используются.
10. Эксплойт получает root-права и переходит к выполнению других этапов, которые загружают программы для слежки за пользователем.
Исследователи отметили, что почти перепроектировали «каждый аспект этой цепочки атак» и в 2024 году опубликуют больше статей, подробно посвященных каждой уязвимости. [9to5]
11 комментариев
Форум →Читается, как детектив. Особенно удивил неожиданный сюжетный поворот п.8
@rum, ха-ха, однозначно.
Я зачем-то это всё прочитал…
@dimaps, А я только камéнты и п. 8.
Ничего не понятно, но очень интересно
Эти бы все эксплоиты да в мирное русло (для джейлбрейка)…
чудо враждебной техники! (с) тайна третьей планеты
Интереснее всего было расследовать это дело команде Касперского!
@Йода, Очень хочется продавать свой антивирус в Аппсторе
Сходил по ссылкам и посмотрел внимательно.
Начальная уязвимость CVE-2023-41990 в iMessage актуальна только для iOS до 15.7.1.
Кто в 2023 сидел до сих пор на этой версии?
@worknd, Касперский
Нашли орфографическую ошибку в новости?
Выделите ее мышью и нажмите Ctrl+Enter.Как на iPhone 15 делать снимки с разрешением 48 мегапикселей
Как настроить определитель номера на iPhone
Как в iOS 16 изменить виджет аккумулятора. Выбираем нужный гаджет для отображения
Как в YouTube на iPhone выбрать 4K разрешение для видео
Как проверить работоспособность гарнитуры iPhone
Выключаем микрофон Mac во время печати на клавиатуре
Команды с пульта на Apple TV 4 доходят с задержкой. Что делать?
Как записывать разговоры на iPhone