Come posso cancellare in modo sicuro un disco rigido?


210

Sto pensando di vendere un disco rigido esterno USB che attualmente contiene una vecchia installazione di Ubuntu con password archiviate e informazioni bancarie.

Come posso cancellare in modo sicuro l'unità prima di venderla?


2
Inoltre, dai un'occhiata a questa pagina EFF per una spiegazione esauriente su più SO.
Tom Brossman,

@Lekensteyn 'Rimuovere i keylots'? Ho appena cercato AU e non ho ottenuto altro che domande e risposte parzialmente correlate . Devo porlo come una nuova domanda o è coperto qui?
Tom Brossman,

Se hai una passphrase sicura, il mondo non si perde quando perdi la guida. Tuttavia, si consiglia di cancellare i keylot come descritto in 5.3 di code.google.com/p/cryptsetup/wiki/… . Vai avanti e chiedi di cancellare i dischi crittografati.
Lekensteyn,

Risposte:


226

Cancellazione sicura di un dispositivo di archiviazione

C'è un'utilità da riga di comando chiamata shred, che sovrascrive i dati in un file o in un intero dispositivo con bit casuali, rendendo quasi impossibile il ripristino.

Prima di tutto, devi identificare il nome del dispositivo.

Potrebbe essere qualcosa di simile /dev/sdbo /dev/hdb(ma non simile /dev/sdb1, è una partizione). È possibile utilizzare sudo fdisk -lper elencare tutti i dispositivi di archiviazione collegati e trovare lì il disco rigido esterno.

NB Assicurati che sia il dispositivo corretto, la selezione del dispositivo sbagliato lo cancellerà.

Smonta tutte le partizioni attualmente montate su quel dispositivo, se presenti. Quindi eseguire quanto segue, sostituendolo /dev/sdXcon il nome del dispositivo:

sudo shred -v /dev/sdX

Questo sovrascriverà tre volte tutti i blocchi sul dispositivo con dati casuali, il -vflag è per prolisso e stamperà l'avanzamento corrente.

È possibile aggiungere l'opzione -nNper eseguire questa operazione solo N volte, per risparmiare tempo su dispositivi di grande capacità. Questo potrebbe richiedere del tempo, a seconda delle dimensioni del disco rigido esterno (penso che occorrano circa venti minuti per la mia unità flash da 4 GB).

Puoi anche impostare tutti i bit a zero dopo l'ultima iterazione aggiungendo l'opzione -z, preferisco farlo.

sudo shred -v -n1 -z /dev/sdX

Dopodiché, dovrai ripartizionare il dispositivo. Il modo più semplice è installare GParted e usarlo:

sudo apt-get install gparted
gksu gparted

Scegli il tuo dispositivo nell'elenco nell'angolo in alto a destra. Quindi selezionare Device -> Create partition tableper creare una tabella delle partizioni sul dispositivo.

Quindi aggiungi una singola partizione che utilizza tutto lo spazio non allocato sul dispositivo, scegliendo fat32come file system. Applica le modifiche facendo clic sul pulsante Applica (il segno di spunta verde) nella barra degli strumenti.

Suggerimenti

  • Leggi la manpage per shredonline o digitando man shrednel terminale.
  • Fare attenzione che alcune parti del disco non verranno cancellate: utilizzare il comando "SICURE ERASE" del firmware dell'unità, ad esempio tramite hdparm, per pulire correttamente un disco.

31
Le migliori pratiche qui: scollegare tutti i dischi rigidi, collegare l'unità esterna e quindi eseguire quanto sopra da un CD live per evitare anche la possibilità di frullare tutto ciò che conta.
Nick Pascucci,

30
Si noti che questa risposta è stata deprecata dal metodo SECURE ERASE per richiedere all'unità di cancellarsi. Questo dovrebbe occuparsi di tutti i dati possibili e non tassare inutilmente il sistema. È possibile eseguire una cancellazione sicura, in cui l'unità si cancella automaticamente, utilizzando l' hdparmutilità. Questo metodo tenta di cancellare l'intera unità, compresi i settori danneggiati. Inoltre è molto più veloce della sovrascrittura nel modo normale. È anche i metodi consigliati per le unità SSD, dove shredè una pessima idea.
Maarten Bodewes,

6
@owlstead: potresti elaborare? Cos'è SECURE ERASE e come si usa? È apprezzato se fai una risposta separata se ne hai una migliore.
Mads Skjern,

