Nethammer explota un bug DRAM con Rowhammer a través de solicitudes de red

18/05/2018

La última semana se reportó el primer ataque remoto de Rowhammer basado en la red, apodado Throwhammer, que involucra la explotación de una conocida vulnerabilidad en la DRAM a través de las tarjetas de red usando canales de acceso remoto directo a memoria (RDMA).

Sin embargo, otro equipo de investigadores de seguridad ha demostrado una segunda técnica remota de Rowhammer basada en red que puede ser usada para atacar sistemas, sirviéndose de la memoria sin caché o funciones de vaciado mientras se procesan las solicitudes.

La investigación estuvo a cargo de los investigadores que descubrieron las vulnerabilidades de los CPU de Intel, Meldown y Spectre, que son independientes de los investigadores de Amsterdam, quienes presentaron una serie de ataques de Rowhammer, incluyendo Throwhammer publicado la última semana.

Si no estás enterado, Rowhamer es un error crítico con la reciente generación de chips de memorias de acceso aleatorio dinámicas (DRAM) en el que acceder a un registro de memoria repetidamente puede causar “bit flipping” en un registro adyacente, permitiendo a los atacantes cambiar el contenido de la memoria.

El error ha sido explotado de varias formas para escalar privilegios a nivel de kernel y lograr la ejecución remota de código en los sistemas vulnerables, pero el atacante necesita acceso a la máquina de la víctima.

Sin embargo, la nueva técnica de ataque de Rowhammer, apodada Nethammer, puede ser usada para ejecutar código arbitrario en el sistema objetivo escribiendo rápidamente y reescribiendo la memoria usada para el procesamiento de paquetes, lo que sería posible solo con una rápida conexión de red entre el atacante y la víctima.

Esto causa un alto número de accesos a memoria al mismo conjunto de localidades de memoria, que eventualmente induce errores de perturbación en la DRAM y causa corrupción de la memoria por el volcado no intencional del valor de bit de la DRAM.

El resultado de la corrupción de datos puede ser manipulado por el atacante para ganar control sobre el sistema de la víctima.

“Para llevar a cabo el ataque Rowhammer, los accesos de memoria deben ser realizados directamente por la memoria principal. Por lo tanto un atacante necesita asegurarse que los datos no son almacenados en la caché”, dice el documento del investigador [PDF].

Debido a que el almacenamiento en caché dificulta el ataque, los investigadores desarrollaron formas que permiten saltar la caché y atacar directamente la DRAM para causar los conflictos de registros en las llamadas de memoria requeridas para el ataque Rowhammer.

Los investigadores probaron Nethammer con tres técnicas para saltar la caché:

  • Un controlador de kernel que borra (y recarga) una dirección cada vez que un paquete es recibido.
  • CPUs Intel Xeon con Intel CAT para un rápido borrado de caché.
  • Memoria sin caché en un dispositivo móvil basado en ARM.

Los tres escenarios son posibles, mostraron los investigadores.

En su configuración experimental, los investigadores fueron exitosamente capaces de provocar un bit flip cada 350 ms por el envío de una secuencia de paquetes UDP con hasta 500 Mbit/s al sistema objetivo.

Dado que la técnica de ataque Nethammer no requiere de ningún código de ataque en contraste al ataque original Rowhammer, por ejemplo, ningún código de ataque controlado por el atacante en el sistema, la mayoría de las contramedidas no previenen este ataque.

Debido a que Rowhammer explota debilidades del hardware de una computadora, no existe software que pueda corregir completamente este problema. Los investigadores creen que la amenaza de Rowhammer no solo es real, sino que además tiene el potencial de causar un gran daño real.

Para profundizar en detalles de la nueva técnica de ataque, puede revisar este documento, titulado “Nethammer Inducing Rowhammer Faults through Network Requests”, publicado por los investigadores a principios de la semana.

Articulos relacionados: