Noticias
Documento técnico de MSAB – Investigación de la memoria RAM en un dispositivo móvil
El nuevo whitepaper de MSAB, escrito por Dave Lauder, explora el valor —a menudo pasado por alto— de la memoria RAM de los dispositivos móviles en las investigaciones digitales. Antes considerada demasiado volátil o inaccesible para ser útil, la RAM puede, de hecho, contener datos efímeros pero cruciales, como entradas del usuario, actividad de aplicaciones e información del sistema, que tal vez nunca se almacenen en otro lugar.
Lee un extracto a continuación y descarga el whitepaper completo para descubrir cómo el análisis de la RAM puede revelar nuevas fuentes de evidencia digital.
Extraer la memoria RAM de un dispositivo móvil suele considerarse algo difícil y poco útil, ya que los métodos tradicionales para hacerlo normalmente implican rootear el dispositivo. Aunque rootear un dispositivo te da acceso a los volcados de RAM, estos no contienen información útil para una investigación, porque el dispositivo se reinicia y cualquier dato relevante ya ha sido sobrescrito.
Este conocimiento se ha vuelto una especie de “verdad establecida”, transmitida de investigadores y analistas experimentados a los nuevos, y plasmada en los procedimientos de recolección de datos. Nadie la cuestiona, porque “así son las cosas”. Pero la tecnología no se detiene, y este tipo de conocimientos debería ponerse en duda de vez en cuando, ya que las cosas cambian. Aun así, extraer la RAM de un dispositivo móvil sigue siendo un proceso complejo, pero las técnicas están mejorando, y este conocimiento establecido se está volviendo obsoleto a medida que los métodos de captura se consolidan.
Dejando de lado por un momento la captura del volcado de RAM, la siguiente pregunta sería: ¿para qué lo querría? En análisis de datos solemos clasificar la información en dos tipos. El primero es el de los datos “en reposo”. Este tipo de datos se encuentra, por lo general, en algún medio de almacenamiento que permite un acceso prolongado para leer, actualizar o crear nueva información. En un dispositivo móvil, esto corresponde al típico sistema de archivos que se obtiene en un volcado estándar del equipo.
Con el paso del tiempo, esto se está volviendo cada vez más inaccesible debido al uso de cifrado y otras técnicas para ocultar datos. Eso también implica que se requiere mucho esfuerzo para descubrir el método de cifrado y las claves, o la técnica de ocultamiento usada para estos datos “en reposo”. Puede ocurrir, por tanto, un desfase entre una actualización de la estructura de datos de una app y la posibilidad de examinarla. Y eso es problemático por dos motivos: el primero es que las apps se actualizan cuando quieren, lo que puede hacer que una estructura de datos exista solo durante un breve intervalo de tiempo.
Un ejemplo de un intervalo corto: Facebook cambió una estructura de datos en una actualización y la volvió a cambiar dos horas después. Si el terminal se hubiera intervenido entre ambas actualizaciones, esa estructura de datos de corta vida existiría en ese dispositivo. ¿La herramienta forense que usas para analizar los datos lo identificaría? El otro problema es que, a veces, existen aplicaciones a medida para comunicarse, de modo que la estructura de datos puede existir únicamente en cinco terminales en todo el mundo.
Si los datos no están “en reposo”, entonces están “en tránsito”. Esto describe datos que se están usando y cambiando activamente y que pueden tener vida útil de solo milisegundos como datos útiles dentro de un dispositivo. Ese suele ser el tipo de datos que encontramos en la RAM. Puede que para la app tengan una vida útil de milisegundos, pero la gestión de memoria del dispositivo puede no reutilizar la zona donde esos datos residen durante un periodo prolongado, por lo que todavía aparecerán en el volcado de RAM.
La app necesita estos datos en un formato bruto, sin cifrar o desofuscado, para poder procesarlos; después los cifra/obfusca de nuevo para almacenarlos “en reposo”. Además, la estructura de esos datos puede ser distinta a la de los datos almacenados en reposo. Un ejemplo es un SMS: en RAM pueden aparecer en formato PDU, pero en reposo se guardan como entradas en una base de datos. La app transforma el formato PDU a su propia estructura para almacenarlo, pero en la memoria de la app pueden convivir ambos tipos de estructura.
Para los datos “en reposo” hay mucha investigación y conocimiento —tanto por parte de los fabricantes de herramientas como dentro de la industria— para resolver los retos de la ofuscación y el cifrado. Algunos analistas acaban creando sus propias herramientas o scripts para resolver problemas muy concretos y poco frecuentes. En el caso de los datos “en tránsito”, el problema siempre ha sido obtener datos para examinar esas estructuras; ahora eso es posible gracias al uso de volcados de RAM.
Descarga el Documento técnico de MSAB – Investigación de la memoria RAM en un dispositivo móvil