17
Il commento sull'uso del comando ATA Secure Erase è fuorviante. Esistono seri problemi con l'utilizzo di SE (per quanto riguarda la mancanza di supporto coerente da parte dei fornitori e la mancanza di trasparenza nel processo). Correlati: security.stackexchange.com/questions/62253
MV.

2
@Fiksdal Non lo so, sono passati cinque anni da quando ho scritto questa risposta e non ricordo le mie motivazioni per dirlo in quel modo. Detto ciò, penso di averlo inteso come "praticamente impossibile oggi ma plausibilmente possibile in futuro con un sufficiente miglioramento tecnologico".
Frxstrem,

94

Basta "zero" utilizzando lo ddstrumento:

  1. Avviare l'utilità disco tramite System > Administration > Disk Utility
  2. Trova il tuo disco nel pannello di sinistra, selezionalo e sulla destra trova il percorso del dispositivo (ad es. /dev/sdX)
  3. Esegui il seguente comando da un terminale gnome (Applicazioni> Accessori> Terminale):

    sudo dd if=/dev/zero of=/dev/sdX bs=1M

    assicurati di utilizzare il percorso corretto del dispositivo e non solo di copiare questa riga!

Ciò sovrascriverà l'intero disco con zeri ed è considerevolmente più veloce della generazione di gigabyte di dati casuali. Come tutti gli altri strumenti, questo non si occuperà dei blocchi che sono stati mappati per qualsiasi motivo (errori di scrittura, riservati, ecc.), Ma è altamente improbabile che l'acquirente disponga degli strumenti e delle conoscenze per recuperare qualsiasi cosa da quei blocchi.

PS: Prima di te i fanboys di Bruce Schneier mi hanno sottovalutato: voglio la prova che è possibile recuperare i dati da un disco rigido rotativo non antico che è stato sovrascritto con zeri. Non pensare nemmeno a commentare diversamente! : P


6
+1 per Bruce Schneier (e DD che è davvero uno strumento eccellente)
n.

6
Non dire che questa è la "prova" più forte, ma il metodo Gutmann esiste per una ragione. Per quanto ne so, i moderni dischi rigidi sono ancora teoricamente suscettibili al recupero dei loro dati se sono stati sovrascritti da zero. Indipendentemente dal fatto che continui o meno, spero che tu possa ammettere che non farà male sovrascrivendo usando / dev / random o un algoritmo specifico a tale scopo.
Cerin,

13
No, non farà male, ci vorrà solo molto tempo (specialmente se usi / dev / random: P) con vantaggi discutibili. L'ultimo documento sull'argomento che ho letto (scusate, nessun dettaglio, penso che fosse del 2008) suggeriva - in base ai dati dei test con hardware reale - che la possibilità di recuperare un singolo bit è <50% → significa che si ottiene un valore inferiore tasso di errore "recuperando" ogni bit usando un lancio di moneta. Quindi, a meno che non ci sia la prova che l'azzeramento non è abbastanza (non è "forse" in questo momento, piuttosto un "nessun modo friggin"), questo è il metodo di scelta per me.
htorque,

12
@Cerin La mia comprensione è che non ci sono mai state prove che queste fantasie paranoiche di recupero dei dati siano persino possibili. Come sottolineato nella sezione "Critica" dell'articolo che hai collegato, lo stesso Guttman è critico su come il suo algoritmo è stato usato " più come una sorta di incantesimo voodoo per bandire gli spiriti malvagi che il risultato di un'analisi tecnica delle tecniche di codifica " . Le uniche ragioni per fare qualcosa di più di zero-drive drive sono emotive ... cioè ti fanno sentire meglio ... non tecnico.
irrazionale John

4
Bello, ma potresti gentilmente spiegarmi perché hai messo il bs=1Mparametro? Posso leggere il man, e IIUC stai limitando il buffer a 1 megabyte; perché è così desiderabile?
Gaazkam,

20

Dai un'occhiata a questa domanda definitiva su Security Stack Exchange

Come posso cancellare in modo affidabile tutte le informazioni su un disco rigido

Questo discute varie opzioni di cancellazione sicura, insieme alla distruzione fisica e alla cancellazione in modo da poter decidere quale opzione può essere la migliore scommessa.

