Коммерческий инструмент слежки Predator, созданный Intellexa, научился скрывать сигналы активации камеры и микрофона в iOS, продолжая тайно передавать аудио и видео операторам. Исследование Jamf показывает, как вредонос внедряется в системный интерфейс и отключает визуальные предупреждения, которые Apple добавила для защиты пользователей.
В iOS 14 Apple ввела простую систему оповещений: в строке состояния загорается зелёная точка при работе камеры и оранжевая при активации микрофона. Эти маркеры стали символом цифровой прозрачности — пользователь видит, что устройство «слышит» или «смотрит». Predator играет против этого механизма.
Специалисты Jamf установили, что вредонос не ищет новые дыры в защите, а опирается на уже полученный контроль на уровне ядра. Такой доступ позволяет вмешиваться в системные компоненты без лишнего шума – вместо новой уязвимости используются уже завоёванные позиции.
Аналитики обнаружили, что Predator внедряет перехватчик в SpringBoard — центральный интерфейс iOS, отвечающий за рабочий стол и элементы статуса. Вредонос активирует функцию HiddenDot::setupHook(), вызываемую при каждом изменении активности датчиков. Целевой метод handleNewDomainData срабатывает при включении камеры или микрофона; Predator перехватывает этот вызов до того, как данные попадут в систему отображения.
По сути, программа обнуляет объект SBSensorActivityDataProvider в составе SpringBoard. В Objective-C обращение к нулевому объекту не вызывает ошибок и уведомлений — интерфейс просто «не замечает» активацию камеры или микрофона. Точка в строке состояния не появляется, пользователь остаётся в неведении.
Jamf указывает, что SBSensorActivityDataProvider агрегирует данные обо всех сенсорах: один хук отключает отображение и для камеры, и для микрофона. Решение лаконично и технологически изящно, хотя назначение у него крайне мрачное.
В коде нашли следы альтернативного пути — фрагменты, связанные с SBRecordingIndicatorManager, который отвечает за индикаторы записи. Этот участок не исполняется. По мнению исследователей, он мог относиться к ранней версии, от которой отказались в пользу перехвата на более высоком уровне обработки данных сенсоров.