mrpink
.
.
.
.
- 19.08.16
- 4,239
- 666 ₽
- 97
Специалисты Jamf Threat Labs разобрали образец Predator и показали, как программа ведёт себя после полного взлома устройства.
Речь не идёт о новой уязвимости в iOS.
Исследование описывает, что происходит уже после заражения, когда злоумышленники получили полный контроль над системой, в том числе доступ к ядру и возможность внедрять код в системные процессы.
Predator действует иначе, чем известная техника NoReboot, о которой Jamf рассказывала несколько лет назад. Тогда вредоносная программа имитировала выключение телефона, продолжая слежку в фоновом режиме. Predator не притворяется выключенным устройством. Смартфон работает как обычно, но пользователь не видит никаких предупреждений о включённой камере или микрофоне.
Вредоносная программа внедряет перехват в метод системного класса, который получает уведомления об активации датчиков. Этот метод вызывается каждый раз, когда камера или микрофон начинают работу. Predator перехватывает вызов и подменяет один из служебных параметров на ноль.
Дальше срабатывает особенность языка Objective-C, на котором написана значительная часть iOS. Если методу отправить сообщение с «пустым» объектом, система просто проигнорирует вызов и не выполнит код. В результате информация о включении камеры или микрофона не доходит до интерфейса, и цветная точка не появляется. Один такой перехват блокирует сразу оба индикатора.
Отдельный модуль отвечает за запись звонков через интернет. Он перехватывает обработку аудиоданных в системном процессе mediaserverd, определяет частоту дискретизации, преобразует звук и сохраняет его в файл. При этом в нём нет собственного механизма скрытия оранжевой точки. По всей видимости, операторы должны сначала активировать общий модуль подавления индикаторов, а уже затем включать запись.
Ещё один компонент, CameraEnabler, обходит встроенную защиту доступа к камере с помощью перенаправления проверок в коде. Для этого Predator ищет нужную функцию по характерному набору машинных инструкций, а не по имени. Такой подход делает модуль менее чувствительным к изменениям в новых версиях iOS.
Для работы всех этих механизмов вредоносной программе нужно внедриться в системные процессы, включая SpringBoard и mediaserverd. Это оставляет определённые следы. Защитные решения могут искать необычные области памяти в системных процессах, регистрацию обработчиков исключений или ситуации, когда камера и микрофон активны без отображения индикаторов.
Речь не идёт о новой уязвимости в iOS.
Исследование описывает, что происходит уже после заражения, когда злоумышленники получили полный контроль над системой, в том числе доступ к ядру и возможность внедрять код в системные процессы.
Predator действует иначе, чем известная техника NoReboot, о которой Jamf рассказывала несколько лет назад. Тогда вредоносная программа имитировала выключение телефона, продолжая слежку в фоновом режиме. Predator не притворяется выключенным устройством. Смартфон работает как обычно, но пользователь не видит никаких предупреждений о включённой камере или микрофоне.
Вредоносная программа внедряет перехват в метод системного класса, который получает уведомления об активации датчиков. Этот метод вызывается каждый раз, когда камера или микрофон начинают работу. Predator перехватывает вызов и подменяет один из служебных параметров на ноль.
Дальше срабатывает особенность языка Objective-C, на котором написана значительная часть iOS. Если методу отправить сообщение с «пустым» объектом, система просто проигнорирует вызов и не выполнит код. В результате информация о включении камеры или микрофона не доходит до интерфейса, и цветная точка не появляется. Один такой перехват блокирует сразу оба индикатора.
Исследователи нашли и следы альтернативного подхода. В коде сохранилась неиспользуемая функция, которая напрямую вмешивалась в механизм отображения значков записи. Судя по всему, разработчики отказались от него в пользу более аккуратного варианта, который останавливает данные ещё до того, как они попадут в интерфейс.
Отдельный модуль отвечает за запись звонков через интернет. Он перехватывает обработку аудиоданных в системном процессе mediaserverd, определяет частоту дискретизации, преобразует звук и сохраняет его в файл. При этом в нём нет собственного механизма скрытия оранжевой точки. По всей видимости, операторы должны сначала активировать общий модуль подавления индикаторов, а уже затем включать запись.
Ещё один компонент, CameraEnabler, обходит встроенную защиту доступа к камере с помощью перенаправления проверок в коде. Для этого Predator ищет нужную функцию по характерному набору машинных инструкций, а не по имени. Такой подход делает модуль менее чувствительным к изменениям в новых версиях iOS.
Для работы всех этих механизмов вредоносной программе нужно внедриться в системные процессы, включая SpringBoard и mediaserverd. Это оставляет определённые следы. Защитные решения могут искать необычные области памяти в системных процессах, регистрацию обработчиков исключений или ситуации, когда камера и микрофон активны без отображения индикаторов.