Множественный одноуровневый или многоуровневый уровень безопасности ( MSL ) — это способ разделения различных уровней данных с использованием отдельных компьютеров или виртуальных машин для каждого уровня. Он направлен на то, чтобы предоставить некоторые преимущества многоуровневой безопасности без необходимости внесения специальных изменений в ОС или приложения, но за счет необходимости использования дополнительного оборудования.
Стремление к разработке операционных систем MLS было серьезно затруднено резким падением затрат на обработку данных в начале 1990-х годов. До появления настольных компьютеров пользователи с секретными требованиями к обработке должны были либо тратить большие деньги на выделенный компьютер, либо использовать тот, на котором была установлена операционная система MLS. Однако в течение 1990-х годов многие офисы в оборонных и разведывательных сообществах воспользовались падением затрат на вычисления, чтобы развернуть настольные системы, засекреченные для работы только на самом высоком уровне классификации, используемом в их организации. Эти настольные компьютеры работали в системном высоком режиме и были подключены к локальным сетям , которые передавали трафик на том же уровне, что и компьютеры.
Реализации MSL, подобные этим, аккуратно избегали сложностей MLS, но жертвовали технической простотой ради неэффективного использования пространства. Поскольку большинству пользователей в классифицированных средах также требовались неклассифицированные системы, пользователи часто имели по крайней мере два компьютера, а иногда и больше (один для неклассифицированной обработки и один для каждого обработанного уровня классификации). Кроме того, каждый компьютер был подключен к собственной локальной сети на соответствующем уровне классификации, что означало включение нескольких выделенных кабельных установок (со значительными затратами как с точки зрения установки, так и обслуживания).
Очевидным недостатком MSL (по сравнению с MLS) является то, что он не поддерживает смешивание различных уровней классификации каким-либо образом. Например, идея объединения потока данных SECRET (взятого из файла SECRET) с потоком данных TOP SECRET (считанным из файла TOP SECRET) и направление полученного потока данных TOP SECRET в файл TOP SECRET не поддерживается. По сути, систему MSL можно рассматривать как набор параллельных (и совместно расположенных) компьютерных систем, каждая из которых ограничена работой на одном и только одном уровне безопасности. Действительно, отдельные операционные системы MSL могут даже не понимать концепцию уровней безопасности, поскольку они работают как одноуровневые системы. Например, хотя одна из множества совместно размещенных ОС MSL может быть настроена на присоединение строки символов «СЕКРЕТНО» ко всем выходным данным, эта ОС не имеет представления о том, как данные соотносятся по чувствительности и критичности с данными, обрабатываемыми ее одноранговой ОС, которая прикрепляет строку «НЕСЕКРЕТНО» ко всем своим выходным данным.
Работая на двух или более уровнях безопасности, необходимо использовать методы, выходящие за рамки компетенции "операционных систем" MSL как таковых и требующие вмешательства человека, называемого "ручной проверкой". Например, независимый монитор ( не в понимании Brinch Hansen) может быть предоставлен для поддержки миграции данных между несколькими узлами MSL ( например , копирование файла данных с НЕСЕКРЕТНОГО узла на СЕКРЕТНЫЙ узел). Хотя никакие строгие требования в виде федерального законодательства специально не касаются этой проблемы, было бы целесообразно, чтобы такой монитор был довольно небольшим, специально созданным и поддерживал только небольшое количество очень жестко определенных операций, таких как импорт и экспорт файлов, настройка выходных меток и другие задачи обслуживания/администрирования, которые требуют обработки всех совместно размещенных узлов MSL как единого целого, а не как отдельных одноуровневых систем. Также может быть целесообразно использовать архитектуру программного обеспечения гипервизора , например VMware , для предоставления набора одноранговых MSL "ОС" в форме отдельных виртуализированных сред, поддерживаемых базовой ОС, доступной только администраторам, имеющим допуск ко всем данным, управляемым любым из одноранговых узлов. С точки зрения пользователей каждый одноранговый узел будет представлять сеанс входа или X display manager , логически неотличимый от базовой пользовательской среды "обслуживающей ОС".
Стоимость и сложность, связанные с поддержанием отдельных сетей для каждого уровня классификации, побудили Агентство национальной безопасности (АНБ) начать исследования способов, с помощью которых концепция MSL выделенных систем высокого уровня могла бы быть сохранена при одновременном снижении физических инвестиций, требуемых несколькими сетями и компьютерами. Обработка периодов была первым достижением в этой области, устанавливая протоколы, с помощью которых агентства могли подключать компьютер к сети с одной классификацией, обрабатывать информацию, очищать систему и подключать ее к другой сети с другой классификацией. Модель обработки периодов предлагала обещание одного компьютера, но ничего не делала для сокращения количества кабельных установок и оказалась чрезвычайно неудобной для пользователей; соответственно, ее принятие было ограничено.
В 1990-х годах развитие технологии виртуализации изменило игровое поле для систем MSL. Внезапно стало возможным создавать виртуальные машины (ВМ), которые вели себя как независимые компьютеры, но работали на общей аппаратной платформе. С помощью виртуализации АНБ увидело способ сохранить обработку периодов на виртуальном уровне, больше не нуждаясь в санации физической системы путем выполнения всей обработки в выделенных, системных ВМ. Однако, чтобы MSL работал в виртуальной среде, необходимо было найти способ безопасного управления виртуальным менеджером сеансов и гарантировать, что никакая компрометирующая деятельность, направленная на одну ВМ, не сможет скомпрометировать другую.
АНБ проводило несколько программ, направленных на создание жизнеспособных, безопасных технологий MSL, использующих виртуализацию. На сегодняшний день материализовались три основных решения.
Оба решения NetTop и Trusted Multi-Net были одобрены для использования. Кроме того, Trusted Computer Solutions разработала продукт тонкого клиента, изначально основанный на концепциях технологии NetTop по лицензионному соглашению с NSA. Этот продукт называется SecureOffice(r) Trusted Thin Client(tm) и работает на конфигурации LSPP Red Hat Enterprise Linux версии 5 (RHEL5).
Три конкурирующие компании внедрили ядра разделения MILS:
Кроме того, были достигнуты успехи в разработке систем MSL без виртуализации за счет использования специализированного оборудования, что привело к появлению по крайней мере одного жизнеспособного решения:
Интересно рассмотреть философские последствия «пути решения» MSL. Вместо того, чтобы предоставлять возможности MLS в рамках классической ОС, выбранное направление заключается в создании набора одноранговых узлов «виртуальной ОС», которые могут управляться, индивидуально и коллективно, базовой реальной ОС. Если базовая ОС (введем термин « операционная система обслуживания » или MOS ) должна иметь достаточное понимание семантики MLS для предотвращения серьезных ошибок, таких как копирование данных из СОВЕРШЕННО СЕКРЕТНОГО однорангового узла MSL в НЕСЕКРЕТНЫЙ одноранговый узел MSL, то MOS должна иметь возможность: представлять метки; связывать метки с сущностями (здесь мы строго избегаем терминов «субъект» и «объект»); сравнивать метки (строго избегая термина «монитор ссылок»); различать те контексты, где метки имеют смысл, и те, где они не имеют смысла (строго избегая термина «доверенная вычислительная база» [TCB]); этот список можно продолжать. Легко заметить, что проблемы архитектуры и дизайна MLS не были устранены, а просто отложены в отдельный слой программного обеспечения, который невидимо управляет проблемами обязательного контроля доступа, так что вышестоящие слои не нуждаются в этом. Эта концепция есть не что иное, как геминальная архитектурная концепция (взятая из отчета Андерсона), лежащая в основе доверенных систем в стиле DoD в первую очередь.
Что было положительно достигнуто абстракцией набора-сверстников MSL, так это радикальное ограничение области действия механизмов программного обеспечения, распознающих MAC, до небольшой, нижележащей MOS. Однако это было достигнуто ценой устранения любых практических возможностей MLS, даже самых элементарных, как когда пользователь с допуском SECRET добавляет параграф UNCLASSIFIED, взятый из файла UNCLASSIFIED, к своему отчету SECRET. Реализация MSL, очевидно, потребовала бы, чтобы каждый "повторно используемый" ресурс (в этом примере файл UNCLASSIFIED) был реплицирован на каждом пире MSL, который мог бы найти его полезным, что означало бы либо большой объем вторичного хранилища, потраченный напрасно, либо невыносимую нагрузку на администратора с допуском, способного выполнять такие репликации в ответ на запросы пользователей. (Разумеется, поскольку СЕКРЕТНЫЙ пользователь не может «просматривать» НЕСЕКРЕТНЫЕ предложения системы, кроме как выйдя из системы и заново запустив НЕСЕКРЕТНУЮ систему, это свидетельствует о еще одном серьезном ограничении функциональности и гибкости.) В качестве альтернативы, менее конфиденциальные файловые системы могут быть смонтированы по NFS только для чтения, чтобы более надежные пользователи могли просматривать, но не изменять их содержимое. Хотя у одноранговой ОС MLS не будет фактических средств для различения (с помощью команды листинга каталогов, например ), что смонтированные по NFS ресурсы находятся на другом уровне чувствительности, чем локальные ресурсы, и не будет строгих средств для предотвращения незаконного восходящего потока конфиденциальной информации, кроме грубого механизма «все или ничего» монтирования NFS только для чтения.
Чтобы продемонстрировать, насколько на самом деле невыгодным является это радикальное осуществление «межуровневого обмена файлами», рассмотрим случай системы MLS, которая поддерживает данные UNCLASSIFIED, SECRET и TOP SECRET, и пользователя с допуском TOP SECRET, который входит в систему на этом уровне. Структуры каталогов MLS построены на принципе сдерживания, который, грубо говоря, диктует, что более высокие уровни конфиденциальности находятся глубже в дереве: обычно уровень каталога должен соответствовать или доминировать над уровнем его родителя, в то время как уровень файла (точнее, любой ссылки на него) должен соответствовать уровню каталога, который его каталогизирует. (Это строго справедливо для MLS UNIX: альтернативы, которые поддерживают различные концепции каталогов, записей каталогов, i-nodes и т. д. — например, Multics , который добавляет абстракцию «ветви» к своей парадигме каталогов — допускают более широкий набор альтернативных реализаций.) Ортогональные механизмы предоставляются для общедоступных и буферных каталогов, таких как /tmp или C:\TEMP , которые автоматически — и незаметно — разбиваются ОС, при этом запросы пользователей на доступ к файлам автоматически «отклоняются» в соответствующим образом помеченный раздел каталога. Пользователь TOP SECRET может свободно просматривать всю систему, его единственным ограничением является то, что — пока он вошел в систему на этом уровне — ему разрешено создавать новые файлы TOP SECRET только в определенных каталогах или их потомках. В альтернативе MSL, где любой просматриваемый контент должен быть специально и кропотливо реплицирован на всех применимых уровнях полностью допущенным администратором — в данном случае это означает, что все СЕКРЕТНЫЕ данные должны быть реплицированы на СОВЕРШЕННО СЕКРЕТНУЮ одноранговую ОС MSL, в то время как все НЕСЕКРЕТНЫЕ данные должны быть реплицированы как на СЕКРЕТНЫЕ, так и на СОВЕРШЕННО СЕКРЕТНЫЕ одноранговые узлы — можно легко понять, что чем выше уровень допуска пользователя, тем более разочаровывающим будет его опыт работы с разделением времени.
В классическом смысле теории доверенных систем — опираясь на терминологию и концепции, взятые из Orange Book , основы доверенных вычислений — система, которая поддерживает одноранговые узлы MSL, не может достичь уровня уверенности выше (B1). Это связано с тем, что критерии (B2) требуют, среди прочего, как четкой идентификации периметра TCB, так и существования единого, идентифицируемого субъекта, который имеет возможность и полномочия выносить решения о доступе ко всем данным, представленным во всех доступных ресурсах системы ADP. Таким образом, в самом реальном смысле применение термина «высокая уверенность» в качестве описания реализаций MSL бессмысленно, поскольку термин «высокая уверенность» должным образом ограничен системами (B3) и (A1) — и, хотя и с некоторой неопределенностью, системами (B2).
Системы MSL, будь то виртуальные или физические по своей природе, предназначены для сохранения изоляции между различными уровнями классификации. Следовательно, (в отличие от систем MLS), среда MSL не имеет врожденных способностей перемещать данные с одного уровня на другой.
Чтобы разрешить обмен данными между компьютерами, работающими на разных уровнях классификации, такие сайты развертывают кросс-доменные решения (CDS), которые обычно называют привратниками или охранниками . Охранники, которые часто сами используют технологии MLS, фильтруют трафик, проходящий между сетями; однако, в отличие от коммерческого интернет- брандмауэра , охранник создан с учетом гораздо более строгих требований к обеспечению безопасности, а его фильтрация тщательно разработана, чтобы попытаться предотвратить любую неправомерную утечку секретной информации между локальными сетями, работающими на разных уровнях безопасности.
Технологии диодов данных широко используются там, где потоки данных должны быть ограничены одним направлением между уровнями, с высокой степенью уверенности в том, что данные не будут течь в противоположном направлении. В целом, они подвержены тем же ограничениям, которые налагали трудности на другие решения MLS: строгая оценка безопасности и необходимость предоставления электронного эквивалента заявленной политики для перемещения информации между классификациями. (Перемещение информации вниз по уровню классификации является особенно сложным и обычно требует одобрения от нескольких разных людей.)
По состоянию на конец 2005 года многочисленные платформы и приложения для защиты с высокой степенью надежности были одобрены для использования в секретных средах. Обратите внимание , что термин «высокая надежность», используемый здесь, должен оцениваться в контексте DCID 6/3 (читается «ди скид шесть три»), квазитехнического руководства по созданию и развертыванию различных систем для обработки секретной информации, в котором отсутствует как точная юридическая жесткость критериев « Оранжевой книги» , так и лежащая в основе математическая строгость. (Оранжевая книга мотивирована и выведена из логической «цепочки рассуждений», построенной следующим образом: [a] математически определяется «безопасное» состояние и строится математическая модель, операции над которой сохраняют безопасное состояние, так что любая мыслимая последовательность операций, начинающаяся с безопасного состояния, дает безопасное состояние; [b] отображение разумно выбранных примитивов в последовательности операций над моделью; и [c] «описательная спецификация верхнего уровня», которая отображает действия, которые могут быть выполнены в пользовательском интерфейсе (например, системные вызовы ), в последовательности примитивов; но не останавливаясь ни на [d] формальной демонстрации того, что реализация живого программного обеспечения правильно реализует указанные последовательности действий; ни на [e] формальном утверждении того, что исполняемая, теперь «доверенная», система генерируется правильными, надежными инструментами [ например , компиляторами, библиотекарями, компоновщиками].)