• Saltar al contenido
  • Saltar a la barra lateral principal
  • Saltar al pie de página
  • Inicio
  • Auditoría
  • Eventos
  • Formación
  • General
  • Malware
  • Vulnerabilidades
  • Un blog de

Una al Día

Boletín de noticias de Seguridad Informática ofrecido por Hispasec

Estás aquí: Inicio / Vulnerabilidades / Rowhammer. Vulnerabilidad física en las memorias DRAM

Rowhammer. Vulnerabilidad física en las memorias DRAM

13 marzo, 2015 Por Hispasec Deja un comentario

Project Zero de Google ha dado a conocer la que puede convertirse en una de las vulnerabilidades más curiosas de los últimos tiempos. En esta ocasión el problema no radica en ningún software, sino en la forma que se fabrican las memorias DRAM más modernas.
El fallo, bautizado como “Rowhammer” es extremadamente curioso. Según la descripción ofrecida es un problema con algunas memorias DRAM modernas por el cual el acceso repetido a una fila de memoria puede provocar cambios de bits (que pasen de 0 a 1 y viceversa) en las filas adyacentes (un proceso llamado “bit flipping“). Sí, como suena, acceder a determinadas direcciones de memoria, puede provocar cambios en las direcciones contiguas.
El aislamiento de la memoria es clave para asegurar un sistema informático. Está claro, el acceso a una dirección de memoria no debe tener efectos colaterales en los datos almacenados en otras direcciones. Sin embargo, la tecnología DRAM cada vez produce memorias con menores dimensiones y mayor capacidad, por esto las células de memoria están cada vez más cercanas una de otra, lo que complica el aislamiento y hace que células DRAM sean más sensibles a interferencias eléctricas e interactúen eléctricamente entre sí.
Se ha conseguido demostrar como la lectura de la misma dirección DRAM, puede corromper los datos en las filas vecinas. La investigación procede de un trabajo universitario publicado el pasado año por la Universidad de Carnegie Mellon e Intel. Un equipo de nueve investigadores ha comprobado este fenómeno en sistemas Intel y AMD mediante un programa que genera múltiples accesos a la memoria DRAM.
En las pruebas realizadas por este equipo de investigación consiguieron provocar errores en la mayoría de los módulos DRAM testados (110 de 129) de tres grandes fabricantes, no se especificaban los nombres de éstos.
Y Google lo lleva a la práctica
Los resultados de la investigación universitaria ya de por sí presentan interesantes revelaciones. Pero todo habría quedado ahí, y en un trabajo para los fabricantes de memoria para evitar este problema, la mejora de los aislamientos entre celdas y en la mejora de estos componentes. Pero lo relevante de la noticia reside en que el equipo de Project Zero ha conseguido explotar deforma efectiva este fallo en dos exploits diferentes para lograr elevar los privilegios en un sistema.
El primero de los exploits consiste en un programa Cliente Nativo (NaCl) (la sandbox de Chrome para ejecutar código C y C++ compilado en el navegador) y consigue elevar sus privilegios para escapar de la sandbox NaCl x86-64, con la posibilidad de efectuar llamadas al sistema operativo directamente. Google ha conseguido mitigar este problema, con CVE asignado CVE-2015-0565, desactivando la instrucción CLFLUSH en la sandbox.
Un segundo exploit se ejecuta como un proceso normal en un Linux x86-64 y consigue elevar sus permisos para conseguir privilegios a nivel kernel para ganar acceso de lectura y escritura a toda la memoria física.
En las pruebas de Google se comprobaron 29 portátiles (x86) fabricados entre 2010 y el pasado año, y provocaron errores en algunos de ellos (todos con DDR3). Aunque al igual que ocurría en el trabajo universitario tampoco se facilitan los nombres ni modelos de los fabricantes de los portátiles.
Como es habitual en las investigaciones de Project Zero de Google todos los programas y exploits desarrollados para las pruebas están disponibles para su análisis.
Soluciones
Las soluciones y/o contramedidas se presentan complicadas. Se trata de un problema en las propias memorias y es complicado de atacar. Aun así se plantean posibles medidas para evitar los cambios de bits inducidos por “rowhammer“, mediante cambios en la DRAM, en los controladores de memoria o en ambos.
Un sistema para evitarlo sería que dado un determinado periodo de refresco no se active cualquierfila demasiadas veces sin comprobar también que las filas vecinas se actualicen.Para ellos se podría incluir una serie de contadores en el controlador de memoriao en la propia DRAMpara el recuento de activaciones.
También se propone la posibilidad de que los fabricantes realicen actualizaciones de las BIOS para mitigar este problema, cambiando la forma en que la BIOS configura el controlador de memoria de la CPU y el aumento de la frecuencia de refresco. Por último otra posibilidad sería emplear los contadores de rendimiento de las CPUs para monitorizar el posible uso de este ataque.
Más información:
Exploiting the DRAM rowhammer bug to gain kernel privileges
http://googleprojectzero.blogspot.com.es/2015/03/exploiting-dram-rowhammer-bug-to-gain.html
Flipping Bits in Memory Without Accessing Them:An Experimental Study of DRAM Disturbance Errors
http://users.ece.cmu.edu/~yoonguk/papers/kim-isca14.pdf
Cliente Nativo
https://developer.chrome.com/native-client

