Физическая изоляция — это гарантия безопасности, которой не хватает в цифровом мире
Qubes позволяет нам разделить устройство на множество отсеков, подобно тому, как мы делим физическое здание на множество комнат. Более того, он позволяет нам создавать новые разделы всякий раз, когда они нам нужны, и дает нам сложные инструменты для безопасного управления нашими действиями и данными в этих разделах.
Чем Qubes OS отличается от запуска виртуальных машин в обычной ОС?
Не все программное обеспечение для виртуальных машин одинаково, когда речь идет о безопасности. Возможно, вы использовали виртуальные машины или слышали о них в связи с таким программным обеспечением, как VirtualBox или VMware Workstation. Они известны как «тип 2» или «размещенные» гипервизоры. ( Гипервизор — это программное, микропрограммное или аппаратное обеспечение, которое создает и запускает виртуальные машины.) Эти программы популярны, потому что они разработаны в первую очередь для того, чтобы их было легко использовать и запускать под такими популярными операционными системами, как Windows (которая называется основной ОС, поскольку он «размещает» виртуальные машины). Однако тот факт, что гипервизоры типа 2 работают под ОС хоста, означает, что они на самом деле так же безопасны, как и сама ОС хоста. Если операционная система хоста когда-либо скомпрометирована, то любые размещенные на ней виртуальные машины также будут скомпрометированы.
Напротив, Qubes использует гипервизор «Type 1» или «голое железо» под названием Xen. Вместо того, чтобы работать внутри ОС, гипервизоры типа 1 работают непосредственно на «голом железе» оборудования. Это означает, что злоумышленник должен иметь возможность разрушить сам гипервизор, чтобы скомпрометировать всю систему, что намного сложнее.
Qubes делает так, что несколько виртуальных машин, работающих под гипервизором типа 1, можно безопасно использовать в качестве интегрированной ОС. Например, он помещает все окна ваших приложений на один и тот же рабочий стол со специальными цветными рамками, указывающими уровни доверия соответствующих виртуальных машин. Это также позволяет выполнять такие вещи, как безопасные операции копирования/вставки между виртуальными машинами, безопасное копирование и передача файлов между виртуальными машинами и безопасное сетевое взаимодействие между виртуальными машинами и Интернетом
Описание операционной системы Qubes
Это рабочий стол операционной системы Qubes.Это десктопная операционная система для обеспечения безопасности через изоляцию и компартментализацию. Она по-прежнему находится на раннем этапе своего развития в качестве операционной системы, но концепция, лежащая в ее основе, великолепна. Qubes - это свободная и открытая операционная система, разработанная для обеспечения надежной защиты настольных компьютеров, но не серверов. Qubes основана на гипервизоре Xen, X Window System и Linux. Она использует виртуализацию для реализации доменов безопасности посредством изоляции и компартментализации. Это хорошо, потому что виртуализация снижает количество интерфейсов между доменами безопасности, но несмотря на это позволяет доменам безопасности сосуществовать и коммуницировать. Представьте, что на “железе” вашего лэптопа запущен гипервизор первого типа Xen с каким-нибудь ядром Linux и дополнительным кодом для поддержания связи между имеющимися виртуальными машинами, плюс ряд дополнительных средств обеспечения безопасности - это и будет Qubes.
Пользовательские окружения или индивидуальные виртуальные машины основаны на Fedora, Debian, Arch Linux, Whonix, Microsoft Windows и некоторых других системах при помощи так называемых шаблонов Qubes. Эта операционная система похожа на все остальные в том плане, что ее нужно скачивать и устанавливать на лэптоп или десктоп, и хотя ее установка занимает часа три.
Итак, большинство операционных систем, Unix, Linux, BSD, используют архитектуру монолитного ядра, что подразумевает множественные запуски кода с привилегиями высокого уровня, это называется доверенной вычислительной базой или TCB. Доверенная вычислительная база или среда - это все аппаратные средства, встроенное программное обеспечение и/или компоненты программного обеспечения, являющиеся критичными для безопасности системы, все это составляет доверенную вычислительную базу. Если баги в безопасности или компрометация возникают внутри доверенной вычислительной базы, это с большой долей вероятности поставит под угрозу безопасность системы в целом. Уязвимости в ядре особенно опасны, устранение уязвимостей в ядре особенно критично.
Что мы видим здесь, это примеры компонентов доверенной вычислительной базы монолитного ядра, которым вам приходится доверять. Они составляют поверхность атаки на монолитное ядро, так что чем меньше доверенная вычислительная база, тем лучше для безопасности, тем меньше поверхность атаки. Итак, почему все это имеет отношение к Qubes? Что ж, в отличие от VMware или VirtualBox, которые запускаются прямо в операционной системе типа Windows или Debian, работа Qubes основана на использовании Xen, это гипервизор первого типа, работающий на “железе”. Qubes использует микроядро в качестве кода для обеспечения изоляции, что уменьшает поверхность для атаки. Меньше кода - значит меньше потенциальных багов в безопасности, значит меньше потенциальных возможностей для компрометации, во всяком случае, это в теории.
Атакующий должен суметь скомпрометировать непосредственно гипервизор Xen, чтобы скомпрометировать систему в целом, что гораздо труднее осуществить, чем проникнуть на хост из виртуальной машины второго типа наподобие VMware или VirtualBox. При использовании гипервизора первого типа, который, например, используется для Qubes, нет полноценной хостовой операционной системы, которую можно скомпрометировать. Это преимущество в безопасности, которым обладает Qubes по сравнению с VMware или VirtualBox.
Давайте поговорим об архитектуре системы и различных виртуальных машинах. Qubes реализует домены безопасности при помощи различных виртуальных машин, которые обеспечивают изоляцию и компартментализацию. Каждый из этих блоков представляет собой отдельную виртуальную машину и различные домены безопасности. Хостовая операционная система не используется, так как Xen - это гипервизор на “железе”.
Хостовый домен или Dom0 - это интерфейс или GUI для всего остального, это то, что вы видите, когда залогиниваетесь. Dom0 управляет графическими устройствами, а также устройствами ввода данных типа клавиатур и мыши. Благодаря Dom0 вы видите все это, этот рабочий стол. Он используется для запуска X-сервера, который отображает этот рабочий стол пользователя, и для запуска менеджера окон, который позволяет пользователю запускать и останавливать приложения и управлять окнами.
Принципиально и для обеспечения безопасности, Dom0 не соединен с сетью, у него настолько мало коммуникаций с другими доменами, насколько это возможно, с целью минимизации возможностей атаки из скомпрометированной виртуальной машины. Как вы можете заметить, он использует KDE по умолчанию и даже если бы, к примеру, в этой KDE имелся бы баг, Dom0 недосягаем для атакующего, поскольку нет соединения с ним по сети, вы можете лишь видеть его в действии. Поскольку у Dom0 нет доступа в сеть, нужно обновлять лишь несколько компонентов, которые администратор может установить из командной строки. Для просмотра запущенных приложений в каждой виртуальной машине домена, Qubes предоставляет средство просмотра приложений. Это может привести к ложному ощущению у пользователя, что приложения исполняются непосредственно на рабочем столе, как видно здесь. Но по факту, приложения запускаются в отдельных виртуальных машинах.
Например, видим окно в желтой рамке, то, что внутри него, запущено в персональной виртуальной машине, а окно в зеленой рамке запущено в рабочей виртуальной машине, но благодаря средству просмотра окон в Dom0, у вас создается ошибочное впечатление, что эти окна всего лишь отдельные окна внутри операционной системы, но на деле они представляют собой полноценные отдельные операционные системы в составе виртуальной машины, которые изолированы друг от друга при помощи Xen и Qubes.
Есть сетевая виртуальная машина или NetVM, видим ее здесь. Также она представлена на этой схеме, NetVM. Работа с сетью происходит в отдельной виртуальной машине, что великолепно, поскольку уровень сетевого взаимодействия является критичным компонентом для обеспечения безопасности коммуникаций. Эта виртуальная машина защищает вас от эксплойтов, от вещей типа WiFi или Ethernet-драйверов, пакетов протоколов или, к примеру, вашего DHCP-клиента, и вы также можете использовать ее для изоляции вашего VPN, и сделать его доступным для других виртуальных машин. Я имею ввиду, что сетевая виртуальная машина обеспечивает работу VPN, а другие ваши виртуальные машины тунеллируются через нее.
Есть виртуальная машина firewall, которая обеспечивает работу правил брандмауэра между сетевой виртуальной машиной и остальными доменами, так чтобы вы могли настраивать протоколы, источники, пункты назначения и прочее для коммуникации между доменами.
Есть одноразовые виртуальные машины. Как можно догадаться из названия, после их использования они удаляются. Как правило они используются для одиночных приложений типа средства просмотра, редактора или браузера. Вы можете открыть подозрительное вложение с полной безопасностью или работать в интернете без сохранения любой локальной истории и предотвращая отслеживание. Вы просто нажимаете правой кнопкой мыши на файл и выбираете “Открыть при помощи одноразовой виртуальной машины”.
Но это больше предназначено для минимизации угроз типа вредоносных программ и противодействия отслеживанию, нежели чем для защиты от локальной компьютерно- технической экспертизы, которую вы получаете в случае использования операционной системы Tails.
Вы можете использовать опциональную виртуальную машину UsbVM, это защитит операционную систему от вещей типа вредоносных флешек BadUSB, подключаемых к лэптопу или устройству. UsbVM обрабатывает в песочнице все USB-драйверы и стек USB, защищая вас от BadUSB. Данные затем могут быть аккуратно экспортированы из выбранных устройств в другие виртуальные машины приложений AppVM. Виртуальные машины приложений или AppVM. AppVM - это виртуальные машины, используемые для хостинга приложений типа вашего веб-браузера, почтового клиента, средства просмотра PDF, и так далее. Каждая AppVM основана на шаблоне операционной системы, по умолчанию это Fedora, минимальный шаблон.
При просмотре приложений, создается иллюзия, что они запущены на одной и той же машине, но в реальности они представляют собой разделенные виртуальные машины. Вы можете одновременно запустить недоверенный браузер на сомнительном саите и браузер для банкинга. Любой эксплойт из недоверенного браузера никоим образом не сможет повлиять на виртуальную машину для банкинга. Каждый домен безопасности помечается своим цветом, каждое окно выделяется цветом того домена, которому оно принадлежит. Здесь желтая рамка, это персональный домен безопасности, видим его слева. Зеленая рамка, это рабочий домен. Так что всегда визуально понятно, к какому домену относится конкретное окно. Также имеется возможность защищенным образом производить операции копирования и вставки между виртуальными машинами, защищенно копировать и перемещать файлы между виртуальными машинами, защищенно работать по сети между виртуальными машинами и интернетом.
Qubes обладает встроенной интеграцией с TOR. Шаблоны с рабочей станцией и шлюзом Whonix поставляются в комплекте с Qubes, и это великолепная опция для использования TOR и предотвращения утечек. Вы получаете преимущества приватности и анонимности Whonix, а также безопасность хоста посредством изоляции и компартментализации в Qubes. Это очень хорошее решение. Аппаратная часть. Благодаря своей архитектуре, Qubes обладает уровнем устойчивости перед вредоносным оборудованием: аппаратные закладки, USB-драйверы, badBIOS, диски и SATA-контроллеры.
Qubes также обладает рядом других средств обеспечения безопасности, своего рода дополнительные преимущества. Вы можете разделить закрытые ключи GPG для их защиты, есть функционал для этого. Также имеется конвертер PDF, чтобы можно было действительно доверять PDF-файлам. И по мере развития операционной системы будут добавляться другие средства безопасности.
Изоляция и компартментализация доменов безопасности
Вам нужно осознанно подумать над использованием доменов безопасности, когда мы изучили множество способов их реализации наряду с изоляцией и компартментализацией. Вам стоит подумать, как разделить ваши домены. Это может быть наличие элементарно рабочего домена и персонального домена, или доверенного и не доверенного домена. Домены будут основаны на риске, обстоятельствах и вашей модели угроз.
Внутри каждого домена безопасности вам также стоит обеспечить работу всех прочих средств обеспечения безопасности, которые рассматриваются в деталях на протяжении курса. Если вы посмотрите на эту схему, она взята из статьи, написанной Йоанной Рутковской, которая является руководителем проекта операционной системы Qubes. Это более сложная настройка работы с Qubes. Каждый из этих цветов обозначает уровень доверия, черным цветом выделен наиболее надежный домен, красным - наименее надежный. Так что вы можете увидеть, какие здесь она определила домены, самый надежный, vault или хранилище, содержит мастер-ключи PGP, менеджер паролей KeePass, у этого домена отсутствует соединение с интернетом. Она копирует и вставляет пароли из этих доменов в другие домены. Далее, спускаемся ниже по цепочке доверия в домен Qubes-dev: репозитории кода, подписывание кода. И далее здесь домен с максимально персональными данными типа персональной электронной почты, персональных PGP- ключей. В других доменах различная рабочая деятельность, администраторская работа. И далее переход к менее надежным вещам, которыми, конечно, являются работа в сети и работа с не доверенными приложениями. В общем, все это разделено на разные домены безопасности и разные виртуальные машины внутри Qubes. А здесь вы можете увидеть интерфейсы между этим доменами. Так что очевидно, если вы желаете перейти на следующий уровень в вопросах изоляции и компартментализации, следует изучить все это.