- Il data carving consente di recuperare i file analizzando i dati grezzi senza utilizzare il file system.
- Si basa su firme, intestazioni, piè di pagina e numeri magici per individuare e ricostruire i formati noti.
- Strumenti come Photorec, Foremost o Scalpel implementano queste tecniche con diverse funzionalità.
- I suoi principali limiti, che gli algoritmi di carving intelligenti tentano di superare, sono la frammentazione e la perdita del nome.

Il recupero dati (o recupero file) può sembrare una tecnica esoterica, ma in realtà è una di quelle che salvano la situazione quando tutto sembra perduto: dischi formattati, partizioni cancellate, file system corrotti... eppure è ancora possibile recuperare i file. Non è magia; si tratta di sfruttare la struttura interna dei file e spremere fino all'ultimo byte da un disco, anche se il sistema operativo lo segnala come vuoto.
Cos'è esattamente il data carving?
In breve, il data carving è il processo di estrazione di sequenze di dati (file) da un dataset più ampio senza fare affidamento sulle strutture del file system. Il DFRWS 2006 lo ha definito come l'estrazione di una serie di dati da un dataset più ampio, tipicamente nell'analisi dello spazio non allocato del file system, utilizzando intestazioni e piè di pagina dei file per riconoscere tipi specifici, ignorando completamente il file system.
In termini più semplici: invece di chiedere al file system "Ehi, dov'è questo file?", gli strumenti di estrazione dati leggono il disco come un enorme blocco di byte "nella sua forma grezza " e poi cercano i file in base alle loro firme interne. È l'equivalente digitale di scavare in una discarica alla ricerca di oggetti riconoscibili dalla loro forma, senza avere alcun inventario di ciò che c'era prima.
Questo processo viene solitamente applicato allo spazio non allocato o non localizzato : ovvero quelle aree che il file system contrassegna come libere, ma in cui rimangono ancora tracce di vecchi file. Su dischi gravemente danneggiati, ripartizionati o formattati, è possibile trovarsi a lavorare direttamente sull'intera superficie fisica del dispositivo.
Un dettaglio importante è che il data carving non si limita ai tradizionali dischi rigidi . Si applica anche a SSD, schede SD, unità USB , immagini RAW forensi, dump di memoria e così via. Finché ci sono byte da analizzare, è possibile provare a "estrarre" file da essi.

