Эксперты Google Project Zero представили результаты разбора эксплойта, с помощью которого на iPhone активистов в Саудовской Аравии была установлена программа-шпион Pegasus. Как оказалось, разработчики из NSO Group потрудились на славу: созданный ими инструмент взлома аналитики признали одним из самых сложных на их памяти.
Исследование подтвердило, что точкой входа для Pegasus являлось приложение iMessage, которое Apple по умолчанию предустанавливает на iPhone и iPad. Эксплойт NSO Group, известный как FORCEDENTRY, заточен под RCE-уязвимость CVE-2021-30860, привязанную к iOS-фреймворку CoreGraphics (устранена в сентябре, с выпуском iOS 14.8).
Проблема проявлялась при парсинге PDF-файлов. Однако в чатах больше популярны «гифки», и для рендеринга разношерстных изображений как GIF мессенджер Apple использует API CoreGraphics. При этом на основе исходной картинки создается файл с расширением .gif, но при парсинге содержимого оно игнорируется.
Создатели FORCEDENTRY учли этот трюк с фейковыми GIF и спрятали свой код в PDF-файле, но, со слов Project Zero, сделали это очень нетривиально. Обычно в таких случаях злоумышленники вставляют в документ Javascript, но Apple использует устаревший кодек для сжатия черно-белых изображений — JBIG2, который не умеет обрабатывать скрипты.
Специалисты NSO Group создали собственный механизм запуска эксплойта — небольшой CPU (регистры, 64-битный сумматор, компаратор), работу которого способен эмулировать JBIG2. Выполнение побитовых операций при этом осуществляется с использованием более 70 тыс. специальных команд.
Процесс не столь быстр, как в случае с Javascript, но позволяет получить искомый результат — автоматическую загрузку эксплойта с выходом за пределы песочницы Apple. Исследователи также не преминули отметить, что FORCEDENTRY работает в фоновом режиме, не требуя участия жертвы — такого, как клик по вредоносной ссылке.
Проблема шпионского софта Pegasus последнее время часто обсуждается, и не только в СМИ. Чтобы уберечь своих пользователей от подобного шпионажа, Apple недавно обратилась в суд с просьбой ограничить злоупотребление ее продуктами и сервисами со стороны NSO Group. Перед этим в США ввели экспортные ограничения по разработкам этой израильской компании.