Компания по кибербезопасности «Касперский» в июне этого года опубликовала публичный отчет, в котором говорится, что 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/