Обнаружен шпионский софт, обманывающий владельцев iPhone

В iPhone уже давно есть простой механизм защиты: когда приложение активирует камеру – на экране появляется зеленая точка, когда подключается микрофон – оранжевая. Пользователь не может их отключить. По крайней мере, так было до появления шпионской программы Predator.

Исследователи Jamf Threat Labs разобрали Predator и показали, как она скрывает от владельца iPhone факт слежки. И это не теоретическая уязвимость – речь идет о реальной вредоносной программе, которая уже применялась против журналистов, активистов и политиков по всему миру.

Откуда берутся точки

Apple внедрила зеленую и оранжевую точки в iOS 14 (202:0) год. Их контролирует системный процесс SpringBoard, который отвечает за домашний экран и весь интерфейс. Обычные приложения физически не могут их отключить-так сделано намеренно, чтобы пользователь всегда знал, когда за ним следят.

Исследователи Нир Аврам и Ху Ке уточняют: они не нашли новую уязвимость iOS. Они описывают поведение Predator на уже зараженном устройстве. Predator попадает на телефон только через эксплойты нулевого дня-секретные уязвимости, о которых Apple еще не знает. Такие эксплойты покупают или создают специально, и они стоят очень дорого, поэтому их используют государственные структуры и спецслужбы, а не обычные мошенники.

Чем Predator отличается от других шпионов

Predator создан компанией Intellexa / Cytrox. Ранее исследователи описывали метод NoReboot, когда шпион имитировал выключение телефона, но он продолжал работать. Predator делает иначе: iPhone выглядит и работает как обычно, но индикаторы не появляются.

Внутри Predator есть модуль HiddenDot, который перехватывает момент, когда iOS хочет показать индикатор. Технически это происходит через функцию SBSensorActivityDataProvider._handleNewDomainData:. HiddenDot заменяет адрес получателя на ноль. В Objective-C это означает: команда просто игнорируется, ошибка не возникает, а точка на экране не появляется.

Важно: один перехват блокирует сразу оба индикатора – зеленый (камера) и оранжевый (микрофон), поскольку эта функция собирает данные обо всех датчиках перед отправкой в интерфейс.

Исследователи также заметили «мертвую» функцию CSWatcherSpawner:: TestHooker (), которую попытались применить для скрытия индикаторов, но от нее отказались в пользу более изящного метода HiddenDot.

Запись звонков

Отдельный модуль Predator записывает VoIP-разговоры в WhatsApp, Telegram и подобных приложениях. Он перехватывает аудиопоток, конвертирует его в компактный формат и сохраняет.

Но этот модуль сам по себе не может скрыть оранжевую точку. Для этого оператор шпиона активирует HiddenDot вручную. В противном случае во время записи пользователь увидит, что микрофон активен.

CameraEnabler: скрытый доступ к камере

Модуль CameraEnabler обходит защиту PAC (Pointer Authentication Codes) – механизм Apple для контроля памяти. Вместо поиска функции по имени он сканирует память на наличие характерного набора команд вместе с функцией FigVideoCaptureSourceCreateWithSourceinfo во фреймворке CMCapture. Это делает Predator устойчивым к обновлениям iOS: даже если Apple переименует или переместит функции, шпион все равно найдет нужный код.

Как понять, что телефон заражен

Jamf выделяет признаки, которые заметны при профессиональной проверке:

  • В процессах SpringBoard и mediaserverd появляются нестандартные области памяти – следы внедренного кода.
  • Несистемный код регистрирует обработчики исключений и изменяет регистры ЦП через thread_set_state.
  • Mediaserverd обращается к нестандартным путям через ExtAudioFileWrite.
  • Камера или микрофон работают, но соответствующая точка на экране не отображается.

Самостоятельно проверить iPhone на такие признаки невозможно-нужны специальные инструменты и эксперты.

Заключение

Самый надежный способ защитить себя – регулярно обновлять iOS. Predator не будет работать без первоначального взлома, поэтому закрытие уязвимостей делает приложение бесполезным.

- Реклама -