Recovering a Full AES-128 Key Across Tenant Boundaries via DDR4 Row-Buffer Timing on Cloud FPGAs
Este artículo demuestra que un co-inquilino totalmente sin privilegios en una FPGA de nube compartida puede recuperar una clave maestra AES-128 completa de una víctima mediante la explotación de canales laterales de tiempo del búfer de fila de DDR4, superando la limitación de "un espacio por banco" a través de la ingeniería inversa del mapeo de bancos y la agregación estadística a través de múltiples cifrados.
Artículo original bajo licencia CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo
En el mundo digital moderno, a menudo imaginamos que nuestros datos privados están guardados en una bóveda segura, separados de las miradas indiscretas de otros por capas de software y muros digitales. Esta es la promesa de la computación en la nube: que diferentes usuarios puedan compartir el mismo hardware potente sin ver jamás el trabajo de los demás. Sin embargo, la realidad física de cómo las computadoras almacenan la información cuenta una historia diferente. Cuando una computadora realiza un cálculo, a menudo necesita buscar valores en una lista grande, de forma muy parecida a consultar un diccionario para buscar una definición. Para hacer esto rápidamente, la computadora abre una sección específica de su memoria, conocida como búfer de fila (row buffer), para mantener esa lista lista para su uso. Si la computadora necesita buscar un elemento diferente en la misma sección, debe cerrar la lista actual y abrir una nueva, un proceso que toma una fracción de segundo más de tiempo. Esta diferencia de tiempo, aunque minúscula, deja un rastro. Así como una huella en la arena mojada revela por dónde caminó alguien, el tiempo que toma acceder a la memoria puede revelar qué datos estaban siendo utilizados. Durante décadas, los expertos en seguridad han sabido que estas diminutas pistas temporales podrían usarse para robar secretos de una sola computadora, pero la pregunta seguía siendo si este truco podría funcionar a través de las fronteras invisibles que separan a los diferentes usuarios en un servidor de la nube compartido.
Investigadores de la Universidad de Carolina del Norte en Charlotte han demostrado ahora que es, de hecho, posible robar una clave secreta completa de un vecino en un servidor de la nube compartido, utilizando nada más que el tiempo de acceso a la memoria. Se centraron en un tipo específico de hardware de la nube llamado Matriz Programable de Puerta Lógica (FPGA, por sus siglas en inglés), que es un chip reconfigurable utilizado para acelerar tareas complejas. En una configuración típica de la nube, múltiples usuarios se colocan en la misma tarjeta física para ahorrar dinero. Aunque el software garantiza que el Usuario A no pueda leer directamente los archivos del Usuario B, ambos usuarios comparten los mismos chips de memoria físicos fuera del procesador principal. Los investigadores demostraron que un usuario sin privilegios especiales, sin acceso a los datos de la víctima y sin conocimiento de la clave secreta, aún podría recuperar la clave de cifrado completa utilizada por un vecino. Lo lograron midiendo cuidadosamente cuánto tiempo le tomaba a su propia computadora leer desde la memoria mientras el vecino realizaba simultáneamente un cifrado.
El desafío fue mucho más difícil que simplemente escuchar la actividad del vecino. En un caché de computadora estándar, cada fragmento de datos deja su propia huella única, lo que permite a un atacante ver las dieciséis partes de una clave secreta a la vez. Sin embargo, los chips de memoria utilizados en estos servidores de la nube se comportan de manera diferente. Tienen una limitación estructural donde cada sección de memoria solo puede recordar el último elemento que abrió. Cuando una víctima cifra un mensaje, busca dieciséis valores diferentes en una fila. Debido a que la sección de memoria solo puede mantener un elemento abierto a la vez, las primeras quince búsquedas son sobrescritas inmediatamente por la decimosexta. Para cuando el atacante intenta escuchar, la evidencia de las primeras quince partes del secreto ha desaparecido, dejando solo la última pieza visible. Esto creó una barría que hizo que las técnicas de hackeo estándar fueran inútiles, ya que el atacante solo podía ver un byte de la clave de dieciséis bytes, lo cual no es suficiente para romper el cifrado.
Para superar esto, los investigadores idearon una estrategia ingeniosa que explotaba el hecho de que el chip de memoria contiene dieciséis secciones independientes, cada una con su propio búfer de memoria. En lugar de intentar escuchar las dieciséis partes en una sola sección, reorganizaron los datos secretos para que cada una de las dieciséis partes de la clave viviera en una sección de memoria diferente. De esta manera, cuando la víctima buscaba los dieciséis valores, abría las dieciséis secciones simultáneamente, y ninguna de ellas sobrescribía a las otras. El atacante construyó entonces una herramienta personalizada que podía verificar rápidamente cada una de las dieciséis secciones para ver cuál seguía abierta. Al repetir este proceso con muchos mensajes de prueba diferentes, el atacante podía reunir suficientes pistas para reconstruir la clave secreta completa. Los investigadores probaron este método en una tarjeta Xilinx Alveo U250, una pieza de hardware común utilizada en centros de datos. Encontraron que, al ejecutar su propio programa junto al programa de cifrado de una víctima, podían recuperar la clave maestra completa en las diecinueve claves probadas, incluso cuando la víctima estaba ejecutando un proceso de cifrado completo de diez rondas.
El éxito de este ataque dependió de dos descubrimientos principales. Primero, los investigadores tuvieron que averiguar exactamente cómo el controlador de memoria decidía qué sección de memoria usar para un dato específico. Este mapeo no es obvio y es diferente para cada tipo de hardware. El equipo realizó ingeniería inversa de este mapa cronometrando cuánto tiempo tomaba acceder a diferentes direcciones, mapeando efectivamente el diseño de la memoria desde el exterior hacia adentro. Segundo, tuvieron que demostrar que la señal que detectaban era real y no solo ruido aleatorio. La diferencia de tiempo entre un acceso exitoso a la memoria y uno fallido era increíblemente pequeña, durando solo unos cuatro ciclos de reloj, o aproximadamente treinta y dos nanosegundos. A pesar de esta señal tan diminuta, los investigadores demostraron que, al promediar los resultados a lo largo de muchos intentos, el patrón se volvía claro. En su prueba más realista, donde el atacante y la víctima ejecutaban programas completamente separados sin ninguna coordinación, el atacante recuperó con éxito la clave completa de una víctima que estaba cifrando datos con un algoritmo de cifrado estándar verificado.
Este trabajo no significa que toda la computación en la nube sea actualmente insegura, pero revela una vulnerabilidad específica en cómo se gestiona el hardware compartido. Los investigadores señalaron que la mayoría de las instancias comerciales de la nube hoy en día son dedicadas a un solo usuario, lo que evita este tipo de ataque. Sin embargo, a medida que la industria avanza hacia un hardware compartido más eficiente para reducir costos, el riesgo aumenta. El estudio destaca que el aislamiento lógico, que mantiene el software separado, no es suficiente para proteger los recursos físicos. Los chips de memoria mismos retienen un historial de lo que fue accedido, y ese historial puede ser leído por un vecino. Los investigadores sugieren varias formas de solucionar esto, como mantener los datos secretos en la memoria rápida y privada dentro del chip en lugar de la memoria externa compartida, o randomizar dónde se almacenan los datos para que las pistas temporales carezcan de sentido. También proponen que los proveedores de la nube podrían monitorear los patrones de acceso a la memoria para detectar cuándo un usuario está intentando espiar a otro.
Las implicaciones de esta investigación se extienden más allá de solo un tipo de cifrado. El método utilizado para robar la clave depende de la forma fundamental en que funciona la memoria, lo que significa que potencialmente podría aplicarse a otros algoritmos de protección de secretos que utilicen tablas de búsqueda similares. Los investigadores enfatizaron que sus hallazgos se basan en experimentos de hardware reales, no en simulaciones por computadora, lo que otorga a los resultados un alto grado de confiabilidad. Probaron el ataque contra cincuenta claves aleatorias diferentes y diecinueve escenarios de cifrado diferentes, y funcionó cada vez. El proceso completo de recuperación de la clave tomó solo segundos una vez completada la configuración inicial, lo que lo convierte en una amenaza práctica para cualquier entorno de la nube futuro que permita a múltiples usuarios compartir la misma memoria física.
En última instancia, este estudio sirve como una advertencia de que el mundo físico del hardware de las computadoras tiene sus propias reglas que el software no siempre puede invalidar. Así como dos personas que comparten una habitación pueden escuchar los pasos del otro incluso si no pueden verlo, dos usuarios que comparten un servidor de la nube podrían ser capaces de escuchar el tiempo de los accesos a la memoria de su vecino. Los investigadores han demostrado que, con suficiente paciencia y las herramientas adecuadas, estos ecos tenues pueden amplificarse en una imagen clara de un secreto. A medida que los proveedores de la nube continúan empaquetando más usuarios en menos chips para mejorar la eficiencia, comprender estos canales laterales físicos será esencial para diseñar sistemas que sean verdaderamente seguros. La solución no reside en construir muros digitales más altos, sino en comprender el comportamiento físico de la memoria debajo de ellos y asegurar que la historia de las acciones de un usuario no pueda ser leída por otro.
¿Ahogado en artículos de tu campo?
Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.