AEPIC Leak: ataque que filtra claves Intel SGX y afecta a 10ª, 11ª y 12ª gen.

Iniciado por Dragora, Agosto 12, 2022, 03:34:42 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.


Recientemente se dio a conocer información sobre un nuevo ataque a los procesadores Intel, denominado «AEPIC Leak» (ya catalogado bajo CVE-2022-21233), este nuevo ataque conduce a la fuga de datos sensibles de enclaves aislados de Intel SGX (Software Guard eXtensions).

A diferencia de los ataques de la clase Spectre, una fuga en AEPIC Leak ocurre sin el uso de métodos de recuperación de terceros, ya que la información sobre datos confidenciales se transmite directamente al obtener el contenido de los registros reflejados en la memoria MMIO (Memory Mapped I/O). página.

En general, el ataque permite determinar los datos transferidos entre las cachés del segundo y último nivel , incluidos los contenidos de los registros y los resultados de las operaciones de lectura de memoria, que previamente se procesaban en el mismo núcleo de la CPU.

El escaneo de direcciones de E/S en las CPU Intel basadas en la microarquitectura Sunny Cove reveló que el controlador local de interrupción programable avanzado (APIC) en memoria de los registros asignados no
se inicializó correctamente.Como resultado, la lectura arquitectónica de estos registros devuelve datos obsoletos de la microarquitectura, por lo que no se pueden leer datos transferidos entre L2 y el caché de último nivel a través de estos registros.

Como el espacio de direcciones de E/S solo es accesible para usuarios privilegiados , ÆPIC Leak Targets Intel's TEE, SGX . ÆPIC puede filtrar datos de enclaves SGX que se ejecutan en el mismo núcleo físico. Si bien ÆPIC Leak representaría una inmensa amenaza en entornos virtualizados, los hipervisores generalmente evitan que los registros locales de APIC se expongan a las máquinas virtuales, lo que elimina la amenaza en escenarios basados ​​en la nube.

Similar al ataque de ejecución transitoria anterior dirigido a SGX, ÆPIC Leak es más efectivo cuando se ejecuta en paralelo al enclave en el hiperproceso hermano. Sin embargo, la fuga de ÆPIC no requiere hiperprocesamiento y también puede filtrar datos de enclave si el hiperprocesamiento no está disponible o está deshabilitado.

Presentamos dos nuevas técnicas para filtrar datos en uso, es decir, valores de registro de enclave y datos en reposo, es decir, datos almacenados en la memoria de enclave. Con Cache Line Freezing, presentamos una técnica que ejerce presión específica sobre la jerarquía de caché sin sobrescribir los datos obsoletos...
Estas líneas de caché aún parecen viajar a través de la jerarquía de caché, pero no sobrescriben los datos obsoletos. Para ello, registramos fugas de valores de línea de caché en el área de estado seguro (SSA).

La segunda técnica, Enclave Shaking, aprovecha la capacidad del sistema operativo para intercambiar páginas de enclave de forma segura. Al intercambiar alternativamente las páginas del enclave, las páginas almacenadas en caché fuerzan los datos a través de la jerarquía de caché, lo que permite que ÆPIC filtre valores sin siquiera continuar con la ejecución del enclave. Aprovechamos ÆPIC Leak en combinación con
Cache Line Freezing y Enclave Shaking para extraer claves AES-NI y RSA de la biblioteca Intel IPP e Intel SGX. Nuestro ataque filtra la memoria del enclave a 334,8 B/s y una tasa de aciertos del 92,2 %.

Dado que el ataque requiere acceso a las páginas físicas del APIC MMIO , es decir, se requieren privilegios de administrador, el método se limita a atacar enclaves SGX a los que el administrador no tiene acceso directo .

Los investigadores han desarrollado un conjunto de herramientas que permite, en pocos segundos, determinar las claves AES-NI y RSA almacenadas en SGX, así como las claves de atestación de Intel SGX y los parámetros del generador de números pseudoaleatorios. El código del ataque está publicado en GitHub.

Intel anunció que está preparando una solución en forma de una actualización de microcódigo que agrega soporte para el lavado de búfer y agrega medidas adicionales para proteger los datos del enclave.

También se ha preparado una nueva versión del SDK para Intel SGX con cambios para evitar fugas de datos. Se alienta a los desarrolladores de SO e hipervisores a usar el modo x2APIC en lugar del modo xAPIC heredado, que usa registros MSR en lugar de MMIO para acceder a los registros APIC.

El problema afecta a las CPU Intel de 10.ª, 11.ª y 12.ª generación (incluidas las nuevas series Ice Lake y Alder Lake) y se debe a una falla arquitectónica que permite el acceso a los datos no inicializados que quedan en las CPU. Registros APIC (Advanced Programmable Interrupt Controller) de operaciones anteriores.


Fuente: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta