Компания по кибербезопасности «Касперский» в июне этого года опубликовала публичный отчет, в котором говорится, что iPhone, которыми пользовались некоторые сотрудники компании, были взломаны. Злоумышленники использовали множество сложных уязвимостей с нулевым щелчком мыши, чтобы заразить iPhone и добиться непрерывного мониторинга, не требуя какого-либо взаимодействия со стороны жертвы. Касперский назвал этот инцидент IOStriangulation. После того, как о соответствующих уязвимостях было сообщено Apple, в конце июня Apple выпустила несколько обновлений для их устранения.

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

Прошло полгода с момента выхода уязвимости. На последнем Конгрессе Chaos Communication исследователи из команды Касперского опубликовали подробный отчет и технические подробности, чтобы поделиться ими с другими исследователями безопасности.

Уязвимость iMessage с нулевым щелчком мыши, обнаруженная израильским разработчиком коммерческого шпионского ПО Pegasus из NSO Group, была названа одной из самых технически сложных, и атака триангуляции, похоже, находится на таком же страшном уровне, сказал Касперский.

Ниже приведена полная цепочка атак, объявленная Касперским, включая четыре уязвимости нулевого дня, используемые для получения root-доступа к устройству жертвы:

1. Злоумышленник отправляет целевому пользователю вредоносное вложение iMessage. Когда iPhone жертвы получит сообщение, iMessage не будет выдавать никаких напоминаний и автоматически обработает вложение;

2. Это вредоносное вложение использует недокументированную уязвимость удаленного выполнения кода CVE-2023-41990 в уникальной директиве шрифтов Apple ADJUSTTrueType;

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

4. Уязвимость JavaScript, использованная злоумышленником, была замаскирована, в результате чего код стал нечитаемым. Однако исследователи обнаружили, что злоумышленник использовал около 11 000 строк кода, в основном для операций JavaScriptCore и анализа памяти;

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

6. Для поддержки как старых, так и новых iPhone злоумышленник также создал функцию обхода, включающую код аутентификации указателя, который можно использовать на последних версиях iPhone;

7. Злоумышленники используют уязвимость целочисленного переполнения CVE-2023-32434 в системе отображения памяти XNU, чтобы получить доступ на чтение/запись на уровне пользователя ко всей физической памяти устройства;

8. Злоумышленники используют аппаратные регистры ввода-вывода, отображаемые в памяти, чтобы обойти уровень защиты страниц. Эта проблема была устранена с помощью CVE-2023-38606;

9. Когда все уязвимости использованы, уязвимость JavaScript может сделать с устройством что угодно, включая запуск шпионского ПО, но злоумышленник решает:

а. Запустите процесс IMAgent и внедрите полезную нагрузку, чтобы очистить устройство от следов эксплойтов;

б. Запустите процесс Safari в невидимом режиме и перенаправьте его на веб-страницу, используемую на следующем этапе атаки;

10. На веб-странице есть скрипт для проверки жертвы. Если обнаружение проходит, происходит переход к следующему этапу: эксплойт Safari;

11. Safari использует CVE-2023-32435 для выполнения шелл-кода;

12. Шелл-код выполняет еще один эксплойт уязвимости ядра в виде целевого файла Mach. Он использует те же уязвимости: CVE-2023-32434 и CVE-2023-38606. Это полностью отличается от уязвимости ядра, написанной на JavaScript. Однако цель также используется для операций анализа памяти, но большинство функций на более позднем этапе не используются злоумышленником;

13. Эксплойт получает root-права и переходит к другим этапам, включая загрузку шпионского ПО и т. д.

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

Команда «Лаборатории Касперского» планирует опубликовать больше статей о триангуляционных атаках в 2024 году. Пользователям, заинтересованным в этой статье, следует прочитать оригинальный отчет «Лаборатории Касперского», включающий анализ каждой уязвимости: https://securelist.com/operation-triangulation-the-last-hardware-mystery/111669/