在Ubuntu 16.04上使用Snap软件包了解X11固有的不安全性

最近,Core OS安全研究人员和Linux内核贡献者Matthew Garrett发表了一篇文章,指出在带有X11显示服务器的Ubuntu 16.04上的Snap软件包不安全。 X11仍然是Ubuntu 16.04桌面上的默认显示服务器。 他在Github上创建了一个小的Snap应用程序,以证明X11环境中的任何Snaps都可以访问其他X11应用程序的数据。

在本文中,我将向您展示如何在Ubuntu 16.04上安装他的Snap应用程序,以及如何感受X11固有的不安全性。 您还将学习在此过程中如何使用snapcraft创建Snap应用程序。

如何安装快照包

首先打开一个终端窗口,并使用以下简单命令在Ubuntu 16.04上安装Git:

sudo apt-get install git

接下来,克隆Matthew Garrett的Github存储库。

git clone https://github.com/mjg59/xevilteddy

上面的命令将创建一个名为 xevilteddy 在当前工作目录中。 CD进入该目录。

cd xevilteddy/

之后,安装snapcraft。

sudo apt-get install snapcraft

安装libxtst-dev

sudo apt-get install libxtst-dev

使用以下命令创建Snap软件包。 它将创建一个 xevilteddy_0.1_amd64.snap 要么 xevilteddy_0.1_i386.snap 文件,具体取决于您的操作系统架构。

snapcraft snap

现在,让我们安装新创建的Snap软件包。

sudo snap install xevilteddy_0.1*.snap

然后运行此Snap应用程序。

/snap/bin/xevilteddy.xteddy

您应该在Ubuntu 16.04桌面的左上角看到一个玩具熊。

当我在Firefox中撰写本文时,它确实记录了我的键盘击键! 请参阅下面带下划线的文字。

ubuntu16.04-快照日志击键

它还会警告您,窗口管理器不会将窗口单独放置,它可能正在使用curl将您的ssh密钥发送到远程站点。 幸运的是,我的全新Ubuntu 16.04安装中没有SSH密钥。

在我的测试中,我仅在全新的Ubuntu 16.04安装上看到以上内容。 在从Ubuntu 15.10升级的Ubuntu 16.04机器上进行测试时,我没有看到玩具熊,并且Snap包也没有记录我的键盘击键。 而是产生了以下错误消息。

Bad system call

如何从Ubuntu 16.04删除它

要从Ubuntu 16.04桌面删除此快照应用程序,请运行以下命令:

sudo snap remove xevilteddy

使用以下命令列出已安装的Snap软件包。

snap list

默认情况下,Ubuntu 16.04服务器版本不包括X11显示服务器,因此不会受到此安全漏洞的威胁。 Mir和Wayland显示服务器没有此安全漏洞。 Gnome的xdg-app是一个类似于Snap的项目,旨在在沙盒环境中运行应用程序。 xdg-app的优点在于它仅可与Wayland显示服务器一起使用,因为X11本质上是不安全的。

总是欢迎提出意见,问题和建议。 如果您认为这篇文章有用,请订阅我们的免费新闻通讯,或在Google +,Twitter或喜欢我们的Facebook页面上关注我们。

Sidebar