martes, enero 23, 2007

Paranoid Attitude

Bueno hace un tiempo me pidieron que borre cosas de una máquina de manera tal que no se puedan recuperar fácilmente.
Vieron que ahora con esto de la información confidencial y los datos seguros, secretos y zarazas varias hay toda una ola de paranoia antiparanoia con la información que queda en los discos.
Cualquiera que tenga las herramientas adecuadas, ya sea un disquetito o un cd booteable con software específico, puede recuperar de manera total o parcial los datos de un disco rígido borrado, o con unas máquinas especiales con interfaces SCSI, IDE, S-ata, etc. que son capaces de extraer la información anteriormente grabada.
No entraré en detalle de como funciona, pero los mas viejos recordaremos que pasaba cuando grabábamos música en un cassette (si dije cassette, soy viejo y que?) y lo sobreescríbiamos, era muy fácil escuchar lo que habiamos grabado antes, porque las partículas metalicas cargadas magnéticamente quedaban demasiado impregnadas, bueno, con los HD pasa lo mismo, usan el mismo principio, pero es mucho mas sencillo ya que lo único que se graba son 0 y 1 asi que abajo de un digito binario habia otro, es mas sencillo determinar cual era. Eso en el caso del hardware de recuperación de datos, en cuanto al software si bien hay algunos que utilizan este sistema, otros se basan en sistemas mas sencillos, como backups de la fat o lectura secuencial del disco donde los datos siguen guardados, por eso se recuperan tan fácilmente, los OS modernos borran solo la entrada de la FAT en vez del archivo en su totalidad y marca el espacio como disponible para sobreescribir.
En fin la cosa es que borrar no es algo tan seguro de que se borre :P
Entonces estuve buscando las formas mas seguras de hacerlo:
En linux use el comando shred una maravilla, lo que hace este programita es sobresecribir el archivo con datos aleatorios o basura, asi no es tan sencillo de recuperar, inclusive se puede utilizar la opción de que luego de usar datos aleatorios llene el espacio con 0 para que parezca que no habia nada. Es mas lo que tambien tiene es un sistema de pasadas, uno le puede decir cuantas veces le pasa por encima al archivito (5 es el default) segun el nivel de paranoia que uno tenga.
Este comando lamentablemente funciona solo con archivos o particiones, asi que si tenemos que borrar varias carpetas con subcarpetas tendremos que inventar algun escriptcito como el que utilice a continuación.


$>find -type f -execdir shred -u '{}' \;


En este link explican bien desglosado el script, que es de donde lo saque.

Cuando lo quieren hacer en una particion es mas sencillo porque le mandan el comando

$>shred -uzvn 4 /dev/hda1

Esto lo que hace es sencillo, Shred es el comando - avisa que vienen las opciones :P , u es el comando que borra el archivo, sino por default lo deja el archivo pero inservible porque sobreescribe los datos, z llena el espacio con 000 despues de lo datos aleatorios, v muestra el proceso que es bastante hipnotico por cierto y n (n) es el numero de pasadas que le va a dar y al final va la particion(o el archivo), esto por una cuestión lógica hay que hacerlo desde una particion diferente de la que queremos borrar.
Cuando termina el proceso, formateamos la partición (desmontándola primero) porque va a figurar como llena (de 000 pero llena al fin) y si quieren luego cambian el directorio y el punto de montaje asi no quedan rastros de lo que hubo ahí alguna vez. Si usan algun sistema de RAID con información redundante salvo el 1 o el 0 es posible que no se borre todo de una, es algo que esta medio en discución, que es lo que realmente pasa en sistemas con buffers grandes e información redundante no espejada. En los espejos y los stripings se borra todo a la bosta que es lo que queríamos. Con esto ya tienen para combinar el comando y el script para que les quede como quieran.

Desde windoze es mas fácil, porque hay miles de utilidades, como el Wipe del Symantec o shredder del Tune Up, o el Dban que es un proyecto independiente muy bueno. Cada uno usa su sistema de paranoia, es cuestion de leer un poco y quedarse con el mas lindo :)