Cómo la memoria RAM DDR3 y DDR4 de tu ordenador puede ser hackeada
Rowhammer es un método usado por atacantes para hackear la memoria RAM, y se ha descubierto que es eficiente en memorias DDR3 y DDR4.
21 marzo, 2016 21:12Noticias relacionadas
- 23 años después, los ordenadores Amiga aún reciben nuevos componentes como esta placa base
- Airbus presenta un avión con las alas de un ave de presa, ¿el futuro de la aviación?
- Mira cómo una estación espacial china cae a la Tierra destruyéndose en la reentrada
- Una estación espacial china va a caer a la Tierra, aquí es donde ocurrirá
Hackear la memoria RAM del sistema puede ser más fácil de lo que parecía, pese a los esfuerzos de la industria por evitarlo.
¿Cómo puede un hacker entrar en nuestro sistema usando la memoria RAM de nuestro ordenador o dispositivo? Suena extraño, pero es posible y es uno de los campos en los que los hackers están centrando sus esfuerzos en los últimos meses.
La clave está en un fenómeno conocido como “Bit-flipping”, o cambios de bits, que ocurre cuando un bit cambia el valor que debería tener por otro, sin que lo haya hecho el sistema; es decir, que si tiene un valor de 0, puede cambiar a 1 y viceversa, aunque realmente no debería hacerlo.
Martilleando bits hasta que cambien de valor
Cambiar el valor de un bit arbitrariamente puede tener consecuencias catastróficas en un sistema, y por eso los atacantes buscan conseguirlos con los recursos que obtienen cuando logran que ejecutemos código malicioso; por ejemplo, cuando nuestro navegador ejecuta código Javascript cuando abre una página web.
Uno de los métodos más efectivos se llama “rowhammer”, que consiste en “martillear” un bit constantemente con un valor; en este momento hay que recordar que en un módulo de memoria RAM cualquiera las celdas de los bits están situadas una al lado de la otra, en varias hileras una encima de la otra.
Aunque cada bit es una celda individual, no están en un contenedor completamente aislado del resto, así que los cambios que sufre un bit también pueden alterar al resto por su campo electromagnético. Por ejemplo, en el esquema, si nos centramos en escribir una y otra vez en la hilera de bits en morado, podemos llegar a afectar al valor de las hileras de bits en amarillo.
Normalmente los bits en los que se guarden datos importantes estarán protegidos por el sistema y el atacante no podrá escribir encima de ellos; pero si en vez de eso decide escribir una y otra vez sobre las hileras de bits a ambos lados, puede acabar afectando al bit en cuestión y modificarlo con el valor que el atacante quiere.
Qué puede hacer un atacante al hackear la memoria RAM
Este método se ha demostrado muy efectivo en aplicaciones reales; por ejemplo, unos investigadores de Google demostraron que era posible usar un ataque rowhammer para afectar a los bits que determinan qué permisos puede tener una aplicación.
Con el método rowhammer sería posible crear malware que atacase esos bits ganando acceso a todo el sistema. También sería posible saltarse los sistemas “sandbox” que tienen algunos sistemas operativos y que limitan el espacio de memoria que puede usar una aplicación por motivos de seguridad.
Esto no es algo nuevo, es un problema que se conoce desde los años 70 con las primeras memorias DRAM, pero es en los últimos años cuando realmente se ha descubierto como un vector de ataque potencial para los hackers.
En concreto, las memorias DDR3 parecían especialmente susceptibles a sufrir ataques “rowhammer”, y los principales fabricantes de la industria prometieron mejorar, implementando protecciones en memorias DDR3 existentes, y mejorando el estándar DDR4 incluyendo medidas que eviten este tipo de ataques.
Samsung fue el fabricante que más presumió de memorias DDR4 seguras, gracias a una tecnología llamada TRR (targeted row refresh, refresco dirigido a una hilera), que permite a una hilera de bits soportar mejor un gran número de accesos malignos a hileras contiguas; otras compañías como Micron también adoptaron estas tecnologías.
Los fabricantes subestiman el peligro del hackeo de RAM
Sin embargo, un reciente estudio de una empresa estadounidenese, presentado en la conferencia Semicon China, ha revelado que estas protecciones son inútiles frente a métodos alternativos de “rowhammer”.
En el estudio los investigadores probaron 12 módulos de memoria DDR4 de diferentes fabricantes, y comprobaron que la mayoría sufrió bit-flipping casi inmediatamente. El primer modelo en caer fue uno de Crucial con chips desarrollados por Micron, pero pronto le acompañaron modelos de otras marcas como Geil; de los 12 módulos, en 8 de ellos pudieron cambiar el valor de un bit arbitrario. Sólo los modelos de G.Skill pudieron pasar las pruebas.
Es cierto que los nuevos modelos de memorias DDR4 son capaces de soportar ataques rowhammer tradicionales que se centran en una hilera, pero los investigadores usaron una versión propia en la que enviaban patrones aleatorios de datos a la memoria, en vez de mandar los mismos datos una y otra vez a la hilera que querían afectar.
Además de los módulos DDR4, los módulos DDR3 probados también cayeron ante este tipo de ataques, incluso los que contaban con protecciones como ECC.
Los investigadores esperan que este estudio sirva para que los fabricantes sigan mejorando la protección de sus chips de memoria, de cara a futuros estándares.