Pull to refresh

«Лаборатория Касперского» раскрыла аппаратную загадку атаки «Операция Триангуляция»

Reading time6 min
Views12K

27 декабря 2023 года эксперты «Лаборатории Касперского» в подробной технической публикации раскрыли аппаратную загадку атаки «Операция Триангуляция» на iOS.

Цепочка атаки «Операция Триангуляция».

«Операция Триангуляция» — это атака через iMessage, не требующая от пользователя каких-либо действий, с использованием четырёх уязвимостей нулевого дня для устройств iOS до версии 16.2.

  • злоумышленники отправляли через iMessage вредоносное вложение, которое обрабатывается приложением без ведома пользователя;

  • для удалённого выполнения кода вложение эксплуатирует уязвимость CVE-2023-41990 в недокументированной инструкции ADJUST, предназначенной для шрифтов TrueType, которая присутствовала только на устройствах Apple. Эта инструкция существовала с начала 90-х годов и была удалена в вышедшем исправлении;

  • в атаке была использована техника возвратно- и переходно-ориентированного программирования. Проникновение происходило в несколько этапов с использованием языка запросов NSExpression/NSPredicate, при этом в среду библиотеки JavaScriptCore вносились изменения, позволявшие выполнить эксплойт на JavaScript для повышения привилегий;

  • эксплойт обфусцирован с целью сделать его полностью нечитаемым и минимизировать его размер. Тем не менее, в нем около 11 000 строк кода, которые в основном посвящены манипуляциям с памятью JavaScriptCore и памятью ядра;

  • эксплойт использует DollarVM ($vm), отладочный функционал JavaScriptCore, чтобы манипулировать памятью JavaScriptCore из скрипта и исполнять нативные функции API;

  • эксплойт был разработан для запуска как на старых, так и новых iPhone и предусматривал обход Pointer Authentication Code (PAC) для работы на более новых моделях;

  • в нем использовалась уязвимость CVE-2023-32434, связанная с целочисленным переполнением в системных вызовах для работы с памятью ядра XNU (mach_make_memory_entry и vm_map). Она позволяла получить доступ на чтение-запись ко всей физической памяти устройства на уровне пользователя;

  • для обхода Page Protection Layer (PPL) используются аппаратные регистры ввода-вывода через память (MMIO). Эта проблема была устранена в исправлении CVE-2023-38606;

  • в результате эксплуатации всех уязвимостей JavaScript-эксплойт получает полный контроль над устройством и может запускать шпионские программы, но злоумышленники пошли иным путем: а) запустили процесс IMAgent и внедрили в него полезную нагрузку, стирающую с устройства следы атаки; b) запустили процесс Safari в фоновом режиме и перенаправили его на веб-страницу для перехода к следующему этапу;

  • веб-страница содержит скрипт, верифицирующий жертву, и, если проверка пройдена, происходит переход к следующему этапу — загрузке эксплойта для Safari;

  • эксплойт для Safari использует уязвимость CVE-2023-32435, связанную с выполнением шелл-кода;

  • шелл-код запускает ещё один эксплойт ядра в виде объектного файла Mach. Он использует те же уязвимости CVE-2023-32434 и CVE-2023-38606, также впечатляет своими размерами и функциональностью, но совершенно не похож на эксплойт для ядра, написанный на JavaScript. Совпадают лишь некоторые части, связанные с эксплуатацией вышеупомянутых уязвимостей. Тем не менее, большая часть его кода также предназначена для чтения памяти ядра и манипуляций с ней. В нем присутствуют различные утилиты для работы с уже скомпрометированными устройствами, которые в основном не используются;

  • эксплойт получает привилегии root и запускает другие этапы, отвечающие за загрузку шпионского ПО.

Также в «Лаборатории Касперского» выяснили, что для обхода этой аппаратной защиты злоумышленники использовали недокументированную аппаратную функцию SoC компании Apple. С её помощью хакеры могли записать необходимые данные по нужному физическому адресу в обход аппаратной защиты памяти, для этого необходимо записать данные, адрес назначения и хэш данных в недокументированные, не используемые прошивкой аппаратные регистры чипа.

Оказалось, что большинство MMIO, применяемых для обхода аппаратной защиты памяти ядра в эксплойте, используемом в атаке «Операция Триангуляция», не принадлежат ни одному из диапазонов MMIO (регистров ввода-вывода через память), задокументированных и определённых в дереве устройств. Эксплойт предназначен для SoC Apple A12-A16 Bionic и использует недокументированные блоки регистров MMIO, расположенные по адресам: 0x206040000, 0x206140000, 0x206150000.

В итоге эксперты «Лаборатории Касперского» обнаружили ещё регистры MMIO, которые не используются прошивкой, но доступны для проведения атаки, два диапазона MMIO: 0x206400000–0x20646C000 и 0x206050000–0x206050008. Исследователи предположили, что все эти регистры MMIO, скорее всего, относятся к сопроцессору GPU. При обращении к ним сопроцессор GPU выдаёт сообщение о критической ошибке: GFX SERROR Exception class=0x2f (SError interrupt), IL=1, iss=0 — power(1).

