Truecrypt y swap

4

Tengo Ubuntu 14.04 Desktop y uso Truecrypt para almacenar mis archivos confidenciales. He leído que, dado que Truecrypt realiza el cifrado sobre la marcha, solo almacena su contenido descifrado (y la contraseña del usuario y su archivo de claves, creo?) En la RAM. Si todo es cierto, entonces ¿significa que incluso si no cifro mi intercambio, no hay riesgo de que mis datos almacenados en un contenedor de Truecrypt (y mi contraseña y un archivo de claves también?) Terminen en una partición de intercambio en una forma no encriptada?

    
pregunta Gregory 28.08.2016 - 20:14
fuente

2 respuestas

3

En general, si tiene un almacenamiento encriptado, debe encriptar su intercambio. Esto se aplica a cualquier sistema de cifrado, no solo a TrueCrypt. Los datos de cualquier programa pueden terminar en intercambio, incluidos los programas que manipulan los datos confidenciales. El kernel elige qué datos pone en el intercambio en función de la frecuencia de acceso, no sabe qué parte de los datos es más confidencial.

TrueCrypt sí solicita que el sistema operativo le dé memoria que está bloqueada en la RAM y no se puede intercambiar. Sin embargo, creo que no se niega a operar si el sistema operativo no está dispuesto a darle suficiente RAM, por lo que este comportamiento no está garantizado. E incluso si lo fuera, eso no ayudaría: los programas que manipulan los datos confidenciales no tendrían tal protección. Por ejemplo, si ejecuta un editor en un archivo en la partición TrueCrypt, la memoria del editor puede ser intercambiada.

También debe asegurarse de que todas las ubicaciones donde se almacenan los datos temporales estén encriptadas. En Linux, esto incluye /tmp (también hay /var/tmp pero su uso es explícito, mientras que cualquier programa puede terminar usando /tmp ). Muchos sistemas Linux modernos, incluido Ubuntu 14.04, colocan los archivos temporales bajo /run , que siempre está en la memoria (memoria virtual, es decir, se puede intercambiar), pero algunas aplicaciones tienen un código duro /tmp . Otras ubicaciones comunes donde los datos temporales pueden terminar incluyen /var/spool/cups (cola de impresión, si imprime un documento confidencial), /var/spool/mail (correo entrante), /var/spool/postfix (correo saliente, con Postfix - adapte el nombre del directorio si usa un MTA diferente), ~/.cache .

    
respondido por el Gilles 29.08.2016 - 02:07
fuente
1

Esto es más una cuestión de Linux. Como Truecrypt se ejecuta como un programa de espacio de usuario, no tiene control sobre sus páginas de memoria, es decir, deja la administración de la memoria al núcleo.

Nunca se le dice al kernel que las páginas de memoria que utiliza Truecrypt son confidenciales, por lo que puede colocar las páginas en intercambio. Y a Truecrypt nunca se le dirá que sus páginas son intercambiadas. Para el proceso del espacio de usuario (Truecrypt), la memoria virtual es solo memoria virtual, y no importa si está actualmente en el chip RAM o en intercambio.

Por lo tanto, no, si no encripta su partición de intercambio y utiliza Truecrypt, sus claves (contraseñas después de algún tipo de PBKDF) no son seguras. Si una clave está en la memoria que se intercambió, se puede leer desde el disco.

Haga un cat /proc/swaps y realice un sudo swapoff <partition or file> para cada espacio de intercambio disponible antes de ejecutar Truecrypt (o, preferiblemente, use un intercambio cifrado).

(Estoy hablando de un proceso de espacio de usuario porque es diferente de cryptsetup , que funciona como módulo del kernel y protege las páginas de memoria contra el intercambio).

Nota adicional

Truecrypt no está recibiendo más actualizaciones desde mayo de 2014 (como se indica en la página principal del proyecto ). Debe considerar seriamente una herramienta diferente para el cifrado de sus archivos. Algunas opciones son:

  • Veracrypt es muy similar a (e incluso se basa en) Truecrypt.
  • cryptsetup está disponible en todas las distribuciones de Linux (y usted está usando Ubuntu). Aunque requiere el uso de dispositivos de bucle.
  • tomb es un script que usa cryptsetup junto con gnupg y abstrae el uso de dispositivos de bucle.
respondido por el grochmal 29.08.2016 - 01:25
fuente

Lea otras preguntas en las etiquetas