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