¿Cómo puedo borrar de forma segura un disco duro?

210

Estoy planeando vender un disco duro externo USB que actualmente contiene una antigua instalación de Ubuntu con contraseñas almacenadas e información bancaria.

¿Cómo puedo borrar el disco de forma segura antes de venderlo?

ændrük
fuente
2
Además, eche un vistazo a esta página de EFF para obtener una explicación completa que abarca varios sistemas operativos.
Tom Brossman
@Lekensteyn '¿Eliminar las ranuras de teclas'? Solo busqué AU y no obtuve nada más que estas preguntas y respuestas parcialmente relacionadas . ¿Debo hacer esto como una nueva pregunta o está cubierto aquí?
Tom Brossman el
Si tiene una frase de contraseña segura, el mundo no se pierde cuando pierde su unidad. Sin embargo, se recomienda borrar las ranuras de teclas como se describe en 5.3 de code.google.com/p/cryptsetup/wiki/… . Continúe y pregunte sobre cómo borrar discos cifrados.
Lekensteyn 05 de

Respuestas:

226

Borrado seguro de un dispositivo de almacenamiento

Hay una utilidad de línea de comandos llamada shred, que sobrescribe los datos en un archivo o en un dispositivo completo con bits aleatorios, por lo que es casi imposible de recuperar.

En primer lugar, debe identificar el nombre del dispositivo.

Esto podría ser algo como /dev/sdbo /dev/hdb(pero no como /dev/sdb1, eso es una partición). Puede usar sudo fdisk -lpara enumerar todos los dispositivos de almacenamiento conectados y encontrar su disco duro externo allí.

Nota: asegúrese de que sea el dispositivo correcto; si elige el dispositivo incorrecto, lo borrará.

Desmonte todas las particiones actualmente montadas en ese dispositivo, si las hay. Luego ejecute lo siguiente, reemplazando /dev/sdXcon el nombre de su dispositivo:

sudo shred -v /dev/sdX

Esto sobrescribirá todos los bloques en el dispositivo con datos aleatorios tres veces, el -vindicador es detallado e imprimirá el progreso actual.

Puede agregar la opción -nNde hacer esto solo N veces, para ahorrar tiempo en dispositivos de gran capacidad. Esto puede llevar un tiempo, dependiendo del tamaño de su disco duro externo (creo que me toma unos veinte minutos para mi unidad flash de 4 GB).

También puede establecer todos los bits a cero después de la última iteración agregando la opción -z, prefiero hacer esto.

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

Después de esto, tendría que volver a particionar el dispositivo. La forma más fácil es instalar GParted y usarlo:

sudo apt-get install gparted
gksu gparted

Elija su dispositivo en la lista de la esquina superior derecha. Luego seleccione Device -> Create partition tablepara crear una tabla de partición en el dispositivo.

Luego agregue una única partición que use todo el espacio no asignado en el dispositivo, eligiendo fat32como sistema de archivos. Aplique los cambios haciendo clic en el botón Aplicar (la marca de verificación verde) en la barra de herramientas.

Consejos

  • Lea la página de manual en shredlínea o escribiendo man shreden la terminal.
  • Tenga en cuenta que algunas partes de su disco no se borrarán: use el comando "SECURE ERASE" del firmware de la unidad, como a través de hdparm, para limpiar adecuadamente un disco.
