El blog de seguridad de FireAI

Por FireAI Security & Research Team · Publicado

Zero-days en macOS: por qué las amenazas desconocidas de todos modos tienen que reportarse a casa

Zero-days en macOS: por qué las amenazas desconocidas de todos modos tienen que reportarse a casa

Un zero-day es una falla de seguridad que está siendo explotada antes de que el fabricante tenga una corrección, llamada así porque los defensores han tenido cero días para responder. Es la categoría de amenaza más alarmante porque el consejo de siempre, «mantén tu software actualizado», todavía no aplica: no hay nada a lo que actualizar. Este artículo repasa cómo se han visto realmente estas fallas en las plataformas de Apple, apoyándose en las propias publicaciones de seguridad de Apple, en Google Project Zero y en el Citizen Lab, y luego en la única cosa que un exploit desconocido de todos modos tiene que hacer una vez que tuvo éxito.

Hay un punto que conviene dejar claro desde el principio, porque el marketing alrededor de este tema suele ser engañoso: ningún firewall detiene un exploit. Ni FireAI, ni ningún otro. Un firewall no puede ver una imagen malformada procesándose dentro de iMessage ni un bug del kernel disparándose desde una página web. Lo que un firewall sí puede hacer es observar lo que pasa después, y resulta que eso importa más de lo que parece a primera vista.

Qué muestra realmente el historial

Apple documenta cada corrección de seguridad en su página de actualizaciones de seguridad de Apple, y cuando una falla ya estaba siendo usada contra personas reales lo dice con una frase estándar: «Apple está al tanto de un reporte de que este problema puede haber sido explotado activamente». Leer esa página a lo largo de unos años da una imagen más aterrizada que cualquier titular. Google Project Zero mantiene un registro público complementario, su rastreador de 0-day «In the Wild», que enumera exploits detectados en ataques reales antes de que existiera un parche. Project Zero aclara con cuidado que el rastreador solo contiene casos que fueron detectados, que por definición son los fracasos del atacante, así que no puede usarse para contar cuánta explotación ocurre realmente ni para comparar plataformas.

Tres casos documentados muestran la forma del problema.

FORCEDENTRY, 2021

En marzo de 2021, el Citizen Lab de la Universidad de Toronto analizó el teléfono de un activista saudí y recuperó un exploit al que llamó FORCEDENTRY. Era un ataque de cero clics: un archivo especialmente diseñado, entregado a través de iMessage, que no requería ningún toque de la víctima e instalaba el spyware Pegasus de NSO Group. El Citizen Lab encontró indicios de que se había usado al menos desde febrero de 2021. Apple corrigió la falla, CVE-2021-30860 en el analizador de imágenes de CoreGraphics, el 13 de septiembre de 2021 en iOS 14.8, macOS Big Sur 11.6 y una actualización de seguridad para Catalina; sus propias notas de la versión Big Sur 11.6 confirman que la falla «puede haber sido explotada activamente».

Google Project Zero publicó después un análisis técnico que explica por qué este tipo de cosas es tan difícil de atrapar. El bug estaba en el código de compresión de imágenes JBIG2 usado dentro de los PDF. El exploit de NSO usó los propios operadores lógicos del formato para construir, a partir de más de 70,000 comandos de segmentos de imagen, una pequeña computadora funcional dentro del decodificador de imágenes, y ejecutó el resto del ataque sobre ella. Nada de eso parece un programa desde afuera. Es una imagen, abierta por un proceso del sistema legítimo y firmado.

El watering hole de Hong Kong, 2021

A finales de agosto de 2021, el Threat Analysis Group de Google encontró una campaña de watering hole dirigida a los visitantes de los sitios de un medio de comunicación y de un grupo prodemocracia de Hong Kong. Contra las Mac encadenaba una falla de WebKit ya parchada en enero con un bug de escalada de privilegios en el kernel, CVE-2021-30869, que seguía sin parche en macOS Catalina; Apple lo corrigió el 23 de septiembre de 2021. La carga útil, una puerta trasera que Google llamó MACMA, podía identificar la máquina, capturar la pantalla, grabar audio, registrar pulsaciones de teclas, subir y descargar archivos y ejecutar comandos de terminal.

Este ejemplo es instructivo porque el exploit y la carga útil son cosas distintas. El exploit era invisible: una página web. La carga útil era un programa implantado ordinario que, para servirles de algo a sus operadores, tenía que establecer un canal de mando y control y sacar datos de la Mac. El reporte de Google describe exactamente esa infraestructura.

BLASTPASS, 2023

En septiembre de 2023, el Citizen Lab reportó BLASTPASS, otra cadena de cero clics por iMessage que entregaba Pegasus, esta vez mediante adjuntos de PassKit con imágenes maliciosas. Apple asignó CVE-2023-41064 y CVE-2023-41061 y publicó correcciones para iPhone, iPad, Mac y Apple Watch. Cabe destacar que tanto los ingenieros de seguridad de Apple como el Citizen Lab dijeron creer que el modo Aislamiento había bloqueado esta cadena en particular, que es la prueba pública más sólida de que reducir la superficie de ataque, y no detectar el ataque, es lo que funciona contra esta clase de amenaza.

Por qué detectar el propio exploit es tan difícil

