Добрый день!
Много вопросов, давайте по порядку :)
KasperskyOS опирается на мультисерверную архитектуру: в пространстве пользователя исполняются компоненты, отвечающие за конкретные функции системы, взаимодействие с этими компонентами происходит через типизированные интерфейсы. Компоненты могут порождать объекты и предоставлять к ним доступ через удаленные вызовы. Все ресурсы в системе представлены такими объектами, как ресурсы ядра (потоки, регионы памяти, порты, прерывания, каналы), так и пользовательские (устройства, файлы). То есть парадигма ближе к объектно-ориентированной - систему можно условно представить как множество объектов, обменивающихся сообщениями.
Файловая система в KasperskyOS - отчуждаемая сущность, можно представить вариант сборки KasperskyOS вовсе без файловой системы. Также возможен вариант системы без POSIX API. Поэтому подходы "все есть файл" из Plan 9 и более традиционных Unix-подобных систем здесь неприменимы.
Для KasperskyOS не разрабатывалось специальной in-house файловой системы. Обычно мы портируем открытые реализации файловых систем из ОС с подходящей лицензией, после чего дорабатываем эти реализации, чтобы они удовлетворяли нашим требованиям.
Кибериммунитет - это, прежде всего, подход, целью которого является создание системы, безопасной в силу дизайна (Secure by Design). Подобные системы разительно отличаются от обычных систем в защищенном исполнении тем, что они обладают минимальной поверхностью атаки не за счет использования наложенных средств защиты, а за счет правильно спроектированной архитектуры. Кибериммунные системы более устойчивы к взлому (компрометации), а в случае успешной атаки значительно усложняют ее распространение.
В кибериммунном подходе мы, в первую очередь, фокусируемся на сохранении целостности системы. Ведь если компоненты, осуществляющие разграничение доступа, будут взломаны, безопасность всей системы окажется под угрозой. А кода без багов, как мы знаем, пока не существует в природе.
Для каждого конкретного продукта на базе KasperskyOS мы формулируем цели и предположения безопасности: какие функции безопасности системы должны выполняться всегда, что бы ни произошло, при соблюдении ряда предположений.
Архитектор решения определяет ilities, которые необходимо поддержать на уровне решения, например, конфиденциальность (confidentiality), доступность (availability) и другие. Для каждого подобного свойства должен быть системный компонент, который его обеспечивает, - уже реализованный в KasperskyOS (security pattern) или требующий реализации.
На основе целей безопасности и понимания необходимых ilities, проектируется архитектура решения: производится декомпозиция системы на изолированные аппаратными средствами компоненты, устанавливается набор типизированных связей между ними. На этом этапе упор делается на целостности: какой сорт данных может передаваться между теми или иными компонентами, насколько эти данные целостны, как может повлиять их злонамеренное изменение на возможность эксплуатации того или иного компонента, какие компоненты оказывают прямое влияние на функции безопасности системы.
В результате мы получаем архитектуру, которая значительно затрудняет распространение атаки в системе и минимизирует вероятность взлома доверенных компонентов (тех, от которых зависит безопасность, реализация ilities).
Архитектура системы отражается в политике безопасности для монитора безопасности, исполняющегося в ядре. Он следит, чтобы инварианты архитектуры не нарушались: сообщения шли только по четко заданным каналам связи, структура сообщений не нарушалась, а в полях сообщений лежали верные с точки зрения архитектора системы данные.
Таким образом, кибериммунитет подразумевает определенную культуру и подход к разработке и построению архитектуры, а также технологическую базу - операционную систему KasperskyOS.
Важно развеять часто встречающееся заблуждение: в ядре KasperskyOS не выполняется эвристический анализ в том смысле, в котором мы знаем его из мира антивирусов. Монитор безопасности - куда более простой компонент, который оперирует субъектно-субъектными и субъектно-объектными отношениями, может инспектировать структуру сообщения в соответствии с политикой, но при этом не несет в себе сложной логики.
Микроядерность предполагает, что драйверы устройств и подсистемы низкого уровня выносятся в изолированные процессы пространства пользователя. Драйверы периферии и сетевых карт реализуются полностью в пространстве пользователя: ошибка (уязвимость) в каком-либо драйвере не может нанести вред ядру операционной системы и другим компонентам. Это же касается сетевого стека, USB. Драйверы для большинства необходимых устройств мы разрабатываем сами, некоторые портируем из ОС с подходящими лицензиями.
Сторонние приложения, возможность установки которых есть в некоторых сборках KasperskyOS, исполняются в контейнеризированной среде: приложение получает свое собственное изолированное хранилище и виртуальную файловую систему, доступ к возможностям, предоставляемым базовой ОС, дается через capabilities. Такое приложение не может добраться до данных других приложений и напрямую обратиться к драйверам и другим системным сервисам.
KasperskyOS - это проприетарная операционная система, и планов по превращению ее в проект в рамках open source лицензирования нет.
KasperskyOS технически возможно использовать на десктопах, но мы пока не занимаемся разработкой чего-то подобного.
Никаких специальных требований к железу по сравнению, например, с Linux нет. MMU обязателен, также мы предпочитаем платформы с IOMMU, так как эта технология позволяет распространить изоляцию и на DMA операции.
Сегодня мы с технологическими партнерами выпускаем решения на определенном железе (на базе x86_64, ARMv6/7/8). Если появится необходимость в других аппаратных платформах, мы будем портировать решения на них.
Поддержка нового оборудования - непростая задача. Мы справляемся своими силами: пишем драйверы и BSP, иногда портируем их из других ОС с открытым исходным кодом. Но иногда такая работа может выполняться и нашими партнерами.
В коллекции компонентов KasperskyOS уже есть портированные популярные библиотеки и программы. Основной вектор продуктовой разработки подразумевает создание собственных решений на базе KasperskyOS. Но есть, например, KasperskyOS Community Edition: разработчики этой сборки системы портируют популярные программы и технологии из GNU/Linux, чтобы привлечь разработчиков, знакомых с этими технологиями.
В KasperskyOS функционирует простой графический композитор на основе wayland протокола, есть наработки по графическому стеку (на основе DRI). Тем не менее, разработки полноценного десктопного решения пока нет в планах.