Recupero classico vs. intaglio dei file
Il recupero dati tradizionale si basa sul fatto che i metadati del file system rimangono attivi . Ad esempio, in NTFS (Windows), FAT, ext4 (Linux), ecc., quando si elimina un file, di solito viene contrassegnata come libera solo la sua voce nella tabella, ma i dati rimangono finché non vengono sovrascritti.
Fintanto che queste strutture esistono, gli strumenti possono leggere le tabelle dei file, seguire i puntatori ai blocchi di dati e ricostruire il file, anche se frammentato. Possono anche distinguere facilmente quali blocchi appartengono a file attivi e quali sono "orfani".
Il problema? Quando si verifica uno qualsiasi di questi scenari, il metodo classico risulta vulnerabile e non è in grado di recuperare nulla di utile :
- Il file è stato eliminato molto tempo fa e il suo record nella tabella dei file è stato riutilizzato.
- Il disco è stato formattato o ripartizionato (ad esempio, installi Linux su un vecchio sistema Windows).
- Le strutture del file system sono danneggiate a causa di danni fisici, malware o errori logici.
- Il file system originale è stato sovrascritto da un altro (esempio tipico: un disco Windows formattato come ext4).
In questi casi, entra in gioco il file carving : bypassa tabelle, inode e MFT e analizza invece lo spazio di archiviazione grezzo del dispositivo alla ricerca di pattern di file noti . È un approccio più "alla cieca", ma incredibilmente utile quando non ci sono altre alternative.
Firme, intestazioni, piè di pagina e numeri magici
La chiave per decodificare i file risiede nel fatto che quasi tutti i tipi di file possiedono firme riconoscibili . Queste firme si trovano solitamente nell'intestazione (all'inizio del file) e talvolta anche nel piè di pagina (alla fine). Inoltre, molti formati memorizzano metadati nei primi byte, come la lunghezza totale del file o altre informazioni strutturali.
Il concetto di numero magico è fondamentale: si tratta di una costante che permette di identificare in modo univoco un tipo di file, indipendentemente dall'estensione assegnata dal sistema operativo. Le estensioni (.jpg, .doc, .zip…) sono utili sia all'utente che al sistema, ma ciò che conta davvero è il contenuto dei primi byte del file.
Ad esempio, le GIF standard iniziano con le stringhe ASCII "GIF87a" o "GIF89a" . In esadecimale, questo si traduce in un'intestazione specifica che qualsiasi strumento può cercare. Nel caso delle GIF, il piè di pagina tipico include il byte 0x3B (";"), anche in questo caso in posizioni ben precise.
Un altro esempio ben noto: un JPEG formattato correttamente inizia con 0xFFD8 e termina con 0xFFD9 . Se apriamo un'immagine con un editor esadecimale, vedremo quella firma all'inizio e quel marcatore alla fine. Nel mezzo, ci sono altri marcatori specifici del formato (segmenti, tabelle di Huffman, ecc.) che ci permettono di convalidarlo.
In Linux, il comando `file` utilizza un database di numeri magici (situato in `/usr/share/file/magic` o nella sua versione compilata, `magic.mgc` ) per identificare il tipo di file effettivo esaminandone i primi byte , non l'estensione. Windows non dispone di un equivalente nativo così potente, ma strumenti come `filever` e utilità di terze parti offrono funzionalità simili.
Come funziona il processo di intaglio dei file passo dopo passo
La logica generale è molto simile nella maggior parte degli strumenti, sebbene ognuno abbia i suoi trucchi. In breve, un processo di incisione di file di solito segue questi passaggi fondamentali :
1. Lettura sequenziale del dispositivo o dell'immagine
Lo strumento legge il contenuto del disco, della partizione o dell'immagine forense in blocchi (ad esempio, da 512 byte Di default, sebbene molti consentano di regolare tale dimensione con parametri come -bQuesti blocchi vengono caricati nella memoria in modo da poter essere analizzati facilmente.
2. Cerca le firme di intestazione e piè di pagina
Sulla base di quei dati in memoria, il programma cerca le firme definite nel tuo file di configurazione (per esempio, foremost.conf (nel caso di Foremost). Ogni voce di configurazione indica:
- Estensione da assegnare al file recuperato (jpg, doc, gif, ecc.).
- Se il confronto del numero magico è distinzione tra maiuscole e minuscole o meno.
- Taglia massima che il file potrebbe avere se non viene trovato alcun piè di pagina.
- I valori dell'intestazione e, facoltativamente, del piè di pagina in esadecimale o ottale.
- Opzioni speciali come INDIETRO o SUCCESSIVO per le varianti di ricerca.
Quando trova un'intestazione valida, lo strumento presume che un file inizi in quel punto e cerca il piè di pagina corrispondente oppure, se il formato lo consente, calcola la lunghezza dalle informazioni incorporate nell'intestazione stessa.
3. Estrazione e riassemblaggio dei dati
Una volta individuati i punti di inizio e fine (o la dimensione stimata), il programma copia tutti i blocchi che fanno parte del file e li scrive in un nuovo file. Nel caso di formati senza un piè di pagina definito ma con una dimensione di intestazione (ad esempio, BMP), questi metadati vengono utilizzati per determinare quanti byte leggere.
4. Validazione dei file recuperati
Gli strumenti più avanzati non si accontentano di recuperare "qualsiasi cosa": applicano validatori specifici del tipo di file per verificare che le strutture interne siano sensate (tabelle, checksum, campi obbligatori, ecc.). Ciò riduce i falsi positivi e aiuta a rilevare file corrotti o incompleti.
5. Organizzazione dei risultati e del report
Normalmente, lo strumento crea un directory di output (per esempio, produzione o quello indicato con -o) e al suo interno genera sottocartelle per estensione: jpg, gif, oleecc. Produce anche un file di controllo, tipo audit.txt, dove è documentato:
- Parametri di esecuzione, ora di inizio e di fine.
- Nome del dispositivo o dell'immagine analizzata.
- Numero di file estratti per tipo.
- Nome di ciascun file recuperato, dimensione e offset all'interno dell'immagine sorgente.
Tipici utensili per intaglio di lime
Nel lavoro quotidiano di recupero dati e analisi forense, vengono utilizzati diversi strumenti specializzati che implementano queste tecniche di sezionamento in modi diversi, con maggiore o minore automazione e capacità di validazione.
Photorec
Photorec è probabilmente uno degli strumenti di intaglio più popolari. È gratuito, open source e multipiattaformaInizialmente progettato per recuperare fotografie, oggi supporta centinaia di tipi di file. Funziona leggendo immagini raw o dispositivi ed estraendo i file da firme note, senza alterare il contenuto originale.
Bisturi
Scalpel è un altro classico nell'ecosistema libero. Permette un configurazione della firma molto dettagliata tramite il suo file di configurazione, che lo rende molto flessibile per gli ambienti forensi in cui è importante definire con precisione quali tipi di file vengono ricercati. Di solito viene eseguito da riga di comando in Linux e richiede un certo livello di competenza tecnica.
Principale
Foremost ha avuto origine in ambito militare (è stato sviluppato per l'Aeronautica Militare degli Stati Uniti) e il suo codice è stato successivamente rilasciato. La sua filosofia è incentrata su... intaglio per testiera/pediera e per lunghezza incassataSi basa su un file di configurazione molto completo. Si installa facilmente sui sistemi Linux e su Windows può essere utilizzato compilandolo con Cygwin, che funge da livello di compatibilità POSIX.
Nel caso di Foremost, per utilizzarlo su Windows è necessario compilarlo dal codice sorgente all'interno dell'ambiente Cygwin , quindi copiare l' eseguibile foremost.exe , il relativo file foremost.conf e la libreria cygwin1.dll nella stessa directory. Da lì, è possibile eseguirlo come se ci si trovasse su Linux, con le stesse opzioni e lo stesso comportamento.
Scenari reali in cui viene utilizzato il data carving
Al di là della teoria, l'intaglio ha applicazioni molto specifiche e comuni sia in ambito professionale che domestico. Alcuni esempi tipici sono:
Recupero di file eliminati molto tempo fa
Quando un file viene eliminato (ad esempio, e si tenta di recuperarlo utilizzando strumenti come Ripristino file di WindowsSe il sistema riutilizza successivamente la sua voce nella tabella dei file, il metodo classico smette di vedere nulla. Tuttavia, finché i blocchi del file non vengono sovrascritti, l'elaborazione dei dati continua. Puoi continuare a trovare quelle intestazioni e ricostruire gran parte del contenuto.
Dischi formattati o dischi con partizioni eliminate
Durante la formattazione o il ripartizionamento, in genere vengono interessate solo le aree dei metadati e la struttura logica. Il contenuto fisico rimane, almeno inizialmente. Un buon processo di carving lo consente. caricare foto, documenti e altri file da quelle aree che ora sembrano "vuote".
Indagine forense digitale
In un'analisi forense è comune lavorare con Immagini disco RAW che hanno superato innumerevoli prove: sistemi operativi reinstallati, malware, tentativi di eliminazione, ecc. L'intaglio dei dati è essenziale per individuare prove nello spazio non assegnato: vecchie e-mail, registri delle applicazioni, documenti temporanei o file "dimenticati" a cui il file system non fa più riferimento.
Recupero su dispositivi danneggiati
Sui dischi con settori danneggiati o SSD con problemi logici, il file system può essere così corrotto che Non viene nemmeno assemblatoAnche in questo caso, incidere su un'immagine creata in precedenza (per non aggravare il danno) può salvare almeno alcune delle informazioni utili.
Limitazioni del file carving: denominazione, frammentazione e falsi positivi
Il data carving è incredibilmente potente, ma non è una soluzione miracolosa. Presenta dei limiti strutturali che è importante comprendere per evitare delusioni e conclusioni errate in un'analisi forense.
Perdita del nome e del percorso originali
Senza accesso al file system, il programma non ha modo di conoscere il nome del file o la cartella in cui si trova. Ecco perché gli strumenti generano nomi generici, come 00032837.doc, immagine0001.jpgecc. Dal punto di vista probatorio o dell'utente, ciò obbliga rivedere manualmente i contenuti per identificarne la rilevanza.
frammentazione dei file
Il più grande ostacolo nell'intaglio classico è la frammentazione. Molti algoritmi semplici Presumono che il file sia in blocchi contiguiNella pratica, soprattutto sui dischi molto utilizzati, i file di grandi dimensioni (immagini ad alta risoluzione, file PST di posta elettronica, database, ecc.) vengono solitamente suddivisi in diversi frammenti sparsi sul disco.
Studi come quelli di Simson Garfinkel hanno dimostrato che, sebbene la percentuale complessiva di frammentazione possa sembrare modesta, tra i tipi di file di interesse forense le cifre aumentano vertiginosamente (ad esempio, una percentuale significativa di file JPG, DOC o PST risulta frammentata). In questi casi, un semplice processo di recupero dell'intestazione e del piè di pagina consente di recuperare file incompleti o file con dati spazzatura incorporati provenienti da altri file intermedi.
Falsi positivi e file corrotti
Più generica è la firma di un tipo di file, È più facile che appaiano coincidenze spurie in dati casuali (ad esempio, visualizzare la chiave di identificazione (PK) di un file ZIP all'interno di un file di testo). Da qui l'importanza di convalidare correttamente la struttura interna: lunghezza dichiarata, campi obbligatori, coerenza dell'intestazione, ecc.
Per ridurre questi problemi, sono emersi approcci come il file structure-based carving, il semantic carving, l'advanced validation carving e lo smart carving , che combinano l'analisi della struttura, i modelli statistici (entropia, distribuzioni di byte) e persino l'analisi linguistica per decidere se un blocco si adatta a un file candidato.
Intaglio intelligente e tecniche avanzate
Per affrontare la frammentazione e migliorare la qualità dei risultati, sono stati sviluppati algoritmi di intaglio intelligenti . L'idea generale è quella di smettere di presumere che tutto sia contiguo e di affrontare il problema come un puzzle di blocchi che devono essere riassemblati nell'ordine corretto.
Alcuni lavori classici (ad esempio, quelli di Shanmugasundaram) modellano la ricostruzione di un archivio frammentato come un percorso hamiltoniano in un grafo: ogni blocco è un nodo e gli archi rappresentano la probabilità che un blocco segua un altro, a seconda di come i loro contenuti si incastrano. Da lì, vengono applicate euristiche, ricerca alfa-beta e altre tecniche di teoria dei grafi e teoria dei giochi per trovare la sequenza più plausibile.
Ad alto livello, molti degli attuali intagliatori intelligenti seguono tre fasi:
- Preelaborato: decomprimere, decifrare o normalizzare i blocchi in modo che possano essere analizzati.
- Controllato: classificare i blocchi in base al tipo di file a cui probabilmente appartengono (per firma, entropia, modelli interni…).
- Riassemblato: ordina i frammenti nella sequenza più logica per ricostruire file completi, anche se erano molto frammentati.
Questo approccio costituisce la base di strumenti commerciali come Adroit Photo Forensics o Adroit Photo Recovery, progettati per recuperare fotografie in condizioni davvero difficili. In genere, si basano anche su validatori molto rigorosi per ogni tipo di immagine (JPEG, TIFF, RAW della fotocamera, ecc.).
Buone pratiche prima e durante l'intaglio
Se si intende utilizzare il data carving in un caso serio (che si tratti di un'azienda che cerca di recuperare dati o di un'indagine forense), è fondamentale seguire una serie di buone pratiche :
Creare un'immagine del disco
Prima di fare qualsiasi cosa, la cosa prudente da fare è generare un immagine bit per bit del dispositivo (ad esempio, con dd, dc3dd, Guymagerecc.). In questo modo si evita di toccare il disco originale e si possono ripetere i processi di intaglio con utensili e parametri diversi senza causare danni.
Lavora sempre sulle copie
Una volta creata l'immagine master, è una buona idea fare copie di lavoro e applicare loro gli strumenti di incisione. Ciò preserva prove immutabili nel caso in cui sia necessario ripetere le analisi, presentare prove in tribunale o semplicemente verificare i risultati con nuove versioni degli strumenti.
Regola e testa le impostazioni
Strumenti come Foremost, Scalpel o Photorec consentono di definire con precisione quali tipi di file vengono ricercati, quali dimensioni massime sono accettate, come vengono interpretate le firme, ecc. È consigliabile prova diverse configurazionisoprattutto quando sai in anticipo a quale tipo di file sei interessato (ad esempio, solo documenti Office o solo immagini).
Convalidare e rivedere manualmente
Sebbene i validatori automatici siano utili, alla fine è necessario qualcos'altro. revisione umana Per valutare se un file recuperato è pertinente, completo o solo rumore. In contesti forensi, è inoltre essenziale documentare ogni passaggio, conservare i log e mantenere la catena di custodia.
Quando tutto ciò viene combinato con un approccio organizzato e gli strumenti giusti, il data carving diventa una delle armi più potenti per recuperare informazioni in situazioni critiche , sia in ambito professionale che in casi più banali (il classico "ho formattato la scheda della fotocamera e ho recuperato tutte le foto delle vacanze").
In definitiva, comprendere appieno cosa sia il data carving, come sfrutti le caratteristiche interne dei file e quali siano i suoi limiti in termini di frammentazione , fa la differenza tra rinunciare al caso e riuscire a recuperare quei documenti o quelle immagini che sembravano perduti per sempre.
Indice
- 1 Cos'è esattamente il data carving?
- 2 Recupero classico vs. intaglio dei file
- 3 Firme, intestazioni, piè di pagina e numeri magici
- 4 Come funziona il processo di intaglio dei file passo dopo passo
- 5 Tipici utensili per intaglio di lime
- 6 Scenari reali in cui viene utilizzato il data carving
- 7 Limitazioni del file carving: denominazione, frammentazione e falsi positivi
- 8 Intaglio intelligente e tecniche avanzate
- 9 Buone pratiche prima e durante l'intaglio