“No has aplicado mis preceptos, dijo él, ¿cuántas veces te he dicho que cuando has eliminado lo imposible, lo que queda, no importa que tan improbable sea, debe ser la verdad? Sabemos que él no entró por la puerta, la ventana o la chimenea; también sabemos que no pudo haber estado escondido en el cuarto, ya que no hay donde esconderse. ¿Cuándo entonces entró?[1]

 

En la entrega anterior de esta serie de artículos se explicó la metodología sugerida para realizar un análisis forense computacional. El tercer paso de la metodología consiste en la recolección de la evidencia, en el cual profundizaremos a continuación.

 

Recordemos que 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.

 

Imaginen que el “Banco de los Sueños” los llama para realizar una investigación forense sobre un equipo desde el que se sospecha que se ha cometido un fraude por varios millones de pesos (cualquier parecido con la realidad es mera coincidencia). Una vez que han tenido una junta en la que les explicaron los pormenores del asunto y les proporcionaron las “palabras clave” que utilizarán en la parte de búsqueda de cadenas, el CISO del banco les hace entrega del disco duro del  equipo de cómputo del sospechoso de fraude para que comiencen con su investigación. ¿Y ahora qué sigue?

 

Lo primero es llenar nuestro formato de cadena de custodia con los datos del disco que nos están entregando y solicitar la firma de la persona que nos hace entrega de dicho dispositivo. El disco duro es nuestra evidencia digital y se debe tener un registro de todo el manejo y acciones que se realicen sobre él. Se debe poner una etiqueta al disco para poder identificarlo. Se sugiere estandarizar un formato de etiquetado, por ejemplo: CASO/MES-DIA-AÑO-#evidencia, en donde el número de evidencia se incrementará si se analiza más de un disco duro o dispositivo para el mismo caso.

 

Lo siguiente es crear una copia bit a bit del contenido del disco duro original para posteriormente realizar el análisis sobre la copia y NUNCA sobre la evidencia original. Existen dispositivos que sirven para clonar o copiar discos duros a grandes velocidades, por ejemplo podemos mencionar equipos de las marcas Logicube, Digitalintelligence, Voom, Tableau, etc. Sin embargo, estos equipos pueden resultar bastante costosos y pocas empresas cuentan con ellos. Pero no se preocupen mis queridos Watsons, el no contar con un duplicador forense de alta velocidad no impedirá que continuemos la investigación; únicamente nos tardaremos un poco más en copiar discos de gran capacidad de almacenamiento.

 

Hay varias formas de realizar una copia bit a bit. La que describiremos a continuación utiliza herramientas de software libre que son gratuitas: En primer lugar debemos tener a la mano una copia del disco HELIX (http://www.e-fense.com/), que es un CD “booteable” basado en Ubuntu y que cuenta con muchas herramientas útiles en el análisis forense, además de que no automontará los dispositivos externos, asegurándonos así de que la evidencia no será modificada. Es importante mencionar que se puede hacer la copia utilizando el sistema Windows, sin embargo al conectar el disco original, Windows lo monta en modo “lectura-escritura” y algunos tiempos MAC son modificados, alterando así la evidencia. Existen dispositivos denominados “write blockers” que evitan que se escriba en el disco duro en todo momento, pero, con la metodología descrita a continuación no es necesario contar con dispositivos de este tipo para asegurar que no se modificará el contenido de la evidencia.

 

También necesitaremos otro disco duro para guardar la copia bit a bit de la evidencia original, que puede ser un dispositivo USB de almacenamiento externo de igual o mayor capacidad que el disco duro a copiar. Será necesario limpiar el disco o USB en el que se almacenará la copia, para asegurarnos de que no existe información previa y el medio está limpio. Para esto se utilizan herramientas que realizan “wiping”, esto es, llenan el contenido del medio con “ceros” o “unos”. Hay que etiquetar el disco donde se guardará la copia con un formato parecido al utilizado en la evidencia original, pero agregando la palabra copia-#, donde # corresponde al número de copia.  

 

Así pues, en nuestra estación de trabajo forense iniciamos la maquina corriendo el sistema de HELIX y desde una ventana de terminal ejecutaremos el comando “fdisk –l” (que muestra el mapa de particiones) y anotaremos el nombre que utiliza el disco de nuestra PC, por ejemplo “/dev/hda1”. Posteriormente, conectaremos por USB el disco duro en el que se guardará la copia y volveremos a ejecutar el comando “fdisk –l” y ahora también aparecerá la información del disco duro de adquisición, anotemos el nombre con el que se hace referencia a él en el sistema, por ejemplo: “/dev/sda1”. Se deberá montar el disco de adquisición en modo “lectura-escritura” utilizando los siguientes comandos:

 

forensics# mkdir /mnt/usb Crea el directorio de montaje
forensics# ntfs-3g /dev/sda1 /mnt/usb/ -o force Monta el dispositivo /dev/sda1 en modo lectura-escritura
forensics# cd /mnt/usb Mueve al directorio donde se montó el USB
forensics# ls –la        Verifica que no existan archivos en el disco en el que se copiará la imagen

 

Para evitarle dolores de cabeza innecesarios a los Watsons principiantes, les recomiendo que el disco duro en donde almacenen las copias de la evidencia de preferencia esté formateado como NTFS, ya que este sistema permite almacenar archivos de tamaños muy grandes que son con los que generalmente trabajamos en las copias de discos duros. 

 

Para todo esto será necesario contar con un adaptador de SATA/IDE 5.25”/3.5” a USB y un adaptador de corriente para conectar el disco duro que contiene la evidencia a nuestra estación de trabajo forense para realizar la copia. Este tipo de adaptadores son baratos y es posible adquirirlos por medio de Internet o en tiendas de la calle de República del Salvador en el Centro Histórico de la ciudad de México (ojo: cuando vayan de compras al centro por ninguna razón lleven consigo la evidencia original, ni mucho dinero en la cartera, porque eso puede representar el fin de la investigación o del investigador).

 

Hay que conectar el adaptador de la energía eléctrica al disco duro con la evidencia y, ya que esté encendido, conecten el adaptador SATA/IDE a un puerto USB de la estación forense. Nuevamente ejecuten el comando “fdisk –l” para tomar nota de la etiqueta que se le asigna a este dispositivo, por ejemplo: “/dev/sdb1” así como del tipo de sistema detectado en la/las particiones del disco original (NTFS, FAT32, Extended, etc.).

 

En este punto ya tenemos conectados a la estación de trabajo forense, el disco en donde se guardará la copia en modo “lectura-escritura” y el disco con la evidencia original en modo “sólo lectura”, protegiendo así la integridad de la evidencia. El siguiente paso es copiar la información. Para esto utilizaremos la herramienta “dcfldd” que es una versión mejorada de la herramienta GNU “dd”, con opciones útiles para forense y seguridad.

 

 

La forma de utilizar el comando dcfldd para realizar copias bit a bit es la siguiente:

 

dcfldd if=IFILE of=OFILE [opciones]

 

En donde los archivos de entrada o salida pueden ser dispositivos, archivos, discos físicos o particiones lógicas.

 

Como ejemplos de archivos de entrada (if=ifile) podemos mencionar:

 

Para Linux:

/dev/hda   (primer disco físico IDE)

/dev/hda2  (segunda partición lógica)

/dev/sda    (primer disco físico SCSI)

 

Para Windows:

\\.\PhysicalDrive0  (Primer disco físico)

\\.\D:     (partición lógica D:)

\\.\PhysicalMemory  (memoria física)

 

Como ejemplos de archivos de salida (of=ofile) podemos mencionar:

 

\\hostname\share\imagefile.img    (una carpeta compartida en red)

imagefile.img    (archivo)

/dev/usb   (dispositivo USB)

/dev/hdb  (Segundo disco físico IDE)  

 

 

 

Dentro de las opciones útiles para dcfldd encontramos:

 

bs                      = tamaño de bloque   (fija el tamaño de bloque)

count                 = Num  (Copia únicamente Num bloques del archivo)

skip                   = Num   (no copia los primeros Num bloques del archivo)

conv                  = noerror,sync   (salta las secciones que no se pueden leer)

hashwindow     = num  (toma un hash cada num bytes)

hashwindow     = 0   (crea un hash de md5 del archivo de entrada)

hashlog            = filename  (escribe el hash de md5 resultante al archivo “filename”)

 

 

Es recomendable siempre utilizar la opción “conv=noerror,sync”, ya que si en el disco duro a copiar existen sectores dañados y no se está utilizando esta opción, entonces al llegar al sector dañado el proceso de copia se detendrá y habrá que volver a comenzar. Esto puede ser frustrante sobre todo si llevan un par de horas en el proceso de copia y éste se interrumpe por encontrar sectores dañados.  

 

Continuando con la copia del disco con la evidencia del “Banco de los Sueños”, el comando que utilizaremos para realizar este proceso es el siguiente:

 

forensics# dcfldd if=/dev/sdb1 of=/mnt/usb/01102008-01.img conv=noerror,sync  hashwindow=0 hashlog=/mnt/usb/01102008-01.log

 

En este ejemplo estamos copiando la primera partición lógica (sdb1) del disco con la evidencia; de así requerirlo también podríamos copiar TODO el contenido del disco físico utilizando “sdb” en vez de “sdb1”.

 

Las opciones de “hashwindow=0” y “hashlog=/mnt/usb/01102008-01.log” colectarán el hash de MD5 de la partición sdb1 (archivo de entrada) y servirán para el propósito de verificación de integridad de la evidencia.

 

Ahora a esperar a que se complete el proceso de copia. Una de las bondades de dcfldd con respecto a dd es que proporciona al investigador forense el estado del proceso de copia con la cantidad de información que ha sido transferida y qué tanto falta para terminar la operación. Esto nos permite ir a tomar un pequeño descanso y relajar nuestra mente en preparación para la actividad de análisis de la información, que requerirá de todas nuestras habilidades lógicas e intuitivas.

 

Una vez que el proceso de copia se ha terminado, será necesario verificar la integridad de la imagen utilizando un hash de MD5.  Para esto utilizaremos los siguientes comandos:

forensics# cd  /mnt/usb Nos manda a la ruta donde está guardada la imagen que creamos
forensics# md5sum 01102008-01.img Calcula el hash de MD5 del archivo de imagen
forensics#cat 01102008-01.log Muestra el hash de MD5 del archivo original

 

 

Tenemos que comparar el resultado de estos comandos y verificar que los hashes sean idénticos, así estaremos asegurando que el archivo de imagen sobre el cual trabajaremos para analizar la información es una copia idéntica al disco o partición lógica que contiene la evidencia original.

 

Por último para esta fase, debemos almacenar el disco duro que representa nuestra evidencia original en el cuarto de evidencias, que es un cuarto seguro con acceso físico extremadamente limitado, al que generalmente sólo puede entrar un individuo que es el custodio de las evidencias y que firma el formato de cadena de custodia, reportando los ingresos y salidas de las mismas. También se debe actualizar el formato de cadena de custodia con los datos del nombre de la imagen creada y el hash de MD5 resultante, así como todos los comandos que se utilizaron durante el proceso de adquisición.

 

Estamos ahora listos para analizar la información relativa a la investigación de fraude en el “Banco de los Sueños” sobre el archivo de imagen que generamos y NO sobre la evidencia original. Es bien sabido que la práctica hace al maestro, así que es tiempo de que ustedes, mis queridos Watsons, se pongan a realizar copias bit a bit para estar listos cuando llegue el momento de una investigación real. ¡Hasta la próxima!

Continuará…

[email protected]

[1]Sherlock Holmes en The Sign of the Four, ch. 6 (1890)