Выбрать главу
Qubes OS изнутри

Новое творение Рутковски было названо Qubes OS. Так же как сертифицированные системы и системы на основе управляемого выполнения кода, Qubes OS относится к классу доверенных операционных систем (trusted OS). Это означает, что её пользователь может трудиться, не волнуясь о проблемах с криво написанными драйверами, плагинами браузеров, прячущими вредоносный код, и уязвимостями в ядре операционной системы.

Только в отличие от систем первых двух типов, дотошно исследующих на легитимность работающий в их рамках код, Qubes OS допускает использование любого, даже потенциально опасного кода. Почему? Потому, что так же, как и в Blue Pill, этот код будет выполняться внутри виртуальной машины. И если уж он навредит, то только ей. Ну а перезапустить с обнулёнными параметрами рухнувшую виртуальную машину проще простого.

Формально проект Qubes OS относится к решениям с открытыми исходниками и базируется на Linux. Это означает, что в рамках Qubes OS можно запускать массу написанных для Linux программ и использовать большинство совместимых с Linux драйверов устройств.

Архитектура Qubes OS базируется на гипервизоре виртуальных машин Xen — свободном проекте компании Citrix System, которая приобрела его у разработчика — кембриджского профессора Йена Пратта. Гипервизор Xen относится к системам виртуализации «на железе» (bare-metal) и не требует дополнительной прослойки в виде какой-либо операционной системы. За счёт прямой работы с аппаратурой Xen является весьма нетребовательным к ресурсам, что даёт возможность создавать множество высокопроизводительных виртуальных машин. Множество хостингов, облачных сервисов и виртуальных приватных серверов, которыми мы пользуемся, работают на базе виртуализации Xen.

Гипервизор Xen устроен очень просто. Базируясь на спецификации IOMMU, обеспечивающей прямое подключение шин ввода-вывода к оперативной памяти, реализованных в процессорах разных производителей, Xen устанавливается на компьютер вместо операционной системы. Его задача — управление работой виртуальных машин и их обращениями к «железу». Поверх Xen работает множество виртуальных машин, которые в его терминах именуются доменами (domain). Один из доменов (Domain0 или Dom0) считается привилегированным и предназначен для контролируемого прямого доступа к аппаратуре и управления запросами операционных систем, работающих в других виртуальных машинах. Остальные домены называются пользовательскими (DomainU), и именно в них размещаются гостевые операционные системы.

Архитектура Qubes проста: гипервизор Xen и куча цветных виртуальных машин

Создавая Qubes OS, Рутковски фактически ничего не меняла в архитектуре Xen. Она просто создала виртуальные машины двух классов. Первый — системные виртуальные машины, в которых работают сетевые компоненты Qubes OS, а также домен-хранилище (Storage Domain), содержащий в зашифрованном виде образы остальных виртуальных машин. Главный системный домен Xen (Dom0) содержит специально модифицированную графическую среду X Window, к которой реализован защищённый графический интерфейс пользователя. Работая с Qubes OS, пользователь видит рабочий стол именно домена Dom0.

Второй класс виртуальных машин Qubes OS — прикладные виртуальные машины (AppVM), содержащие образы операционной системы Linux. Именно в их рамках можно устанавливать и запускать любые программы.

Главная идея Qubes OS заключается в том, что разные программы можно запускать в разных виртуальных машинах. Например, все программы, связанные с интернетом, можно вынести в «зелёную» (green) виртуальную машину, программы обработки документов установить в «жёлтой» (yellow) машине, а всё для работы с кредитными картами и прочей важной и секретной информацией вынести в «красную» (red) машину.

Окна разных виртуальных машин в Qubes OS окрашены в разные цвета

Число таких цветных машин может быть любым, всё зависит от фантазии и степени параноидальности пользователя. Пользовательские виртуальные машины работают параллельно и не пересекаются друг с другом. Значит, вредоносные действия программы в одной из них не распространятся на другие машины. Ну а если всё же потребуется обмениваться данными между машинами, в Qubes OS предусмотрен специальный защищённый буфер обмена.

Домены и связи между ними, созданные в Qubes OS, на которой работает сама Джоанна Рутковска