Ricordare tuttavia che lo stato di recupero corrente per l'archiviazione diversa è il seguente:

  • Dischi rigidi molto vecchi: c'erano delle lacune tra le tracce in modo da poter potenzialmente raccogliere bleeding in queste lacune (se avessi un microscopio elettronico a scansione a portata di mano). Sovrascrivere più volte era potenzialmente utile.
  • Nuovi dischi rigidi: al momento non esiste alcuna tecnologia in grado di leggere anche dopo una sola sovrascrittura.
  • Dischi rigidi a stato solido: il livellamento dell'usura significa che non è possibile sovrascrivere in modo sicuro. Invece crittografate l'intero volume e smaltite la chiave da cancellare, oppure distruggete il dispositivo.

Qual è la definizione di molto vecchio, ad esempio 30 anni fa?
Motivato il

Unità MFM da 10 Mb circa 20-25 anni fa, sì
Rory Alsop,

In che modo ciò si riferisce alle unità in dispositivi come telefoni cellulari e tablet?
Motivato il

@Motivated Dato che telefoni e tablet usano la memoria flash, è probabilmente la stessa risposta di SSD, ma non ne sono sicuro. Puoi chiedere a Super User informazioni migliori.
wjandrea,

20

In genere utilizzo un test di lettura / scrittura distruttivo utilizzando badblocks -w. I due principali vantaggi sono

  • fa parte del sistema di base e di quasi tutti i sistemi di salvataggio, quindi è disponibile, ad esempio, dalla shell di ripristino del programma di installazione di Ubuntu
  • alla fine viene visualizzato un rapporto sull'eventuale presenza di blocchi danneggiati sul disco

Tieni presente che se il rapporto indica un problema, non venderei più il disco in quanto potrebbe non riuscire presto.

Esempio di utilizzo (se il disco è sdd):

sudo badblocks -wsv /dev/sdd

(aggiunto svper barra di avanzamento + dettagliato)


11

Ora, lo strumento Disks ( gnome-disks) ha ATA Secure Erase . Puoi usarlo per cancellare il tuo disco rigido. Stessa opzione spiegata in questa risposta usando lo strumento da riga di comando hdparm.

  1. Apri lo strumento Dischi → Scegli il disco di destinazione
  2. Dal menu: formatta disco ...
  3. Selezionare dalla casella di riepilogo, Cancella: ATA Enhanced Secure Erase
  4. Formato

ATA Enhanced Secure Erase 1 ATA Enhanced Secure Erase 2


2
Sebbene questa sia l'opzione migliore in generale, non si applica tramite USB (come richiesto nella domanda precedente). Ci sono avvertimenti e dichiarazioni di non responsabilità in merito a ata.wiki.kernel.org/index.php/ATA_Secure_Erase . Tuttavia, l'ho chiesto nel numero di Gnome .
colan

1
@colan Come ho capito, dipende dal supporto delle funzionalità nell'intero stack (Disks - Kernel - Driver - Controller - Drive). Mentre il mio caso andava bene per due HDD (WD USB3 HDD e WD con adattatore attivo SATA-USB3), confermo che non è per tutti i casi, ho visto alcuni adattatori SATA-USB3 con allineamento a blocchi hard-code (lettura con 512b & Il blocco 4k non crea immagini identiche), alcuni non supportano SMART che ha anche alcuni comandi exec lunghi, Alcuni drive USB ha un'implementazione non standardizzata / contorta per partizioni protette da password / crittografate (Usandolo tramite un altro adattatore USB romperlo)
user.dz,

8
  • È necessario creare un dispositivo di loopback che esegua / dev / random sull'intero contenuto dell'unità.
  • Questo riempirà l'intero disco con dati quasi completamente casuali, quindi puoi riportare tutti i bit a 0 con dd.

  • In realtà, dd dovrebbe essere in grado di randomizzare tutte le informazioni.

  • Hai detto che hai memorizzato le informazioni bancarie sul tuo hard disk. Quindi ti suggerirei di eseguire uno dei seguenti comandi da un cd live (dove hdX è il tuo hard disk).

    dd if=/dev/zero of=/dev/hdX

    dd if=/dev/random of=/dev/hdX

    dd if=/dev/urandom of=/dev/hdX

  • Tuttavia, ci vorrà molto tempo in base alle dimensioni del disco rigido.

Per tua informazione:

Vedi i seguenti link,

Nota:

  • Casuale utilizza bit casuali e zero utilizza 0 bit.
  • Urandom è una versione semi-casuale di random.

