Операция «Триангуляция»
Операция «Триангуляция» — целевая кибератака на iOS-устройства с беспрецедентной для iOS-атак технической сложностью, в которой использовалась цепочка четырёх уязвимостей нулевого дня. Информация о атаке впервые обнародована в июне 2023 года[1]. Количество жертв оценивают в несколько тысяч человек[2].
Общие сведения
| Операция «Триангуляция» | |
|---|---|
| Тип | Атака на информационную систему |
Цели атаки
Цель атаки — шпионаж (извлечение переписок и паролей с устройства, запись разговоров и данных геолокации). Точное число пострадавших от нападения установить невозможно из-за высокой скрытности организаторов атаки. По оценкам некоторых источников число жертв атаки достигло несколько тысяч человек, в их числе сотрудники коммерческих, государственных и дипломатических организаций в РФ и её представительствах за рубежом[2].
Ход событий
1 июня 2023 «Лаборатория Касперского» заявила об обнаружении следов новой вредоносной программы на iOS-устройствах своих сотрудников. Выявлено, что программа предназначена для шпионажа и отличается высокой скрытностью, обнаружить её удалось только по необычному обмену данными с заражённых iPhone. В ходе расследования выявлено, что следы первых заражений датируются 2019 годом. Атака получила название «Операция „Триангуляция“»[1].
Практически сразу была опубликована утилита triangle_check, которая позволяет пользователям проверить свои устройства iOS на компрометацию и определить, действительно ли они стали жертвами атаки[3][4][5].
21 июня 2023 «Лаборатория Касперского» опубликовала исследования имплантата TriangleDB, применяемого в атаке[6][7].
В тот же день компания Apple выпустила обновления iOS 15.х и 16.х, в которых устранены две уязвимости, применяемые в атаке: CVE-2023-32434 в ядре iOS и CVE-2023-32435 в механизме отображения веб-страниц WebKit. Считается, что эксплуатация этих программных ошибок позволяла незаметно заражать iPhone в обход систем безопасности iOS[8][9].
24 июля 2023 Apple выпустила обновления iOS 15.x и 16.x, устраняя уязвимости CVE-2023-38606 в ядре iOS и CVE-2023-41990 в механизме работы со шрифтами FontParser. Эти уязвимости также применялись в цепочке заражения операции «Триангуляция»[10][11].
23 октября 2023 «Лаборатория Касперского» опубликовала данные о многоступенчатой фильтрации потенциальных жертв авторами атаки. Эта фильтрация позволяла атакующим заражать только нужных им жертв и скрываться от безопасников[12].
26 октября 2023 на Security Analyst Summit был представлен доклад о процессе исследования операции «Триангуляция» и попытках получить все компоненты цепочки заражения[13].
27 декабря 2023 на Сhaos Сommunication Сongress представили доклад о полной цепочке атаки и четырёх уязвимостях, использованных в атаке, включая недокументированные функции процессоров Apple[14][15][16][17].
28 декабря 2023 хакер Эктор Мартин узнал о применении недокументированных функций процессоров Apple в операции «Триангуляция» и поделился известной ему информацией о возможном механизме их работы и предназначении[18].
Технические особенности
Операция «Триангуляция» отличалась беспрецедентной для iOS-атак технической сложностью: цепочка заражения состояла из 14 шагов, в процессе использовались 4 уязвимости нулевого дня, а также недокументированные аппаратные особенности процессоров Apple. Все известные атаки проводились на iOS-версии до 15.7.х, однако применяемые техники оставались работоспособны вплоть до iOS 16.2[19][1][15].
При получении специально сконструированного невидимого владельцу сообщения iMessage на смартфоне iPhone срабатывал вредоносный код, загружавший дополнительные компоненты с командных серверов операции «Триангуляция». Также он получал повышенные привилегии на устройстве и разворачивал в памяти смартфона шпионское ПО с широким доступом к содержимому и функциям устройства[1].
Заражение устройства
Заражение осуществлялось через невидимое сообщение iMessage. Вредоносное вложение в iMessage, имеющее формат .watchface (дизайн экрана смарт-часов, фактически ZIP-файл с вложенным PDF), незаметно открывало Safari в фоновом режиме, а в браузере — веб-страницу, откуда загружались следующие компоненты цепочки заражения[12].
Веб-страница содержала скрипт проверки (валидатор), анализирующий параметры заражаемого смартфона и принимающий решение, продолжать ли атаку. Чтобы уникализировать идентификацию жертв, использовалась технология canvas fingerprinting, рисующая на веб-странице треугольник, давший название операции (от англ. triange — треугольник)[12].
На этих этапах атаки эксплуатировались уязвимости нулевого дня CVE-2023-41990, CVE-2023-32434 и CVE-2023-38606[17][20].
На начальном этапе взлома на устройство жертвы через iMessage поступало сообщение с вредоносными данными, эксплуатирующими уязвимость CVE-2023-41990 в реализации Apple обработки шрифтов TrueType. Уязвимость позволяла удалённо выполнять код с минимальными привилегиями и переходить к следующему этапу, целью которого был доступ к ядру iOS. Эксплуатация уязвимости CVE-2023-32434 открывала доступ на чтение и запись ко всей физической памяти устройства, а CVE-2023-38606 через секретные регистры MMIO позволяла обходить механизм Page Protection Layer (PPL) после компрометации ядра. На этом этапе запускался процесс IMAgent с полезной нагрузкой, стирающей следы атаки с устройства[17].
После прохождения проверки скрипт на веб-странице параллельно эксплуатирует уязвимость CVE-2023-32435 в браузере Safari, связанную с выполнением шелл-кода, и загружает в память устройства бинарный код (второй эксплойт ядра, основанный на уязвимостях CVE-2023-32434 и CVE-2023-38606)[17], который получает привилегии root и проводит более детальную проверку смартфона на соответствие интересам атакующих. Этот бинарный валидатор также удаляет следы полученного iMessage и загружает основной вредоносный имплантат TriangleDB[12].
Вредоносное ПО работает только в памяти смартфона и после перезагрузки стирается. В этом случае атакующие снова присылают iMessage для заражения[21].
Недокументированная функция Apple
Для обхода аппаратной защиты памяти, применяемой в последних поколениях процессоров Apple (A12-A16), в эксплойте для уязвимости ядра CVE-2023-38606 применялись недокументированные аппаратные особенности процессоров[22].
Уязвимость основана на незадокументированной аппаратной функции, благодаря которой злоумышленники обходили расширенную аппаратную защиту памяти. Механизм защищал целостность устройства даже при доступе злоумышленника к ядру системы. Если на других платформах хакер в этот момент получал полный контроль над системой, то у Apple даже при получении доступа к ядру не появлялась возможность изменения его кода, получения конфиденциальных данных ядра или внедрения вредоносного кода в любые процессы. Уязвимость CVE-2023-38606 позволила злоумышленникам записывать данные, адреса назначения и хеши в аппаратные регистры MMIO чипа, которые не описаны в документации и не использовались приложениями на базе iOS или самой операционной системой iOS, система о них «не знала». С ней хакеры получили возможность обхода защиты, которая присутствует также в процессорах Apple M1 и M2, в результате код эксплойта способен изменять аппаратно защищённую область памяти ядра iOS. Исследователи «Лаборатории Касперского» предполагают, что этот механизм был создан для отладки самого процессора[15][17].
По словам некоторых экспертов, «очень немногие, или вообще никто за пределами Apple и поставщиков чипов, таких как ARM Holdings» могли знать об этой функции[23].
Эктор Мартин описал возможный механизм эксплуатации, основанный на прямой записи в кэш памяти, что позволяет в ряде случаев обойти механизмы её защиты[18].
Функции имплантата TriangleDB
Вредоносное ПО TriangleDB имеет модульную структуру, поэтому его функции могут быть расширены загрузкой дополнительных модулей с сервера.
Базовая версия способна загружать на сервер злоумышленников файлы с устройства, извлекать данные из связки ключей, отслеживать геолокацию жертвы, модифицировать файлы и процессы на смартфоне[7].
Известные дополнительные модули поддерживают продолжительную звукозапись с микрофона (в том числе в авиарежиме), выполнение запросов к базам данных, сохранённых на устройстве, и кражу чатов Whatsapp и Telegram[23].
Способы обнаружения и удаления
Блокировка обновлений
Характерным проявлением заражения смартфона вредоносным ПО операции «Триангуляция» была невозможность обновить iOS до более новой версии. Эта особенность проявлялась не на всех заражённых устройствах[24].
Следы заражения можно обнаружить в служебных файлах на iPhone. Поскольку на самом iOS-устройстве они недоступны, на компьютер делается резервная копия iPhone через iTunes и дальше проводится её анализ. Для анализа применяется утилита Triangle_check[3][25][26].
Анализ сетевых соединений
Вредоносный код операции «Триангуляция» устанавливает связь с серверами атакующих, список которых был выложен в публичный доступ[1].
Удаление заражения
Для полностью скомпрометированных устройств исследователи рекомендуют следующую последовательность действий, чтобы предотвратить повторное заражение[1]:
- сброс до заводских настроек,
- отключение iMessage,
- обновление iOS до более свежей версии.
Происхождение атаки
«Лаборатория Касперского» не делала официальных заявлений о происхождении атаки и не приписывала её какой-либо хакерской группировке или стране.
Однако 1 июня 2023 ФСБ выступило с заявлением об обнаружении вредоносного программного обеспечения для мобильных телефонов Apple, использующего «предусмотренные производителем программные уязвимости». Также ФСБ прямо обвинила Apple в сотрудничестве с АНБ. В том же заявлении указано, что заражению подверглись несколько тысяч телефонных аппаратов, в том числе за пределами России: в странах блока НАТО, странах постсоветского пространства, Израиля, САР и КНР[27][28][29].
Apple в тот же день выпустила заявление, в котором отрицала эти обвинения[30].
ФСБ и «Лаборатория Касперского» сделали независимые друг от друга заявления. Однако некоторые эксперты считают, что речь в обоих случаях идёт именно об операции «Триангуляция»[31][32][33][34].
Последствия
Apple публично опровергла обвинения в сотрудничестве со спецслужбами для внедрения бэкдоров[30].
Компания выпустила несколько пакетов обновлений, которые устраняют уязвимости в iOS, применённые в операции «Триангуляция»[35][36][9][37][11].
Apple отказалась выплачивать исследователям «Лаборатории Касперского» премию за нахождение уязвимостей в рамках своей программы Bug bounty[38].
В июле-августе 2023 года стало известно, что использование смартфонов и планшетов Apple в служебных целях запретили в ряде российских государственных и коммерческих организаций: Минцифры, Минпромторг, Минтранс, Федеральная налоговая служба, РЖД, Ростех. Позднее в 2023 году такое же решение приняли Центробанк и МЧС[39][40].
В сентябре 2023 года стало известно, что правительство Китая приняло решение о расширении запрета на пользование iPhone не только сотрудниками государственных учреждений, но и подконтрольных государству компаний. МИД Китая опроверг существование «законов, постановлений и политических документов, которые запрещали бы покупку или использование иностранных смартфонов, включая iPhone от Apple». По данным WSJ подобное распоряжение было разослано неофициально[41].
В 2024 году запрет iPhone по соображениям безопасности был анонсировал Минобороны Южной Кореи, при этом телефоны на базе Android не запрещены[42].
Оценки
Код для эксплуатации уязвимостей (эксплойт) в операции «Триангуляция» был назван экспертами самым сложным в истории[23][43].
Наиболее примечательными особенностями атаки названы знание злоумышленниками недокументированных возможностей чипов Apple и применение четырёх уязвимостей нулевого дня в одной атаке[44][23][45].
Криптограф Брюс Шнаер оценил атаку как «безумно сложную» и исполненную при государственной поддержке.[46]
Сложность атаки и возможные способы защиты от неё заинтересовали Илона Маска[47][48].