Недавно исследователь безопасности из Core OS и разработчик Linux-ядра Мэтью Гаррет опубликовал сообщение, в котором отметил, что пакет Snap в Ubuntu 16.04 с X11-сервером отображения уязвим. X11 по-прежнему используется по умолчанию в настольной версии Ubuntu 16.04. Чтобы продемонстрировать проблему, Гаррет создал небольшое приложение Snap на Github, показав, что любые Snap-программы, работающие в окружении X11, могут получить доступ к данным других X11-приложений.
В этом посте я расскажу, как установить приложение Snap на Ubuntu 16.04 и ощутить потенциальные риски использования X11. Также вы узнаете, как создавать Snap-приложения с помощью snapcraft.
Инструкция по установке пакета Snap
Для начала откройте терминал и установите Git на Ubuntu 16.04, выполнив следующую команду:
sudo apt-get install git
Скачайте репозиторий Мэтью Гаррета с Github.
git clone https://github.com/mjg59/xevilteddy
Эта команда создаст новую папку с именем xevilteddy в текущем рабочем каталоге. Перейдите в эту папку.
cd xevilteddy/
Затем установите программу snapcraft.
sudo apt-get install snapcraft
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.
Он также предостерегает, что оконный менеджер не оставит ваше окно без внимания и может применить curl для передачи ваших ssh-ключей на внешний ресурс. К счастью, на моей недавно установленной Ubuntu 16.04 отсутствуют ssh-ключи.
В своем тестировании я наблюдал вышеупомянутое только на новой установке Ubuntu 16.04. Когда я проверял это на системе с Ubuntu 16.04, обновленной с версии 15.10, игрушечного медведя не оказалось, и пакет Snap не фиксировал мои нажатия клавиш. Вместо этого он выдал следующее сообщение об ошибке.
Способы удаления из Ubuntu 16.04
Для удаления приложения snap с рабочего стола Ubuntu 16.04, введите следующую команду:
sudo snap remove xevilteddy
Для получения перечня установленных пакетов Snap воспользуйтесь данной командой.
snap list
По умолчанию серверная версия Ubuntu 16.04 не содержит сервера отображения X11, что делает её невосприимчивой к данной уязвимости безопасности. Серверы отображения Mir и Wayland также не подвержены этой проблеме. Xdg-app от Gnome представляет собой проект, похожий на Snap, который предназначен для запуска приложений в защищенной среде. У xdg-app есть преимущество: он функционирует только с сервером отображения Wayland, так как X11 изначально имеет уязвимости.

