Nueva variante de ataque Foreshadow que afecta a los procesadores Intel, AMD, ARM e IBM

Un grupo de investigadores de la Universidad Técnica de Graz (Austria) y el Centro Helmholtz para la Seguridad de la Información (CISPA), revelado ((PDF)) un nuevo vector para utilizar ataques de canal lateral Foreshadow (L1TF), que le permite extraer datos de la memoria de los enclaves Intel SGX, SMM (Modo de administración del sistema), áreas de memoria del kernel del sistema operativo y máquinas virtuales en sistemas de virtualización. A diferencia del ataque original propuesto en 2018 Foreshadow La nueva variante no es específica de los procesadores Intel y afecta a CPU de otros fabricantes como ARM, IBM y AMD. Además, la nueva variante no requiere un alto rendimiento y el ataque se puede llevar a cabo incluso ejecutando JavaScript y WebAssembly en un navegador web.

El ataque Foreshadow aprovecha el hecho de que cuando se accede a la memoria en una dirección virtual que resulta en una excepción (fallo de página terminal), el procesador calcula especulativamente la dirección física y carga los datos si están disponibles en la caché L1. El acceso especulativo se realiza antes de que se complete la búsqueda en la tabla de páginas de memoria e independientemente del estado de la entrada de la tabla de páginas de memoria (PTE), es decir. antes de comprobar la presencia de datos en la memoria física y su legibilidad. Una vez completada la verificación de disponibilidad de memoria, en ausencia del indicador Presente en PTE, la operación se descarta, pero los datos permanecen en el caché y se pueden recuperar usando métodos para determinar el contenido del caché a través de canales laterales (analizando los cambios en el tiempo de acceso). a datos almacenados en caché y no almacenados en caché).

Los investigadores han demostrado que los métodos existentes de protección contra el presagio son ineficaces y se implementan con una interpretación incorrecta del problema. Vulnerabilidad
Foreshadow puede explotarse independientemente de los mecanismos de seguridad del kernel que antes se consideraban suficientes. Como resultado, los investigadores demostraron la posibilidad de llevar a cabo un ataque Foreshadow en sistemas con kernels relativamente antiguos, en los que todos los modos de protección 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 del kernel de Linux nospectre_v2).

Se encontró que efecto de precarga no relacionado con las instrucciones de captación previa del software ni con el efecto del hardware
captación previa durante el acceso a la memoria, pero ocurre cuando desreferencias especulativas de registros de espacio de usuario en el kernel. Esta mala interpretación de la causa de la vulnerabilidad inicialmente llevó a suponer que la fuga de datos en Foreshadow solo podría ocurrir a través de la caché L1, mientras que la presencia de ciertos fragmentos de código (gadgets de captación previa) en el kernel podría contribuir a la fuga de datos fuera de la caché L1. por ejemplo, en caché L3.

La característica identificada también abre la posibilidad de crear nuevos ataques dirigidos a los procesos de traducción de direcciones virtuales a físicas en entornos aislados y a la determinación de direcciones y datos almacenados en los registros de la CPU. A modo de demostración, los investigadores mostraron la posibilidad de utilizar el efecto identificado para extraer datos de un proceso a otro con un rendimiento de unos 10 bits por segundo en un sistema con una CPU Intel Core i7-6500U. También se muestra la posibilidad de filtrar el contenido del registro del enclave Intel SGX (llevó 32 minutos determinar un valor de 64 bits escrito en un registro de 15 bits). Algunos tipos de ataques resultaron ser posibles de implementar en JavaScript y WebAssembly, por ejemplo, fue posible determinar la dirección física de una variable de JavaScript y llenar registros de 64 bits con un valor controlado por el atacante.

Para bloquear el ataque Foreshadow a través del 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 habilitado retpoline incluso en sistemas con CPU nuevas que ya tienen protección contra vulnerabilidades conocidas en el mecanismo de ejecución especulativa de la CPU. Al mismo tiempo, los representantes de Intel declararon que no planean agregar medidas de protección adicionales contra Foreshadow a los procesadores y consideran suficiente incluir protección contra ataques Spectre V2 y L1TF (Foreshadow).

Fuente: opennet.ru

Añadir un comentario