КАТАЛОГ

ОСРВ

LynxSecure
LynxSecure
Операционная система на базе MILS-архитектуры для оборонной и авиационной отрасли


ПРОИЗВОДИТЕЛЬ: LynuxWorks

ОПИСАНИЕ:

LynxSecure – операционная система на базе MILS-архитектуры для оборонной и авиационной отрасли.

Архитектура MILS (Multiple Independent Levels of Security – множественные независимые уровни защиты/безопасности) предложена как решение, которое должно гарантировать защиту информационных и управляющих систем на объектах, обрабатывающих критическую информацию. MILS – компонентная архитектура, основанная на коммерческом (COTS) ядре разделения, которое воплощает концепцию взаимодействия по строго формализованным правилам и выполнение приложений в изолированных разделах. MILS поддерживает множественные уровни безопасного взаимодействия, композиции политик безопасности и модульной структуры системы так, чтобы критические компоненты можно было оценить формальными методами на самых высоких уровнях и гарантировать безопасную и защищенную работу. Наибольший интерес к MILS-архитектуре проявляют военные в таких областях, как авионика, системы вооружения и наземной защиты, системы безопасности различного назначения. Среди военных ведомств США наибольшую поддержку в развитии MILS-архитектуры оказывает AFRL (U. S. Air Force Research Lab) в рамках проектов F-22 и F-35. Также серьезный интерес к MILS-архитектуре проявляют и пользователи гражданских приложений, таких как cистемы управления процессами, финансовые системы, биомедицина.

Ядро LynxSecure компании LynuxWorks полностью соответствует спецификации архитектуры MILS, которая определяет очень строгие принципы изоляции данных, ограничения распространения ошибок и политик управления информационными потоками и полностью удовлетворяет жестким требованиям к безопасности и защите данных. Технологии разделения программных средств и аппаратной виртуализации позволяют одной операционной системе функционировать наряду с другими в одной и той же вычислительной среде, обеспечивая тем самым поддержку нескольких операционных контекстов на базе одного и того же физического оборудования (рис. 1).

Понятие MILS появилось в работах, написанных Джоном Рашби (John Rushby), доктором философии Стэнфордского научно-исследовательского института, в начале 1980-х годов. Рашби предложил, чтобы ядро разделения разделило память на изолированные области, используя единицу управления памятью аппаратных средств (MMU), и допускало только строго формализованные коммуникации между разделами, которыми тщательно управляют. Это позволяет одному разделу оказывать услугу другому с минимальным вмешательством от ядра.

Традиционные сервисы операционной системы, которые ранее работали в привилегированном (т. е. супервизорном) режиме, такие как драйверы устройств, файловая система, сетевые стеки и т. д., в LynxSucre теперь работают в непривилегированном (т. е. пользовательском) режиме.

Поскольку ядро разделения LynxSecure обеспечивает определенные функциональные возможности, политика безопасности, которая должна быть проведена в жизнь на уровне ядра, относительно проста. Основные задачи ядра разделения LynxSecure – изолирование процессов и данных плюс сдерживание общесистемых отказов. Следовательно, можно определить требования к безопасности для ядра разделения следующими основополагающими политиками безопасности:

  • Изоляция данных. Жесткое разделение адресного пространства между MILS-разделами.
  • Контроль потока информации. Защищенная и авторизованная связь между разделами. Каждое приложение выполняется в собственном адресном пространстве памяти и может взаимодействовать только с разделами своего или более низких уровней защиты/безопасности, используя для этого специальные MILS-сокеты.
  • Разделение интервалов работы процессора. Микропроцессор и любое сетевое оборудование не могут использоваться как тайный канал, чтобы «подслушать» информацию (т. е. нельзя быть подслушанным третьим лицом).
  • Изоляция ошибки. Последствия сбоя ограничены, отказ в одном разделе не распространяется в другие разделы. Отказы обнаруживаются, локализуются и восстанавливаются в месте их возникновения.

Кроме этого ядро LynxSecure выполняет функции обслуживания прерываний и работы с семафорами.

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

В отличие от обычного ядра безопасности, реализующего все высоконадежные функции безопасной операционной системы, LynxSecure представляет собой ядро разделения. Это ядро разграничивает все данные и системные ресурсы и управляет информационными потоками между разделами. Ядро LynxSecure поддерживает симметричную мультипроцессорную обработку, а также 32- и 64-разрядную адресацию, что обеспечивает широкие возможности масштабирования. В ближайшем будущем планируется сертификация ядра LynxSecure на соответствие как общим требованиям EAL 7, так и требованиям DO-178B уровня А, причем реализованная в нем технология разделения обеспечивает для этого уникальные возможности.

LynxSecure удовлетворяет следующим требованиям:

  • Non-bypasssable. Гарантирует, что функции защиты нельзя обойти или отключить.
  • Evalautable. Функции невелики и математически подтверждены (доказуемы).
  • Always invoked. Вызываются постоянно и регулярно при любых действиях прикладных и системных программ.
  • Tamperproof. Не могут быть ни повреждены, ни модифицированы.

Акроним для этих четырех признаков – NEAT. LynxSecure обеспечивает полный набор NEAT-свойств впервые в коммерческих продуктах (COTS-системах), которые формально смоделированы и математически проверены на высоком уровне гарантии безопасности.

LynxSecure и международные стандарты

