Введение

Применение компьютерной системы

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

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

Операционная среда MLS часто требует высоконадежной системы обработки информации, часто построенной на операционной системе MLS (OS), но не обязательно. Большинство функций MLS может поддерживаться системой, полностью состоящей из ненадежных компьютеров, хотя это требует нескольких независимых компьютеров, соединенных каналами, соответствующими требованиям безопасности оборудования (см. раздел B.6.2 Интерпретации надежной сети, NCSC TG 005). Примером аппаратно-принудительного MLS является асимметричная изоляция. Если компьютер используется в режиме MLS, то он должен использовать надежную операционную систему (OS). Поскольку вся информация в среде MLS физически доступна для операционной системы, должны существовать строгие логические средства контроля для обеспечения строгого контроля доступа к информации. Обычно это включает в себя обязательный контроль доступа, использующий метки безопасности, такие как модель Bell–LaPadula. Клиенты, развертывающие надежные операционные системы, обычно требуют, чтобы продукт прошел формальную оценку компьютерной безопасности. Оценка становится строже для более широкого диапазона безопасности, определяемого минимальным и максимальным уровнями классификации, которые система может обрабатывать. Критерии оценки надежных компьютерных систем (TCSEC) были первыми критериями оценки, разработанными для оценки MLS в компьютерных системах. В рамках этих критериев существовало четкое и единообразное соответствие между требованиями безопасности и шириной диапазона безопасности MLS. Исторически, лишь немногие реализации были сертифицированы как способные к обработке MLS в диапазоне безопасности от неклассифицированной до совершенно секретной. Среди них – SCOMP от Honeywell, USAF SACDIN, Blacker от NSA и MLS LAN от Boeing, все сертифицированы по TCSEC, выпущены в 1980-х годах и основаны на Intel 80386. В настоящее время продукты MLS оцениваются в соответствии с Общими критериями. В конце 2008 года первая операционная система (подробнее ниже) была сертифицирована на высокий уровень заверения: Уровень заверения (EAL) EAL 6+ / Высокая надежность, в рамках правительственной программы США, требующей многоуровневой безопасности в условиях высокой угрозы. Хотя этот уровень заверения имеет много общего со старым «Оранжевым книгой» A1 (например, формальные методы), функциональные требования сосредоточены на фундаментальной изоляции и политиках потока информации, а не на политиках более высокого уровня, таких как Bell–LaPadula. Поскольку Общие критерии отделили соответствие TCSEC между уровнем заверения (EAL) и функциональностью (Профиль защиты), четкое и единообразное соответствие между требованиями безопасности и возможностями диапазона безопасности MLS, задокументированное в CSC STD 004 85, в значительной степени было утрачено, когда Общие критерии заменили серию Rainbow. Бесплатно доступные операционные системы с некоторыми функциями, поддерживающими MLS, включают Linux с включенной функцией Security Enhanced Linux и FreeBSD. Оценка безопасности когда-то считалась проблемой для этих бесплатных реализаций MLS по трем причинам: всегда очень сложно реализовать стратегию самозащиты ядра с точностью, необходимой для доверия MLS, и эти примеры не были разработаны или сертифицированы для профиля защиты MLS, поэтому они могут не обеспечивать самозащиту, необходимую для поддержки MLS. Помимо уровней EAL, в Общих критериях отсутствует перечень соответствующих профилей защиты с высокой степенью уверенности, определяющих надежность, необходимую для работы в режиме MLS. Даже если бы (1) и (2) были выполнены, процесс оценки очень дорог и налагает особые ограничения на контроль конфигурации оцениваемого программного обеспечения. Несмотря на такие предположения, Red Hat Enterprise Linux 5 была сертифицирована по LSPP, RBACPP и CAPP на уровне EAL4+ в июне 2007 года. Она использует Security Enhanced Linux для реализации MLS и стала первой сертификацией Common Criteria, обеспечивающей соблюдение свойств безопасности TOE с использованием Security Enhanced Linux. Стратегии сертификации поставщиков могут вводить в заблуждение неспециалистов. Распространенная стратегия использует чрезмерное внимание неспециалистов к уровню EAL с чрезмерной сертификацией, например, сертификация профиля защиты EAL 3 (например, CAPP) на более высоких уровнях, таких как EAL 4 или EAL 5. Другая – добавление и сертификация функций поддержки MLS (таких как профиль защиты контроля доступа на основе ролей (RBACPP) и профиль защиты безопасности с метками (LSPP)) в ядро, которое не оценивалось по профилю защиты, способному к MLS. Эти функции являются службами, работающими на ядре, и зависят от ядра для защиты от повреждений и подрыва. Если ядро не оценивалось по профилю защиты, способному к MLS, функции MLS не могут быть надежными, независимо от того, насколько впечатляющей выглядит демонстрация. Особенно важно отметить, что CAPP специально не является профилем, способным к MLS, поскольку он специально исключает возможности самозащиты, критически важные для MLS. General Dynamics предлагает PitBull, надежную операционную систему MLS. В настоящее время PitBull предлагается только как улучшенная версия Red Hat Enterprise Linux, но более ранние версии существовали для Sun Microsystems Solaris, IBM AIX и SVR4 Unix. PitBull предоставляет механизм безопасности Bell–LaPadula, механизм целостности Biba, замену суперпользователя привилегиями и многие другие функции. PitBull является базой безопасности для продукта General Dynamics Trusted Network Environment (TNE) с 2009 года. TNE обеспечивает многоуровневый обмен информацией и доступ для пользователей в Министерстве обороны и разведывательном сообществе, работающих с различными уровнями классификации. Он также является основой для среды многоуровневого обмена информацией между союзниками, Battlefield Information Collection and Exploitation Systems Extended (BICES X). Sun Microsystems, ныне Oracle Corporation, предлагает Solaris Trusted Extensions как интегрированную функцию коммерческих ОС Solaris и OpenSolaris. В дополнение к профилю защиты контролируемого доступа (CAPP) и профилям защиты контроля доступа на основе ролей (RBAC), Trusted Extensions также были сертифицированы на уровне EAL4 по профилю защиты безопасности с метками (LSPP). Цель оценки включает в себя функциональность как для настольных компьютеров, так и для сети. LSPP требует, чтобы пользователи не имели права отменять политики маркировки, применяемые ядром и X Window System (X11 server). Оценка не включает анализ скрытых каналов. Поскольку эти сертификации зависят от CAPP, ни одна сертификация Common Criteria не указывает на то, что этот продукт надежен для MLS. BAE Systems предлагает XTS 400, коммерческую систему, поддерживающую MLS с тем уровнем гарантии, на который претендует поставщик. Предыдущие продукты (включая XTS 300) были оценены на уровне TCSEC B3, который способен к MLS. XTS 400 был оценен в соответствии с Общими критериями на уровне EAL5+ по профилям защиты CAPP и LSPP. CAPP и LSPP – это профили защиты EAL3, которые не являются по своей сути способными к MLS, но цель оценки для оценки Common Criteria этого продукта содержит расширенный набор функций безопасности, обеспечивающих возможности MLS.

