Blogia
ASI

Analisis Forense (introduccion)

/* Bueno, pues aqui dejo un pequeño "paper" que redacte hace no mucho sobre el tema del analisis forense, espero que a alguien le sirva para algo :-) */

Antes de nada, concretemos que es un analisis forense.

Bien, conocemos como analisis forense una serie de estudios llevados a cabo sobre un host determinado despues de que este haya sido atacado, es decir, despues de que alguien haya conseguido romper la seguridad del mismo.

-- ( Objetivos );

Los objetivos del analisis forense son:

1- Determinar o ayudar a determinar el origen e identidad del atacante (en la mayoria de los casos el determinar quien ha atacado el host corre por parte de la policia, aunque un buen analisis forense puede ser de gran ayuda, nos puede dar datos como por ejemplo el nivel de conocimientos del atacante, sus metodos, etc, aunque esto siempre serian puras especulaciones).

2- Securizar el host afectado de modo que tal intruso no vuelva a poder penetrar (con esto me refiero a localizacion de sniffers, backdoors,binarios del sistema troyanizados, etc) y en la mayoria de los casos,que ningun otro intruso pueda volver a entrar (en principio, mediante la vulnerabilidad explotada por el primer intruso).

3- Esclarecer el metodo utilizado por el atacante para penetrar en el host, las acciones llevadas a cabo por el atacante dentro del host una vez realizada la intrusion, y evaluacion detallada de daños.

Podemos incluir un cuarto proposito en el analisis forense, mas bien, llevado a cabo a raiz de tal analisis, que seria la recuperacion de datos en el caso de que el atacante los hubiese intentado eliminar, pero creo que seria algo que se saldria del propio analisis.

-- ( Metodo );

Evidentemente, necesitamos un metodo claro y ordenado para llevar a cabo el analisis forense y no dejar pasar cosas por alto.

He establecido un pequeño metodo "general" a seguir en casi cualquier sistema, no voy a profundizar en ello, pero creo que es una buena referencia:

1- Desconectar la maquina de internet y de cualquier otra red publica:

Elemental, ¿verdad? No sabemos si el intruso ha dejado algun tipo de backdoor en el sistema, y puede ser un riesgo comenzar un analisis mientras el atacante puede estar dentro de la maquina.

2- Auditado del host afectado:

Me parece un buen comienzo realizar una pequeña "auditoria" sobre el host, con el objetivo de detectar fallos de seguridad en el mismo, y hacernos una idea de por donde ha podido penetrar el intruso. Esto nos puede ser de gran ayuda, puesto que podremos delimitar enormemente el marco de posibles metodos llevados a cabo por el intruso, y por supuesto, una de las cosas mas fundamentales, saber por donde diablos ha podido entrar. Hay que decir que no siempre esto es efectivo, el atacante podria haber utilizado un 0day, y si no estamos al corriente del mismo, se nos haria dificil, tambien se las podria haber arreglado de infinidad de modos, haciendo que una auditoria sirviese de poco (al menos nos sirve para concretar que el metodo se escapa de la auditoria, algo es algo ;-).

3- Revisado de logs:

Bien, es cierto que existen muchos y efectivos metodos de borrar las huellas en un sistema, pero nadie nos asegura que el intruso los haya utilizado, y tampoco el exito de los mismos en nuestro caso concreto. Es importante recalcar que se han de revisar los logs tanto del sistema operativo, como de aplicaciones que puedan resultar interesantes: servicios del host, tales como servidor web, servidor ftp, etc. Y evidentemente, de herramientas de monitoreado (si el host contaba con ellas). Si conseguimos encontrar algo en los log's, tendremos mucha ventaja. Para revisar los log's, lo mejor es emplear herramientas como analizadores de log's, las cuales nos facilitaran enormemente la tarea. En el caso de que los log's hubieran sido "limpiados" por el atacante, podriamos recurrir a intentar recuperar esos datos (todos sabemos que un rm -rf no siempre hace que los datos sean irrecuperables), para eso, evidentemente utilizariamos herramientas y medios adecuados.

4- Busqueda de backdoors:

Otra posibilidad, que el intruso haya dejado backdoors a fin de poder volver a ingresar en el sistema cuando le apeteciera, y aunque la vulnerabilidad que uso para penetrar la primera vez, hubiese sido parcheada. Para buscar backdoors, nos tendremos que remitir a herramientas que hagan ese trabajo por nosotros. De todos modos, las backdoors suelen presentarse en forma de:
- Aplicaciones desconocidas, esto es poco usual y chapucero, pero sigue siendo una posibilidad a tener en cuenta.
- Binarios del sistema: estos suelen ser troyanizados mediante aplicaciones, a modo de "camuflaje" dentro del host.
Existen otras formas de camuflaje, hay que recordar que aqui en gran parte lo que cuenta es la imaginacion del atacante para camuflar el
backdoor. De todas formas, en el caso de que ninguna herramienta hubiese localizado nada, una posibilidad (sin recurrir al formateo) seria poner la maquina en red de nuevo, y esperar a que el intruso intentase acceder por esa backdoor, en ese momento, tendriamos que tener loggeado al milimetro todo el sistema, y la red, lo cual nos daria bastantes pistas sobre la localizacion del backdoor para su posterior eliminado. Otra alternativa, como decia antes, es salvar en copias de seguridad los datos necesarios (una vez acabado el analisis) y formatear el sistema.

5- Pre-evaluacion:

Aqui tocaria evaluar todo lo demas, principalmente el tipo de host al que nos enfrentamos, todo el contexto en el cual se produjo el asalto al host (hay que recordar que el contexto es muy importante, nos puede decir si el atacante ha sido un empresario descontento o un kiddie en busca de maquinas para asaltar). Tambien tocaria poner en comun todos los datos anteriormente recogidos, para ir reconstruyendo lo que hizo nuestro amiguito intruso dentro del host. Aqui tambien entraria un poco la evaluacion de los daños causados al sistema.

6- Parcheo:

Ahora tocaria parchear la vulnerabilidad explotada por el intruso, para, logicamente, impedir que una intrusion asi se vuelva a repetir.
Si nuestra auditoria ha dado sus frutos, tambien podemos aprovechar y parchear todos los fallos de seguridad que en principio hubiesemos encontrado, aunque eso, seria algo accesorio. A mi modo de ver, en principio el analisis forense implicaria un poco eso, evitar que futuros intrusos pudieran aprovechar las vulnerabilidades aprovechadas por el primero.

7- Evaluacion final:

Por ultimo, hacer una evaluacion final de todo el ataque, recogiendo todos los detalles e informacion necesaria. La evaluacion final seria el "informe" (dicho asi formalmente) presentado al final. En el recogeriamos:
- Metodos usados por el intruso para la penetracion en el host.
- Condiciones (contexto) en el que fue realizada la intrusion.
- Datos del intruso (si hemos podido obtener alguno, el que sea, todo ayuda).
- Actuacion del intruso una vez dentro del host.
- Evaluacion de daños y perdidas en el sistema.
Principalmente eso, aunque evidentemente podemos recoger mas cosas que nos hayan parecido relevantes.

-- ( Links );

Bueno, quiero aclarar que esto no pretende ser un "HOW-TO" de analisis forense ni nada parecido, simplemente una referencia al tema para orientarnos un poquillo.

A continuacion dejo una serie de URL's que me han parecido bastante interesantes al respecto, donde si se explica detalladamente como llevar a cabo un analisis forense, las herramientas adecuadas, etc etc.

- http://his.sourceforge.net/trad/honeynet/papers/forensics/
Un paper sobre analisis forense en sistemas GNU/Linux muy interesante, y por supuesto en castellano, forma parte del proyecto honeynet.

- http://www.debian.org/doc/manuals/securing-debian-howto/ch10.es.html
Capitulo del manual de seguridad de debian donde habla un poco del analisis forense (muy por encima) orientado particularmente a esta distribucion de linux. Creo que puede venir bastante bien como complemento :-)

- http://www.ausejo.net/seguridad/forense.htm
Otro pequeño documento sobre analisis forense, orientado en general a todos los sistemas, pero se pueden sacar cosillas interesantes para Windows, y de paso, da una buena referencia de herramientas para el analisis forense.

- http://www.hackemate.com.ar/ezines/7a69/7a69-13/7a69_13-art8.txt
http://www.hackemate.com.ar/ezines/7a69/7a69-13/7a69_13-art9.txt
http://www.hackemate.com.ar/ezines/7a69/7a69-13/7a69_13-art10.txt
Mas traducciones sobre el tema de honeynet, por Tahum para la revista 7a69, en principio, estan mas que nada orientadas a la metodologia de un kiddie, pero traen buenas referencias a herramientas y metodos de analisis forense. Bastante interesante. (como no, decir que esta orientado a sistemas GNU/Linux).

Y bueno, con esto no hay mucho mas. Recomendar que todo el tema de los honeypot's esta muy relacionado con el tema del analisis forense, y que el conocer analisis llevados a cabo en honeypot's nos puede aportar mucha ayuda a la hora de tener que realizar nosotros un analisis forense.

-- ( Despedida );

Pues eso es todo, que la cosa no pare, ¡a investigar!

- ASI

0 comentarios