Il sistema operativo usa un file system per gestire accesso, memorizzazione e modifica dei dati. Ogni file ha associati dei metadati (nome, dimensione, data di creazione, tipo) che permettono al SO di trovarlo e gestirlo.
L'unità minima indirizzabile dal file system è il cluster. Un file occupa uno o più cluster. Il cluster che contiene l'ultima parte del file potrebbe non essere completamente pieno.
Lo spazio tra la fine effettiva del file e la fine dell'ultimo cluster si chiama slack space.
Lo slack space è forensicamente importante perché può contenere frammenti di file precedentemente cancellati che occupavano quello spazio prima. Il SO non li ha sovrascritti perché li considera già "liberi" all'interno del cluster assegnato al nuovo file.
Quando un file viene eliminato, il SO non cancella fisicamente i dati: si limita a marcare i suoi cluster come "liberi" (unallocated). I dati restano fisicamente sul disco finché quei cluster non vengono sovrascritti da un nuovo file.
Questo è il motivo per cui i file "cancellati" sono recuperabili — e perché chi vuole davvero cancellare qualcosa deve fare un wiping (sovrascrittura).
Se i metadati sono ancora disponibili, il recovery è più semplice. Se i metadati sono stati sovrascritti, si ricorre all'analisi di header e footer.
Ogni tipologia di file ha una sequenza di byte caratteristica all'inizio (header) e spesso anche alla fine (footer) del file. Questi identificano il tipo di file indipendentemente dall'estensione.
Esempi pratici:
FF D8 FF%PDFPK (e anche i file .docx, .xlsx, .pptx sono ZIP)Questo significa che anche se qualcuno rinomina un file .jpg in .ppp per nasconderlo, l'header tradisce la vera natura del file. I tool forensi lo rilevano automaticamente — e Autopsy segnala le incoerenze tra estensione dichiarata e tipo effettivo come elementi sospetti.