L’NTFS ha permesso un notevole passo avanti rispetto al file system FAT (File AllocationTable), in quanto ha risolto in parte il problema della lunghezza dei nomi dei file e delle cartelle, ha permesso di non compromettere l’integrità del file system in caso di operazione interrotte, ha aumentato le dimensioni massime dei volumi e ha reso possibile l’assegnazione dei diritti di accesso (lettura, scrittura, modifica, cancellazione e altri) di ogni singolo file.

Dal punto di vista della Digital Forensics è rilevante sottolineare un aspetto molto importante che non è presente sui file system FAT, ossia un’area di memoria chiamata uninitializedspace (di seguito denominata per semplicità US). Tale area si viene a creare quando solo una parte dello spazio su disco, riservato per un nuovo file, viene utilizzata per memorizzare i dati associati a quel file; questa discrepanza crea una differenza tra la dimensione del file logico e la quantità effettiva di dati memorizzati nel file. Di conseguenza, è possibile avere un file che sembra avere una dimensione logica più grande della quantità effettiva di dati memorizzati nello stesso. Lo spazio tra la fine di dati validi e la fine del file si chiama US.
Per spiegare meglio questo concetto è importante approfondire il discorso sulla lunghezza dei file nel filesystem NTFS. Il concetto del US viene rappresentato dalla differenza tra “EOF” e “VDL” per cui l’EOF (End Of File) indica l’attuale lunghezza del file, mentre la VDL (Valid Data Length) indica la lunghezza dei dati validi (come riportato nella successiva figura).

uninitialized space

Per maggiore chiarezza espositiva si riporta un esempio di creazione del file mediante l’utilizzo del comando fsutil.

Inizialmente viene creato un file che contiene 1024 byte chiamato “diricto” come indicato nella figura successiva:

I:\Diricto>fsutil file createnewdiricto 1024

Il file I:\Diricto\diricto è stato creato

diricto1024

Successivamente viene modificata a 1000bytes la dimensione del file, lasciando 24 bytes inutilizzati alla fine del file (uninitializedspace), come mostrato nella figura successiva:

I:\Diricto>fsutil file setvaliddatadiricto 1000

La lunghezza dei dati validi è cambiata

diricto1000

Come indicato nelle precedenti due figure ottenute mediante l’ausilio del Software Encase, si può notare la differenza indicata in blu (dati esadecimale in blu indicati nella seconda figura) che rappresentano la locazione di memoria denominata US.

Dal punto di vista forense, la particolarità che un file abbia un volume inferiore alla dimensione logica, è sintomatico della possibilità che possano essere contenuti vecchi dati nella locazione di memoria US (Dimensione Logica File – VDL = US).

Le svariate utility che cancellano in modo sicuro i dati (wiping data), possono essere configurate per eseguire tale operazione solo nel File Slack, non andando a modificare l’US. Ragion per cui i data cancellati presenti nella US possono rimanere indefinitamente, portando dei risvolti particolari nel recupero dei dati e nelle successive analisi dal punto di vista forense.

In conclusione, lo spazio non inizializzato (uninitializedspace) su NTFS può tendenzialmente complicare l’esame forense e gli sforzi per il recupero dati, particolarmente quando si tratta di file di dimensioni maggiori che hanno notevole quantità di spazio non inizializzato.

Ad esempio, quando si esegue un data carving per determinati tipi di file, è comune effettuare tale operazione estendendola solamente allo spazio non allocato ed escludendo l’US, che paradossalmente non verrà incluso nello spazio allocato. Analogamente, durante l’esecuzione di ricerche per parole chiave, un analista forense potrebbe erroneamente non attribuire la ricerca nelle aree di memoria che interessano l’US; per maggiore chiarezza espositiva, nella figura seguente viene evidenziata la voce da smarcare (Use Initializedsize) sul Software EnCase per effettuare un’analisi delle keyword anche nell’area non inizializzata, nel caso il supporto di memoria utilizzi un file system NTFS.

 

Encase search