Come eliminare in modo sicuro i file memorizzati su un SSD?


27

Da un articolo (molto lungo, ma sicuramente da leggere) sugli SSD :

Quando si elimina un file nel sistema operativo, non si verifica alcuna reazione da un disco rigido o SSD. Solo quando si sovrascrive il settore (su un disco rigido) o la pagina (su un SSD), si perdono effettivamente i dati. I programmi di recupero file utilizzano questa proprietà a proprio vantaggio ed è così che ti aiutano a recuperare i file eliminati.

La distinzione chiave tra HDD e SSD è tuttavia ciò che accade quando si sovrascrive un file. Mentre un HDD può semplicemente scrivere i nuovi dati nello stesso settore, un SSD alloca una nuova pagina (o utilizzata in precedenza) per i dati sovrascritti. La pagina che contiene i dati ora non validi verrà semplicemente contrassegnata come non valida e ad un certo punto verrà cancellata.

Quindi, quale sarebbe il modo migliore per cancellare in modo sicuro i file memorizzati su un SSD? La sovrascrittura con dati casuali a cui siamo abituati dai dischi rigidi (ad esempio utilizzando l'utilità "shred") non funzionerà se non si sovrascrive l'intera unità ...

Risposte:


22

Che ne dici di crittografare il volume stesso? I dati eliminati saranno ancora presenti ma dovrebbero essere inaccessibili a chiunque senza la chiave appropriata.


Divertente non ci ho pensato - dato che uso sempre la crittografia LUKS sui miei dischi rigidi;)
c089

Come indicato qui, ciò avrà gravi ripercussioni sulle prestazioni. Con le unità basate su SandForce, l'utilizzo della cancellazione sicura ATA cancellerà la chiave di crittografia AES, fornendo una soluzione al problema dell'eliminazione sicura quando non si utilizza la crittografia software.
c089,

12

Se l'unità SSD supporta il set di funzioni della modalità di sicurezza ATA, ha incorporato la funzionalità di cancellazione sicura, alla quale dovresti essere in grado di accedere utilizzando qualcosa come Secure Erase, documentato qui e qui .


2
+1 per la serie di funzioni della modalità di sicurezza ATA. C'è un buon video su questo su SecurityTube.net
RJFalconer,

2
Ma questa funzione è valida anche per le unità complete, vero?
c089,

@ Chris089: Esatto: la cancellazione sicura cancellerà l'intero disco. La sovrascrittura dell'intera unità con dati casuali non è garantita per cancellare l'intera unità, a causa del sottoprovisioning. (Ma potrebbe rendere inaccessibili agli utenti ordinari alcuni dei dati non cancellati.) Vedere anandtech.com/storage/showdoc.aspx?i=3531&p=9 per ulteriori informazioni.
bk1e,

Attenzione che le unità (meno recenti) non implementano questa funzionalità come dovrebbe. Dovrebbe funzionare anche per gli HDD, ma sugli SSD ha il vantaggio di poter effettivamente finire in pochi secondi anziché in ore.
Maarten Bodewes,

Un problema frustrante con Secure Erase è che molte unità richiedono di spegnerle fisicamente (scollegare il connettore di alimentazione e ricollegarlo) per farli uscire dal loro stato di "blocco della sicurezza". Solo allora funziona Secure Erase. Non è sempre facile o desiderabile dover aprire il PC, soprattutto quando si tratta di un laptop o di un sistema embedded peggiore.
misha256,

10

Anche se si sovrascrive l'intero disco, non si può essere assolutamente certi poiché sia ​​gli HD che gli SSD contengono settori di riserva che vengono sostituiti quando si verificano guasti o nel caso degli SSD per aiutare il livellamento dell'usura .

Se si desidera essere assolutamente certi che i dati non siano più recuperabili, è necessario distruggere fisicamente l'unità oltre il recupero. La sovrascrittura ti dà ragionevole certezza sugli HD - sugli SSD, non c'è davvero un modo per raggiungere questo obiettivo. Se si riempie l'intero disco, è ancora possibile che il blocco in cui si trovavano i dati sia passato a un blocco di riserva per il livellamento dell'usura e riapparirà in seguito.


Non è ancora possibile effettuare il downgrade, ma la risposta di cancellazione sicura invalida questo argomento. Naturalmente, se non si desidera fare affidamento sulla cancellazione sicura del produttore, è possibile distruggere fisicamente il flash. Ma assicurati di incenerirlo o di rompere tutti i chip, il flash è molto resistente.
Maarten Bodewes,

