El ataque SgxSpectre puede violar datos confidenciales almacenados en enclaves Intel SGX

El ataque de Spectre más reciente denominado SgxSpectre puede exponer en riesgo datos confidenciales almacenados en enclaves de SGX

SgxSpectre: otro ataque de Spectre que representa un riesgo para los datos confidenciales

Defecto de CPU de Spectre-Meltdown[1] detectados a principios de 2018 plantean un desafío mayor de lo que esperaban Microsoft, Intel y otros gigantes tecnológicos. No solo logró extenderse desde los chips Intel y AMD hasta los chips Skylake, Kaby Lake, Coffee Lake; permitió a los piratas informáticos iniciar múltiples campañas de distribución de malware[2] y ataques basados ​​en software.

A principios de marzo de 2018, un grupo de seis investigadores de TI de la Universidad Estatal de Ohio detectó una nueva variante del ataque Spectre denominada SgxSpectre, que se puede utilizar para descifrar los enclaves de Software Guard Extensions (SGX) de Intel que son responsables del aislamiento de componentes. De hecho, los datos custodiados por estos enclaves son probablemente los más sensibles de todos, ya que los componentes del sistema operativo no pueden interactuar con los datos protegidos por enclaves.

Caroline Trippel y Daniel Lustig, investigadores de la Universidad de Princeton y Margaret Martonosi de Nvidia previó la posibilidad de tales ataques y describió el escenario en un trabajo científico llamado “MeltdownPrime y SpectrePrime: Explotación de ataques sintetizados automáticamente. Protocolos de coherencia basados ​​en invalidación ".[3] Estas son las vulnerabilidades más recientes de Meltdown y Spectre que pueden terminar con datos confidenciales atacados.

Las vulnerabilidades anteriores de Meltdown y Spectre no tenían acceso a datos confidenciales protegidos por SGX

Software Guard Extensions (SGX) de Intel es una característica relativamente nueva, que está disponible en los procesadores de Intel modernos. Permite crear los denominados enclaves para la protección de software, que trata con datos extremadamente sensibles e información de codificación.

Las secuelas de los ataques anteriores de Spectre y Meltdown en el SGX no estaban claras. Sin embargo, la inmunidad de los enclaves SGX planteó muchas preguntas desde el principio. Resultó que ninguna de estas vulnerabilidades exhibe rasgos que permitan romper la protección SGX, pero aparentemente los piratas informáticos apuntan a los datos dentro de los enclaves. Por eso evolucionó SgxSpectre.

Según los investigadores de vulnerabilidades de SgxSpectre,[4] la vulnerabilidad permite la explotación de "La condición de carrera entre las referencias de memoria inyectadas y ejecutadas especulativamente, que conducen a rastreos de caché observables de canal lateral, y la latencia de la resolución de la rama". Actualmente, la vulnerabilidad puede afectar a Intel SGX, SDK, Rust-SGX y Graphene-SDX.
El sistema puede verse afectado cuando se habilita un patrón de código específico en las bibliotecas de software. El atacante que tiene como objetivo la información almacenada dentro de los enclaves emplea la ejecución especulativa y realiza la predicción del código del enclave buscando pequeñas variaciones del tamaño de la caché. Como explicaron los investigadores,

Las unidades de predicción de rama utilizadas en el modo de enclave para predecir objetivos de rama no se limpian a fondo al entrar en el enclave. Por lo tanto, el código fuera del enclave objetivo (ya sea que se ejecute en la región de memoria desprotegida o en otro enclave) puede manipular los objetivos de la predicción de rama dentro del enclave objetivo.

Intel ha lanzado una herramienta de escaneo de vulnerabilidades

Todo el procedimiento puede parecer difícil para las personas que no están enredadas en el mundo de las tecnologías de la información. En pocas palabras, con la ayuda de las vulnerabilidades Meltdown y Spectre, los piratas informáticos encontraron una forma de explotar las debilidades de los patrones de código SDX. Posteriormente, estas vulnerabilidades permiten a los piratas informáticos modificar las bibliotecas de tiempo de ejecución del SDK y atacar cualquier sistema desarrollado con el SDK SGX oficial de Intel.

Intel y Microsoft reaccionaron a la vulnerabilidad de Meltdown y Spectre detectada de inmediato y comenzaron a lanzar parches. Desafortunadamente, no todos funcionan, por lo que es imprescindible seguir las noticias sobre esta vulnerabilidad.

La especulación restringida de sucursales indirectas (IBRS) es una de las soluciones representadas por Intel. Aborda la variante del espectro con la provisión de un microcódigo adaptado. Sin embargo, este parche no está orientado a la vulnerabilidad SGX SDK.
La fecha límite para la fecha de lanzamiento del parche SgxSpectre es el 16 de marzo de 2018. Los desarrolladores de aplicaciones tendrán que cambiar la versión anterior del SDK por la que Intel está a punto de lanzar en las aplicaciones basadas en SGX.

Aquellos que quieran verificar si sus PC contienen códigos vulnerables, los especialistas crearon una herramienta de escaneo de vulnerabilidades,[5] que verifica los programas de enclave y comprueba el patrón de código. En caso de que se detecten exploits de SgxPectre, se advertirá al usuario y se le pedirá que instale el kit de herramientas desarrollado por Intel junto con el kit de herramientas de desarrollo de software obsoleto para los proveedores de aplicaciones SGX.