Intel y ARM lanzan parches de emergencia tras un nuevo ataque "autoaprendizaje" que vulnera las protecciones de los procesadores

Intel y ARM lanzan parches de emergencia tras un nuevo ataque "autoaprendizaje" que vulnera las protecciones de los procesadores

Nueva vulnerabilidad Spectre‑v2 afecta a todos los procesadores Intel Core modernos desde la novena generación.

image

Los especialistas de VUSec presentaron el trabajo Training Solo, que cuestiona los principios fundamentales de protección frente a los ataques Spectre-v2. Antes se pensaba que el mecanismo de aislamiento de dominios eliminaba por completo la posibilidad de entrenar al predictor de saltos con código procedente de distintas áreas privilegiadas. Sin embargo, los autores demostraron que, incluso con una implementación impecable de esos mecanismos, un atacante puede usar el mismo dominio —por ejemplo, el núcleo del sistema— para entrenar por sí mismo al predictor y extraer datos confidenciales.

La investigación describe tres nuevos tipos de ataques Spectre-v2 basados en lo que llaman «autoentrenamiento», donde tanto el entrenamiento como la ejecución especulativa ocurren en el mismo contexto privilegiado. Como resultado, es posible interceptar el flujo de control dentro del núcleo o del hipervisor y leer regiones de memoria protegidas, lo que en la práctica revive escenarios clásicos del tipo Spectre-v2 que antes se consideraban imposibles.

La primera categoría de ataques, denominada history-based, emplea gadgets «históricos» particulares dentro del núcleo para crear el contexto de saltos requerido. Los experimentos mostraron que, incluso con el aislamiento de dominios activado, un atacante puede forzar predicciones de bifurcación mediante llamadas al sistema SECCOMP, disponibles para cualquier usuario. Esta técnica permitió a los investigadores extraer datos del núcleo a una velocidad de 1,7 KB/s en procesadores Intel Tiger Lake y Lion Cove.

El segundo grupo —IP-based— se apoya en coincidencias de direcciones en el Branch Target Buffer (BTB), cuando el predictor carece de historial y funciona solo por la dirección IP. En esas condiciones, dos saltos pueden «entrenarse» involuntariamente entre sí si sus direcciones coinciden. El análisis de numerosos gadgets del sistema mostró que esta colisión puede convertirse en una base práctica para ataques a gran escala.

La tercera variante, direct-to-indirect, resultó la más destructiva. Los investigadores encontraron que en algunos chips los saltos directos pueden entrenar la predicción de saltos indirectos, algo que la arquitectura no debería permitir. Esto se relaciona con dos defectos de hardware: Indirect Target Selection y un fallo en los procesadores Lion Cove. Gracias a ello, los investigadores pudieron leer datos arbitrarios de la memoria del núcleo a velocidades de hasta 17 KB/s, y también desarrollaron un prototipo que extrae la memoria del hipervisor a 8,5 KB/s.

Para mitigar las vulnerabilidades, Intel publicó actualizaciones de microcódigo, nuevas contramedidas para ramas indirectas y la instrucción IBHF (Indirect Branch History Fence), que limpia el historial de saltos. En algunos sistemas se propone usar una secuencia especial para limpiar el BHB. También se han revisado los mecanismos IBPB para impedir la evasión de la protección y se han introducido nuevos esquemas de colocación de ramas en caché que reducen la superficie de ataque.

Los problemas afectaron a una amplia gama de procesadores Intel —desde los Core de novena generación hasta los más recientes Lion Cove en las series Lunar Lake y Arrow Lake. ARM también publicó recomendaciones propias. Las correcciones se están distribuyendo gradualmente mediante actualizaciones de firmware y del kernel de Linux. El conjunto completo de herramientas para probar, analizar y verificar los predictores vulnerables está publicado en abierto en el GitHub VUSec.

Tu privacidad está muriendo lentamente, pero nosotros podemos salvarla

¡Únete a nosotros!