Actualiza a iOS 17 o prepárate para que te espíen.

El software espía comercial Predator resultó ser mucho más ingenioso de lo que se creía anteriormente. El programa no solo se infiltra en el sistema iPhone, sino que literalmente utiliza los mecanismos internos del procesador para obtener acceso completo a la memoria del núcleo y vigilar al usuario sin ser detectado. Especialistas de Jamf Threat Labs analizaron nuevas muestras de Predator y mostraron cómo funciona su principal "motor" de ataque. Se trata de una compleja cadena de ataques que permite eludir la protección de iOS y afianzarse a nivel del núcleo del sistema.
En el centro de todo el esquema se encuentra un mecanismo llamado FDGuardNeonRW. Permite leer y escribir datos directamente en la memoria del núcleo. Para ello, Predator utiliza los registros vectoriales NEON — parte del procesador destinada a cálculos en paralelo. En vez de sus tareas habituales, el software espía convierte los registros en un canal oculto de transmisión de datos. Con una sola solicitud se logra obtener más de 500 bytes de información de la memoria del núcleo, y la escritura de datos se verifica mediante la comprobación del resultado.
Para afianzarse en el sistema, Predator tiene que eludir la protección de punteros introducida en los procesadores de Apple a partir del iPhone XS. Esta tecnología comprueba la integridad de las direcciones de funciones y debería romper cualquier intento de sustitución. Sin embargo, el software espía encontró un camino alternativo. En lugar de crear su propio mecanismo de firma, Predator busca el fragmento de código necesario directamente dentro del componente del sistema JavaScriptCore. La secuencia de instrucciones encontrada permite falsificar las firmas de los punteros y redirigir la ejecución del código.
Para acelerar el trabajo, Predator crea con antelación una tabla de 256 punteros firmados. Gracias a esto, al interceptar funciones no es necesario gastar tiempo en operaciones criptográficas: el valor necesario se toma de la caché casi de inmediato.
Otro elemento clave es el mecanismo de ejecución remota de funciones. Permite ejecutar código dentro de otros procesos, alterando el estado de los hilos mediante mensajes del sistema. Tras la ejecución de la función, el control vuelve automáticamente al software espía, lo que permite repetir la operación tantas veces como se desee.
La arquitectura de Predator está dividida en varios procesos. Uno se encarga del control, otros de la vigilancia. Para que todas las partes puedan trabajar con la memoria del núcleo, se emplea un mecanismo especial de transmisión de permisos. Este vincula los procesos mediante descriptores de archivos y puertos del sistema, entregando de facto acceso al núcleo dentro del dispositivo infectado.
Se implementó de forma independiente el trabajo con métodos Objective-C. Si la función necesaria está en una aplicación de usuario y su dirección cambia por la aleatorización, Predator determina la dirección correcta directamente en el proceso objetivo. Para ello se vuelve a utilizar el mismo mecanismo de ejecución remota.
El software espía es compatible con 21 modelos de iPhone — desde iPhone XS hasta iPhone 14 Pro Max. Para cada grupo de dispositivos se prevén parámetros propios, incluidos los desplazamientos exactos en las estructuras del núcleo. Si el dispositivo no es compatible, el programa simplemente termina su ejecución para no provocar un fallo del sistema.
El ataque está dirigido a dispositivos con iOS anterior a la versión 17. En modelos más nuevos, Apple cambió la arquitectura de gestión de memoria, lo que complica estas técnicas. No obstante, el análisis muestra hasta qué punto han avanzado los desarrolladores de software espía comercial. Los esfuerzos principales ya no se concentran solo en buscar vulnerabilidades, sino en crear mecanismos resistentes y discretos para operar dentro del sistema tras el compromiso.