Релиз ОС Qubes 4.1, использующей виртуализацию для изоляции приложений

После почти четырёх лет разработки состоялся релиз операционной системы Qubes 4.1, реализующей идею использования гипервизора для строгой изоляции приложений и компонентов ОС (каждый класс приложений и системные сервисы работают в отдельных виртуальных машинах). Для работы необходима система с 6 Гб ОЗУ и 64-разрядным CPU Intel или AMD с поддержкой технологий VT-x c EPT/AMD-v c RVI и VT-d/AMD IOMMU, желательно наличие GPU Intel (GPU NVIDIA и AMD недостаточно хорошо протестированы). Размер установочного образа – 6 ГБ.

Приложения в Qubes разделены на классы в зависимости от важности обрабатываемых данных и решаемых задач. Каждый класс приложений (например, работа, развлечения, банковские операции), а также системные сервисы (сетевая подсистема, межсетевой экран, работа с хранилищем, USB-стек и т.п.), работают в отдельных виртуальных машинах, запускаемых с использованием гипервизора Xen. При этом указанные приложения доступны в рамках одного рабочего стола и выделяются для наглядности разным цветом обрамления окна. Каждое окружение имеет доступ на чтение к базовой корневой ФС и локальному хранилищу, не пересекающемуся с хранилищами других окружений, для организации взаимодействия приложений используется специальный сервис.


В качестве основы для формирования виртуальных окружений может применяться пакетная база Fedora и Debian, также сообществом поддерживаются шаблоны для Ubuntu, Gentoo и Arch Linux. Возможна организация доступа к приложениям в виртуальной машине с Windows, а также создание виртуальных машин на базе Whonix для обеспечения анонимного доступа через Tor. Пользовательская оболочка построена на основе Xfce. Когда пользователь запускает из меню приложение, это приложение стартует в определенной виртуальной машине. Содержание виртуальных окружений определяется набором шаблонов.




Основные изменения:

  • Реализована концепция применения отдельного окружения GUI Domain с компонентами для обеспечения работы графического интерфейса. Ранее для каждого класса приложений в каждом виртуальном окружении запускался отдельный X-сервер, упрощённый оконный менеджер и видеодрайвер-заглушка, транслирующий вывод в управляющее окружение в композитном режиме, но компоненты графического стека, оконный менеджер основного рабочего стола, средства управления экраном и графические драйверы выполнялись в основном управляющем окружении Dom0. Теперь функции, связанные с графикой вынесены из Dom0 в отдельное окружение GUI Domain и отделено от компонентов управления системой. В Dom0 оставлен только специальный фоновый процесс для предоставления доступа к определённым страницам памяти. Поддержка GUI Domain пока является экспериментальной и не включена по умолчанию.
  • Добавлена экспериментальная поддержка Audio Domain, отдельного окружения для выполнения звукового сервера, позволяющего выделить компоненты для обработки звука их Dom0.
  • Добавлен фоновый процесс qrexec-policy и новая система правил для RPC-механизма Qrexec, который позволяет выполнять команды в контексте заданных виртуальных окружений. Система правил Qrexec определяет кто, что и где может делать в Qubes. Новый вариант правил отличается более гибким форматом, значительным увеличением производительности и системой уведомлений, упрощающей диагностику проблем. Добавлена возможность выполнения сервисов Qrexec в виде сервера, доступного через сокет (socket server).
  • Предложены три новых шаблона виртуальных окружений на основе Gentoo Linux – минимальный, с Xfce и c GNOME.
  • Реализована новая инфраструктура для сопровождения, автоматизированной сборки и тестирования дополнительных шаблонов виртуальных окружений. Помимо Gentoo в инфраструктуре обеспечена поддержка шаблонов с Arch Linux и тестирования ядра Linux.
  • Улучшена система сборки и тестирования, добавлена поддержка проверки в системе непрерывной интеграции на базе GitLab CI.
  • Проведена работа по реализации поддержки повторяемых сборок окружений на базе Debian, которые можно использовать для подтверждения, что компоненты Qubes собраны именно из заявленных исходных текстов и не содержит посторонних изменений, подстановка которых, например, может быть совершена путём атаки на сборочную инфраструктуру или закладки в компиляторе.
  • Переписана реализация межсетевого экрана.
  • Окружения sys-firewall и sys-usb по умолчанию запускаются в режиме
    “disposable”, т.е. являются одноразовыми и могут создаваться по требованию.
  • Улучшена поддержка экранов с высокой плотностью пикселей.
  • Добавлена поддержка разных форм курсора.
  • Реализован вывод уведомления о нехватке свободного пространства на диске.
  • Добавлена поддержка параноидального режима восстановления резервной копии, в котором для восстановления используется одноразовое виртуальное окружение.
  • В инсталляторе предоставлена возможность выбора между Debian и Fedora для шаблонов виртуальных машин.
  • Добавлен новый графический интерфейс для управления обновлениями.
  • Добавлена утилита Template Manager для установки, удаления и обновления шаблонов.
  • Улучшен механизм распространения шаблонов.
  • Базовое окружение Dom0 обновлено до пакетной базы Fedora 32.
    Шаблоны для формирования виртуальных окружений обновлены до Fedora 34 32, Debian 11 и Whonix 16. По умолчанию предложено ядро Linux 5.10.
    Обновлены гипервизор Xen 4.14 и графическое окружение Xfce 4.14.

Release. Ссылка here.