Il random è davvero necessario? Non sarebbe sufficiente sostituire tutti i bit con 1 e poi con 0?
Buck,

7

puoi usare wipe

Installazione

sudo apt-get install wipe

Puoi usare quel software o usare il seguente comando:

shred -vfz -n ? (drive)

Erano i "?" è, metti il ​​numero di volte in cui vuoi distruggere l'unità, quindi per dove "(unità)" è, inserisci l'unità che vuoi distruggere. Una volta fatto, fai quello che vuoi con esso. Penso che questo metodo sia più efficace poiché puoi controllare cosa viene fatto sul tuo disco e avere risultati immediati.

link

  1. http://wipe.sourceforge.net/
  2. http://www.howtogeek.com/howto/15037/use-an-ubuntu-live-cd-to-securely-wipe-your-pcs-hard-drive/
  3. http://ubuntuforums.org/showthread.php?t=817882

6
Perché usare uno sopra l'altro, pulire vs shred?
Mads Skjern,

7

La cosa migliore è usare la funzione di cancellazione sicura delle unità ATA. La cancellazione sicura cancella l'unità a livello di firmware. Non posso essere più sicuro.

Prima controlla se è supportata la cancellazione sicura:

sudo hdparm -I /dev/sdX | grep -i security

(sostituisci sdX con sda / sdb / sdc, qualunque sia il tuo disco).

Se non vedi alcun output, usa semplicemente dd:

sudo dd if=/dev/zero of=/dev/sdX bs=1M

Se vedi l'output, controlla se il dispositivo non è bloccato:

sudo hdparm -I /dev/sdX | grep -i frozen

Se non congelato, impostare la password su "Eins":

sudo hdparm --user-master u --security-set-pass Eins /dev/sdX

Opzionale: potresti voler sapere quanto tempo impiegherà:

sudo hdparm -I /dev/sdX | awk '/for SECURITY ERASE UNIT/'

Quindi eseguire la cancellazione:

sudo hdparm --user-master u --security-erase Eins /dev/sdX

Quindi aspetta. Apparentemente per un disco da 1 TB questo potrebbe richiedere 3 ore o più.

C'è una bella sceneggiatura che ha automatizzato questi passaggi .


6

È possibile utilizzare DBAN . Wikipedia :

Darik's Boot and Nuke (comunemente noto come DBAN) [...] è progettato per cancellare in modo sicuro un disco rigido fino a quando i dati non vengono rimossi in modo permanente e non più recuperabili, il che si ottiene sovrascrivendo i dati con numeri casuali generati da Mersenne twister o ISAAC ( un PRNG). Il metodo Gutmann, Quick Erase, DoD Short (3 passaggi) e DOD 5220.22-M (7 passaggi) sono inclusi anche come opzioni per gestire la conservazione dei dati.

DBAN può essere avviato da un disco floppy, un CD, un DVD o un'unità flash USB ed è basato su Linux. Supporta dischi rigidi PATA (IDE), SCSI e SATA. DBAN può essere configurato per cancellare automaticamente ogni disco rigido che vede su un sistema, rendendolo molto utile per scenari di distruzione automatica dei dati. DBAN esiste per i sistemi Intel x86 e PowerPC.

DBAN, come altri metodi di cancellazione dei dati, è adatto all'uso prima del riciclaggio del computer per situazioni personali o commerciali, come la donazione o la vendita di un computer [2]. In caso di infezione da malware, DBAN può essere utilizzato prima di riportare un disco in produzione.


3

Un altro vantaggio di distruggere dd in questo scenario: ho un disco difettoso che devo restituire al fornitore per uno scambio.

dd si ferma al primo blocco danneggiato e non riesce a ostruire il resto (a meno che io non usi dolorosamente skip = ... per saltare avanti ogni volta che si ferma).

shred ignora gli errori di scrittura e continua felicemente in questo caso.


0

Vai root e

dd if=/dev/random of=/dev/(your usb drive device here); dd if=/dev/zero of=/dev/(your usb drive device here)

Assicurati di avere l'unità giusta!


7
Non usare mai / dev / random per tali operazioni. / dev / random genera dati casuali utilizzando un pool di entropia e blocca l'operazione se questo pool di entropia è vuoto. Quindi se non fai nulla con il tuo computer per generare nuova casualità, l'operazione richiederà un'eternità. Utilizzare invece / dev / urandom. Vedi ancheman random
htorque il

