El data carving (o recuperación por tallado de datos) es una técnica avanzada de informática forense y recuperación de archivos que consiste en extraer y reconstruir datos y ficheros directamente de una imagen de disco o soporte de almacenamiento sin depender de la estructura del sistema de archivos (como la tabla de particiones o la tabla de inodos).
Esta técnica resulta de vital importancia cuando un sistema de archivos ha sido borrado por completo, severamente dañado, formateado por error o sobrescrito de manera parcial, dejando huérfanos bloques de datos válidos que ya no están indexados por el sistema operativo.
¿Cómo funciona el Data Carving?
A diferencia de la recuperación tradicional que consulta metadatos y punteros, el data carving analiza el disco duro sector a sector buscando patrones binarios específicos:
- Cabeceras y pies de archivo (Headers & Footers): La mayoría de los tipos de archivos (como
.jpg,.pdf,.zipo.docx) comienzan y terminan con secuencias de bytes predefinidas y constantes (por ejemplo, los archivos JPEG siempre empiezan con los bytes mágicosFF D8 FF). - Reconstrucción heurística: Al localizar una cabecera, el software de carving asume que todo el flujo de bytes posterior pertenece al mismo archivo hasta encontrar la marca de pie correspondiente o alcanzar un tamaño estimado.
- Ausencia de metadatos: Debido a que el sistema de archivos original suele estar destruido, los archivos recuperados mediante este método suelen perder sus nombres originales, permisos y marcas de tiempo exactas, recuperándose habitualmente con nombres genéricos (ej.
file001.jpg).
Fases y herramientas habituales de Data Carving
| Herramienta / Fase | Descripción de la Utilidad Forense |
|---|---|
| Foremost | Clásico comando en Linux diseñado para recuperar archivos basándose en sus cabeceras, pies y estructuras internas. |
| Scalpel | Una versión optimizada y más ligera de Foremost que permite configurar archivos de búsqueda de firmas personalizadas. |
| Photorec | Potente herramienta de recuperación de datos orientada a ignorar el sistema de archivos y centrarse en las firmas reales de más de 480 extensiones. |
| Validación de Integridad | Fase posterior donde se comprueba si el archivo extraído está completo y no presenta fragmentación física que corrompa su estructura. |
Características principales:
- Es la técnica de último recurso en análisis forense digital cuando la recuperación basada en estructuras de directorios o tablas de particiones es completamente inviable.
- No puede reconstruir eficazmente archivos que estén fragmentados en discos mecánicos tradicionales, ya que el carving asume bloques contiguos de datos (aunque en unidades SSD la fragmentación física funciona diferente, la fragmentación lógica de bloques contiguos sigue afectando).
- Requiere obligatoriamente un espacio de almacenamiento de destino seguro y externo (nunca escribir sobre el disco original analizado) para evitar alterar o sobrescribir las pruebas forenses.
- Permite recuperar ficheros incluso tras múltiples formateos rápidos del disco, siempre y cuando los sectores físicos de los datos originales no hayan sido sobrescritos por nueva información.
- Muchas herramientas modernas de carving analizan el archivo buscando redundancias y estructuras internas complejas para descartar falsos positivos.
Analogía: Imagina una gran trituradora de papel que destruye todos los índices, carpetas, estanterías y ficheros de una oficina, arrojando millones de fragmentos de documentos a una gigantesca piscina. El data carving funciona como un equipo de expertos arqueólogos que, ignorando que existían archivadores o despachos, examinan miles de hojas buscando las cabeceras características y los sellos oficiales de cada tipo de documento para volver a pegarlos y rescatar la información página a página.
Actividad práctica
Objetivo:
Utilizar herramientas de la línea de comandos de Linux para realizar un proceso de data carving sobre una imagen de disco simulada y extraer archivos eliminados.
Tareas:
- Instala la herramienta de recuperación forense basada en firmas Foremost en tu distribución Linux ejecutando:
sudo apt update && sudo apt install foremost - Crea un directorio temporal de salida para almacenar los resultados recuperados:
mkdir ~/recuperados - Ejecuta una operación de carving sobre una imagen forense de prueba (por ejemplo,
imagen_disco.dd) buscando específicamente archivos de imagen JPEG:foremost -t jpg -i imagen_disco.dd -o ~/recuperados/ - Explora el directorio de salida generado y comprueba los ficheros recuperados automáticamente por la herramienta.
Preguntas de reflexión:
- ¿Por qué el data carving es incapaz de recuperar los nombres originales de los archivos eliminados tras un formateo completo?
- ¿Qué es una "cabecera de archivo" (file header) y por qué resulta crítica para el funcionamiento de las herramientas de carving?
- ¿Qué gran limitación operativa sufren las herramientas de data carving cuando intentan recuperar archivos de gran tamaño en unidades mecánicas tradicionales fuertemente fragmentadas?
- ¿Por qué es una norma de oro en informática forense realizar una copia o imagen bit a bit del disco original antes de ejecutar cualquier proceso de carving?
- ¿Qué diferencia conceptual clave existe entre la recuperación de datos mediante el análisis del sistema de archivos y la técnica de data carving?
Haz clic aquí para ver las soluciones y explicaciones
1. ¿Por qué el data carving es incapaz de recuperar los nombres originales de los archivos eliminados tras un formateo completo?
Porque el data carving se basa exclusivamente en buscar patrones de bytes brutos (como cabeceras y pies de archivo) directamente en el espacio de almacenamiento, ignorando por completo la estructura del sistema de archivos. Los nombres de los ficheros, directorios y rutas residen en las tablas de asignación o inodos del sistema de archivos, las cuales son destruidas o sobrescritas durante el proceso de formateo.
2. ¿Qué es una "cabecera de archivo" (file header) y por qué resulta crítica para el funcionamiento de las herramientas de carving?
Una cabecera de archivo (o *magic number*) es una secuencia específica de bytes situada al comienzo de un archivo que identifica de manera unívoca su formato o extensión (por ejemplo, los bytes que reconocen un PDF o un JPG). Es crítica porque las herramientas de carving escanean el disco en busca de estos patrones exactos para determinar dónde empieza un archivo recuperable.
3. ¿Qué gran limitación operativa sufren las herramientas de data carving cuando intentan recuperar archivos de gran tamanho en unidades mecánicas tradicionales fuertemente fragmentadas?
El carving tradicional asume que los bloques de un archivo se encuentran almacenados de forma consecutiva en el disco (desde la cabecera hasta el pie). Si el archivo está fragmentado en múltiples fragmentos dispersos por diferentes sectores del disco, el proceso de carving suele recopilar bloques incorrectos, generando un archivo corrupto o incompleto.
4. ¿Por qué es una norma de oro en informática forense realizar una copia o imagen bit a bit del disco original antes de ejecutar cualquier proceso de carving?
Para preservar la integridad de la evidencia digital y cumplir con la cadena de custodia. Ejecutar programas de análisis, recuperación o escritura directamente sobre el soporte original podría alterar, corromper o sobrescribir datos latentes y huellas forenses valiosas, invalidando legalmente la investigación.
5. ¿Qué diferencia conceptual clave existe entre la recuperación de datos mediante el análisis del sistema de archivos y la técnica de data carving?
El análisis del sistema de archivos depende de las estructuras lógicas organizadas (como la MFT en NTFS o los inodos en ext4) para reconstruir los ficheros utilizando los metadatos existentes. El data carving, en cambio, actúa como un recurso de última instancia que ignora por completo el sistema de archivos y extrae la información analizando la superficie del almacenamiento en busca de firmas binarias puras.