Nada más empezar el 2018 los cimientos de la seguridad en los procesadores modernos se tambalearon por el descubrimiento de dos graves vulnerabilidades: Meltdown y Spectre. Ahora, tras numerosos parches, actualizaciones y rediseño de arquitectura lanzados por los fabricantes aparecen tres nuevas vulnerabilidades que, de momento, afectan a todos los procesadores Intel más recientes.
Tres nuevas vulnerabilidades, pero el mismo problema
Las tres vulnerabilidades publicadas recientemente responden a los nombres de ZombieLoad, RIDL y Fallout y, que se sepa de momento, afecta a procesadores Intel. Tal y como sucedió con Meltdown y Spectre, los ataques que aprovechen estos problemas podrían ser capaces de robar información confidencial que esté siendo procesada o que haya sido procesada recientemente.
Debemos tener en cuenta de que estamos ante tres nuevas vulnerabilidades y no ante variaciones de Meltdown y Spectre, como las que han ido apareciendo en los últimos meses. Estas se aprovechan de fallos en la implementación de lo que se conoce como ejecución especulativa, una técnica que permite precargar tareas del sistema o aplicaciones incluso antes de que sean requeridas para así tenerlas preparadas cuando sean solicitadas. De esta forma, los procesadores son capaces de “predecir” lo que se va a necesitar a corto plazo, y descartan así las que finalmente no se van a utilizar.
Esta técnica de optimización ha sido integrada por varios fabricantes de procesadores, no solamente Intel, por lo que deberíamos estar atentos ante futuras noticias relacionadas con estas y otras vulnerabilidades que pudieran afectar a procesadores de otras marcas.
Descripción de las vulnerabilidades
De las tres nuevas vulnerabilidades, quizás la más curiosa resulte ser ZombiLoad por su capacidad de recuperar información a la que se ha accedido recientemente. A pesar de tener un nombre que parece pensado simplemente como gancho, la verdad es que ha sido nombrado así por hacer referencia a cierta cantidad de información que no puede ser entendida o tratada de forma correcta por el procesador (algo que se conoce como “carga zombie” o “zombie load” en inglés). Esto provoca que tenga que echarse mano del microcódigo que incluye la CPU para que no se produzca un bloqueo del mismo.
En un entorno sin fallos, las aplicaciones solo deberían poder ver aquella información generada por ellas, pero vulnerabilidades como las que estamos analizando permiten que estos datos se filtren. A la hora de realizar la prueba de concepto, los investigadores que las han descubierto demostraron que eran capaces de saber a que webs accedía la víctima en tiempo real. También indicaron que este problema de seguridad se podría aprovechar para obtener contraseñas o los propios tokens de acceso usados a la hora de iniciar sesión en servicios online.
La segunda vulnerabilidad, de nombre RIDL (Rogue In-Flight Data Load por sus siglas en inglés) se aprovecha del buffer interno del procesador en el momento en el se está cargando o guardando la información desde la memoria para así poder acceder a datos confidenciales. Esta vulnerabilidad no necesita de permisos especiales para poder ser aprovechada por un atacante y, además, puede ejecutarse desde una máquina virtual o sandbox a pesar de contar con medidas de seguridad como SGX.
Por último, la vulnerabilidad Fallout permite a un atacante acceder y elegir qué dato filtrar desde el “Store Buffer” cuando la CPU almacena cualquier tipo de dato. El atacante también podría saltarse una medida de seguridad conocida como KASLR para obtener información confidencial que se haya almacenado en la memoria del sistema. El problema es grave porque un atacante sin privilegios también podría elegir qué datos filtrar de este “almacén” de la CPU.
Contramedidas y posibles soluciones
Cuando aparecieron Meltdown y Spectre, los fabricantes de procesadores ya avisaron de que tomarían medidas para evitar que estas vulnerabilidades afectaran también a futuras versiones de sus CPU. Así lo han ido haciendo, pero irónicamente, estas medidas también han provocado que los nuevos procesadores de Intel sean más vulnerables a estos nuevos agujeros de seguridad.
Las responsables de la investigación que ha permitido descubrir estas vulnerabilidades alertaron a Intel hace un mes, y les indicaron que afectan a todos los procesadores Intel fabricados desde 2011. La empresa ha publicado una nueva versión del microcódigo de sus CPU para así parchear los procesadores vulnerables. Otras empresas como Apple, Microsoft o Google también han publicado parches de seguridad y no sería de extrañar que otras siguieran su camino.
Pero, del mismo modo en que los parches que se publicaron para mitigar Meltdown y Spectre afectaban al rendimiento de los procesadores, Intel ya ha avisado que estas actualizaciones de microcódigo provocarán una bajada de entre un 3 y un 9 por ciento en el rendimiento de las CPU afectadas.
Conclusión
Estamos de nuevo ante una serie de vulnerabilidades que pueden causar problemas, especialmente a empresas, no tanto por la posibilidad de que sean usadas en ataques, sino por las consecuencias en la pérdida de rendimiento que los parches para mitigar estos agujeros de seguridad van a tener en sus equipos.
Para la mayoría de usuarios domésticos, esto no va a suponer un problema serio, aunque los fabricantes como Intel que se vean afectados por agujeros de seguridad de este tipo harían bien en revisar el diseño de sus CPUs para evitar problemas mayores en el futuro.
Fuentes:
https://www.hackplayers.com/2019/05/zombieload-nuevos-bugs-chips-intel.html
https://thehackernews.com/2019/05/intel-processor-vulnerabilities.html