Apple устранила эту уязвимость, добавив используемые эксплойтом диапазоны MMIO 0x206000000–0x206050000 и 0x206110000–0x206400000 в pmap-io-ranges, хранящиеся в дереве устройств, добавив к ним метку DENY.

Эксперты «Лаборатории Касперского» не понимают, как злоумышленники узнали способ использовать недокументированную аппаратную функцию и каково было её первоначальное назначение. Также непонятно, была ли она разработана Apple или это компонент стороннего производителя, как, например CoreSight от ARM.


В начале июня 2023 года эксперты из «Лаборатории Касперского» раскрыли механизм целевой кибератаки с использованием iPhone, который был задействован для незаметного внедрения шпионского модуля на многие смартфоны Apple. Руководитель компании Евгений Касперский подтвердил в своём блоге факт целевой кибератаки на мобильные устройства на iOS сотрудников компании. Целью атаки было незаметное внедрение шпионского модуля в различные iPhone топ-менеджеров и руководителей среднего звена «Лаборатории Касперского».

Техническое описание атаки Operation Triangulation.

«Лаборатория Касперского» разработала утилиту triangle_check для ПК на операционных системах Windows и Linux, с помощью которой пользователи могут проверить свой iPhone (бэкап системы) на факт заражения вредоносным ПО Operation Triangulation.

В «Лаборатории Касперского» пояснили:

  • без проверки резервной копии с помощью утилиты выявить взлом iPhone можно, но намного сложнее, так как надо анализировать трафик от смартфона и обладать навыками сетевого специалиста;

  • какие именно данные передаются вовне, непонятно, так как они зашифрованы с помощью SSL и дополнительно ещё своим алгоритмом;

  • iOS 15 неуязвима для Operation Triangulation, начиная с версии 15.7.5. Насчёт iOS 16 — пока непонятно, продолжаются исследования эксплойта. В его коде есть заготовки под iOS 16, а на iOS 16.2 некоторые эксплойты перестают работать;

  • все центры управления атакой находятся на публичных хостингах Amazon или за Cloudflare, никаких языковых указаний в коде не обнаружено;

  • чтобы обезопасить устройство от заражения, нужно отключить iMessage в настройках или переключиться в Lockdown Mode, установить все последние обновления iOS, убедиться в том, что они установились, и только тогда перезагрузить устройство;

  • на некоторых устройствах после перезагрузки периодически происходит повторное заражение, если не предпринимать нужных действий по его избежанию;

  • у компании ещё много компонентов атаки, кода, которые нужно проанализировать. Эксперты продолжают всё это исследовать, описывать, документировать и публиковать информацию.

21 июня 2023 года эксперты «Лаборатории Касперского» в новом отчёте по этому инциденту раскрыли, как атакующие собирали данные с устройств жертв в ходе заражения по схеме «Операция Триангуляция». Для этого злоумышленники использовали шпионский имплант под названием TriangleDB. Это вредоносное ПО предоставляет третьим лицам возможности скрытого наблюдения за iPhone и работает исключительно в памяти устройства. Все следы его работы удаляются при перезагрузке устройства.

Имплант TriangleDB внедряется после успешной эксплуатации уязвимости ядра системы на базе на iOS для получения привилегий суперпользователя на iPhone. Если жертва перезагружает смартфон, то злоумышленники заново точечно заражают определённую систему, отправив новый iMessage с вредоносным вложением. Если перезагрузка не произойдёт, то имплант автоматически удалится через 30 дней, если злоумышленники не продлят этот срок в рамках проведения своей атаки.

В конце июля Apple выпустила iOS 16.6, а также iPadOS 16.6, macOS Ventura 13.5, где исправлено несколько критических уязвимостей, включая CVE-2023-38606, которая была найдена специалистами «Лаборатории Касперского». По словам Бориса Ларина из Kaspersky GReAT, одного из исследователей, обнаруживших проблему, CVE-2023-38606 использовалась в рамках хакерской кампании «Операция Триангуляция».

В октябре эксперты «Лаборатории Касперского» провели структурный анализ spyware и его компонентов в импланте TriangleDB для заражения «Операцией Триангуляция» на iOS.

Имплантат TriangleDB включает как минимум четыре различных модуля для записи микрофона, извлечения связки ключей iCloud, кражи данных из баз данных SQLite, используемых различными приложениями, и контроля местоположения жертвы.

Как отмечают исследователи, актор смог реализовать беспрецедентную скрытность, максимально тайно собирая конфиденциальную информацию со скомпрометированных устройств.

Tags:
Hubs:
If this publication inspired you and you want to support the author, do not hesitate to click on the button
Total votes 27: ↑27 and ↓0+27
Comments15

Other news