Los procesadores de servidores modernos cuentan con un entorno de ejecución de confianza (TEE) para gestionar la información especialmente confidencial. Hay muchas implementaciones de TEE, pero dos son las más relevantes para esta discusión: Intel Software Guard eXtensions (SGX) y AMD Secure Encrypted Virtualization (SEV). Casi al mismo tiempo, dos equipos separados de investigadores (uno en Estados Unidos y otro en Europa) descubrieron por su cuenta métodos muy similares (aunque distintos) para explotar estas dos implementaciones. Su objetivo era obtener acceso a los datos cifrados almacenados en la memoria de acceso aleatorio. Los artículos científicos que detallan estos resultados se publicaron con solo unos días de diferencia:
- WireTap: Breaking Server SGX via DRAM Bus Interposition (WireTap: hackeo del servidor SGX a través de la interposición del bus DRAM) es la obra de los investigadores estadounidenses, que detalla un pirateo exitoso del sistema Intel Software Guard eXtensions (SGX). Lo lograron interceptando el intercambio de datos entre el procesador y el módulo RAM DDR4.
- En Battering RAM, científicos de Bélgica y el Reino Unido también lograron poner en riesgo a Intel SGX, así como el sistema de seguridad similar de AMD, SEV-SNP, manipulando el proceso de transferencia de datos entre el procesador y el módulo RAM DDR4.
Hackeo de un TEE
Las dos tecnologías mencionadas, Intel SGX y AMD SEV, están diseñadas para proteger los datos incluso si el sistema que los procesa está completamente vulnerado. Por tanto, los investigadores partieron de la premisa de que el atacante tendría total libertad de acción: acceso total tanto al software como al hardware del servidor, y que los datos confidenciales que busca se encuentran, por ejemplo, en una máquina virtual que se ejecuta en ese servidor.
En esa situación, ciertas limitaciones de Intel SGX y AMD SEV se vuelven críticas. Un ejemplo es el uso del cifrado determinista: un algoritmo en el que una secuencia específica de datos de entrada siempre produce exactamente la misma secuencia de datos de salida cifrados. Como el atacante tiene acceso total al software, puede ingresar datos arbitrarios en el TEE. Si el atacante también tuviera acceso a la información cifrada resultante, la comparación de estos dos conjuntos de datos le permitiría calcular la clave privada utilizada. Esto, a su vez, les permitiría descifrar otros datos cifrados por el mismo mecanismo.
Sin embargo, el desafío es leer los datos cifrados. Residen en la RAM y solo el procesador tiene acceso directo a ellos. El malware teórico solo ve la información original antes de que se cifre en la memoria. Este es el principal desafío, que los investigadores abordaron de diferentes maneras. Una solución directa y sencilla es la interceptación a nivel de hardware de los datos que se transmiten desde el procesador al módulo RAM.
¿En qué consiste? El módulo de memoria se quita y luego se vuelve a insertar mediante un intermediador, que también se conecta a un dispositivo especializado: un analizador lógico. El analizador lógico intercepta los flujos de datos que viajan a través de todas las líneas de datos y direcciones al módulo de memoria. Esto es bastante complejo. Un servidor generalmente tiene muchos módulos de memoria, por lo que el atacante debe encontrar una manera de forzar al procesador a escribir la información de destino específicamente en el rango deseado. A continuación, los datos sin procesar capturados por el analizador lógico deben reconstruirse y analizarse.
Pero los problemas no terminan ahí. Los módulos de memoria modernos intercambian datos con el procesador a velocidades extraordinarias y realizan miles de millones de operaciones por segundo. Interceptar un flujo de datos tan rápido requiere equipos de alta gama. El hardware que se utilizó para probar la viabilidad de este tipo de ataque en 2021 costó cientos de miles de dólares.
Las características de WireTap
Los investigadores estadounidenses de WireTap lograron reducir el coste de su pirateo a poco menos de mil dólares. Su equipo para interceptar datos del módulo de memoria DDR4 se veía así:

