Cómo ocultar volúmenes cifrados con TrueCrypt

Por anónimo

Lo último que quiero es ayudar a los delincuentes a esconderse de la ley, pero confío en que es poco probable que los que leen esta página sean delincuentes o que los delincuentes no puedan encontrar esta información fácilmente en otra parte, así que les voy a mostrar algo que seguro que hará las delicias de los conspiranoicos. Lo interesante de esto es que resuelve el problema de que te obliguen a dar la clave, porque se puede dar y verán información plausible.

El programa se llama TrueCrypt, hay una versión para windows pero no dispongo de uno para probarlo, sin embargo tengo una Mandriva 2008 que ya trae incluído todo lo necesario en forma de paquetes instalables (busquen realcrypt). Para los demás, seguramente cada uno encontrará en su distribución cómo hacerlo. Las instrucciones que doy son de Mandriva, pero funcionarán más o menos igual para cualquier distribución...

Primero cargamos el módulo de kernel que maneja todo: (modprobe realcrypt) o nos aseguramos de que se esté cargando en el arranque, incluyéndolo en el archivo /etc/modprobe.preload o donde más les guste.

Con el módulo funcionando tendremos que decidir donde vamos a esconder nuestros datos. Podemos hacerlo dentro de un archivo que usaremos como disco, o en una partición completa de nuestro disco, o en un dispositivo usb. En este último caso puede ser usando todo el espacio, lo cual hará que se vea como que sólo tiene basura, o creando un archivo dentro de él. Para nuestras pruebas crearemos un archivo en el disco.

Ejecutamos el comando truecrypt para crear un archivo llamado "miscosas" que contenga los datos:

[root@mipc ~]# truecrypt -c miscosas
Volume type:
 1) Normal
 2) Hidden

Aquí viene lo interesante. Truecrypt puede crear dos filesystems en el mismo archivo, uno normal y el otro escondido.
Primero creemos el normal.

Select [1]: 1

Y para hacerlo sencillo lo hacemos tipo FAT. Si quisiéramos otro tipo diferente podemos crear el filesystem nosotros mismos pero si le decimos que lo haga fat el programa se encargará de todo.

Filesystem:
 1) FAT
 2) None
Select [1]: 1

A continuación nos preguntará de qué tamaño hacerlo. Para nuestro ejemplo lo haremos de 100M, pero obviamente podría ser mucho más grande.

Enter volume size (bytes - size/sizeK/sizeM/sizeG): 100M

Después nos pedirá que elijamos el algoritmo de hash y de cifrado. Estoy seguro de que en este sitio hay gente con más conocimientos que yo sobre la conveniencia de uno u otro método, en particular hay dudas sobre sha1, por ejemplo, pero no se qué tan fuertes pueden ser los demás. Con respecto al cifrado, más de lo mismo.

Hash algorithm:
 1) RIPEMD-160
 2) SHA-1
 3) Whirlpool
Select [1]: 1

Encryption algorithm:
 1) AES
 2) Blowfish
 3) CAST5
 4) Serpent
 5) Triple DES
 6) Twofish
 7) AES-Twofish
 8) AES-Twofish-Serpent
 9) Serpent-AES
10) Serpent-Twofish-AES
11) Twofish-Serpent
Select [1]: 1

A continuación, como era de esperarse, se nos preguntará por la clave a usar y se generará el disco cifrado con datos aleatorios.

Enter password for new volume 'miscosas':
Re-enter password:

Enter keyfile path [none]:

RealCrypt will now collect random data.
Is your mouse connected directly to computer where RealCrypt is running? [Y/n]: y

Si estamos trabajando en la consola, tendremos acceso al mouse. En este caso el programa puede capturar datos del mouse para generar valores aleatorios. De lo contrario pedirá que se ingresen caracteres por el teclado.

Please move the mouse randomly until the required amount of data is captured..
Mouse data captured: 100%

Done: 84.66 MB  Speed: 20.65 MB/s  Left: 0:00:00 
Volume created.

Ok, hasta aquí nada extraño. Tenemos un disco cifrado como cualquier otro. Lo podemos comenzar a usar pero no vamos a poner información crítica en él. Creamos un directorio donde montarlo y lo montamos:

[root@mipc ~]# mkdir 1
[root@mipc ~]# truecrypt miscosas 1
Enter password for '/root/miscosas':
[root@mipc ~]# ls -l 1
total 0

Como veremos, tenemos 86Mb de espacio en el filesystem montado en "1" para escribir nuestras cosas. Pero ahora viene lo interesante. Primero desmontamos este filesystem y vamos a agregarle al volúmen cifrado otro volúmen que quedará escondido.

