La semana pasada estuvimos preparando un entorno forense para adquirir imágenes de disco. Continuando con la temática, hoy mostraremos cómo realizar la adquisición de las mismas con distintas herramientas, comparando tanto medidas de rendimiento como la información provista por cada una de ellas.
Antes de empezar a comparar las herramientas, recordemos que el proceso se va a realizar utilizando ForLEx, una distribución de Linux en modo Live. De esta forma, no es necesario desconectar el disco a copiar, aunque sí es necesario utilizar otro disco con suficiente espacio para almacenar la imagen. Además, para proteger los datos, el disco de destino estará cifrado con TrueCrypt (hay que tener en cuenta que esto hará que el proceso sea más lento). Entonces, veamos algunas de las herramientas que permiten realizar esta tarea: dc3dd, dcfldd y FTK Imager.
dc3dd
Esta es una modificación de la herramienta de copia bit a bit dd, que incluye ciertas características que facilitan la adquisición de imágenes forenses. A continuación se observa una captura de pantalla luego de la ejecución de la misma:
En la imagen se ha resaltado el comando ejecutado, y las opciones utilizadas son:
- if=/dev/sdb: el disco a copiar. En este caso es un disco de 10 GB.
- hofs=/media/ … /imagen.dd.000: el destino donde guardar la imagen realizada. Podría haberse utilizado la opción of para especificar el destino, pero hofs permite dividir la salida en distintos archivos con una extensión secuencial (imagen.dd.000, imagen.dd.001, etc.) y calcula el hash para cada uno de estos archivos, comparando contra el disco de origen.
- ofsz=500M: el tamaño de cada uno de los archivos en que se dividirá la imagen.
- hash=md5: el algoritmo de verificación a utilizar. Puede ser: md5, sha1, sha256 ó sha512.
- log=/media/ … /imagen.txt: ruta al archivo donde se almacenarán las estadísticas del proceso. Es opcional, ya que esta información también aparece por pantalla.
Durante la ejecución de dc3dd se ofrece una cantidad importante de información al usuario. Así, a medida que el proceso avanza, se puede observar el progreso de la cantidad de bytes copiados, el porcentaje del total, la cantidad de segundos incurridos, y la velocidad instantánea de copiado. Además, se debe destacar que a medida que se realiza la imagen, también se calcula el hash del disco de origen en paralelo. Luego, una vez que termina el proceso de copiar los datos, se calcula el hash para la salida, y se contrasta contra el de origen.
dcfldd
Esta herramienta también está basada en dd, pero se diferencia de dc3dd en que es una bifurcación de dd, no una actualización de la misma. Como consecuencia, dcfldd tiene similitudes con dc3dd, pero su código es distinto, y sus características también. A continuación vemos los resultados de su ejecución para el mismo disco de origen:
Se observa que las opciones son similares a las de dc3dd. Algo distinto es que se ha especificado un archivo donde almacenar el log con los errores durante el proceso, y otro donde almacenar los hash del disco de origen. El cálculo de estos últimos se realiza en paralelo a la copia de datos, y hashwindow indica cada cuántos bytes calcular el hash. Si hashwindow coincide con split, luego la verificación de hash es por comparación directa.
Otro punto a mencionar es que la comparación de los hash de entrada contra los de salida no es realizada en forma automática. Para realizar esta verificación se debe ejecutar otra vez dcfldd con otras opciones, o utilizar otra herramienta como md5sum, como se observa en la siguiente captura:
Por último, cabe destacar que la información que dcfldd muestra por pantalla es muy poca, sin indicadores de progreso a excepción de la cantidad de bytes copiados, y la velocidad de copia es baja: casi la mitad de la velocidad obtenida mediante la utilización de dc3dd.
FTK Imager
A diferencia de las otras dos, esta es una herramienta comercial, pero que se puede utilizar en forma gratuita. A continuación se observa la captura de pantalla:
Entre las opciones vemos que la verificación de los hash puede realizarse, o no. En este caso se ha incluido la opción para que se realice la misma. También vemos que se puede elegir el formato de salida (E01), y que se puede realizar compresión de la imagen.
La información de progreso mostrada es bastante completa, y similar a la que ofrece dc3dd. Además, una vez que el proceso de copia termina, comienza el cálculo de hash de la salida, lo cual se observa en la siguiente imagen:
Nuevamente, se ofrece información detallada, en este caso mayor a la que ofrece dc3dd para esta etapa. Luego, al terminar el cálculo, se realiza la verificación, lo cual se observa en la siguiente imagen:
En resumen, FTK Imager brinda excelente información de progreso, y es fácil de utilizar. Pero la característica fundamental que diferencia a esta herramienta de las otras dos analizadas es la posibilidad de comprimir los archivos de salida. En el caso particular analizado, de un disco de origen de 10 GB se obtuvo una imagen de menos de 4 GB, casi sin reducir la velocidad de copia.
Una vez que se ha obtenido la imagen del disco, podemos ver la misma en cualquier computadora con herramientas de análisis forense. En la siguiente captura de pantalla, abrimos la imagen creada con cualquiera de las tres herramientas con FTK Imager para Windows. Se observa que la imagen tiene un sistema de archivos de Microsoft Windows:
Como conclusión, la herramienta a elegir dependerá de las necesidades del investigador. En general, es recomendable utilizar dc3dd en lugar de dcfldd por la información provista y por la velocidad de copia. En los casos en que sea deseable almacenar varias imágenes de diversas computadoras en un mismo disco, o cuando sea necesario comprimir las imágenes por cuestiones de espacio, FTK Imager es la herramienta más óptima. Asimismo, se debe considerar que la compresión demora el proceso y que FTK Imager no viene preinstalada en muchas distribuciones Live, mientras que dc3dd sí.
Matías Porolli
Especialista de Awareness & Research