- 13.11.18
- 1,473
- 3,000,000 ₽
- 23
Qubes OS: формализованная модель недоверия и практическая реализация изоляции
Большинство операционных систем построены на одном негласном допущении: если программа запущена на вашем компьютере, значит вы ей доверяете. Весь дизайн Windows, macOS, обычных дистрибутивов Linux исходит из этого. Программы работают в одном пространстве, делят память, файловую систему, сеть. Одна скомпрометированная программа может добраться до остальных.
Qubes OS построен на противоположном допущении. Ничему не доверяй по умолчанию. Изолируй всё, что можно изолировать. Допускай компрометацию отдельных частей без того, чтобы это разрушило всё остальное.
Это не параноя как эстетика. Это формализованная архитектурная модель.
---
Как это устроено внутри
Qubes использует гипервизор Xen. Это тот же уровень виртуализации, что используется в крупных дата-центрах. Каждая изолированная среда в Qubes называется qube или домен. По сути это виртуальная машина, но очень лёгкая — запускается за секунды, потребляет минимум ресурсов.
Структура выглядит так:
Dom0 — административный домен. Это ядро всей системы, единственный домен с прямым доступом к железу. Он управляет остальными доменами, отображает графику, принимает ввод с клавиатуры и мыши. Dom0 намеренно изолирован от сети и от большинства операций. Скомпрометировать его крайне сложно именно потому, что он почти ни с чем не взаимодействует напрямую.
TemplateVM — шаблоны, из которых создаются рабочие домены. Вы устанавливаете программы в шаблон, а не в рабочую машину. Это позволяет обновлять десятки доменов разом, просто обновив шаблон. По умолчанию идут шаблоны на базе Fedora и Debian.
AppVM — рабочие домены. Браузер, почта, работа, личные файлы — всё в отдельных доменах. Каждый AppVM загружается из шаблона, но пользовательские данные хранит в своём изолированном пространстве. Когда вы закрываете домен, всё что было в его оперативной памяти исчезает. Если вредоносный код попал в браузерный домен, он там и остаётся — до следующего запуска.
DisposableVM — одноразовые машины. Открыл подозрительный PDF, прочитал, закрыл. Домен уничтожается полностью, ничего не остаётся. Это идеальный инструмент для работы с ненадёжными файлами.
sys-net и sys-firewall — сетевые домены. Сетевая карта живёт в sys-net, изолированно от всего остального. Даже если драйвер сетевой карты окажется уязвимым, атака упрётся в этот домен и не пойдёт дальше. sys-firewall управляет правилами трафика между доменами.
---
Требования к железу
Qubes требовательнее обычных систем, и это честная цена за архитектуру.
Процессор должен поддерживать аппаратную виртуализацию Intel VT-x или AMD-V, а также IOMMU — Intel VT-d или AMD-Vi. Без IOMMU изоляция устройств не работает полноценно. Большинство процессоров после 2012 года это поддерживают, но стоит проверить до установки.
Оперативная память — минимум 16 ГБ, комфортно 32 ГБ. Несколько запущенных доменов одновременно реально потребляют память. На 8 ГБ система запустится, но работать будет тяжело.
SSD обязателен. С HDD система будет мучительно медленной из-за постоянных операций с образами виртуальных машин.
Официально совместимое железо можно проверить на HCL — Hardware Compatibility List на сайте Qubes. ThinkPad серии X и T традиционно хорошо поддерживаются. Ноутбуки с Nvidia часто создают проблемы из-за проприетарных драйверов.
---
Установка шаг за шагом
Шаг первый. Скачать образ с официального сайта qubes-os.org. Обязательно проверить подпись — Qubes подписывает релизы ключом разработчиков, инструкция есть в документации. Не пропускать этот шаг, проверка подписи имеет смысл именно для такой системы.
Шаг второй. Записать образ на USB. На Linux и macOS подойдёт команда dd. На Windows — Rufus в режиме DD Image, не ISO. Балена Etcher тоже работает.
Шаг третий. В BIOS включить виртуализацию и IOMMU. Называться может по-разному: Intel Virtualization Technology, VT-d, AMD-V, AMD-Vi, SVM. Secure Boot отключить — Qubes с ним не работает.
Шаг четвёртый. Загрузиться с USB, запустить установщик. Интерфейс похож на стандартный установщик Fedora — Anaconda. Выбрать диск, настроить разбивку. По умолчанию Qubes создаёт зашифрованный раздел с LUKS. Оставить шифрование включённым.
Шаг пятый. Первая загрузка после установки запускает мастер настройки. Здесь предложат установить стандартные шаблоны — Fedora, Debian, Whonix. Whonix — это интеграция с сетью Tor прямо в систему доменов. Если нужна анонимность поверх изоляции, устанавливать обязательно.
Шаг шестой. После установки шаблонов система создаст стандартные AppVM: personal, work, untrusted, vault. Vault — домен без сети, для паролей и ключей шифрования. Untrusted — для всего подозрительного.
---
Первые дни с системой
Qubes меняет способ мышления о компьютере. Первое время непривычно: открыть браузер означает запустить целый домен. Скопировать файл между доменами — это отдельная операция через защищённый буфер обмена.
Копирование между доменами работает через Ctrl+Shift+C и Ctrl+Shift+V. Обычный Ctrl+C работает только внутри одного домена. Это сделано намеренно: межсистемный буфер обмена требует явного разрешения.
Перетаскивание файлов между доменами работает через файловый менеджер Qubes или команду qvm-copy в терминале. Файл копируется в карантинный каталог принимающего домена.
Графика работает через специальный протокол. Каждое окно из любого домена отображается в общем рабочем столе dom0, но они помечены цветными рамками. Цвет рамки соответствует домену. Красная рамка — небезопасный домен. Зелёная — более доверенный. Это визуальная подсказка, что именно вы сейчас видите перед собой.
---
Whonix внутри Qubes
Отдельного разговора заслуживает связка Qubes и Whonix. Whonix — это система, которая направляет весь трафик через Tor. В обычном варианте это две виртуальные машины: шлюз и рабочая станция. В Qubes они становятся доменами.
Whonix-Gateway становится сетевым доменом. Whonix-Workstation — рабочим доменом, который видит сеть только через шлюз. Даже если рабочая станция скомпрометирована и вредоносный код пытается установить прямое соединение, он физически не может это сделать — сеть для него существует только через Tor-шлюз.
Это один из наиболее надёжных способов работать через Tor из существующих.
---
Что система не решает
Qubes не защищает от слабого пароля на шифрование диска. Если пароль простой или устройство изъяли с включённым экраном — это уже не проблема архитектуры.
Qubes не защищает от атак на уровне железа. Теоретические атаки через BadUSB, уязвимости в прошивках — это отдельная тема, и Qubes снижает, но не устраняет такие риски.
Qubes не защищает от вас самих. Если вы сами скопируете вредоносный файл из untrusted-домена в work-домен и откроете его — изоляция была намеренно обойдена.
И наконец: система требует привычки. Первые недели она кажется избыточно сложной. Потом модель доменов становится естественной и начинаешь понимать, почему всё устроено именно так.
---
Кому это имеет смысл
Qubes не для всех и никогда им не была. Это инструмент для людей, которым реально важна изоляция: журналисты с источниками, исследователи безопасности, люди в ситуациях с реальными противниками, те, кто работает с несколькими уровнями чувствительности данных одновременно.
Для обычного пользователя, которому нужен браузер и мессенджер — это избыточно. Но для тех, кому это нужно, альтернативы с сопоставимой моделью изоляции попросту не существует.
Большинство операционных систем построены на одном негласном допущении: если программа запущена на вашем компьютере, значит вы ей доверяете. Весь дизайн Windows, macOS, обычных дистрибутивов Linux исходит из этого. Программы работают в одном пространстве, делят память, файловую систему, сеть. Одна скомпрометированная программа может добраться до остальных.
Qubes OS построен на противоположном допущении. Ничему не доверяй по умолчанию. Изолируй всё, что можно изолировать. Допускай компрометацию отдельных частей без того, чтобы это разрушило всё остальное.
Это не параноя как эстетика. Это формализованная архитектурная модель.
---
Как это устроено внутри
Qubes использует гипервизор Xen. Это тот же уровень виртуализации, что используется в крупных дата-центрах. Каждая изолированная среда в Qubes называется qube или домен. По сути это виртуальная машина, но очень лёгкая — запускается за секунды, потребляет минимум ресурсов.
Структура выглядит так:
Dom0 — административный домен. Это ядро всей системы, единственный домен с прямым доступом к железу. Он управляет остальными доменами, отображает графику, принимает ввод с клавиатуры и мыши. Dom0 намеренно изолирован от сети и от большинства операций. Скомпрометировать его крайне сложно именно потому, что он почти ни с чем не взаимодействует напрямую.
TemplateVM — шаблоны, из которых создаются рабочие домены. Вы устанавливаете программы в шаблон, а не в рабочую машину. Это позволяет обновлять десятки доменов разом, просто обновив шаблон. По умолчанию идут шаблоны на базе Fedora и Debian.
AppVM — рабочие домены. Браузер, почта, работа, личные файлы — всё в отдельных доменах. Каждый AppVM загружается из шаблона, но пользовательские данные хранит в своём изолированном пространстве. Когда вы закрываете домен, всё что было в его оперативной памяти исчезает. Если вредоносный код попал в браузерный домен, он там и остаётся — до следующего запуска.
DisposableVM — одноразовые машины. Открыл подозрительный PDF, прочитал, закрыл. Домен уничтожается полностью, ничего не остаётся. Это идеальный инструмент для работы с ненадёжными файлами.
sys-net и sys-firewall — сетевые домены. Сетевая карта живёт в sys-net, изолированно от всего остального. Даже если драйвер сетевой карты окажется уязвимым, атака упрётся в этот домен и не пойдёт дальше. sys-firewall управляет правилами трафика между доменами.
---
Требования к железу
Qubes требовательнее обычных систем, и это честная цена за архитектуру.
Процессор должен поддерживать аппаратную виртуализацию Intel VT-x или AMD-V, а также IOMMU — Intel VT-d или AMD-Vi. Без IOMMU изоляция устройств не работает полноценно. Большинство процессоров после 2012 года это поддерживают, но стоит проверить до установки.
Оперативная память — минимум 16 ГБ, комфортно 32 ГБ. Несколько запущенных доменов одновременно реально потребляют память. На 8 ГБ система запустится, но работать будет тяжело.
SSD обязателен. С HDD система будет мучительно медленной из-за постоянных операций с образами виртуальных машин.
Официально совместимое железо можно проверить на HCL — Hardware Compatibility List на сайте Qubes. ThinkPad серии X и T традиционно хорошо поддерживаются. Ноутбуки с Nvidia часто создают проблемы из-за проприетарных драйверов.
---
Установка шаг за шагом
Шаг первый. Скачать образ с официального сайта qubes-os.org. Обязательно проверить подпись — Qubes подписывает релизы ключом разработчиков, инструкция есть в документации. Не пропускать этот шаг, проверка подписи имеет смысл именно для такой системы.
Шаг второй. Записать образ на USB. На Linux и macOS подойдёт команда dd. На Windows — Rufus в режиме DD Image, не ISO. Балена Etcher тоже работает.
Шаг третий. В BIOS включить виртуализацию и IOMMU. Называться может по-разному: Intel Virtualization Technology, VT-d, AMD-V, AMD-Vi, SVM. Secure Boot отключить — Qubes с ним не работает.
Шаг четвёртый. Загрузиться с USB, запустить установщик. Интерфейс похож на стандартный установщик Fedora — Anaconda. Выбрать диск, настроить разбивку. По умолчанию Qubes создаёт зашифрованный раздел с LUKS. Оставить шифрование включённым.
Шаг пятый. Первая загрузка после установки запускает мастер настройки. Здесь предложат установить стандартные шаблоны — Fedora, Debian, Whonix. Whonix — это интеграция с сетью Tor прямо в систему доменов. Если нужна анонимность поверх изоляции, устанавливать обязательно.
Шаг шестой. После установки шаблонов система создаст стандартные AppVM: personal, work, untrusted, vault. Vault — домен без сети, для паролей и ключей шифрования. Untrusted — для всего подозрительного.
---
Первые дни с системой
Qubes меняет способ мышления о компьютере. Первое время непривычно: открыть браузер означает запустить целый домен. Скопировать файл между доменами — это отдельная операция через защищённый буфер обмена.
Копирование между доменами работает через Ctrl+Shift+C и Ctrl+Shift+V. Обычный Ctrl+C работает только внутри одного домена. Это сделано намеренно: межсистемный буфер обмена требует явного разрешения.
Перетаскивание файлов между доменами работает через файловый менеджер Qubes или команду qvm-copy в терминале. Файл копируется в карантинный каталог принимающего домена.
Графика работает через специальный протокол. Каждое окно из любого домена отображается в общем рабочем столе dom0, но они помечены цветными рамками. Цвет рамки соответствует домену. Красная рамка — небезопасный домен. Зелёная — более доверенный. Это визуальная подсказка, что именно вы сейчас видите перед собой.
---
Whonix внутри Qubes
Отдельного разговора заслуживает связка Qubes и Whonix. Whonix — это система, которая направляет весь трафик через Tor. В обычном варианте это две виртуальные машины: шлюз и рабочая станция. В Qubes они становятся доменами.
Whonix-Gateway становится сетевым доменом. Whonix-Workstation — рабочим доменом, который видит сеть только через шлюз. Даже если рабочая станция скомпрометирована и вредоносный код пытается установить прямое соединение, он физически не может это сделать — сеть для него существует только через Tor-шлюз.
Это один из наиболее надёжных способов работать через Tor из существующих.
---
Что система не решает
Qubes не защищает от слабого пароля на шифрование диска. Если пароль простой или устройство изъяли с включённым экраном — это уже не проблема архитектуры.
Qubes не защищает от атак на уровне железа. Теоретические атаки через BadUSB, уязвимости в прошивках — это отдельная тема, и Qubes снижает, но не устраняет такие риски.
Qubes не защищает от вас самих. Если вы сами скопируете вредоносный файл из untrusted-домена в work-домен и откроете его — изоляция была намеренно обойдена.
И наконец: система требует привычки. Первые недели она кажется избыточно сложной. Потом модель доменов становится естественной и начинаешь понимать, почему всё устроено именно так.
---
Кому это имеет смысл
Qubes не для всех и никогда им не была. Это инструмент для людей, которым реально важна изоляция: журналисты с источниками, исследователи безопасности, люди в ситуациях с реальными противниками, те, кто работает с несколькими уровнями чувствительности данных одновременно.
Для обычного пользователя, которому нужен браузер и мессенджер — это избыточно. Но для тех, кому это нужно, альтернативы с сопоставимой моделью изоляции попросту не существует.
Последнее редактирование: