Las vulnerabilidades presentes en los procesadores Intel, AMD e incluso ARM se han convertido en algo habitual, tanto, que ya no sorprende ver cuando investigadores descubren y publican nuevos fallos de seguridad que no en pocas ocasiones son imposibles de solucionar, por lo que solo queda ir apilando parches en microcódigos, kernels, drivers y aplicaciones para minimizar al máximo la superficie de ataque.
Si esta entrada ha sido publicada es debido a que, una vez más, se han hallado nuevas vulnerabilidades que afectan a los procesadores, Intel y AMD en esta ocasión. Sin embargo, los fallos de seguridad son diferentes, así que la vulnerabilidad que afecta a Intel solo afecta a Intel y el fallo de seguridad que afecta a AMD solo afecta a AMD.
-ÆPIC, la nueva vulnerabilidad capaz de revelar datos confidenciales que afecta a Intel
Empezamos con el fallo de seguridad descubierto en los procesadores de Intel, el cual ha recibido el nombre de ÆPIC. Según los investigadores, es el primer error a nivel de CPU capaz de revelar datos confidenciales de forma arquitectónica. Reside en la Interfaz Avanzada de Configuración y Energía (ACPI) y es explotado a través de la entrada/salida mapeada en memoria (MMIO). Por si no había quedado claro, no se trata de una variante de Spectre explotada mediante un ataque de tipo canal lateral.
En caso de que un actor malicioso consiga explotar ÆPIC con éxito, cosa que requiere de privilegios de administrador, tendrá ante sí la posibilidad de obtener las claves de cifrado y otros datos confidenciales que presuntamente están protegidos con Software Guard Extensions (SGX), la tecnología que Intel ha introducido en sus procesadores modernos con el fin de limitar las posibles vías de éxito de los ciberataques.
Los investigadores han logrado romper la seguridad de SGX en la mayoría de los procesadores de décima, undécima y duodécima generación de Intel. En el documento que han publicado uno puede encontrarse una tabla en la que se puede apreciar que los procesadores basados en Sunny Cove están especialmente afectados.
Aunque sí es una novedad lo que es capaz de hacer viendo su origen, la realidad es que ÆPIC no es un nuevo tipo de vulnerabilidad, sino que más bien es un error conocido como lectura de memoria no inicializada, que ocurre cuando el espacio de la memoria no se borra después de que la CPU haya terminado de procesarlo. Esto abre la puerta a la fuga de datos antiguos cuyo procesamiento ya no es necesario.
Sobre el papel tanto equipos de escritorio como servidores están afectados, pero a los investigadores parece preocuparles más la situación de los servidores viendo que servicios como Signal se apoyan en SGX para asegurarse de que el proceso que ejecuta de forma anónima. ÆPIC compromete SGX al punto de ser capaz de filtrar las claves secretas AES, las claves privadas RSA y de extraer la clave de sellado del propio SGX para la atestación remota.
Como estamos ante una vulnerabilidad que afecta al procesador, aquí poco importa el sistema operativo utilizado, y al parecer las máquinas virtuales tampoco son un salvavidas. ÆPIC, que está identificado como CVE-2022-21233, tiene una gravedad puntuada con un 6 sobre 10 e Intel espera empezar a distribuir los parches para mitigarlo a partir del martes de la semana que viene, mientras que por otro lado espera eliminarlo de raíz en el diseño de sus futuras generaciones de procesadores.
-SQUIP, una vulnerabilidad que requiere de desactivar SMT en procesadores de AMD
SQUIP es una vulnerabilidad que afecta a la implementación de SMT de AMD, la tecnología que permite tener múltiples hilos ejecutándose en un núcleo físico (lo que a veces es llamado de forma tosca como núcleos lógicos). En el caso de los procesadores x86, el uso de SMT (HyperThreading en Intel) queda limitado por ahora a dos hilos por núcleo, pero otras arquitecturas son capaces de soportar una cantidad mayor.
SQUIP consiste en un ataque de tipo canal lateral que abre la puerta a poder revelar de manera rápida una clave RSA de 4.096 bits. El motivo de por qué afecta a AMD y no a Intel es debido a que los procesadores basados en la arquitectura Zen tienen colas de planificación separadas por cada unidad de ejecución, mientras que las CPU de Intel emplean un único planificador para toda la arquitectura. Las colas de planificación separadas por cada unidad de ejecución también están presentes en los SoC Apple M1, pero por ahora no se tiene constancia de que los chips del gigante de Cupertino se hayan visto afectados por el fallo de seguridad.
El planificador de AMD con SMT habilitado introduce interferencias en las cargas de trabajo, permitiendo así que se pueda observar la contención de la cola del planificador a través de contadores de rendimiento y lecturas del temporizador no serializadas en hilos hermanos del mismo núcleo. Una persona con las habilidades y los conocimientos necesarios puede sondear las interferencias para llevar a cabo un ataque de tipo canal lateral sobre la propia cola del planificador y acceder luego a datos confidenciales.
SQUIP, que es seguido como CVE-2021-46778, ha afectado una gran cantidad de procesadores de AMD: Ryzen 2000 y posteriores en escritorio, la segunda y la tercera generación de Threadripper, los procesadores Threadripper PRO, los modelos para portátiles a partir de Ryzen 2000, las tres primeras generaciones de Epyc y los modelos Athlon 3000 con gráficos Radeon y Athlon Mobile con gráficos Radeon. En resumidas cuentas, la mayoría de los procesadores que están basados en alguna de las tres primeras generaciones de la arquitectura Zen.
AMD ha considerado la vulnerabilidad como de gravedad media y “recomienda a los desarrolladores de software que empleen las mejores prácticas existentes, incluidos los algoritmos de tiempo constante y que eviten los flujos de control dependientes de secretos cuando sea apropiado para ayudar a mitigar esta posible vulnerabilidad”.
Una solución drástica para evitar los peligros de SQUIP consiste en inhabilitar SMT a través de la configuración de la placa base. Aunque no lo parezca, en realidad muchos procesos no ven su rendimiento especialmente afectado y hasta hay aplicaciones que pueden mejorar su desempeño, entre ellas videojuegos concretos.
-¿Son los procesadores el nuevo gran desafío de la ciberseguridad?
Las vulnerabilidades en los procesadores se han convertido en algo que hemos normalizado debido a lo frecuentes que empiezan a ser. Lo curioso es que muchos de esos problemas pueden ser resueltos mediante la inhabilitación de SMT, pero esa es una medida que no puede ser tomada en todos los contextos.
¿Cuál es el origen de tantos problemas? Linus Torvalds, creador del kernel Linux, mencionó hace unos años los “atajos” que se tomaron en su momento a la hora implementar características como la ejecución especulativa, lo que invita a pensar que los fabricantes de procesadores no tuvieron en cuenta las consecuencias de algunas de sus decisiones en términos de seguridad.