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