在虚拟终端中键入X时,可以在X上的另一个程序捕获我的root密码吗?


24

通常,我只在Linux机器上安装开源程序,因为我不信任封闭源应用程序。最近,我不得不将Dropbox用于大学项目。我创建了一个单独的名为work的 linux帐户,并在通过python脚本进行安装的情况下运行(作为workdropbox。该脚本还在系统托盘中创建了一个符号,该符号为Dropbox的某些功能提供了GUI。

前几天,我必须进行一些维护,因此打开了一个虚拟终端(在KDE上为konsole)并输入了su的根密码。

Dropbox应用程序是否有可能捕获了我的root密码?

我将Fedora 20与KDE 4.14.3一起使用。

Answers:


24

简短的回答:是的。

在“过去”时期,可以有效地阻止任何其他X应用程序通过抓取来读取特定输入。尽管到目前为止仍然可以做到这一点,但是XI2协议规范似乎建议不能再这样做了(请参阅2220行附近的Raw Events的描述)。因此,仅在X下,您就不再安全了-至少在通常的简单设置中不安全。另请参见如何让守护程序提示输入密码(在Xsession中,keyloggersafe)的回答下的讨论以及那里引用AskUbuntu问答。不用说,实际上没有终端在这样做-这就是为什么像OpenSSH或GnuPG之类的应用程序都带有自己的UI帮助器,它们可以抓住键盘(尽管如上所述,这几天实际上并没有太大帮助)。

但是,您可以做的是在不同的X服务器下运行应用程序,例如,嵌套的X服务器(例如XephyrXnest,或基于VNC的)Xvnc。Wayland协议还应该提供一些防止窃听的保护措施。

除上述内容外,该应用程序还可能尝试利用系统中未打补丁的安全漏洞,从而获得更高的特权。或者做一些简单的事情,例如在系统路径之前将a susudowrapper放入路径中,从而截获密码(感谢@Joshua进行评论)。


例如,将sudo重定向到〜/ .evil / sudo并获取您的pw。
约书亚

在X之下,您永远都不安全-抓住设备只会阻止生成输入事件,它无法防止程序xspy不断轮询键盘以获取此时按下的键之类的程序。
alanc

@alanc您是否具有指向源的链接?
彼得

@peterph for xspy?原来的网站消失了,但互联网档案已储存在副本web.archive.org/web/20090207115718/http://www.acm.vt.edu/...
alanc

xnest和xephyr都不保护您 ; 事件像往常一样冒泡到他们的窗口。
goldilocks 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.