GPUHammer: una variante del ataque Rowhammer en la memoria de la GPU

Investigadores de la Universidad de Toronto han presentado el primer ataque de tipo Rowhammer utilizado para distorsionar el contenido de la memoria de vídeo. Se demuestra la capacidad de ejecutar un ataque que resulta en la sustitución de hasta 8 bits de datos en una GPU discreta NVIDIA A6000 con memoria de vídeo GDDR6. Como ejemplo práctico, se muestra cómo dicha distorsión puede utilizarse para interferir con la ejecución de modelos de aprendizaje automático y reducir significativamente (del 80 % al 0.1 %) la precisión de sus resultados modificando el valor de tan solo un bit.

 GPUHammer: una variante del ataque Rowhammer a la memoria de la GPU

Hasta ahora, crear ataques Rowhammer en la memoria de video ha sido difícil debido a la dificultad de determinar la distribución física de la memoria en chips GDDR, las altas latencias de acceso a la memoria (cuatro veces más lentas) y las mayores frecuencias de actualización de la memoria. Además, la investigación se vio obstaculizada por el uso de mecanismos propietarios en los chips GDDR para protegerse contra manipulaciones que provocan una pérdida prematura de carga, cuyo análisis requirió la creación de bancos de pruebas de hardware especiales basados en FPGA.

Para estudiar la memoria de video, los investigadores crearon una nueva técnica de ingeniería inversa de la DRAM GDDR. El ataque en sí utiliza optimizaciones de acceso a memoria para organizar la computación paralela, que se utilizaron como amplificadores de la intensidad de acceso a celdas individuales. Se utilizó código CUDA de bajo nivel para ejecutar el ataque a las GPU NVIDIA.

El código de usuario de CUDA no accede a direcciones de memoria física, pero el controlador de NVIDIA sí asigna memoria virtual a la misma memoria física, lo que los investigadores utilizaron para calcular el desplazamiento de la memoria virtual y determinar la distribución de los bancos de memoria. El reconocimiento de accesos a diferentes bancos de memoria se realizó mediante el análisis de los retrasos, que diferían al acceder al mismo o a diferentes bancos de memoria.

En sistemas que comparten GPU, como servidores Para ejecutar modelos de aprendizaje automático, el ataque permite a un usuario modificar el contenido de la memoria de vídeo de los datos de otro usuario. Como medida de seguridad, NVIDIA recomienda habilitar los códigos de corrección de errores (ECC) mediante el comando "nvidia-smi -e 1" o usar tarjetas gráficas compatibles con On-Die ECC (OD-ECC), como las GeForce RTX 50, RTX PRO, GB200, B200, B100, H100, H200, H20 y GH200.

Según los investigadores, habilitar ECC en sistemas con GPU A6000 resulta en una reducción del 10 % en el rendimiento del modelo de aprendizaje automático y del 6.25 % en la memoria. El kit de herramientas para realizar un ataque y aplicar ingeniería inversa a la distribución de la memoria de vídeo de bajo nivel en sistemas con GPU NVIDIA está publicado en GitHub.

El ataque RowHammer permite distorsionar el contenido de bits individuales de la memoria DRAM mediante la lectura cíclica de datos de las celdas de memoria vecinas. Dado que la memoria DRAM es una matriz bidimensional de celdas, cada una compuesta por un condensador y un transistor, la lectura continua de la misma área de memoria provoca fluctuaciones de voltaje y anomalías, lo que provoca una pequeña pérdida de carga en las celdas vecinas. Si la intensidad de la lectura es alta, la celda vecina puede perder una cantidad de carga tan grande que el siguiente ciclo de actualización no tenga tiempo de restaurar su estado original, lo que provocará un cambio en el valor de los datos almacenados en la celda.

El método de ataque Rowhammer se propuso en 2014, tras lo cual se desató una disputa entre investigadores de seguridad y fabricantes de hardware: los fabricantes de chips de memoria intentaron bloquear la vulnerabilidad, y los investigadores encontraron nuevas formas de sortearla. Por ejemplo, para protegerse contra RowHammer, los fabricantes de chips añadieron el mecanismo TRR (Target Row Refresh), pero resultó que solo bloquea la corrupción de celdas en casos especiales, pero no protege contra todas las variantes de ataque posibles. Se desarrollaron métodos de ataque para chips DDR3, DDR4 y DDR5 en sistemas con procesadores Intel, AMD y ARM. También se encontraron métodos para sortear la corrección de errores ECC, y se propusieron opciones para ejecutar un ataque a través de la red y mediante la ejecución de código JavaScript en el navegador.

Fuente: opennet.ru

Compre alojamiento confiable para sitios con protección DDoS, servidores VPS VDS 🔥 Compra alojamiento web fiable con protección DDoS, servidores VPS VDS | ProHoster