
С появлением Snaps в 16.04 LTS, естьСообщение блогаМэтью Гарретт, известный разработчик ядра Linux и основной ОС, говорит:
...snaps работают без ограничений и имеют доступ практически ко всей системе
Если смысл наличия snaps в том, чтобы изолировать приложения от всей системы, почему они могут получить доступ к системе и работать без ограничений? Нужно ли подавать отчет об ошибке? Будут ли предприняты какие-либо шаги для решения этой проблемы?
решение1
Это особенно касается снимков, которые используют X11. Другими словами, снимкинетработает без ограничений, но если ограничение snap включает доступ к X, то да: у него есть доступ к X. Это не касается snap, которые не используют интерфейсы unity7
или x11
. Проблема, описанная в этом сообщении в блоге, является хорошо известным ограничением X и одной из причин разработки альтернативных технологий (например, Mir).
Густаво Нимейер написалхороший пост в блоге, который обсуждает это. Я процитирую здесь для потомков и полноты:
Те, кто заботится о безопасности, заметят, что X11 на самом деле не является безопасным протоколом. Когда мы передаем приложению это разрешение, возможны некоторые злоупотребления системой. Другие интерфейсы, такие как home, дадут snap доступ к каждому не скрытому файлу в каталоге $HOME пользователя (те, которые не начинаются с точки), что означает, что вредоносное приложение может украсть личную информацию и отправить ее по сети (предполагая, что оно также определяет сетевой плагин).
Некоторые могут удивиться, что это так, но это недопонимание роли snaps и Snappy как программной платформы. Когда вы устанавливаете программное обеспечение из архива Ubuntu, это заявление о доверии разработчикам Ubuntu и Debian. Когда вы устанавливаете двоичные файлы Google Chrome или MongoDB из соответствующих архивов, это заявление о доверии этим разработчикам (у них есть root в вашей системе!). Snappy не устраняет необходимость в этом доверии, поскольку как только вы предоставляете части программного обеспечения доступ к вашим личным файлам, веб-камере, микрофону и т. д., вы должны быть уверены, что оно не будет злонамеренно использовать эти разрешения.
Смысл ограничения Snappy в этой картине заключается в том, чтобы включить программную экосистему, которая может контролировать, что именно разрешено и кому, ясным и наблюдаемым образом, в дополнение к той же процедурной заботе, которую мы все научились ценить в мире Linux, а не вместо нее. Запрет людям использовать все соответствующие ресурсы в системе просто заставит их использовать то же самое программное обеспечение через менее безопасные механизмы вместо решения проблемы.
И то, что мы имеем сегодня, это только начало. Эти интерфейсы вскоре станут гораздо богаче и более детализированными, включая выбор ресурсов (например, какой последовательный порт?), а некоторые из них полностью исчезнут в пользу более безопасных вариантов (например, Unity 8).
решение2
Проблема не в защелках, а в X11 — технологии 30-летней давности, разработанной без особых мер безопасности.
Чтобы "решить проблему", вам просто нужно избавиться от X11. Системы без него, такие как серверы, могут извлечь выгоду из изоляции snaps прямо сейчас. НовыйМиркоторый заменит xserver, надеюсь, скорее раньше, чем позже, и должен решить проблемы безопасности X11.
Приглашаем вас прочитать книгу Мэтью ГарретаСообщение блогачтобы удовлетворить ваше любопытство. Он говорит:
Проблема здесь в оконной системе X11. X не имеет реальной концепции различных уровней доверия приложений. Любое приложение может зарегистрироваться для получения нажатий клавиш от любого другого приложения. Любое приложение может внедрить поддельные события клавиш в поток ввода. Приложение, которое в противном случае ограничено строгими политиками безопасности, может просто печатать в другом окне. Приложение, не имеющее доступа к каким-либо вашим личным данным, может подождать, пока ваш сеанс не будет занят, открыть неограниченный терминал, а затем использовать curl для отправки ваших данных на удаленный сайт. Пока Ubuntu Desktop все еще использует X11, формат Snap обеспечивает вам очень мало значимой безопасности.