Frxstrem
fuente
31
La mejor práctica aquí: desconecte todos sus discos duros, conecte la unidad externa y luego haga lo anterior desde un CD en vivo para evitar incluso la posibilidad de fragmentar cualquier cosa que importe.
Nick Pascucci
30
Tenga en cuenta que esta respuesta ha quedado en desuso por el método SECURE ERASE de solicitar que la unidad se borre sola. Esto debería ocuparse de todos los datos posibles y no gravará innecesariamente su sistema. Puede realizar un borrado seguro, donde el disco se borra solo, utilizando la hdparmutilidad. Este método intenta borrar todo el disco, incluidos los sectores defectuosos. Además, es mucho más rápido que sobrescribir la forma normal. También son los métodos recomendados para unidades SSD, donde shredes una idea extremadamente mala.
Maarten Bodewes
66
@owlstead: ¿Podrías dar más detalles? ¿Qué es ERASE ERASE y cómo se usa? Se agradece que responda por separado si tiene una mejor.
Mads Skjern
17
El comentario sobre el uso del comando ATA Secure Erase es engañoso. Existen serios problemas con el uso de SE (con respecto a la falta de soporte constante de los proveedores y la falta de transparencia en el proceso). Relacionado: security.stackexchange.com/questions/62253
MV.
2
@Fiksdal No lo sé, han pasado cinco años desde que escribí esta respuesta y no recuerdo mis motivaciones para expresarlo de esa manera. Dicho esto, creo que lo dije en la línea de "prácticamente imposible hoy pero plausiblemente posible en el futuro con suficiente mejora tecnológica".
Frxstrem
94

Simplemente 'cero' usando la ddherramienta:

  1. Inicie la Utilidad de disco a través de System > Administration > Disk Utility
  2. Busque su disco en el panel izquierdo, selecciónelo y, a la derecha, busque la ruta del dispositivo (p. Ej. /dev/sdX)
  3. Ejecute el siguiente comando desde un terminal gnome (Aplicaciones> Accesorios> Terminal):

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

    ¡Asegúrese de usar la ruta correcta del dispositivo y no solo copie esta línea!

Esto sobrescribirá todo el disco con ceros y es considerablemente más rápido que generar gigabytes de datos aleatorios. Al igual que todas las otras herramientas, esto no se ocupará de los bloques que se mapearon por cualquier motivo (errores de escritura, reservados, etc.), pero es muy poco probable que su comprador tenga las herramientas y el conocimiento para recuperar algo de esos bloques.

PD: Antes de que los fanáticos de Bruce Schneier me denigren: quiero pruebas de que es posible recuperar datos de un disco duro rotacional no antiguo que se ha sobrescrito con ceros. ¡Ni se te ocurra comentar lo contrario! :PAGS

htorque
fuente
66
+1 para Bruce Schneier (y DD, que realmente es una herramienta excelente)
n3rd
66
No digo que esta sea la "prueba" más fuerte, pero el método Gutmann existe por una razón. Hasta donde yo sé, los discos duros modernos todavía son teóricamente susceptibles de recuperar sus datos si se han sobrescrito con ceros. Independientemente de si eso se mantiene o no, con suerte puede admitir que no va a doler sobrescribiendo usando / dev / random o un algoritmo específico para ese propósito.
Cerin
13
No, no dolerá, solo tomará mucho tiempo (especialmente si usa / dev / random: P) con beneficios cuestionables. El último artículo sobre ese tema que leí (lo siento, no hay detalles, creo que fue de 2008) sugirió, en base a los datos de las pruebas con hardware real, que la posibilidad de recuperar un solo bit es <50% → significa que obtienes un menor tasa de error al "recuperar" cada bit utilizando un lanzamiento de moneda. Por lo tanto, a menos que haya pruebas de que la reducción a cero no es suficiente (no es "tal vez" en este momento, más bien es una "manera no maldita"), este es el método de elección para mí.
htorque
12
@Cerin Entiendo que nunca ha habido ninguna prueba de que estas fantasías paranoicas de recuperación de datos sean posibles. Como se señaló en la sección "Crítica" del artículo que vinculó, el propio Guttman critica cómo se ha utilizado su algoritmo " más como una especie de encantamiento vudú para desterrar espíritus malignos que el resultado de un análisis técnico de técnicas de codificación de unidades ". . Las únicas razones para hacer más que borrar un disco son emocionales ... es decir, te hacen sentir mejor ... no técnico.
John irracional
44
Bien, pero ¿podrías explicarme amablemente por qué pusiste el bs=1Mparámetro? Puedo leer man, y IIUC solo estás limitando el búfer a 1 megabyte; ¿Por qué es tan deseable?
gaazkam
20

Eche un vistazo a esta pregunta definitiva sobre Security Stack Exchange

