Características y borrado en FAT, NTFS y Ext2Con el conocimiento base de las estructuras y características base de los sistemas de archivo objeto de este documento, procedemos a revisar elementos propios de cada uno de ellos, con el fin de revisar estrategias para recuperación de datos ante borrados o fallas en el momento de generar los archivos. Las técnicas indicadas a continuación no son confiables
ante eliminación física de datos sobre discos magnéticos, dado que se ha sufrido una alteración del medio físico.
Borrado de archivos en FATCuando se elimina una referencia de un archivo de la tabla FAT o lo que comúnmente se
llama borrado de archivos, se efectúan algunas operaciones que detallamos a continuación.
Paso 1: Se lee el sector de boot desde el sector 0 del disco, para localizar las estructuras de FAT, el área de datos y el directorio raíz.
Paso 2: Se localiza el archivo en las entradas del directorio raíz, buscando la que corresponde con el nombre del archivo a borrar.
Paso 3: Se procesa la entrada y se ubica el cluster donde inicia el archivo.
Paso 4: Se utiliza la estruc tura de la FAT para determinar el encadenamiento de clusters para el archivo.
Paso 5: Se actualizan las entradas de la FAT registradas para el archivo en cero.
Paso 6: Finalmente se retira la asignación de la entrada del directorio para el archivo cambiando el primer byte por el valor 0xe5.
Cumplidos los pasos comentados no existe referencia formal en la estructura de la FAT sobre el archivo eliminado. Sin embargo, los datos continúan disponibles en el área de datos, hasta que el sistema operacional, conociendo que es espacio disponible lo utilice para sus labores administrativas, o que cuando se guarde un nuevo archivo éste utilice algunas de las entradas disponibles como las recientemente ajustada a cero.
Borrado de archivos en NTFSEn este sistema de archivos el borrado es una operación más delicada pues implica la modificación de múltiple estructuras del sistema de archivo, dada las características de confiabilidad y seguridad que se implementaron en NTFS. A continuación un resumen de las operaciones que ocurren en el borrado de un archivo en NTFS:
Paso 1: Se lee el primer sector del sistema de archivos y se procesa el sector de boot para determinar el tamaño del cluster, la dirección de inicio de la MFT y el tamaño de las entradas de la MFT.
Paso 2: Se revisa la primera entrada de la tabla MFT, donde se encuentra la referencia a ella misma, la cual es procesada y así determinar la configuración de la MFT, la cual se encuentra en atributo $DATA.
Paso 3: Se procede a buscar en el directorio raíz, a través de dos atributos $INDEX_ROOT e $INDEX_ALLOCATION, hasta encontrar el archivo a eliminar. Allí se actualiza la fecha de último acceso al archivo.
Paso 4: Se procesa el resultado obtenido en la búsqueda para el atributo $INDEX_ROOT y se ubica la dirección dentro de la MFT del archivo.
Paso 5: Se remueve la entrada del índice (que se actualiza con cada nueva entrada en la MFT) y las entradas en el nodo de creación del archivo son removidas y sobre escritas como estaban originalmente (disponibles). Se actualiza las fechas de última escritura, modificación y acceso para el archivo.
Paso 6: Se desasigna la entrada en la MFT, eliminando la bandera de indicación: “en uso”. Así mismo se procesa el atributo $BITMAP del archivo en cuestión y se le asigna el valor 0.
Paso 7: Los atributos no residentes (nombre del archivo, entre otros) de la entrada en la MFT en cuestión son procesados y los correspondientes clusters son configurados con el estado “no asignados” en el atributo $BITMAP del archivo.
Paso 8: En cada uno de los pasos anteriores se ha venido registrando los cambios en el file system journal (característica extendida de registro de acciones sobre el sistema de archivos) en el atributo de la MFT $LogFile.
Como podemos observar el borrado en este sistema de archivos exige un detalle y conocimiento más elaborado para saber cómo se borran los archivos, dónde se efectúan lo recuperaciones de los mismos en el futuro. Nuevamente y consistente con las características de seguridad de NTFS, no posible que existan dos objetos dentro del sistema con el mismo identificador, por lo que el registro de objetos ante el sistema operacional debe obedecer a una sincronización entre los atributos del sistema de archivos y las directivas del sistema operacional.
Borrado de archivos en ExtXEn los sistemas de archivo ExtX, el borrar un archivo exige una serie de pasos que modifican estructuras claves como los i-nodos (conjunto de datos relacionados con el archivo utilizados por el sistema de archivos para conocer las características del mismo),
para mantener consistente la integridad del mencionado sistema. Es importante, aclarar que cuando se borra un archivo en sistemas Ext2, los valores de los i-nodos no desaparecen, luego los apuntadores a los bloques de los datos existen. Caso diferente cuando es Ext3, dado que los apuntadores no permanecen.
Con este contexto inicial, desaparecer un archivo en sistema ExtX se adelanta de lasiguiente manera:
1. Se lee el superbloque (área reservada de 1024 bytes al inicio del sistema de archivos. Copias de esta estructura están típicamente almacenadas en el primer bloque de cada grupo de bloques).
2. Luego, se lee tabla de descriptores de grupo de bloques, ubicados en los bloques 2 y 3 del sistema de archivo. Esta tabla contiene la descripción de cada grupo de bloques (i-nodos y archivos)
3. Se localiza el archivo a eliminar en el directorio raíz y se procesa el i-nodo 2, que generalmente se asocia con el grupo de bloques 0.
4. Seguidamente se ubica en el grupo de bloques, la tabla de I-nodos, para identificar dentro de la estructura de directorios, el bloque que le corresponde al archivo a eliminar.
5. Ahora se lee el contenido del directorio raíz para el número de bloque identificado e identificamos el valor del I- nodo del archivo.
6. Se calcula luego, donde esta ubicado el inodo del archivo, dentro del grupo de bloques.
7. Una vez ubicado el archivo dentro del grupo de bloque, se procede a desasignar y cambiar el estado del I-nodo, lo cual lleva a la actualización del MAC time (Modificación, Acceso y Creación) del archivo. Estos cambios se registran en el sistema de journaling del sistema (si aplica).
8. Finalmente se desaginan los bloques ocupados por el archivo, actualizando el bit en el bloque que indica su uso a 0 y el apuntador al bloque en el I-nodo es reiniciado.
Este proceso de borrado de archivos en sistemas ExtX, requiere un conocimiento detallado del direccionamiento directo, indirecto y doblemente indirecto que maneja el sistema de archivos de Linux, como se ilustra en la siguiente gráfica .

