¿Cómo evito que los programas husmeen pulsaciones de teclas en su / gksu?

10

He leído aquí que es posible que cualquier aplicación que use el servidor X huela las pulsaciones de teclas a cualquier otra aplicación que también esté usando el servidor X, incluso su(en un terminal) o gksu. He oído hablar de algunas formas de hacer que el servidor X sea seguro como Xephyr , pero no estoy seguro de cuál usar. Solo quiero evitar que cualquier aplicación como xinputoler fácilmente las pulsaciones de teclas cuando estoy escribiendo una contraseña en el terminal o gksu. Actualmente estoy usando Debian sid.

Magnus
fuente
No escribas corre
Ignacio Vazquez-Abrams
1
cualquier aplicación = cualquier aplicación con acceso a su servidor X11 , consulte la documentación de seguridad de X.Org para los primeros punteros. También tenga en cuenta que existe XACE, toda la historia parece un poco más complicada, con clientes X11 confiables / no confiables. No tengo idea de cuánto de esto se usa en las configuraciones recientes de Xorg.
Sr_
1
He instalado Xephyr. Es muy engorroso y requiere magia de bash compleja, pero xinput que se ejecuta dentro del servidor X anidado no pudo detectar las pulsaciones de teclas fuera de Xephyr (sin embargo, xinput que se ejecuta fuera de Xephyr todavía puede detectar todas las pulsaciones de teclas). Intenté usar el sandin de SELinux pero no pude hacerlo funcionar. Todavía dejaré esta pregunta abierta en caso de que alguien tenga una mejor idea.
Magnus
Este es un artículo reciente lwn.netsobre la seguridad de la pila de gráficos de GNU / Linux que analiza bastante a fondo la opinión de los desarrolladores de X sobre el tema.
sr_

Respuestas:

1

Tenga en cuenta que Xephyr / Xnest / vnc-server hará que la aplicación se comunique con un servidor X diferente, pero no le prohibirá que hable con su otro servidor X donde ejecuta gksu.

Lo mejor es ejecutarlo en un servidor X diferente y como un usuario diferente (o usar un LSM para evitar que la aplicación se conecte al servidor X o lea su archivo .Xauthority). Para llevarlo un paso más allá, puede hacer que se ejecute en una cárcel chroot, y para llevarlo un paso más allá, puede ejecutarlo en un contenedor, y para llevarlo un paso más allá, ejecutarlo en un lugar completamente controlado máquina virtual (por ejemplo con kvm -snapshot).

Si no confía en la aplicación, probablemente tendrá que ir hasta el final.

Stéphane Chazelas
fuente
-1

Creo, pero no sé cómo demostrar, que cualquier aplicación X11 que te impida escribir en otro lugar (como las indicaciones de contraseña) no se puede rastrear.

Intente esto: ejecute gksu, y cuando se abra la solicitud de contraseña, intente ajustar el volumen usando las teclas (si su máquina las tiene), o presione otras teclas de acceso rápido (súper, encendido, etc.) y vea si hacen algo. Si no lo hacen, creo que estás a salvo.

Creo que ctrl-alt-f1 etc. siempre funciona.

ams
fuente
2
En realidad, xinput puede rastrear pulsaciones de teclas incluso en gksu. He intentado eso y, aunque no mostraba las teclas presionadas al ingresar la contraseña, una vez que desapareció el cuadro de diálogo gksu aparecieron las teclas presionadas.
Magnus
@Magnus: Eso es decepcionante. :(
enms.