¿Por qué cuando recupero los ficheros de un disco duro no obtengo el nombre y fecha del mismo?
¿Por qué algunos ficheros recuperados no se ven enteramente o parecen corruptos?
¿Son todos los programas igual de eficientes a la hora de recuperar ficheros, de qué depende?
Con esta guía se intentará dar respuesta a estas y otras preguntas mediante la aclaración de conceptos básicos sobre recuperación de información en discos duros, ya sea mediante borrado accidental, sistema de ficheros / tabla de particiones corruptas, problemas mecánicos, etc.
Conceptos básicos.
No hay dos situaciones de recuperación de datos iguales. Muchas veces, es posible recuperar completamente los archivos perdidos de un disco, incluyendo los nombres de archivo originales y estructura de carpetas. Otras veces, los archivos y los datos pueden ser recuperados, pero los nombres de archivo, fecha / marcas de tiempo y rutas de las carpetas no. En los peores casos, no hay archivos recuperables en el dispositivo.
La recuperación de datos profesional normalmente requiere años de experiencia y un profundo conocimiento de los matices técnicos de los sistemas de archivos y la física de los discos duros, los cuales además, difieren dependiendo de la tecnología utilizada (IDE, SATA, SAS, SSD,…). En este artículo, vamos a echar un vistazo muy por encima sobre cómo funciona la recuperación de archivos.
Para entender cómo los archivos se pueden recuperar después de un borrado accidental, hay que conocer cómo se almacenan los ficheros en los discos duros u otros dispositivos de bloque. En la familia de entornos Microsoft, las particiones son denominadas “discos lógicos”, a los cuales se les asigna letras de unidad y etiquetas descriptivas opcionales. Por ejemplo, C: (sistema) o D: (Datos).
Cada partición tiene su propio tipo de sistema de archivos, que es algo 100% independiente entre las diferentes particiones que puede albergar un disco físico. Por ejemplo, un disco duro físico para un sistema de Windows puede contener dos discos lógicos con diferentes sistemas de ficheros, por ejemplo uno con sistema de ficheros NTFS y otro FAT32. Si se tiene también sistemas UNIX, la variedad de sistemas de archivos que se puede utilizar es muy numerosa.
La información sobre las particiones en el disco se almacena normalmente en el comienzo de la unidad de disco duro. Esto se conoce generalmente como una “tabla de particiones” o “mapa de particiones.”
Cada partición se se divide en dos partes: Una guarda información sobre el disco (estructura de carpetas, sistema de archivos, etc.) y la otra contiene los datos en si. Esto es así ya que ofrece ventajas de rendimiento, mejoras en la gestión del espacio en disco y fiabilidad.
Los sistemas de ficheros contienen la información sobre los archivos y carpetas mediante registros de ficheros que almacenan los nombres, tamaño, fecha y otra información técnica, son los denominados metadatos. Esta información también incluye las ubicaciones físicas exactas (direcciones) de los datos del archivo en el disco. Esta información, la cual suele estar en forma de tablas / base de datos, suele tener copias de seguridad dentro del mismo disco por si una de ellas se corrompiera. La manera en la que se almacena esa información depende mucho del sistema de ficheros utilizado, no es lo mismo NTFS que ZFS o EXT4 por nombrar alguno.
Por ejemplo, en sistemas de ficheros FAT, esta información se guarda en lo que se denomina una tabla de asignación de archivos (FAT) y en sistemas NTFS se almacena en la tabla maestra de archivos (MFT). Cuando un equipo tiene que leer un archivo, primero busca la información sobre dicho fichero / carpeta archivos (Tipo de archivo, tamaño, permisos, etc). A continuación, se busca la dirección que tiene, donde está físicamente. Una vez obtenida la información, el programa / sistema va al lugar especificado en el disco y lee los datos.
La agrupación de los datos que conforma un fichero juega un papel fundamental a la hora de poder recuperar información. Esta puede ser contigua o fragmentada (no adyacente), siendo el primer caso el más optimo a la hora de recuperar información. Cuando los ficheros se encuentran fragmentados, la información sobre las distintas ubicaciones de las partes que lo componen es contenida en esas tablas mencionadas anteriormente como es de suponer.
En los volúmenes NTFS, la MFT no se encuentra en un sector predefinido y además , este puede variar en el tiempo si hay sectores defectuosos en la ubicación actual de la MFT. Al arrancar, Windows consulta oto tipo de información en su sector de arranque para poder localizar la actual tabla MFT en uso, si esos datos están dañados, la MFT no puede ser localizada y Windows invitará al usuario a formatear la partición.
Consultar MFT desde GNU/linux suponiendo que Windows está en sda2.
ntfsinfo -m /dev/sda2
Qué ficheros se encuentran dentro de los primeros 500 clusters de /dev/sda2.
ntfscluster -c 0-500 /dev/sda2
Obtener la localización de un fichero en una partición NTFS.
ntfscluster -F /Windows/System32/WMALFXGFXDSP.dll /dev/sda2 Dump: /Windows/System32/WMALFXGFXDSP.dll 0x10 - resident 0x30 - resident 0x30 - resident 0x80 - non-resident VCN LCN Length 0 744 341
LCN podemos posteriormente transformarlo a otras unidades de medida (sectores por ejemplo).
Numero de sector: LCN * (#sectors in cluster)
ntfscluster -i /dev/sda2 | grep -i "sectors per cluster" sectors per cluster : 8 #Sector: 8 x 744 = 5952
Por lo tanto, este comando nos muestra el mismo fichero, WMALFXGFXDSP.dll
ntfscluster -s 5952 /dev/sda2 Inode 60246 /Windows/System32/WMALFXGFXDSP.dll/$DATA
Al borrar un archivo, en la inmensa mayoría de casos, realmente no se destruyen los datos del fichero inmediatamente. En lugar de ello, el sistema de archivos hace algunos cambios en la información de las tablas para informar que el archivo se ha eliminado y el espacio físico donde estaba ubicado queda disponible para ser usado. En algunos casos se conservan también todos los metadatos sobre el archivo hasta que se sobrescriban con otros metadatos de un nuevo fichero (Windows). Por el contrario, otros sistemas como Mac OS X destruyen por completo el registro de archivo del fichero eliminado.
Si bien los sistemas operativos y sus sistemas de ficheros varían en el número de metadatos guardados y su trato al eliminar archivos y carpetas, todos los sistemas dejan los datos de archivo reales sin tocar hasta que sea necesario asignar ese espacio a otro nuevo archivo. Esto hace que en algunos casos, ficheros borrados hace mucho tiempo puedan ser recuperados si no se generaron muchos ficheros nuevos en el sistema posteriormente. Hay aplicaciones de borrado seguro como “srm” en sistemas GNU/Linux que permiten borrar de forma 100% segura archivos.
Tabla de sistemas de ficheros y sus metadatos: http://en.wikipedia.org/wiki/Comparison_of_file_systems#Metadata
Se debe tener claro que si los datos del disco se sobrescriben, los datos antiguos desaparecen y ningún programa / método de recuperación de datos podrá recuperarlos. Por eso siempre se recomienda no utilizar un disco del cual se quiera rescatar información eliminada.
Para los archivos que no han sido sobrescritos, hay dos métodos básicos de recuperación de archivos que la gran mayoría de software de recuperación de datos implementa. Uno es usando los metadatos y/o haciendo lo que denominan File carving (Recuperación de archivos en bruto).
A) Recuperación de archivos a través de análisis de la información sobre los archivos y carpetas.
Este es el primer método que un programa de recuperación de archivos intenta realizar. Si la zona de metadatos está accesible se podrán recuperar los archivos junto con su nombre, fecha de creación, etc. El software empieza por tratar de leer y procesar la primera copia de la información sobre los archivos y carpetas (metadatos). En algunos casos (como el borrado accidental de archivos), este es el único método que el software debe realizar con el fin de recuperar los archivos en su totalidad. Si la primera copia de la información sobre los archivos y carpetas está muy dañado, el software escanea el disco para la segunda copia de la información sobre los archivos y carpetas.
Dependiendo del estado de dichas tablas de información, el programa de recuperación podrá regenerar todo el árbol de directorios, parte o en el peor de los casos nada. Por eso muchas veces, a la hora de recuperar archivos con este método se pueden ver ciertos ficheros y carpetas huérfanas.
B) Recuperación de archivos mediante la búsqueda de los tipos de archivos conocidos (Recuperación de archivos en bruto).
Si el primer método no produce resultados satisfactorios, una búsqueda de archivos en bruto se suele llevar a cabo. Este segundo método de recuperación de datos puede recuperar datos de archivos con mayor éxito que el primer, pero no puede reconstruir los nombres de archivo originales, fechas y demás.
Una búsqueda de los tipos de archivos conocidos, o la recuperación de archivos en bruto, funciona analizando el contenido del disco mediante “firmas de archivo”. Patrones comunes que identifican el principio y/o final de un archivo.
Por ejemplo, todos los archivos de imagen png (Portable Network Graphics) comienzan con la cabecera (cadena de texto) “‰ PNG”. Estas firmas se utilizan para reconocer que una porción de datos en el disco pertenece a un determinado tipo de archivo y por lo tanto se puede recuperar. Aunque sin conocer su nombre, fecha de creación, permisos, etc.
Pero no todo es de color de rosas, se da el caso de que algunos tipos de archivos tienen una “cabecera” que les puede identificar, pero no tienen un “final” definido. Tampoco todas las cabeceras son reconocidas por todos las herramientas de recuperación de discos. En casos de software no muy extendido, los peritos forenses deben manualmente identificar dichos patrones manualmente para poder extraer determinados ficheros del sistema.
Resumiendo, si el software de recuperación de datos puede identificar el “principio” y “final” (firma) del archivo, este puede ser fácilmente identificado y recuperado. Para los archivos que no tienen un “fin” de firma de archivo, se presupone que los datos de un archivo terminan al comienzo del siguiente. Para los archivos sin firma, como contenedores de discos cifrados, una búsqueda en bruto no será capaz de verlos, dejando solo la opción de intentarlo manualmente con un editor hexadecimal.
Lógicamente si a esto se le suma que los ficheros pueden estar fragmentados en disco,.. la dificultad de recuperarlo crece exponencialmente. Además, los archivos sin firmas de archivo reconocibles pueden tener largas áreas de “basura” después de una recuperación. Eso explica por qué algunas veces se recuperan ficheros pero estos aparentan estar corruptos.
Además de las complicaciones de archivos fragmentados, una búsqueda de archivos en bruto también puede ofrecer “falsos positivos”. Por ejemplo, la cadena “ID3” (cabecera de ficheros .mp3) puede estar también dentro de un archivo de texto, identificando incorrectamente una parte de texto como el comienzo de un archivo MP3. La calidad del software de recuperación juega también un papel fundamental.
Algunos programas permiten al usuario especificar manualmente conjuntos complejos y avanzados de firmas de archivos de manera personalizada.
El daño causado a un sistema de archivos puede ser impredecible. El estado de los archivos dependerá de la causa que hizo perder los archivos, la salud del disco antes de la falla o pérdida de datos y cualquier acción realizada antes de los intentos de recuperación de datos.
La recuperación de datos no se debe intentar en discos con fallos de hardware. Si usted sospecha que el disco puede estar dañado físicamente, su mejor curso de acción es remitir el caso a un profesional de recuperación de datos con la experiencia y el equipo adecuado. Cualquier intento de manipulación con un disco dañado físicamente pueden causar más pérdida de datos, lo que hace posteriores intentos de recuperación de datos inútiles.
Recomendamos realizar todas las tareas de recuperación de datos de imágenes de los discos reales con el fin de preservar los datos originales en el disco. Esto permite ejecutar múltiples intentos de recuperación de datos sin causar cambios en el disco o correr el riesgo de una mayor pérdida de datos.
La recuperación de ficheros eliminados de un disco duro depende de todos estos factores.
Recuperación de archivos desde un disco duro con metadatos dañados
Si un disco se desmonta de manera inadecuada (debido a un corte de energía o un error del usuario), puede causar daños a parte o la totalidad de los tablas de información. Como se dijo anteriormente, aunque se pierda esa información sobre ubicación, nombre, etc de los datos, estos pueden ser recuperados en la gran mayoría de casos (en bruto).
Recuperación de archivos desde un disco duro reparticionado
Si un disco se reparticiona accidentalmente, el panorama es similar al caso anterior, con una excepción. Cuando se crea una nueva estructura de partición, algunos datos nuevos se escriben en el disco, pero no suelen afectar a los metadatos. Por lo que el sistema de ficheros suele permanecer intacto, incluyendo la información sobre los archivos y carpetas.
Por lo tanto, los programas de recuperación de archivos pueden escanear el disco, encontrar esta información, y recuperar esos archivos y carpetas que no han sido afectados por los nuevos datos de la partición. Una búsqueda adicional para tipos de recuperaciones rara vez es necesaria.
La recuperación de archivos a partir de una partición formateada
El cambio de formato es típicamente más perjudicial que la nueva partición y depende en gran parte del tipo de operación de formateo de disco realizada. Si el formateo fue completo y todos los datos de la partición fueron sobrescritos (generalmente con valor 00 o FF) es imposible recuperar los archivos de la partición. Por suerte lo habitual es realizar un formateo rápido (Por motivos de tiempo).
Un formato rápido hace que algunos o todos de la información sobre los archivos y carpetas sean sobrescritos (metadatos), pero deja los datos de archivos sin tocar. Los programas de recuperación de archivos pueden escanear el disco, encontrar lo que queda del sistema de archivo anterior, y recuperar archivos y carpetas en consecuencia.
Recuperación de archivos desde un disco con un sistema de archivos dañado
Este caso depende en gran medida del daño que tenga el sistema de ficheros. Se seguirá el orden normal, primero búsqueda de metadatos y después recorrer todo el disco en busca de firmas para extraer todo lo que se si es necesario.
Recuperación de archivos cuando los archivos se han movido a través del disco
Si se bloquea el ordenador durante una operación de desfragmentación de disco o al sobrescribir particiones, los resultados pueden ser desastrosos. Este suele ser el peor de los casos para la recuperación de archivos. Aunque la información sobre los archivos y carpetas puede parecer saludable, los metadatos puede señalar direcciones físicas equivocadas para los archivos que estaban en proceso de ser movido.
Por ejemplo, los datos pueden haber sido escritos a una nueva ubicación, pero la información sobre los archivos y carpetas no se hayan actualizado todavía (o al contrario). En estos casos, incluso una búsqueda adicional en bruto puede ser poco efectiva dependiendo de la fragmentación de los ficheros.