Visualizza il feed RSS

Titolo provvisorio...

GNU/Linux e *BSD: deep erase dei dati

Valutazione: 3 voti, con una media del 5.00.
di pubblicato il 09-02-2010 alle 03:08 (4343 Visite)
La "sicurezza informatica", moderna espressione omnicomprensiva assurta al rango di feticcio mitologico e proteiforme, è un argomento che riscuote molta e perfino troppa attenzione anche sui media generalisti, quasi sempre a sproposito.

Ma anche nella letteratura che si autodefinisce specialistica si fa fatica a trovare considerazioni realmente sensate e riflessioni serie in ordine a taluni conflitti che sorgono tra affidabilità, privacy, sicurezza anche in casi piuttosto banali e quotidiani.

E' ben noto, e generalmente ben accolto, il fatto che da anni sono disponibili soluzioni hardware mainstream a bassissimo costo per la ridondanza fisica dei dischi, con configurazioni di tipo RAID e la più recente JBOD: un tempo appannaggio esclusivo di hardware SCSI e FC blasonato e costosissimo, oggi applicate anche agli economicissimi dischi SATA, con controller integrati sulle MB mainstream - anche di fascia entry.

Dall'altro lato, file systems avanzati basati su logging o journaling sono sempre più diffusi, sia in ambito *nix che per la famiglia NT.

Un effetto positivo della combinazione ormai pervasiva di queste due tecnologie e di altri accorgimenti di implementazione è certamente la maggiore affidabilità della memorizzazione dei dati, assieme ad una maggiore facilità di recupero autonomo degli stessi in caso di cancellazioni involontarie, con l'uso di banali applicativi - anche di costo nullo.

L'effetto negativo, forse meno intuitivo, è che in tali condizioni i file "temporanei", se gestiti con leggerezza, sono tutto tranne che temporanei - e le cancellazioni, anche quelle volontarie e giustificate, non sempre sono esattamente tali.

In questo la "sicurezza" (nel senso di "robustezza del FS e integrità dei dati") confligge apertamente con la "sicurezza" (nel senso di "privacy" e "segreto industriale"), specialmente per quanto riguarda i dati gestiti automaticamente dal sistema operativo e dalle applicazioni più complesse: copie di cache, swap area, file temporanei, "anteprime", thumbnail, ed altre centinaia di file che "toccano" il disco a totale insaputa dell'utente durante attività di elaborazione CAD/EDA, calcolo, rendering, navigazione, eccetera.

Un aspetto sovente trascurato è che tutti questi frammenti di swap, file intermedi, backup... di norma sono veri e propri dump della memoria, dunque contengono dati in chiaro, al contrario dei prodotti finali di un'elaborazione CAD o dei documenti DTP, che vengono salvati cifrati e protetti da password su un FS a sua volta preferibilmente cifrato.
Anche se vengono cancellati automaticamente al termine delle operazioni, codesti file temporanei (di nome, non di fatto) lasciano su disco parecchia "sporcizia" che qualche ficcanaso può facilmente recuperare con un applicativo anche mediocre di unerase.

Vi sono ovviamente vari aspetti connessi alla questione, che meritano almeno una menzione anche se non ci interessa affrontarli in particolare in questa blog entry: ad esempio il discorso sistemistico della progettazione razionale delle ridondanze fisiche e dello schema di partizione per confinare i dati temporanei e i file passibili di cancellazione definitiva in partizioni con FS "elementari" (es. FAT32) su unità semplici (i.e. non-RAID 1+); oppure la banale navigazione "anonima" (così, curiosamente, la definisce Chrome) rispetto alle memorie di massa.

Per inciso, noterei che non occorre certo essere geni a livello di Henri Poincaré o John Von Neumann per concepire un browser (installato o "portable" che sia) che mantenga la propria cache completamente e unicamente in memoria centrale, oggi che anche il più scarso PC desktop monta 4 o 8 Gb di RAM - anche se pare che questa banalissima idea non sia particolarmente sfruttata...

Tutte queste considerazioni, nel complesso, rafforzano la necessità di tools in grado di garantire un idoneo livello di irrecuperabilità di files che si desideri rimuovere "definitivamente" dai propri dischi, per i motivi più vari e ordinari. A maggior ragione, tali tools dovrebbero essere utilizzati anche per la pulizia periodica dello spazio non utilizzato, che include i settori già appartenuti a files cancellati, ma non ancora "riciclati" e quindi non sovrascritti.

Tra le utilities per la cancellazione "definitiva" di file, directories e partizioni che troviamo normalmente incluse nelle distribuzioni GNU/Linux mainstream, ci sono da alcuni anni shred e wipe. Esistono anche altri equivalenti, come Linux Scrub o applicativi inclusi in package multifunzionali, come ad esempio kGPG.

I problemi richiamati sopra - in particolare nei filesystems basati su logging o journaling in modalità "data=journal" - si aggirano solitamente applicando il comando ad un intero block device: ciò di norma agisce a monte del FS (anche se non garantisce di aggirare le policy di delayed writing e ridondanza di un controller RAID top notch come NetRAID o SmartArray, ad esempio). Per questo si insiste sull'opportunità di progettare accuratamente il proprio schema di partizione.

Naturalmente wipe, shred, scrub sono metodi "sicuri" a specifica Gutmann, DoD 5220.22-M, Schneier e simili, che effettuano numerose sovrascritture con pattern ben definiti: in questo differiscono rispetto ad altre soluzioni per la scrittura di settori a basso livello, come il noto comando Posix dd.

Nelle giuste condizioni l'uso di tali tools rende la partizione, la directory o il singolo file di norma non recuperabili con gli appositi software reperibili sul mercato, e questo ha anche un costo in termini di tempo di esecuzione, certamente superiore rispetto al semplice dd.

Si noti che codesti metodi, in condizioni normali, sono sufficientemente "sicuri" nei confronti di un casuale ficcanaso in grado di accedere localmente al PC e di utilizzare un applicativo avanzato di data recovery: ad esempio, l'acquirente un po' smaliziato di un PC da te precedentemente utilizzato, o un dipendente infedele, o una "lei" paranoica e informaticamente alfabetizzata.

La relativa sicurezza aumenta se si utilizzano intensivamente anche le capacità di cifratura offerte dai vari driver per FS.

Tuttavia non è banalmente sperimentabile da un comune mortale il grado di efficacia assoluto di simili programmini, ovvero la resistenza nei confronti di metodi fisicamente invasivi, come quelli utilizzati dalle società specializzate nel recupero di dati da HD difettosi o variamente soggetti a guasti.

Per chi è sensibile al problema, ad esempio chi ha ripetutamente memorizzato e poi eliminato dai propri HD progetti importanti, creazioni originali, documenti riservati e altri segreti industriali di valore che decisamente non devono passare in mani estranee, il non plus ultra al termine del ciclo di vita del disco è la distruzione fisica dell'unità, possibilmente effettuata smontandone i piatti e sottoponendoli direttamente a temperature che oltrepassino il punto critico di Curie per il materiale magnetico del quale sono rivestiti, oppure infilandoli in un degausser (un po' meno facile a reperirsi) o tuffandoli in qualche acido inorganico particolarmente aggressivo... insomma, basta dare una rilettura al libro di chimica del liceo o del biennio scientifico, e poi lasciarsi guidare dalla fantasia.

aggiornamento da 29-04-2012 a 00:23 di M.A.W. 1968

Categorie
Linux , Open Source , Tecnologia

Commenti