通常我只在我的 Linux 机器上安装开源程序,因为我不信任闭源应用程序。最近我不得不使用 Dropbox 来完成一个大学项目。我创建了一个名为的单独的 Linux 帐户工作并运行(如工作) 无需安装的保管箱通过 python 脚本。该脚本还在系统托盘中创建了一个符号,为 Dropbox 的某些功能提供 GUI。
有一天,我必须做一些维护,所以我打开了一个虚拟终端(KDE 上的 konsole)并输入了我的 root 密码苏。
Dropbox 应用程序是否有可能捕获我的 root 密码?
我使用 Fedora 20 和 KDE 4.14.3。
答案1
简短回答:是的。
在“过去”,可以通过抓取特定输入来有效地阻止任何其他 X 应用程序读取该输入。虽然直到今天仍然可以这样做,XI2协议规范似乎表明不能再这样做了(参见第 2220 行周围原始事件的描述)。因此,仅在 X 下您不再安全 - 至少在通常的简单设置中不安全。另请参阅下面的讨论我的答案到如何让守护进程提示输入密码(在 Xsession、keyloggersafe 中)?和那里引用了 AskUbuntu 问答。不用说,实际上没有终端在这样做 - 这就是为什么像 OpenSSH 或 GnuPG 这样的应用程序带有自己的 UI 助手,可以抓取键盘(尽管如上所述,现在它并没有多大帮助)。
不过,您可以做的是在不同的 X 服务器下运行应用程序,例如嵌套的 X 服务器,例如Xephyr
或者Xnest
,或基于 VNC 之类的Xvnc
。 Wayland 协议还应该提供一些针对窃听的保护。
除此之外,应用程序还可能尝试利用系统中未修补的安全漏洞,从而获得提升的权限。或者做一些更简单的事情,比如在系统路径之前将su
和sudo
包装器放入路径中,从而拦截密码(感谢@Joshua 的评论)。