Los investigadores de ciberseguridad han descubierto una forma de ocultar el código malicioso en los enclaves Intel SGX, una función de cifrado de memoria basada en hardware en los procesadores modernos que aísla el código y los datos confidenciales para protegerlos de su divulgación o modificación.
En otras palabras, la técnica permite a los atacantes implantar código malicioso en una memoria segura que utiliza funciones de protección de SGX que, de otro modo, están diseñadas para proteger datos importantes de miradas indiscretas o de ser manipulados, incluso en un sistema comprometido.
Presentado con los procesadores Skylake de Intel, SGX (Software Guard Extensions) permite a los desarrolladores ejecutar módulos de aplicaciones seleccionados en una región de memoria segura completamente aislada, llamada enclaves, que están diseñados para estar protegidos de procesos que se ejecutan en niveles de privilegio más altos como el sistema operativo, kernel , BIOS, SMM, hipervisor, etc.
Sin embargo, un equipo de investigadores, algunos de los cuales estuvieron detrás del descubrimiento de las fallas de la CPU Spectre-Meltdown, lograron eludir esta protección y obtuvieron su propia aplicación maliciosa en los enclaves seguros al aprovechar la antigua técnica de la programación orientada al retorno ( ROP).
El ataque también utiliza extensiones de sincronización transaccional (TSX), que se encuentran en las CPU Intel modernas, junto con una nueva técnica primitiva de lectura resistente a fallas llamada sondeo de direcciones (TAP) basado en TSX.
https://www.youtube.com/watch?v=SmnPj7KR8BA
TAP usa TSX para determinar si el proceso actual puede acceder a una dirección virtual, y esta exploración de la memoria es indetectable porque las aplicaciones a nivel del sistema operativo no pueden mirar dentro de un enclave, por diseño.
«Nuestro ataque SGX-ROP utiliza una nueva primitiva de divulgación de memoria basada en TSX y una primitiva de escritura en cualquier lugar para construir un ataque de reutilización de código desde dentro de un enclave que luego es ejecutado inadvertidamente por la aplicación host», se lee en un artículo de investigación. [PDF] publicado el martes.
Para determinar si se puede escribir en una página de memoria, el equipo desarrolló una primitiva de escritura resistente a fallas, Comprobación de direcciones ubicadas para escritura (CLAW), que encapsula la instrucción de escritura para la página de memoria de destino dentro de una transacción TSX y aborta explícitamente la transacción después de la escritura. .
Después de eso, la capacidad de escritura de la página de memoria de destino se puede deducir en función del valor de retorno de la transacción.
Una vez que el malware se abre paso en el enclave seguro, la confidencialidad e integridad que SGX garantiza fundamentalmente a los programas legítimos también impediría que los investigadores o las soluciones de seguridad detecten y analicen el malware dentro de un enclave.
Esto eventualmente permitiría que la aplicación de malware eluda varias tecnologías de seguridad, como la aleatorización del diseño del espacio de direcciones (ASLR) a nivel del sistema operativo, los canarios de pila y el desinfectante de direcciones, así como ejecutar código arbitrario en el sistema de destino.
«Además, existe una amenaza potencial de ransomware de próxima generación que mantiene de forma segura las claves de cifrado dentro del enclave y, si se implementa correctamente, evita las herramientas de recuperación de ransomware», explican los académicos.
Los investigadores dijeron que el exploit de prueba de concepto desarrollado por su equipo omitió ASLR, canarios de pila y desinfectante de direcciones, para «ejecutar dispositivos ROP en el contexto del host que permite el malware de enclave práctico», y señalaron que todo el proceso de explotación tomó 20,8 segundos.
Al final, los académicos concluyeron que en lugar de «proteger a los usuarios de daños, SGX actualmente representa una amenaza para la seguridad, facilitando la llamada super-malware con hazañas listas para usar».
Las mitigaciones contra tales ataques podrían implementarse en futuras generaciones de CPU Intel que mejoren la zona de pruebas de los enclaves SGX. Si bien algunas de esas mitigaciones requerirían cambios a nivel de hardware sin afectar el rendimiento, algunas no requerirían modificaciones de hardware, pero cambiarían algo de rendimiento.