Підписуйтеся на наш телеграм канал!
21 модель iPhone може прослуховуватися
Комерційне шпигунське програмне забезпечення Predator виявилося набагато винахідливішим, ніж вважалося раніше. Програма не просто проникає в систему iPhone — вона буквально використовує внутрішні механізми процесора, щоб отримати повний доступ до пам’яті ядра і непомітно стежити за користувачем. Фахівці з Jamf Threat Labs розібрали нові зразки Predator і показали, як влаштований його основний «двигун» зламу.
У центрі всієї схеми знаходиться механізм під назвою FDGuardNeonRW. Він дозволяє читати і записувати дані безпосередньо в пам’ять ядра. Для цього Predator використовує векторні регістри NEON — частину процесора, призначену для паралельних обчислень. Замість звичайних завдань шпигунське ПЗ перетворює регістри на прихований канал передачі даних. За один запит вдається отримати понад 500 байт інформації з пам’яті ядра, а запис даних підтверджується через перевірку результату.
Щоб закріпитися в системі, Predator змушений обходити захист покажчиків, впроваджений у процесори Apple починаючи з iPhone XS. Ця технологія перевіряє цілісність адрес функцій і має зупиняти будь-які спроби підміни. Однак шпигунське ПЗ знайшло обхідний шлях: замість створення власного механізму підпису Predator шукає потрібний фрагмент коду всередині системного компонента JavaScriptCore. Знайдена послідовність інструкцій дозволяє підробляти підписи покажчиків і перенаправляти виконання коду.
Щоб прискорити роботу, Predator заздалегідь створює таблицю з 256 підписаних покажчиків. Завдяки цьому при перехопленні функцій не потрібно витрачати час на криптографічні операції — потрібне значення береться з кешу практично миттєво.
Ще один ключовий елемент — механізм віддаленого виконання функцій. Він дозволяє запускати код всередині інших процесів, підміняючи стан потоків через системні повідомлення. Після виконання функції керування автоматично повертається до шпигунського ПЗ, що дає змогу повторювати операцію скільки завгодно разів.
Архітектура Predator розділена на кілька процесів: один відповідає за керування, інші — за стеження. Щоб усі частини могли працювати з пам’яттю ядра, використовується спеціальний механізм передачі прав доступу через файлові дескриптори і системні порти — фактично «роздаючи» доступ до ядра всередині зараженого пристрою.
Шпигунське ПЗ підтримує 21 модель iPhone — від iPhone XS до iPhone 14 Pro Max. Для кожної групи пристроїв передбачені свої параметри, включно з точними зміщеннями в структурах ядра. Якщо пристрій не підходить, програма просто припиняє роботу, щоб не спричинити збій системи.
Атака розрахована на пристрої з iOS нижче версії 17. У новіших моделях Apple змінила архітектуру керування пам’яттю, що ускладнює подібні техніки. Утім, аналіз показує, наскільки далеко просунулися розробники комерційного шпигунського ПЗ: основні зусилля йдуть уже не лише на пошук вразливостей, а на створення стійких і непомітних механізмів роботи всередині системи після зламу.
