SGXSpectre: afectando a la parte más segura de un procesador

Han sido seis científicos de la Universidad Estatal de Ohio quienes han descubierto nuevas vulnerabilidades. En concreto, la principal ha sido bautizada como SgxSpectre. Esta vulnerabilidad permite acceso a enclaves de Intel SGX (Intel Software Guard eXtensions), que son áreas de ejecución protegidas en la memoria del procesador. Los enclaves se ubican en zonas aisladas a nivel físico dentro de la CPU, y se usan para tratar información extremadamente sensible, como claves de cifrado o contraseñas.

Meltdown y Spectre lo que permitían es romper el aislamiento que separa al sistema operativo de las aplicaciones, así como el aislamiento que existe entre las diversas aplicaciones y sus procesos de ejecución. Gracias a esto, un atacante puede obtener información del kernel del sistema operativo y de otras aplicaciones.

Sin embargo, lo que no se permitía hasta ahora era obtener acceso a los enclaves SGX, pero con la nueva vulnerabilidad esto sí es posible. El problema radica en que hay unos patrones específicos en el código de las librerías que permiten a los desarrolladores añadir el soporte para SGX en sus aplicaciones.

Algunos de esos kits de desarrollo vulnerables son SGX SDK, Rust-SGX y Graphene-SGX. Cualquier código creado bajo estos kits de desarrollo está afectado por los ataques, sin importar cómo está implementado el enclave. Mediante la repetición de la ejecución del código se pueden intuir los patrones y ver las variaciones en cada uno de ellos, afectando a la confidencialidad de los enclaves.

También están MeltdownPrime y SpectrePrime

Estas vulnerabilidades funcionan incluso con los últimos parches de Spectre y Meltdown, ya que un atacante puede saltárselos. De momento, el kit de desarrollo Intel SGX SDK añadirá los parches para estas vulnerabilidades a partir del 16 de marzo. Los desarrolladores tendrán que integrar este nuevo SDK en sus aplicaciones con acceso a SGX para que queden parcheadas. Si se están usando las guías de Retpoline de Google en principio se está a salvo.

En el siguiente vídeo se puede ver cómo funciona la vulnerabilidad. Los investigadores han publicado el código necesario para aprovecharla en una página de GitHub.

Además de SGXSpectre, los investigadores han descubierto otras dos vulnerabilidades llamadas MeltdownPrime y SpectrePrime, los cuales permiten obtener datos desde el kernel y otras aplicaciones, pero usando para ello métodos más rápidos que los conocidos hasta ahora. Por suerte, si ya tienes un parche para Meltdown y Spectre ya estarás protegido; sin embargo, la solución a nivel de hardware de estas vulnerabilidades será distinta para futuras versiones de procesadores.

 

Fuente: BleepingComputer | adslzone