Il problema con l'eliminazione dei file è che i dati del file sono solo una piccola parte di ciò che viene realmente salvato sul disco. Su un moderno filesystem ci saranno molti metadati e altri artefatti sparsi sul disco:
- Voci di giornale su journaling di filesystem, ad es. NTFS, ext3, ext4.
- Cerca voci indice
- Prefetch / superfetch cache entries.
- Copie shadow.
- Cache delle miniature di immagini, ad es. Il database delle miniature thumbs.db / Win7 di WinXP.
- File temporanei, ad es. dall'estrazione ZIP / RAR.
- Flussi di dati alternativi (ADS), ad es. Descrittori FEK EFS.
- Dati di registrazione dell'oggetto COM / .NET.
- Indossare settori di livellamento su SSD / unità flash USB.
Questo presenta una sfida. Semplicemente eliminando i dati del file in modo sicuro, i dati verranno eliminati. Non vi è alcuna garanzia che i metadati non contengano dati sensibili o che siano sufficienti a ricostruire l'intero file o corrispondano al suo hash rispetto a quello di un testo in chiaro noto.
Ad esempio, anche se il file viene eliminato potremmo essere in grado di rilevare quanto segue:
- Il nome del file e quando è stato creato / eliminato / modificato.
- Un hash crittografico (o checksum, ad esempio CRC32) del file, da un database di indicizzazione.
- Occorrenza di determinate parole o frasi all'interno del file da un indice di contenuto di ricerca.
- Nome azienda, nome prodotto, interfacce oggetto COM, namespace .NET, ecc. se si trattava di un eseguibile PE.
- Una miniatura se il file era un'immagine.
- Vari metadati provenienti da flussi di dati alternativi latenti.
- Testo in chiaro parziale da file temporanei e settori di usura.
- Ripristino dell'intero testo in chiaro da copie shadow o file temporanei.
Identificare le posizioni di questi e eliminarli in modo appropriato è complicato e potrebbe non essere nemmeno possibile in alcuni casi. Il meglio che puoi fare è passare manualmente e cancellare tutti i backup, eliminare i file, cancellare le cache, cancellare il database delle anteprime, quindi eseguire un passaggio di cipher /W
per garantire che la maggior parte di essi venga cancellata. Sfortunatamente anche questo non garantisce nulla, dal momento che alcuni di essi sono archiviati in file e strutture che vengono semplicemente ritagliati o modificati anziché eliminati correttamente, con conseguente blocchi di dati che sono scollegati dalla struttura ma non cancellati.
Quindi come possiamo aggirare questo? L'unico vero modo per farlo è con la crittografia completa del disco. Utilizza uno standard del settore come TrueCrypt per crittografare l'intero disco rigido, utilizzando una password complessa. Anche questo non è sicuro al 100% su SSD con livellamento dell'usura (nel qual caso TRIM e Secure Erase sono buone opzioni) ma ti protegge da tutti gli attacchi pratici rilevanti fino a quando non sei preoccupato per i governi che lanciano un budget ridicolo a recupero dei tuoi dati.
Naturalmente, se sei davvero paranoico, l'unica soluzione garantita è completa distruzione fisica . Questo è solitamente ottenuto utilizzando un distruggidocumenti industriale che taglia fisicamente il disco in piccoli cubi e spesso comporta un passaggio attraverso un strong campo magnetico. Per scopi governativi e militari, questi cubi sono spesso fusi in una fornace in seguito per buona misura.