Come posso cancellare in modo sicuro un SSD? [duplicare]


40

Questa domanda ha già una risposta qui:

Uno dei nostri clienti sta chiedendo il metodo DOD-7 Pass Erase per SSD.

Abbiamo provato a cancellare un SSD da 256 GB (Samsung Make) tramite Tabernus lan, ma ci vuole troppo tempo.

Per favore guidami su come cancellare l'SSD dalla versione 7.3.1 di Tabernus lan.

inserisci qui la descrizione dell'immagine


5
Normalmente 1 passaggio dovrebbe essere sufficiente se l'NSA non ti segue. Ma gli SSD non hanno una qualche forma del comando TRIM che rende inaccessibili i dati senza eliminarli (salvando i cicli di scrittura)?
Paul Stelian,

5
Dovresti guardare il software "Magician" di Samsung (un disco di avvio che ti consente di eseguire il comando "cancellazione sicura"). Ora, se TRIM o "Secure Erase" di un SSD soddisfano la conformità DoD è un'altra cosa ... Non lo saprei.
Kinnectus,

5
@PaulStelian - non dimenticare che questo è l'SSD di cui parla l'OP - la cancellazione di un SSD è una cosa completamente diversa da un tradizionale HDD meccanico.
Kinnectus,

16
il più sicuro (ma più costoso) è scioglierlo con il fuoco
Sarge Borsch,

7
Il DoD non usa nemmeno più quel vecchio standard. È assolutamente irrilevante e distruttivo se eseguito su un SSD.
Michael Hampton,

Risposte:


63

Breve:

Una cancellazione per sovrascrittura di più passaggi (7) non fa ciò che ti aspetti che faccia su un SSD. Se necessario, puoi implementarlo e dire al cliente che hai fatto, ma non aspettarti che cancelli tutti i dati .

Sfondo:

Per pulire i dati da un hard disk convenzionale hai avuto le seguenti soluzioni:

  • Pulisci l'indice (ad esempio, diskpart clean). Facile da recuperare.
  • Sovrascrivi l'intero disco. Questo lo cancella per gli utenti normali. Se hai accesso a un hardware molto sensibile, del tipo a cui solo i governi hanno accesso, potresti essere in grado di recuperare alcuni dei dati. Pensalo come cancellare appunti scritti a matita e scrivere nuovo testo. Rimane un'ombra.
  • Sovrascrivi il disco più volte con vari schemi, sconfiggendo anche gli attaccanti più capaci.

Gli SSD funzionano in modo diverso. Hanno un numero di blocchi che sono raggruppati. Le scritture possono accadere solo a un gruppo. Pensalo come un libro in cui puoi scrivere solo su una pagina. Se si desidera aggiungere una frase, il controller dell'SSD leggerà l'intera pagina e scriverà una nuova pagina (con la frase aggiuntiva) in una posizione diversa. Contrassegnerà quindi la vecchia pagina come vuota e assegnerà il vecchio numero di pagina alla nuova pagina.

Ciò significa che non esiste un mapping diretto tra ciò che il sistema operativo vede sono settori (pagine) e ciò che è sul disco.

Potresti riempire l'intero disco con un nuovo file (ad esempio uno contenente solo zero) e lo spazio di riserva non verrebbe toccato. Quindi ci sono ancora dati recuperabili. Potresti farlo 7 volte e avere ancora gli stessi dati recuperabili.

Buone notizie

La buona notizia è che gli SSD vengono spesso forniti con la crittografia su disco. Butta via la chiave di crittografia e i dati sono inutili.

Ancora meglio è che questa crittografia dei dati può sempre essere utilizzata. Anche quando non hai abilitato esplicitamente la crittografia. In tal caso il disco scrive ancora i dati crittografati con una chiave memorizzata da qualche parte sull'SSD. Digli di buttare via questa chiave e sostituirla con una nuova e il gioco è fatto. È veloce e sicuro.

C'è anche un comando per farlo ( cancellazione sicura ATA ).

Questa è l'unica soluzione tecnica corretta . Fallo anche se insistono su 7 passaggi sovrascritti (eseguendo quest'ultimo solo in modo da conformarti alle loro richieste e il primo per l'intenzione di tali richieste).

Lentezza del cattivo metodo

Non ho esperienza con tabernus lan. Ma quasi tutti gli SSD accettano scritture sostenute per oltre 100 MB / sec. Con quella velocità, anche un SSD molto lento dovrebbe finire entro un'ora. Un SSD medio veloce dovrebbe finire in un quinto di quel tempo.