¿Cómo puedo borrar de manera confiable toda la información en un disco duro?

En este se analizan varias opciones de eliminación segura, junto con la destrucción física y la limpieza para que pueda decidir qué opción puede ser su mejor opción.

Sin embargo, recuerde que el estado de recuperación actual para un almacenamiento diferente es el siguiente:

  • Discos duros muy antiguos: había espacios entre las pistas, por lo que potencialmente podría detectar el sangrado en estos espacios (si tuviera a mano un microscopio electrónico de barrido). Sobrescribir varias veces fue potencialmente útil.
  • Nuevos discos duros: actualmente no existe tecnología que pueda leer incluso después de una sobrescritura.
  • Discos duros de estado sólido: la nivelación del desgaste significa que no puede sobrescribir de forma segura. En su lugar, encripta todo el volumen y desecha la clave para borrar, o destruye el dispositivo.
Rory Alsop
fuente
¿Cuál es la definición de muy antiguo, por ejemplo, hace 30 años?
Motivado el
10Mb MFM conduce desde hace 20-25 años, sí
Rory Alsop
¿Cómo se relaciona esto con las unidades en dispositivos como teléfonos móviles y tabletas?
Motivado el
@ Motivado Dado que los teléfonos y las tabletas usan memoria flash, es probable que sea la misma respuesta que para los SSD, pero no estoy seguro. Podrías pedirle a Super User una mejor información.
wjandrea
20

Generalmente uso una prueba destructiva de lectura y escritura usando badblocks -w. Las dos principales ventajas son

  • es parte del sistema base y casi todos los sistemas de rescate, por lo que está disponible, por ejemplo, desde el shell de rescate del instalador de Ubuntu
  • obtienes un informe al final si hay bloques defectuosos en el disco

Tenga en cuenta que si el informe indica un problema, ya no vendería el disco, ya que es probable que falle pronto.

Ejemplo de uso (si su disco es sdd):

sudo badblocks -wsv /dev/sdd

(agregado svpara la barra de progreso + detallado)

Simon Richter
fuente
11

Ahora, la herramienta Disks ( gnome-disks) tiene ATA Secure Erase . Puede usarlo para borrar su disco duro. La misma opción explicada en esta respuesta usando la herramienta de línea de comandos hdparm.

  1. Herramienta Abrir discos → Elija el disco de destino
  2. Desde el menú: Formatear disco ...
  3. Seleccione del cuadro desplegable, Borrar: Borrado seguro mejorado de ATA
  4. Formato

Borrado seguro mejorado ATA 1 ATA Enhanced Secure Erase 2

user.dz
fuente
2
Si bien esta es la mejor opción en general, no se aplica a través de USB (como se hizo en la pregunta anterior). Hay advertencias y descargos de responsabilidad al respecto en ata.wiki.kernel.org/index.php/ATA_Secure_Erase . Sin embargo, pregunté al respecto en el tema Gnome .
colan
1
@colan Según tengo entendido, eso depende del soporte de funciones en la pila completa (Discos - Kernel - Controlador - Controlador - Unidad). Si bien mi estuche estaba bien para dos HDD (WD USB3 HDD y WD con adaptador activo SATA-USB3), confirmo que no es para todos los casos, he visto algunos adaptadores SATA-USB3 con alineación de bloque codificada (lectura con 512b & 4k block no crea imágenes idénticas), algunas no son compatibles con SMART, que también tiene algunos comandos de ejecución largos, Algunas unidades USB tienen una implementación no estandarizada / retorcida para la partición protegida con contraseña / encriptada (Usarla a través de otro adaptador USB lo hará romperlo)
user.dz
8
  • Debe crear un dispositivo de bucle invertido que ejecute / dev / random sobre todo el contenido de la unidad.
  • Eso llenará todo el disco con datos casi completamente aleatorios. Luego, puede configurar todos los bits de nuevo a 0 con dd.

  • En realidad, dd debería poder aleatorizar toda la información.

  • Usted dijo que había almacenado información bancaria en su disco duro, por lo que le sugiero que ejecute cualquiera de los siguientes comandos desde un CD en vivo (donde hdX es su disco duro).

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

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

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

  • Sin embargo, tomará mucho tiempo según el tamaño de su disco duro.