Pon los tres casos uno junto al otro y el patrón está claro. El exploit llega como datos (una imagen, un PDF, una página web) y no como una aplicación. Lo procesa código legítimo firmado por Apple. No hay archivo que XProtect pueda comparar, no hay binario sin firmar que Gatekeeper pueda rechazar y muchas veces no hay proceso nuevo que una herramienta de seguridad de endpoint pueda marcar, porque el código hostil corre dentro de un proceso en el que ya se confiaba. La detección, cuando ocurre, suele ser forense: el Citizen Lab encontró FORCEDENTRY examinando artefactos en un dispositivo después de los hechos, no porque un escáner lo atrapara en vivo.

Por eso el consejo de Apple para quienes creen que pueden ser objetivo no es «instala un detector», sino el modo Aislamiento, que en macOS Ventura y posteriores bloquea la mayoría de los tipos de adjuntos en mensajes, desactiva tecnologías web complejas, rechaza llamadas de FaceTime de desconocidos e impide instalar perfiles de configuración. Funciona eliminando las rutas de código que un exploit necesita, a un costo en comodidad que Apple reconoce explícitamente.

Por qué el paso de red es distinto

Un exploit es el principio de un ataque, no su propósito. Pegasus existe para mandar mensajes, fotos y audio del micrófono a su operador. Las capturas de pantalla y las pulsaciones de MACMA no valían nada en el disco de la víctima. En todos los casos documentados el valor se obtuvo mediante tráfico que salía de la máquina, y en la matriz MITRE ATT&CK para macOS esa fase tiene dos columnas propias, mando y control y exfiltración, porque es un paso distinto y observable que los atacantes no pueden saltarse.

Este paso tiene propiedades que el exploit no tenía. Viene de un proceso identificable con una firma de código (o, de forma reveladora, sin ella). Va a un destino con una IP, un nombre de host y un historial. Muchas veces usa un puerto inusual, una IP en crudo en lugar de un nombre, o un proveedor de hosting sin relación con ninguna aplicación de la Mac. Nada de eso requiere conocer la falla que se usó. Solo requiere ver la conexión y poder decir que no.

Esta es la parte para la que está hecho FireAI. Sus reglas por aplicación están ligadas a la firma de código del proceso que hace la conexión, de modo que un binario implantado que no es una aplicación aprobada por ti recibe un aviso de permiso en lugar de vía libre, con la razón del modelo local mostrada en lenguaje claro. Sus fuentes de inteligencia de amenazas (abuse.ch, Spamhaus, FireHOL, OpenPhish, Phishing Army y la lista actual de nodos de salida de Tor) se aplican localmente, así que una dirección de mando y control conocida se rechaza sin importar si algo más en la Mac reconoció la carga útil o no. Los modos Bajo ataque y Paranoico aprietan el valor predeterminado hasta bloquear de plano las aplicaciones sin firmar y los destinos desconocidos, y el interruptor de emergencia corta internet conservando la red local, que es el primer movimiento correcto cuando sospechas un compromiso y quieres conservar las pruebas.

Lo que esto no cubre

La honestidad exige la otra mitad de la lista. Si una carga útil corre por completo dentro de una aplicación permitida, por ejemplo dentro de un navegador que ya autorizaste, su tráfico hereda los permisos de esa aplicación y FireAI no lo va a distinguir. El tráfico cifrado hacia un destino con reputación limpia se parece a cualquier otra conexión. Una fuente solo contiene direcciones que alguien ya reportó; un servidor de mando y control recién creado todavía no está en ella. Y FireAI no detecta, elimina ni analiza el exploit ni el implante: no escanea archivos ni memoria, y no es un antivirus. En una Mac que crees comprometida por un actor de nivel estatal, el camino correcto es la guía de Apple sobre notificaciones de amenazas y un especialista forense, no un ajuste del firewall.

La defensa práctica contra fallas desconocidas es, por lo tanto, por capas y nada glamorosa: aplica las actualizaciones de Apple el día que salen, porque la mayor parte de la explotación apunta a fallas que ya tienen corrección; activa el modo Aislamiento si tu trabajo te convierte en un objetivo plausible; mantén pequeña la superficie de ataque; y controla qué aplicaciones de tu Mac pueden siquiera hablar con internet, para que cuando algo desconocido logre entrar, el paso que no puede saltarse sea el paso que estás vigilando.

Dónde entran FireAI y HisnLabs

FireAI cannot stop an exploit and does not claim to; what it does is sit on the one step every documented case above could not skip, the connection out, and ask, for each unknown process, whether that connection should be allowed at all.

FireAI es el producto de HisnLabs: un firewall con IA que corre directamente en tu Mac. Te muestra, en lenguaje claro, cada conexión que hacen tus aplicaciones y te deja decidir qué sale de tu Mac; su IA funciona de manera local, así que tu tráfico nunca se envía a nosotros ni a nadie más. El equipo de investigación en seguridad de HisnLabs es el que mantiene esas decisiones confiables: cataloga qué dominios son simple telemetría y cuáles un servicio real, rastrea el país y la red detrás de cada conexión, y entrena el modelo local (la función Autopilot) con patrones de tráfico reales, sin que nada de eso salga de tu Mac.

Puedes leer las decisiones técnicas detrás de FireAI, o probarlo durante 17 días, en FireAI, de HisnLabs.

Fuentes