Cancellare i dati da un supporto magnetico

Nei sistemi operativi comunemente usati (Windows, Linux, MacOs) quando un file (documento, immagine, media, programma, etc) viene eliminato da un supporto magnetico (harddisk, usb memory, schede di memoria) in realtà viene semplicemente nascosto. Lo spazio occupato diventa disponibile ed in seguito verrà utilizzato per scrivere nuovi dati. Durante questo periodo di tempo è possibile recuperare il file con opportuni programmi.

Vendere o regalare un tuo harddisk, usb memory, telefono senza prima aver effettuato una sovrascrittura distruttiva dei dati contenuti ti espone al rischio che le tue informazioni possano essere recuperate.

L’ideale è fare in modo che quando cancelli un file, il sistema operativo esegua una immediata sovrascrittura con dati casuali. Alcuni sistemi operativi possiedono delle funzioni già implementate; altrimenti è possibile installare appositi programmi.

Per l’installazione e l’uso di tali programmi contatta l’autore.

Questo modo di operare comporta due problemi:

  • Durante la cancellazione noterai un notevole aumento dei tempi necessari dipendente dalla dimensione dei file da eliminare, e la conseguente sovrascrittura degli spazi lasciati liberi.
  • I file cancellati non passeranno più nel cestino e comunque non potrai più recuperali se cancellati per errore.

Quando intendi eliminare definitivamente un file devi considerare anche le eventuali copie e backup che hai effettuato su altri supporti e procedere allo stesso modo per essere certi che nessuno possa recuperare tale informazione.

Inoltre pur avendo eliminato definitivamente il file, il suo nome potrebbe restare nella memoria dei programmi che lo hanno utilizzato. Ad esempio un documento *.doc potrebbe restare nell’elenco dei file recenti di MS Word o del suo equivalente Libre Office ma anche nei registri del sistema operativo.
Fare una ricerca nell’intero hardisk per assicurarsi che il nome del file non sia presente non garantisce al 100%. Infatti alcuni programmi possono memorizzare le informazioni in un formato compresso e/o criptato. Inoltre lo stesso comando di ricerca lascerebbe una traccia del nome del file.

Altro elemento da tenere presente sono le are di cache e di swap utilizzate dai sistemi operativi per ottimizzare la gestione della memoria e che potrebbero contenere il file che vuoi eliminare o comunque parti di esso, come pure la ram stessa del computer che se opportunamente ispezionata può rivelare preziose informazioni agli esperti informatici anche dopo che è stato spento il pc.

L’unico modo sicuro di eliminare tutte le tracce di un file è quello di eseguire una formattazione dell’harddisk con tecniche di sovrascrittura totale e reinstallare il sistema operativo.

Quanto detto vale per gli hard disk tradizionali, mentre per le unità a stato solido (SSD), unità flash USB e schede SD la sovrascrittura è molto difficile. Le memorie a stato solido usano una tecnica per limitare il livello di usura delle celle di memoria e le nuove scritture di dati privilegiano le celle di memoria non utilizzate nel tentativo di distribuire l’usura in modo uniforme. Immagina le celle di memoria come le pagine di un libro che possono essere riscritte un numero limitato di volte, dopo di che la memoria smette di funzionare. Quando invii l’ordine di cancellare la pagina, l’elettronica la segna come “cancellata” ma in realtà tutte le informazioni sono ancora presenti. Quando poi invii un ordine di scrittura sempre l’elettronica cercherà pagine vuote disponibili o cancellate ma usate con meno frequenza, per cercare così di distribuire l’usura in modo uguale su tutte le pagine. Quindi non saprai mai se la pagina che volevi cancellare è stata davvero eliminata. Poiché il processo è gestito dall’elettronica, il sistema operativo è escluso da tale decisione.

Uno dei metodi più sicuri per mantenere la privacy delle informazioni è di criptare l’intero supporto di memoria. In questo caso risulta impossibile in recupero dei dati a meno di non conoscere la chiave di accesso. Tale chiave di accesso deve essere sufficientemente complessa da resistere ad una attacco brute force eseguito con velocissimi computer. Tuttavia devi essere sicuro di stare utilizzando un software di criptazione che non nasconda una backdoor (chiave di accesso universale) che in teoria dovrebbe essere a conoscenza della sola azienda produttrice (e delle agenzie governative di sicurezza nonché di hacker esperti) a scopo cautelativo nei confronti di un uso criminale del software.

Questo modo di operare comporta due problemi:

  • La perdita della password o anche un parziale danneggiamento del supporto magnetico renderà inaccessibili tutte le informazioni contenute.
  • Il continuo processo di criptazione e decriptazione aumenta il carico di lavoro del processore e di conseguenza un decadimento delle prestazioni generali del sistema.

Per l’installazione e l’uso di tali programmi contatta l’autore.

Hai considerato che i tuoi file potrebbero essere stati scritti su un supporto ottico cd/dvd? In questo caso l’unico modo per cancellare le informazioni è distruggere fisicamente il disco riducendolo in pezzi.

La distruzione fisica di un harddisk e delle unità di memoria a stato solido è davvero l’unico metodo sicuro per cancellare definitivamente i tuoi dati.

“The only truly secure system is one that is powered off”
(L’unico computer sicuro è quello spento)
Eugene H. Spafford
Ph.D Computer science at Purdue University (USA)


 

Linux ci aiuta con un comando da terminale molto interessante che sovrascrive l’intero device (hd, usb, ssd) con i valori 0.

shred [option] target

dove al posto di option possiamo usare le seguenti opzioni:

  • n: per sovrascrivere i dati “n” volte
  • f: per modificare l’autorizzazione e consentire l’operazione di scrittura
  • u: tronca i file dopo averli distrutti
  • s: per fornire le dimensioni da distruggere
  • u: per rimuovere il file dopo la distruzione
  • v: per abilitare la modalità dettagliata
  • z: per aggiungere zeri al processo di sovrascrittura finale

Di seguito un esempio di comando finito che sovrascrive 10 volte ogni settore della partizione sda2:

shred -vfz -n 10 /dev/sda2

La procedura può durare anche alcune ore.
Attenzione ad individuare come il device è stato montato! La sovrascrittura è irreversibile e se sbagli unità perderai tutti i dati.
Per aiutarti ad individuare dove è montata l’unità da formattare usa il comando:

sudo fdisk -l

 

Altro comando linux per ripulire un hard disk è il seguente:

sudo dd if=/dev/random of=/dev/sdx bs=10M

dove sdx sta per l’unità da formattare (sda, sdb, sdc…).
Tuttavia un esperto potrebbe ancora recuperare alcuni dati.
Per limitare i danni è possibile ripetere più volte il comando di formattazione cambiando il passo di scrittura:

sudo dd if=/dev/random of=/dev/sdx bs=8M

sudo dd if=/dev/random of=/dev/sdx bs=10M

etc..

Immagini collegate: