La aplicación "shred" forma parte del paquete coreutils, así que lo más normal es que cualquier sistema Debian actual lo tenga instalado. Shred sobreescribe los archivos que se le indican tres veces seguidas con datos pseudo-aleatorios, lo cual dificulta la tarea de recuperarlos. Por ejemplo, para eliminar el archivo"trapo_sucio":
$ shred -v trapo_sucio
Para sobreescribir una partición o un disco duro completo:
# shred -v /dev/sda
La opción -v sirve para que se muestre el progreso de forma dinámica en la terminal. Es omisible, mas es aconsejable disponer de un medio para saber en qué estado se encuentra el proceso de sobreescritura.
Otras opciones interesantes son:
--iterations=n Sobreescribe los datos "n" veces, en vez de tres.
--random-source=source Emplea "source" como fuente de datos pseudo-aleatorios. Es útil si deseamos utilizar /dev/frandom en lugar del generador por defecto, por nombrar un ejemplo.
--remove Trunca el archivo. Recomendable a menos que estés sobreescribiendo un dispositivo de bloques o similar.
--zero Añade una sobreescritura adicional de ceros.
¿CUÁNTAS SOBREESCRITURAS HACEN FALTA?
Existe cierta controversia respecto al número de sobreescrituras requeridas para hacer que los datos sean efectivamente irrecuperables. Una sóla sobreescritura de ceros será más que suficiente para evitar que un archivo sea recuperado mediante software forense como foremost.
En general, se acepta que los discos duros antiguos (anteriores al 2001) pueden ser analizados con técnicas de amplificación de señales y microscopía electromagnética, mecanismos que pueden permitir recuperar fácilmente archivos sobreescritos hasta tres veces. En general, en estos dispositivos no es recomendable dar menos de siete pasadas.
Los discos duros modernos tienen una densidad de datos mucho mayor, por lo que es mucho más difícil extraer información borrada de ellos analizando el magnetismo remanente. Varias fuentes llegan a sugerir que una única sobreescritura de ceros es suficiente para evitar técnicas de recuperación forense eficaces.
INCONVENIENTES DE ÉSTAS APLICACIONES
Los manuales de shred (y el de wipe y secure_delete) indican que la erradicación de archivos aislados no es completamente fiable si lo empleas en:
- Sistemas de ficheros con journaling (como los ext3, ext4, xfs...)
- Sistemas de ficheros comprimidos
- Sistemas de ficheros en red
- Sistemas con RAID
Además, debes tener en cuenta que los sistemas operativos modernos son muy desordenados, y nada te garantiza que Debian no haya hecho una copia de losarchivos que estás intentando borrar sin tu conocimiento, la cual podría ser recuperada por un adversario a pesar de que hayas sobreescrito los archivosoriginales 50 veces. Por tanto, se recomienda encarecidamente que shred (o cualquier otro programa sucedáneo) se emplee para borrar particiones o discos completos, y no ficheros sueltos.
Hay que tener en cuenta, asimismo, que el hecho de que shred intente escribir 3 veces sobre el disco no garantiza que la superficie del disco reciba tres sobreescrituras, dado que el caché del disco duro podría recibir los tres chorros de bits y escribir sólo el último (lo cual sería beneficioso en otras circunstancias, para no desgastar el disco). Se ha sugerido que, para asegurarse de que se escriben tantas capas como nosotros le indicamos, es aconsejable desactivar el caché temporalmente.
# hdparm -W0 /dev/sda
Apagar el caché no es sano para el dispositivo, ¡así que recuerda reactivarlo cuando termines!
# hdparm -W1 /dev/sda