ОС Qubes   ОСВМ   ТПОИ   РиЭКТ   КС   ОИС   визуальные среды - 4GL   ТП ОСП  

Идеология защищенной операционной системы Qubes

Яна Рутковска только с виду хрупкая девушка.
В виртуальном мире она легко заткнёт за пояс любую Тринити

То, что вчера было опасным руткитом, сегодня превратилось в одну из защищённых ОС. И всё благодаря польской хакерше, а также создателям Linux и Xen.

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

В мире операционных систем новые архитектурные решения не всегда появляются благодаря белому и пушистому положительному почину: "А давайте-ка сотворим добро - сделаем сверхнадёжную и безопасную систему с нуля". Порой удачные архитектурные решения разработчику нашёптывает парень с рожками и в красном трико, сидящий у него на плече.

И если разработчики Microsoft Singularity, приспосабливая идею управляемого выполнения кода к ядру вновь изобретаемой операционной системы, пеклись именно о благе пользователей, то создатели героини этой статьи - операционной системы Qubes OS поначалу и не помышляли о столь мирных применениях. Они трудились в поте хакерского лица над хитрым механизмом скрытого манипулирования компьютером ничего не ведающего пользователя. Воплотив этот механизм, они сообразили, что он отлично подходит для архитектуры новой надёжной и безопасной системы.

Blue Pill. Пилюля для Матрицы

Август 2006 года. Конференция Black Hat в Лас-Вегасе, где разные "тёмные личности" демонстрируют своё мастерство компьютерного взлома и проникновения.

Именно на этом конвенте польский исследователь безопасности из компании Advanced Malware Labs, девушка (!) Яна Рутковска (Joanna Rutkowska) выступила с докладом "Свержение ядра Windows Vista потехи ради и для заработка" (Subverting Vista kernel for fun and profit).

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

Деструктивное творение Рутковски и товарищей называлось Blue Pill. Пилюлей свой руткит исследователи безопасности назвали неспроста. Согласно их задумке, вредоносный код работал на базе безопасной виртуальной машины (Secure Virtual Mashine) под названием Pacifica - одного из первых решений поддержки аппаратной виртуализации от компании AMD и "на лету" помещал код операционной системы атакованного компьютера внутрь виртуальной машины. Перемещённая операционная система (в то время это была Windows Vista) продолжала работать, думая, что трудится непосредственно на компьютере. На самом же деле ей, упрятанной внутри виртуальной машины, скармливалась ложная информация, в то время как за пределами "Матрицы" можно безнаказанно творить всякие безобразия. Допустим, организовать центр управления ботнетом.


Схема работы руткита Blue Pill предельно проста: запихнуть атакуемую систему в виртуальную машину, где "всё всегда хорошо", а снаружи делать что угодно

Соответственно и пользователь, работающий на заражённом Blue Pill компьютере, не подозревал, что на экране монитора его родная система работает в виртуальном мире.

В принципе идея Рутковски была неоригинальна. Параллельно с ней к подобному решению пришла команда разработчиков из (ну надо же!) того же Microsoft Research, представив в 2006 году совместно с исследователями из мичиганского университета на симпозиуме по приватности и безопасности IEEE руткит-технологию SubVirt.

Руткиты класса Blue Pill и SubVirt, использующие идею аппаратно реализованной скрытой виртуальной машины, отнесли к новому классу, названному Hypervisor level rootkits. Так благая идея аппаратной поддержки виртуализации, предложенная разработчиками процессоров, была использована для далеко не благих целей.

К слову сказать, майкрософтовская разработка SubVirt имела сугубо исследовательский характер. Её целью была демонстрация возможностей руткитов hypervisor level. В отличие от неё, Blue Pill Рутковски был крепко сбит и вполне приспособлен для повседневного использования.

Только применять его в зловредных целях Яна не планировала. Вместо этого она создала консалтинговую компанию по безопасности компьютерных систем с красноречивым названием The Invisible Things Lab и в рамках одного из проектов приступила к разработке операционной системы на основе решений Blue Pill.

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

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

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

Если потребуется обмениваться данными между машинами,
в Qubes OS предусмотрен специальный защищённый буфер обмена

Потоки информации в "красной" и "желтой" машинах Qubes

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 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

Пользователь Qubes OS не тревожится по поводу того, что после установки нового драйвера или плагина к браузеру система может упасть. Если уж что и упадёт, то только виртуальная машина, в которой эта установка производилась. Для пользователя этот будет выглядеть как закрытие окон одного цвета - окон, принадлежащих рухнувшей машине.

Если такая катастрофа произошла, Qubes OS обращается к домену-хранилищу. В нём содержатся девственно чистый образ пустой виртуальной машины (вдруг пользователю приспичит создать машину нового цвета?) и образы дисков с корневой файловой системой и пользовательскими каталогами для всех уже созданных виртуальных машин. Образы эти принадлежат не физическим, а логически дискам и создаются специальным драйвером, именуемым Device Mapper. Задача Device Mapper - динамическое отображение дисковых разделов с использованием механизма COW (Copy-On-Write).

Для дополнительной безопасности образы COW созданных виртуальных машин шифруются с помощью технологии LUKS. Завершая работу Qubes OS или одной из её виртуальных машин, домен хранилища сохраняет последние изменения в образах COW. Именно поэтому в Qubes OS имеется возможность "откатить" работу любой виртуальной машины к предыдущему безопасному состоянию.

