БЕЗОПАСНАЯ ОПЕРАЦИОННАЯ СИСТЕМА QUBES OS

Бойко Владислав Иванович1, Моисеев Александр Петрович2
1Московский технологический университет, студент 4 курса
2Московский технологический университет, старший преподаватель военной кафедры, начальник цикла связи

Аннотация
В статье рассмотрена операционная система с изолированной средой исполнения, разработанная недавно и не имеющая аналогов – Qubes OS. Рассмотрены её преимущества, принцип построения, функционирования, возможности, объясняется концепция безопасности, предлагаемая разработчиками, проведено сравнение с аналогичными методами достижения схожего уровня безопасности.

Ключевые слова: , , ,


Рубрика: 05.00.00 ТЕХНИЧЕСКИЕ НАУКИ

Библиографическая ссылка на статью:
Бойко В.И., Моисеев А.П. Безопасная операционная система Qubes OS // Современные научные исследования и инновации. 2017. № 5 [Электронный ресурс]. URL: https://web.snauka.ru/issues/2017/05/82915 (дата обращения: 19.04.2024).

В наш век информационных технологий распространенных мер защиты оконечных компьютерных устройств (не только компьютеров, но и телефонов, «умных» домов, планшетов, производственных станков, хостов интернета вещей и т.д.), таких как антивирусные программы и межсетевые экраны, может быть недостаточно. Qubes OS – операционная система, ориентированная на повышенную безопасность программ и данных. Что же предлагает Qubes OS такого, чего нет в других операционных системах?


Рисунок 1. Логотип Qubes OS.

Безопасность рассматриваемой системы обеспечивается изолированной программной средой приложений. Каждая сфера цифровой жизни пользователя выполняется в изолированной от себе подобных оболочке – кубе. Каждый куб – легковесная виртуальная машина со своими правами доступа к ресурсам хост-системы. Чем это лучше виртуализации VMware и VirtualBox? Безопасность виртуальных машин в указанных программах зависит от безопасности хост-системы: если скомпрометировать реальную операционную систему, то установленная на ней виртуальная система так же будет скомпрометирована. В отличии от VMware и VirtualBox, Qubes OS использует гипервизор
Xen (гипервизор – ПО, АК или прошивка, которое создаёт и запускает виртуальные машины), который вместо запуска внутри ОС запускает виртуальную машину на «голом железе». Это означает, что для компрометации всей системы злоумышленнику необходимо скомпрометировать сам «железный» гипервизор, что представляет собой более сложную задачу, нежели рассмотренные программные гипервизоры.

Сравним плюсы использования Qubes OS и физически раздельных машин. Плюсы использования раздельных машин:

  1. При использовании отдельных компьютеров работа и безопасность не зависят от гипервизора. (Сомнительно, что у злоумышленника получится взломать гипервизор Xen, но если такое произойдет – то он получит контроль над всей операционной системой.)
  2. Физическое разделение компьютеров может хорошо сочетаться с физической безопасностью устройств. (Например, личный ноутбук с конфиденциальной информацией оставлять в защищенном сейфе, а с собой носить ноутбук для работы с программами и данными, доверие к которым сомнительно.)

Плюсы использования Qubes OS:

  1. Экономия места, времени и денег. (Каждый компьютер необходимо собрать, настроить под свой уровень безопасности, разместить в надлежащем месте.)
  2. у Qubes OS есть своя безопасная система передачи файлов между виртуальными машинами. (Не существует достаточно безопасного способа передачи данных между физическими компьютерами, работающими на распространенных ОС.)
  3. Компьютер с Qubes OS перестаёт быть уязвимым для множества распространенных атак, которым подвержены монолитные популярные ОС.
  4. Устойчивость к malware, «пробрасывающим мосты» из изолированных сетей. (Англоязычный термин air gap.)

Qubes OS использует микроядро. Преимущества ОС, построенной на микроядре, по сравнению с ОС, построенной на монолитном ядре:

  • простота реализации (компоненты и реализуют чётко определённый функционал, поэтому размер их кода невелик);
  • простота отладки (компоненты — обычные процессы, поэтому могут отлаживаться с помощью инструментов, созданных для отладки процессов);
  • гарантированная безопасность (код небольшого размера можно проверить на корректность вручную или автоматически — с помощью формальных математических рассуждений);
  • Отказоустойчивость (в ОС с микроядром ошибка в одном из компонентов приведёт к завершению процесса компонента; в ОС с монолитным ядром отказ компонента приведёт к отказу ОС);
  • модульность (в ОС с микроядром большее число компонентов может быть запущено и остановлено по необходимости; например, для исправления ошибки можно внести изменения в код компонента, скомпилировать новый компонент, остановить старый и запустить новый).

Недостатки ОС, построенной на микроядре, по сравнению с ОС, построенной на монолитном ядре:

  • Производительность (из-за сопутствующих расходов на взаимодействие между процессами).

Для того чтобы микроядерная ОС по скорости не уступала монолитной ОС, требуется очень аккуратно проектировать разбиение системы на компоненты и стараться свести к минимуму взаимодействие между ними. Таким образом, основная сложность при создании ОС с микроядром обуславливается необходимостью крайне аккуратного проектирования.

Подробнее о кубах и шаблонах.

