INFORMATICA - WIPING & REMANENCE

...Eliminare un'informazione non è solo renderla irreperibile ma anche eliminare tutti i riferimenti che hanno portato alla sua creazione o determinazione.

Febbraio 2008

Nelle lezioni di digital forensics del sito e dal vivo capitano in genere due domande molto comuni: (a) "come faccio a cancellare effettivamente i miei dati personali?" e "...il wiping funziona come anti-forensics?".

Per ciò che riguarda l'anti-forensics rimando alla relativa pagina su questo sito ma, in questa pagina vorrei invece trattare del data remanence e del data removal ossia delle problematiche inerenti la rimozione delle informazioni dalle memorie digitali e delle "tracce" ad esse correlate.

Dal punto di vista del forensics questo argomento è importante sotto due punti di vista: (1) non si può combattere ciò che non si conosce, per cui la ricerca nel digital forensics avanza proprio nella direzione di contrastare il data removal e permettere il massimo impiego del data remanence; (2) nel computer forensics esiste una fase prepatoria all'indagine tecnica nella quale la forensic workstation deve essere "ripulita" al fine di evitare accuratamente di inficiare, anche indirettamente, i dati o più in generali le informazioni che si ottengono dall'attività forense.

Più è approfondito e complesso il meccanismo di estrazione dei dati utili che si pone in opera durante le analisi maggiore è la probabilità di rilevare dati non attinenti collegati a preventivi impieghi (forensi o meno) della workstation. Di qui, impiegare il corretto data removal è fondamentale.

Data remanence & Data removal

Nella pagina sulla volatilità dei dati in questo sito si prende in considerazione il grado di volatilità dei dati comunemente impiegati nei processi di un sistema di elaborazione. Questo paragrafo, invece, prende in considerazione il grado di persistenza di informazioni e tracce di esse quando si applica un esplicito meccanismo di cancellazione, sia esso dovuto alle feature di un sistema operativo che alla funzionalità di quale tool software o hardware.

Gutmann (1996)

Non è possibile citare l'argomento del data remanence senza citare il più famoso degli articoli nel settore dello studioso Peter Gutmann [48]. Tale lavoro, del 1996, introduce la problematica evidente del data remanence fisico su memorie digitali ferromagnetiche. In esso si introduce il "Magnetic force microscopy (MFM)...a recent technique for imaging magnetization patterns with high resolution and minimal sample preparation" e si evidenzia come la sovrascrittura dei dati digitali sia un meccanismo probabilistico fortemente affetto da variabilità.

Il perchè è semplice da comprendere, soprattutto se si prende in considerazione il più diffuso supporto di memorizzazione digitale ferromagnetico ad oggi operativo, ossia l'hard disk. Quando la testina registra uno zero o uno sulla superficie di un piatto diversi fattori di natura meccanica vanno a localizzare la magnetizzazione in un'area probabilistica che difficilmente è netta e sempre uguale a se stessa (si pensi alle microdeviazioni della traiettoria della testina nel tempo quando passa più volte sulla stessa traccia). Ciò che dovrebbe essere 0 o 1 è quindi un valore analogico che la circuiteria elettronica dell'hard disk interpreta come tale discretizzandolo. La realtà è che il citato valore analogico (letto dalla testina) viene influenzato anche da una serie di disturbi o rumori che la discretizzazione elimina ma che sono traccia di precedenti magnetizzazioni.

