ОБЗОРЫ
Сегодня проблема компьютерной безопасности актуальна как никогда. В массовом порядке автоматизируются предприятия и организации, в том числе государственные и критически важные для безопасности целых городов или всей страны. Соответственно растет потребность в системах, обеспечивающих защищенную и надежную работу корпоративных управленческих решений, АСУ ТП, всевозможных систем реального времени и прикладных встраиваемых приложений. В то же время потребность эта остается практически неудовлетворенной. Причина малого предложения на рынке систем полноценной киберзащиты в значительной степени связана с дороговизной их сертификации.
Существует немало стандартов, охватывающих различные сферы информационной безопасности (см. PC Week/RE, N 37/2004, с. 35). И при сертификации по каждому из них необходимо организовать проверку соответствующих механизмов защиты, выполнить множество тестов, детально проанализировать исходные тексты, причем с привлечением высококвалифицированных экспертов, обладающих специфическими знаниями. Поэтому сертифицированные системы компьютерной защиты относятся к разряду самых сложных и дорогостоящих в производстве и доводке до рынка. Базовые принципы их построения хорошо известны, весьма просты и не представляют особого труда в плане программирования. Сложность заключается в их эффективной реализации - ведь требуется удержать общую производительность защищаемой ОС и приложений. Проблемы с защитой нередко возникают и из-за наличия в системе так называемых скрытых каналов (covert channels), когда несколько процессов взаимодействуют способом, нарушающим политику безопасности, - например, в заголовках сетевых пакетов из-за исходной незащищенности протокола можно размещать стороннюю информацию. Продуманно учесть все скрытые каналы и составить их полный перечень в каждом конкретном случае крайне сложно. Скажем, когда некий секретный невидимый процесс меняет какую-либо характеристику некоторого файла (его имя или размер), доступного всем через стандартную файловую систему, то этот факт уже является определенной утечкой информации.
От Multics до MILS
Самой передовой и наиболее эффективной концепцией компьютерной защиты сегодня считается многоуровневая система безопасности с изолированными разделами Multiple Independent Levels of Security/Safety (MILS), совершенствуемая с 1996 г. А заложенные в нее идеи зародились еще в 1964-м, когда сотрудник Массачусетского технологического института Фернандо Корбато, автор идеи разделения времени в ОС, совместно с инженерами General Electric и Bell Labs приступил к созданию коммерческой многопользовательской ОС Multics (подробнее см. http://en.wikipedia.org/wiki/Multics), прообраза Unix, в которой коллектив намеревался воплотить множество передовых принципов (иерархическую файловую систему, расширяемые ресурсы, командный процессор и др.). Она также стала первой ОС, куда технологии безопасности закладывались с самого начала проектирования и разработки: идея многоуровневой защиты (MLS) предполагала разделение виртуальной памяти на сегменты кода и данных и взаимодействие между сегментами с учетом уровня их секретности. А современные принципы построения высоконадежных систем защиты, во многом опирающиеся на Multics, сформулировал в 1981 г. стэнфордский ученый Джон Рашби, предложив идею монитора, который следит за информационным взаимодействием между виртуальными разделами системы, минимально вмешиваясь в данный процесс. Впоследствии идеи MLS развились в так называемую концепцию NEAT (Non-bypassable, Evaluatable, Always invoked, Tamperproof). Она объединяет четыре требования: 1) функции защиты нельзя обойти или отключить; 2) сами они невелики и математически выверены; 3) вызываются они постоянно и регулярно при любых действиях прикладных и системных программ; 4) эти функции не могут быть ни повреждены, ни модифицированы плохим или зловредным кодом защищаемого приложения.
Проблемы MLS Недостатки MLS хорошо известны пользователям массовых ОС. Обеспечение безопасности последних происходит по схеме "найден сбой - выпущена заплата", что, может быть, и допустимо для настольных и отчасти корпоративных приложений, однако совершенно не подходит при обеспечении работы критически важных и встраиваемых систем. А традиционный подход создания службы безопасности, отделенной от адресного пространства прикладной программы и выполняющейся при поддержке автономного ядра защиты, приводит к тому, что, во-первых, становится сложно организовать защищенное сетевое взаимодействие процессов из разных систем, а во-вторых, крайне затруднительна сертификация прикладных проектов на базе таких ОС. Ведь "смесь" в одном проекте независимых механизмов безопасности ОС и внутренних модулей защиты прикладных приложений трудна для оценки и понимания их суммарной надежности. При этом не удается гарантировать безопасную работу готового решения, даже если все его составные части сертифицированы.
Оказывает влияние и так называемый принцип "распространения секретности" - работа секретного приложения с несекретными данными делает результат его работы тоже секретным и т. д. По крайней мере создателям общеизвестных ОС пока еще не удавалось получить для них сертификаты безопасности более-менее высокого уровня.
Особые проблемы автономное ядро защиты вызывает при создании систем на базе ОСРВ - встроить его в них крайне трудно, потому что необходимо влиять на системные процессы "жесткого" времени, ухудшая их характеристики и вызывая опасность нарушения соответствующих стандартов. Кроме того, если память в ОСРВ между приложениями не разделяется, то прикладная программа вполне может повлиять на работу монитора защиты.
Архитектура MILS
MILS (http://mils.ois.com), базирующаяся на концепции NEAT, серьезно развивает идеи MLS. Она выступает в качестве основного и перспективного решения вышеупомянутых проблем и представляет собой архитектуру развертывания MLS-систем, охватывая и сетевые концепции, что позволяет в итоге получать полноценное NEAT-решение.
MILS-архитектура реализуется на базе компактных компонентов, которые разрабатываются с помощью систем формального моделирования, а их исходный код математически верифицирован, что гарантирует отсутствие логических ошибок и точное соответствие заданной функциональности. С помощью этих компонентов конкретные прикладные приложения строят свою защиту индивидуальным способом, с помощью собственных оригинальных политик безопасности, - таким образом удается отойти от концепции выделенного ядра защиты, действующего фактически на одном уровне безопасности с прикладными приложениями. Более того, важная особенность такой модели заключается в том, что отдельные модули проекта, использующие MILS-компоненты, можно сертифицировать по отдельности и затем повторно использовать в других проектах, сразу получая сертифицированный продукт.
Конечно, и MILS-архитектура строится на ядре безопасности, синхронизирующем выполнение MILS-компонентов. Но это ядро, в отличие от решений с объемной автономной системой защиты, обеспечивает только функции NEAT. Создано оно, как и MILS-компоненты, с применением математических методов проверки корректности, а занимает всего около 4 тыс. строк кода на одном из универсальных языков. Практика показала, что в прикладных проектах накладные расходы на выполнение такого ядра составляют 5% процессорных ресурсов.
Занимается MILS-ядро исключительно такими задачами: а) разделение адресного пространства; б) изоляция разделов, в которых работают приложения (сбой в одном разделе никогда не приведет к сбоям в других); в) разделение интервалов работы процессора. Вдобавок при переключении от обслуживания одного MILS-раздела к другому ядро удаляет всю информацию (из кэша, временных настроек и т. д.), прямо или косвенно связанную с обработкой предыдущего раздела; г) защищенная и авторизованная связь между MILS-разделами - каждое приложение, выполняющееся в собственном пространстве памяти, может взаимодействовать с разделами только своего или более низких уровней защиты, используя для этого специальные MILS-сокеты.
С помощью этих режимов и обеспечивается полноценная изолируемость данных, защита от использования скрытых каналов процессора и системных служб, возможность контроля за потоками информации между разделами и внешними источниками, а также существенно снижается объем и сложность самих средств обеспечения безопасности (при требовании их абсолютного и гарантированного качества). А за счет авторизации потоков информации можно настраивать в конкретных прикладных приложениях собственные контролируемые уровни безопасности.
В MILS-архитектуру включено и ПО промежуточного слоя, охватывающее все, что относится к MILS, но не требует запуска дополнительного внешнего монитора. Промежуточным оно выступает между MILS-ядром и сетевыми драйверами и средствами поддержки файловой системы, реализуя также POSIX-спецификацию и интерфейс к сторонним MILS-модулям и различным компонентным технологиям (в частности, CORBA). Это ПО занимается и функциями внешней авторизации MILS-разделов и фильтрации сетевого трафика между ними, обычно на базе системы идентификации разделов с помощью специальных меток. В результате, например, системное MILS-приложение Console Protection Profile способно обеспечить обработку сведений разных уровней секретности в нескольких окнах одновременно в рамках текущей сессии графической оболочки коммерческой ОС на одном компьютере.
В сети взаимодействие между MILS-системами осуществляется по технологии, напоминающей обычные пиринговые сети. Специальное решение Partitioning Communications System (PCS) обеспечивает те же принципы работы, что и автономная версия MILS: контроль за информационными потоками, изоляцию данных, разделение процессорного времени и независимость от сбоев. Однако теперь они поддерживаются уже в сетевом режиме "точка - точка" и дополнены технологиями криптографии, идентификации и т. п.
В результате создание крупных систем с поддержкой многоуровневой безопасности существенно упрощается - их можно разбивать на отдельные части и автономно сертифицировать, а составные MILS-элементы повторно использовать в новых решениях. На такой концепции, в частности, базируется проект глобальной информационной матрицы МО США Global Information Grid, которая свяжет все элементы современной армии - от людей и роботов до программных интеллектуальных модулей - в единую сеть по IPv6-протоколу.
Коммерческие MILS-решения
Массовые коммерческие MILS-решения пока еще только ожидаются, хотя работу над ними активно ведут многие компании, занимающиеся разработкой ОСРВ и встраиваемых систем. Удобство MILS заключается в том, что эта технология не требует переделки ядра ОС, позволяя развертывать многоуровневую защиту на базе уже готовых систем, будь то Windows или Linux, VxWorks или LynxOS. При этом коммерческая ОС может быть просто целиком запущена внутри MILS-раздела (в таком случае она называется "гостевая ОС"), что позволяет быстро перенести уже существующие наработки в MILS-архитектуру. Более того, появляется возможность одновременного запуска множества копий разных гостевых ОС в MILS-разделах на одном компьютере - ведь в MILS разделяются все ключевые ресурсы (процессор, ОЗУ, данные), а организовать их взаимодействие друг с другом или с внешними источниками данных можно с помощью вышеупомянутой технологии PCS.
О выпуске в ближайшее время MILS-решения Platform for Safety Critical ARINC653 2.0 объявила фирма Wind River Systems (www.windriver.com). Оно базируется на ОСРВ VxWorks AE653, сертифицированной по стандарту ARINC653, который был создан производителями авионики для систем с разделением времени и памяти. Прежняя версия Platform for Safety Critical задействована при создании нового пассажирского лайнера Boeing 7E7 Dreamliner, а VxWorks применяется, в частности, в воздушном боевом сверхзвуковом роботе X-47B корпорации Northrop Grumman. В MILS-продукте также будет задействована среда Wind River Workbench, базирующаяся на Eclipse; она позволяет создавать и отлаживать ПО для Linux, VxWorks, настольных ОС, а также разрабатывать приложения, для работы которых ОС вообще не требуется.
Ведет исследования в этой области и компания Lynux Works (www.lynuxworks.com) - ее новое решение LynxSecure, основанное на технологиях ОСРВ LynxOS-178, поддерживает Linux и POSIX-интерфейсы, а в настоящее время проходит сертификацию по наивысшему, седьмому уровню EAL 7 стандарта общих критериев ИТ-безопасности CCITSE, принятого агентством национальной безопасности США. Этот уровень в данном проекте подразумевает, что MILS-ядро LynxSecure создано с применением математических методов верификации правильности и формально протестировано, что гарантирует отсутствие в нем ошибок. LynxOS-178 задействована в различных беспилотных аппаратах, вертолете Apache, эсминце-невидимке DD(X) и т. д.
Еще один лидер на рынке ОСРВ, компания Green Hills Software (www.ghs.com), также ориентируется на поддержку MILS-архитектуры. С этой целью улучшается ее продукт INTEGRITY, создававшийся для систем управления ядерным оружием, - он должен быть сертифицирован по уровню EAL 6+, а пока используется в программируемых военных радиостанциях, истребителе F-35, аппарате X-45C (разработка Boeing, конкурирующей с Northrop Grumman за будущие заказы по проекту X-45) и других видах военной техники.
Некоторые компании ориентируются на отдельные ниши на потенциальном MILS-рынке. Так, фирма Objective Interface Systems (www.ois.com), тесно сотрудничающая с независимой группой по объектным стандартам The Open Group (www.opengroup.org) по спецификации MILS, известна как ведущий поставщик ПО промежуточного слоя для MILS-систем. Ее менеджеры не без основания полагают, что пока полноценные MILS-решения не добрались до коммерческой зрелости, сегодня выгоднее работать над сетевыми и middleware-продуктами многоуровневой защиты. В январе 2005 г. эта фирма подготовила вариант вышеупомянутой сетевой архитектуры PCS, который готовится сразу к сертификации по уровню EAL 7. А ряд технологий PCS взят из компактного брокера объектных запросов OIS ORBexpress, реализующего спецификацию компонентной модели CORBA на обработку транзакций в реальном времени Real-time CORBA 1.0. Согласно исследованию МО США, он оказался самым быстрым встраиваемым брокером на рынке и применяется во множестве военных систем - от комплексов раннего предупреждения AWACS до установок перехвата баллистических ракет THAAD.
По понятным причинам присматриваются к MILS и гражданские структуры. Так, в июле 2005 г. прошла презентация MILS-технологий в американском консорциуме по технологиям для финансового сектора FSTC (www.fstc.org), которая вызывала большой интерес и одобрение со стороны представителей самых разных структур - банков, производственных предприятий, АЭС, медицинских организаций и т. д.