Vamos a ver a continuación, cómo es posible que sin hacer nada, nuestro smartphone se vea totalmente comprometido mediante un ataque cero clic, tratando de identificar las piezas y actores involucrados que lo hacen posible.

Para ello tomaremos de ejemplo la vulnerabilidad CVE-2023-38606, que últimamente ha hecho bastante ruido, aunque no alcance la fama del referente de clic cero Pegasus: https://ciberseguridadtotal.com/pegasus-el-ultimo-peliculon-de-espias/, ya sabéis, el arma preferida de espionaje con fines geopolíticos.

Vamos al lío…

¿Qué es un zero click attack o ataque tipo clic cero?

Pues básicamente un ciberataque capaz de comprometer tu dispositivo “sin comerlo ni beberlo”, casi como quién dice por el mero hecho de existir. De hecho ya hablamos por aquí de este tipo de ataques tomando como ejemplo Pegasus: https://ciberseguridadtotal.com/pegasus-ejemplo-zero-click-attack/

No me extenderé demasiado, simplemente indicar que normalmente para que tu dispositivo se vea comprometido, para que los malos consigan acceso al mismo, la norma es que tienes que ser partícipe como víctima, ya sea pulsando tal botón, haciendo tal clic, completando tus datos en tal sitio malicioso, instalando tal aplicación con malware, etc… Por tanto, en general, si no picas estás a salvo, o lo estabas hasta que se inventó lo del clic cero, capaz de todo sin que hagas nada. 

Un ejemplo típico, recibes un mensaje de texto en el móvil, no hace falta que piques en anzuelo alguno, que hagas nada con él, incluso lo puedes eliminar directamente, pero por el mero hecho de haberlo recibido, tu dispositivo queda en manos de los malos. Así tal cuál, citando al bueno de Kristian Pielhoff: “fácil y sencillo para toda la familia”.

¿Y qué es CVE-2023-38606?

Pues una vulnerabilidad descubierta a mediados de 2023 por un grupo de seguridad de Kaspersky (en efecto, los del antivirus), que permite a un atacante obtener acceso a los datos de un iPhone a través de un aparentemente inofensivo mensaje de iMessage

Por si no tenéis dispositivos de la manzana en casa, indicar que iMessage es como una especie de Whatsapp de Apple, que permite enviar mensajes de texto, imágenes, etc.

De hecho la vulnerabilidad afectó no sólo a los iPhone, sino también a otros aparatos capaces de usar iMessage como: iPad, Mac o apple Watch, – de paso aprovecho para recordar la importancia de mantener los equipos siempre actualizados, porque esta vulnerabilidad hace tiempo que fue parcheada -.

Desgranamos el truco de magia, ¿cómo es esto posible?

Lo primero de todo es entender un poco cómo funciona iMessage y el el kernel del sistema operativo de Apple (esto es extrapolable a otros).

Así iMessage (y cualquier otra aplicación) utiliza diferentes tipos de procesos para un correcto funcionamiento, así hay procesos tipo imagen para gestionar las conexiones de iMessage con Apple y enviar y recibir los mensajes, procesos tipo IMDPersistenceAgent que guarda el historial de conversaciones, procesos SpringBoard encargados de notificar que tenemos nuevos mensajes y mostrarlos por pantalla, y como estos, muchos tipos de procesos más que en conjunto ofrecen una funcionalidad completa de la aplicación.

Todos estos procesos, se comunican entre sí mediante un sistema de mensajes interprocesos (IPC), que en iMessage se basa en el uso de puertos Mach. Para entendernos, estos Mach son objetos que permiten establecer canales de comunicación entre los procesos para que hablen entre sí. 

Cada proceso, puede tener uno o varios canales Mach, y los mensajes enviados allí pueden estar formados por cadenas de texto, números, archivos y similares.

Y por otro lado tenemos el Kernel, que es el componente central del sistema operativo, y se encarga de gestionar los procesos, recursos y seguridad del dispositivo. El kernel es crítico, porque tiene acceso a todo el hardware y software del dispositivo, controlando por completo su funcionamiento, y lógicamente el Kernel tiene acceso a todos los puertos Mach que mencionamos anteriormente, pudiendo verlos, modificarlos o bloquearlos.

La vulnerabilidad CVE-2023-38606 se basa en el hecho de que el kernel no verifica correctamente el contenido enviado a través de los mensajes enviados por puertos Match, de modo que puede ser engañado para ejecutar código malicioso oculto en estos mensajes. 

Básicamente esto es lo que ocurre:

  1. El atacante crea un mensaje iMessage especialmente diseñado con código malicioso en formato plist, este código está oculto, el receptor no ve nada peculiar en el mensaje cuando lo recibe. Pero el código está diseñado para modificar el estado del kernel y obtener los datos del dispositivo.
  2. El atacante envía el anterior mensaje a la víctima, para ello únicamente necesita conocer su número de teléfono.
  3. La víctima recibe el mensaje y su terminal se ve comprometido por completo. Nada delata lo que está ocurriendo.

Como apunte, la explicación anterior es “modo resumen sencillo”, simplemente para hacernos una idea de cómo se suele fraguar un ataque cero clic a grandes rasgos. Si queréis información más detalla sobre CVE-2023-38606, hay un artículo de Boris Larin, uno de los investigadores que descubrieron la vulnerabilidad, que desglosa perfectamente cómo se ejecuta el ataque: https://securelist.com/operation-triangulation-the-last-hardware-mystery/111669/ 

Además todo lo anterior puede ampliarse por el contexto, ya que todavía en Apple se preguntan cómo se consiguió eludir las protecciones de memoria basadas en hardware que hubieran evitado la vulnerabilidad, y que los atacantes conocían a pesar de ser una función no documentada. En este sentido las opciones más factibles son:

  • Pudo ser una coincidencia afortunada, y que los atacantes descubrieran por casualidad la vía de ataque (poco probable pero posible).
  • O bien los atacantes llevaron a cabo una profunda investigación de seguridad inversa en el firmware del dispositivo, analizando el código binario en busca de funciones o características no documentadas.
  • O por último pudo deberse a una filtración interna, ya sea de Apple o del fabricante hardware del dispositivo, ya que esto puede conllevar importantes recompensas en el mercado negro.