Il MFM o il STM (scanning tunneling microscopy, un'altra versione di MFM) permette di visionare le tracce di magnetizzazione ed i relativi rumori delle precedenti magnetizzazioni. Le possibilità sono diverse, si possono avere magnetizzazioni precedenti e successive che coincidono in valore e posizione da cui c'è continuità, si possono avere sfasamenti posizionali, difformità nei valori, difformità nell'intensità della magnetizzazione, ecc.. In ogni caso è possibile fare delle associazioni e degli studi (non semplici) che consentono una complessa forma di data recovery o meglio di recupero della/e precedente/i magnetizzazione/i.

Il data remanence fisico negli hard disk è quindi un fatto congenito che l'overwriting non elimina facilmente. Il punto chiave è rendere il rumore di magnetizzazione il più "casuale" possibile e quindi difficile da correlare nello spazio della traccia cioè impossibile da ricostruire come un segnale sensato (questa forma di data recovery è probabilistica e non deterministica). Per fare questo basta sovrascrivere il bit sulla traccia più volte alternativamente con 0, poi 1, poi 0, poi 1, ecc..

Tale fatto sembra banale ma non lo è perchè la memorizzazione sulla traccia non avviene secondo la sequenza di bit in input al controller ma per RLL (Run length limited) un metodo di codifica che, come visibile in http://en.wikipedia.org/wiki/Run_Length_Limited, limita le sequenze di bit ripetuti ad una lunghezza massima (per gestire dei problemi di sincronia nella lettura).

Questo vuole dire, ad esempio, che se si impone ad un hard disk di scrivere un pattern di tutti 0, ciò non accade effettivamente sui piatti a livello di magnetizzazione. Il metodo Gutmann ha determinato una sequenza di 35 pattern di sovrascrittura (da applicare ognuno sull'intera area di magnetizzazione) che combina sequenze massimamente varianti in codice RLL e sequenze pseudo-random che rendono il meccanismo di recupero delle precedenti magnetizzazioni praticamente impossibile [48].

Gutmann (2001)

In questo successivo lavoro [49] lo studioso dirige i suoi sforzi verso le memorie a semiconduttore (SRAM, DRAM, EEPROM, FLASH) evidenziando specifiche problematiche tecniche che determinano un data remanence fisico sicuramente inferiore, dal punto di vista temporale a quello delle memorie ferro-magnetiche ma di estrema importanza in quanto alla possibilità di applicare meccanismi di recupero dei dati più semplici e meno costosi del MFM/STM.

In particolare si evidenzia che SRAM e DRAM aumentano il data remanence proporzionalmente al tempo in cui uno stesso dato viene fatto permanere in una data locazione di memoria. Questo, ad esempio, è determinante in molti meccanismi hardware (firmware) di crittazione per quanto riguarda password e cripto-variable usati dal programma durante i calcoli. Per tale motivo la cancellazione dei dati può essere assicurata mediante un periodico cambiamento di posizione in memoria delle variabili (rilocazione periodica).

Per EEPROM e FLASH si determina una caratteristica inversa alla precedente. Le prime scritture su memorie digitali di questo tipo tendono infatti a modificarne lo stato fisico al punto di fornire informazioni utili sulle precedenti memorizzazioni. Le scritture, infatti, implicano una sorta di degradazione che è molto accentuata all'inizio dell'impiego per poi far entrare la memoria in una sorte di regime e poi distruggerla. La cancellazione dei dati diviene quindi affidabile quando la memoria è entrata già nel citato regime di impiego per cui dopo almeno qualche migliaio di sovrascritture. Si possono aggiungere poi altre misure di sicurezza [51] come: (a) mai impiegare memorie EEPROM o FLASH nuove per memorizzare dati sensibili; (b) impiegare sempre memorie FLASH della massima dimensione che si riesce a trovare sul mercato.

Skorobogatov (2002)

In relazione alle SRAM altri studi sono stati fatti sul data remanence proprio perchè largamente impiegate sui cripto-system hardware. Il lavoro dello studioso Sergei Skorobogatov [53] evidenzia la dipendenza del data remanence nelle SRAM dalla temperatura. In particolare temperature molto basse (sotto i -20 °C) il tempo di freezing dei dati passa da millisecondi a secondi o minuti. Per questo motivo in molti cripto-system si è dovuto inserire un controllore elettronico di temperatura che alla soglia dei -20°C attiva un reset forzato delle celle di memoria.

Princeton (2008)

Intendo ringraziare il Sig. Marco Ceccarelli per aver segnalato i seguenti URL:

http://www.zeusnews.it/index.php3?ar=stampa&cod=6948&numero=999

http://citp.princeton.edu/memory/

nei quali può essere trovato l'articolo [57] che rappresenta un'evoluzione di quanto studiato da Gutmann e Skorobogatov applicato alle DRAM con il preciso obiettivo di rilevare password direttamente dalla memoria centrale di un computer portatile. Lo studio, elegantemente descritto dall'articolo e concisamente quanto efficacemente rappresentato da un video (reperibile nei segnalati URL), si basa su tre tecniche fondamentali:

(1) raffreddamento del banco DRAM al fine di portare a diversi minuti se non ore il tempo di remanence dei dati;

(2) applicazione di un software di dumping del banco DRAM e di un successivo algoritmo di "ricostruzione" dei contenuti mirato alla rilevazione di password di accesso o di crittazione del file system dell'hard disk.

(3) replicazione delle condizioni fisiche del recupero dei dati per misurare il tempo di decadimento di ognuna delle celle e realizzare una ricostruzione mirata ed estremamente affidabile.

Queste tre tecniche possono essere usate da sole o in combinazione e si può pensare anche ad estrarre il banco DRAM per poi inserirlo in una sorta di workstation di lavoro.

La risposta, anche in questo caso è la rilocazione continua delle variabili critiche ed il reset elettronico termo-controllato. Mentre il primo metodo è impiegato dai software di crittazione più affidabili il secondo non è praticamente mai applicato a banchi DRAM di elaboratori.

Schneier (1996)

Nel famoso testo "Applied Cryptography" [50] Bruce Schneier (1996) afferma: "Most commercial programs that claim to implement the DoD standard overwrite three times: first with all ones, then with all zeros, and finally with a repeating one-zero pattern. Given my general level of paranoia, I recommend overwriting a deleted file seven times: the first time with all ones, the second time with all zeros, and five times with a cryptographically securepseudo-random sequence."

Una cryptographically securepseudo-random sequence è una sequenza random che proviene da un algoritmo generatore di numeri pseudo-random (PSNG) che abbia le corrette caratteristiche per essere impiegato nel campo della crittografia (CSPRNG). Ulteriori riferimenti su: http://en.wikipedia.org/wiki/Cryptographically_secure_pseudorandom_number_generator

Non sono chiare le motivazioni che hanno portato lo studioso alla determinazione del numero 7, nè il perchè dell'impiego 5 volte delle sequenze pseudo-random.

Random overwriting (Pfitzner 2003)

Lo studioso di sicurezza Roy Pfitzner, nel 2003, ha pubblicato un articolo scientifico [52] purtroppo attualmente non disponibile al pubblico, in cui fornisce i seguenti dati:

(1) la sovrascrittura random (sempre con dati provenienti da CSPRNG - vedere sopra) di un hard disk permette di mutare almeno due volte ognuno dei domini magnetici (micro aree di magnetizzazione in cui sono depositati i bit) in esso presenti con una probabilità del 99% solo se vengono effettuate sull'intera area dei platter per almeno 33 volte;

(2) con 7 sovrascritture random dell'intera area si ottiene almeno una mutazione del valore dei domini magnetici sempre al 99% di probabilità.

Degaussing

Come accennato di sopra i dati memorizzati su un hard disk sono depositati, bit per bit, su delle micro aree denominate domini magnetici la cui orientazione magnetica varia in conseguenza appunto del contento imposto dalla testina. Un degausser è uno strumento hardware teso a far perdere l'orientamento magnetico a tali domini e quindi realizzare, di fatto, una sorta di sovrascrittura forzata che non passa per controller e testina ma direttamente attraverso un campo magnetico esterno all'apparato.

Ci sono in genere due possibilità di impiego dei degausser: in DC, con un forte campo magnetico costante ed unidirezionale o in AC, con campi magnetici variabili.

NIST Special Publication 800-88 & NISP Operating Manual (DoD 5220.22-M)

Il "National Industrial Security Program", autorità statunitense incaricata di definire le linee guida per la gestione delle informazioni classificate nelle industrie private e governative, ha realizzato il NISPOM (NISP Operating Manual), anche chiamato DoD 5220.22-M [55]. Esso è in linea con le "Guidelines for Media Sanitization" del NIST (settembre 2006) [54].

Tali documenti definiscono i diversi livelli di "sanitization" che si possono applicare sulle memorie digitali e le rispettive attenzioni da porre per ogni modalità. E' importante, infatti, capire che il livello di eliminazione dei dati deve essere correlato innanzitutto all'importanza dei dati e poi alle possibilità economiche dell'utente:

(1) Abbandono: lasciare il supporto fisico in una busta della spazzatura può essere un metodo efficace, veloce ed economico per dati di non grande importanza.

(2) Cancellazione tramite sovrascrittura guidata dal controller: se l'importanza dei dati è tale da poter concepire un attacco tramite programmi di recovery o forensi (EnCase, FTK, Sleuth Kit, ecc.) una sovrascrittura a basso livello (settori fisici), sia essa a valori random o a pattern di bit prefissati è sufficiente. Nel documento si le raccomandazioni per preparare ed effettuare la sovrascrittura efficacemente.

(3) Cancellazione tramite sovrascrittura/alterazione dei dati forzato da hardware esterno al supporto: per dati rispetto ai quali si può supporre come plausibile un attacco con costoso hardware di laboratorio per recupero di informazioni cancellate fisicamente è necessario forzare l'alterazione e/o la sovrascrittura mediante metodi che bypassino il controller della memoria digitale e/o la stessa testina. Nel documento si fa riferimento ai degausser ed alle raccomandazioni per il loro impiego.

(4) Distruzione fisica: per dati estremamente sensibili o per memorie ottiche (CD, DVD) si può anche decidere per l'estrema ratio ossia la distruzione del supporto fisico di memoria ed in particolare sono segnalate le seguenti attività (non sempre mutuamente esclusive tra loro):

- trinciatura (soprattutto per nastri e film ferromagnetici), disintegrazione, polverizzazione: per quanto banale come opzione risulta di non semplice applicazione per gli hard disk. La reale rottura dei platter con riduzione in pezzi di piccole dimensioni è un'azione meccanica che richiede molta energia a causa del materiale di cui i platter sono costituiti.

- incenerimento: si intende la possibilità di portare il dispositivo a temperature tali da fargli perdere o randomizzare spontaneamente il contenuto. Si tratta della cosiddetta temperatura di Curie http://en.wikipedia.org/wiki/Curie_point al di sopra della quale il supporto ferromagnetico sul platter perde la sua proprietà di poter ospitare domini magnetici e quindi perde definitivamente qualsiasi tipo di dato.

- scioglimento in solventi chimici.

Considerazioni finali

Si possono ora riassumere i punti evidenziati relativi a data removal & remanence facendo delle considerazioni pratiche:


Considerazione #1

In assoluto le indicazioni del NIST e del DoD [54, 55] sono quelle cui bisogna fare riferimento per operare una scelta ottimale nella cancellazione dei dati. Su tale punto vorrei segnalare due osservazioni a mio avviso molto importanti anche se leggermente contrastanti:

(I) il DSS (Defense Security Service un'agenzia dell'United States Department of Defense per la sicurezza) ha emesso il documento [56] di giugno/luglio 2007 con il quale esprime a chiare lettere che "There is currently no overwriting product or process that has been evaluated in accordance with the NIAP Common Criteria Evaluation and Validation Scheme (CCEVS)." e "Effective immediately, DSS will no longer approve overwriting procedures for the sanitization or downgrading (e.g. release to lower level classified information controls) of IS storage devices (e.g., hard drives) used for classified processing."

(II) il NIST ed il DoD  [54, 55] affermano che "for ATA disk drives manufactured after 2001 (over 15 GB) clearing by overwriting the media once is adequate to protect the media from both keyboard and laboratory attack."

Il punto (I) stabilisce definitivamente che l'overwriting tramite controller del dispositivo, di qualsiasi tipo esso sia ed a prescindere dall'algoritmo che lo realizza, non è più accettabile per memorie di massa che ospitano dati altamente sensibili. Il (II), non completamente in disaccordo con il precedente, afferma che gli hard disk ormai hanno raggiunto una densità superficiale di informazioni così alta, o, che è la stessa cosa, i domini magnetici hanno raggiunto dimensioni così basse, che il recupero di laboratorio (tramite MFM/STM o altre evoluzioni) è solo teoricamente possibile.

La paura che sottende le recenti decisioni del DSS [56] è relativa al fatto che le tecniche microscopiche di recupero non sono solo teoria, ma vengono applicate di routine nella valutazione della bontà delle memorizzazioni nella progettazione di nuovi hard disk. Questo anche nei recenti hard disk ad alta ed altissima densità. Ovviamente, dalla possibilità di valutare alcuni settori fisici (fatto che si compie di routine  nei laboratori) a quella di poter estrarre gigabyte precedentemente memorizzati c'è un mare, sia a livello economico che a livello del tempo necessario a completare il processo. Ad oggi, infatti, si hanno notizie certe solo di password plurisovrascritte e poi recuperate.


Considerazione #2

Ci sono molte evidenze che l'overwriting ha due opzioni fondamentali realmente differenti, mentre tutto il resto appesantisce solo la procedura rallentandola enormemente senza effettivo valore aggiunto:

(x) 1 pass random overwriting (CSPRNG);

(xx) 35 pass Gutmann overwriting.


Considerazione #3

Per il degaussing è importante segnalare che:

(i) molti dubbi rimangono sull'intensità di campo che deve essere applicata per garantire un data remanence minimo accettabile e per questo motivo si spingono i valori in alto rendendo di fatto i degausser pericolosi per chi li impiega;

(ii) la memoria digitale, dopo il dagaussing, risulta non più utilizzabile.


Considerazione #4

Per la trincerazione e triturazione, sebbene più semplici di polverizzazione e disintegrazione (assolutamente preferibili), bisogna rispettare delle dimensioni dei residui prossimi al millimetro. Si hanno infatti diverse notizie di (costose ma efficaci) ricostruzioni fisiche di platter ridotti a brandelli con conseguenti recuperi di quasi tutti i file ivi registrati. Non basta assolutamente un martello o mazza e tanta buona volontà... ma è necessario un sistema di triturazione appositamente progettato.


Considerazione #5

Per l'incenerimento è importante capire che la temperatura di Curie è generalmente sopra i 600° C e talvolta (a seconda del materiale del platter) deve andare sopra i 1000 °C valori sia difficili da raggiungere che gestire da un comune utente per non parlare delle sostanze nocive che si possono generano a quelle temperature. L'inceneritore quindi deve essere progettato appositamente, mentre, gettare il supporto di memoria in una normale stufa a ben poco effetto...


Considerazione #6

E' bene tener presente che wiping di un intero supporto di memoria o di un singolo file sono attività il cui approccio e valutazione devono rispondere a criteri molto differenti.