PDA

Ver la versión completa : Análisis de memoria RAM. Recogida de evidencias



LUK
14-02-2008, 10:32
El análisis forense en sistemas informáticos, engloba muchos tipos de recogida de información para su posterior tratado. Entre ellos tenemos los siguientes:


Análisis de aplicaciones
Análisis de BBDD
Análisis de ficheros
Análisis de red
Análisis de memoria RAM
Análisis de SWAP, paginación
Análisis de discos físicos
Análisis Mobile
Análisis de impresoras
etc…

En accesos a disco nos podemos encontrar con muchísima información, como pueden ser documentos, información relevante al usuario en aspectos de navegación, passwords, logs de aplicaciones, logs de seguimiento, etc…

Pero en análisis forenses se echan de menos los datos que pudiesen contener la memoria RAM. En todo análisis forense se sigue un orden a la hora de recoger información, siempre atendiendo el orden de volatilidad. Un ejemplo de ello lo tenéis en el RFC 3227 (http://www.rfc-archive.org/getrfc.php?rfc=3227) de buenas prácticas a la hora de recoger información.

No voy a entrar en el debate sobre si es complicado o no la recogida de este tipo de información (RAM y derivados), y sobre si es admisible o no en un juicio. Eso se lo vamos a dejar a uno de los monstruos en esto. Juan Luis García (MVP Security) lo explica muy bien en su blog (http://legalidadinformatica.blogspot.com/).

Lo que si veremos es qué podemos encontrarnos en RAM, y como podremos identificar, por ejemplo, aplicaciones maliciosas como rootkits inyectados directamente en memoria, restos de troyanos, direcciones IP, conexiones TCP/UDP registradas en máquina, passwords, etc…, junto con las herramientas que hoy día disponemos.

Puede que a lo mejor no se incluyan este tipo de pruebas en un juicio, pero de seguro nos ayudarán a entender mejor qué había en la máquina, y eso ya de por sí es un adelanto.

En sucesivos post comentaremos las formas de recogida de información de RAM y las posibilidades de cada una de ellas, tanto en su forma como en contenido.

Me voy a centrar básicamente en la recogida de información en base a adquisición de evidencias por software, que aunque menos seguro, la recogida es mucho más fácil y disponible para los usuarios.

Así que empecemos por el principio!

Método I. Realizar un volcado de la RAM accediendo directamente al objeto de la memoria \Device\PhysicalMemory

Algunas aplicaciones pueden utilizar este objeto para acceder a la memoria física. En nuestro caso es el mismo. Necesitamos una herramienta que nos proporcione acceso a este objeto para poder realizar un volcado de la misma. Una herramienta indispensable para este tipo de volcados es utilizar la herramienta dd. Como esta serie de artículos tratan sobre Windows y el análisis de memoria del mismo, utilizaré una versión de esta herramienta, compilada para sistemas Windows y compilada para ser utilizadas en escenarios forense. Un buen conjunto de herramientas forense para la adquisición de evidencias lo tenemos en la página de George Garner, y su nombre es el siguiente. Forensics Acquisition Utilities (http://www.gmgsystemsinc.com/fau/).

http://img249.imageshack.us/img249/1126/ddhu0.th.png (http://img249.imageshack.us/my.php?image=ddhu0.png)

Aunque la imagen resultante podemos extraerla a otro disco duro, lo más correcto sería pasarla a través de la red, a otra ubicación que estuviese aislada de la zona 0.

Si queréis o necesitáis ver los objetos que tiene un sistema operativo Windows, podéis utilizar la herramienta WinObj de Sysinternals (http://www.microsoft.com/technet/sysinternals/systeminformation/winobj.mspx).

La herramienta dd la podemos combinar con NetCat o Crypcat (en su formato cifrado) para pasar la información a través de la red. Las opciones más comunes que se utilizan con la herramienta dd y en su versión para forense son las siguientes:


md5sum.- Calcula la firma digital para dar fe de la integridad de los datos
Log.- Por si queremos guardar un Log de la extracción
verifymd5.- Verificar la integridad de la imagen con el md5 obtenido


Para realizar este tipo de capturas, ya existen aplicaciones que automáticamente recogen este tipo de información. Un ejemplo de ésta herramienta es Helix (http://www.e-fense.com/helix/). Herramienta basada en Knoppix y customizada para su uso en análisis forense, esta herramienta viene con una suite bastante amplia de herramientas para el tratamiento y análisis de información, lo que facilita y mucho las labores de recogida de información. El análisis y tratado de éstos, es otra historia aparte…

http://img249.imageshack.us/img249/8427/helixpy4.th.png (http://img249.imageshack.us/my.php?image=helixpy4.png)

A partir de la versión Windows 2003 SP1, el acceso en modo usuario a este objeto del sistema, ya no es permitido, por lo que este tipo de herramientas ya no nos servirán para realizar volcados de memoria. Si necesitamos realizar un volcado de memoria en sistemas Windows después de la versión 2003 SP1 en adelante (Incluyento a Windows Vista y Windows Server 2008), tendremos que utilizar herramientas comerciales como las KntTools (http://www.gmgsystemsinc.com/knttools/), de GMG Systems, o esperar a la próxima release del LiveCD Helix.

En esta primera parte hemos visto los pasos necesarios para realizar un volcado de la RAM a través de los objetos de Windows. En artículos posteriores veremos otras situaciones que se nos pueden dar y sus posibilidades.

Enlaces:
Device/PhysicalMemory Object (http://technet2.microsoft.com/WindowsServer/en/library/e0f862a3-cf16-4a48-bea5-f2004d12ce351033.mspx?mfr=true)
Forensic RAM Dumping (http://www.ntsecurity.nu/onmymind/2006/2006-06-01.html)

Fuente: http://windowstips.wordpress.com/2008/02/13/analisis-de-memoria-ram-recogida-de-evidencias/