Nota che questa è una vecchia risposta; ormai la CANCELLAZIONE SICURA dovrebbe essere supportata dalla maggior parte se non da tutte le unità, inclusa la maggior parte delle unità a disco rigido.
Maarten Bodewes,

1
Cancellazione sicura cancella tutti gli SSD. Ma non set di file o partizioni separati.
Mikhail Moskalev,

9

A causa della natura della memoria flash NAND, gli SSD non possono sovrascrivere direttamente i dati. Sovrascrivere ripetutamente un file prima di eliminarlo non lo cancellerà in modo sicuro su un SSD: i dati verrebbero semplicemente scritti altrove sulla NAND.

Per capire perché questo è il caso, è necessario spiegare come funzionano gli SSD all'interno.

  • Il flash NAND è suddiviso in blocchi , ciascuno costituito da un insieme di pagine di dimensioni generalmente pari a 4 KB (oltre a codici di correzione degli errori). La maggior parte degli SSD moderni utilizza NAND con blocchi di 128 pagine per una dimensione di blocco di 512 KB, sebbene alcune unità, specialmente quelle più vecchie, possano utilizzare blocchi di 256 KB o più piccoli. Il diagramma seguente presuppone blocchi da 256 KB, ma il concetto è lo stesso indipendentemente dalle dimensioni del blocco.

Diagramma delle pagine in un blocco NAND
Fonte - Sorpresa di musica di cortesia su Wikipedia, CC BY-SA 3.0

  • Ogni pagina può essere scritta individualmente, ma le pagine non possono essere riscritte fino a quando non vengono cancellate e la cancellazione può essere eseguita solo in blocchi interi. Ciò significa che ogni volta che i dati vengono riscritti, l'SSD deve contrassegnare i dati nelle pagine interessate non validi e riscriverli altrove, possibilmente in un blocco diverso. In un momento più appropriato, idealmente quando l'unità è inattiva e tutte le pagine in un blocco sono contrassegnate come non valide, l'SSD può cancellare i blocchi che non sono più in uso. Questo processo di pulizia si chiama garbage collection .

  • Per consentire all'SSD di sapere quali blocchi possono essere cancellati, il sistema operativo deve dirgli quali blocchi non contengono più dati validi. Questo viene fatto usando il comando ATA TRIM . L'SSD è quindi libero di raccogliere in modo inutile quei blocchi inutilizzati.

Gli SSD tentano di diffondere le scritture in modo uniforme sulla NAND per evitare guasti prematuri, un processo che si basa sullo spazio libero disponibile sull'unità.

  • Ogni blocco NAND può sostenere solo un numero finito di cicli di scrittura / cancellazione. Molti degli attuali SSD di fascia consumer utilizzano la NAND a 19-21 nm, dove ogni blocco è valido per circa 3.000 cicli prima di diventare inutilizzabili, sebbene siano disponibili in commercio SSD aziendali e diversi SSD di fascia alta che utilizzano tipi di NAND più durevoli.

  • In tutti i casi, tuttavia, gli SSD devono diffondere le scritture su tutto il disco per evitare di indossare un'indebita usura su ogni singolo blocco per evitare un guasto prematuro del disco, attraverso un processo chiamato livellamento dell'usura . Un livellamento dell'usura efficiente può essere raggiunto solo se vi è una certa quantità di spazio ( sovraccarico ) riservato per consentire un'efficiente raccolta dei rifiuti come richiesto anche se l'unità è quasi piena.

  • In condizioni estreme in cui viene chiesto all'SSD di scrivere dati più velocemente di quanto possa cancellare vecchi blocchi (comune nei carichi di lavoro di datacenter pesanti in scrittura), potrebbe essere costretto a riscrivere i dati in un blocco in un altro blocco, quindi cancellare immediatamente il vecchio blocco per fare spazio a nuovi dati, prima che abbia avuto la possibilità di eseguire la garbage collection.

  • La riscrittura forzata di un blocco è tutt'altro che ideale perché riduce le prestazioni e contribuisce alla scrittura dell'amplificazione , in cui vengono scritti più dati nella NAND sottostante rispetto alla quantità effettiva che l'azionamento deve scrivere. Il sovraccarico aggiunto aiuta a mitigare l'amplificazione della scrittura fornendo più spazio libero per riscrivere i dati e cancellare vecchi blocchi. Questo è il motivo per cui gli SSD aziendali di fascia alta come Samsung SSD 845DC PRO hanno dimensioni come 200 GB e 400 GB anche se in realtà l'unità contiene circa 256 o 512 GB di NAND all'interno, rispettivamente. Vedi anche: Perché gli SSD hanno dimensioni strane?

  • La serie di white paper SSD di Samsung fornisce una spiegazione approfondita del funzionamento interno degli SSD. La scrittura e la cancellazione di pagine e blocchi NAND e la raccolta dei rifiuti sono spiegate nel libro bianco 04 .