[root@mipc ~]# truecrypt -d miscosas
[root@mipc ~]# truecrypt -c miscosas
Volume type:
 1) Normal
 2) Hidden

Atención aquí, que viene la diferencia. En lugar de normal elegimos hidden.

Select [1]: 2

El resto del procedimiento es el mismo pero debemos elegir otra clave diferente, y si queremos, otro tipo de cifrado diferente. Tal vez uno más fuerte porque este contendrá los datos que realmente queremos esconder. Como es lógico, el tamaño para el filesystem no podrá ser tan grande. Digamos que le damos la mitad: 50M.

Finalmente podemos volver a usar el filesystem. Al montar el filesystem normal, debemos recordar agregar el parámetro -P que protege los datos escondidos para que no sean sobreescritos.

Para esconder información, primero montamos el filesystem normal y metemos datos que parezca plausible que esten cifrados, como documentos privados y cosas así. Para que los datos del volumen escondido esten protegidos, deberemos indicar las dos claves para que truecrypt pueda leer ambos volúmenes y asegurarse de no sobreescribirlos, pero accederemos al volumen normal.

[root@mipc ~]# truecrypt -P miscosas 1
Enter password for '/root/miscosas':
Enter hidden volume password:
[root@mipc ~]# cp curriculum.odt dni.jpg 1
[root@mipc ~]# truecrypt -d miscosas

Ahora lo montamos de nuevo, pero en lugar de la clave normal ponemos la clave para el volumen escondido y viceversa y grabamos los datos secretos. De esta forma tendremos acceso al volumen secreto.

[root@mipc ~]# truecrypt -P miscosas 1
Enter password for '/root/miscosas':
Enter hidden volume password:
[root@mipc ~]# cp planes_de_dominacion_mundial.odt 1
[root@mipc ~]# truecrypt -d miscosas

Si nos vemos obligados a entregar la clave de cifrado, podemos entregar la clave para el volumen normal, y según los desarrolladores de truecrypt, parece que no hay manera de demostrar que el resto de los datos que hay no son sólo basura generada por el cifrado. ATENCION: si se monta sin saber que existe otro volúmen no pasa nada EXCEPTO que al grabar, truecrypt no podrá evitar que se sobreescriban los datos secretos.

Realmente dudo que una persona necesite llegar a estos extremos en su vida normal, a no ser que quiera esconder pornografía en la máquina de su trabajo o algo así pero bueno. Las herramientas están y es muy interesante conocerlas.

Comentarios

Selecciona arriba tu forma preferida de visualizar
los comentarios y pulsa el botón para guardar tus
preferencias. Éstas sólo se recordarán para tus
próximas visitas si eres usuario registrado.

Varios comentarios...Al

Varios comentarios...

Al menos en Windows y desde la interfaz gráfica, cuando eliges crear un volumen oculto, automáticamente crea el volumen falso externo y el volumen oculto propiamente dicho.

Por otro lado, se me ocurre un grave problema de seguridad en lo que se acaba de proponer.

Volviendo a Windows. Para proteger el volumen interno basta con activar una casilla y meter la contraseña y llaves necesarias. Eso, que yo sepa no deja ningún tipo de huella.

Sin embargo y tal como se ha propuesto arriba, al hacerlo desde la consola, queda registrado que cada vez que montas el archivo lo haces con -P y que por tanto, hay un volumen oculto interno. Denegabilidad plausible a la mierda.

Por tanto, o se hace uso de interfaces gráficas que no registren el montaje, o se deshabilita el historial de comandos introducidos.

PS. Hablo de Windows porque nunca he usado interfaz gráfica en TC para Linux.

PS2. Manda narices, 1+1 en mi pueblo es 2! x-D
PS2. Joe, 5+5 es 10!! :@
PS3. Vale, ya he deshabilitado NoScript.

historial de comandos

Es muy fácil borrar el historial de comandos, pero hay muchas alternativas posibles.

Por ejemplo:

export HISTFILE=/dev/null

Hace que el archivo histórico no se grabe. Otra alternativa útil sería:

export HISTIGNORE=*crypt*

En este caso, en el histórico no se graba nada que contenga la palabra crypt. Algo que cualquiera suficientemente paranoico como para tener un disco cifrado podría justificar fácilmente.

La otra alternativa obvia es usar otro intérprete de comandos que no guarde el histórico en un archivo, ash, csh, zsh creo que son así: el histórico se pierde al cerrar el shell. Simplemente se lo ejecuta desde la línea de comandos para obtener un shell secundario.

