Исследователи опубликовали новую технику, которая имитирует выключение iPhone для слежки.
ZecOps рассказывает о концепции атаки, получившей название «NoReboot». Она описывается как способность обойти обычную практику перезапуска устройства для удаления вредоносной активности из памяти.
Проведя анализ и разместив на GitHub репозиторий, ZecOps заявил, что троянец NoReboot имитирует настоящее отключение, обеспечивая прикрытие для работы вредоносного ПО, что может включать в себя тайный захват возможностей микрофона и камеры для слежки за владельцем телефона.
«Пользователь не может почувствовать разницу между реальным отключением и «фиктивным отключением», — говорят исследователи. «Пользовательский интерфейс никак не отображается и нет какой-либо обратной связи с кнопками, пока пользователь не включит телефон снова».
Этот метод берет на себя ожидаемое событие выключения путем внедрения кода в три демона: InCallService, SpringBoard и backboardd.
Когда iPhone выключен, есть физические индикаторы того, что это было успешно выполнено, например, звонок или звук, вибрация и появление логотипа Apple на экране, но, отключив «физическую обратную связь», вредоносное ПО может создать видимость отключения при сохранении живого соединения с оператором.
«Когда вы переключаетесь, чтобы выключить питание, системное приложение /Applications/InCallService.app отправляет сигнал о завершении работы в SpringBoard, который является демоном, отвечающим за большую часть взаимодействия с пользовательским интерфейсом», — пояснили исследователи. «Нам удалось перехватить сигнал, перехватив метод Objective-C —[FBSSystemService shutdownWithOptions:]. Теперь вместо того, чтобы отправлять сигнал о завершении работы в SpringBoard, он будет уведомлять и SpringBoard, и backboardd о необходимости запуска кода, который мы в них внедрили».
Крутящееся колесо, указывающее на завершение процесса, может быть перехвачено через backboardd, а функция SpringBoard может быть принудительно закрыта и заблокирована от повторного перезапуска. ZecOps заявила, что, захватив SpringBoard, iPhone может «выглядеть и ощущаться» так, как будто он не включен, что является «идеальной маскировкой для имитации ложного отключения питания».
Однако у пользователей по-прежнему есть возможность принудительного перезапуска. Именно здесь вступает в действие вмешательство в backboardd — путем отслеживания пользовательского ввода, в том числе того, как долго удерживаются кнопки, перезагрузка может быть смоделирована непосредственно перед тем, как произойдет настоящий перезапуск, например, путем раннего отображения логотипа Apple.
«Запретить пользователям перезапускать зараженное устройство вручную, заставив их поверить в то, что они успешно это сделали, — примечательный пример стойкости вредоносного ПО», — комментирует Malwarebytes. «Вы думаете, что его больше нет, а он все еще там».
Поскольку способ фокусируется на обмане пользователей, а не на уязвимостях или ошибках в платформе iOS, его нельзя исправить с помощью патча. ZecOps указывает, что способу NoReboot подвержены все версии iOS, и только аппаратные индикаторы могут помочь в обнаружении этой формы атаки.
Далее видео с демонстрацией
.