Antonio Ropero
antonior@hispasec.com
Twitter: @aropero

Compártelo:

  • Twitter
  • Facebook
  • LinkedIn
  • Reddit
  • Telegram
  • WhatsApp

Publicaciones relacionadas

Archivado en: Vulnerabilidades

Interacciones del lector

Deja un comentario Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Barra lateral primaria

Buscador

Email Newsletter

Suscríbase y reciba Una al Día en su correo.

  • E-mail
  • Facebook
  • LinkedIn
  • RSS
  • Twitter

Populares de UAD

  • Una nueva familia de malware para MacOs pasa desapercibida al disfrazarse de un ejecutable de Windows
  • 2,7 millones de grabaciones de pacientes suecos expuestas en un servidor web sin contraseña
  • Fuga masiva de datos personales en India: 6.7 millones de usuarios afectados.
  • Un fallo de seguridad en Facebook permite ver fotos privadas de otros usuarios
  • Jailbreak en dispositivos iOS 12

Entradas recientes

  • 2,7 millones de grabaciones de pacientes suecos expuestas en un servidor web sin contraseña
  • Fuga masiva de datos personales en India: 6.7 millones de usuarios afectados.
  • Una nueva familia de malware para MacOs pasa desapercibida al disfrazarse de un ejecutable de Windows
  • Nueva campaña de Phishing contra Facebook
  • Un fallo de seguridad en Facebook permite ver fotos privadas de otros usuarios
  • Secuestro de cuenta en Facebook
  • Elevación de privilegios local en el gestor de paquetes Snapd ‘Dirty Sock’

Footer

Una al Día

Una-al-día nació a raíz de un inocente comentario en un canal IRC hace casi 19 años. A través de los archivos, un lector curioso puede ver cómo ha cambiado (o no) la seguridad de la información desde entonces.

Entradas recientes

  • 2,7 millones de grabaciones de pacientes suecos expuestas en un servidor web sin contraseña
  • Fuga masiva de datos personales en India: 6.7 millones de usuarios afectados.
  • Una nueva familia de malware para MacOs pasa desapercibida al disfrazarse de un ejecutable de Windows
  • Nueva campaña de Phishing contra Facebook
  • Un fallo de seguridad en Facebook permite ver fotos privadas de otros usuarios

Etiquetas

Android Apple D-Link Facebook Filtración Google iOS Koodous linux MacOS malware Microsoft Microsoft Edge MongoDB Moodle Mozilla mySQL Nagios Netgear NetWeaver NVIDIA ONTSI OpenOffice OpenSSH OpenSSL Opera Oracle OS X Pharming Phishing Photoshop PHP PostgreSQL Pwn2Own QuickTime ransomware RAT Red Hat safari Squid vulnerabilidad vulnerabilidades vulnerability Windows XSS

Copyright © 2019 · Hispasec

Utilizamos cookies para asegurar que damos la mejor experiencia al usuario en nuestra web. Si sigues utilizando este sitio asumiremos que estás de acuerdo.Vale