aislamiento de GUI en X11 al ingresar la contraseña de Truecrypt

6

Me he estado poniendo un poco paranoico con respecto a algunos de mis viejos contenedores TrueCrypt. La paranoia no tiene nada que ver con las sospechas sobre TrueCrypt en sí (después del cierre el año pasado), sino con los keyloggers que detectan las contraseñas de mis contenedores.

Y luego me encontré con la publicación de Joanna sobre cómo el servidor X es muy inseguro y diferentes aplicaciones pueden interceptarse entre sí: enlace . Es un post antiguo (2011), pero ha habido muchas discusiones al respecto en toda la red. Solo vea esta publicación de HackerNews: enlace

De todos modos, encontré que xterm ofrece aislamiento de GUI. Además, gksudo supuestamente no permite la indagación de la contraseña que se ingresa.

Ahora, mi pregunta es esta: ¿puedo implementar de alguna manera el aislamiento de la GUI para TrueCrypt cuando se solicita una contraseña?

PS:

Tengo archivos de claves. Así que, por favor, no sugieras eso.

    
pregunta shivams 07.05.2015 - 08:54
fuente

2 respuestas

4

Ok, aquí hay algunas ideas.

Reemplaza X con Wayland. Ha recorrido un largo camino y debería solucionar algunos problemas. Utilice el control de acceso obligatorio para suprimir otras acciones (específicamente, los ataques que explotan el software para registrar claves). Busque en una máquina virtual y ejecute todo el software innecesario allí. También puedes intentar usar un teclado virtual. (Muy efectivo cuando se combina con Wayland) Nota: Wayland bloquea la captura de pantalla estándar.

Esto aislará su aplicación GUI. Aunque solo acceder a los datos desde un usb en vivo es una precaución considerable.

Por supuesto, si su máquina está comprendida, ya no es suya.

    
respondido por el keepass_fan 13.12.2015 - 07:02
fuente
2

Xterm no permite el aislamiento a menos que lo configures para que se ejecute como otro usuario, en otro tty. Gksu y Gksudo no no proporcionan ningún tipo de aislamiento. Lo mismo se aplica a todas las demás utilidades de ingreso de contraseñas, como kdesu / kdesudo, pinentry, etc. Son ventanas normales, como cualquier otra.

Wayland admite el aislamiento de Windows, pero solo para aplicaciones que admiten el protocolo, lo que Truecrypt no. Todos los programas que no son compatibles con Wayland recurren al protocolo X11 heredado, que Wayland admite como respaldo, pero para el que no puede proporcionar ningún aislamiento de ventana. Como resultado, su uso con un montón de aplicaciones heredadas no le brinda seguridad adicional, y su contraseña de Truecrypt aún puede ser rastreada.

Hay dos soluciones viables que se me ocurren:

  • Abre una nueva sesión de Xorg en un nuevo tty como nuevo usuario y abre Truecrypt allí.
  • Entra en un tty sin Xorg ejecutándose, inicia sesión como root y monta Truecrypt usando la línea de comandos.

Tenga en cuenta que, a menos que sea muy cuidadoso, un atacante determinado casi siempre puede obtener esa contraseña si tiene acceso a su usuario habitual. Por ejemplo, si alguna vez usa sudo o su para obtener root, pueden registrar eso. Si no lo hace en una sesión X, aún pueden secuestrarlo utilizando funciones, alias, LD_PRELOAD en su shell, etc. Si alguna vez es root y usa su para bajar a su usuario habitual, entonces root puede ser secuestrado con un tty pushback attack . Si intenta cambiar a un tty diferente para iniciar sesión como root, de modo que su usuario habitual posiblemente comprometido no pueda rastrear su contraseña de Truecrypt cuando la ingrese como root o un usuario seguro, es posible que se le presente una consola de inicio de sesión falsa en la que dale tu contraseña de root, en lugar de agetty (o logind). La única forma de mitigar eso es recordando utilizar el combo SAK cada vez que cambie a un nuevo tty para iniciar sesión como root. Así que ya ves, hay muchas cosas que tendrás que recordar, y solo tienes que deslizarte una vez para que un atacante determinado que tiene acceso a tu usuario habitual para obtener tu contraseña de Truecrypt.

Mis procedimientos de seguridad personales son muy sólidos, pero pueden ser un poco agotadores si estás muy orientado a la GUI. Hago casi todo en la terminal, sin usar Xorg. Uso grsecurity con RBAC para aislar programas individuales para que no puedan alterar mi $ HOME o cualquier archivo de configuración si son secuestrados, siempre uso SAK cuando cambio a un tty diferente para iniciar sesión, y cuando necesito usar Xorg, solo mantenga uno o dos programas abiertos a la vez. Solo necesito usar un navegador, algunos videojuegos que corro con Wine y Gimp para editar fotos. Xorg corre bajo un usuario diferente. Esto puede parecer excesivo, pero es lo mínimo lo que asegura que, si mi usuario habitual se ve comprometido, no hay nada como yo que no pueda usar SAK o utilizar su para obtener root en lugar de iniciar sesión como root en un nuevo tty , o un kernel 0day podrá iniciar el registro de teclas para obtener algo como mi clave de cifrado.

    
respondido por el forest 03.04.2016 - 09:06
fuente

Lea otras preguntas en las etiquetas