LynxSecure базируется на широко применяемых и отработанных международных и отраслевых стандартах, таких как:

  • POSIX (Portable Operating System interface for unIX) – переносимый интерфейс операционных систем на уровне исходных текстов (www.pasc.org), первое описание которого было опубликовано в 1986 году. Основная спецификация разработана как IEEE 1003.1 и одобрена как международный стандарт ISO/IEC 9945-1:1990.
  • DO-178B (Software Consideration in Airborne Systems and Equipment Certification) – требования к ПО для сертификации авиационных систем и оборудования, разработка RTCA (www.rtca.org). DO-178B принят в 1992 году.
  • ARINC-653 (Avionics Application Software Standard Interface) – стандартный интерфейс программного обеспечения для приложений в области авионики, разработка ARINC (Aeronautical Radio, Inc., www.arinc.com/cf/store/index.cfm), 1997 год.
  • Common Criteria for Information Technology Security Evaluation – общие критерии оценки безопасности информационной технологии, разработка NIST, 1996 год.
  • Director of Central Intelligence Directive 6/3, Protecting Sensitive Compartmented Information Within Information Systems, Protection Level 5.

LynxSecure и гостевые операционные системы

Встраиваемая операционная система реального времени (например, Integrity, VxWorks или LynxOS) или настольная операционная система (например, Linux, Windows или Solaris) может работать в разделе MILS как гостевая операционная система. У операционных систем с поддержкой мобильности в памяти есть слой абстракции аппаратных средств (HAL), который ограничивает все определенные для процессора функции. Написание нового HAL является главной задачей в перенесении на новый центральный процессор. Можно использовать те же самые знания для написания HAL, который абстрагирует ядро разделения MILS так же, как аппаратные средства для гостевой операционной системы.

Концепция гостевой операционной системы позволяет старым приложениям быть легко перенесенными в среду MILS c высокой гарантией безопасности. Другая возможность состоит в том, что каждый из множественных MILS-разделов может содержать экземпляр гостевой операционной системы. Это создает эффективное множество виртуальных операционных систем на единственном реальном микропроцессоре. Ядро разделения MILS обеспечивает заслуживающее доверия разделение и относительно доступа памяти, и относительно времени центрального процессора. Коммуникации среди разделов ограничены путями, явно созданными в момент, когда система была построена. Это практический путь к реализации кросс-доменных решений.

С точки зрения принятой классификации LynxSecure является гипервизором типа 1, который выполняется непосредственно на аппаратных средствах, в то время как гипервизоры типа 2 работают под управлением другой операционной системы. В настоящее время в качестве гостевых операционных систем для LynxSecure могут выступать паравиртуализованные (paravirtualized) версии LynxOS-SE и Linux. По имеющейся информации в 2009 году планируется реализовать поддержку для Windows и Solaris (в версиях LynxSecure 3.0 и 4.0 соответственно).

LynxSecure– первое в мире ядро разделения на базе технологии IntelVirtualizationTechnology для военных и авиационных систем

LynxSecure для платформы Intel базируется на технологии виртуализации Intel Virtualization Technology и поднимает на более высокий уровень стандарты защиты и безопасности ПО встраиваемых систем. Использование передовых технологий Intel и LynuxWorks позволило создать устойчивую вычислительную среду, которую давно ожидали разработчики военных и авиационных приложений. В этой среде одновременно могут функционировать несколько операционных систем (как обеспечивающие безопасность данных, так и не обеспечивающие) без какого-либо отрицательного воздействия друг на друга. Объединяя ядро LynxSecure с оборудованием, поддерживающим технологию Intel VT, разработчики получают возможность запускать одну или несколько гостевых операционных систем либо приложений на общей аппаратной платформе в виртуальных или паравиртуализованных разделах.

В конце 2008 года компания LynuxWorks получила высшую награду Award of Exellence альянса Intel ECA (Embedded & Communications Alliance) за поддержку передовых технологий виртуализации Intel VT (Intel Virtualization Technology) и технологии доверенных вычислений Intel TET (Trusted Execution Technology).

Основные характеристики ядра разделения/гипервизора LynxSecure 2.0

В ноябре 2008 года компания LynuxWorks анонсировала новую версию LynxSecure 2.0. В новой версии реализованы следующие основные возможности:

  • поддержка многопроцессорных конфигураций, позволяющая разработчикам в полной мере использовать преимущества современных многоядерных процессоров;
  • возможность реализации политик безопасности, включая контроль над взаимодействием между гостевыми операционными системами;
  • поддержка запуска на одном процессоре нескольких гостевых ОС, сильно различающихся между собой по степени надежности и защищенности;
  • поддержка открытых стандартов POSIX, Linux ABI (Application Binary Interface), DO-178B, Common Criteria и ARINC-653;
  • возможность назначения отдельных устройств отдельным гостевым операционным системам;
  • наличие средств конфигурирования платформы и определения политик безопасности;
  • возможность организации виртуальных сетей между гостевыми операционными системами.

Новые возможности LynxSecure 2.0 были продемонстрированы на выставке MILCOM-2008 (Military Communications Conference, San Diego, Calif., Nov. 17, 2008)совместно с компанией Rockwell Collins на аппаратных средствах с процессором Intel Core2 Duo. В среде LynxSecure выполнялись три виртуальных машины Linux.


ТЕХНИЧЕСКАЯ ИНФОРМАЦИЯ:


Справочный лист