Campaña de puerta trasera en iPhone durante 4 años usó una cadena de exploits avanzada
(arstechnica.com)- Operation Triangulation es el nombre de una campaña que infectó iPhones únicamente mediante iMessage durante al menos 4 años, y se sabe que afectó dispositivos de empleados de Kaspersky y iPhones de personal de sedes diplomáticas y embajadas en Rusia
- La infección comenzaba con un archivo adjunto malicioso de iMessage que se procesaba aunque el usuario no hiciera nada, y como la infección desaparecía al reiniciar, los atacantes la mantenían enviando un nuevo mensaje para reinfectar el dispositivo
- Kaspersky analizó que esta cadena usó 4 vulnerabilidades zero-day, y Apple ya corrigió CVE-2023-32434, CVE-2023-32435, CVE-2023-38606 y CVE-2023-41990
- El avance más importante fue una vulnerabilidad en una función de hardware no documentada, que permitió a los atacantes saltarse la protección de memoria basada en hardware del iPhone y superar las restricciones para modificar el kernel e inyectar código malicioso
- No se identificó al autor del ataque; ante las sospechas sobre participación de la NSA y Apple, Kaspersky dijo que no había pruebas y Apple negó haber colaborado
Cómo infectaba Operation Triangulation
- Operation Triangulation es el nombre que Kaspersky dio al malware y a la campaña que lo instaló
- La infección se entregaba mediante mensajes de iMessage, y la cadena de exploits se ejecutaba sin que el destinatario tuviera que hacer nada
- El spyware instalado enviaba datos sensibles a servidores controlados por los atacantes
- grabaciones del micrófono
- fotos
- ubicación geográfica
- otros datos sensibles
- La infección no sobrevivía a un reinicio, pero los atacantes mantenían la persistencia enviando un nuevo iMessage malicioso justo después de que el dispositivo volviera a encenderse
- Detectar la infección es muy difícil incluso para personas con experiencia avanzada en análisis forense
- La lista de indicadores de compromiso puede consultarse en la página de Kaspersky sobre Triangulation validators/modules
Los 4 zero-days y el alcance del impacto
- Kaspersky concluyó que Triangulation usó 4 vulnerabilidades zero-day críticas
- Apple corrigió las 4 vulnerabilidades
- Estas fallas y la función secreta de hardware también estaban presentes en varias plataformas de Apple además del iPhone
- Mac
- iPod
- iPad
- Apple TV
- Apple Watch
- Los exploits recuperados por Kaspersky fueron desarrollados deliberadamente para funcionar también en esos dispositivos, y Apple corrigió esas plataformas igualmente
- Apple se negó a hacer comentarios al respecto
Función de hardware no documentada
- Se confirmó que una función de hardware desconocida a la que apuntaban los atacantes fue un elemento clave de Operation Triangulation
- La vulnerabilidad en esta función fue decisiva para que los atacantes eludieran la protección de memoria basada en hardware de los dispositivos Apple
- Esa protección está diseñada para impedir las siguientes acciones incluso después de obtener la capacidad de manipular memoria del kernel
- inyectar código malicioso en otros procesos
- modificar código del kernel
- alterar datos sensibles del kernel
- Los investigadores de Kaspersky solo lograron identificar esta función tras hacer ingeniería inversa durante meses sobre dispositivos infectados con Triangulation
- Algunas direcciones MMIO usadas por los atacantes no aparecían en el device tree, que describe de forma legible por máquina la configuración del hardware
- Incluso tras investigar más a fondo el código fuente, las imágenes del kernel y el firmware, no se encontró ninguna referencia a esas direcciones MMIO
- Boris Larin resumió que los atacantes burlaban la protección de memoria basada en hardware escribiendo datos arbitrarios, la dirección física de destino y un hash de los datos en registros de hardware desconocidos
- Kaspersky planteó que esta función pudo haber sido para depuración y pruebas internas de Apple o de fábrica, o incluso haber sido incluida por error, pero no pudo determinar cómo la descubrieron los atacantes, ya que el firmware no la usa
Flujo de la cadena de exploits
- La cadena primero lograba ejecución remota de código aprovechando CVE-2023-41990, una vulnerabilidad en la implementación de fuentes TrueType de Apple
- En esta etapa se usaban return oriented programming y jump oriented programming para eludir defensas modernas contra exploits
- Los privilegios de ejecución eran del nivel mínimo de privilegios del sistema
- La siguiente etapa apuntaba al kernel de iOS
- CVE-2023-32434 es una vulnerabilidad de corrupción de memoria en XNU
- CVE-2023-38606 es una vulnerabilidad en registros MMIO secretos que permite eludir la Page Protection Layer
- Después, la cadena usaba CVE-2023-32435, una vulnerabilidad de Safari, para ejecutar shellcode
- El shellcode generado volvía a usar CVE-2023-32434 y CVE-2023-38606 para obtener acceso root y terminar instalando la carga final de spyware
- El resumen de la cadena hecho por Kaspersky incluye las siguientes características
- el archivo adjunto malicioso de iMessage era procesado por la app sin mostrarse al usuario
- incluía ejecución remota de código usando ADJUST, un comando de fuentes TrueType exclusivo de Apple
- el exploit en JavaScript estaba ofuscado, tenía unas 11,000 líneas, y la mayor parte del código se dedicaba al análisis y manipulación de memoria del kernel y de JavaScriptCore
- aprovechaba DollarVM, una función de depuración de JavaScriptCore, para manipular memoria de JavaScriptCore y ejecutar funciones de API nativas
- estaba diseñado para soportar tanto iPhone antiguos como nuevos, e incluía una evasión de Pointer Authentication Code para los exploits en modelos recientes
- el exploit final del kernel tenía formato de mach object file, era grande en tamaño y capacidades, e incluía varias utilidades de post-explotación, aunque la mayoría no se usaron
El autor del ataque y las dudas que siguen abiertas
- Kaspersky no pudo determinar cómo los atacantes descubrieron la función de hardware no documentada
- Boris Larin está considerando posibilidades como una exposición accidental en el pasado durante la publicación de firmware o código fuente, o ingeniería inversa del hardware
- El propósito exacto de esta función todavía se desconoce
- Tampoco está claro si esta función forma parte de la configuración base del iPhone o si fue habilitada por un componente de hardware de terceros como ARM CoreSight
- En junio de 2023, el National Coordination Center for Computer Incidents de Rusia afirmó que este ataque formaba parte de una campaña más amplia de la NSA, y el FSB sostuvo que Apple cooperó con la NSA
- Un portavoz de Apple negó las afirmaciones de cooperación
- Los investigadores de Kaspersky consideran que no hay pruebas que respalden la participación de la NSA o de Apple
- Larin dijo que las características únicas de Operation Triangulation no coinciden con patrones conocidos de campañas anteriores, por lo que por ahora no puede atribuirse de forma concluyente a un actor de amenazas conocido
- Larin señaló que Kaspersky ha descubierto y reportado más de 30 zero-days explotados en el mundo real en productos de Adobe, Apple, Google y Microsoft, pero calificó esta cadena como la cadena de ataque más sofisticada que han visto hasta ahora
1 comentarios
Opiniones en Hacker News
No es para nada de esos, como muchos que he conocido en el periodismo tecnológico, que se obsesionan con los titulares llamativos; Ars tiene suerte de contar con él.