Para tu información:

Ver los siguientes enlaces,

Nota:

  • Aleatorio usa bits aleatorios y cero usa 0 bits.
  • Urandom es una versión semialeatoria de random.
karthick87
fuente
¿Es al azar realmente necesario? ¿No sería suficiente reemplazar todos los bits con 1 y luego con 0?
Buck
7

puedes usar wipe

Instalación

sudo apt-get install wipe

Puede usar ese software o usar el siguiente comando:

shred -vfz -n ? (drive)

Fueron la "?" es decir, ingrese la cantidad de veces que desea triturar la unidad, luego, para "(unidad)", coloque la unidad que desea triturar. Una vez que hayas terminado, haz lo que quieras con él. Creo que este método es más efectivo ya que puedes controlar lo que se hace en tu disco y obtener resultados inmediatos.

Enlaces

  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
Taquiones
fuente
66
¿Por qué usar uno sobre el otro, borrar vs triturar?
Mads Skjern
7

Lo mejor es utilizar la función de borrado seguro de las unidades ATA. El borrado seguro borra la unidad a nivel de firmware. No puedo estar más seguro.

Primero verifique si el borrado seguro es compatible:

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

(reemplace sdX con sda / sdb / sdc, sea cual sea su disco).

Si no ve salida, simplemente use dd:

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

Si ve resultados, verifique si el dispositivo no está congelado:

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

Si no está congelado, configure la contraseña en "Eins":

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

Opcional: es posible que desee saber cuánto tiempo llevará esto:

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

Luego ejecute el borrado:

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

Entonces espera. Aparentemente para un disco de 1TB, esto puede tomar 3 horas o más.

Hay un buen script que automatizó estos pasos .

Berend de Boer
fuente
6

Puedes usar DBAN . Wikipedia :

Darik's Boot and Nuke (comúnmente conocido como DBAN) [...] está diseñado para borrar de forma segura un disco duro hasta que los datos se eliminen permanentemente y ya no sean recuperables, lo que se logra sobrescribiendo los datos con números aleatorios generados por Mersenne twister o ISAAC ( un PRNG). El método Gutmann, Quick Erase, DoD Short (3 pasadas) y DOD 5220.22-M (7 pasadas) también se incluyen como opciones para manejar la remanencia de datos.

DBAN se puede iniciar desde un disquete, CD, DVD o unidad flash USB y está basado en Linux. Admite discos duros PATA (IDE), SCSI y SATA. DBAN se puede configurar para borrar automáticamente cada disco duro que ve en un sistema, por lo que es muy útil para escenarios de destrucción de datos desatendidos. DBAN existe para los sistemas Intel x86 y PowerPC.

DBAN, como otros métodos de borrado de datos, es adecuado para su uso antes del reciclaje de la computadora para situaciones personales o comerciales, como donar o vender una computadora [2]. En el caso de infección de malware, DBAN se puede usar antes de devolver un disco a producción.

NN
fuente
3

Una ventaja más de triturar sobre dd en este escenario: tengo un disco defectuoso que necesito devolver al proveedor para un intercambio.

dd se detiene en el primer bloque defectuoso y no logra bloquear el resto (a menos que use dolorosamente skip = ... para saltar cada vez que se detiene).

shred ignora los errores de escritura y felizmente continúa en este caso.

Jürgen Weigert
fuente
0

Ir de raíz y

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

¡Asegúrese de tener el disco correcto!

Pete Ashdown
fuente
77
Nunca use / dev / random para tales operaciones. / dev / random genera datos aleatorios utilizando un grupo de entropía y bloquea la operación si este grupo de entropía está vacío. Entonces, si no hace nada con su computadora para generar una nueva aleatoriedad, la operación tomará una eternidad. Use / dev / urandom en su lugar. Ver tambiénman random
htorque
2
Probablemente necesite prefijar el comando con sudo. Además, ddtiende a completarse antes cuando se usa un tamaño de bloque mayor que el predeterminado. Así que sugeriría usar con mucho cuidado :sudo dd if=/dev/random bs=1m of=/dev/sdX
John irracional
ah, eso significaba que era sudo dd if=/dev/urandom bs=1m of=/dev/sdXOh, bueno.
John irracional
0

