Wiping , eliminare definitivamente i files con il comando shred

Ven, 06/06/2008 - 16:16

Wiping , eliminare definitivamente i files con il comando shred

Inviato da bat86 11 commenti

ATTENZIONE: CON QUESTO COMANDO VENGONO ELIMINATI FILES IN MANIERA DEFINITIVA.

Eliminare i files passando per il cestino o usando rm non comporta la loro cancellazione materiale dal hard disk, con alcuni programmi (photorec ad esempio) è possibile recuperare i files cosa che per alcuni documenti personali vorremmo non fossse possibile.

Come difendersi: il file wiping consiste essenzialmente nella cancellazione di un file tramite sovrascritture successive di dati casuali rendendo così impossibile (dipende dal numero di riscritture!) recuperare i files.

Come usare il file wiping: uso del comando shred, per il quale credo non sia necessario installare nulla in quanto è nel pacchetto coreutils.

il comando va seguito da delle opzioni, le principali sono

<pre> <br />-f   cambia i permessi e forza il comando<br />-n  sovrascrive N volte (default 25)   <br />-u  rimuove il file dopo la sovrascrittura   <br />-v  mostra a video il progresso   <br />-z  l'ultima sovrascrittura è fatta con 0 per nascondere il wiping stesso<br /></pre>

(per maggiori comandi $shred --help)

il comando tipo da eseguire risulta

<pre>shred -f -v -u -z -n 50 nomefile.estensione</pre>

50 è il numero di volte che verrà sovrascritto il file in questione, 50 volte rende la procedura un po' lunga ma da un risultato che non lascia dubbi, si possono eseguire 20 o 30 riscritture per avere una buona sicurezza di meno lo sconsiglio poichè programmi come photorec funzionano molto bene.

Questo trick è scritto in base esperienza personale, non sostituisce la documentazione ufficiale del comando. Non rispondo di eventuali danni o perdite di dati indesiderate.





Commenti

Ritratto di daraf
#1

Inviato da daraf il Lun, 09/06/2008 - 11:33.

controindicazioni

ricordati che purtroppo funziona solo con file-system non journaled. quindi praticamente mai nel caso di una recente installazione con reiserFs o ext3.



Ritratto di Moreno
#2

Inviato da Moreno il Lun, 09/06/2008 - 12:11.

Re: controindicazioni

Ciao

Perché ??

Il Journaling mantiene traccia solo delle transazioni non ancora concluse, una volta concluse anche li non rimane più nulla o sbaglio ??

Ciao Ciao, Moreno

Addio, e grazie per tutto il pesce.
Avatar by moonlight-dream.



Ritratto di daraf
#3

Inviato da daraf il Lun, 09/06/2008 - 15:11.

Re: controindicazioni

quando modifichi un file in un file-system journaled, in pratica lo riscrivi modificato, ma da un'altra parte. Quando la scrittura è finita viene "cancellata" la vecchia versione del file, che però continua ad esistere, anche se non più indicizzata. Se la scrittura non va a buon fine (crash del sistema, per esempio) si ignora il file modificato e si considera la versione originale, che non è stata sovrascritta e quindi esiste ancora integralmente. Quindi l'unico modo per cancellare definitivamente dei dati consiste nel sovrascrivere ripetutamente l'intera partizione, magari con dd



Ritratto di Moreno
#4

Inviato da Moreno il Lun, 09/06/2008 - 15:56.

Re: controindicazioni

Ciao

Non credo proprio che le cose funzionino in questo modo, avrebbero decisamente poco senso.

Ti faccio un esempio:

Prendiamo un bel file da 4.5GB che ne so una ISO di Mandriva.

Ora di questo file modifico 1 byte perché mi piace.

Stando al tuo ragionamento il sistema dovrebbe quindi copiarsi 4.5GB meno un byte, verificare che tutto sia corretto e poi cancellare il vecchio file da 4.5GB insomma domani siamo ancora qui.

Per come la vedo io le cose invece funzionano così:

1) Leggo il file nella parte da modificare e la salvo in un file temporaneo, apro una transazione con file, posizione e lunghezza.

2) Applico la modifica al file

3) La modifica ha avuto successo ??
3.a) Sì cancello transazione e file temporaneo
3.Cool No sovrascrivo il pezzo di file file originario con il file temporaneo.

La cosa così è molto ma molto più veloce e non si mangia i dischi ogni volta che modifico file di grosse dimensioni.

Ciao Ciao, Moreno

Ciao Ciao, Moreno

Addio, e grazie per tutto il pesce.
Avatar by moonlight-dream.



Ritratto di daraf
#5

Inviato da daraf il Lun, 09/06/2008 - 16:16.

Re: controindicazioni

un conto è modificare un byte, un conto è sovrascrivere l'intero file (di questo si parla): il file temporaneo di cui parli ha le stesse dimensioni del file intero.
comunque se vuoi sapere se shred funziona sui file-system journaled, esiste sempre internet per controllare.



Ritratto di Moreno
#6

Inviato da Moreno il Lun, 09/06/2008 - 16:34.

Re: controindicazioni

Ciao

Detto e fatto

Quote:

