在没有键盘记录等漏洞的 Linux 上共享剪贴板?

信息安全 开发 键盘记录器 x11
2021-08-18 01:50:18

X 存在一些严重的安全问题,其中最重要的是任何使用给定显示器的程序都可以记录来自该显示器上任何其他程序的击键。(这可以使用 xinput 轻松演示。)

有没有办法在单个 X 显示器中缓解这种情况,而不会丢失共享剪贴板支持等基本功能?

例如,窗口管理器是否有可能拦截所有击键,并将它们仅传递给拥有当前选定窗口的程序?

另外,至少有什么方法可以防止程序相互发送击键序列吗?由于几乎所有 Linux 发行版都默认设置,因此在我的帐户中运行的受感染程序可能会将“rm -rf /\n”发送到以 root 身份运行的 shell 提示符。

我知道 Linux 有很多强制性的访问控制框架,但是为了监视用户,这些都是 AFAIK 从一开始就被 X 设计的不安全的。可以采取哪些措施来减少这种危害?

1个回答

有一些工作正在朝着这个方向进行。一些可以帮助您的链接/想法:

OS qubes [1] 尝试使用域来修复它,并且在每个隔离域中,您都有一个虚拟 X。它支持剪贴板。

正在提出其他解决方案 [2] 来解决它。但是我不知道它如何支持剪贴板。

SELinux 沙箱[3] 也可以使用。它与 OS qube 非常相似,但主要区别在于它使用内核来强制隔离。Qubes 使用 XEN。我第一次测试,我无法复制和粘贴,但再次搜索,看起来它已经修复了

参考

[1] https://www.qubes-os.org/doc/copy-paste/

[2] https://wiki.gnome.org/Projects/SandboxedApps

[3] https://www.linux.com/learn/tutorials/382226-run-applications-in-secure-sandboxes-with-selinux