3 puntos por GN⁺ 2023-12-28 | 1 comentarios | Compartir por WhatsApp
  • 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

 
GN⁺ 2023-12-28
Opiniones en Hacker News
  • (La mayoría de) los comentarios se trasladaron aquí: Operation Triangulation: The last (hardware) mystery - https://news.ycombinator.com/item?id=38783112 - diciembre de 2023, 71 comentarios
  • Este artículo de Dan Goodin en Ars Technica es realmente excelente. Se lee como una revelación gradual, y aunque no soy programador, pude seguirlo hasta el final.
    • Dan es realmente extraordinario. Me entrevistó una vez, y me impresionó su interés por entender los matices técnicos y transmitirlos con precisión al público general.
      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.
  • También quiero enlazar un artículo con detalles técnicos del exploit principal. Trata sobre cómo se eludía la protección de memoria usando registros de GPU de hardware no documentados: https://securelist.com/operation-triangulation-the-last-hard...
  • También vale la pena consultar el artículo de Ars Technica de junio de 2023: https://arstechnica.com/information-technology/2023/06/click...