Проблематические области

Санитаризация является проблемной областью для систем MLS. Системы, реализующие ограничения MLS, такие как определенные моделью Белла-ЛаПадулы, допускают обмен данными только в тех случаях, когда это явно не нарушает ограничения безопасности. Пользователи с более низким уровнем допуска могут легко делиться своей работой с пользователями с более высоким уровнем допуска, но не наоборот. Не существует эффективного и надежного механизма, позволяющего пользователю с уровнем "Совершенно секретно" отредактировать файл с уровнем "Совершенно секретно", удалить всю информацию с уровнем "Совершенно секретно" и затем передать его пользователям с уровнем "Секретно" или ниже. На практике системы MLS обходят эту проблему, используя привилегированные функции, позволяющие доверенному пользователю обходить механизм MLS и изменять классификацию безопасности файла. Однако этот подход ненадежен. Скрытые каналы представляют собой еще одну проблему для систем MLS. Чтобы система MLS идеально сохраняла секреты, не должно быть никакой возможности для процесса с уровнем "Совершенно секретно" передавать сигналы любого рода процессу с уровнем "Секретно" или ниже. Это включает в себя побочные эффекты, такие как изменения доступной памяти или дискового пространства, или изменения времени выполнения процесса. Когда процесс использует такой побочный эффект для передачи данных, он использует скрытый канал. Закрыть все скрытые каналы в практической вычислительной системе крайне сложно, и на практике это может быть невозможно. Сам процесс выявления всех скрытых каналов является сложной задачей. Большинство коммерчески доступных систем MLS не пытаются закрыть все скрытые каналы, хотя это делает их непрактичными для использования в приложениях с высокими требованиями к безопасности. Обход является проблематичным, когда он используется для обработки объекта высокого уровня, как если бы он был доверенным в рамках MLS. Типичный пример – извлечение данных из объекта высокого уровня с уровнем "Секретно" для отправки в неклассифицированное место назначения, со ссылкой на определенные свойства данных в качестве надежного доказательства того, что они "фактически" неклассифицированы (например, "строгий" формат). Система высокого уровня не может гарантировать сохранение каких-либо надежных доказательств, и в результате открывается явный канал передачи данных, который невозможно безопасно контролировать. Обход может быть рискованным, поскольку, в отличие от узкополосных скрытых каналов, которые сложно эксплуатировать, обход может представлять собой большую, легко используемую явную утечку в системе. Обход часто возникает из-за того, что архитекторы систем не учитывают безопасность при проектировании системы, а затем пытаются добавить функции безопасности уже после завершения разработки. В такой ситуации обход может показаться единственным (простым) способом заставить систему работать. Предлагаются (и утверждаются!) некоторые псевдобезопасные схемы, которые проверяют содержимое данных, прошедших обход, в тщетной попытке установить, что они не содержат секретов. Это невозможно без доверия к каким-либо характеристикам данных, таким как их формат, что противоречит предположению о том, что источник не может гарантировать сохранение характеристик исходных данных. Надежный "безопасный обход" – это миф, как и так называемый "Высокоассистентный защитник" (HAG), который прозрачно реализует обход. Риски, связанные с этим, давно признаны; существующие решения в конечном итоге являются процедурными, а не техническими. Невозможно с уверенностью узнать, какой объем классифицированной информации выводится из наших систем путем эксплуатации обхода.

