Специалисты Jamf Threat Labs проанализировали новые версии коммерческого шпионского ПО Predator и описали многоэтапную атаку на iOS, позволяющую злоумышленникам обходить встроенные механизмы защиты и закрепляться на уровне ядра системы. По данным исследователей, схема нацелена прежде всего на устройства с iOS ниже версии 17, где архитектура управления памятью ещё позволяет реализовать подобный класс атак.
Ключевым элементом вредоносной платформы стал механизм FDGuardNeonRW. Он задействует векторные регистры NEON, предназначенные для параллельных вычислений, как скрытый канал чтения и записи данных прямо в память ядра. За один запрос Predator может получить свыше 500 байт информации, при этом запись в память сопровождается проверкой результата, что повышает надёжность и устойчивость атаки.
Для обхода защиты указателей, внедрённой в процессорах Apple начиная с iPhone XS, Predator сканирует системный компонент JavaScriptCore в поисках специфической последовательности инструкций. Найденный фрагмент кода становится основой для подделки подписей указателей и перенаправления выполнения кода, что фактически ломает один из ключевых уровней аппаратной защиты современных iPhone.
Вторым важным компонентом исследователи называют механизм удалённого выполнения функций. Он даёт злоумышленникам возможность запускать свой код внутри других процессов за счёт подмены состояния потоков через системные сообщения. После завершения операции управление возвращается к Predator, что позволяет многократно повторять цепочку и сохранять устойчивый контроль над заражённым устройством.
Архитектура Predator разделена на несколько процессов: управляющий модуль и отдельные компоненты для слежки и сбора данных. Обмен между ними построен вокруг механизма передачи прав доступа, который «раздаёт» полномочия уровня ядра внутри уже взломанного устройства. Jamf Threat Labs подчёркивает, что изменения в управлении памятью, реализованные в iOS 17, серьёзно затрудняют применение описанной техники, поэтому пользователям рекомендуется как можно скорее обновить систему до актуальной версии и внимательно относиться к источникам устанавливаемого ПО.