Aquellos que recomiendan usar shred están dando malos consejos. La propia página de manual de Shred dice que es efectivamente inútil en los sistemas de archivos registrados, que Ubuntu casi seguramente usará si no cambia sus valores predeterminados del sistema de archivos (ext3 y ext4 están registrados. Al igual que resierfs y Reiser4, así como muchos MUCHOS otros sistemas de archivos Linux comunes .).

Sin mencionar que triturar es completamente inútil para borrar o aleatorizar completamente un disco, ya que solo funciona en archivos individuales o conjuntos de archivos (en el nivel del sistema de archivos, no en un nivel de datos sin procesar). Si desea limpiar un disco de forma segura, debe usar dd en el nodo del dispositivo principal de la unidad (por ejemplo: / dev / sdc en lugar de / dev / sdc1) mientras no hay nada montado en él.

Tomará un tiempo, pero a diferencia de triturar, borrará por completo e IRREVERSIBLE un disco duro de MBR al sector final. Además, GRAN ADVERTENCIA en dd, asegúrese de que lo está utilizando en el dispositivo correcto o al menos PARCIALMENTE borrará el disco incorrecto. Esto podría ser desastroso si accidentalmente usa dd en una unidad del sistema, lo que no solo hará que no se pueda arrancar, sino que pueda dañar irreversiblemente cualquier partición dada en la unidad. Esto le ha dado el sobrenombre de "destructor de discos".

Shred NO es una herramienta confiable para limpiar de forma segura una unidad. Si está vendiendo o regalando su computadora, la forma CORRECTA de vaciar la unidad es poner a cero o aleatorizarla con dd y nunca, nunca use shred, ya que los diarios del sistema de archivos restaurarán efectivamente los archivos triturados sin ningún esfuerzo.

Yaro Kasear
fuente
99
No apuntas triturar a un archivo. Lo apuntas a todo el dispositivo. El sistema de archivos es irrelevante.
David dado el
1
@DavidGiven Bueno, técnicamente puedes triturar solo un archivo dentro de un sistema de archivos, y eso es de lo que habla la página de manual de trituración en su mayor parte. Las advertencias de Yaro serían válidas en ese caso. Pero sí, triturar una partición completa es algo completamente diferente; en ese caso, el sistema de archivos no importa.
Alois Mahdal
0

La forma más fácil de hacerlo es usar:

sudo shred -fv /dev/xxx

donde xxx es dispositivo, para asegurarse de qué dispositivo tiene, escriba:

sudo fdisk -l

El dispositivo se indica después de la palabra del disco y al carácter de dos puntos : así:

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

No monte los sistemas de archivos de su disco que desea borrar, etc. Shred hará lo que quiera en parte del tiempo. La opción -z es para la última ejecución con 0 para ocultar el borrado y no es necesario borrar los datos.

La mejor manera es usar dd como escribieron los usuarios anteriores:

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

use un dispositivo urandom ya que es una forma más moderna y mejor de obtener un patrón aleatorio.

Otras herramientas en este momento pueden ser más antiguas y desarrollar menos personas. Shred está en la aplicación principal de Linux.

Mire este ejemplo: limpie 2009 http://lambda-diode.com/software/wipe/ . Pero es conocida aplicación. Es posible usar bleachbit pero, como lo intenté, me llevó mucho tiempo.

Daro de Polonia
fuente
-1

Si el dd cmd no funciona, puede usar el método de redireccionamiento para borrar los datos.

Me gusta,

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

o

alternativamente, puede usar cp (copiar cmd) para sobrescribir los datos anteriores.

cp /dev/urandom /dev/sd**a**      # depends on your hdd location 
kali doss
fuente