25 oct. 2016

DRAMMER: "machacar" la memoria hasta conseguir Root en Android

Puede que hayáis escuchado hablar de Rowhamer.js - Paper), un agujero de seguridad que muchos describen como "irreparable". Se trata de un fallo encontrado en la forma de trabajar de la memoria y, mediante un ataque por software, se puede explotar un fallo en el hardware.

Antes de empezar a hablar de Rowhammer, tenemos que hablar de la DRAM, RAM Dinámica para los amigos. DRAM es el tipo de memoria temporal -basada en condensadores- que usan nuestros móviles y ordenadores. Estos condensadores tienen dos estados: sin energía es un 0, y con carga de energía es un 1.

Lo genial de la DRAM es que tenemos la tecnología para poner millones de condensadores en un sólo chip. Cuantos más condensadores tengamos en estas filas y columnas, nuestro procesador podrá procesar operaciones más rápido. Pero los condensadores tan juntos tienen un problema: pueden "filtrarse" y transmitir su carga a los condensadores que tiene alrededor, cambiando su estado y corrompiendo la memoria por el camino.

En base a este fallo existe una técnica, llamada Row Hammer, que se dedica a inundar una fila con datos, una y otra y otra vez. Esto hace que la memoria se corrompa, y permite al atacante acceder a partes de la memoria a las que un programa normal y corriente no tiene acceso.

Como bien describe Alex Jean-Pharuns para Motherboard, esta técnica sería como dar portazos en la puerta de un vecino, hasta que la puerta que quieres se abre con las vibraciones. Se trata de un ataque muy bien pensado y complicado, con la desventaja de que resulta complicado de lanzar en el sistema de la víctima.

Pero todo esto se pone aún más interesante cuando investigadores de VUSec (Vrije Universiteit Amsterdam) publican DRAMMER (paper). Hasta ahora, los smartphones no se preocupaban demasiado por Rowhammer: el ataque requiere la presencia de componentes de memoria avanzados, los cuales no están todavía presentes en nuestro móvil. En VUSec encontraron la forma de hacer funcionar Rowhammer en Android.
El video es una prueba de concepto, y nos muestra cómo se usa Drammer para conseguir acceso root a un Nexus 5 actualizado. En el segundo 0:15 empieza a bombardear la memoria, en el 0:30 comienza a escribir en la memoria, y en el 0:50 consigue el acceso root.

Este código puede ser combinado con otras vulnerabilidades conocidas -como Stagefright y BAndroid- para conseguir objetivos más ambiciosos. Por suerte -o por desgracia-, no es tan sencillo. El equipo ha conseguido ejecutar esta vulnerabilidad con éxito en diferentes teléfonos, pero no todas las remesas de un mismo teléfono son siquiera vulnerables.

Por ejemplo, respecto al Nexus 5, 12 de 15 cayeron ante el ataque. Sólo 1 de 2 Galaxy S5 fueron vulnerables. Estas "excepciones" pueden deberse a que no todos los teléfonos de una misma marca están hechos con los mismos chips: algunas remesas pueden cambiar de proveedores en su fabricación, y algunos de estos fabricantes podrían haber construído chips más resistentes a estos ataques.
Los investigadores esperan publicar una aplicación en Google Play (APK) que, instalada, averigue si nuestro dispositivo está afectado. Todos los datos serán recogidos de forma anónima para construir una base de dispositivos afectados.

Al ser un fallo en el hardware, no se puede lanzar un parche que lo arregle rápidamente. No se puede sacar un parche de seguridad mensual y decir "problema solucionado", no es tan sencillo. Respecto a los dispositivos afectados en este caso no se espera que se publique listados estáticos ya que hay dispositivos que aún siendo el mismo modelo podrían tener distintos componentes y por lo tanto unos podrían ser vulnerables y otros no.

Google, por la parte de escritorio, actualizó Chrome en 2015 con muchos cambios que evitaban la posibilidad de explotar esto. Por la parte de Android es más complicado. La actualización de seguridad de noviembre incluirá mejoras para mitigarlo, pero Google sigue trabajando en una solución definitiva a largo plazo.

Los investigadores del estudio de Drammer confían en que su trabajo ayude a solucionar este problema más rápido, "a pesar de la respuesta relativamente lenta de los fabricantentes".

Los investigadores desarrollaron Hammertime, un simulador de código abierto de Rowhammer, para fomentar una mayor investigación. El simulador permite a los investigadores y profesionales poder simular el hardware, el uso de patrones de bits (o flip fliptables) a partir de un gran conjunto de chips de DRAM.

Fuente: El Androide Libre

0 comentarios:

Publicar un comentario

Gracias por dejar un comentario en Segu-Info
Si vas a dejar una consulta, procura tener habilitado tu perfil en Blogger o deja una forma de contacto.

Gracias por comentar!