El historico no es el único problema

Actualmente el sistema operativo guarda tantos rastros de la actividad del usuario que no se puede confiar en poder borrarlos todos.

Por mencionar unos cuantos:

- Tanto windows como linux previsualizan ficheros y guardan thumbnails.

- Los dos vienen con herramientas de búsqueda (porque parece que ya nadie sabe lo que tiene en su disco) que escanean los discos durante los tiempos muertos, e indexan los ficheros y su contenido.

- La swap, o memoria virtual.

- Las MRUL (most recently used list), que cada aplicación suele guardar de los ficheros que abre, de las cuales los peores son el Historial de navegación, y los Documentos recientes, pero hay muchos más.

- Los logs del sistema de /var/log, o logs de errores que se ponen en el primer sitio que encuentran...

Además, si estos datos se escriben alguna vez en el disco duro, nadie puede asegurar que después de 'borrarlos' se hayan eliminado, ya que el borrado normal no es seguro.

Por lo tanto, cuando se trabaja con volumenes encriptados no se debe usar nunca un sistema operativo normal instalado en el disco duro, sinó un Live CD, un LiveCD copiado a disco duro y arrancado con grub, o una máquina virtual en modo snapshot, por ejemplo.

Eso es lo más seguro,

Eso es lo más seguro, porque además, ofrece seguridad completa en el ámbito de la denegabilidad plausible.

Nada más instalar TC en un sistema windows, aunque lo desinstales deja huellas en el registro. La única forma de evitar dejar huellas de haber usado nunca TC es usarlo desde live-cd's o máquinas virtuales.

Oculto en Windows

Muy buena la contribución.

Creo recordar que en la versión de Windows, se advertía en la documentación que al activar la ocultación de la partición se debería tener cuidado con los programas para desfragmentar.

Saludos

Excelente

Uso truecrypt hace tiempo y es excelente. Altamente recomendado, con varios algoritmos de cifrado además de la posibilidad de escoger diferentes formatos de escritura en disco.

Escolares franceses

En una región de Francia se estan distribuyendo 200.000 pendrives a los escolares, con una colección de software libre dentro, y en ella... ¡sorpresa! nuestro protagonista de hoy, Truecrypt. Todos esos chavales le dan al porno?. Yo creo que no, y que los responsables del proyecto han sido brillantes. Al fin y al cabo, Francia es la tierra de la resistencia.

Más información en el portal campusb.fr pinchando sobre el cubo.
Por cierto, en España también se distribuyen 'mochilas digitales', pero creo que no estan a la misma altura.

no me opongo pero...

Pienso que la criptografía es una herramienta importante para algunos usos.

Lo que deberíamos plantearnos es esto: esa gente que decidió armar ese pen-drive con software, ¿para qué piensan que pueden usar los estudiantes un software de criptografía fuerte?.

Para lo mismo que tú

¿Por qué tú puedes disponer de criptografía fuerte y ellos por ser estudiantes no? Perdona que te diga, pero eso de "privilegios sólo para quien yo diga" tiene un nombre muy feo que espero que no te sientas identificado.

Una duda

Suponiendo que nos veamos obligados a entregar la contraseña del volumen "falso", digamos "pass1" ¿no quedaría patente que, aparte de ese archivo, existe otro oculto? Me explico: si un policía forense, contraseña "pass1" en mano, escribe esto:

[root@mipc ~]# truecrypt -P miscosas 1
Enter password for '/root/miscosas':

E introduce "pass1" (que nosotros le hemos dado), TC nos pide la siguiente contraseña:

Enter hidden volume password:

¿Con esto no queda demostrado que hay MÁS ficheros ocultos que los que hemos reconocido tener? :S

Opinar

Los comentarios publicados en este sitio expresan sólo la opinión de su autor, quien será el único responsable de los mismos. La publicación de cualquier comentario no supone en absoluto la conformidad del responsable de este sitio con su contenido.

Como norma general, en este sitio no se publican comentarios que incluyan datos personales, ni direcciones de correo, ni ninguna otra forma de establecer contactos privados o comerciales, así como comentarios que no aportan nada, fuera de tema o que no se ajustan a la netiqueta, la ortografía o la educación.

Para poder enviar tus comentarios has de permitir las cookies del sitio.

Por favor, escribe arriba el resultado de la operación planteada. Gracias.
  • Etiquetas HTML permitidas: <a> <em> <strong> <ul> <ol> <li> <p> <u> <br><strike> <blockquote> <div>

Más información sobre las opciones de formato...