Прикладные программы находятся в безопасности внутри виртуальных машин. Но что если злоумышленник нацелится на сам гипервизор Xen? В Qubes OS на этот случай используются аппаратные возможности, обеспечивающие так называемую доверенную загрузку системы, которая препятствует любой несанкционированной попытке вмешаться в процесс загрузки Xen (а именно в этот момент гипервизор наиболее уязвим). Базируется доверенная загрузка на спецификации TPM (Trusted Platform Module), описывающей реализацию аппаратного криптопроцессора, позволяющего подтвердить подлинность любого "железного" компонента" компьютера.

В настоящее время Qubes OS поддерживает реализацию TPM в процессорах компании Intel, которая именуется Intel Trusted Execution Technology (Intel TXT).

Братья Qubes OS

Хитрая организация Qubes OS в мире операционных систем не уникальна. Фактически детище Рутковски реализует давно известный принцип "песочницы" (sandbox) - изолированной пользовательской среды, функционирующей в рамках операционной системы, в которую можно помещать потенциально ненадёжный код.

Хорошим примером песочницы является механизм "тюрем" (jails), реализованный в FreeBSD. Другой показательный пример изолирующих программных сред - Web Sandbox, созданный в компании Microsoft, и песочница Google Chrome Sandbox, реализованная в рамках одноимённого браузера и операционной системы Chrome OS.

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

ОС Qubes   ОСВМ   ТПОИ   РиЭКТ   КС   ОИС   визуальные среды - 4GL   ТП ОСП  

Знаете ли Вы, что такое мысленный эксперимент, gedanken experiment?
Это несуществующая практика, потусторонний опыт, воображение того, чего нет на самом деле. Мысленные эксперименты подобны снам наяву. Они рождают чудовищ. В отличие от физического эксперимента, который является опытной проверкой гипотез, "мысленный эксперимент" фокуснически подменяет экспериментальную проверку желаемыми, не проверенными на практике выводами, манипулируя логикообразными построениями, реально нарушающими саму логику путем использования недоказанных посылок в качестве доказанных, то есть путем подмены. Таким образом, основной задачей заявителей "мысленных экспериментов" является обман слушателя или читателя путем замены настоящего физического эксперимента его "куклой" - фиктивными рассуждениями под честное слово без самой физической проверки.
Заполнение физики воображаемыми, "мысленными экспериментами" привело к возникновению абсурдной сюрреалистической, спутанно-запутанной картины мира. Настоящий исследователь должен отличать такие "фантики" от настоящих ценностей.

Релятивисты и позитивисты утверждают, что "мысленный эксперимент" весьма полезный интрумент для проверки теорий (также возникающих в нашем уме) на непротиворечивость. В этом они обманывают людей, так как любая проверка может осуществляться только независимым от объекта проверки источником. Сам заявитель гипотезы не может быть проверкой своего же заявления, так как причина самого этого заявления есть отсутствие видимых для заявителя противоречий в заявлении.

Это мы видим на примере СТО и ОТО, превратившихся в своеобразный вид религии, управляющей наукой и общественным мнением. Никакое количество фактов, противоречащих им, не может преодолеть формулу Эйнштейна: "Если факт не соответствует теории - измените факт" (В другом варианте " - Факт не соответствует теории? - Тем хуже для факта").

Максимально, на что может претендовать "мысленный эксперимент" - это только на внутреннюю непротиворечивость гипотезы в рамках собственной, часто отнюдь не истинной логики заявителя. Соответсвие практике это не проверяет. Настоящая проверка может состояться только в действительном физическом эксперименте.

Эксперимент на то и эксперимент, что он есть не изощрение мысли, а проверка мысли. Непротиворечивая внутри себя мысль не может сама себя проверить. Это доказано Куртом Гёделем.

Понятие "мысленный эксперимент" придумано специально спекулянтами - релятивистами для шулерской подмены реальной проверки мысли на практике (эксперимента) своим "честным словом". Подробнее читайте в FAQ по эфирной физике.

НОВОСТИ ФОРУМА

Форум Рыцари теории эфира


Рыцари теории эфира
 10.11.2021 - 12:37: ПЕРСОНАЛИИ - Personalias -> WHO IS WHO - КТО ЕСТЬ КТО - Карим_Хайдаров.
10.11.2021 - 12:36: СОВЕСТЬ - Conscience -> РАСЧЕЛОВЕЧИВАНИЕ ЧЕЛОВЕКА. КОМУ ЭТО НАДО? - Карим_Хайдаров.
10.11.2021 - 12:36: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от д.м.н. Александра Алексеевича Редько - Карим_Хайдаров.
10.11.2021 - 12:35: ЭКОЛОГИЯ - Ecology -> Биологическая безопасность населения - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> Проблема государственного терроризма - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> ПРАВОСУДИЯ.НЕТ - Карим_Хайдаров.
10.11.2021 - 12:34: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вадима Глогера, США - Карим_Хайдаров.
10.11.2021 - 09:18: НОВЫЕ ТЕХНОЛОГИИ - New Technologies -> Волновая генетика Петра Гаряева, 5G-контроль и управление - Карим_Хайдаров.
10.11.2021 - 09:18: ЭКОЛОГИЯ - Ecology -> ЭКОЛОГИЯ ДЛЯ ВСЕХ - Карим_Хайдаров.
10.11.2021 - 09:16: ЭКОЛОГИЯ - Ecology -> ПРОБЛЕМЫ МЕДИЦИНЫ - Карим_Хайдаров.
10.11.2021 - 09:15: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Екатерины Коваленко - Карим_Хайдаров.
10.11.2021 - 09:13: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вильгельма Варкентина - Карим_Хайдаров.
Bourabai Research - Технологии XXI века Bourabai Research Institution