Главный конкурент – Linux
Говоря о коммерческих перспективах продукта, руководитель DZ Systems заявил, что тот, вероятно, заинтересует организации, уделяющие особое внимание безопасности – предприятия ТЭК, военной промышленности, объекты критической информационной инфраструктуры (КИИ), например банки. «Основная цель на сегодня – встроенные применения, которые требуют высокой надежности, IoT-тематика (устройства интернета вещей; – прим
CNews) и роботы», – говорит Завалишин. По его мнению, у ОС «Фантом» в данном сегменте рынка существует лишь один конкурент – Linux
«Основная цель на сегодня – встроенные применения, которые требуют высокой надежности, IoT-тематика (устройства интернета вещей; – прим. CNews) и роботы», – говорит Завалишин. По его мнению, у ОС «Фантом» в данном сегменте рынка существует лишь один конкурент – Linux.
Одним из важных преимуществ операционных систем на базе Linux является свободная доступность широкого перечня программ, предназначенных для решения самых разных задач. Экосистема Linux формировалась десятилетиями при участии миллионов разработчиков и поддержке крупнейших технологических компаний мира.
На вопрос, как именно планируется решать проблему дефицита прикладных программ для по сути совершенно новой ОС «Фантом», Завалишин не ответил. По его словам, лабораторию в «Иннополисе», которая занимается системой, ведут два сотрудника университета, которые привлекают к работе группы студентов. Помимо них, над ОС трудится несколько сотрудников DZ Systems.
Воплощение «Фантома»
Как стало известно CNews, работа над операционной системой «Фантом», за которой стоят компания DZ Systems российского предпринимателя и программиста Дмитрия Завалишина, а также университет «Иннополис», близка к завершению. В 2022 г. разработчики рассчитывают подготовить рабочий прототип системы, портированный на фреймворк для создания ОС на базе микроядер Genode.
«Основная версия операционной системы готова к пилотным проектам. Версия для Genode пока не завершена, именно над ней и идет работа. По плану в конце года она будет готова к применению», – заявил Завалишин в разговоре с CNews.
Портированием на Genode занимается специальная рабочая группа, созданная в 2019 г. на базе «Иннополиса».
Процедура предусматривает сращивание среды исполнения программ этой операционной системы с программным ядром фреймворка, имеющим возможность поддержки многочисленных аппаратных платформ (x86, ARM, RISC-V и др.) и гипервизоров, включая формально верифицированную систему seL4. Как подчеркнул глава DZ Systems, это позволит упростить и ускорить реализацию и доработку «Фантома». Также это поможет сделать ОС более надежной и безопасной, адаптировать ее к реальному использованию в промышленной сфере.
Россияне создали уникальную ОС — конкурента Linux
«На сегодня существует базовая версия ОС «Фантом», которая включает в себя два слоя – традиционный слой кода, который управляет «железом» компьютера, и, собственно, слой реализации сущности ОС, – объясняет Завалишин. – Первый слой – это работа с процессором, контроллером памяти, драйверы устройств и т. п. Все это есть в любой ОС. Работа по портированию заключается в замене первого слоя на аналог из Genode. В процедуру входит написание прослойки, которая реализует низкоуровневые примитивы ядра ОС «Фантом», которые, в свою очередь, реализованы через аналогичные примитивы ядра Genode».
DZ Systems занимается развитием ОС «Фантом» на основе микроядра начиная с 2010 г. Разработка ведется с нуля. Согласно информации, опубликованной на официальном сайте проекта, эта российская ОС опирается на управляемый код и концепцию персистентной виртуальной памяти, ориентирована на применении в носимых и встраиваемых устройствах. Код проекта свободно доступен на условиях лицензии LGPL.
Изоляция и разделение доменов
В таких проектах, как Qubes OS и XOAR на базе гипервизора первого типа реализован еще один подход: изоляция и разделения доменов ввода/вывода.
Практика разделения доменов ввода/вывода
Обычно вводом-выводом занимается управляющий домен и, если что-то случается, например, мы сталкиваемся с BadUSB или проблемами с firmware, домен падает. Соответственно, валится весь хост.
В той же Qubes OS выделены домены, которые занимаются исключительно вводом-выводом. Они работают независимо и имеют прямой доступ к оборудованию — если с ними что-то случилось, их можно проконтролировать или рестартовать.
К тому же такая архитектура позволяет надежно контролировать нагрузку на систему, в то время как обычно эмуляция чипсета находится в управляющем домене, и она может требовать больше ресурсов, чем хотелось бы.
Дальнейшие планы разработчиков
В дальнейшие планы разработчиков, как рассказали CNews в DZ Systems, входит получение версии ОС «Фантом», интегрированной с чистым микроядром sel4, создание формально верифицированной ОС на базе верифицированного микроядра.
Андрей Голов, «Код безопасности»: В многополярном мире мы могли бы создать киберальянсы
Безопасность
«Sel4 – единственное сегодня микроядро, в отношении которого математически доказана безошибочность его кода, – говорит Дмитрий Завалишин. – Код «Фантома» достаточно прост и невелик по объему. Если мы внедрим в него доказанно правильное ядро, можно будет рассчитывать на то, что в результате удастся доказать и правильность кода всей операционной системы в целом. Это – одна из целей, которые мы преследуем в работе с университетом «Иннополис»».
Со слов Завалишина, сейчас «Фантом» функционирует на базе собственного ядра, которое прямо работает с аппаратурой компьютера.
По словам ректора университета «Иннополис» Александра Тормасова, в ближайшее время разработчики, помимо портирования ОС на Genode, рассчитывают подготовить ее к использованию в реальных проектах, а также добавить поддержку популярных языков программирования.
Essence OS
Essence OS
- Для полноценной работы достаточно 30 МБ дискового пространства и примерно 64 МБ оперативной памяти. На скриншоте внизу ядро ОС занимает 45,5 МБ, но для загрузки хватит меньшего.
- Загрузка за несколько секунд даже на старом HDD. В демонстрационном видео при загрузке с SSD рабочий стол появляется через 0,7 секунды после заставки BIOS.
- Полностью векторный GUI, то есть идеальное качество изображения на дисплеях высокого разрешения. Продвинутый векторный рендеринг с поддержкой анимации.
- Вкладки.
- Рендеринг шрифтов на FreeType и Harfbuzz (любые языки).
- Открытые исходники.
- Особенности ядра:
- Независимый от файловой системы менеджер кэша.
- Менеджер памяти: общая память, маппинг файлов в память, многопоточное обнуление страниц, балансировка рабочего множества — память, которая требуется процессам в каждый момент времени.
- Сетевой стек для TCP/IP.
- Шедулер с несколькими уровнями приоритетов и инверсией приоритетов.
- Загрузка модулей по требованию.
- Виртуальная файловая система.
- Оконный менеджер.
- Аудиомикшер (в настоящее время переписывается).
- Дополнительная POSIX-подсистема, способная запускать GCC и некоторые инструменты Busybox.
менеджере памяти Windowsможно посмотреть здесь
на сервере Discord
Российские ОС
SOSPOSDIEuroSysHotOS5–8 апреля 2022 года в РеннеOS DAYинфраструктура разработкиАврора TEEмеханизмы безопасностиKasperskyOSQP ОС«Ульяновск.BSD 12» (версия 2021.12.21) на базе FreeBSD из Единого реестра российских программ24 записи (версия на 12 октября 2020)
Название | Правообладатель |
---|---|
Calculate Directory Server | ООО «МИР КАЛКУЛЭЙТ» |
Calculate Linux Desktop | ООО «МИР КАЛКУЛЭЙТ» |
ЗАО “Крафтвэй корпорэйшн ПЛС” | |
RAIDIX | ООО «РЭЙДИКС» |
Sailfish Mobile OS RUS | ООО «ОТКРЫТАЯ МОБИЛЬНАЯ ПЛАТФОРМА» |
WANFleX | ООО «ИНФИНЕТ» |
WTware | Ковалёв Андрей Александрович |
Альт Линукс 7.0 Кентавр | ООО «Альт Линукс» |
Альт Линукс КДесктоп | ООО «Альт Линукс» |
Альт Линукс СПТ | ООО «Свободные программы и технологии |
Альт Линукс Школьный | ООО «Альт Линукс» |
Альт Образование | ООО «БАЗАЛЬТ СВОБОДНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ» |
Альт Сервер | ООО «БАЗАЛЬТ СВОБОДНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ» |
Базальт Рабочая станция | ООО «БАЗАЛЬТ СВОБОДНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ» |
Комплекс анализа защищённости «Сканер-ВС» | ЗАО «Научно-производственное объединение «Эшелон» |
ОС РОСА КОБАЛЬТ DX | ООО «НТЦ ИТ РОСА» |
ОС РОСА ХРОМ DX | ООО «НТЦ ИТ РОСА» |
Операционная система «Синергия 1.0» | ФГУП «Российский федеральный ядерный центр — Всероссийский научно-исследовательский институт экспериментальной физики» |
Операционная система для микроконтроллера «Магистра х.х.» | Зырин Николай Владимирович |
Операционная система специального назначения «Astra Linux Special Edition» | АО «Научно-производственное объединение Русские базовые информационные технологии» |
Программный комплекс ICLinux | ОАО «АйСиЭл — КПО ВС» |
Программный комплекс терминального доступа «Циркон 36КТ» | ЗАО «МНОГОПРОФИЛЬНОЕ ВНЕДРЕНЧЕСКОЕ ПРЕДПРИЯТИЕ «СВЕМЕЛ» |
Программный комплекс терминального доступа «Циркон 36СТ» | ЗАО «МНОГОПРОФИЛЬНОЕ ВНЕДРЕНЧЕСКОЕ ПРЕДПРИЯТИЕ «СВЕМЕЛ» |
Ульяновск.BSD | Волков Сергей Вячеславович |
разработка российских процессоровматеринские платы собственного дизайнаполучаются дороже и хуже, чем на стандартных x8615% на все тарифы VDSHABRFIRSTVDSHABRFIRSTDEDIC
Контроль целостности
Еще один подход, на который обращает внимание Александр, — контроль целостности файлов, которым запрещено изменение. Для этого в Yadro используют IMA/EVM, являющиеся частью ядра, контроль со стороны гипервизора и контроль со стороны внешнего железа
Причем эти подходы компенсируют недостатки друг друга.
Примеры реализации контроля целостности
Гипервизор хорошо подходит для контроля, так как он может делать с памятью виртуальной машины все, что угодно. Можно перехватить обращение к любому сегменту памяти и, в случае обнаружения нелегитимного изменения, сделать дамп памяти виртуальной машины, остановить ее или поднять тревогу. При этом сама ОС этого даже не заметит.
Вариант с использованием сопроцессора построен на механизме работы шины PCI Express и механизме bus mastering. Он подразумевает создание общего пространства между двумя железками и внешний контроль состояния памяти.
Средства защиты информации от уязвимостей в Astra Linux
Видеоверсия доклада: Владимир Тележников, РусБИТех-Астра
Совершенно иной, куда более жесткий подход к контролю целостности внутри ОС описал Владимир Тележников из команды разработчиков Astra Linux. Это отечественная проприетарная ОС, которая изначально предназначалась для силовых структур и позиционируется как альтернатива Windows. С 2021 года разработчики выпускают дистрибутивы в трех режимах защищенности: базовый «Орел», усиленный «Воронеж» и максимальный «Смоленск».
Режимы работы СЗИ в Astra Linux, называли в честь городов-героев и городов воинской славы
Уже в «Орле» внедрен ряд доработок для повышения защищенности компонентов системы. Например, там стоит модифицированное hardened-ядро, устойчивое к атакам с использованием распространенных эксплоитов, но больше всего наработок используется в «усиленных» версиях ОС.
Особенности ОС
В отличие от принципа «все есть файл», применяемого в Unix-подобных системах, к которым относится и популярная в России GNU/Linux – именно на ее основе построено большинство отечественных ОС («Альт», Astra Linux, «Ред ОС» и т.п.), «Фантом» базируется на принципе «все есть объект».
«Операционная система устроена таким образом, что с точки зрения прикладного процесса она никогда не перестает работать, – объясняет особенности своего детища Дмитрий Завалишин. – То есть физическое выключение компьютера для нее – то же самое, что пауза, не более. И прикладные программы при новом старте продолжают работать, как будто отключения не было».
Упрощенно говоря, «Фантом» представляет собой виртуальную машину, которая с заданной периодичностью «сбрасывает» снимки своего состояния (виртуальной памяти) в постоянную память (в некотором роде напоминает гибернацию в Microsoft Windows). Это позволяет в случае отключения питания компьютера или сбоя «откатить» систему к последней успешной транзакции и как ни в чем не бывало продолжить работу.
ОС «Фантом», запущенная в виртуальной машине QEMU
«В ситуации, когда ОС гарантирует программе вечную работу, каждая переменная такой программы семантически превращается в файл. Это означает, что программа перестает нуждаться в, собственно, файлах для хранения данных, которые требуются для работы. Это включает в себя как данные, которые поставляются вместе с программой, так и данные, порожденные в процессе работы. Нет файлов – нет точки входа для сторонней программы (вируса), нет способа вторгнуться в «личное пространство» программы для модификации ее поведения», – отметил Завалишин в разговоре с CNews, отвечая на вопрос о том, как помогает защититься от вредоносных программ применяемый в ОС «Фантом» подход.
Помимо повышения отказоустойчивости и безопасности, данная особенность «Фантома» упрощает разработку прикладного ПО под эту ОС: программисту, в частности, не нужно заботиться о сохранении данных, а ориентированность системы на управляемый код позволяет отказаться от управления памятью вручную.
Другая важная черта «Фантома», которую отмечают разработчики, – высокая производительность. Она достигается, в частности, за счет использования глобального адресного пространства и отсутствия характерного для современных мейнстримных ОС переключения контекста между ядром и запущенными программами, которое может быть весьма ресурсозатратным, но необходимым по соображениям безопасности.
Фото: phantomos.org
Графический интерфейс ОС «Фантом» с консолью Quake на переднем плане
По данным Github-wiki проекта, байт-код виртуальной машины «Фантома» во многом напоминает байт-код Java (выполняемый JVM), однако не предусматривает различий между встроенными типами данных и пользовательскими (классами), то есть любой объект (даже, к примеру, представляющий целое число) является экземпляром класса. Подобная схожесть позволяет достаточно легко построить конвертер байт-кода Java в понятный «Фантому», который позволит портировать на данную ОС уже существующие приложения, написанные на Java.
Кроме того, разработчики планировали предусмотреть возможность выполнения нативного кода (имеющего низкоуровневый, без посредников, доступ к «железу») в отдельном потоке (треде), привязанном к специальному объекту, что может быть полезно при решении задач, требующих высокой производительности, например, обработки видео, звука, сложных вычислений.
Новые правила аккредитации и получения налоговых льгот для ИТ-компаний: что важно знать
Поддержка ИТ-отрасли
Наконец, «Фантом» обеспечивает начальную поддержку стандарта POSIX, что, в частности, может несколько облегчить перенос на данную ОС ПО с других, совместимых с этим стандартом, систем, например, Linux.
Защита от злоупотребления root-привилегиями
Один из самых интересных механизмов защиты Astra Linux — мандатный контроль целостности.
По сути, в архитектуру операционной системы встроен набор правил, по которым она изолирует друг от друга различные процессы и подсистемы. В системе предусмотрено 32 изолированных уровня целостности. С их помощью Astra Linux определяет, какие процессы имеют право на запись и вмешательство в работу других процессов. Эта система дополняет и расширяет обычные ограничения на запись в системные каталоги и обеспечивает защиту от непреднамеренного использования root-привилегий.
Пример использования механизма мандатного контроля целостности для безопасного запуска приложений
Процессам с низким уровнем целостности (например, это может быть случайно загруженный исполняемый файл), даже если они запущены от имени администратора, на системном уровне запрещается изменять состояние процессов с более высоким уровнем целостности. Фактически ядро операционной системы жестко контролирует поведение программ, разграничивает доступные для них области.
Чтобы этот механизм защиты не мешал пользоваться ОС, разработчики Astra Linux включили в дистрибутивы инструментарий, который позволяет запускать процессы на пониженном УЦ.
Пример использования механизма мандатного контроля целостности
Еще одна интересная деталь, по словам спикера, появилась в Astra совсем недавно. Теперь новые объекты наследуют метки безопасности у директорий, в которых они создаются.
Наследование уровней целостности при создании объектов в Astra Linux
На слайде показано, что в директорию /tmp могут записывать файлы все пользователи, но при этом уровень целостности созданных там файлов будет нулевым, как и у директории. Их использование для функционирования процессов с высоким уровнем целостности будет запрещено. Это позволяет избегать угроз безопасности, связанных с ошибками в администрировании операционной системы.
Даже если администратор назначил на системный компонент (директорию, каталог) низкие уровни целостности, установленное туда ПО или созданные конфигурационные файлы будут иметь низкий уровень целостности. Следовательно, они не смогут навредить системе.
Proof of concept
Возможности средств защиты Astra Linux по нейтрализации угроз спикер продемонстрировал на примере недавно нашумевшей уязвимости в Polkit (CVE-2021-4034). С ее помощью обычный пользователь может подменить системные компоненты и получить root-привилегии.
Мандатный контроль целостности усложняет эксплуатацию этой уязвимости благодаря тому, что все процессы, созданные злоумышленником, получают нулевой уровень целостности. Да, злоумышленник все еще сможет воздействовать на такие же низкоцелостные компоненты, но он не получит доступ к большей части системы. Конфиденциальная информация останется в безопасности.
Другие модификации Astra Linux дополняют возможности по защите от подобного рода атак. Например, блокировка интерпретаторов значительно повышает сложность эксплуатации уязвимости. В результате ее опасность снижается с высокого до низкого уровня.
И все же, этот метод, наряду с виртуализацией, мониторингом со стороны гипервизора и изоляцией ввода-вывода, представляет собой ценный пример низкоуровневого, архитектурного подхода к безопасности сложного ПО. Такие приемы интересны как позиции разработчиков, так и с точки зрения специалистов по информационной безопасности.