如何知道validation框是真的还是假的?
例如,某人创建了一个假的Authenticate对话框来获取我的root密码。 如何知道它是真的还是假的?
所以你[可能]在那里查看PolicyKit升级提示。 任何没有想要一起玩的人都可以运行pkexec echo
(或类似的东西),他们会得到类似的东西。
我们如何检查它真的是 PolicyKit,而不是一些定制的网络钓鱼窗口?
那么你可以通过xprop
获取有关Window的信息,你可以用ps
获取命令信息,让我们将它们组合起来! 在我们开始之前,因为我们在这里超级偏执,我正在使用完整路径以防万一有人添加了任何这些命令的本地黑客副本。 这是我在我的pkexec echo
盒上运行它:
$ /bin/ps $(/usr/bin/xprop _NET_WM_PID | /usr/bin/awk '{print $NF}') PID TTY STAT TIME COMMAND 3989 ? Sl 0:00 /usr/lib/kde4/libexec/polkit-kde-authentication-agent-1
所以,据我们所知(注意我是KDE用户)这是一个合法的提示。 它没有运行一些本地脚本,所以只要邪恶还没有根系统(但嘿,他们为什么还需要我们的密码?),我们可能是安全的。
我们怎么知道它会做什么?
在gksu
, kdesu
和pkexec
的情况下,提示对于它们将要运行的内容是相当明确的。 在前两个命令的情况下,上面的命令将告诉您他们计划运行的内容:
$ /bin/ps $(/usr/bin/xprop _NET_WM_PID | /usr/bin/awk '{print $NF}') PID TTY STAT TIME COMMAND 10395 ? Sl 0:00 /usr/lib/kde4/libexec/kdesu -u root -c /usr/sbin/synaptic
对于PolicyKit,您可以单击该详细信息选项卡,您将看到它要执行的权限。 在KDE中,您还会看到可以查找的调用者PID( ps
)。 这是KDE中的样子:
您可以将鼠标hover在操作上并获取要执行的PolicyKit策略。 在Ubuntu中,默认显示策略。 可以查找这些策略。 上面的内容来自/usr/share/polkit-1/actions/org.kubuntu.qaptworker2.policy
和/usr/share/dbus-1/system-services/org.kubuntu.qaptworker2.service
指定的服务。 你可以看到正在运行的是什么以及由谁运行。 而这些服务只能再次由root添加,除非你已经扎根,否则你可能会信任这些服务。
但是不要盲目信任PolicyKit!
PolicyKit具有这些规则和服务,因此可以以root身份执行select操作,而无需像这样运行整个过程。 你需要保持警惕。 显然,如果你正在运行gnome-calculator
并且弹出一个org.freedesktop.policykit.exec
提示符,那就太狡猾了。
在你输入密码之前,可能只是进行调查。之后为时已晚。
即使这一切都是合法的,但是谁说你没有使用键盘记录器窃取所有密码呢? 或者覆盖$PATH
东西,或者在你的~/.bashrc
了一些可怕的东西,让它看起来像你没被黑了? 我相当确定你有足够的注意力来规避上面的所有检测程序。
睡得好。