Se non vai da nessuna parte vicino a quella performance, sospetto che la tua soluzione stia scrivendo settore per settore. Non va bene. Dovrebbe svuotare i settori il più velocemente possibile con una profondità della coda di 32. Senza di ciò si arriva all'analogia della pagina dall'alto.

A partire da una pagina intera con 8 frasi scritte.

  • Cancella la frase 1.

    • Leggi l'intera pagina.
    • Elimina la prima frase
    • Scrivi un'intera pagina con 7 frasi in un blocco / pagina diversa
  • Cancella la frase 2.

    • Leggi l'intera pagina.
    • Elimina la seconda frase
    • Scrivi un'intera pagina con 6 frasi in un blocco / pagina diversa
  • Cancella la frase 3.

    • Leggi l'intera pagina.
    • Elimina la terza frase
    • Scrivi un'intera pagina con 5 frasi in un blocco / pagina diversa
  • Cancella la frase 4.

    • Leggi l'intera pagina.
    • Elimina la quarta frase
    • Scrivi un'intera pagina con 5 frasi in un blocco / pagina diversa
  • Cancella la frase 5.

    • Leggi l'intera pagina.
    • Elimina la quinta frase
    • Scrivi un'intera pagina con 3 frasi in un blocco / pagina diversa
  • Cancella la frase 6.

    • Leggi l'intera pagina.
    • Elimina la sesta frase
    • Scrivi un'intera pagina con 2 frasi in un blocco / pagina diversa
  • Cancella la frase 7.

    • Leggi l'intera pagina.
    • Elimina la 7a frase
    • Scrivi un'intera pagina con 1 frase in un blocco / pagina diversa
  • Cancella la frase 8.

    • Contrassegna sulla pagina come eliminato (ma non cancellalo fino a quando non avrai bisogno di più spazio)

Notate quanto è durato quel testo? Stessa cosa con la velocità SSD.


I commenti non sono per una discussione estesa; questa conversazione è stata spostata in chat .
Sathyajith Bhat

1
" Esiste anche un comando per farlo (cancellazione sicura ATA). Questa è l'unica soluzione tecnica corretta. " Nota che ATA SE non riesce a cancellare in modo sicuro alcuni SSD: usenix.org/events/fast11/tech/full_papers/Wei.pdf
Miles Wolbe,

9

Apparentemente il software che hai usato NON funziona correttamente. Uno dei tuoi screenshot mostra 97 MB / s come velocità. Con quella velocità, la sovrascrittura a 7 passaggi dell'intero disco su un'unità da 256 GB dovrebbe richiedere circa 5 ore. Calcolo semplice.

Invece potresti provare Blancco 5 . Come puoi vedere, il link che era per Tabernus Erase LAN viene reindirizzato al suo sito. Puoi anche prendere in considerazione l'ultimo DBAN , che sembra essere la versione gratuita di Blannco.

Ad essere sincero, non ho mai usato alcun componente del software di cui sopra. Dubito che stiano davvero facendo un lavoro migliore di una semplice sovrascrittura casuale.

Personalmente, uso shred nei coreutils GNU:

shred -v -n 7 /dev/sdX

Non userò davvero -n 7però. Al massimo lo lascerò al valore predefinito: 3 passaggi, e forse con un ulteriore riempimento zero a passaggio singolo alla fine ( -z).

Oppure, openssl:

openssl enc -aes-256-ctr -in /dev/zero -out /dev/sdX -pass file:/dev/urandom -nosalt

che puoi scrivere un semplice ciclo bash per farlo fare più passaggi. Non riporta progressi come shredse.

A proposito, secondo alcune fonti casuali su Internet (solo Google, per favore), sembra che il Dipartimento della Difesa statunitense abbia già obsoleto le specifiche per la sanificazione dei dati. Ora sembra riconoscere solo la distruzione fisica.

Uno dei possibili motivi, che è di tuo interesse, è che la semplice sovrascrittura potrebbe non "raggiungere" tutto lo spazio riservato dietro la scena su un SSD per il cosiddetto over-provisioning (fatto nel firmware) e / o riallocazione di settori danneggiati . Sfortunatamente, più passaggi di riempimento casuale di dati sono probabilmente la cosa migliore che puoi fare, se il tuo SSD non supporta la crittografia hardware.


