Tip: Destrucción de archivos y datos en GNU/Linux

Cuando digo “destrucción” de información no me refiero a simpemente eliminarla o purgarla del disco duro, sino a sobrescribirla y hacer imposible su restauración. Existen varias utilidades y formas de hacerlo, pero yo les mostraré tres utilidades/herramientas que nos ayudarán: dd, shred y wipe. La primera, nos ayudará a zero-izar un sector de nuestro disco duro, memoria o lo que sea. Las otras dos son herramientas que nos permitiran sobreescribir y eliminar definitivamente un archivo para que sea irrecuperable. shred viene por defecto en casi todas las distribuciones unixlike, wipe se puede instalar en cualquiera.

Según los manpages,

wipe:
Wipe is a secure file wiping utility. There are some low level issues that must be taken into consideration. One of these is that there must be some sort of write barrier between passes. Wipe uses fdatasync(2) (or fsync(2)) as a write barrier, or if fsync(2) isn’t available, the file is opened with the O_DSYNC or O_SYNC flag. For wipe to be effective, each pass must be completely written. To ensure this, the drive must support some form of a write barrier, write cache flush, or write cache disabling. SCSI supports ordered command tags, has a force media access bit for commands, and write cache can be disable on mode page 8. IDE/ATA drives support write cache flushes and write cache disabling. Unfortunetly, not all drives actually disable write cache when asked to. Those drives are broken. Write caching should always be disabled, unless your system is battery backed and always powers down cleanly.

shred:
Overwrite the specified FILE(s) repeatedly, in order to make it harder for even very expensive hardware probing to recover the data.

dd:
Copy a file, converting and formatting according to the operands

Vamos a lo practico.

dd

Nos servirá cuando queramos eliminar información de un sector del disco, partición o disco completo, llenandolo de zeros. Es muy simple, basta con ejecutar:
# dd if=/dev/zero of=/dev/sda
En este caso, llenaremos de zeros el disco sda, eliminando el mbr, tabla de particiones, data, etc. Tambien podemos aplicarlo a una partición especifica
# dd if=/dev/zero of=/dev/sdb1
O bien a un archivo,
# dd if=/dev/zero of=my_file.iso
Podemos jugar con los parametros bs, count, seek, etc.

wipe & shred

La ejecución de estas dos herramientas es sencilla, basta con ejecutar el comando y luego el nombre del archivo:
# shred file.jpg
o
# wipe file.jpg

Ambos comando son bien personalizables, puedes decirle que al terminar lo complete con zeros, que los elimina, que los sobre escriba una cantidad X de veces y luego lo elimine, o que no lo elimine, etc.

Para más detalles recomiendo leer el manpage de cada uno.

1 comentario

  1. pero el formatear un pendrive con zeros demora una eternidad D:

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Esto sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.