Blacksmith — un nuevo ataque a la memoria DRAM y chips DDR4

Un grupo de investigadores de la Escuela Politécnica Federal de Zúrich, de la Universidad Libre de Ámsterdam y de Qualcomm ha publicado un nuevo método de ataque de la clase RowHammer, que permite modificar el contenido de bits individuales de la memoria dinámica (DRAM). Este ataque ha recibido el nombre en clave Blacksmith y el identificador CVE-2021-42114. Muchos chips DDR4, que cuentan con protección contra métodos previamente conocidos de RowHammer, son vulnerables. Se ha publicado en GitHub un conjunto de herramientas para probar la vulnerabilidad de sus sistemas.

Recordemos que los ataques de la clase RowHammer permiten distorsionar el contenido de bits individuales de la memoria al leer cíclicamente datos de celdas de memoria adyacentes. Dado que la memoria DRAM consiste en una matriz bidimensional de celdas, cada una compuesta por un condensador y un transistor, la lectura continua de una misma área de memoria causa fluctuaciones de voltaje y anomalías que provocan una ligera pérdida de carga en las celdas adyacentes. Si la intensidad de la lectura es alta, la celda adyacente puede perder una cantidad significativa de carga y el siguiente ciclo de regeneración no podrá restaurar su estado original, lo que resultará en un cambio en el valor de los datos almacenados en la celda.

Para protegerse contra RowHammer, los fabricantes de chips han propuesto un mecanismo TRR (Target Row Refresh), que protege contra la distorsión de celdas en filas adyacentes. Sin embargo, dado que la protección se basaba en el principio de "seguridad a través de la oscuridad (security by obscurity)", no resolvía el problema de raíz y solo protegía contra casos específicos conocidos, lo que permitía encontrar fácilmente formas de eludir la protección. Por ejemplo, en mayo, Google propuso el método Half-Double, que no fue afectado por la protección TRR, ya que el ataque involucraba celdas que no estaban directamente adyacentes a la celda objetivo.

El nuevo método Blacksmith ofrece otra forma de eludir la protección TRR, basada en un acceso desigual con diferente frecuencia a dos o más filas agresoras para provocar una pérdida de carga. Para determinar el patrón de acceso a la memoria que conduce a esta pérdida de carga, se ha desarrollado un fuzzer especial que ajusta automáticamente los parámetros de ataque para un chip específico, variando el orden, la intensidad y la sistematicidad del acceso a las celdas.

Un enfoque similar, no relacionado con la influencia en las mismas celdas, hace ineficaces los métodos de protección actuales de TRR, que de una forma u otra se reducen a contar el número de accesos repetidos a las celdas y, al alcanzar ciertos umbrales, iniciar la recarga de celdas vecinas. En Blacksmith, el patrón de acceso se dispersa a varias celdas desde diferentes lados de la objetivo, lo que permite lograr una fuga de carga sin alcanzar los valores umbral.

El método resultó ser significativamente más efectivo que los métodos previamente propuestos para eludir TRR; los investigadores lograron provocar distorsiones de bits en todos los 40 chips de memoria DDR4 recién adquiridos de diferentes fabricantes, incluidos Samsung, Micron, SK Hynix y un fabricante desconocido (no se indicó el fabricante en 4 chips). En comparación, el método TRRespass propuesto anteriormente por los mismos investigadores solo fue efectivo en 13 de los 42 chips probados en ese momento.

En términos generales, se supone que el método Blacksmith es aplicable al 94% de todos los chips DRAM disponibles en el mercado, pero según los investigadores, algunos chips son más vulnerables y más fáciles de atacar que otros. La utilización de códigos de corrección de errores (ECC) en los chips y la duplicación de la frecuencia de actualización de la memoria no garantizan una protección completa, pero complican la explotación. Es notable que el problema no puede ser bloqueado en los chips ya emitidos y requiere la implementación de una nueva protección a nivel de hardware, por lo que el ataque seguirá siendo relevante durante muchos años.

Como ejemplos prácticos, se presentan métodos de uso de Blacksmith para modificar el contenido de las entradas de la tabla de páginas de memoria (PTE, page table entry) para obtener privilegios del núcleo, dañar la clave pública RSA-2048 almacenada en memoria en OpenSSH (se puede proporcionar una clave pública para hacerla coincidir con la clave privada del atacante para conectarse a la VM de la víctima) y eludir la verificación de credenciales mediante la modificación de la memoria del proceso sudo para obtener privilegios root. Dependiendo del chip, cambiar un bit objetivo requiere de 3 segundos a varias horas de ataque. una máquina virtual para conectarse a la VM de la víctima) y eludir la verificación de credenciales mediante la modificación de la memoria del proceso sudo para obtener privilegios root. Dependiendo del chip, cambiar un bit objetivo requiere de 3 segundos a varias horas de ataque.

Reproducir video

También se puede destacar la publicación del framework abierto LiteX Row Hammer Tester para verificar los métodos de protección de memoria contra ataques de la clase RowHammer, desarrollado por Antmicro por encargo de Google. El framework se basa en el uso de FPGA para un control total de los comandos enviados directamente al chip DRAM para excluir la influencia del controlador de memoria. Para interactuar con la FPGA, se ofrece un kit de herramientas en Python. La puerta del FPGA incluye un módulo para la transmisión de datos por lotes (que define patrones de acceso a la memoria), un ejecutor de carga útil, un controlador basado en LiteDRAM (que maneja toda la lógica necesaria para DRAM, incluidos la activación de filas y la actualización de la memoria) y un CPU VexRiscv. Los desarrollos del proyecto se distribuyen bajo la licencia Apache 2.0. Se admite el uso de varias plataformas FPGA, incluidas Lattice ECP5, Xilinx Series 6, 7, UltraScale y UltraScale+.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster