¿Dónde está el crimen Watson? ¿Dónde está la fantasía, dónde ese toque de lo outré* sin el cual un problema en sí es como arena y hierba seca? ¿Acaso los hemos perdido para siempre?

Recordemos que en la primera entrega de este artículo explicamos conceptos fundamentales del análisis forense computacional como: evidencia, copia “bit a bit” o imagen, integridad, cadena de custodia y hashes criptográficos. Continuando nuestra cruzada para resolver los crímenes computacionales es importante mencionar el orden de los pasos a seguir en una investigación de este tipo. Si bien existen diferentes metodologías propuestas por organismos como el SANS y el EC-Council en los cursos que ofrecen (GCFA y CHFI, respectivamente), en general las mejores prácticas en la industria se resumen en los siguientes pasos:

  1. Verificación (basado en red o en un equipo en particular).
  2. Descripción del sistema.
  3. Recolección de evidencia (bitácoras, archivos e imágenes)/Llenar la cadena de custodia.
  4. Creación de la línea de tiempo y análisis.
  5. Análisis de la información, dependiendo del tipo de sistema operativo (Linux, Windows, etc.).
  6. Recuperación de información.
  7. Búsqueda de cadenas o palabras clave.
  8. Elaboración del reporte.

 El primer paso, verificación, consta de una reunión inicial con el cliente o víctima para tomar el contexto inicial y recaudar toda la información sobre el caso. En este punto es importante determinar si realmente es viable llevar a cabo una investigación forense tomando en cuenta la naturaleza del crimen y considerando que exista evidencia digital sobre la cual investigar. Esta reunión también nos servirá para recopilar las “palabras sucias” (dirty word list) que serán utilizadas para el análisis de la información. Las “palabras sucias” son palabras clave específicas para cada caso, que sirven para buscar coincidencias con el contenido de la información incluida en la evidencia digital que será obtenida. La descripción de los pormenores del caso nos debe dar la información suficiente para determinar cuál o cuáles equipos y/o dispositivos de almacenamiento externo (como unidades USB) serán analizados.

El proceso de “descripción del sistema” debe permitirnos responder preguntas sobre los equipos que serán analizados, como las siguientes: ¿dónde se adquirió el sistema?, ¿para qué era utilizado?, ¿qué configuración tiene el equipo (sistema operativo, parámetros de red, etc.)? Esta información debe ser plasmada en el documento de “cadena de custodia” para cada equipo.

La “recolección de evidencia” es en donde se obtendrá la imagen forense o “copia bit a bit” de los dispositivos que serán analizados, con su respectiva verificación de integridad mediante la utilización de un hash criptográfico. Existen diferentes herramientas para realizar la copia bit a bit, una de las más utilizadas y, mejor aún, gratuita, es DD. En su momento trataremos con profundidad la operación de esta poderosa herramienta.

El paso 4 menciona la “creación de la línea de tiempo y análisis”. Una línea de tiempo es ordenar todos los archivos que se encuentren en una imagen (o copia bit a bit) tomando como referencia sus tiempos de modificación, acceso y creación (también conocidos como MAC times).

Dependiendo del sistema operativo (Linux, Windows, Solaris, MAC OS, etc.) estos tiempos pueden tener diferente significado, pero en general el tiempo de modificación describe cuándo fue la última vez que cambió el contenido del archivo, el tiempo de acceso describe cuándo fue la última vez que el archivo fue abierto para su lectura, el tiempo de creación en sistemas Windows se refiere al tiempo en que se creó por primera vez el archivo; en sistemas Unix en realidad se llama change time o tiempo de cambio y se refiere a la última vez que se modificó la metadata de un archivo. Metadata, como lo veremos más adelante con mayor detalle, se refiere a los parámetros que contienen información sobre el archivo, como pueden ser el nombre, el autor, y los mismos tiempos MAC, entre otros.

Una vez ordenados los archivos por sus tiempos MAC, el investigador debe enfocarse en revisar los archivos que fueron modificados, creados, accedidos o cambiados dentro del tiempo en el cual se estima ocurrió el crimen o incidente de seguridad. La línea de tiempo también nos ayudará a responder las siguientes interrogantes: ¿cuándo se instaló el sistema operativo?, ¿cuándo se instalaron las actualizaciones mayores (SP)? y ¿cuándo se utilizó por última vez el sistema?

El análisis de la información es uno de los puntos que requieren explotar al máximo los conocimientos previos del investigador en cuanto a sistemas operativos, aplicaciones y bases de datos, entre otros. Se recomienda que si en un caso en particular se trabajará con aplicaciones o sistemas operativos con los que el investigador no se encuentre familiarizado, se busque ayuda de un experto en la materia para interpretar la información obtenida por el investigador forense. En este punto se examinará la imagen (o imágenes) utilizando las herramientas apropiadas para cada caso. Es importante que el investigador lleve una bitácora donde ANOTE TODAS las acciones seguidas y las conclusiones que se derivaron de cada una de ellas. En el reporte final se debe incluir una descripción del análisis del sistema con todo detalle, así como describir cada herramienta utilizada en este proceso y una breve explicación de porqué fue seleccionada, también se deberá demostrar que las herramientas no modificaron de ninguna forma la evidencia al realizar el análisis. Actualmente existen herramientas comerciales especializadas para el análisis forense, entre las que se encuentran Encase, FTK, X-Way Forensics, Helix, Autopsy, etc.

Algunos ejemplos de análisis de la información son los siguientes:

  • Examinar archivos del sistema para determinar si el sistema operativo o su configuración fueron modificados (rootkits).
  • Examinar archivos del sistema para buscar la existencia de puertas traseras, verificar los archivos setuid y setgid.
  • Examinar los archivos del sistema para buscar cualquier signo de un programa de tipo sniffer instalado.
  • Revisar archivos históricos como el ‘Internet History File’.
  • Revisar el registro del sistema y procesos.
  • Examinar los archivos y procesos que corren al iniciarse el sistema operativo.

 Cada caso marcará la pauta de lo que se deberá analizar en la evidencia recopilada.

Continuando con el paso 6, en esta etapa el investigador deberá realizar la recuperación de la información, esto es, recuperar archivos o información que haya sido borrada o que se encuentre en el “slack” del sistema. El “slack” se refiere al espacio computacional que es desperdiciado por la forma como fragmenta el disco duro el sistema operativo. Describiremos ampliamente el término en otra emisión de este artículo (no desesperen mis queridos Watson, porque hay mucho que aprender y todas las piezas caerán a su debido tiempo). En este punto se debe identificar cuándo fue borrada la información, recuperar los archivos que estén relacionados con el caso y describir en el reporte los métodos utilizados para la recuperación de la información.

En el proceso de “búsqueda de cadenas o palabras clave” el investigador forense computacional deberá examinar la evidencia a bajo nivel (bit por bit) para buscar, en todo el contenido de la imagen, la aparición de dichas palabras y observar el contexto en el que se encuentren para determinar si tienen relación con el caso. Es importante cuidar que en la lista de “palabras clave” no se consideren palabras de uso muy común o coloquial, ya que en el contenido de un disco duro podrían aparecer miles o millones de coincidencias, lo cual haría imposible analizar cada una de ellas.

Por último, la parte que más nos desagrada a las personas técnicas, pero sin la cual todo el esfuerzo realizado en los pasos anteriores no habría servido de nada: la elaboración del reporte.  El cliente o víctima espera de nosotros, los investigadores forenses computacionales, un reporte en el que se describan de forma clara y concisa los descubrimientos y conclusiones de la investigación. El reporte deberá responder las siguientes preguntas: ¿qué información pudo ser obtenida del tema investigado?, ¿qué evidencia apoya la hipótesis (inculpatoria)?, ¿qué evidencia es contraria a la hipótesis (exculpatoria)?

Recordemos que en aquellos casos en los que se procederá por la vía legal, el reporte puede ser utilizado en la corte y será examinado y criticado duramente por la parte contraria. Por esta razón, el reporte no debe dejar lugar a dudas de que todo el trabajo realizado durante la investigación siguió la metodología adecuada y en ningún momento se altero la integridad de la evidencia analizada.

De la metodología anterior, se derivan los siguientes principios que todo buen investigador forense computacional debe siempre tener en mente:

Cuatro principios forenses = ¡Éxito!

  1. Minimizar la pérdida de información.
  2. Anotar TODO.
  3. Analizar toda la información recolectada.
  4. Reportar los descubrimientos.

Recuerden bien, queridos Watsons, la metodología y los principios de análisis forense descritos anteriormente, ya que ellos serán nuestras armas más poderosas para resolver el misterio. ¡Hasta la próxima!

Continuará…

[email protected]


* Francés: exagerado.