Все программы запускаются в легковесной виртуальной машине – кубе. Каждая программа запускается не в отдельном кубе, а в кубе с соответствующим уровнем безопасности (настраивается пользователем). Т.е. каждый куб представляет собой «домен безопасности» (куб для веб-серфинга, куб для работы с банковскими реквизитами и счетами, куб для работы с документами и работой и т.д.). По умолчанию все кубы основаны на едином шаблоне (TemplateVM), но, конечно же, при желании можно создать больше шаблонов. Каждый шаблон предоставляет зависящим от него кубам своё окружение (приложения, ядро, среду). При создании нового куба не происходит полного копирования корневой файловой системы для работы куба с ней. Вместо этого, соответствующие шаблоны «делятся» корневой ФС со связанными с собой кубами. Кубы имеют доступ только на чтение ФС своего шаблона, таким образом куб не изменит шаблон и его данные ни в каком случае. И это важно: если куб будет скомпрометирован, его шаблон не пострадает. Создание множества доменов безопасности дешево обходится: каждому необходимо только дисковое пространство под хранение своих приватных файлов. Шаблоны не предполагают работы с приложениями и данными, лишь установку.

Рис. 2. Иллюстрация принципа работы AppVM с TemplateVM

Виртуализация виртуальных машин AppVM внутри Qubes OS – контейнерная. Основные преимущества контейнерной виртуализации:

  • Контейнеры выполняются на одном уровне с физическими серверами. Отсутствие виртуализованного оборудования и использование реального оборудования и драйверов позволяют получить высокую производительность.
  • Каждый контейнер может расширяться до ресурсов целого физического сервера.
  • Технология виртуализации на уровне ОС позволяет добиться высочайшей плотности, среди доступных среди решений виртуализации. Возможно создание и запуск сотен контейнеров на одном обычном физическом сервере.
  • Контейнеры используют единую ОС, что делает их поддержку и обновление очень простым. Приложения могут быть также развернуты в отдельном окружении.
  • Значительно большая эффективность контейнерной виртуализации в отношении совместного использования ресурсов, так как для нее контейнеры — это всего лишь управляемые ресурсы.


Рис 3. Схема контейнерной виртуализации

Каждый куб должен иметь уникальное имя, а окно, в котором запускается куб с приложением – свою метку – цвет рамок, зависящий от уровня доверия. Цвета для различных доменов настраиваемы, как их интерпретировать – дело пользователя. Например, легко воспринимать следующим образом: красный – «опасный» куб, желтый и оранжевый – нечто среднее с небольшими различиями, зеленый – безопасный для пользовательских программ и данных, синий – еще более доверенный, для более важных данных, черный – абсолютно безопасный изолированный домен под наши цели.

В дополнение ко всем кубам и шаблонам, существует специальный административный домен «dom0». В нем выполняется Desktop manager и происходит вход в систему. Dom0 – самый безопасный куб, безопаснее чем домены с черной меткой. Это продиктовано тем, что если данный домен будет скомпрометирован, то вся система будет под угрозой. В силу сказанного, dom0 не имеет никакого доступа к сетям и используется только как оконный- и desktop-менеджер. Dom0 не должен быть использован для чего либо ещё, иными словами, пользовательские приложения никогда не должны запускаться в нём (в чём и состоит идея Qubes). Все аспекты Qubes OS регулируются через графический интерфейс в Qubes VM Manager, который запускается в dom0 при старте системы. Доступны графические среды KDE, LXDE.

Рис.4. Схема устройства Qubes OS

Заключение

Qubes OS – одно из лучших решений на сегодняшний день для тех, кому необходима безопасность компьютера.

Были рассмотрены преимущества и недостатки использования данной операционной системы, её концепция обеспечения заявленного уровня безопасности, сильные и слабые стороны, принципы функционирования и структура, установлен и настроен демонстрационный стенд, переведена часть документации.

Подводя итог, ключевые особенности архитектуры Qubes OS:

  • Основана на безопасном железном гипервизоре Xen
  • Сетевой компонент изолирован в виртуальной песочнице без привилегий (используя IOMMU/VT-d)
  • USB стек и драйвера изолированы в непривилегированной виртуальной песочнице. (на данный момент, функция еще в разряде экспериментальной)
  • Никакого сетевого кода в административном домене dom0.
  • Все пользовательские приложения запускаются в AppVM, легковесных контейнерных виртуальных машинах на ядре Linux.
  • Единые обновления для всех AppVM, основанных на одном шаблоне.
  • Графическая интерфейс Qubes представляет приложения так, как если бы они просто были запущены локально в окне.
  • Графический интерфейс Qubes обеспечивает изоляцию между приложениями, тем не менее разделяя рабочий стол.
  • Безопасная загрузка, полное шифрование диска(Опционально).

Библиографический список
  1. Редактор Builder AU Ник Гибсон, Интервью с Эндрю Таненбаумом  –  [Электронный  ресурс] – Режим доступа: https://www.usenix.org/system/files/login/articles/login_apr15_04_tanenbaum.pdf (дата обращения 23.05.2017)
  2. Блог компании InfoboxCloud – [Электронный ресурс] – Режим доступа: https://habrahabr.ru/company/infobox/blog/247595/ (дата обращения 23.05.2017) – [Электронный ресурс] – Режим доступа: http://jurnal.org/articles/2008/ped11.html (дата обращения 18.05.2017)
  3. Официальный сайт проекта Qubes OS – [Электронный ресурс] – Режим доступа: https://www.qubes-os.org/ (дата обращения 23.05.2017)


Количество просмотров публикации: Please wait

Все статьи автора «Бойко Владислав Иванович»


© Если вы обнаружили нарушение авторских или смежных прав, пожалуйста, незамедлительно сообщите нам об этом по электронной почте или через форму обратной связи.

Связь с автором (комментарии/рецензии к статье)

Оставить комментарий

Вы должны авторизоваться, чтобы оставить комментарий.

Если Вы еще не зарегистрированы на сайте, то Вам необходимо зарегистрироваться:
  • Регистрация