
Hace pocos dias se dio a conocer informacion por parte de equipo de investigadores sobre el desarrollo del primer ataque Rowhammer que ha sido exitosamente dirigido a la memoria de vídeo GDDR6 de una GPU, específicamente una NVIDIA A6000.
La técnica, bautizada como GPUHammer, permite manipular bits individuales en la DRAM de la GPU, logrando degradar drásticamente la precisión de modelos de aprendizaje automático al alterar apenas un bit de sus parámetros. Estos cambios de bit permiten a un usuario malintencionado de GPU manipular los datos de otro usuario en la GPU en entornos compartidos con intervalos de tiempo.
Hasta ahora, aplicar Rowhammer a memorias de vídeo se consideraba poco práctico debido a varias limitaciones técnicas. La distribución física de las celdas de memoria en chips GDDR es difícil de mapear, las latencias de acceso son hasta cuatro veces más lentas que en DRAM convencional, y las frecuencias de actualización son significativamente más altas. A esto se suman mecanismos propietarios de protección contra pérdidas de carga prematuras, cuya ingeniería inversa requería equipos especializados.
Para sortear estos obstáculos, los investigadores desarrollaron una nueva técnica de ingeniería inversa dirigida a DRAM GDDR. Usando código CUDA de bajo nivel, ejecutaron el ataque mediante optimizaciones específicas que intensifican el acceso a ciertas celdas de memoria, generando condiciones propicias para la alteración de bits. La clave del éxito radicó en lograr una computación paralela altamente organizada, que actuó como amplificador de la presión sobre las celdas adyacentes.
¿Cómo funciona el ataque?
El ataque explota una debilidad física en la DRAM, donde el acceso intensivo a una fila de memoria (conocido como “martilleo”) puede inducir alteraciones en las filas adyacentes. Aunque esta vulnerabilidad fue identificada en 2014 y estudiada extensamente en memorias DDR de CPU, trasladarla a las GPU había sido hasta ahora un desafío debido a:
- La alta latencia de acceso de GDDR6 (hasta 4 veces mayor que DDR4).
- La complejidad en la asignación física de la memoria.
- La presencia de mitigaciones propietarias y poco documentadas, como TRR.
Rowhammer es una vulnerabilidad de hardware en la que la activación rápida de una fila de memoria introduce cambios de bits en las filas adyacentes. Desde 2014, esta vulnerabilidad se ha estudiado ampliamente en CPU y en memorias basadas en CPU como DDR3, DDR4 y LPDDR4. Sin embargo, dado que las cargas de trabajo críticas de IA y aprendizaje automático se ejecutan ahora en GPU discretas en la nube, es fundamental evaluar la vulnerabilidad de las memorias de las GPU a los ataques Rowhammer.
A pesar de estos obstáculos, los investigadores lograron aplicar ingeniería inversa sobre la asignación de memoria virtual/física en CUDA, desarrollaron un método para identificar bancos de memoria DRAM específicos y optimizaron el acceso paralelo utilizando múltiples hilos y warps, maximizando la tasa de activación (hammering) sin causar latencia adicional.
La prueba de concepto mostró cómo una inversión de bit en pesos de modelos de redes neuronales profundas (DNN), específicamente en exponentes FP16 puede degradar la precisión top-1 de modelos de clasificación de imágenes en ImageNet del 80 % al 0,1 %. Este hallazgo es alarmante para centros de datos y servicios en la nube que ejecutan cargas de trabajo de IA en entornos compartidos con GPUs.
Mitigaciones y limitaciones
NVIDIA ha confirmado la vulnerabilidad y recomienda habilitar el soporte ECC (Error-Correcting Code) mediante el comando nvidia-smi -e 1. Si bien esta medida puede corregir errores de un solo bit, implica una pérdida de rendimiento de hasta un 10 % y una reducción del 6,25 % en la memoria disponible. Además, no protege contra futuros ataques con múltiples inversiones de bit.
Confirmamos las fluctuaciones de bits de Rowhammer en las GPU NVIDIA A6000 con memoria GDDR6. Otras GPU GDDR6, como la RTX 3080 , no mostraron fluctuaciones de bits en nuestras pruebas, posiblemente debido a variaciones en el proveedor de DRAM, las características del chip o las condiciones de funcionamiento, como la temperatura. Tampoco observamos fluctuaciones en una GPU A100 con memoria HBM.
El equipo destaca que GPUHammer actualmente solo ha sido verificado en la GPU A6000 con GDDR6, y no en modelos como la A100 (HBM) o RTX 3080. Sin embargo, al tratarse de un ataque extensible, se alienta a otros investigadores a replicar y ampliar el análisis en diferentes arquitecturas y modelos de GPU.
Finalmente si estas interesado en poder conocer mas al respecto, puedes consultar los detalles en el siguiente enlace.
Continúar leyendo...