Дебаты: "Нет такого понятия, как МЛС"

Некоторые непрофессионалы проектируют защищенные вычислительные системы и приходят к выводу, что MLS не существует. Объяснение может заключаться в сокращении числа экспертов в области COMPUSEC и перегруженности термина MLS двумя различными значениями/применениями. Эти два применения: MLS как вычислительная среда и MLS как функциональность. Убеждение в несуществовании MLS основано на отсутствии сертифицированных продуктов, работающих в среде или режиме MLS, и, следовательно, на отсутствии MLS как функциональности. Однако одно не подразумевает другое. Многие системы работают в среде, содержащей данные с разными уровнями безопасности и, следовательно, являются MLS согласно теореме промежуточных значений компьютерной безопасности (CS IVT). Последствия этой путаницы более серьезны. Операционные системы, базы данных и сети, сертифицированные АНБ для работы в режиме MLS, существуют с 1970-х годов, и продукты MLS продолжают разрабатываться, продаваться и внедряться. Неспециалисты часто приходят к выводу, что признание работы системы в среде MLS (ориентированное на среду значение MLS) означает попадание в ситуацию, когда необходимо решить проблему, для которой нет решения MLS (ориентированное на функциональность значение MLS). MLS обманчиво сложна, и тот факт, что простые решения не очевидны, не оправдывает вывод об их отсутствии. Это может привести к критическому невежеству в области COMPUSEC, которое проявляется в шепоте о том, что "о MLS нельзя говорить" и "MLS не существует". Эти схемы отрицания MLS меняются настолько быстро, что их невозможно устранить. Вместо этого важно прояснить различие между средой MLS и поддержкой MLS (MLS capable). MLS как среда безопасности или режим безопасности: сообщество, пользователи которого имеют различные уровни доступа, может рассматривать MLS как возможность обмена данными: пользователи могут обмениваться информацией с получателями, уровень доступа которых позволяет им получать эту информацию. Система работает в режиме MLS, когда она имеет (или может иметь) подключение к пункту назначения, уровень доступа которого ниже, чем у любых данных, содержащихся в системе MLS. Это формализовано в CS IVT. Определение режима безопасности системы полностью зависит от среды безопасности системы: классификации содержащихся в ней данных, уровня доступа тех, кто может получить прямой или косвенный доступ к системе или ее результатам, а также подключений и портов системы к другим системам. Режим безопасности не зависит от функциональности, хотя система не должна работать в режиме, которому она не соответствует по уровню доверия. MLS как функциональность: разработчики продуктов или систем, предназначенных для обмена данными MLS, склонны понимать это как возможность применения ограничений обмена данными или политики безопасности, например, механизмов, реализующих модель Bell–LaPadula. Система поддерживает MLS, если можно продемонстрировать надежную реализацию политики безопасности. Первоначальное использование термина MLS относилось к среде безопасности или режиму. Одним из решений этой путаницы является сохранение первоначального определения MLS и уточнение, что имеется в виду поддержка MLS (MLS capable), когда используется этот контекст.

