Началось тестирование ОС Subgraph, использующей контейнерную изоляцию приложений на десктопе
После двух лет разработки доступен первый альфа-выпуск проекта Subgraph OS, в рамках которого развивается платформа, обеспечивающая запуск десктоп-приложений в отдельных изолированных контейнерах. Система изначально нацелена на предоставление максимальной безопасности и стойкости к атакам, для чего кроме контейнеров применяются наработки проекта Grsecurity/PaX и жесткая верификация устанавливаемых компонентов. Взаимодействие с внешним миром осуществляется только через сеть Tor. Для загрузки доступен iso-образ размером 1.5 Гб.
Разработчики Subgraph не считают, что ценой высокой безопасности должны быть ограничения и неудобства в работе, и пытаются предоставить максимально простое и удобное для конечных пользователей решение. Базовое графическое окружение основано на GNOME 3. В качестве почтового клиента предлагается Subgraph Mail, написанный с нуля с оглядкой на предоставление встроенной поддержки безопасных коммуникаций, идентификации отправителя и проверки сообщений по цифровой подписи (используется встроенная реализация OpenPGP). В качестве браузера применяется Tor Browser. Для мгновенного обмена сообщениями используется CoyIM c поддержкой "end-to-end"-шифрования при помощи OTR (Off-the-Record).
Все сетевые запросы приложений по умолчанию перехватываютя компонентом Metaproxy и принудительно отправляются только через сеть Tor, за исключением случаев подключения к порталу аутентификации беспроводной сети (captive portal). Доступ к сети осуществляется на основе белого списка, в который включены приложения, которым разрешена сетевая активность по определённым сетевым портам. Трафик разных приложений отправляется через разные цепочки узлов Tor. При попытке инициирования исходящего сетевого соединения, не предусмотренного разрешёнными правилами, через задействование динамического межсетевого экрана пользователю выводится диалог с предложением подтвердить или отклонить операцию.
Для изоляции приложений применяется технология sandbox-контейнеров oz, в которой для изоляции применяются пространства имён, Seccomp filter, Capabilities и прослойка Xpra, изолирующая приложение от X-сервера (подобие screen для X11). Для приложений ограничивается доступ к пользовательским файлам, устройствам, рабочему столу (открыт доступ только в своё окно), другим процессам, системным вызовам, полностью контролируются обращения по сети.
Ядро Linux собрано с патчами Grsecurity/PaX. Содержимое файловых систем хранится в зашифрованном виде (dm-crypt/LUKS). Компоненты дистрибутива написаны на языке Go, который предоставляет встроенные средства защиты от выхода за допустимые области выделенных блоков памяти. В качестве основы используется пакетная база Debian GNU/Linux. При формировании дистрибутива применяется контроль целостности бинарных пакетов и специальный верифицированный процесс сборки, обеспечивающий повторяемость сборок (пересборка пользователем приведёт к формированию полностью совпадающих исполняемых файлов).
По сравнению с системой Qubes, использующей полноценные механизмы виртуализации для изоляции разных типов приложений, применение контейнеров позволило значительно снизить требования к имеющимся ресурсам, для работы Subgraph требуется 64-разрядный CPU Core2Duo (или новее), 2 Гб ОЗУ (рекомендуется 4 Гб) и 20 Гб места на диске. При этом, в Twitter (@rootkovska, @attractr, @subgraph) и списке рассылки ведутся переговоры о сотрудничестве проектов Subgraph OS и Qubes, в рамках которого для Qubes в ближайшее время может быть подготовлен образ VM с Subgraph.