Hay una nueva forma de invertir bits en DRAM y funciona contra las últimas defensas


En 2015, los investigadores informaron de un descubrimiento sorprendente que avivó las preocupaciones de seguridad en toda la industria: un ataque llamado RowHammer que podía corromper, modificar o robar datos confidenciales cuando una simple aplicación a nivel de usuario accedía repetidamente a ciertas regiones de los chips de memoria DDR. En los años siguientes, los fabricantes de chips de memoria se apresuraron a desarrollar defensas que impidieran el ataque, principalmente limitando el número de veces que los programas podían abrir y cerrar las regiones del chip objetivo en un tiempo determinado.

Recientemente, los investigadores idearon un nuevo método para crear los mismos tipos de bitflips inducidos por RowHammer incluso en una generación más nueva de chips, conocida como DDR4, que tienen las mitigaciones de RowHammer integradas. Conocido como RowPress, el nuevo ataque no funciona “golpeando” repetidamente regiones cuidadosamente seleccionadas, sino dejándolas abiertas durante períodos más largos de lo normal. Bitflips se refiere al fenómeno de los bits representados cuando unos cambian a ceros y viceversa.

Amplificando aún más la vulnerabilidad de los chips DDR4 a los ataques de perturbación de lectura (el término genérico para inducir bitflips a través de accesos anormales (es decir, activaciones) a los chips de memoria), los bitflips de RowPress se pueden mejorar combinándolos con accesos de RowHammer. Curiosamente, aumentar la temperatura del chip también intensifica el efecto.

«Demostramos una prueba de concepto del programa RowPress que puede provocar bitflips en un sistema real que ya emplea protecciones contra RowHammer», Onur Mutlu, profesor de ETH Zürich y coautor de un artículo publicado recientemente titulado RowPress: Amplifying Read Disturbance in Chips DRAM modernos, escribió en un correo electrónico. “Tenga en cuenta que esto no es en sí mismo un ataque. Simplemente muestra que los bitflips son posibles y abundantes, lo que fácilmente puede formar la base de un ataque. Como han demostrado muchos trabajos anteriores en seguridad, una vez que puedes inducir un bitflip, puedes usarlo para varios ataques”.

DIMM, bits y rayos cósmicos

El componente básico de la DRAM (memoria dinámica de acceso aleatorio) es una celda de almacenamiento. Cada celda consta de un condensador y un transistor y almacena un solo bit de datos. Cuando se coloca un bit en una celda de memoria, el transistor se usa para cargar o descargar el capacitor. Un condensador cargado se representa con un 1, mientras que un condensador descargado se representa con un 0. Muy a menudo, las celdas DRAM se organizan en una matriz rectangular de filas y columnas.

Diagrama que ilustra la organización jerárquica de un chip DRAM.
Agrandar / Diagrama que ilustra la organización jerárquica de un chip DRAM.

Estas filas y columnas están dispuestas en filas y bancos para formar lo que se conoce como módulo de memoria dual en línea. Más conocido como DIMM, este dispositivo rectangular se conecta a la placa base de la computadora. Cuando una computadora accede a una parte de la memoria, abre las filas de las celdas que almacenan los datos deseados y los transfiere a la CPU.

Foto de un DIMM.
Agrandar / Foto de un DIMM.

Los bitflips se conocen desde hace mucho tiempo como un fenómeno raro que ocurre de forma natural. Ocurren cuando un flujo inesperado de electrones dentro de las puertas de un transistor cambia el voltaje entre la fuente, o la parte del circuito donde se origina el flujo, y el sumidero, donde se recibe el flujo. Durante una elección de 2003 en Bélgica, se cree ampliamente que los rayos cósmicos del espacio exterior causaron bitflips que dieron a un candidato político 4.096 votos adicionales antes de ser corregidos. (El número 4.096, que también se puede expresar como 212sugiere que hubo un bitflip en el bit 12.)

Luego, en 2014, descubrió una forma previamente desconocida de inducir artificialmente bitflips a voluntad. Cuando una computadora golpeó repetidamente una fila de DRAM, descubrieron que podían inducir bitflips en filas adyacentes. En el lenguaje de RowHammer, la fila que recibe el golpe se conoce como fila agresora. La fila donde se invierten los bits se conoce como fila de la víctima.



Source link-49