Архитектура MILS

Multiple Independent Levels of Security (MILS) — это архитектура, решающая задачу разделения доменов в рамках MLS. Следует отметить, что UCDMO (главный орган правительства США по системам междоменного и многоуровневого доступа) ввел термин «Междоменный доступ» как категорию в своей базовой линии аккредитованных систем Министерства обороны и разведывательного сообщества, и эту категорию можно рассматривать как по существу аналогичную MILS. Модели безопасности, такие как модель Биба (для целостности) и модель Белла-ЛаПадулы (для конфиденциальности), допускают односторонний поток данных между определенными доменами безопасности, которые в противном случае считаются изолированными. MILS обеспечивает изоляцию, лежащую в основе MLS, но не рассматривает контролируемое взаимодействие между доменами, рассматриваемое вышеупомянутыми моделями. Доверенные каналы, соответствующие требованиям безопасности, могут связывать домены MILS для поддержки расширенной функциональности MLS. Подход MILS реализует стратегию, основанную на более раннем термине MSL (multiple single level – множественный одинарный уровень), который изолирует каждый уровень информации в своей собственной среде одинарного уровня (System High). Строгая коммуникация процессов и изоляция, обеспечиваемые MILS, могут быть более полезны для программных приложений, требующих ультравысокой надежности, чем MLS. MILS, в частности, не учитывает иерархическую структуру, воплощенную в понятии уровней безопасности. Это требует добавления специальных приложений импорта/экспорта между доменами, каждое из которых должно быть соответствующим образом аккредитовано. Таким образом, MILS было бы точнее назвать Multiple Independent Domains of Security (эмуляция MLS на MILS потребует аналогичного набора аккредитованных приложений для приложений MLS). Отказываясь от взаимодействия между уровнями «из коробки», соответствующего иерархическим отношениям Белла-ЛаПадулы, MILS (почти обманчиво) прост в первоначальной реализации, но требует существенных дополнительных приложений импорта/экспорта для достижения богатства и гибкости, ожидаемых от практических приложений MLS. При сравнении MILS и MLS следует учитывать, является ли аккредитация набора более простых экспортных приложений более достижимой, чем аккредитация одного, более сложного ядра MLS. Этот вопрос частично зависит от объема взаимодействия импорта и экспорта, необходимого заинтересованным сторонам. В пользу MILS говорит возможность того, что не всем приложениям экспорта потребуется максимальная гарантия.

Системы MSL

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

Приложения

