Esta publicación continúa una serie de artículos sobre los mecanismos internos de las herramientas de recuperación de datos actuales.
En «Cómo Funciona la Recuperación de Datos«, analizamos cómo las herramientas de recuperación de archivos pueden recuperar archivos eliminados utilizando el sistema de archivos. Pero, ¿qué sucede si el archivo fue eliminado hace mucho tiempo y su registro en el sistema de archivos ya no existe? ¿O qué pasa si el disco fue formateado o reparticionado y el sistema de archivos está vacío o falta? Finalmente, ¿qué ocurre si el sistema de archivos es sobrescrito por otro sistema de archivos (como el utilizado por Linux o Ubuntu si experimentaste con un sistema operativo alternativo)? En este caso, las herramientas de recuperación de archivos tradicionales no podrán recuperar nada.
Para recuperar información en tales situaciones, los fabricantes de herramientas de recuperación de datos inventaron un conjunto de algoritmos llamados ‘carving’ basados en la búsqueda de firmas. A diferencia de los métodos tradicionales de recuperación de archivos que dependen del sistema de archivos, el ‘data carving’ funciona leyendo toda la superficie del disco duro (o escaneando todo el contenido de medios basados en flash). Mientras escanean el disco, los algoritmos de ‘data carving’ buscan firmas características (de ahí el nombre «búsqueda de firmas») que identifican formatos de archivo conocidos. Esto es muy similar a cómo funcionan las herramientas antivirus, escaneando archivos y buscando patrones de código para identificar virus.
Por ejemplo, los archivos ZIP normalmente comienzan con «PK» seguido de datos binarios en un formato predefinido. Al analizar esos datos binarios, un algoritmo de ‘carving’ puede determinar si ese «PK» indica el inicio de un archivo ZIP (si todos los números coinciden), o si es solo un «PK» que fue escrito en un documento como este.
Si se confirma que la firma pertenece al archivo real, el algoritmo comenzará a analizar el encabezado del archivo. Al analizar el encabezado del archivo, el programa de recuperación de datos puede calcular la longitud original del archivo. Sabiendo la dirección inicial del archivo en el disco y conociendo la longitud de ese archivo, la herramienta puede determinar exactamente qué sectores son utilizados por los datos de ese archivo, leerlos y reensamblar el archivo original.
File carving: problemas y desafíos
¿No ves un problema en este enfoque? De hecho, hay al menos dos. Primero, sin el sistema de archivos no hay manera de descubrir el nombre original del archivo. Los archivos recuperados se guardan como «imagen0001.jpg» o «documento012.jpg» en lugar de tener un nombre adecuado. El otro problema tiene que ver con la fragmentación del disco. Si un archivo no está almacenado en un bloque contiguo (lo cual es típico para archivos más grandes), el ‘file carving’ no podrá recuperar el archivo completo.
Para resolver este problema, los desarrolladores combinan la información obtenida del sistema de archivos con los datos descubiertos mediante el uso de algoritmos de ‘file carving’. Este enfoque ofrece lo mejor de ambos mundos: una recuperación confiable completa con nombres de archivo y sin importar el nivel de fragmentación del disco.