miércoles, 6 de junio de 2018

Dos utilidades para borrado seguro en GNU/Linux; Bleachbit y Secure-Delete.

La importancia del borrado seguro de datos.


La mayoría de la gente no solo no le da ninguna importancia a este tema sino que ni siquiera piensan en él. Se tiran o se venden de segunda mano equipos informáticos sin preocuparse de formatearlos adecuadamente, pensando:

  • "A nadie le interesan mis datos"
  • "El disco esta formateado, es imposible recuperar nada"
Craso error, cualquiera puede comprobar que se pueden recuperar datos de un disco duro formateado con un dvd de recuperación Hirens Boot y un par de tutoriales de Youtube. Para saber si tus datos son interesantes para alguien, véase el precio de las acciones de Facebook en el Dow Jones.

Como ejemplo pongo el último portátil de segunda mano que me he comprado que venía con toda la documentación de un instituto de secundaria,  nadie se preocupó de borrar nada, o mejor dicho algún "lumbrera" pensó que mover los archivos a la papelera sería suficiente, en fin.... ¬¬

(Afortunadamente cada vez menos gente piensa así)

Hay abundantes herramientas para borrado seguro de archivos, yo en este post voy a hablaros de las dos que uso en mi Xubuntu...

Bleachbit.

Esta herramienta la tenemos disponible en los repositorios y es muy parecida la Ccleaner para SO windows, aunque su estética sobria la hace mas fácil de manejar para todo tipo de usuarios.

Es multiplataforma, (e incluso para Windows la tenemos en versión portable), es open source, y nos permite tareas como vaciar nuestro disco duro de archivos inncesarios, borrado seguro de ficheros, encuentra basura muy cansina como los archivos Thumbs.db y .DS_Store; y nos permite borrar archivos innecesarios que generan una gran variedad de programas. La lista es bastante larga así que os remito a la web de Bleachbit, donde podéis consultarla.

El interfaz super-minimalista es muy fácil de controlar.

Para GNU/Linux tenemos algunas caracteristicas interesantes que paso a relatar:

  • Borrar la memoria y la swap en Linux.
  • Eliminar accesos directos rotos en Linux.
  • Eliminar el historial de URL de Firefox sin eliminar todo el archivo, con trituración opcional.
  • Eliminar localizaciones de Linux: borre los idiomas que no usa. Más potente que la limpieza local y disponible en más distribuciones de Linux.
  • Clean APT para Debian, Ubuntu, Kubuntu, Xubuntu y Linux Mint
  • Ejecutar yum clean para CentOS, Fedora y Red Hat para eliminar datos del paquete en caché
  • Las bases de datos Vacuum Firefox, Google Chrome, Liferea, Thunderbird y Yum: reducen los archivos sin eliminar datos para ahorrar espacio y mejorar la velocidad.



Como veis es un programa muy completo e imprescindible tenerlo en vuestra librería de aplicaciones.

Secure Delete.


Hace años, las personas que usaban los viejos msdos simplemente borraban un archivo haciendo >del "nombre de archivo" y pensaban que el borrado era para siempre. Luego se lanzó Norton's undelete y se pudo recuperar la mayoría de archivos borrados, la mayoría de las veces.
Después de eso, las personas que querían asegurarse de borrar seguro sus archivos lo hacían sobrescribiendo el archivo con bytes aleatorios o 0x00 y así se sentían mas seguros.

En 1996, Peter Gutmann publicó un documento llamado "Eliminación segura de datos de la memoria magnética y en estado sólido" en el 6º simposio de seguridad Usenix. Aquí el sr. Gutmann demostró que los datos podrían recuperarse incluso aunque se hubieran sobreescrito tres veces o mas, usando equipos baratos por aproximadamente 1000 a 2500$*.

*Quizá 2500$ no parezca barato, pero hay que recordar que era en 1996.

El método de borrado seguro Gutmann es un algoritmo desarrollado por el profesor de la Universidad de Auckland (Nueva Zelanda) Peter Gutmann y su colega Colin Plumb en 1996. Su funcionamiento consiste en escribir sobre los datos originales una serie de 35 diferentes patrones, de tal forma que sea extremadamente difícil (imposible, a efectos prácticos) recuperar el contenido original.

Secure delete aplica este procedimiento de borrado para que tengamos la seguridad de que todo lo que borramos queda bien borrado, haciendo 38 pasadas. Se ejecuta totalmente desde la terminal, y podemos instalarlo con apt-get install secure-delete.

Secure delete tiene cuatro cuatro utilidades que hacen lo siguiente:

  •      srm hace una eliminación segura de archivos.
  •      sfill realiza una sobrescritura del espacio de disco vacío (o mejor, no utilizado) en el disco duro.
  •      sswap realiza una sobrescritura y limpieza segura del sistema de archivos swap.         ¡primero debes desmontar tu partición swap!
  •      smem realiza una sobreescritura segura de la memoria no utilizada (RAM)
