Con questo articolo continua la serie dedicata al recupero dei dati (qui il primo e il secondo). In questa terza parte continuo a descrivere in dettaglio i diversi dispositivi che possono essere interessati da un problema di perdita di dati

SSD e memorie flash

Le memorie flash stanno invadendo il mercato: dischi SSD (Solid State Drive) su computer portatili, server e array sono solo una piccolissima porzione di quanto viene prodotto dall’industria, il grande sviluppo si sta verificando soprattutto nel mondo dei dispositivi mobili e in quello delle memorie rimovibili (ad esempio le chiavi USB o schede SSD).
Inoltre, i form factor, sono tantissimi e, ancora oggi, in espansione! Infatti, basti pensare che alcuni portatili non montano un dispositivo che ha la forma del tradizionale disco rigido ma un scheda ingegnerizzata appositamente (per risparmiare spazio e corrente elettrica). L’unica nota positiva riguarda uno degli aspetti tecnologici: l’industria è abbastanza standardizzata sull’uso di chip con porte NAND (questo per motivi di facilità costruttiva e minor spazio necessario sul silicio).
La complessità non si riduce a quanto scritto sopra ma ci sono almeno altre due criticità che vanno considerate quando si pensa alle memorie flash: la prima è che i chip di memoria sono inutili se non accoppiati ad un controller specializzato, appositamente studiato per operare con loro. L’altra è legata al momento storico di grande sviluppo del settore: l’industria è particolarmente attiva e i prodotti cambiano e vengono aggiornati con una cadenza quasi compulsiva rendendo particolarmente difficile tenere il passo per chi deve operarci dal lato del recupero dati.
In particolare, rispetto all’industria dei dischi rigidi, dove ormai si contano solo tre fornitori e una tecnologia abbastanza consolidata, nel mondo delle memorie flash siamo in una fase di grande crescita anche nel numero di produttori. I fornitori sono tanti, molte sono delle startup, la somma dei prodotti proposti è innumerevole e basati su tecnologie molto diverse fra loro. Sempre da un punto di vista di giovinezza, in alcuni casi immaturità, i prodotti ricevono frequentissimi aggiornamenti di firmware che hanno effetti anche sensibili sul loro comportamento sia interno che esterno.
Le memorie flash funzionano attraverso la cancellazione e la ri-programmazione di blocchi composti da celle di memoria che si trovano su dei chip appositi, questi blocchi possono avere dimensioni anche grandi (32K o più quando si parla di memorie NAND). Sono una evoluzione delle EEPROM che si usavano negli anni settanta/ottanta e, la tecnologia più diffusa con cui vengono costruiti questi prodotti, soprattutto nel lato consumer, sia chiama Multi Level Cell. Viene utilizzata principalmente perchè è la più economica ma è quella peggiore in termini di affidabilità e durabilità. Infatti, mentre la tecnologia SLC (single level cell) raggiunge circa 100.000 cicli di scrittura le MLC arrivano al massimo a 10.000. La ricerca è comunque continua e alcuni vendor stanno sensibilmente migliorando questi dati.
L’utilizzo di memorie flash nei server e negli array di dischi è ancora limitatissimo, per cui sono ancora pochi i casi di perdita di dati in questi contesti. Al contrario, l’uso di questi sistemi di memorizzazione è largamente diffuso nei device di tipo portatile (smartphone, tablet, notebook, macchine fotografiche e videocamere) e su dispositivi di memorizzazione rimovibili (i.e: chiavi USB, schede SD, ecc.) ed è proprio qui che avviene la maggior perdita di informazioni. Le statistiche mostrano altrettanto chiaramente che la maggior parte dei guasti è dovuta ad agenti esterni (es. telefono finito in acqua o distrutto dopo una caduta).
La difficoltà principale nel recupero di dati da dispositivi portatili, da un punto di vista logico, riguarda l’organizzazione dei dati al loro interno. Infatti, per quanto molti dispositivi usino un’organizzazione dei dati a file system, paragonabile quindi a quella di un PC, questi sono spesso diversi da quelli che conosciamo e usiamo abitualmente (magari sono un sottoinsieme del filesystem originale). Quindi la proliferazione di dispositivi e dei relativi sistemi operativi ha anche portato una maggiore difficoltà nell’eventuale recupero di dati.
Il processo di recupero è comunque concettualmente simile a quanto già visto in precedenza, ma diverso dal punto di vista pratico: si cerca di ripristinare il funzionamento, anche parziale, del dispositivo o si dissaldano i chip per montarli su un altro dispositivo simile o un sistema che ne permetta la rilettura dei contenuti. Questo tipo di lavorazioni sono complicate e richiedono l’attività di centri specializzati difficili da reperire.
Le difficoltà per recuperare i dati aumentano sui dispositivi più complessi anche per le tecnologie che vengono impiegate per migliorare la durabilità delle memorie flash o la consistenza dei dati. Ad esempio, il “wear leveling” è una tecnica usata per distribuire le scritture dei dati in maniera uniforme sui chip oppure i chip organizzano i dati i modo diverso in funzione del controller che li gestisce: in pratica non si deve solo recuperare il dato grezzo che risiede all’interno del chip ma è anche necessario ricostruire la struttura originaria in cui erano organizzati. A complicare ulteriormente le cose è il fatto che praticamente ogni produttore implementa diversamente questi meccanismi/algoritmi di organizzazione dei dati.