Per ovviare alla perdita di informazioni e alle lunghe attese per la riparazione del file system, è nato il journaling: una zona del disco contiene informazioni specifiche (viene chiamata “Journal”) e su di essa si basano le operazioni di scrittura, che per comodità dividiamo in quattro fasi.
Fase 1: annotazione PREVENTIVA nel diario delle operazioni pendenti
Fase 2: scrittura FISICA dei dati
Fase 3: aggiornamento dell’indice
Fase 4: cancellazione dal diario delle operazioni completate.
Se il blocco del computer dovesse avvenire durante una fase di scrittura, si profilano quattro scenari:
1 - II blocco avviene durante la prima fase. Al riavvio, il Journal viene controllato per primo e, non essendo ancora stati scritti dati, viene cancellato qualsiasi riferimento ai files. Tutto torna a posto, ed è come se il comando di scrittura non fosse mai stato impartito.
2 - II blocco si verifica durante la seconda fase. Al riavvio, si legge il Journal e si verifica cosa sia stato scritto e cosa no. Di conseguenza, si aggiorna l’indice dei file e si toglie il riferimento dal diario. Si perde ciò che non è ancora stato scritto, senza inutili attese, e si recupera ciò che effettivamente era stato salvato.
3 - II blocco avviene nella terza fase. L’unica cosa che deve essere fatta è quella di leggere il diario e aggiornare l’indice di conseguenza. Il file è interamente salvo e l’operazione richiede pochi secondi per essere completata.
4 - II blocco avviene durante l’ultima fase. In questo marginale caso, il Journal viene cancellato perchè tutto è già salvo; anche questa operazione richiede pochi secondi.

A quanto pare comunque sembrerebbe una cosa alquanto difficile fare l'undelete dei file sotto ext3
Stando alle FAQ
http://batleth.sapienti-sat.org/projects/FAQs/ext3-faq.html

Quote:

Q: How can I recover (undelete) deleted files from my ext3 partition?
Actually, you can't! This is what one of the developers, Andreas Dilger, said about it:

In order to ensure that ext3 can safely resume an unlink after a crash, it actually zeros out the block pointers in the inode, whereas
ext2 just marks these blocks as unused in the block bitmaps and marks the inode as "deleted" and leaves the block pointers alone.

Your only hope is to "grep" for parts of your files that have been deleted and hope for the best.

La cosa è molto ma molto ma molto difficile

Ho trovato questo HowTo di qualche mese fa
http://www.xs4all.nl/~carlo17/howto/undelete_ext3.html

che indica l'uso di ext3grep, il pacchetto si trova in Contrib

<br />%%% Informazioni<br />Name        : ext3grep                     Relocations: (not relocatable)<br />Version     : 0.6.0                             Vendor: Mandriva<br />Release     : 2mdv2009.0                    Build Date: sab 26 apr 2008 12:22:56 CEST<br />Install Date: (not installed)               Build Host: n2.mandriva.com<br />Group       : File tools                    Source RPM: ext3grep-0.6.0-2mdv2009.0.src.rpm<br />Size        : 584648                           License: GPLv2+<br />Signature   : DSA/SHA1, sab 26 apr 2008 12:40:24 CEST, Key ID dd684d7a26752624<br />Packager    : Anssi Hannula &lt;anssi@mandriva.org&gt;<br />URL         : http://code.google.com/p/ext3grep/<br />Summary     : Investigation and recovery tool for ext3 filesystem<br />Description :<br />A tool to investigate an ext3 file system for deleted content and<br />possibly recover it.<br />

Altri utili link sono:
http://en.wikipedia.org/wiki/Ext3
http://en.wikipedia.org/wiki/Journaling_file_system

Ho trovato anche la presentazione ufficiale di Ext3 del lontano 2000 (sembra che fosse sempre esistito)
http://olstrans.sourceforge.net/release/OLS2000-ext3/OLS2000-ext3.html

Ciao Ciao, Moreno

Addio, e grazie per tutto il pesce.
Avatar by moonlight-dream.



Ritratto di maurelio79
#7

Inviato da maurelio79 il Lun, 09/06/2008 - 16:58.

Re: controindicazioni

Ciao kio341, ma dal link che hai fornito confermi la tesi di daraf, cito:

Quote:

"Questi sono esempi di file system su cui shred non ha effetto:

* filesystem con logging o journaling come quelli forniti con AIX e Solaris
(e JFS, ReiserFS, XFS, ext3, ecc...)

* filesystem che scrivono dati ridondanti e continuano a scrivere anche se
alcune scritture falliscono, come i file system basati su RAID

* filesystem che fanno snapshot, come quello dei server NFS di Network
Appliance"

Quindi, sto comando funziona su ext3 o no? Io tempo fa, per sbaglio, ho sputtanato un HD esterno con un dd Laughing Devo dire che se vuoi formattare una partizione e il metodo più veloce....

Debian Squeeze+Mandriva2009 on Asus X59SLseries
http://www.mylinuxexperience.org/



Ritratto di daraf
#8

Inviato da daraf il Lun, 09/06/2008 - 17:49.

Re: controindicazioni

per sciogliere i dubbi: man shred



Ritratto di maurelio79
#9

Inviato da maurelio79 il Lun, 09/06/2008 - 19:01.

Re: controindicazioni

Infatti...

Quote:

The following are examples of file systems on which shred is not effective, or is not
guaranteed to be effective in all file system modes:

* log-structured or journaled file systems, such as those supplied with

AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)

Debian Squeeze+Mandriva2009 on Asus X59SLseries
http://www.mylinuxexperience.org/



Ritratto di kio341
#10

Inviato da kio341 il Lun, 09/06/2008 - 14:37.

Re: controindicazioni

Quote:

ricordati che purtroppo funziona solo con file-system non journaled. quindi praticamente mai nel caso di una recente installazione con reiserFs o ext3.

??
http://forum.masterdrive.it/gnu-linux-open-source-15/shred-distruggere-file-partizione-21582/