Дисциплина разграничения доступа к документам определяется следующими двумя фундаментальными правилами:
– лицо допускается к работе с документом только в том случае, если уровень допуска лица равен или выше уровня конфиденциальности Документа, а в наборе категорий доступа данного лица содержатся все категории, определенные для данного документа;
– только специально уполномоченное лицо может снизить уровень Документа или исключить признак категории документа.
Более детальное разграничение доступа (при обязательном выполнении Указанных правил) достигается за счет явного указания взаимосвязи конкретных документов с конкретными лицами по принципу "положено знать". Для этого в документ включается специальный список, определяющий полный перечень лиц, которым ознакомление с данным документом разрешено и необходимо для выполнения своих прямых производственных, функциональных обязанностей.
Многоуровневая модель защиты определяет аналогичные взаимоотношения между элементами, участвующими в вычислительном процессе.
Активные элементы вычислительного процесса (пользователи, задачи и т. п.) наделяются определенными правами доступа, надежно зафиксированными в мандате субъекта. Для задачи (процесса) они, например, могут, определятся в соответствии с уровнем допуска лица, обслуживаемого данной задачей.
Пассивные элементы вычислительного процесса – разнообразные] контейнеры данных (периферийные устройства внешней памяти, тома и наборы данных, файлы, разделы, сегменты внешней и основной памяти т. п.) наделяются определенными признаками конфиденциальности, зависящими от уровня содержащейся в этих контейнерах информации. Признаки конфиденциальности надежно фиксируются в метке объекта. (В связи с использованием терминов "мандат" и "метка" многоуровневую защиту часто называют мандатной защитой или защитой с метками конфиденциальности).
Права доступа каждого субъекта и характеристики конфиденциальности каждого объекта отображаются в виде совокупности уровня конфиденциальности и набора категорий конфиденциальности (возможно пустого). Уровень конфиденциальности может принимать одно из строго упорядоченного ряда фиксированных значений, например, конфиденциально, секретно, только для узкого круга лиц, несекретно и т. п. Отдельно взятые категории равнозначны, однако их наборы (множества) могут быть упорядочены на основании отношения включения подмножеств.
Практика показывает, что многоуровневые модели защиты находятся гораздо ближе к потребностям реальной жизни, нежели матричные модели, и представляют собой хорошую основу для построения автоматизированных систем разграничения доступа. За счет более высокого "интеллекта", содержащегося в решетчатых моделях, системы защиты с контролем доступа на уровне потоков данных во многих случаях могут без вмешательства человека принимать решения о допуске пользователей к охраняемым данным, что снижает опасность образования узких мест, связанных с деятельностью администратора защиты.
Однако в реализации многоуровневых систем разграничения доступа имеются серьезные теоретические и технические проблемы.
Одна из них – возникновение состояний избыточной конфиденциальности (секретности), связанных с необходимостью автоматической деклассификании конфиденциальных данных. Другие проблемы, связанные с трудностями реализации многоуровневых систем разграничения доступа, рассматриваются в последующем материале.
Вопрос 3. Системы разграничения доступа
На практике системы разграничения доступа (СРД), базирующиеся на моделях матричного типа, реализуются обычно в виде специальных компонент универсальных операционных систем (ОС) или систем управления базами данных (СУБД). Зачастую такие компоненты поставляются в виде самостоятельных программных изделий. Например, такие известные программные средства защиты, как RACF (Resource Access Control Facility) фирмы «IBM», SECURE5ЕС1ЖЕ фирмы «Boole and Baddige» и TOPSECRET фирмы «CGA Computer Ivc», предназначены для расширения функциональных возможностей широко распространенных ОС IBM System/370 MVS и VSI возможностями аутентификации пользователей и матричного разграничения доступа к томам и наборам данных на магнитных дисках, томам данных на магнитной ленте, терминалам, а также транзакциям IMS и CICS и некоторым другим объектам данных. В более современных ОС, таких, как UNIX и VAX/VMS, функции разграничения доступа к элементам файловой структуры интегрированы непосредственно в управляющую программу. Существенной особенностью матричных СРД для наиболее широко используемых на сегодняшний день универсальных ОС является принципиальная децентрализованность механизмов диспетчера доступа, что приводит к невозможности строгого выполнения изложенных выше Требований верифицируемости, защищенности и полноты контроля этих механизмов.
В области многоуровневых СРД доминирующей идеей, в течение последнего десятилетия определявшей основное направление исследований, является концепция разработки защищенной универсальной ОС на базе так называемого ядра безопасности. Под ядром безопасности понимают локализованную, минимизированную, четко ограниченную и надежно изолированную совокупность программно-аппаратных механизмов, доказательно правильно реализующих функции диспетчера доступа (и ряд других сопутствующих служебных функций, например доверенных процессов). Демонстрация корректности функционирования ядра безопасности проводится путем полной формальной верификации его программ и пошаговым доказательством их соответствия заданной математической модели защиты на всех стадиях разработки.
Важно отметить, что сама концепция ядра безопасности своим рождением обязана стремлению преодолеть трудности реализации средств защиты в рамках традиционных ОС. В упрощенной трактовке этот тезис выглядит следующим образом: "Если невозможно создать верифицируемую систему защиты для произвольной ОС, то необходимо создать специальную ОС (а может и специальную ЭВМ), средства защиты которой допускали бы формальную верификацию".
Создатели ядра безопасности обеспечивают выполнение требований к диспетчеру доступа за счет специфической структуры ОС и самого ядра, применения специальных методов и технологии разработки, а также при определенной архитектурной поддержке, реализуемой в аппаратных средствах ЭВМ. Стремление к снижению объема и внутренней логической сложности ядра продиктовано необходимостью выполнения требований верифицируемости.
Той же цели служит специальная технология разработки программ ядра и некоторых других компонентов ОС (использование средств формальной спецификации программ и автоматизированной проверки их корректности, применение специфических приемов программирования и специальных компиляторов и т. п.). Выполнению требования защищенности собственных механизмов СРД способствует использование специальной аппаратной поддержки и включение в состав контролируемых ядром объектов важнейших управляющих структур самой ОС. Последняя мера направлена на предотвращение возможности несанкционированного перехода пользовательских процессов в привилегированное состояние (или, как говорят, "прокола" ОС). Для традиционных универсальных ОС именно задача доказательства отсутствия таких проколов является одной из наиболее трудноразрешимых (требование полноты контроля).
К аппаратным средствам поддержки защиты и изоляции ядра безопасности относятся:
– многоуровневые, привилегированные режимы выполнения команд (с числом уровней больше двух);
– использование ключей защиты и сегментирование памяти; – реализация механизма виртуальной памяти с разделением адресных пространств;
– аппаратная реализация функций ОС; – хранение и распространение программ в ПЗУ; – использование новых архитектур ЭВМ (с отходом от фоннеймановской архитектуры в сторону повышения структурной сложности базовых машинных объектов – архитектуры с реализацией абстрактных типов данных, теговые архитектуры с привилегиями и т. п.).
Хорошей идеей структурной организации программных средств, Ориентированной на изоляцию управляющих механизмов и структур ОС, явилась концепция "виртуальной машины", нашедшая широкое применение в практике создания безопасных вычислительных систем.
Однако, несмотря на значительные усилия и средства, вложенные и исследования и разработку программных и аппаратных средств многоуровневой защиты, на сегодняшний день многие ведущие специалисты приходят к выводу, что существующими методами задача создания безопасной ЭВМ с операционной системой универсального применения не будет решена в ближайшее десятилетие.
В начале 80-х годов в США – появились первые специализированные ЭВМ, аттестованные Национальным центром безопасности ЭВМ, как гарантированно защищенные, что в классификации центра соответствует щенке А1. Широкую известность, в частности, приобрела система SCOMP фирмы "Honeywell", предназначенная для использования в центрах коммутации вычислительных сетей, обрабатывающих секретную «формацию. Хотя эта система разработана на базе концепции ядра безопасности, ее создателям удалось обеспечить необходимые характеристики производительности благодаря существенному ограничению функциональных возможностей данной специализированной ОС.