Que tan segura es una memoria RAM: Hackear una memoria RAM de un ordenador no es tan difícil como parece. Al parecer la clave está en el fenómeno conocido como “Bit-flipping”, o cambios de bits, que ocurre cuando un bit cambia su valor sin que lo haya hecho el sistema. Y es que, aunque no todo el mundo sea consciente, cambiar el valor de un bit arbitrariamente puede tener consecuencias catastróficas en un sistema, por eso los atacantes buscan conseguirlos haciendo que ejecutemos un código malicioso; por ejemplo, cuando nuestro navegador ejecuta Javascript al abrir una página web.
Para entender cómo este método puede ser tan eficaz hay que tener en cuenta que en un módulo de memoria RAM cualquiera, las celdas de los bits están situadas una al lado de la otra, ordenadas en diferentes hileras que se sitúan unas encima de otras, como recogen desde Omicrono. De esta forma, aunque cada bit es una celda individual, no se encuentra aislado del resto y los cambios que sufre pueden alterar al resto. Para proteger los datos más importantes, los bits en los que se guardan datos clave, normalmente, tendrán una protección especial y el atacante no podrá sobreescribirlos.
Sin embargo, si en vez de eso decide escribir una y otra vez sobre las hileras de bits que se sitúan a ambos lados del “bit principal”, acabaría afectándole y modificando su valor. Este método, llamado “rowhammer”, es uno de los más efectivos, tanto que ha sido utilizado, por ejemplo, por unos investigadores de Google que se sirvieron de este método para demostrar que era posible 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 e, incluso, 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.
Ya en los años 70 se conocía este problema, con las primeras memorias DRAM, por ello los principales fabricantes de la industria prometieron implementar la protección en las memorias DDR3, y mejorar el estándar DDR4 incluyendo medidas que evitasen este tipo de ataques pero no ha sido hasta hace unos años que realmente se ha descubierto el potencial de ataque de este vector. Las memorias DDR3 parecían especialmente susceptibles a sufrir ataques “rowhammer”, y 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.
Sin embargo, un reciente estudio de una empresa estadounidense, 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 de inmediato. De los 12 módulos, en 8 de ellos consiguieron cambiar el valor de un bit arbitrario. Los módulos DDR3 probados también cayeron ante este tipo de ataques, incluso los que contaban con protecciones como ECC. Los investigadores esperan, ahora, que el estudio haya abierto los ojos a los fabricantes y que sigan mejorando la protección de sus chips de memoria, de cara a futuros estándares.