Un adversario podría abusar de una vulnerabilidad recientemente revelada que afecta a los procesadores Intel para obtener acceso a información confidencial almacenada en enclaves e incluso ejecutar código arbitrario en sistemas vulnerables.

La vulnerabilidad ( CVE-2021-0186 , puntuación CVSS: 8,2) fue descubierta por un grupo de académicos de ETH Zurich, la Universidad Nacional de Singapur y la Universidad Nacional de Tecnología de Defensa de China a principios de mayo de 2021, quienes la utilizaron para organizar un Ataque de divulgación de datos confidenciales llamado » SmashEx » que puede corromper los datos privados alojados en el enclave y romper su integridad.

Introducido con los procesadores Skylake de Intel, SGX (abreviatura de Software Guard eXtensions) permite a los desarrolladores ejecutar módulos de aplicaciones seleccionados en un compartimiento de memoria seguro completamente aislado, llamado enclave o entorno de ejecución confiable (TEE), que está diseñado para estar protegido de los procesos. ejecutándose en niveles de privilegios más altos como el sistema operativo. SGX garantiza que los datos estén seguros incluso si el sistema operativo de una computadora ha sido manipulado o está siendo atacado.

«Para un funcionamiento normal, el diseño SGX permite que el sistema operativo interrumpa la ejecución del enclave a través de excepciones de hardware configurables en cualquier momento», señalaron los investigadores. «Esta función permite que los tiempos de ejecución de enclave (p. Ej., Intel SGX SDK y Microsoft Open Enclave) admitan excepciones en enclave o manejo de señales, pero también abre enclaves para reincorporar errores. SmashEx es un ataque que explota los SDK de enclave que no lo hacen manejar con cuidado el reentrada en su manejo excepcional de forma segura «.

Ataque de CPU Intel SmashEx

Ataque de CPU Intel SmashEx

Vale la pena señalar que un enclave también puede tener llamadas externas, u OCALLS , que permiten que las funciones de enclave llamen a la aplicación que no es de confianza y luego regresen al enclave. Pero cuando el enclave también está manejando excepciones dentro del enclave (por ejemplo, interrupción del temporizador o división por cero), la vulnerabilidad proporciona una breve ventana para que un atacante local secuestra el flujo de control de ejecución inyectando una excepción asincrónica inmediatamente después del enclave. es ingresado.

Armado con esta capacidad, el adversario puede corromper la memoria del enclave para filtrar datos confidenciales como claves privadas RSA o ejecutar código malicioso.

Dado que SmashEx afecta los tiempos de ejecución que admiten el manejo de excepciones en el enclave, los investigadores señalaron que «dicho flujo de retorno de OCALL y el flujo de manejo de excepciones deben escribirse con cuidado para garantizar que se entrelazan de manera segura» y que «cuando se interrumpe el flujo de retorno de OCALL, el enclave debe estar en un estado consistente para que el flujo de manejo de excepciones progrese correctamente, y cuando el flujo de manejo de excepciones se complete, el estado del enclave también debe estar listo para que el enclave se reanude «.

Desde entonces, Intel ha lanzado actualizaciones de software para mitigar esta vulnerabilidad con las versiones 2.13 y 2.14 del SDK SGX para Windows y Linux, respectivamente. Microsoft, por su parte, abordó el problema ( CVE-2021-33767 ) en sus actualizaciones de Patch Tuesday de julio de 2021 con Open Enclave versión 0.17.1 del SDK. Se espera que los hallazgos del equipo de investigación se presenten el próximo mes en la Conferencia ACM sobre seguridad informática y de comunicaciones.

«El manejo asincrónico de excepciones es una funcionalidad básica para las aplicaciones del mundo real en la actualidad, que utilizan cada vez más enclaves», dijeron los investigadores, y agregaron que la investigación destaca «la importancia de proporcionar garantías de atomicidad en la interfaz OS-enclave para tales excepciones».

Fuente y redacción: thehackernews.com

Compartir