Relleno cero vs relleno aleatorio

Muchos tutoriales sugieren que debo llenar un disco con / dev / urandom en lugar de / dev / zero si quiero que sea irrecuperable. Pero no lo entiendo, ¿cómo puede un disco todavía ser recuperable después de ser cero lleno? ¿Y esto es sólo gente muy especializada (leer las agencias del gobierno) que puede recuperar un disco lleno de cero, o algo que su promedio de geek puede hacer?

PS: No estoy preocupado por mis datos, yo vendo computadoras usadas de vez en cuando, y preferiría que los compradores promedio de Joe no recuperen nada de gracioso de ellos.

Mientras que el llenado de un disco con /dev/zero cerrará, la mayoría (actualmente disponible) del software de recuperación no puede recuperar archivos de una sola pasada. Más pases hacen el borrado más seguro, pero tomar más tiempo.

/dev/urandom se considera más seguro, porque llena el disco con datos aleatorios (de los pools de entropía del kernel de Linux), lo que dificulta que el software de recuperación encuentre datos significativos (también toma más tiempo).

En resumen, un número moderado de pases /dev/urandom es más seguro si se intenta borrar datos de forma segura, pero para la mayoría de las aplicaciones casuales, bastarán unos pocos pasos de /dev/zero .

Por lo general, uso los dos en combinación al borrar los discos (siempre borrar antes de revender o reciclar su computadora!).

Muchos tutoriales sugieren que debo llenar un disco con / dev / urandom en lugar de / dev / zero si quiero que sea irrecuperable.

Hagas lo que hagas, no uses /dev/urandom .

En mi i7-3770, /dev/urandom produce un asombroso 1 GB de datos generados pseudo-aleatoriamente por minuto. Para un disco duro de 4 TB, un solo borrado con /dev/urandom tomaría más de 66 horas!

Si es absolutamente necesario utilizar datos generados pseudo-aleatoriamente (más sobre esto a continuación), por lo menos utilizar una manera decentemente rápida de generarlo. Por ejemplo

 openssl enc -aes-128-ctr -pass file:/dev/random 2>/dev/null | tail -c+17 

Imprime un flujo infinito de bytes. Utiliza AES en modo CTR y una contraseña leída de /dev/random , por lo que es criptográficamente segura para cualquier disco duro de menos de 1.000.000 de TB.

También es rápido. Muy rapido. En la misma máquina, logró generar 1,5 GB por segundo, por lo que es 90 veces más rápido que /dev/urandom . Eso es más que cualquier disco duro de nivel de consumidor puede manejar.

[I] s esta gente sólo muy especializado (leer las agencias del gobierno), que puede recuperar un disco lleno de cero, o algo que su promedio geek puede hacer?

Los autores concluyen que la sobreescritura de una unidad prístina (sólo utilizada para la prueba) una vez con datos no aleatorios reduce la probabilidad de recuperar un solo bit correctamente en un 92%. Esto significa que un solo byte (un carácter ASCII) se puede recuperar con sólo un 51% de probabilidad; Y no hay manera de saber si el byte se ha recuperado correctamente o no.

En escenarios del mundo real (unidad ligeramente utilizada), la probabilidad cae al 56% para un solo bit y simplemente al 9% para un solo byte.

Tomaron una nueva unidad, lo limpiaron tres veces para simular el uso a corto plazo, le escribieron un texto corto y limpiaron la unidad una vez con datos no aleatorios. Estos fueron los resultados:

Texto original:

Eliminación segura de datos – Peter Gutmann – 1996
Abstracto
Con el uso de sistemas de cifrado cada vez más sofisticados, un atacante que desee acceder a datos sensibles se ve obligado a buscar información en otro lugar. Una avenida de ataque es la recuperación de datos supuestamente borrados de medios magnéticos o de memoria de acceso aleatorio.

