di: Stefano Madrucciani 01 Ottobre 2008
Il garbaging è una delle tecniche più semplici e molto utilizzate dagli hacker che vogliono scoprire qualcosa in più sul loro bersaglio. Come dice la parola stessa, si tratta letteralmente di rovistare nella spazzatura alla ricerca di qualche documento che, gettato via nella convinzione che ciò lo distruggesse definitivamente, resta a disposizione per diverso tempo. Questo scenario è completamente analogo nel caso di documenti in formato digitale in cui la cancellazione di un file non ne determina la distruzione definitiva.
In questo articolo cercheremo, quindi, di illustrare le tecniche che ci permettono di cancellare con sicurezza un file dal nostro disco. Inoltre vedremo come è possibile recuperare file eliminati in maniera accidentale e come crittografare i nostri i dati in modo da non renderli accessibili a nessun altro.
Per meglio comprenderne il perché facciamo un richiamo semplificato sul funzionamento di un disco rigido: i file vengono memorizzati magnetizzando settori ben definiti dell'hard disk (facendo riferimento ai sistemi tradizionali). La disposizione dei file sul disco viene controllata e gestita da una struttura dati - differente a seconda del filesystem utilizzato - che possiamo immaginare come una "tabella" in cui sono indicizzati tutti i nostri file: dove è memorizzato il file (inizio e fine del settore assegnatogli), se il file è frammentato ossia scritto su più settori non contigui, dimensione, percorso del file ecc...
In questo modo il sistema operativo sa immediatamente dove trovare un file e le operazioni di modifica risultano molto veloci. Questo spiega perché il "taglia e incolla" di un file da una cartella a un'altra è immediato a prescindere dalla dimensione mentre copiare un file è molto più laborioso. Nel primo caso infatti è necessario unicamente modificare gli attributi (in questo caso il path) del file nella tabella citata prima, nel secondo, invece, non sarà sufficiente modificare la tabella ma bisognerà riscrivere sul disco una copia esatta del file in questione.
Lo scenario è analogo nel caso si cancelli un file: l'operazione infatti si traduce unicamente nell'eliminazione della voce relativa a quel file nella tabella di indicizzazione. In questo modo lo spazio occupato da quel file verrà messo a disposizione per eventuali altre scritture, ma fino a questo evento vi resterà memorizzato il nostro vecchio file.
È necessaria una puntualizzazione: per "cancellazione di un file" ci riferiamo all'operazione di "svuota cestino". Finché si trovano nel cestino i file sono stati semplicemente spostati in una cartella speciale e il recupero è una operazione immediata.
In base a quanto detto in precedenza il file cancellato rimarrà presente sul disco finchè lo spazio che occupa non verrà utilizzato per memorizzare altri dati. Proprio su questo concetto si basano i programmi che permettono di cancellare, in modo definitivo, il file scrivendo altri dati (pseudo casuali) sullo spazio occupato.
Un esempio è Eraser: dopo una semplice installazione, tramite l'interfaccia del programma, possiamo scegliere se pianificare una cancellazione periodica (magari di una cartella in cui metteremo i file da eliminare con sicurezza) o una cancellazione immediata selezionando file, cartelle o anche lo spazio libero dei nostri dischi rigidi (onde evitare il pericolo di recupero dei dati descritto prima).
Figura 1: l'interfaccia di Eraser

Successivamente sarà possibile selezionare il tipo di cancellazione desiderata (raggiungibile da Edit / Preferences / Erasing) che determinerà i dati da utilizzare nelle sovrascritture e la ripetizione delle stesse:
Figura 2: la scelta del metodo di sovrascrittura

Le possibili opzioni vanno dal metodo Gutmann (messo a punto da Peter Gutmann dell'università di Auckland) agli standard americani US DoD 5220 messi a punto dal Dipartimento della Difesa statunitense fino ad arrivare a metodi più semplici come la scrittura di dati pseudo casuali, la sovrascrittura dei primi e ultimi 2k del settore interessato o del metodo elaborato da Bruce Schneier. Da notare nella colonna di destra il numero di "passate" che eseguirà il programma. Questo valore è modificabile chiaramente solo per le metodologie non standard. Molto interessante, inoltre, è la possibilità di definire un nostro personale sistema di sicurezza (tasto New), definendo "passata per passata" i dati da utilizzare nella sovrascrittura.
Ma perché sono necessarie diverse sovrascritture per eliminare le tracce dei nostri dati e non una sola? Immaginate di cancellare del testo scritto a matita da un foglio per poi riscriverci qualcosa: ebbene sarà ancora possibile distinguere il vecchio testo semplicemente osservando i solchi lasciati dalla punta della matita; quindi cancellazioni e sovrascritture renderanno impossibile questa operazione.
Analogamente i dati lasciano sul disco rigido un residuo di magnetizzazione che, anche dopo diverse sovrascritture, permette di ricostruire i dati cancellati. Chiaramente sono necessarie attrezzature, procedimenti e macchine particolari, ed è ciò che fanno le aziende che si occupano di "data recovery" (che spesso salvano la carriera a utenti particolarmente distratti).
Guida SQL Injection con SqlmapScopriamo se le nostre applicazioni web sono vulnerabili alle SQL... |
Guida sicurezza applicazioni WebLe tecniche di attacco più comuni, i metodi per verificare la... |
Guida Sicurezza wirelessQuali sono i pericoli di sicurezza di una rete senza filo e quali... |
Ogni lunedì, direttamente nella tua e-mail: approfondimenti e bollettini su virus, vulnerabilità e sicurezza informatica.
Iscriviti alla newsletter
|
|
Amministratore di Reti Windows Server 200820 Febbraio 2012 a Milano |
|
Nessun corso previsto |