Nov 042012
 

Alla base di questi articoli c’è un semplice fatto: un semplice rm di un file o l’eliminazione tramite qualsiasi file manager non è sufficiente per rimuoverlo davvero dal vostro hard disk.

Se si vuole veramente eliminare i file da un computer è necessario utilizzare comandi più sofisticati, e negli articoli precedenti abbiamo visto:

Dban: Darik’s Boot and Nuke (comunemente conosciuto come DBAN) è un progetto open source ospitato su SourceForge. Il programma è progettato per cancellare in modo sicuro un hard disk fino a quando i dati sono permanentemente rimossi e non più recuperabili, questo avviene sovrascrivendo i dati con numeri casuali generati da Mersenne twister o ISAAC (un PRNG).

Shred : Sovrascrive il file specificato più volte, al fine di rendere più difficile anche per l’hardware molto costoso recuperare i dati.

Wipe : Wipe è un altro programma per cancellare in maneira sicura i dati.

Oggi daremo un’occhiata al pacchetto secure-delete contenente alcuni programmi utili per eliminare in maniera più sicura un file, la memoria, lo spazio libero e/o lo spazio di Swap.


Per installare secure-delete in Debian, Ubuntu e Mint eseguire:

sudo apt-get install secure-delete

Il pacchetto dovrebbe essere disponibile anche in altre distribuzioni, controllate il vostro gestore di pacchetti cercando secure-delete o srm, o se non è disponibile si può prendere il pacchetto sorgente da sourceforge
Il pacchetto di secure-delete viene fornito con quattro comandi:

  • srm Rimozione sicura; utilizzato per l’eliminazione di file o directory attualmente presenti sul disco rigido;
  • smem Ripulitura sicura della memoria; utilizzato per cancellare le tracce dei dati dalla memoria del computer (RAM);
  • sfill Ripulitura sicura dello spazio libero; utilizzato per cancellare tutte le tracce di dati dallo spazio libero su disco;
  • sswap Ripulitura sicura dello swap; utilizzato per cancellare tutte le tracce di dati da una partizione di swap.

SRM

SRM è stato progettato per eliminare i dati su mezzi in maniera sicura, in modo che non possano essere recuperati da ladri, le forze dell’ordine o altre minacce. L’algoritmo di cancellazione si basa sul documento “ Secure Deletion of Data from Magnetic and Solid-State Memory “, presentato al 6° Usenix Security Symposium da Peter Gutmann, uno dei leader tra i crittografi civili.

Il processo di cancellazione sicuro dei dati di srm è questa:

  1. 1 passaggio con 0xff
  2. 5 passaggi casuali. /dev/urandom è utilizzato se disponibile come fonte RNG sicura.
  3. 27 passaggi con valori speciali definiti da Peter Gutmann.
  4. 5 passaggi casuali. /dev/urandom è utilizzato se disponibile come fonte RNG sicura.
  5. Truncate del file

Come ulteriore misura di sicurezza, il file viene aperto in O_SYNC mode e dopo ogni passaggio viene invocata una chiamata fsync().
srm scrive blocchi a 32k allo scopo di avere una maggiore velocità, di riempire i buffer di cache del disco per costringerli a svuotarsi e sovrascrivere i dati vecchi che appartenevano al file.

Opzioni di srm:

  • -d ignora i due file speciali costituiti con i punti . e .. dalla linea di comando. (così si può eseguirlo come “srm -d .* *”)
  • -f fast (ed insicuro): no viene usato /dev/urandom, e non viene utilizzato il modo sincronizzato.
  • -l diminuisce la sicurezza. Solo due passaggi sono scritti: uno con 0xff ed i valori in modalità casuale.
  • -l -l per una seconda volta per abbassare ulteriormanete la sicurezza: viene fatto solo un passaggio casuale.
  • -r modalità ricursiva, cancella le sottodirectory.
  • -v modalità dettagliata
  • -z pulisce l’ultima scrittura con zeri invece che con dati casuali

Alcuni esempi con srm:

1) Cancellare un file usando srm:

#srm /tmp/myfile.txt

2) Cancellare una directory usando srm:

#srm -r /tmp/mydir/


Gli altri strumenti della suite

smem è stato progettato per cancellare i dati che possono trovarsi ancora nella memoria (RAM) in modo sicuro. Si noti che con le nuove SDRAM, i dati non si perderanno subito allo spegnimento del computer, ma saranno tenuti staticamente e questo può consentire cold boot attacks

sfill è stato progettato per eliminare i dati che si trovano su spazio disco non utilizzato in modo sicuro

sswap è stato progettato per cancellare i dati che possono trovarsi ancora sull’aread di swap in modo sicuro

Conclusioni

Per favore, quando si utilizzano questi strumenti tenete presente che aggiungono un po’ di sicurezza, ma non garantiscono che i dati non siano recuperabili, su questo wikipedia dice:

Il governo degli Stati Uniti raccomanda la completa distruzione fisica delle superfici dati dal disco fisso per garantire la sicurezza della cancellazione dei dati. Presumibilmente, questo può essere realizzato mediante abrasione, o da una piccola quantità di thermite accesa su una grande pentola ben ventilata contenente sabbia.

Popular Posts:

Flattr this!

  6 Responses to “Cancellare in maniera sicura informazioni in Linux – parte 2”

  1. Suppose I have a file which contains sensitive information. Suppose that I first zero this file and afterwords I delete it.

    Let me know if there is _any_ linux/unix utility which recovers the original file.

  2. What about journaling filesystem like BTRFS ?
    File based deletion tools could be useless.

  3. Why not simply use shred(1) from the coretools package?

    • Like many thing in Unix, there is more than 1 way to do things, with this package you have also tools to “clean” memory, empty space and swap.

      I’ve covered shred in a former article.

      Best regards

  4. My own method for keeping safe is to use encrypted volumes for home etc instead, and today LUKS even work with TRIM on SSD disks.

    #/etc/crypttab
    home UUID=01234567-aaaa /etc/cryptokeys/home.key luks,discard

    #/etc/fstab
    /dev/mapper/home /home ext4 noatime,discard,commit=300,errors=remount

    When I want to ensure something gets deleted, I create a new partition, a new key-file, and create a new home partition, copying all the files I want to the new partition, and updating only /etc/crypttab to point to the new home partition instead of the old. After verifying I will overwrite the old key file and simply remove the old home partition. No more worries! It might have to be mentioned that I also have the “/” partition in a luks partition, so the previous key-file can no longer be recovered.

Leave a Reply to tritt Cancel reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

*