PlunderVolt: Tensiones sobre la seguridad SGX de los chips Intel

hace 4 años

L

Al cambiar el voltaje de la CPU, los investigadores fueron capaces de extraer hechos sensibles del mmoire de procesadores Intel con el entorno de ejecución de confianza SGX, incluida la clave de cifrado RSA completa. Se han publicado actualizaciones de firmware.

Una función indocumentada en los procesadores Intel manipula el voltaje de la placa para desencadenar errores computacionales de forma controlada. El procedimiento se puede utilizar para eludir las protecciones de seguridad en el entorno de ejecución segura de Intel Software Guard Extensions (SGX), diseñado para proteger los secretos criptográficos y aislar la ejecución de código confidencial en la memoria. La tecnología SGX (Software Guard Extensions), integrada en los modernos procesadores Intel, permite a los usuarios crear regiones de memoria privada, llamadas enclaves, en las que el procesador cifra parte de la memoria y prohíbe cualquier programa, excepto para aquellos que operan en su interior el enclave, para acceder a él.

Al igual que la mayoría de los entornos de ejecución fiables, Intel SGX está diseñado para proteger los datos cuando se utilizan en la memoria de un programa, incluso si los atacantes logran obtener acceso privilegiado al sistema o al hipervisor en el caso de entornos virtualizados. Estos entornos de ejecución de confianza son especialmente útiles para proteger las operaciones de cifrado y las claves de la infraestructura de nube pública. Por ejemplo, las ofertas de Computación Confidencial de Microsoft Azure se basan en estos componentes.

Investigadores de las universidades de Birmingham en el Reino Unido, la Universidad Tecnológica de Graz en Austria y THE KU Lovaina en Bélgica han desarrollado un ataque de inyección de falla. Llamado Plundervolt, el ataque compromete los datos secretos de los enclaves de memoria SGX de Intel y, finalmente, desencadena errores de seguridad de memoria en programas que no incluyen estos errores en su código.

Índice
  1. Inyección de fallos manipulando la tensión de la CPU
  2. Ataques remotos
  3. Errores de seguridad de la memoria
  4. Mitigación e intervención

Inyección de fallos manipulando la tensión de la CPU

Los ataques de inyección de errores no son nuevos. Implican modificar las condiciones normales de funcionamiento de un sistema para descubrir errores inesperados. Tales ataques se han utilizado en el campo del criptoanálisis como un canal secundario para deducir información sobre el estado interno de los sistemas criptográficos y para recuperar las claves de cifrado mediante la manipulación del voltaje de alimentación de la CPU, el reloj interno y otros factores ambientales. Esta técnica se conoce como análisis diferencial de fallas.

La vulnerabilidad Plundervolt es similar, pero en lugar de basarse en la manipulación física, explota una función de escalado de voltaje dinámico ofrecida por los procesadores Intel, una función que se puede activar mediante el registro específico del modelo o el registro específico del modelo ( MSR). La existencia de esta interfaz de software indocumentada está relacionada con el hecho de que las CA modernas ajustan automáticamente su frecuencia de funcionamiento, y por lo tanto su voltaje de potencia, dependiendo de la carga de trabajo para limitar el consumo. (eléctrica y a temperatura). "Al utilizar esta interfaz para reducir muy brevemente el voltaje de cPU durante un cálculo en un enclave SGX objetivo, demostramos que un atacante con acceso privilegiado era capaz de inyectar errores en los cálculos de los enclaves. protegidas", explicaron los investigadores en su artículo. "Lo más importante es que, debido a que se producen errores dentro del paquete del procesador, es decir, antes de que se almacenen los resultados, la tecnología de protección de la integridad de la memoria SGX de Intel no puede defender el entorno. contra estos ataques. Hasta nuestro punto de conocimiento, somos los primeros en presentar un ataque que viola directamente las garantías de integridad de las extensiones de software guard".

Plundervolt afecta a todos los procesadores Intel Core compatibles con SGX, empezando por la generación Skylake. La interfaz de reducción de voltaje también está presente en generaciones anteriores de procesadores Intel Core, pero no representa una amenaza fuera del contexto SGX.

Ataques remotos

Para acceder al registro específico del modelo MSR para manipular el escalado de voltaje dinámico, los atacantes necesitan privilegios de root en el sistema operativo. Sin embargo, SGX ha sido especialmente diseñado para garantizar la confidencialidad e integridad del código y el rendimiento de la memoria del enclave, incluso en caso de tales compromisos. Dado que el acceso físico no es necesario para manipular el voltaje, los ataques se pueden ejecutar de forma remota si el atacante logra obtener el privilegio de ejecución de código en el sistema.

"Los ataques de inyección de fallas de software cambian el patrón de amenaza. El atacante ya no necesita acceso físico al dispositivo de destino. Un atacante remoto puede ejecutar código localmente", dijeron los investigadores. "Originalmente, estos ataques eran interesantes en escenarios donde el atacante no tiene privilegios o incluso en un entorno limitado. Pero con tecnologías de ejecución seguras como Intel SGX, ARM TrustZone y AMD SEV, ahora debemos considerar a los atacantes con privilegios como amenazas potenciales". Los investigadores demostraron que podrían utilizar este ataque para extraer claves completas de las implementaciones RSA-CRT y AES-NI de Intel, con aceleración de hardware AES, cuando se ejecuta en enclaves SGX. También señalan que la operación podría haberse llevado a cabo en cuestión de minutos, sin recursos computacionales significativos.

Errores de seguridad de la memoria

La explotación de la vulnerabilidad del canal lateral del procesador Foreshadow ya había extraído claves criptográficas de Intel SGX. Pero Plundervolt también viola las garantías de integridad de memoria de los enclaves SGX al introducir artificialmente vulnerabilidades de seguridad de memoria en un código normalmente libre de errores. En otras palabras, incluso si los desarrolladores hacen todo lo necesario y se aseguran de que su código no contenga vulnerabilidades, los atacantes pueden usar esta técnica para inyectar errores en el código mientras se ejecutan en un enclave. "Hasta nuestro conocimiento, somos los primeros en explorar las implicaciones para la seguridad de la memoria de multiplicaciones defectuosas en el código generado por el compilador", dijeron los investigadores. "En comparación con el trabajo anterior que ha demostrado que la inyección de fallas ataca escalando el escalado de la tensión contra las implementaciones criptográficas de ARM TrustZone, mostramos esta vez que la manipulación del voltaje no tiene impacto en los algoritmos criptográficos", Añadido.

Mitigación e intervención

En su artículo, los investigadores proponen varias contramedidas, tanto a nivel de hardware y firmware como a nivel de software a través del uso de primitivas criptográficas resistentes a errores, y también a través del fortalecimiento de aplicaciones y compiladores. Sin embargo, muchos de ellos tienen una variedad de inconvenientes, incluyendo un impacto potencial en el rendimiento. Los investigadores informaron de la vulnerabilidad a Intel en junio por primera vez, pero también fue descubierto por otros equipos de investigadores que lo informaron en agosto. La fundición considera que el problema es muy grave (7,9 en la escala CVSS) y ha emitido un aviso de seguimiento con la referencia CVE-2019-11157. La compañía ha trabajado con socios para entregar actualizaciones de BIOS para abordar este problema.

Según los investigadores, parche de Intel es para desactivar el acceso a la interfaz de escalado de voltaje MSR identificado en su artículo. Sin embargo, señalan que otras opciones de inyección de fallas, que aún no están identificadas, pueden ser capaces de explotar otras funciones de administración de energía o reloj. "Las últimas versiones del firmware de Intel, disponibles a través del Red Hat Security Advisory (RHSA) publicado hoy, o directamente de Intel, resuelven todos los problemas anunciados públicamente hoy", dijo Christopher Robinson, Gerente de Programas de Seguridad de Productos de Red Hat. "Actualmente, Red Hat no implementa SGX, por lo que nuestros clientes no se ven afectados por ataques relacionados con SGX. Al igual que cualquier vulnerabilidad, Red Hat Product Security aconseja a los administradores del sistema que evalúen riesgos y exposiciones específicas en su propio entorno, y les recomienda encarecidamente que implementen las últimas actualizaciones de seguridad para abordar vulnerabilidades conocidas tan pronto como posible." Microsoft no respondió inmediatamente a una solicitud de comentarios de nuestros colegas de la OSC.

Si quieres conocer otros artículos parecidos a PlunderVolt: Tensiones sobre la seguridad SGX de los chips Intel puedes visitar la categoría Otros.

Otras noticias que te pueden interesar

Subir