Desde Linux David Naranjo  

Un nuevo ataque de Foreshadow afecta a procesadores Intel, AMD, IBM y ARM

Un grupo de investigadores de la Universidad Tecnológica de Graz en Austria y el Centro Helmholtz para la Seguridad de la Información (CISPA), han identificado un nuevo vector de ataque de Foreshadow (L1TF), que permite extraer datos de la memoria de enclaves Intel SGX, SMM, áreas de memoria del kernel del sistema operativo y máquinas virtuales en sistemas de virtualización.

A diferencia del ataque Foreshadow original, la nueva variante no es específica de los procesadores Intel y afecta a las CPU de otros fabricantes como ARM, IBM y AMD. Además, la nueva opción no requiere un alto rendimiento y el ataque se puede llevar a cabo incluso ejecutando JavaScript y WebAssembly en un navegador web.

Foreshadow aprovecha el hecho de que cuando se accede a la memoria en una dirección virtual, lo que genera una excepción (falla en la página del terminal), el procesador calcula especulativamente la dirección física y carga los datos si están en la caché L1.

El acceso especulativo se realiza antes de que se complete la iteración de la tabla de páginas de memoria e independientemente del estado de la entrada en la tabla de páginas de memoria (PTE), es decir, antes de verificar que los datos estén en la memoria física y sean legibles.

Después de completar la verificación de disponibilidad de memoria, en ausencia del indicador Presente en la PTE, la operación se descarta, pero los datos se depositan en la caché y se pueden recuperar utilizando métodos para determinar el contenido de la caché a través de canales laterales (mediante el análisis de cambios en el tiempo de acceso a los datos en caché y no en caché).

Los investigadores han demostrado que los métodos existentes de protección contra Foreshadow son ineficaces y se implementan con una interpretación incorrecta del problema.

La vulnerabilidad Foreshadow se puede aprovechar independientemente del uso de mecanismos de protección en el kernel que antes se consideraban suficientes.

Como resultado, los investigadores demostraron la posibilidad de realizar un ataque Foreshadow en sistemas con kernels relativamente antiguos, en los que todos los modos de protección de Foreshadow disponibles están habilitados, así como con kernels nuevos, en los que solo la protección Spectre-v2 está deshabilitada (usando la opción de kernel de Linux nospectre_v2).

Se ha encontrado que el efecto de captación previa no está relacionado con las instrucciones de captación previa de software o el efecto de captación previa de hardware durante el acceso a la memoria, sino que surge de la desreferencia especulativa de los registros de espacio de usuario en el kernel.

Esta mala interpretación de la causa de la vulnerabilidad llevó inicialmente a la suposición de que la fuga de datos en Foreshadow solo puede ocurrir a través de la caché L1, mientras que la presencia de ciertos fragmentos de código (dispositivos de captación previa) en el kernel puede contribuir a la fuga de datos fuera de la caché L1, por ejemplo, en Caché L3.

La característica revelada también abre oportunidades para crear nuevos ataques destinados a traducir direcciones virtuales a direcciones físicas en entornos aislados y determinar direcciones y datos almacenados en registros de CPU.

Como demostraciones, los investigadores mostraron la posibilidad de utilizar el efecto revelado para extraer datos de un proceso a otro con un rendimiento de aproximadamente 10 bits por segundo en un sistema con una CPU Intel Core i7-6500U.

También se muestra la posibilidad de filtrar el contenido de los registros del enclave Intel SGX (se necesitaron 15 minutos para determinar un valor de 32 bits escrito en un registro de 64 bits).

Para bloquear el ataque de Foreshadow a través de la caché L3, el método de protección Spectre-BTB (Branch Target Buffer) implementado en el conjunto de parches retpoline es efectivo.

Por lo tanto, los investigadores creen que es necesario dejar retpoline habilitado incluso en sistemas con nuevas CPU, que ya tienen protección contra vulnerabilidades conocidas en el mecanismo de ejecución especulativa de las instrucciones de la CPU.

Por su parte, los representantes de Intel dijeron que no planean agregar medidas de protección adicionales contra Foreshadow a los procesadores y lo consideran suficiente para habilitar la protección contra los ataques Spectre V2 y L1TF (Foreshadow).

Fuente: https://arxiv.org

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.