NON contare su ATA DSM / TRIM se è necessario cancellare i dati in modo sicuro. TRIM può O ANCHE POTREBBE NON far "sembrare" l'SSD (cioè hexdump) completamente cancellato, ma in realtà non distrugge i dati dietro la scena come sovrascrivere comunque.

Neanche uno dovrebbe fidarsi di ATA Secure Erase 1 . Gli standard ACS richiedono semplicemente che esegua il riempimento del modello (single-pass). La modalità normale dovrebbe avere zero o uno come modello, mentre la modalità avanzata dovrebbe avere un modello specifico del fornitore (ma è comunque riempimento del modello) e cancellare anche "Dati utente riallocati".

Tuttavia, il set di funzionalità è stato a lungo abusato dai venditori per fare cose non standard 3 , quando ATA SANITIZE DEVICE non era stato introdotto. Quindi il comportamento di ATA Secure Erase può essere TOTALMENTE specifico del fornitore, specialmente su SSD.

Su un SSD, ATA Secure Erase è spesso implementato allo stesso modo di BLOCK ERASE di ATA SANITIZE DEVICE, che è praticamente un'equivalenza di ATA TRIM su disco intero (su un SSD RZAT 2 ).

Il riempimento di pattern fisso (che potrebbe essere incorporato in qualche implementazione di "DOD erase" che non ha in mente SSD) non vale davvero la pena fare perché i controller "intelligenti" in SSD possono fare compressione e persino ignorare su tale sovrascrittura ripetuta.

Se si vuole davvero farlo, per qualche motivo, suppongo che OVERWRITE di ATA SANITIZE DEVICE sia il modo migliore da usare. (Dal momento che, si spera , i fornitori si assicureranno che il controller non "giochi in modo intelligente" quando l'utente lo invia all'unità.)


Su HDD / SSD che ha la cosiddetta crittografia hardware, la modalità avanzata di ATA Secure Erase è spesso implementata come la stessa cosa di CRYPTO SCRAMBLE di ATA SANITIZE DEVICE, che avvia una rigenerazione della chiave di crittografia e così via. Potrebbe essere il miglior metodo "rapido" da utilizzare se si desidera pulire in modo sicuro l'unità, poiché questo è praticamente l'intero punto di quella crittografia hardware non opale (mentre le persone di solito pensano erroneamente che il punto principale sia lavorare con Password ATA).

FWIW, è sempre necessario abilitare il set di funzionalità di sicurezza ATA prima (ad es. "Password utente") prima di cancellare, il che spesso crea problemi a causa di un'implementazione errata (beh, o PEBKAC). Se l'unità supporta ATA SANITIZE DEVICE, dovrebbe davvero essere preferita. Sfortunatamente, a differenza del fatto che ATA Security sia supportato in hdparm , sembra che non ci sia ancora alcuna utilità che supporti il ​​set di funzionalità più recente. Nella migliore delle ipotesi si può formare manualmente un comando SCSI ATA PASS-THROUGH e inviarlo con sg_rawin sg3_utils .


Nota:

1 Il nome del comando standard di ATA Secure Erase è SECURITY ERASE UNIT, che è un comando obbligatorio nel set di funzionalità di sicurezza ATA

2 Restituisce i dati azzerati dopo il trim; vedere gli standard ACS per la sua definizione esatta

3 Specifiche degli SSD SATA Intel 530 ; vedere "5.3 Set funzioni della modalità di sicurezza"; un esempio di fornitore principale che "abusa" del set di funzionalità di sicurezza ATA


... oppure puoi impostare una semplice mappatura dm-crypt e usare ddrescue per sovrascrivere da / dev / zero nella mappatura, per progressi e qualità crittografica indistinguibili da casuali.
un CVn il

