Varias vulnerabilidades desconocidas para prácticamente todo el mundo incluso dentro de Apple o de ARM, la empresa que licencia la arquitectura de los procesadores utilizados en el iPhone (y ahora, en cualquier otro dispositivo de Apple), han sido utilizadas para conseguir acceso a los datos de cientos, sino miles de iPhones, la mayoría de la famosa empresa creadora del antivirus Kaspersky.
Entre todos esos iPhones, se incluye el del CEO de la empresa. Se trata de terminales actualizados (por entonces) a la última versión de iOS pero aún así vulnerables porque algunas o todas estas vulnerabilidades no eran conocidas por entonces, y porque una de ellas ocurre a nivel de hardware de los procesadores ARM, realmete poco conocida.
Boris Larin, de Kaspersky, ha dado a conocer este problema que ahora por fin sale a la luz. Dice que es uno de los ataques más sofisticados y avanzados que ha visto nunca, y que demuestra el increíble nivel técnico de las personas detrás del mismo, de las que casi parece que habla con admiración por lo que han conseguido a pesar de haber causado un daño a su empresa.
Han llamado Triangulation a este método de hacking utilizado en esos iPhones. El vector, eran mensajes de iMessage con un fichero adjunto que, al ser recibidos, provocaban un desbordamiento de la pila de memoria que permite la ejecución de código arbitrariamente, sin que el usuario tenga que hacer nada o se de cuenta si quiera de que esto está ocurriendo mientras tiene su iPhone en el bolsillo, porque no es necesario que el usuario abra o visualice ese mensaje en pantalla. La vulnerabilidad utilizada se conoce como CVE-2023-41990.
El código utilizado es un JavaScript de más de 11.000 líneas de código, que por supuesto llegan completamente ofuscadas (para no poderse leer normalmente) y minimizadas para pesar lo menos posible. Luego utiliza otras vulnerabilidades como CVE-2023-32434 o CVE-2023-38606, ésta última la que funciona a nivel de hardware en los procesadores ARM. Después de esto se utiliza otra vulnerabilidad en WebKit (CVE-2023-32435) para ejecutar otro programa en JavaScript que instala spyware y puertas traseras a través de las cuales espiar lo que se hace, se recibe o envía en esos iPhones. Todo el sistema es increíblemente complejo y muy elaborado, preparado por los que muy probablemente sean los más avanzados hackers de iPhone que pueda haber sobre la faz de nuestro planeta.
Esa vulnerabilidad de hardware utilizada en los procesadores ARM probablemente está ahí para ayudar en el debugging, es decir, encontrar problemas, por parte de los ingenieros y diseñadores de procesadores de Apple, y luego dejada ahí por error antes de dar la orden de producción masiva de estos chips a TSMC. Esta vulnerabilidad está presente en varias generaciones de procesadores de Apple y de hecho el código del exploit lo tiene en cuenta para guardar su código en áreas de memoria correctas, desconocidas, en cada una de estas CPUs.
Toda esta historia da buena fé de lo complicado que es conseguir entrar en un iPhone remotamente pero también demuestra que por muy complicado que sea, siempre hay alguien en algún lugar del mundo capaz de romper este nivel de seguridad tan elevado. También es una prueba de que hoy en día un smartphone es tan complejo que es inevitable tener múltiples vulnerabilidades en él, incluso a nivel de hardware, y que sólo es cuestión de encontrarlas para conseguir el ansiado control remoto de esa máquina.