Un equipo de investigadores descubrió una vulnerabilidad de seguridad en varias CPU de Intel que podría provocar fugas de datos.
Investigadores de seguridad cibernética de la Universidad de Maryland y la Universidad de Tsinghua, junto con un laboratorio del Ministerio de Educación de China (BUPT), descubrieron un ataque de canal lateral, algo similar a Meltdown que, si se explota, podría permitir a los actores de amenazas filtrar datos confidenciales de puntos finales (se abre en una pestaña nueva) a través del registro EFLAGS.
El equipo publicó sus hallazgos en un artículo publicado en Arxiv.org, explicando que el ataque abusa de una falla en la ejecución transitoria «que hace posible extraer datos secretos del espacio de la memoria del usuario a través del análisis de tiempo». Un cambio en el registro EFLAGS en la ejecución transitoria afecta el tiempo de las instrucciones Jump on Condition Code (JCC).
Diferentes fichas, diferentes resultados
El registro FLAGS se describe como «el registro de estado que contiene el estado actual de una CPU x86», mientras que el JCC es una «instrucción de CPU que permite la bifurcación condicional» basada en el contenido del registro EFLAGS.
En términos sencillos, para llevar a cabo el ataque, primero se debe activar la ejecución transitoria de datos secretos codificados a través del registro EFLAGS y luego medir el tiempo de ejecución de la instrucción JCC para leer el contenido de esos datos codificados.
Los investigadores probaron la falla en varios chips y descubrieron que tuvo un 100 % de éxito en i7-6700 e i7-7700, así como «algo exitoso» en i9-10980XE. Todas las pruebas se realizaron en Ubuntu 22.04 jammy/Linux kernel versión 515.0.
Para obtener más consistencia en los chips más nuevos, los investigadores encontraron que el ataque debería ejecutarse miles de veces.
“En nuestro experimento, descubrimos que la influencia del registro EFLAGS en el tiempo de ejecución de la instrucción Jcc no es tan persistente como el estado del caché”, dijeron los investigadores en el artículo. “Durante unos 6-9 ciclos después de la ejecución transitoria, el tiempo de ejecución de Jcc no estará a punto de construir un canal lateral. Empíricamente, el ataque necesita repetirse miles de veces para una mayor precisión”.
Todavía no saben qué está causando el error.
Vía: BleepingComputer (se abre en una pestaña nueva)