Раньше считалось, что вирусов для Linux нет, но сейчас эта аксиома стала сомнительной. Строгое разграничение полномочий способно уберечь от требующих администраторских привилегий вредоносных программ, которые для строительства ботнетов и кражи персональных данных пользователя не нужны. Открытую ОС спасает от зловредов только ее малая распространённость среди домашних и офисных пользователей. Опередить вирусописателей можно двумя способами: создавая антивирусы (но они и в Windows особо не помогают) или трудноуязвимые системы. В проекте Qubes решили пойти по второму пути и выпустили кандидат в релизы дистрибутива со строгой изоляцией программ.
Про необходимость подобной изоляции говорят уже давно, хотя таких кардинальных решений ещё не было. В Qubes используется система виртуализации Xen, а программы разделены на работающие в собственных виртуальных окружениях классы. Системные сервисы (вроде сетевой подсистемы или драйверов накопителей) также работают в отдельных виртуальных машинах. Есть здесь хранилище данных — программе доступна на чтение корневая ФС и ее локальные файлы, а также специальный сервис взаимодействия между приложениями. Дистрибутив обеспечивает бесшовный доступ к установленным продуктам, при этом программы из разных классов выделяются цветом рамки окна.
Все довольно красиво, но экстремальная изоляция требует приличной вычислительной мощности — процессора с архитектурой AMD64 (желательно с поддержкой VT-d или AMD IOMMU) и 4 ГБ оперативной памяти. Есть определенные трудности с поддержкой видеоадаптеров NVIDIA (продукты ATI разработчики еще не тестировали), пока без проблем работают только интегрированные адаптеры Intel. Устроена система просто — виртуальные машины генерируются на основе шаблона, а набор пакетов взят из Fedora 17. Также в системе есть графический конфигуратор Qubes Manager. Для обновления окружений используется специальный прокси, не требующий предоставления им доступа к сети.
Что тут скажешь? Идея, в целом, правильная — приложения следует изолировать — но исполнение слишком экстравагантное. Подобная система потребляет много ресурсов из-за накладных расходов на виртуализацию и сложна в обслуживании — всю пачку виртуальных окружений нужно как-то обновлять и настраивать. Тем не менее, начало положено — разработчики дистрибутивов наконец-то думают о создании безопасных систем.