La ruta Whonix.
Elección del sistema operativo anfitrión (el sistema operativo instalado en el portátil).
Esta ruta hará un uso extensivo de las Máquinas Virtuales, que requerirán un SO anfitrión para ejecutar el software de Virtualización. Tienes 3 opciones recomendadas en esta parte de la guía:
- Tu distribución Linux de elección (excluyendo Qubes OS)
- Windows 10 (preferiblemente Home edition debido a la ausencia de Bitlocker)
- MacOS (Catalina o superior)
Además, hay muchas posibilidades de que su Mac esté o haya estado vinculado a una cuenta de Apple (en el momento de la compra o después de iniciar sesión) y, por lo tanto, sus identificadores de hardware únicos podrían llevarle hasta usted en caso de fuga de identificadores de hardware.
Linux tampoco es necesariamente la mejor opción para el anonimato dependiendo de tu modelo de amenazas. Esto se debe a que el uso de Windows nos permitirá utilizar cómodamente la Denegación Plausible (también conocida como Cifrado Denegable) fácilmente a nivel de sistema operativo. Desafortunadamente, Windows es al mismo tiempo una pesadilla para la privacidad, pero es la única opción (conveniente) para utilizar la negación plausible en todo el sistema operativo. La telemetría y el bloqueo de telemetría de Windows también están ampliamente documentados, lo que debería mitigar muchos problemas.
Entonces, ¿qué es la negación plausible? Es la capacidad de cooperar con un adversario que solicita acceso a tu dispositivo/datos sin revelar tu verdadero secreto. Todo ello utilizando el Cifrado Denegable.
Un adversario legítimo podría pedirte la contraseña encriptada de tu portátil. Al principio podrías negarte a dar ninguna contraseña (haciendo uso de tu "derecho a permanecer en silencio", "derecho a no incriminarte") pero algunos países están implementando leyes para eximir esto de tales derechos (porque los terroristas y "piensa en los niños"). En ese caso, puede que tengas que revelar la contraseña o quizás enfrentarte a penas de cárcel por desacato al tribunal. Aquí es donde entra en juego la negación plausible.
Podrías revelar una contraseña, pero esa contraseña sólo daría acceso a "datos plausibles" (un sistema operativo señuelo). Los forenses sabrán que es posible que hayas ocultado datos, pero no deberían poder demostrarlo
(si lo haces bien). Habrás cooperado y los investigadores tendrán acceso a algo, pero no a lo que realmente quieres ocultar. Como la carga de la prueba debería estar de su lado, no tendrán más opciones que creerte a menos que tengan una prueba de que tienes datos ocultos.
Esta característica se puede utilizar a nivel de SO (un SO plausible y un SO oculto) o a nivel de archivos, donde tendrás un contenedor de archivos encriptados (similar a un archivo zip) donde se mostrarán diferentes archivos dependiendo de la contraseña de encriptación que utilices.
Esto también significa que podrías configurar tu propia configuración avanzada de "negación plausible" usando cualquier SO Host almacenando, por ejemplo, Máquinas Virtuales en un contenedor de volumen oculto Veracrypt (ten cuidado con los rastros en el SO Host que necesitarían ser limpiados si el SO host es persistente, mira la sección
Algunas medidas adicionales contra forenses más adelante). Hay un proyecto para conseguir esto dentro de Tails
(https://github.com/aforensics/HiddenVM [Archive.org]) que haría que tu sistema operativo anfitrión no fuera persistente y utilizaría la negación plausible dentro de Tails.
En el caso de Windows, la negación plausible es también la razón por la que idealmente deberías tener Windows 10 Home (y no Pro). Esto se debe a que Windows 10 Pro ofrece de forma nativa un sistema de cifrado de disco completo (Bitlocker), mientras que Windows 10 Home no ofrece cifrado de disco completo en absoluto. Más adelante utilizaremos un software de código abierto de terceros para el cifrado que permitirá el cifrado de disco completo en Windows 10 Home. Esto te dará una buena excusa (plausible) para usar este software. Mientras que usar este software en Windows 10 Pro sería sospechoso.
Nota sobre Linux: Entonces, ¿qué pasa con Linux y la negación plausible? Sí, es posible lograr una negación plausible con Linux también. Pero es complicado de configurar y en mi opinión requiere un nivel de habilidad lo suficientemente alto como para que probablemente no necesites esta guía para ayudarte a intentarlo.
Desgraciadamente, la encriptación no es magia y conlleva algunos riesgos:
Amenazas con encriptación.
La llave inglesa de 5$.
Recuerda que el cifrado con o sin negación plausible no es una bala de plata y será de poca utilidad en caso de tortura. De hecho, dependiendo de quién sea tu adversario (tu modelo de amenaza), podría ser prudente no utilizar Veracrypt (antes TrueCrypt) en absoluto, como se muestra en esta demostración:
https://defuse.ca/truecrypt-plausible-deniability-useless-by-game-theory.htm [Archive.org].
La negación plausible sólo es efectiva contra adversarios legales blandos que no recurrirán a medios físicos.
Evite, si es posible, el uso de software capaz de negación plausible (como Veracrypt) si su modelo de amenaza incluye adversarios duros. En ese caso, los usuarios de Windows deberían instalar Windows Pro como sistema operativo anfitrión y utilizar Bitlocker en su lugar.
Véase https://en.wikipedia.org/wiki/Rubber-hose_cryptanalysis [Wikiless] [Archive.org]
Ataque Evil-Maid.
Los Ataques de Criada Malvada se llevan a cabo cuando alguien manipula tu portátil mientras estás fuera. Para instalarse clonan tu disco duro, instalan malware o un registrador de teclas. Si pueden clonar tu disco duro, pueden comparar una imagen de tu disco duro en el momento en que lo cogieron mientras estabas fuera con el disco duro cuando te lo confiscan. Si entre medias volviste a utilizar el portátil, los forenses podrían demostrar la existencia de los datos ocultos observando las variaciones entre las dos imágenes en lo que debería ser un espacio vacío/no utilizado. Esto podría dar lugar a pruebas sólidas de la existencia de datos ocultos. Si instalan un key logger o malware dentro de tu portátil (software o hardware), podrán simplemente sacarte la contraseña para utilizarla posteriormente cuando te lo incauten. Este tipo de ataques pueden producirse en tu casa, en tu hotel, en un paso fronterizo o en cualquier lugar donde dejes tus dispositivos desatendidos.
Puedes mitigar este ataque haciendo lo siguiente (como se recomendó anteriormente):
- Disponer de una protección antimanipulación básica (como se ha explicado anteriormente) para impedir el acceso físico a las partes internas del portátil sin que lo sepas. Esto evitará que clonen tus discos e instalen un key logger físico sin tu conocimiento.
- Desactiva todos los puertos USB (como se explicó anteriormente) dentro de una BIOS/UEFI protegida por contraseña. De nuevo, no podrán encenderlos (sin acceder físicamente a la placa base para restablecer la BIOS) para arrancar un dispositivo USB que podría clonar tu disco duro o instalar un malware basado en software que podría actuar como registrador de claves.
- Configura contraseñas de BIOS/UEFI/Firmware para evitar cualquier arranque no autorizado de un dispositivo no autorizado.
- Algunos SO y software de encriptación tienen protección anti-EvilMaid que puede ser activada. Este es el caso de Windows/Veracrypt y QubeOS.
Ataque de arranque en frío.
Los ataques de arranque en frío son más complicados que el ataque Evil Maid, pero pueden formar parte de un ataque Evil Maid, ya que requieren que un adversario entre en posesión de tu portátil mientras estás utilizando activamente tu dispositivo o poco después.
La idea es bastante simple, como se muestra en este vídeo, un adversario podría teóricamente arrancar rápidamente tu dispositivo con una llave USB especial que copiaría el contenido de la RAM (la memoria) del dispositivo después de que lo apagues. Si los puertos USB están desactivados o si creen que necesitan más tiempo, podrían abrirlo y "enfriar" la memoria utilizando un spray u otros productos químicos (nitrógeno líquido, por ejemplo) para evitar que la memoria se descomponga. Entonces podrían copiar su contenido para analizarlo. Este volcado de memoria podría contener la clave para desencriptar el dispositivo. Más adelante aplicaremos algunos principios para mitigarlos.
En el caso de la Negación Plausible, ha habido algunos estudios forenses sobre probar técnicamente la presencia de los datos ocultos con un simple examen forense (sin un Ataque Cold Boot/Evil Maid) pero estos han sido refutados por otros estudios y por el mantenedor de Veracrypt así que yo no me preocuparía demasiado por ellos todavía.
Las mismas medidas utilizadas para mitigar los ataques Evil Maid deberían estar en vigor para los ataques Cold Boot con algunas añadidas:
- Si tu sistema operativo o software de encriptación lo permite, deberías considerar encriptar las claves dentro de la RAM también (esto es posible con Windows/Veracrypt y se explicará más adelante).
- Deberías limitar el uso del modo de espera y en su lugar utilizar Apagar o Hibernar para evitar que las claves de encriptación permanezcan en la RAM cuando tu ordenador entre en reposo. Esto se debe a que la suspensión mantendrá la energía en tu memoria para reanudar tu actividad más rápidamente. Sólo la hibernación y el apagado borrarán realmente la clave de la memoria.
Véase también
https://www.whonix.org/wiki/Cold_Boot_Attack_Defense [Archive. org] y
https://www.whonix.org/wiki/Protection_Against_Physical_Attacks [Archive.org].
Aquí también hay algunas herramientas interesantes a tener en cuenta para los usuarios de Linux para defenderse de estos:
Sobre Sleep, Hibernation y Shutdown.
Si quieres mayor seguridad, deberías apagar completamente tu portátil cada vez que lo dejes desatendido o cierres la tapa. Esto debería limpiar y/o liberar la RAM y proporcionar mitigaciones contra ataques de arranque en frío. Sin embargo, esto puede ser un poco incómodo, ya que tendrás que reiniciar por completo y escribir un montón de contraseñas en varias aplicaciones. Reiniciar varias VMs y otras apps. Así que en su lugar, también podrías usar la hibernación (no soportada en Qubes OS). Dado que todo el disco está encriptado, la hibernación en sí misma no debería suponer un gran riesgo para la seguridad, pero aún así apagará tu portátil y borrará la memoria mientras te permite reanudar cómodamente tu trabajo después.
Lo que nunca debes hacer es utilizar la función de suspensión estándar, que mantendrá tu ordenador encendido y la memoria alimentada. Este es un vector de ataque contra los ataques evil-maid y cold-boot comentados anteriormente. Esto se debe a que tu memoria encendida contiene las claves de encriptación de tu disco (encriptado o no) y podría ser accedida por un adversario habilidoso.
Esta guía proporcionará orientación más adelante sobre cómo habilitar la hibernación en varios sistemas operativos anfitriones (excepto Qubes OS) si no quieres apagar cada vez.
Fugas de datos locales (trazas) y examen forense.
Como se mencionó brevemente anteriormente, se trata de fugas de datos y rastros de su sistema operativo y aplicaciones cuando se realiza cualquier actividad en el equipo. Esto se aplica principalmente a los contenedores de archivos cifrados (con o sin negación plausible) que al cifrado de todo el sistema operativo. Estas filtraciones son menos "importantes" si todo tu sistema operativo está cifrado (si no estás obligado a revelar la contraseña).
Digamos, por ejemplo, que tienes una llave USB encriptada con Veracrypt con negación plausible activada. Dependiendo de la contraseña que utilices al montar la llave USB, se abrirá una carpeta señuelo o la carpeta sensible. Dentro de esas carpetas, tendrás documentos/datos señuelo dentro de la carpeta señuelo y documentos/datos sensibles dentro de la carpeta sensible.
En todos los casos, lo más probable es que abras estas carpetas con el Explorador de Windows, el Finder de MacOS o cualquier otra utilidad y hagas lo que tengas pensado hacer. Puede que edite un documento dentro de la carpeta sensible. Tal vez busque un documento dentro de la carpeta. Tal vez usted va a eliminar uno o ver un video sensible utilizando VLC.
Pues bien, todas esas aplicaciones y su sistema operativo pueden guardar registros y rastros de ese uso. Esto podría incluir la ruta completa de la carpeta/archivos/unidades, el tiempo de acceso, cachés temporales de esos archivos, las listas de "recientes" en cada aplicación, el sistema de indexación de archivos que podría indexar la unidad e incluso miniaturas que podrían ser generadas.
He aquí algunos ejemplos de estas filtraciones:
Windows.
- Windows ShellBags que se almacenan dentro del Registro de Windows almacenando silenciosamente varios historiales de volúmenes/archivos/carpetas accedidos.
- Indexación de Windows que guarda rastros de los archivos presentes en su carpeta de usuario por defecto.
- Listas recientes (también conocidas como Jump Lists) en Windows y varias aplicaciones que guardan rastros de los documentos a los que se ha accedido recientemente.
- Muchos más rastros en varios registros, por favor vea este interesante póster para más información: https://www.sans.org/security-resources/posters/windows-forensic-analysis/170/download [Archive.org]
MacOS.
- Gatekeeper290 y XProtect mantienen un registro de tu historial de descargas en una base de datos local y de los atributos de los archivos.
- Indexación Spotlight
- Listas recientes en varias aplicaciones que guardan los documentos a los que se ha accedido recientemente.
- Carpetas temporales que guardan varios rastros del uso de aplicaciones y documentos.
- Registros MacOS
- ...
Linux.
- Indexación de Rastreadores
- Historial Bash
- Registros USB
- Listas recientes en varias aplicaciones que guardan rastros de los documentos a los que se ha accedido recientemente.
- Registros Linux
- ...
Los forenses podrían utilizar todas esas fugas (ver
Fugas de Datos Locales y Forenses) para probar la existencia de datos ocultos y derrotar tus intentos de utilizar una negación plausible y descubrir tus diversas actividades sensibles.
Por lo tanto, será importante aplicar varios pasos para evitar que los forenses hagan esto previniendo y limpiando estas fugas/huellas y, lo que es más importante, utilizando el cifrado de todo el disco, la virtualización y la compartimentación.
Los forenses no pueden extraer fugas de datos locales de un sistema operativo al que no pueden acceder. Y podrás limpiar la mayoría de esos rastros borrando la unidad o borrando de forma segura tus máquinas virtuales (lo que no es tan fácil como crees en unidades SSD).
No obstante, algunas técnicas de limpieza se tratarán al final de esta guía, en la parte "Cubre tus huellas".
Filtraciones de datos en línea.
Tanto si utilizas un cifrado simple como un cifrado de negación plausible. Aunque hayas cubierto tus huellas en el propio ordenador. Todavía existe el riesgo de fugas de datos en línea que podrían revelar la presencia de datos ocultos.
La telemetría es tu enemigo. Como se explicó anteriormente en esta guía, la telemetría de los sistemas operativos, pero también de las aplicaciones, puede enviar cantidades asombrosas de información privada en línea.
En el caso de Windows, estos datos podrían utilizarse, por ejemplo, para demostrar la existencia de un SO/volumen oculto en un ordenador y estarían fácilmente disponibles en Microsoft. Por lo tanto, es de vital importancia que deshabilite y bloquee la telemetría con todos los medios a su alcance. No importa qué sistema operativo esté utilizando.
Conclusión.
Nunca debes realizar actividades sensibles desde un sistema no cifrado. E incluso si está cifrado, probablemente nunca deberías llevar a cabo actividades sensibles desde el propio SO anfitrión. En su lugar, deberías utilizar una VM para poder aislar y compartimentar eficientemente tus actividades y prevenir fugas de datos locales.
Si tienes poco o ningún conocimiento de Linux o si quieres usar una negación plausible en todo el SO, te recomendaría ir a Windows (o volver a la ruta Tails) por conveniencia. Esta guía te ayudará a endurecerlo tanto como sea posible para evitar fugas. Esta guía también te ayudará a reforzar MacOS y Linux tanto como sea posible para evitar filtraciones similares.
Si no tienes interés en una negación plausible en todo el sistema operativo y quieres aprender a usar Linux, te recomiendo encarecidamente que optes por Linux o por la ruta Qubes si tu hardware lo permite.
En todos los casos, el sistema operativo anfitrión nunca debe ser utilizado para llevar a cabo actividades sensibles directamente. El sistema operativo host sólo se utilizará para conectarse a un punto de acceso Wi-Fi público. Se dejará sin usar mientras realizas actividades sensibles e idealmente no debería usarse para ninguna de tus actividades cotidianas.
Lea también
https://www.whonix.org/wiki/Full_Disk_Encryption#Encrypting_Whonix_VMs [Archive.org]