Sistema de prueba para interceptar el intercambio de datos entre el procesador y el módulo de memoria. Fuente.
Gastaron la mitad del presupuesto en un analizador lógico de 25 años de antigüedad, que adquirieron a través de una subasta online. El resto cubría los conectores necesarios, y los propios autores soldaron a medida el intermediador (el adaptador en el que se insertó el módulo de memoria de destino). Una configuración obsoleta como esta no podía capturar el flujo de datos a su velocidad normal. Sin embargo, los investigadores hicieron un descubrimiento clave: podían ralentizar el funcionamiento del módulo de memoria. En lugar de las velocidades efectivas DDR4 estándar de 1600 a 3200 megahercios, lograron reducir la velocidad a 1333 megahercios.
A partir de ahí, los pasos son… bueno, no tan sencillos, pero claros:
- Asegurarse de que los datos del proceso de destino se hayan escrito en el módulo de memoria pirateado y luego interceptarlos, aún cifrados en esta etapa.
- Introducir un conjunto de datos personalizado en Intel SGX para cifrarlos.
- Interceptar la versión cifrada de los datos conocidos, comparar el texto simple conocido con el texto cifrado resultante y calcular la clave de cifrado.
- Descifrar los datos capturados previamente que pertenecen al proceso de destino.
En resumen, el trabajo de WireTap no cambia fundamentalmente nuestra comprensión de las limitaciones inherentes de Intel SGX. Sin embargo, demuestra que el ataque se puede abaratar drásticamente.
Las características de Battering RAM
En lugar del enfoque sencillo de interceptación de datos, los investigadores de la universidad KU Leuven de Bélgica y sus colegas del Reino Unido buscaron un método más sutil y elegante para acceder a la información cifrada. Pero antes de sumergirnos en los detalles, veamos el tema del hardware y comparémoslo con el trabajo del equipo estadounidense:

El intermediador del módulo de memoria que se usó en Battering RAM. Fuente.
En lugar de una maraña de cables y un analizador de datos enorme, este equipo cuenta con una placa sencilla diseñada desde cero, en la que se inserta el módulo de memoria de destino. La placa es controlada por un microordenador Raspberry Pi Pico de bajo coste. El presupuesto de hardware es insignificante: ¡solo 50 euros! Además, a diferencia del ataque WireTap, Battering RAM se puede realizar de forma encubierta. No se necesita acceso físico continuo al servidor. Una vez que se instala el módulo de memoria modificado, los datos requeridos se pueden robar de forma remota.
¿Qué hace exactamente esta placa? Los investigadores descubrieron que al conectar a tierra solo dos líneas de dirección (que dictan dónde se escribe o se lee la información) en el momento correcto, se podría crear una situación de duplicado de datos. Esto hace que la información se escriba en celdas de memoria a las que puede acceder el atacante. La placa intermediadora actúa como un par de interruptores sencillos controlados por el microordenador Raspberry Pi. Si bien la manipulación de contactos en hardware que está conectado suele provocar que se congele el sistema o se corrompan los datos, los investigadores lograron un funcionamiento estable al desconectar y volver a conectar las líneas de dirección solo en los momentos precisos requeridos.
Este método dio a los autores la capacidad de elegir dónde se registraron sus datos. Esto quiere decir que ni siquiera necesitaron calcular la clave de cifrado. Primero capturaron la información cifrada del proceso de destino. A continuación, ejecutaron su propio programa dentro del mismo rango de memoria y solicitaron al sistema TEE que descifrara la información capturada previamente. Esta técnica les permitió piratear no solo Intel SGX sino también AMD SEV. Además, este control sobre la escritura de datos les ayudó a eludir la extensión de seguridad de AMD, llamada SEV-SNP. Esta extensión, que utiliza la Paginación anidada segura, se diseñó para proteger la máquina virtual contra riesgos al evitar la modificación de los datos en la memoria. En teoría, eludir la SEV-SNP permite a los atacantes no solo leer datos cifrados, sino también inyectar código malicioso en una máquina virtual vulnerada.
La relevancia de los ataques físicos a la infraestructura de los servidores
Está claro que, si bien la aplicación práctica de tales ataques es posible, es poco probable que se lleven a cabo en el mundo real. El valor de los datos robados tendría que ser extremadamente alto para justificar la manipulación del hardware. Al menos, esta es la postura adoptada tanto por Intel como por AMD con respecto a sus soluciones de seguridad: ambos fabricantes de microchips respondieron a los investigadores afirmando que los ataques físicos no están cubiertos por su modelo de seguridad. Sin embargo, tanto el equipo de investigación estadounidense como el europeo demostraron que el coste de estos ataques no es tan alto como se creía anteriormente. Esto potencialmente expande la lista de actores de amenazas dispuestos a utilizar vulnerabilidades tan complejas.
Pero los ataques propuestos vienen con sus propias restricciones. Como ya mencionamos, el robo de información se realizó en sistemas equipados con módulos de memoria estándar DDR4. El estándar DDR5 más reciente, lanzado en 2020, aún no ha sido vulnerado, ni siquiera con fines de investigación. Esto se debe tanto a la arquitectura actualizada de los módulos de memoria como a su mayor velocidad de funcionamiento. Sin embargo, es muy probable que los investigadores también encuentren vulnerabilidades en DDR5 en algún momento. Y eso es bueno: la seguridad declarada de los sistemas TEE debe someterse a auditorías independientes con regularidad. De lo contrario, podría ocurrir en algún momento que un sistema de protección supuestamente de confianza se vuelva completamente inútil de forma inesperada.
 RAM
 RAM
 
	 
					 Consejos
 Consejos