Инфраструктура, такая как доверенные операционные системы, является важным компонентом систем MLS, но для соответствия критериям, установленным в определении MLS согласно CNSSI 4009 (перефразированном в начале этой статьи), система должна предоставлять пользовательский интерфейс, позволяющий пользователю получать доступ и обрабатывать контент на различных уровнях классификации из одной системы. В 2009 году UCDMO организовала отдельную секцию, посвященную MLS, на симпозиуме NSA по информационной безопасности, где были представлены несколько аккредитованных (внедренных в производство) и перспективных систем MLS. Обратите внимание на использование MLS в SELinux. Существует несколько баз данных, классифицированных как системы MLS. Oracle предлагает продукт Oracle Label Security (OLS), который реализует обязательный контроль доступа, как правило, путем добавления столбца "метка" в каждую таблицу базы данных Oracle. OLS внедряется в INSCOM Армии США в качестве основы базы данных разведданных "из всех источников", охватывающей сети JWICS и SIPRNet. Ведется разработка маркированной версии PostgreSQL, а также существуют более ранние реализации маркированных баз данных, такие как Trusted Rubix. Эти системы баз данных MLS обеспечивают единую серверную часть для контента с различными метками, но не решают проблему обработки пользователями контента на нескольких уровнях секретности в одной системе при соблюдении обязательного контроля доступа. Существует также ряд пользовательских приложений MLS. Еще одна возможность MLS, включенная в базовую конфигурацию UCDMO, называется MLChat – это чат-сервер, работающий на операционной системе XTS 400, разработанной Военно-морской исследовательской лабораторией США. Поскольку контент от пользователей из разных доменов проходит через сервер MLChat, используется фильтрация ненормативной лексики для защиты секретной информации, и ведутся дискуссии о том, является ли это действительно системой MLS или скорее формой защиты данных при междоменном обмене. Обязательный контроль доступа обеспечивается комбинацией XTS 400 и механизмов, специфичных для приложений. Joint Cross Domain eXchange (JCDX) – еще один пример возможности MLS, включенной в базовую конфигурацию UCDMO. JCDX – единственная система командования, управления, связи, компьютеров и разведки (C4I), аккредитованная Министерством обороны (DoD) и Агентством военной разведки (DIA), обеспечивающая разведывательную и предупредительную поддержку в режиме, близком к реальному времени, для оперативных театров и передовых тактических командиров. Архитектура JCDX тесно интегрирована с высоконадежной защищенной операционной системой четвертого уровня защиты (PL4), использующей маркировку данных для распространения информации о деятельности сил и потенциальных террористических угрозах в мировом океане и вокруг него. Она установлена в США и странах-партнерах, где может предоставлять данные от уровня "Совершенно секретно/SCI" до уровня "Секретно для распространения", все на одной платформе. Приложения MLS, которые в настоящее время не входят в базовую конфигурацию UCDMO, включают несколько приложений от BlueSpace. BlueSpace предлагает ряд приложений MLS, включая почтовый клиент MLS, приложение для поиска MLS и систему управления и контроля MLS (C2). BlueSpace использует стратегию промежуточного программного обеспечения, чтобы обеспечить платформенную независимость своих приложений, оркеструя единый пользовательский интерфейс через несколько экземпляров ОС Windows (виртуализированных или удаленных сеансов терминалов). Военно-морская исследовательская лаборатория США также разработала многоуровневую веб-платформу под названием MLWeb, которая интегрирует Ruby on Rails с многоуровневой базой данных на основе SQLite3.

Тенденции

Возможно, самое значительное изменение, происходящее сегодня в области многоуровневой безопасности, – это сближение MLS с технологией виртуализации. Все большее число доверенных операционных систем отказывается от маркировки файлов и процессов, переходя к использованию UNIX-контейнеров или виртуальных машин. Примеры включают зоны в Solaris 10 TX, гипервизор "padded cell" в системах, таких как платформа Integrity от Green Hills и XenClient XT от Citrix. Платформа высокой надежности, разработанная NSA и реализованная в доверенной среде виртуализации (TVE) компании General Dynamics, является еще одним примером – она использует SELinux в качестве ядра и может поддерживать MLS-приложения, охватывающие несколько доменов.