GnuPG 密码输入和 X11 嗅探

信息安全 密钥管理 gnupg 键盘记录器 密码 x11
2021-08-30 06:24:18

每次我在 中输入密码时pinentry-gtk-2,其他所有 X11 应用程序都可能会嗅探它,如中所示

$ xinput test-xi2

在后台运行。

可以做些什么呢?

或者我是否必须相信在我的帐户(*)下运行的数百个不同进程在我输入密码时不会X11 嗅探我的密码,并且不会通过 Internet将我的~/.gnupg/目录连同它一起发送给某些对手?

(*)在这里,我不考虑在root非常接近内核的情况下运行几乎硬件的键盘记录器,因为对此无能为力。我说的是常规的用户级应用程序,例如闭源SkypeInsync

1个回答

最好的解决方案是以 SELinux 用户user_u运行会话staff_u,这将更严格地强制其他应用程序和在gpg_pinentry_t域中运行的 pin 条目应用程序之间的进程间通信

默认情况下,用户被映射到unconfined_u,这提供了一些保护,但不像你运行的东西那样多user_u(例如,你会注意到大多数东西运行为unconfined_t,但 firefox 插件执行为mozilla_plugin_t)。

对于极度偏执狂,你可以试试Qubes OS,它正好解决了这个问题——但它需要习惯它对你的工作环境施加的限制。