✔В атаках «Операция Триангуляция» использовалась недокументированная аппаратная функция Apple - «Новости»
Специалисты «Лаборатории Касперского» выступили с докладом Operation Triangulation: What You Get When Attack iPhones of Researchers (Операция «Триангуляция»: что произойдет, если атаковать iPhone специалистов по безопасности) на всемирном конгрессе хакеров Chaos Communication Congress (37C3). Эксперты подвели итоги продолжительного исследования и публично раскрыли подробности касательно всех уязвимостей и эксплоитов, использовавшихся в нашумевшей атаке.
Цепочка атак
Выяснилось, что шпионские атаки, нацеленные на iPhone с 2019 года, эксплуатировали недокументированные функции чипов Apple для обхода аппаратных средств защиты.
В итоге эксперты пишут, что «Операция Триангуляция», это «самая изощренная цепочка атак», из всех, что они когда-либо видели.
«Операция Триангуляция»
Летом 2023 года ФСБ и ФСО России сообщили о «разведывательной акции американских спецслужб, проведенной с использованием мобильных устройств фирмы Apple». Вскоре после этого «Лаборатория Касперского» опубликовала развернутый отчет о целевых атаках, направленных на устройства, работающие под управлением iOS.
Эта кампания получила название «Операция Триангуляция» (Operation Triangulation) и, по данным исследователей, целью выявленных атак было «незаметное внедрение шпионского модуля в iPhone сотрудников компании — как топ-менеджмента, так и руководителей среднего звена». В компании сообщали, что эти атаки начались еще в 2019 году.
Для атак использовался сложный метод распространения эксплоитов — через сообщения в iMessage , который не требовал каких-либо действий от пользователей.
Ранее эксперты уже обнародовали детальный отчет о малвари TriangleDB, написанной на Objective-C, и рассказали, что имплант загружался на устройства после того, как атакующие получали root-права в результате успешной эксплуатации уязвимости в ядре iOS.
Также специалисты посвятили отдельный отчет скрытности и инструментам, с помощью которых хакеры ее достигали, а также разобрали активность импланта после компрометации. Еще один отчет был посвящен пяти уязвимостям (включая CVE-2023-32434, CVE-2023-32435, CVE-2023-38606 и CVE-2023-41990), задействованным в этих атаках, которые в итоге спешно патчила компания Apple.
Аналитики рассказывают, что практически завершили обратный инжиниринг всех аспектов этой цепочки атак и в новом году обещают выпустить серию статей с подробным описанием каждой уязвимости и ее эксплуатации. Однако некоторые аспекты одной конкретной уязвимости им так не удалось понять до конца.
Речь идет об уязвимости CVE-2023-38606, которая была устранена 24 июля 2023 года с релизом iOS и iPadOS 16.6. Специалисты объясняют, что новые модели iPhone имеют дополнительную аппаратную защиту чувствительных областей памяти ядра. Она не позволяет злоумышленникам получить полный контроль над устройством, даже если у них есть доступ на чтение-запись в память ядра, как в случае этой атаки с использованием уязвимости CVE-2023-32434. Но специалисты обнаружили, что для обхода этой аппаратной защиты хакеры используют другую аппаратную функцию SoC компании Apple.
С ее помощью злоумышленники могут записать необходимые данные по нужному физическому адресу в обход аппаратной защиты памяти, для этого необходимо записать данные, адрес назначения и хэш данных в недокументированные, не используемые прошивкой аппаратные регистры чипа.
Предполагается, что эта недокументированная аппаратная функция, скорее всего, предназначалась для отладки или тестирования инженерами Apple или на заводе-изготовителе, либо была включена по ошибке. Поскольку эта функция не активна в прошивке, исследователи признают, что «понятия не имеют», как злоумышленники догадались, как ее можно использовать, учитывая, что никаких инструкций по ее применению не существует.
В технической части отчета исследователи рассказывают, что уязвимость CVE-2023-38606 нацелена на неизвестные регистры MMIO (ввод-вывод через память) в Apple A12-A16 Bionic, которые оказались связанны с сопроцессором GPU, но отсутствовали в дереве устройств.
«Анализируя эксплоит, используемый в атаке “Операция Триангуляция”, я обнаружил, что большинство MMIO, применяемых для обхода аппаратной защиты памяти ядра, не принадлежат ни одному из диапазонов MMIO, определенных в дереве устройств. Эксплоит предназначен для SoC Apple A12-A16 Bionic и использует недокументированные блоки регистров MMIO, расположенные по адресам: 0x206040000, 0x206140000, 0x206150000.
Это подсказало мне взглянуть на ситуацию с другой стороны. Я изучил разные файлы дерева устройств, предназначенные для разных устройств и разных прошивок, но безуспешно. Затем я просмотрел общедоступный исходный код XNU — тоже безрезультатно. В поисках прямого обращения к этим адресам я исследовал образы ядра, расширения ядра, iboot, прошивки сопроцессоров — никакого результата.
Как такое может быть, что эксплоит использует регистры MMIO, которые не используются прошивкой? Откуда злоумышленники узнали о них? Какому периферийному устройству (устройствам) принадлежат эти адреса MMIO?
У меня возникла идея проверить, какие еще документированные MMIO расположены по соседству с этими неизвестными блоками регистров MMIO. Этот подход оказался успешным», — рассказывает о поисках ответов автор отчета, Борис Ларин.
Отдельно отмечается, что авторы эксплоита были в курсе того, как использовать проприетарную область UTT Apple для вывода процессора из режима ожидания, хотя этого нет в исходном коде XNU.
В заключение специалисты резюмируют, что это крайне необычная уязвимость, и у них осталось много нерешенных вопросов.
«Нам неизвестно, как злоумышленники узнали способ использовать недокументированную аппаратную функцию и каково было ее первоначальное назначение. Мы также не знаем, была ли она разработана Apple или это компонент стороннего производителя, как, например CoreSight от ARM, — гласит отчет. — Но мы знаем точно, и данная уязвимость это доказывает, что даже самые современные аппаратные средства защиты бессильны перед лицом изощренного злоумышленника, пока существуют аппаратные функции, позволяющие обойти эти средства защиты».
По мнению исследователей, производители слишком часто полагаются на принцип «безопасность через неясность» (security through obscurity) при защите «железа», ведь считается, что аппаратное обеспечение гораздо сложнее подвергнуть реверс-инжинирингу.
«Но это неправильный подход, потому что рано или поздно все тайное становится явным. Системы, опирающиеся на принцип “безопасность через неясность”, никогда не будут по-настоящему безопасными», — заключают эксперты.