Questo post continua la serie di articoli sui meccanismi interni degli strumenti di recupero dati odierni.
In “Come Funziona il Recupero Dati”, abbiamo esaminato come gli strumenti di recupero file possano recuperare file cancellati utilizzando il file system. Ma cosa succede se il file è stato cancellato molto tempo fa e il suo record nel file system non esiste più? O cosa succede se il disco è stato formattato o ripartizionato e il file system è vuoto o mancante? Infine, cosa succede se il file system è stato sovrascritto da un altro file system (come quello utilizzato da Linux o Ubuntu se hai sperimentato con un sistema operativo alternativo)? In questi casi, gli strumenti tradizionali di recupero file non riusciranno a recuperare nulla.
Per recuperare informazioni in tali situazioni, i produttori di strumenti di recupero dati hanno inventato una serie di algoritmi chiamati ‘carving’ basati sulla ricerca di firme. A differenza dei metodi tradizionali di recupero file che si basano sul file system, il data carving funziona leggendo l’intera superficie del disco rigido (o scansionando l’intero contenuto dei supporti basati su flash). Durante la scansione del disco, gli algoritmi di data carving cercano firme caratteristiche (da cui il nome “ricerca di firme”) che identificano formati di file noti. Questo è molto simile a come funzionano gli strumenti antivirus, che scansionano i file alla ricerca di schemi di codice per identificare i virus.
Ad esempio, i file ZIP iniziano normalmente con “PK” seguito da dati binari in un formato predefinito. Analizzando quei dati binari, un algoritmo di carving può determinare se quel “PK” indica l’inizio di un file ZIP (se tutti i numeri corrispondono), o se è solo un “PK” digitato in un documento come questo.
Se la firma è confermata come appartenente al file reale, l’algoritmo inizierà ad analizzare l’intestazione del file. Analizzando l’intestazione del file, il programma di recupero dati può calcolare la lunghezza originale del file. Conoscendo l’indirizzo iniziale del file sul disco e conoscendo la lunghezza di quel file, lo strumento può determinare esattamente quali settori sono utilizzati dai dati di quel file, leggerli e riassemblare il file originale.
File carving: problemi e difficoltà
Non vedi un problema in questo approccio? In realtà ce ne sono almeno due. Primo, senza il file system non c’è modo di scoprire il nome originale del file. I file recuperati vengono salvati come “image0001.jpg” o “document012.jpg” invece di avere un nome appropriato. L’altro problema riguarda la frammentazione del disco. Se un file non è memorizzato in un blocco contiguo (tipico per file di grandi dimensioni), il file carving non sarà in grado di recuperare il file completo.
Per risolvere questo problema, gli sviluppatori combinano le informazioni ottenute dal file system con i dati scoperti tramite l’uso degli algoritmi di file carving. Questo approccio offre il meglio dei due mondi: un recupero affidabile completo di nomi di file e indipendentemente dal livello di frammentazione del disco.