En este sentido la recuperación de archivos en sistema ExtX, no se puede limitar a la reconstrucción de la tabla de inodos o ubicación de bloques, sino que requiere en muchas ocasiones recurrir a técnicas como el carving (“escarbar”) dentro de datos ubicados en los bloques, reconociendo que existen los direccionamientos directos en indirectos que deben ser reconstruidos para conocer la ubicación exacta del archivo a recuperar.
Recomendaciones finalesComo hemos podido observar en este breve documento, tratando de evitar al máximo terminología técnica (cuando es posible), el conocer la manera como se borran los archivos, nos puede ilustrar la manera de recuperarlos. Sería pretencioso decir que con estas líneas estamos en capacidad de recuperar información que se comprometa en los sistemas de archivo revisados, pero lo que podemos afirmar es que, se establece un marco general de comprensión de la dinámica propia de los sistemas de archivo generalmente utilizados. Los sistemas de archivo son la parte central del almacenamiento de los datos y por tanto deberían ser estudiados como parte integral de la formación de los ingenieros en las áreas de tecnologías de información y por los administradores de los sistemas. Cuando se conocen las características propias de los sistemas de archivos se puede tener mayor
capacidad de análisis y diagnóstico de la recuperación de los datos, de lo contrario estamos supeditados a lo que exista en los archivos de respaldo, si existen.
Cuando se presente una corrupción de datos en su sistema de archivo revise algunos
aspectos propios de la dinámica de los sistemas de archivos:
1. Integridad de la tabla de referencia general de archivos (FAT, MFT, Inodos)
2. Estado de los apuntadores a los datos físicos en el disco
3. Los archivos de metadatos disponibles y activos en el sistema de archivos.
4. Parámetros del sistema operacional en cuanto al uso de memoria física y utilización
de bloques no asignados en el tiempo.Los sistemas de archivo son los depositarios de la esencia misma de las organizaciones del siglo XXI: la información, sin ella o su adecuada custodia, éstas afrontarán grandes retos para mantener una operación coherente y confiable. Por tanto, conocer y analizar los sistemas de archivo si bien es una tarea eminentemente técnica, es preciso valorarla en el contexto organizacional como una práctica estratégica del área de tecnologías de información para proteger y custodiar los registros que dan cuenta de las estrategias y acciones de las organizaciones.
5. Versión del sistema de archivos y las limitaciones propias en el almacenamiento de
grandes volúmenes de archivos.
Datos del Autor:
Jeimy J. Cano M., Ph.D
Ingeniero de Sistemas y Computación, Universidad de los Andes. Magíster en Ingeniería de Sistemas y Computación, Universidad de los Andes. Doctor of Philosophy (Ph.D) in Business Administration, Newport University. Profesional certificado en Computer Forensic Analysis (CFA) del World Institute for Security Enhacement, USA. Profesional certificado como Certified Fraud Examiner (CFE) por la Association of Certified Fraud Examiners, USA. Conferencista, profesor universitario e investigador independiente en Seguridad Informática a nivel nacional e internacional.