2
Probabilmente avresti bisogno di aggiungere il prefisso al comando sudo. Inoltre, ddtende a completarsi prima quando viene utilizzata una dimensione del blocco maggiore del valore predefinito. Quindi suggerirei con molta attenzione l' uso di:sudo dd if=/dev/random bs=1m of=/dev/sdX
irrazionale John

ah, significava che sudo dd if=/dev/urandom bs=1m of=/dev/sdXOh, beh.
irrazionale John


0

Coloro che raccomandano di usare il brandello danno cattivi consigli. La pagina man di Shred dice che è effettivamente inutile su filesystem con journal, che Ubuntu è quasi sicuro di usare se non cambi i suoi default di filesystem (ext3 ed ext4 sono registrati su journal. Come resierfs e Reiser4 e molti MOLTI altri comuni filesystem Linux .).

Per non parlare di shred è completamente inutile per cancellare completamente o randomizzare un disco, poiché funziona solo su singoli file o set di file (a livello di filesystem, non a livello di dati non elaborati). Se si desidera cancellare in modo sicuro un disco, è necessario utilizzare dd sul nodo del dispositivo principale dell'unità (ad esempio: / dev / sdc anziché / dev / sdc1) mentre non è montato nulla su di esso.

Ci vorrà un po 'di tempo, ma a differenza di distruggere completamente e IRREVERSIBAMENTE cancellerà un disco rigido da MBR al settore finale. Inoltre, GRANDE AVVISO su dd, assicurati di usarlo sul dispositivo corretto o almeno pulirai PARZIALMENTE il disco sbagliato. Questo potrebbe essere disastroso se si utilizza accidentalmente dd su un'unità di sistema, il che non solo lo renderà non avviabile, ma potrebbe danneggiare irreversibilmente qualsiasi data partizione sull'unità. Questo gli ha dato il soprannome di "distruttore di dischi".

Shred NON è uno strumento affidabile per cancellare in modo sicuro un'unità. Se stai vendendo o regalando al tuo computer il modo CORRETTO di svuotare l'unità è di azzerarlo o randomizzarlo con dd e mai e poi mai usare shred, poiché le riviste di filesystem ripristineranno efficacemente i file triturati senza alcuno sforzo.


9
Non punta a distruggere un file. Lo punti su tutto il dispositivo. Il filesystem è irrilevante.
David dato il

1
@DavidGiven Beh, tecnicamente puoi distruggere solo un file all'interno di un filesystem, ed è di questo che parla di manpage shred per la maggior parte. Gli avvertimenti di Yaro sarebbero in qualche modo validi in quel caso. Ma sì, distruggere un'intera partizione è una cosa completamente diversa; in quel caso il filesystem non ha davvero importanza.
Alois Mahdal,

0

Il modo più semplice per farlo è usare:

sudo shred -fv /dev/xxx

dove xxx è un dispositivo, per assicurarti quale dispositivo hai, digita:

sudo fdisk -l

Il dispositivo è indicato dopo il disco di parola e al colon char : , in questo modo:

Disk /dev/sde: 500.1 GB etc...

Non montare i file system del disco che desideri cancellare, ecc. Shred farà ciò che vuoi in un attimo. -z L'opzione è per l'ultima esecuzione con 0 per nascondere la cancellazione e non è necessaria per cancellare i dati.

Il modo migliore è usare dd come hanno scritto gli utenti precedenti:

sudo dd if=/dev/urandom of=/dev/xxx bs=1M

utilizzare il dispositivo urandom in quanto è il modo più moderno e migliore per ottenere pattern casuali.

Altri strumenti in questo momento possono essere più vecchi e sviluppare meno persone. Shred è nell'applicazione principale di Linux.

Guarda questo esempio: wipe 2009 http://lambda-diode.com/software/wipe/ . Ma è nota app. È possibile usare bleachbit ma, come ho provato, ci è voluto molto tempo.


-1

Se il cmd dd non funziona, è possibile utilizzare il metodo di reindirizzamento per cancellare i dati.

Piace,

cat /dev/urandom > /dev/sd**a**   # depends on your hdd location 

o

in alternativa puoi usare cp (copia cmd) per sovrascrivere i dati precedenti.

cp /dev/urandom /dev/sd**a**      # depends on your hdd location 
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.