L'unico modo per cancellare veramente i dati su un SSD è usare i comandi ATA Secure Erase.

  • Secure Erase indica all'unità di cancellare tutti i dati memorizzati, inclusi i dati che potrebbero rimanere nelle aree NAND con provisioning eccessivo. Al termine, tutti i blocchi vengono cancellati, determinando un'unità incontaminata.

  • Nelle unità con funzionalità di crittografia automatica, Secure Erase può essere implementato semplicemente cancellando la chiave di crittografia. Poiché i dati sulla NAND di un'unità crittografata sono illeggibili senza la chiave, non è necessario cancellare tutti i blocchi come sarebbero necessari su un'unità non crittografata.


Attenzione che non tutte le unità implementano correttamente i comandi di cancellazione sicura. Se desideri comunque utilizzare l'unità, potrebbe essere la cosa migliore da fare se non avessi la lungimiranza di crittografare dall'inizio. Se si desidera smaltire l'unità, è necessario distruggerla fisicamente, in particolare i chip flash.
Bob,

Se è necessaria la distruzione fisica, aprirei l'unità e distruggerei il PCB sottostante.
bwDraco,

@Bob Hai un link a una fonte che discute un'implementazione errata? Il secure_erasecomando fa parte dello standard ATA. Potrebbe non essere presente su alcune unità più economiche, ma se è lì dovrebbe funzionare correttamente. Il motivo per cui funziona meglio di altre opzioni è che ripristina l'unità alla sua configurazione di fabbrica originale. Anche su HDD è più veloce ed efficace di strumenti come DBAN.
Paul,

@Paul security.stackexchange.com/questions/41676/… , usenix.org/legacy/events/fast11/tech/full_papers/Wei.pdf , security.stackexchange.com/questions/62253/… Esiste assolutamente zero garanzia il firmware del drive implementa correttamente un dato di comando (bug possono accadere ovunque) - e la sperimentazione ha dimostrato che almeno alcune unità sicuramente non lo fanno. Alla fine della giornata, il problema più grande è che non puoi davvero verificare la corretta cancellazione.
Bob,

1
Dal momento che non possiamo fare una dichiarazione generale / garanzia di successo, dobbiamo supporre che almeno alcune unità non lo implementino correttamente. Se supponiamo che alcune unità non lo implementino correttamente, la cosa sicura da fare è assumere che nessuna unità lo implementi correttamente fino a prova contraria. E non è facile da dimostrare - la cancellazione potrebbe sembrare corretta per te, pur conservando le informazioni sui chip flash per tutto quello che sai - il che significa che dovresti sempre distruggere fisicamente qualcosa di veramente sensibile.
Bob,

6

Come affermato da @teabot l'uso del software di crittografia del disco completo eluderà il problema della cancellazione sicura perché non è più necessario. Tuttavia, come indicato in una domanda correlata , ciò avrà enormi ripercussioni sulle prestazioni perché impedisce molte funzionalità del controller come la compressione e TRIM ed è stato segnalato che riduce le prestazioni fino a un livello in cui un normale disco rigido è più veloce del costoso SSD. Per i dispositivi basati su SandForce, esiste una soluzione migliore: tali dispositivi eseguono la crittografia AES per impostazione predefinita e la chiave verrà cancellata quando si utilizza la funzione di eliminazione sicura ATA, rendendo tutti i dati inaccessibili a meno che l'attaccante non possa interrompere AES (128 bit per corrente, 256 bit per le nuove unità rilasciate a marzo 2011).


1
Tuttavia, non sembra esserci una soluzione per l'eliminazione sicura di pochi file. Devi cancellare l'intero disco.
c089

3

Come pensavi, pulire tutto lo spazio libero per garantire che tutti i blocchi che contenevano i dati vengano cancellati è l'unico modo per essere sicuri. Bene, oltre a prendere di una nuking il sito dall'orbita ...

Ciò richiederà molto tempo e ridurrà la durata dei chip flash, se si utilizza un brandello multi-pass.

L'altro modo per proteggere i dati cancellati è quello di archiviarli crittografati all'inizio usando un filesystem crittografato usando qualcosa come TrueCrypt.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.