Después de Meltdown, Spectre, Spoiler, ZombieLoad y todo tipo de ataques que afectan a los procesadores, un grupo de investigadores ha desarrollado RAMBleed, un nuevo ataque de canal lateral que afecta a la DRAM, y el cual permite que programas maliciosos instalados en un ordenador puedan leer datos sensibles almacenados en la memoria.
RAMBleed: el nuevo ataque que puede obtener contraseñas de tu memoria RAM
Este ataque, llamado RAMBleed, cuya vulnerabilidad ha sido identificada como CVE-2019-0174, está basado a su vez en Rowhammer, que ya ha tenido otras variantes como RAMpage o Drammer. Rowhammer se conoce desde 2012, y es un fallo a nivel de hardware de los chips DRAM.
Su funcionamiento es relativamente sencillo. Al parecer, si se intenta acceder rápida y continuamente una fila de memoria, es posible hacer que los bits adyacentes se cambien de cero a uno (o viceversa). Con este mecanismo, algunos investigadores han conseguido crear exploits para escalar privilegios simplemente cambiando unos pocos de bits en la memoria del dispositivo vulnerable.
Lo que han hecho los científicos de la Universidad de Michigan, Universidad de Tecnología de Graz y de la Universidad de Adelaida es utilizar ese mecanismo para, en lugar de escribir datos en las filas adyacentes, leer la información que hay en la memoria protegida perteneciente a otros programas y usuarios, incluyendo incluso el propio kernel del sistema operativo.
Afecta tanto a DDR3 como a DDR4, pero es más difícil de llevar a cabo en estas últimas
Por ello, no sólo se consigue romper la integridad de los datos, sino todo tipo de información confidencial. Para conocer el contenido «secreto» que esta procesando la memoria lo único que hay que hacer es lo siguiente:
* Encontrar un bit al que se le pueda dar la vuelta que esté a la misma distancia de un bit secreto.
* Manipular la distribución de la memoria para colocar los datos secretos de la víctima en las filas superiores e inferiores a la que tiene controlada el atacante, de manera que el bit de las filas del atacante se vuelva dependiente de los valores de la fila que tiene los datos secretos.
* Atacar las filas A0 y A2 para inducir el cambio de bits en la fila A1, cuyo valor inicial es 1, de manera que, si se cambia, se sabe que el valor del bit secreto es cero, y así hasta ir adivinando el resto de bits.rambleed ataque openssh
Para demostrar la efectividad del ataque, los investigadores mostraron cómo funcionaba con OpenSSH 7.9 en Linux, donde consiguieron extraer una clave RSA-2048.
Este tipo de vulnerabilidad es realmente grave, ya que ni siquiera la memoria RAM ECC (Error Correcting Code), que puede detectar y corregir bits que se dan la vuelta sin haberlo solicitado, es capaz de prevenir RAMBleed. Y eso que sí evita otros ataques derivados de Rowhammer.
Este ataque afecta tanto a la memoria RAM DDR3 como a DDR4, pero los investigadores recomiendan usar DDR4, ya que éstas cuentan con Targeted Row Refresh (TRR), que hace más difícil que un ataque pueda aprovecharse de la vulnerabilidad.