Texto recuperado:

 ¡ÄuÜtÞdM@ª""îFnFã:à•ÅÒ̾'¨L'¿ôPÙ!#¯ -×LˆÙÆ!mC 2´³„‡·}NŽýñêZØ^›l©þì®·äÖŒv¿^œº0TÏ[ªHÝBš¸ð 7zô|»òëÖ/""º[ýÀ†,kR¿xt¸÷\Í2$Iå""•ÑU%TóÁ'ØoxÈ$i Wï^™oËS²Œ,Ê%ñ ÖeS» eüB®Èk‹|YrÍȶ=ÏÌSáöp¥D ôÈŽ"|ûÚA6¸œ÷U•$µM¢;Òæe•ÏÏMÀùœç]#•Q Á¹Ù""—OX“h ÍýïÉûË Ã""W$5Ä=rB+5•ö–GßÜä9ïõNë-ߨYa“–ì%×Ó¿Ô[Mãü ·†Î‚ƒ‚…[Ä‚KDnFJˆ·×ÅŒ¿êäd¬sPÖí8'v0æ#!)YÐúÆ© k-‹HÈø$°•Ø°Ïm/Wîc@Û»Ì"„zbíþ00000000000000000 

A nivel microscópico, un bit de disco duro no tiene ni "1", ni "0", sino una carga magnética. Hay un umbral por encima del cual la carga se considera un "1". Asimismo, la localización geométrica de los bits no es precisa, sino que cae dentro de un espacio dado.

La teoría es que un pedacito minúsculo de la carga anterior sigue siendo presente en un pedacito recién escrito, así que si usted apenas cero el disco él podría ser posible para que alguien establezca un nuevo umbral mucho más bajo para qué se considere un 1, y todavía se recupere los datos. Escribir datos aleatorios hace que esto sea mucho más difícil.

La teoría detrás de múltiples pases tiene que ver con la ubicación geométrica del bit en el disco. Si el paso actual es un poco más adelante o detrás, entonces un remanente de la vieja parte podría ser peeking fuera de aparte de la nueva broca. Dos o tres pasadas (especialmente de datos aleatorios) hacen mucho menos probable que un bit anterior sea identificable.

Como otros ya han dicho, estos miedos son sobre todo exagerados. El mayor riesgo son los datos que sólo son eliminados por el sistema operativo, o no se eliminan en absoluto.

BTW, en muchos de los discos más nuevos ahora hay un comando interno del disco del hardware que logically shread su disco. Sin embargo, esto no se implementa en ningún controlador de disco o controlador de software que he visto.

También, lo que usted está pidiendo ha sido el tema de un debate considerable a través de los años. Con diversos métodos y procedimientos que se proponen para subvertir cualquier tipo de recuperación de datos de hardware. Tanto es así que muchos de los agentes "limpiar", se dará cuenta de una plétora de algoritmos de limpieza disponibles.

Lo que hago es realmente destruir el disco de forma manual, y nunca se preocupan por cualquier posible divulgación posterior. Supongo que es fácil para mí hacer esto en casa, pero para el trabajo es una situación diferente.

No puedo señalar ningún artículo, pero he leído varios que indican que en la vida real (fuera de los establecimientos de helicópteros negros) la posibilidad de recuperar cualquier cantidad de datos significativos después de un solo "borrón" con datos aleatorios es sumamente pequeño.

El riesgo real es probablemente con varias formas de unidades "inteligentes" (especialmente SDDs) que no pueden escribir los nuevos datos donde estaban los datos antiguos, al menos para condiciones "marginales". (Esto también podría ocurrir, en un grado más limitado, con las unidades más antiguas que hacen la reubicación del sector para la recuperación de errores.) Esto crea la posibilidad de que algunas pistas o sectores son prístinos, incluso después de un borrado. Un hacker inteligente probablemente podría averiguar cómo acceder a estas áreas.

Pero, realista hablando, esto no es un peligro grande si usted es un soldado ordinario de Joe que vende a un enchufe común jones – usted no tiene nada de valor real en las impulsiones y el comprador es inverosímil pasar más que algunos minutos infructuosos que intentan Para encontrar cosas. Incluso si un sector se escabulle a través de aquí y allí no es en absoluto probable que sea el que tiene su información de tarjeta de crédito en él. El peligro más grande si tienes secretos nucleares en la unidad y el comprador es un espía para Los chicos malos – entonces incluso un pequeño riesgo de una pequeña fuga es demasiado.

Aquí hay otro ángulo: Algunos métodos para el cifrado de disco tratan de proporcionar encriptación negativa haciendo que los discos cifrados parezcan basura aleatoria. Si sus discos no utilizados han sido llenados con basura aleatoria (real), se agrega a la plausibilidad de la negación.

Cuando el relleno cero puede ser suficiente para un HDD, SSD puede necesitar usar bytes aleatorios para llenar los sectores, ya que SSD puede reclamar un sector cero sólo por un bit que lo indica en una celda de sector (no llenar la parte de datos con ceros) .