Crees que estás siendo seguido por el FBI o tienes pruebas sobre la muerte de JFK que implican a Obama, el Dalail Lama i al Monstruo de las galletas o un colección estupenda de películas de dudosa reputación que no quieres que nadie vea?? Pues TrueCrypt es tu programa. Gratis, Open-Source y aplicando un nivel de criptografía prohibido en algunos paises ( EEUU, por ejemplo ) es una de tus mejores opciones para ocultar información en contenedores. How-To de TrueCrypt hay muchos, aquí listo un par:
- La comunidad de DragonJar: explicación completa
- Security By Default: Cifrado de todo el disco, en 20 pasos
Cuando creamos un contenedor TrueCrypt ( veeenga, revisar los links anteriooores ), se genera un fichero en nuestro sistema, que contiene todo un sistema de ficheros. Cuando está desmontado, los datos están cifrados pero si montamos el volumen -poniendo el password, claro- , todos estos datos se descifran a medida que se van necesitando, en tiempo real. El caso es que los primeros 65.536 bytes de cada contenedor, son cabezeras de información, que indican a TrueCrypt cómo montar el volumen. Sin esta información TrueCrypt no tiene ni idea de cómo montar el sistema de ficheros. Vale, y? ¬¬
Supongamos que queremos borrar todo un container TrueCrypt, pero que éste tiene un peso de 4.7GB. Si lo borramos de modo seguro con el algorítmo Gutmann, por ejemplo, se harán 35 pasadas. Osea, se sobreescribirá la información 35 vezes, o lo que es lo mismo... escribiremos en disco 164GB de información, para sobreescribir todos los datos. Esto puede tardar un poquito, y podemos hacerlo mucho más rápido tal que así.
Solución. Un pequeño algorítmo en Python que nos machaca la cabezera de un volumen TrueCrypt con el algoritmo Gutmann. Util? no creo. Seguro? Mucho.
#! /bin/python
import os
#constantes
FILE='container'
#Creación de valores aleatorios
rnd = lambda : str(os.urandom(3))
print 'Generando datos de sobreescritura con la secuencia Gutmann...'
data = [ rnd(), rnd(), rnd(), rnd(), '\x55', '\xAA', '\x92\x49\x24', '\x49\x24\x92', '\x24\x92\x49', '\x00', '\x11', '\x22', '\x33', '\x44', '\x55', '\x66', '\x77', '\x88', '\x99', '\xAA', '\xBB', '\xCC', '\xEE', '\xFF', '\x92\x49\x24', '\x49\x24\x92', '\x24\x92\x49', '\x6D\x86\xD8', '\xD6\xDB\x6D', '\xDB\x6D\xB6', rnd(), rnd(), rnd(), rnd(), ]
print 'Abriendo el fichero...'
f = open(FILE, mode='r+b')
print 'Escribiendo datos...'
for loop in data:
>>>>f.seek(0)
>>>>f.write(loop*65536) if len(loop) == 1 else f.write(loop*21845)
print 'Cerrando fichero...'
f.close()
print 'Done!'
Tanta explicación para este cachito de código? Pozí. Pero esto solo es el principio, espero mejorar el algorítmo un poquito. Lo siguiente será crear un fichero protegido que contenga una lista de ficheros que borrar, y quitar así la variable FILE, automatizando el proceso un poquitín más.
El borrado seguro de datos es vital para prevenir las fugas de información confidencial.
ResponderEliminarPues si, pero la verdad es que nadie sabe realmente como borrar de manera segura sus ficheros.
ResponderEliminarCon este scrip ( y los que vendrán a continuación ) inentaré simplificar, ni que sea un poquito, el proceso de borrado de archivos.
Saludos.
Para files uso shred. Nice post!.
ResponderEliminarshred -z -u ().
Slds
Nicola Rizzi.
yo tambien lo uso, pero lo uso de la siguiente manera:
Eliminarshred -fvuz
Salu2
Gracias por comentar, Nico.
ResponderEliminarSi, es cierto que shred va muy bien, pero es muy muy lento. Sobre todo para ficheros grandes. Por esto he creado el programita, para borrar de modo seguro ficheros TrueCrypt.
Si quieres probar un nuevo comando, te recomiendo srm. Check this out:
http://inedit00.blogspot.com/2009/10/borrado-seguro-de-ficheros.html
Saludos!!