Мальчики и девочки! Сегодня слишком прекрасный день, чтобы три раза не сказать "ура!". Вот так: УРА, УРА, УРАААА!!!
А почему?
Потому что мы - следите за слогами! - прото-типи-рова-ли, прототипировали и наконец выпрототепировали (а теперь попробуйте повторить по-трезвому! :) Да, мы официально выпустили нашу
безопасную операционную систему для сетевых устройств, автоматизированных систем управления и прочего Интернета Вещей! И, да, мы долго запрягали - позади 14 лет кропотливой работы (проект начался 11 ноября - отсюда и название такое - 11-11) и даже успели
совершить практическое внедрение. Теперь же ОСь готова к потреблению доступна для внедрения всеми заинтересованными сторонами, в различных вариантах.
Не буду грузить вас техническими подробностями, тем более, что о них вот
здесь исчерпывающе уже сказано. Лучше сосредоточусь на том, что осталось "за скобками", а именно - отвечу на самые распространённые вопросы и развею самые невероятные заблуждения вокруг этой операционной системы.
Зачем нам ещё один Linux?
Это один из самых распространённых вопросов. И ответ на него феноменально прост - это не Linux. Т.е. совсем и вообще не Linux, от него там нет ни строчки кода. Мы разработали ОСь с нуля и для решения абсолютно других задач.
Для создателей Linux, Windows, OS X и многих других самое важное - совместимость и универсальность. Разработчики этих систем пытаются максимально популяризировать свои творения, для чего донéльзя упростили процесс создания новых приложений и инструментов под них. А для нашей целевой аудитории (разработчики железа, АСУТП и т.д.) это неприемлемо - здесь главное безопасность.
Для создания такой безопасной среды нужен глобальный
Default Deny на уровне системных процессов, завёрнутый в микроядерную архитектуру. То есть система, которая могла бы выполнять только то, что нужно и не могла бы (физически) делать что-то ещё. В традиционных операционных системах это сделать невозможно.
Встроить в уже работающую систему защитные механизмы - можно. По сути именно этим мы и занимаемся
в основном бизнесе. И для решения многих задач этого хватает. Однако есть области, в которых недопустим даже потенциальный шанс успешной атаки. И если нужны гарантии, то нужно создавать что-то новое. Безопасное по определению.
Ой, да делали уже безопасные ОС! И что?
Мы, собственно, и не говорим, что сделали что-то уникальное по своему гениальному замыслу. Разумеется, безопасную ОС пытались создать и раньше. И в ряде случаев даже добились успеха, но по стоимости эти проекты были сравнимы с самолётом (часто в самолётах и применялись) и потому широкого распространения не получили.
А в большинстве же случаев такие
проекты ограничились научными исследованиями и ограниченной практической реализацией. Например, сделали микроядро, выпили шампанского, обнялись, поздравили друг друга и разошлись. До полноценного ввода в промышленную эксплуатацию, коммерческого продукта дело не доходило. Автомобиль - это не только двигатель, система подвески или колёса.
Мы же идём от практической задачи - разработали систему так, чтобы её можно было задействовать в конкретных областях, с возможностью тонкой настройки степени безопасности для выполнения специфических задач. В результате у нас, по сути, получилось три продукта. Собственно ОСь (KOS), отдельный гипервизор (KSH) и отдельная система для обеспечения безопасности взаимодействия компонентов (KSS). При этом они могут принести пользу и по отдельности, в зависимости от применения.
Например, немецкая компания SYSGO
лицензирует только третий компонент (KSS) для собственной разработки PikeOS. Некоторые производители проявляют интерес только к гипервизору (KSH), под которым можно запускать работающие системы управления без необходимости их модификации. А для
свичей Kraftway такого уровня интеграции было недостаточно и в них применяется ОСь целиком.
Короче говоря, преимущество нашей ОСи заключается в том, что её практическое применение - это не гипотетический вопрос, а дело настройки и доводки под конкретные нужды.
Как вы докажете, что ось позволяет выполнять только документированные операции?
Разумеется, как только мы говорим, что наша система безопасна by design, находятся люди, которые не верят. И это абсолютно нормально, в кибербезопасности вообще опасно верить на слово.
Архитектура нашей операционной системы основана на делении объектов на максимальное количество изолированных сущностей. Заказчики могут ознакомиться с исходным кодом ядра, чтобы убедиться - внутри системы нет недокументированных возможностей. Всё остальное в принципе создается с участием клиента, в виде политик, которые описывают буквально каждый чих.
В остальном система будет делать только то, что вы ей велите. Злоумышленники не смогут воспользоваться даже ошибкой в коде прикладной программы, написанной под эту ОС. Да, можно написать длиннющий код с кучей ошибок. Но чтобы этот код смог отработать, ему нужно ещё и соответствовать политикам, которые объясняют, что код может делать, а что нет.
Хорошая идея, но под ней ничего не будет работать
Как раз напротив, у нас исключительно гибкая система! В принципе, её можно "допилить" даже до уровня обычной "ширпотребной", но на это уйдет очень много времени и ресурсов. Пока у нас таких планов нет - мы будем работать только в узкоспециализированном сегменте.
Ну и не следует забывать о возможности портирования на ОСь стороннего кода - для этого в составе системы есть защищённый гипервизор, который позволит запустить в качестве надстройки практически все что угодно (ну, к примеру, сервер Apache).
Да, если бы у вас была возможность взять этот сервер, поделить на множество изолированных частей, прописать как они будут взаимодействовать друг с другом, то мы бы получили куда больший уровень безопасности. Но это адский труд. Впрочем, нет ничего невозможного - было бы желание и средства :)
Именно поэтому мы предоставляем возможность запуска надстройки через гипервизор. Да, в этом случае мы получим заведомо безопасную ось, с заведомо небезопасной надстройкой. Что будет происходить внутри этой надстройки - неизвестно. Но мы получим возможность контролировать, как она взаимодействует с железом, как будет общаться с другими надстройками и как будет общаться с внешним миром. А это уже немало. При такой реализации "побег из песочницы" крайне маловероятен.
Да ладно, она всё равно будет передавать данные
Само по себе ядро системы ничего не куда не передает - в этом не сложно убедиться, изучив исходный код (см. выше). В микроядре нет практически ничего. Все драйверы вынесены вовне. То есть чтобы передавать что-либо, надо написать дополнительный кусок. И он будет виден - тут даже не надо смотреть в исходники кода. Потому что это прописывается в инструкциях, в политиках безопасности. И заказчик всегда может провести их аудит независимо от кода. Если в них не прописано ничего о передаче данных куда-либо, то значит, что система не передает.
Ну да, и стоить она будет как крыло от "Боинга"
Честно говоря, мы очень давно не покупали крыльев от "Боинга" и на вскидку не помним современную цену. Однако, сравнение в принципе некорректно. Потому что наша ОС - это не конечный продукт, а скорее проектный. Мы не продаем коробку с готовым волшебным снадобьем, а сотрудничаем с производителями и разработчиками (например: сетевое оборудование, промышленная автоматизация, автомобильные системы… да хоть умные холодильники!) предоставляем код и помогаем адаптировать систему под конкретные требования. Соответственно и стоимость решения зависит непосредственно от задачи, от количества труда, который придется вложить в финализацию продукта.
Всё в мире ломается и вашу ОС тоже сломают!
Согласен - в мире нет ничего абсолютного, кроме
числа 42 :) Поэтому могут случиться любые случаи. Однако это не повод накрыться простынёй и медленно ползти на кладбище! Смысл кибербезопасности - максимально усложнить задачу кибернегодяям, задрать стоимость успешной атаки до потолка, сделать эту атаку экономически невыгодной. И в этом равных нашей ОСи пока нет.
На этом всё. Вопросы - в комментах. Более подробная информация
на сайте.