I guasti software

Fino ad ora abbiamo parlato principalmente di dispositivi e di aspetti hardware ma questa è solo una parte del problema. Un guasto software, compreso l’errore umano, è più probabile di uno hardware e non è detto che, a seguito di un guasto hardware, non si riscontri anche un conseguente problema di consistenza dei dati da un punto di vista software.
Se il problema è solo software l’intervento di recupero è relativamente più semplice, soprattutto se si tratta di un singolo disco rigido installato su un PC o un server. In molti casi esistono tool, anche di pubblico dominio, che eseguono la scansione del filesystem e riescono a recuperare i dati non leggibili. Molti sistemi operativi hanno anche dei tool integrati al filesystem stesso che possono eseguire alcune operazioni di base per risolvere le problematiche più comuni.
E’ ovvio comunque che più il sistema operativo è diffuso più sarà facile reperire i tool e l’esperienza per usarli. Rimane comunque sempre in vigore la regola che un intervento sbagliato può definitivamente compromettere i dati.
Le problematiche riguardo al recupero di strutture di dati si complicano quando si ha a che fare con array, soprattutto con quelli dell’ultima generazione. Per rigenerare la parità dopo un guasto hardware multiplo o ripristinare il filesystem interno ad un array non esistono tool commerciali o di pubblico dominio e spesso anche i vendor non prevedono questa possibilità (almeno non attraverso operazioni eseguibili dall’utente). In questi casi quindi è necessario che chi tenta il recupero abbia maturato delle conoscenze profonde dell’array e abbia anche una qualche forma di supporto dal vendor (decisamente non facile da ottenere). Nei casi più estremi è necessario estrarre tutti i dischi dall’array e importarli in un sistema che ne simuli il funzionamento.
Questa lavorazione è molto complessa ed è possibile solo in pochissimi laboratori specializzati in tutto il mondo. Nei casi più complessi è necessario attingere a competenze molto specifiche, ricostruire i pattern dei dati, sviluppare software ad hoc e poi recuperarei dati, il tutto con un processo praticamente manuale. I costi possono essere particolarmente elevati e i tempi per ottenere un risultato decisamente lunghi.

Disclaimer: L’azienda Kroll Ontrak ha sponsorizzato la realizzazione di un report sulla problematica del recupero dei dati. Il documento è diviso in due parti, nella prima viene presentata la problematica nei suoi aspetti più generali: introduzione, problematiche specifiche legate a diversi tipi di dispositivi, sistemi più complessi e virtualizzazione. La seconda parte di questa pubblicazione è dedicata alla presentazione di Kroll Ontrack. Il report sarà presto scaricabile dal sito dell’azienda e dall’area dei download del sito di Juku. In questo blog abbiamo deciso di pubblicare una serie di articoli che ripropongono la sezione indipendente del documento.