El ataque SgxSpectre puede extraer datos de los Intel SGX Enclaves
Una nueva variación del ataque Spectre ha sido revelada esta semana por seis científicos de la Universidad Estatal de Ohio. Con el nombre de SgxSpectre, los investigadores dicen que este ataque puede extraer información de los enclaves de Intel SGX.
Intel Software Guard eXtensions (SGX) es una característica de los procesadores Intel modernos que permiten que una aplicación cree los denominados enclaves. Este enclave es una sección aislada de hardware de la memoria de procesamiento de la CPU donde las aplicaciones pueden ejecutar operaciones que tratan con detalles extremadamente confidenciales, como claves de cifrado, contraseñas, datos de usuarios y más.
Los ataques de Meltdown y Spectre revelados a principios de año permitieron a un atacante romper el aislamiento entre el sistema operativo y las aplicaciones, y el aislamiento entre aplicaciones, lo que permite que un atacante malintencionado recupere información del kernel del sistema operativo o de otras aplicaciones.
SgxSpectre ataca los patrones de código en SGX SDK
Pero ni Meltdown y Spectre pudieron extraer datos de los enclaves SGX. Aquí es donde entra SgxSpectre.
Según los investigadores, SgxSpectre funciona debido a los patrones de código específicos en las bibliotecas de software que permiten a los desarrolladores agregar soporte SGX a sus aplicaciones. Los kits de desarrollo Vulnerable SGX incluyen Intel SGX SDK, Rust-SGX y Graphene-SGX.
Los académicos dicen que un atacante puede aprovechar los patrones de ejecución de código repetitivos que estos SDK introducen en los enclaves SGX y observar pequeñas variaciones del tamaño de la caché. Este es un clásico "ataque de canal lateral" y es bastante efectivo.
"Los ataques de SgxPectre pueden comprometer por completo la confidencialidad de los enclaves SGX", dicen los investigadores. "Debido a que existen patrones de código vulnerables [...] y son difíciles de eliminar, el adversario podría realizar ataques SgxPectre contra cualquier programa de enclave".
"Debido a que existen patrones de código vulnerables dentro de las bibliotecas de tiempo de ejecución de SDK, cualquier código desarrollado con SGX SDK oficial de Intel se verá afectado por los ataques. No importa cómo se implemente el programa enclave", dice el equipo de investigación.
Actualizaciones para el SDK de Intel SGX
Los parches de Spectre recientes de Intel no ayudan necesariamente, ya que un atacante puede evitar estas correcciones. Intel dice que se lanzará una actualización para el SDK Intel SGX que agrega mitigaciones SgxSpectre el 16 de marzo.
Los desarrolladores de aplicaciones necesitarán integrar esta nueva versión de SDK en sus aplicaciones compatibles con SGX y emitir una actualización para los usuarios.
Según los investigadores, las aplicaciones que implementan las técnicas de codificación Retoline anti-Spectre de Google son seguras.
A continuación se muestra una demostración de video que el equipo grabó para el ataque SgxSpectre. El código de prueba de concepto está disponible en GitHub, mientras que las copias del trabajo de investigación del equipo -titulado "SgxSpectre: Ataques: Secretos de enclave fugaces a través de la ejecución especulativa" - pueden descargarse aquí y aquí.
Además de SgxSpectre, los investigadores también revelaron dos nuevas variaciones de Meltdown y Spetter, llamadas MeltdownPrime y SpectrePrime, respectivamente.
Estos nuevos ataques se detallan en un documento de investigación llamado "MeltdownPrime y SpectrePrime: Ataques sintetizados automáticamente que explotan los protocolos de coherencia basados en invalidación". Estos dos ataques también sirven para filtrar datos del kernel y otras aplicaciones, pero con otros métodos y un poco más rápido.