Il file carving è una tecnica utilizzata nell’informatica forense per estrarre un file o dati formattati da un’unità disco o altro dispositivo di archiviazione senza l’assistenza del filesystem che ha originariamente creato il file. Esistono diversi metodi e algoritmi che possono essere utilizzati, ma il processo consiste essenzialmente nella scansione dei dati disponibili su un dispositivo di archiviazione e quindi, in un modo o nell’altro, nel verificare se tali informazioni sono un file o contengono alcune informazioni predefinite importanti. Un filesystem non è presente durante il processo di intaglio del file, quindi tutte le informazioni su un disco devono essere valutate per il suo contesto, il che significa che il processo può richiedere molto tempo e, a seconda dello stato del dispositivo di archiviazione, può avere un basso tasso di successo. È incredibilmente difficile, ma possibile, ritagliare file da unità che presentano un’elevata quantità di frammentazione dei file. Il risultato finale di un file carving di successo è la ricostruzione di un file in modo tale che il suo contenuto sia completamente presente, sebbene un risultato accettabile in alcune situazioni possa essere un file parzialmente ricostruito se vengono recuperate sufficienti informazioni pertinenti.
In alcuni casi, a causa di guasti hardware, errori umani o attacchi dannosi, il file system di un dispositivo di archiviazione e tutte le informazioni su di esso possono essere cancellati. A seconda di come sono state rimosse le informazioni, il disco stesso potrebbe contenere ancora tutte le informazioni che erano presenti in precedenza, ma in un flusso di byte non ordinato e disorganizzato. Un meccanismo che rende possibile l’intaglio dei file è che, quando molti filesystem cancellano un file da un’unità, non rimuovono i dati ma contrassegnano invece quell’area del disco come disponibile per nuovi file. I vecchi dati rimangono fino a quando non vengono sovrascritti e, anche in quel caso, c’è ancora la possibilità che possano essere recuperati.
Una tecnica di base utilizzata nel file carving prevede l’esecuzione di blocchi di informazioni su un disco alla ricerca di firme di file. Questi sono dati strutturati che indicano l’inizio di un file di un tipo particolare. Un esempio è l’inizio di un file immagine che potrebbe contenere la larghezza e l’altezza dell’immagine e alcuni dati sulla tavolozza dei colori. Se viene trovato un blocco di dati che corrisponde perfettamente all’intestazione di un tipo di file, viene effettuato un tentativo di interpretare i dati che seguono l’intestazione per vedere se si tratta effettivamente dei dati del file. In caso di successo, ciò potrebbe portare alla ricostruzione del file originale.
Una complicazione che si verifica nel file carving ha a che fare con i file frammentati, il che significa che il file è archiviato in due o più posizioni fisiche diverse su un disco. Alcune tecniche non tentano di ricostruire questi tipi di file. Altri metodi utilizzano la conoscenza esistente dei filesystem per tentare di approssimare dove potrebbero trovarsi le altre parti di un file, sebbene questo processo sia molto difficile.