martes, 28 de junio de 2011

Antiforense

Durante los últimos años he participado en bastantes proyectos de análisis forense informático en casos de incidentes de seguridad. Y hay un tema de conversación que siempre acaba surgiendo con compañeros o con expertos en la materia: Las metodologías forenses clásicas necesitan ser renovadas.

A pesar de que la tecnología informática ha avanzado a pasos agigantados, las técnicas de forense clásico han cambiado poco y en algunos casos no se adaptan al perfil de intruso o delincuente informático actual.


Esto se debe en parte a que la labor de peritaje informático ha sido asumida tradicionalmente por ingenieros no especialistas en seguridad, que desconocen las técnicas de hacking modernas y en algunos casos incluso las técnicas de hacking más básicas o clásicas (old-school hacking).

En la mayoría de peritajes informáticos puede que no sean necesarios estos conocimientos (acoso laboral, trabajadores descontentos, robo de documentos) porque el causante no es un experto en hacking. Pero cuando estamos tratando incidentes en entornos críticos muchas veces nos enfrentamos a expertos en seguridad que saben cómo burlar las medidas de protección básicas y como dificultar el trabajo de análisis forense.

En estos casos las metodologías clásicas son insuficientes y es necesario conocer las técnicas antiforense habituales y saber cómo recuperar las pocas evidencias que pueden ser validas y desechar las que no lo son (o no son fiables).

Las técnicas de ocultación clásicas son entre otras:
• Acceso por red a través de proxys o equipos intermedios.
• Manipulación de logs del equipo para ocultar aquellos registros relativos a la intrusión.
• Uso de puertas traseras para acceder al equipo fácilmente y sin ser detectado.
• Ocultación de estas puertas traseras en servicios legítimos.
• Borrado de herramientas o exploits subidos al sistema.
• Manipulación de los timestamps de ficheros para ocultar la fecha de su modificación.
• Instalación de rootkits para ocultar conexiones, procesos y ficheros sospechosos.
• Uso de herramientas de borrado seguro, que sobre-escriben los datos con basura antes de eliminar el fichero, para dificultar su recuperación.

El grado de sofisticación de estas técnicas depende de la capacidad del intruso, del objetivo real de su ataque y del tiempo que utilice para borrar sus huellas.

En la mayoría de casos la eliminación de evidencias no es completa y normalmente siempre es posible recuperar suficiente información para deducir el impacto real de la intrusión. Por eso las técnicas de ocultación se han ido perfeccionando para intentar reducir el número de evidencias que puedan quedar en el sistema tras un ataque.

Las técnicas modernas suelen incluir:
• Acceso por red solo mediante protocolos cifrados para evitar la detección por parte de sensores NIDS.
• Acceso al sistema mediante exploits que permiten inyectar código en un proceso legitimo para evitar crear nuevos procesos.
• Ejecución directa en memoria de todas las herramientas y exploits para evitar que queden rastros en el sistema de ficheros.
• Uso de puertas traseras minimalistas que realizan modificaciones muy sutiles en el sistema para pasar desapercibidas.
• Instalación de rootkits que funcionan a muy bajo nivel para dificultar su detección.
• En el caso de necesidad inevitable de crear nuevos archivos, se hace en un sistema de ficheros temporal en memoria (por ejemplo con tmpfs) y se vigila que no se produzca su volcado a la swap en disco.

Estas técnicas no son incompatibles con las clásicas y en muchas ocasiones se utilizan de forma combinada.

Para realizar un análisis de equipos atacados utilizando estas técnicas las metodologías forenses deben diseñarse para conservar el mayor número posible de evidencias volátiles. Pasando de un enfoque post-mortem clásico a un enfoque de análisis en vivo pero que contemple la posibilidad de que las herramientas del sistema hayan sido manipuladas.

1 comentario:

  1. Enhorabuena Ramón, interesante artículo. Uno de estos días podías comentar cómo hacer un forense en entornos virtualizados y las diferencias que existen respecto a plataformas físicas. Son sólo ideas... en Hacktimes comentamos hace tiempo una mínima introduccion para VMWARE: http://www.hacktimes.com/introducci_n_al_an_lisis_forense_en_vmware/

    ResponderEliminar