Релиз ОС Qubes 4.0, использующей виртуализацию для изоляции приложений
Как сообщает opennet.ru Состоялся релиз операционной системы Qubes 4.0, реализующей идею использования гипервизора для строгой изоляции приложений и компонентов ОС (каждый класс приложений и системные сервисы работают в отдельных виртуальных машинах). Для загрузки подготовлен установочный образ размером 4.2 Гб. Для работы необходима система с 4 Гб ОЗУ и 64-разрядным CPU Intel или AMDс поддержкой технологий VT-x c EPT/AMD-v c RVI и VT-d/AMD IOMMU, желательно наличие GPU Intel (GPU NVIDIA и AMD плохо протестированы).
Приложения в Qubes разделены на классы в зависимости от важности обрабатываемых данных и решаемых задач, каждый класс приложений, а также системные сервисы (сетевая подсистема, работа с хранилищем и т. п.), работают в отдельных виртуальных машинах. При этом указанные приложения бесшовно доступны в рамках одного рабочего стола и выделяются для наглядности разным цветом обрамления окна. Каждое окружение имеет доступ на чтение к базовой корневой ФС и локальному хранилищу, не пересекающемуся с хранилищами других окружений, для организации взаимодействия приложений используется специальный сервис.
В качестве основы для формирования виртуальных окружений может применяться пакетная база Fedora и Debian, также сообществом поддерживаются шаблоны для Whonix, Ubuntu и Arch Linux. Пользовательская оболочка построена на основе Xfce, но в качестве опции можно использовать KDE. Когда пользователь запускает из меню приложение, это приложение стартует в определенной виртуальной машине. Содержание виртуальных окружений определяется набором шаблонов. В каждом виртуальном окружении приложения запускается отдельный X-сервер, упрощенный оконный менеджер и видеодрайвер-заглушка, транслирующий вывод в управляющее окружение в композитном режиме.
- Виртуальные окружения теперь запускаются в режимах PVH и HVP вместо PV, что позволило усилить изоляцию и обеспечить защиту от уязвимостей Meltdown и Spectre. PVH комбинирует элементы режимов паравиртуализации (PV) для ввода/вывода, обработки прерываний, организации загрузки и взаимодействия с оборудованием, с применением полной виртуализации (HVM) для ограничения привилегированных инструкций, изоляции системных вызовов и виртуализации таблиц страниц памяти;
- Переписаны скрипты управляющего стека (Core Stack), улучшена структура и расширяемость;
- Добавлен Admin API для организации управления виртуальными машинами, который упрощает кастомизацию, использование одноразовых VM, позволяет формировать более гибкие правила и дает дополнительные возможности в управлении разделами с VM;
- Переписаны все утилиты командной строки qvm-*;
- Запрещено переименование виртуальных машин, оставлены только операции клонирования в новую VM и удаления старой VM;
- По умолчанию создается USB VM;
- Предоставлено несколько шаблонов для одноразовых VM;
- Новый формат резервных копий, использующий функцию scrypt и обязательно применяющий шифрование. Возможность использования незашифрованных резервных копий больше не предоставляется;
- VM-пакеты qubes-core-agent/qubes-core-vm разделены для улучшения поддержки создания специализированных и минимальных шаблонов;
- Qubes Manager разделен на отдельные виджеты для управления доменами и устройствами, в виджет управления устройствами добавлена поддержка USB;
- Новый интерфейс управления разделами VM, позволяющий размещать VM на внешних накопителях;
- Предложен более гибкий интерфейс управления межсетевым экраном, упрощающий интеграцию с unikernel;
- В шаблонах виртуальных машин теперь по умолчанию отключен сетевой интерфейс, а для доставки обновлений используется прокси на основе qrexec;
- Обеспечен более гибкий выбор IP-адресов для VM;
- Повышена гибкость правил Qubes RPC. Добавлено новое окно с подтвержднием RPC-операций с возможностью указания целевой VM;
- Новая архитектура подсистемы хранения данных, позволяющая подключать различные типы хранилищ;
- Базовое окружение Dom0 обновлено до пакетной базы Fedora 25. Задействовано ядро Linux 4.9.