Что такое безопасная ОС?

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

Бесспорно, все эти дополнительные функциональные возможности (и сертификация тоже) важны, но только ли наличие этого функционала позволяет назвать ОС надежной и безопасной? Для ответа на этот вопрос сначала необходимо ответить на другой – «Что такое безопасная ОС?». С нашей точки зрения, такая операционная система должна гарантировать безопасное или доверенное выполнение небезопасных компонент (программ).

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

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

В качестве примера таких улучшений хочу указать на типизацию межпроцессных коммуникаций (IPC). Эта, казалось бы, очевидная вещь позволяет нам контролировать данные, передаваемые в вызовах приложений, на низком уровне и придавать политикам безопасности невиданную ранее на таком уровне гранулярность контроля. Другая возможность – композиция разных типов политик безопасности в одной системе. Например, политики типов Flow Control и Type Enforcement. Итоговая политика является смесью stateful и stateless политик, объединяя все самое лучшее из двух миров. Разумеется, возможность композиции не ограничивается только этими двумя типами. Такой гибкости нет ни у одной коммерческой операционной системы. Этот функционал позволяет жестко контролировать все межпроцессные коммуникации и делать это не только на основании знаний об объекте и субъекте коммуникации (кто и у кого запрашивает), но и на основании знаний о высокоуровневом контексте коммуникации (что запрашивается, когда и какие данные передаются).

Среди других особенностей KasperskyOS нужно отметить гибкий язык описания политик безопасности и систему верификации политики, позволяющий существенно упростить как написание, так и отладку политик. И многое другое. Уникальность наших наработок подтверждена патентами, выданными в США и России.

В итоге, как мы считаем, мы получили операционную систему, в которой реализован принцип возможности доверенного исполнения недоверенных приложений. Это достигнуто, в том числе, с использованием принципа разделения доменов безопасности и одновременно жесткого и гибкого контроля межпроцессных коммуникаций. Это означает, что взаимодействовать модули внутри ОС могут только по определенному протоколу, вызывать только разрешенные функции в строго определенной последовательности. Для потребителей это значит, что даже если в каком-то модуле есть уязвимость, которую хакер может проэксплуатировать (а мы допускаем, что так оно и есть), то хакер, в силу особенностей работы ОС, сможет получить контроль только над уязвимым модулем и не сможет никак нарушить работу остальных модулей, потому как все коммуникации контролируются.

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

Публикации на схожие темы

Всего комментариев: 6
  1. alt

    А где и как собственно можно ознакомиться с самой ОС. А то разговоров много, а хотелось бы «потрогать», посмотреть.

    1. Andrey Nikishin

      В первой половине 2016 сделаем BSP и сборку для доступной железки для ознакомления.

  2. Меченосец

    Ага… Маска, маска, а я-то тебя знаю… Поскреби KasperskyOS — найдёшь Gentoo Linux, не правда ли?

    1. Andrey Nikishin

      Не правда. Линуксом там даже и не пахнет

  3. Марк

    Какова область использования этой ОС?

  4. Zerg

    Ну где ж ознакомительная сборка!

Добавить комментарий для alt Cancel Reply

Ваш e-mail не будет опубликован. Обязательные поля помечены *