1
Poiché gli SSD implementano così tanti movimenti di blocco sotto il cofano per le prestazioni e possono essere sottoposti a provisioning eccessivo (più spazio di quanto pubblicizzato in modo da poter eseguire le manipolazioni di cui sopra), non si può presumere che la scrittura di dati su un SSD rimuova effettivamente tutti i dati. Il reset del fornitore è l'unico modo per cancellare veramente le celle (e le cancella, e non c'è modo di recuperarle). Questo è diverso dai dischi rigidi, dove potrebbero esserci dei residui magnetici che potrebbero essere letti da un utente malintenzionato (anche se con la densità dei dati su unità moderne, al giorno d'oggi è sufficiente una sola scrittura).
Alan Shutko,

1
@AlanShutko solo se l'unità ha la crittografia hardware. Altrimenti SANITIZE BLOCK ERASE / ATA Secure Erase funzionerebbe solo come TRIM (o almeno potrebbe; finora tutti gli SSD che ho visto li hanno implementati in quel modo). L'avvertenza di utilizzare i comandi ATA per cancellare "in modo sicuro" l'unità, equivale a "fidarsi dei fornitori" su questo.
Tom Yan,

1
Non sembra che ciò shred assicuri che i dati vengano cancellati su SSD e per ogni tipo di filesystem. Dall'uomo CAUTION: Note that shred relies on a very important assumption: that the file system overwrites data in place. Puoi aggiungere i riferimenti su come funziona shred (quale comando invia) quando funziona su una partizione completa?
Hastur,

1
@Hastur sta parlando di shredfile su un filesystem, non quando sei su shreduna partizione / disco.
Tom Yan,

5

Da questa pagina di archlinux sulla cancellazione delle celle di memoria SSD seguendo la pagina di cancellazione sicura ATA , è suggerito

  1. Passaggio 1: assicurarsi che la sicurezza dell'unità non sia bloccata
  2. Passaggio 2: abilitare la sicurezza impostando una password utente
  3. Passaggio 3: immettere il comando ATA Secure Erase

Alcuni dettagli in più

  • Per il passaggio 1, è possibile verificare che l'unità non sia bloccata

    hdparm -I /dev/sdX
    

    Se l'output del comando mostra "congelato", non è possibile procedere al passaggio successivo. Alcuni BIOS bloccano il comando ATA Secure Erase emettendo un comando "SECURITY FREEZE" per "bloccare" l'unità prima di avviare un sistema operativo.

  • Per il passaggio 2, leggi [ 1 ] per l'avvertenza relativa ai computer Lenovo:

    hdparm --user-master u --security-set-pass PasSWorD /dev/sdX security_password="PasSWorD"
    

    e dovrebbe rispondere a qualcosa del genere

    /dev/sdX:
    Issuing SECURITY_SET_PASS command, password="PasSWorD", user=user, mode=high
    

    quindi ricontrollare

    hdparm -I /dev/sdX
    
  • Per il passaggio 3:

    hdparm --user-master u --security-erase PasSWorD /dev/sdX
    

    Esiste il parametro --security-erase-enhanced per la cancellazione della sicurezza avanzata. È stato riferito [ 1 ] che "Un breve periodo (come 2 minuti) a sua volta indica che il dispositivo è auto-crittografato e la sua funzione BIOS cancellerà la chiave di crittografia interna invece di sovrascrivere tutte le celle di dati" , nel frattempo un tempo più lungo richiesto dovrebbe indicare un dispositivo non crittografato.

    Sui dispositivi crittografati è possibile segnalare lo stesso tempo previsto per l' opzione --security-erasee --security-erase-enhanced. In questo caso si suppone che verrà utilizzato lo stesso algoritmo [ 3 ] . Si noti che per l'HDD normale il parametro avanzato , tra le altre differenze, dovrebbe sovrascrivere anche i settori che non vengono più utilizzati perché in qualche momento hanno provocato un errore I / O e sono stati rimappati. Dovremmo supporre che agirà allo stesso modo anche per l'SSD, anche perché il numero di questi blocchi non dovrebbe essere abbastanza grande da essere riflesso in una differenza di tempo maggiore di un minuto. Maggiori informazioni in questa risposta su Security SE .

    Nel caso di esempio della pagina di cancellazione della cella di memoria SSD , per l'SSD Intel X25-M da 80 GB viene comunque riportato un tempo di 40 secondi.

    Attendere il completamento del comando. Questo output di esempio mostra che ci sono voluti circa 40 secondi per un SSD Intel X25-M da 80 GB.

Nota: dopo 3 passaggi, l'unità viene cancellata e la sicurezza dell'unità deve essere automaticamente disabilitata (quindi non è necessaria una password per l'accesso).


Aggiornare

Dalla pagina di cancellazione sicura ATA :

Questa procedura descrive come utilizzare il comando hdparm per inviare un'istruzione Secure Aase ATA a un dispositivo di archiviazione di destinazione. Quando viene eseguita una cancellazione sicura su un'unità SSD, tutte le sue celle verranno contrassegnate come vuote, ripristinando le prestazioni di scrittura predefinite di fabbrica.

NOTA BENE: Questo cancellerà tutti i tuoi dati e non sarà recuperabile nemmeno dai servizi di recupero dati.


On occasion, users may wish to completely reset an SSD's cells to the same virgin state they were manufactured, thus restoring it to its factory default write performance.Questo è tutto, e "stato vergine" qui NON significa che i dati vengano cancellati in modo sicuro.
Tom Yan,

ti sei perso --security-erase?
Hastur,

Suppongo che tu intenda --security-erase-enhanced. Sai cosa, ho l'esatto disco di esempio (il dannatamente classico classico X25-M gen1 / 50nm 80GB). Non supporta la crittografia hardware o TRIM. Supporta (sembra) sia la modalità normale che la modalità avanzata di cancellazione della sicurezza. Entrambi hanno lo stesso tempo stimato richiesto (2min). Ora, indovina, fanno qualcosa di diverso? : P
Tom Yan,

1
@TomYan Puoi leggere la risposta di un moderatore serverfault che fa riferimento alle stesse specifiche ATA su cui si basa la risposta sopra. DISCLAIMER: This will erase all your data, and will not be recoverable by even data recovery services.
Hastur,

1
@MichaelHampton È una frase riportata dalla stessa pagina di archlinux. Concordo sui 2 secondi per i tasti, anche se due minuti mi sembra un tempo troppo breve per cancellare tutti i blocchi anche se si tratta di un comando interno (velocità massima di scrittura 70 MB / s * 120 sec ~ 8.4G = 1 / 10 di 80 GB). Inoltre, in una risposta sul sito di sicurezza SE hanno detto: _ "2 minuti non sono sufficienti per sovrascrivere l'intero disco, quindi se quel disco implementa una vera" cancellazione sicura ", deve essere con il meccanismo di crittografia" _. Se hai riferimento a riguardo si prega di aggiungere, sarà utile.
Hastur,

1

Poiché un SSD non si preoccupa del numero di passaggi di dati inseriti (tranne che si esaurisce più velocemente) e il recupero dei dati non è possibile dopo un passaggio completo (a meno che non si inseriscano dati nello spazio sottoposto a provisioning), basta scrivere completamente con 1 rimuoverà tutti i dati esistenti.

Il problema che affronti sarà principalmente nello spazio di archiviazione non accessibile all'utente, come qualsiasi spazio sottoposto a sovraprestazione utilizzato per livellare l'usura, eventuali cache e possibili NVRAM che potrebbero contenere dati che identificano un sistema, un sistema operativo o qualcosa del genere.

Per cancellare in modo sicuro un SSD, è necessario supportarlo in modo esplicito e attualmente è ancora specifico del controller e del firmware. L'uso di un software di cancellazione sicura progettato per supporti magnetici non ha senso in quanto il modo in cui i dati vengono cancellati in modo sicuro non ha alcuna relazione tra memoria a stato solido e memoria magnetica. Con l'archiviazione magnetica potresti teoricamente ripristinare gli stati precedenti di bit, ma con la memoria flash, un bit non può davvero avere uno stato "precedente" che potresti rilevare. Può contenere uno 0 o un 1 e non un polo magnetico con intensità variabile a seconda dei valori precedentemente detenuti.

Metterei semplicemente il PCB in un frullatore industriale e poi il flash chip si trasformerebbe in polvere. Non ottenere alcun dato da quello. La rivendita di SSD usati non è in realtà neanche una cosa, dal momento che non hanno ancora un modello di durata / utilizzo noto come quelli dell'HDD. Nella migliore delle ipotesi hanno uno stato SMART "status wear".


1

Se si tratta di dati davvero importanti che non dovrebbero mai essere recuperati, non è più sicuro utilizzare il disco.

Come altri hanno già detto, la sovrascrittura non funziona sugli SSD e se il produttore ha sbagliato la crittografia (tagliare angoli per risparmiare denaro, incompetenza ecc.), Anche la rimozione della chiave non aiuta.

Con effetto immediato, DSS non approverà più le procedure di sovrascrittura per la sanificazione o il declassamento (ad es. Rilascio a controlli di informazioni classificate di livello inferiore) dei dispositivi di archiviazione IS (ad es. Dischi rigidi) utilizzati per l'elaborazione classificata.

Se lavori con dati riservati (in particolare quelli che coinvolgono il governo) hai bisogno di qualcosa di un po 'più sicuro. Consiglierei una fiamma ossidrica:

Fonte, CNET

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.