Answers:
简短的回答:是的。
在“过去”时期,可以有效地阻止任何其他X应用程序通过抓取来读取特定输入。尽管到目前为止仍然可以做到这一点,但是XI2协议规范似乎建议不能再这样做了(请参阅2220行附近的Raw Events的描述)。因此,仅在X下,您就不再安全了-至少在通常的简单设置中不安全。另请参见我对如何让守护程序提示输入密码(在Xsession中,keyloggersafe)的回答下的讨论?以及那里引用的AskUbuntu问答。不用说,实际上没有终端在这样做-这就是为什么像OpenSSH或GnuPG之类的应用程序都带有自己的UI帮助器,它们可以抓住键盘(尽管如上所述,这几天实际上并没有太大帮助)。
但是,您可以做的是在不同的X服务器下运行应用程序,例如,嵌套的X服务器(例如Xephyr
或Xnest
,或基于VNC的)Xvnc
。Wayland协议还应该提供一些防止窃听的保护措施。
除上述内容外,该应用程序还可能尝试利用系统中未打补丁的安全漏洞,从而获得更高的特权。或者做一些简单的事情,例如在系统路径之前将a su
和sudo
wrapper放入路径中,从而截获密码(感谢@Joshua进行评论)。
xspy
不断轮询键盘以获取此时按下的键之类的程序。