hace falta ejecutarlas con  permisos de administrador 

¿Cómo funcionan estas utilidades?

El proceso de eliminación es el siguiente:

     1. El procedimiento de sobreescritura (en el modo seguro) lo hace 38 veces; Después de cada pase, la memoria caché del disco se vacía.
     2. Truncar el archivo, para que un atacante no sepa qué diskblocks pertenecían al archivo.
     3. Cambio de nombre del archivo, para que un atacante no pueda sacar ninguna conclusión del nombre de archivo en los contenidos del archivo eliminado.
     4. finalmente eliminando el archivo (desvincular).

El modo de sobrescritura segura funciona de esa manera:

  1.      1x sobrescribir con 0xff
  2.      5x pases aleatorios
  3.      27x sobreescritura con valores especiales para impedir la recuperación de MFM
  4.      5x pases aleatorios

Las opciones de línea de comando son:

     srm [-d] [-f] [-l] [-l] [-v] [-z] [-r] archivo [archivo] [otro archivo] [etc.]
     sfill [-i] [-I] [-f] [-l] [-l] [-v] [-z] directorio
     sswap [-f] [-l] [-l] [-v] [-z] / dev / partición swap
     smem [-f] [-l] [-l] [-v]

Borrando una carpeta con secure-delete



  

   -d No elimina los archivos especiales que empiecen por "." y ".." en el
           línea de comando (solo en srm)
      -i Limpia solo el espacio de inode libre, no espacio de disco libre en el sistema de archivos
           (solo en sfill)
      -r Modo recurrente, borra todo el contenido de una carpeta, incluyendo subcarpetas, hay que poner esto para borrar carpetas.
      -I Limpia solo el espacio libre en el disco, no el espacio de inodo libre en el sistema de archivos
           (solo en sfill)
      -f Mucho mas rápido pero menos seguro
      -l Disminuye la seguridad. Solo uno al azar más un pase con 0xff.
      -ll Una l dos veces rebaja el borrado al modo inseguro,
sobrescribe el archivo solo una vez con 0xff.
      -v Modo "verbose", detalla el estado de la operación de borrado.
      -z Último modo de borrado escribe ceros en lugar de datos aleatorios

Voy a poner unos ejemplos para ver mejor los modos de uso.

#Borrando un archivo de forma segura en modo detallado (verbose)

sudo srm -v ./carpeta/prueba.avi

#Borrando una carpeta de forma segura

sudo srm -vr ./carpeta/borrar/

#Borrando una carpeta de forma mas rápida

sudo srm -vrf ./carpeta/borrar/

#Borrando una carpeta aun mas rápido

sudo srm -vrfl ./carpeta/borrar/

#Borrando la misma carpeta pero más rapido, relajando la seguridad hasta el punto de que no merece la pena ni usar este programa :)

sudo srm -vrfll ./carpeta/borrar/

# Limpiando la swap

# Primero hay que desmontarla, podemos hacerlo con Gparted o en la terminal:

sudo swapoff /dev/sdaX

# X es el número de la partición!!
# Después de desmontarla:

sudo sswap /dev/sdaX

# Para limpiar el espacio vacío de una partición.

sudo sfill /home/usuario


Como veis es bastante fácil usarlo en terminal, y en mi experiencia, a la hora de limpiar el espacio sin usar de la memoria (sfill) es más rápido que Bleachbit; el modo verbose es muy práctico para saber en que punto se encuentra el proceso, cosa que le falta a Bleachbit en el caso de la limpieza del espacio vacío y puede ser muy desesperante en discos duros de gran capacidad (que hoy en día son casi todos).

De todas formas yo uso los dos, Bleachbit para limpiar mi PC de archivos basura y liberar espacio y secure-delete para eliminar archivos o carpetas que no quiero que se recuperen de ninguna manera. El proceso de limpiar el espacio no usado de la memoria es bastante lento con los dos y puede tardar varias horas con un ordenador I3 con 4 gb de ram, en un Intel Core puede tardar hasta un día entero en un disco duro de 250 Gb; en un disco duro de 500 Gb mejor ni hablamos.

Así pues yo os recomendaría el ir borrando poco a poco en vez de esperar demasiado tiempo para hacer una limpieza a fondo, no sea que tengáis que esperar demasiado tiempo para que esta limpieza termine.

2 comentarios:

RocKdrigO dijo...

Muy buen artículo. No tenía idea de estas herramientas.

VictorBit dijo...

Gracias son un poco antiguas, estaría bien que saliera una nueva versión con posibilidad de usar la gpu para agilizar el proceso.

Publicar un comentario