Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТОКБ-Лекционный курс.doc
Скачиваний:
69
Добавлен:
09.12.2018
Размер:
1.96 Mб
Скачать

Контрольные вопросы

  1. В модели мандатного ролевого управления доступом является ли решеткой иерархия ролей, соответствующая требованиям либерального или строгого мандатного управления доступом?

  2. Либеральное или строгое мандатное управление доступом модели рассматривается в классической модели Белла-ЛаПадулы?

  3. Каким образом в определениях либерального или строгого мандатного управления доступом модели ролевого управления доступом реализовано ss-свойство классической модели Белла-ЛаПадулы?

  4. Каким образом в определениях либерального или строгого мандатного управления доступом модели ролевого управления доступом реализовано *-свойство классической модели Белла-ЛаПадулы?

  5. Построить графы иерархии ролей для модели мандатного ролевого управления доступом для решеток уровней конфиденциальности (L, ) = {LS, MS, HS} и уровней целостности (LI, ) = {LI, MI, HI}.

Лекция 11. Субъектно-ориентированная модель изолированной программной среды

Как правило, модели, ориентированные на реализацию политики безопасности, не учитывают возможности субъектов по изменению конфигурации или параметров функционирования КС, которые могут привести к изменению ее свойств и, как предельный случай, к полной неприменимости той или иной модели к описанию отношений «субъект-объект» в измененной системе.

Рассмотрим на основе субъектно-ориентированную модель ИПС, в которой основное внимание уделяется определению порядка безопасного взаимодействия субъектов системы, описанию и обоснованию необходимых условий реализации в системе ИПС. Данная модель основана на дискреционном управлении доступом.

Определение 11.1. Объект o в момент времени t ассоциирован с субъектом s, если состояние объекта o повлияло на состояние субъекта s в следующий момент времени t + 1 (т.е. субъект s использует информацию, содержащуюся в объекте o).

Субъект в общем случае реализует некоторое отображение множества ассоциированных объектов в момент времени t на множество ассоциированных объектов в момент времени t + 1. В связи с этим можно выделить ассоциированные объекты, изменение которых изменяет вид отображения ассоциированных объектов (объекты, содержащие, как правило, код программы)  функционально ассоциированные, и ассоциированные объекты-данные (являющиеся аргументом операции, но не изменяющие вида отображения). Далее под ассоциированными объектами понимаются функционально ассоциированные объекты, в иных случаях делаются уточнения.

Определение 11.2. Объект o называется источником для субъекта s’, если существует субъект s, в результате воздействия которого на объект o в системе возникает субъект s’. Субъект s, порождающий новый субъект из объекта o, в свою очередь называется активизирующим субъектом для субъекта s’, которого назовем порожденным субъектом.

Используем обозначения:

[s]t  множество объектов, ассоциированных с субъектом s в момент времени t;

Stream(s, o)  o  поток информации от объекта o к объекту o’;

Create(s, o)  s  операция порождения субъектов (из объекта o порожден субъект s при активизирующем воздействии субъекта s).

Очевидно, что операция порождения субъектов зависит как от свойств активизирующего субъекта, так и от содержания объекта-источника.

В момент порождения субъекта s из объекта o он является ассоциированным объектом для субъекта s’.

В определении подчеркнуто, что поток информации рассматривается не между субъектом и объектом, а между объектами, например, объектом и ассоциированными объектами субъекта (либо между двумя объектами). Активная роль субъекта выражается в реализации данного потока (это означает, что операция порождения потока локализована в субъекте и отображается состоянием его функционально ассоциированных объектов). Отметим, что операция Stream может создавать новый объект или уничтожать его.

Отношение «между объектами существует информационный поток» является транзитивным (относительно пары субъектов), т.е., если существует Stream(s, o)  o и существует Stream(s’, o’)  o’’, то существует и Stream((s, s’), o)  o’’.

Выделим все множество информационных потоков Pf и в соответствии с априорно заданной политикой безопасности разобьем его на два непересекающихся подмножества Nf и Lf, где Pf = Nf Lf, Nf Lf = , Nf  подмножество запрещенных информационных потоков, характеризующее несанкционированный доступ, Lf  подмножество информационных потоков, характеризующих легальный доступ.

В рассматриваемой субъектно-ориентированной модели не производится уточнений известных моделей политик безопасности, но формулируются условия корректного существования элементов КС, обеспечивающих реализацию той или иной политики безопасности. Поскольку критерий разбиения на множества Nf и Lf не связан со следующими далее утверждениями (постулируется лишь наличие субъекта, реализующего фильтрацию потоков), то можно говорить об инвариантности субъектно-ориентированной модели относительно любой принятой в КС политики безопасности (не противоречащей условиям утверждений).

Для разделения всего множества потоков в КС на подмножества Nf и Lf необходимо существование активной компоненты (субъекта), который:

  • активизировался бы при возникновении любого потока;

  • производил бы фильтрацию потоков в соответствии с принадлежностью к множествам Nf или Lf.

Определение 11.3. Монитор обращений (МО)  субъект, активизирующийся при возникновении любого информационного потока между объектами КС.

Теперь сформулируем понятие монитора безопасности (в литературе также применяется понятие монитора ссылок). Это понятие связано с упоминаемой выше задачей фильтрации потоков. Поскольку целью является обеспечение безопасности КС, то и целевая функция монитора  фильтрация с целью обеспечения безопасности.

Определение 11.4. Монитор безопасности объектов (МБО)  МО, который разрешает потоки, принадлежащие только множеству легального доступа Lf. Разрешение потока в данном случае понимается как выполнение операции над объектом-получателем потока, а запрещение  как невыполнение (т.е. неизменность объекта-получателя потока).

Монитор безопасности объектов фактически является механизмом реализации политики безопасности в КС.

Представляется очевидным, что при изменении функционально ассоциированных с МБО объектов могут измениться и свойства самого МБО, заключающиеся в фильтрации потоков, и, как следствие, могут возникнуть потоки, принадлежащие множеству Nf (рис. 11.1).

Введем в связи с этим понятие корректности субъектов.

Определение 11.5. Субъекты s и s называются корректными относительно друг друга, если в любой момент времени отсутствует поток (изменяющий состояние объекта) между любыми объектами o и o ассоциированными, соответственно, с субъектами s и s’. Таким образом, выполняется условие:

для t  0, o  [s]t, o’  [s’]t не существует субъекта s’’ такого, что или Stream(s’’, o)  o’, или Stream(s’’, o’)  o.

Смысл понятия корректности можно пояснить на примере: существующие в едином пространстве ОС программы не должны иметь функциональных возможностей изменения «чужого» вектора кода и состояния переменных.

Определение 11.6. Субъекты s и s называются абсолютно корректными относительно друг друга, если множества ассоциированных объектов указанных субъектов не имеют пересечения. Таким образом, выполняется условие:

для t  0, [s]t  [s’]t = .

Абсолютная корректность легко достижима в случае виртуального адресного пространства.

Определение 11.7. Монитор порождения субъектов (МПС)  субъект, активизирующийся при любом порождении субъектов.

По аналогии с переходом от МО к МБО введем понятие монитора безопасности субъектов.

Определение 11.8. Монитор безопасности субъектов (МБС)  МПС, который разрешает порождение субъектов только для фиксированного множества пар активизирующих субъектов и объектов-источников.

Определение 11.9. КС называется замкнутой по порождению субъектов (обладает замкнутой программной средой), если в ней действует МБС.

Воздействие МБС выделяет во всем множестве субъектов КС подмножество разрешенных субъектов.

Замкнутости КС по порождению субъектов недостаточно для описания свойств системы в части защищенности, поскольку необходимо обеспечить корректность порождаемых МБС субъектов относительно его самого и МБО. Механизм замкнутой программной среды сокращает множество возможных субъектов до некоторого множества фиксированной мощности, но при этом допускает существование некорректных субъектов, включенных в замкнутую среду.

Сформулируем определение ИПС.

Определение 11.10. Программная среда называется изолированной (абсолютно изолированной), если она является замкнутой по порождению субъектов (в ней действует МБС) и субъекты из порождаемого множества корректны (абсолютно корректны) относительно друг друга, МБС и МБО.

Любое подмножество субъектов ИПС, включающее МБС, также составляет ИПС. Дополнение ИПС (абсолютной ИПС) субъектом, корректным (абсолютно корректным) относительно любого из числа входящих в ИПС (абсолютную ИПС), оставляет ее изолированной (абсолютно изолированной).

Лемма 11.1. МБО в абсолютной ИПС разрешает порождение потоков только из множества Lf.

Доказательство. Из определения абсолютной ИПС следует возможность существования в программной среде только конечного множества субъектов, которые в свою очередь корректны относительно МБС и МБО. Следовательно ассоциированные объекты МБО могут изменяться только самим МБО, и в КС реализуются только потоки, принадлежащие множеству Lf. Лемма доказана. ■

При рассмотрении операции порождения субъекта возникает важная задача, связанная с тем, что в реальных КС одинаково поименованные объекты в различные моменты времени могут иметь различное размещение (например, размещение в разных каталогах).

Определение 11.11. Объекты o и o тождественны в момент времени t, если они совпадают как слова, записанные в одном языке.

Определение 11.12. Субъекты s и s тождественны в момент времени t, если попарно тождественны все ассоциированные с ними объекты.

Порожденные субъекты тождественны, если тождественны порождающие субъекты и объекты-источники. Верность данного замечания следует из тождества функционально ассоциированных объектов в порождающих субъектах, которые отвечают за порождение нового субъекта, а также из тождества аргументов (ассоциированных объектов-данных), которые соответствуют объектам-источникам.

Предположим, что зафиксировано состояние объекта o в некоторый момент времени t0. Будем обозначать состояние объекта o в момент времени t как o[t].

Определение 11.13 Операция порождения субъекта Create(s, o)  s называется порождением с контролем неизменности объекта-источника, если для любого момента времени t > t0, в который активизирована операция порождения объекта Create, порождение субъекта s возможно только при тождественности объектов o[t0] и o[t].

В условиях определения 5.13 порожденные субъекты s’[t1] и s’[t2] тождественны, если t1 > t0 и t2 > t0. При t1 = t2 порождается один и тот же субъект.

Лемма 11.2 (базовая теорема ИПС). Если с момента времени t0 в абсолютной ИПС действует только порождение субъектов с контролем неизменности объекта-источника, и все порождаемые субъекты абсолютно корректны относительно друг друга и существующих субъектов (в том числе, МБО и МБС), то в любой момент времени t > t0 программная среда также остается абсолютной ИПС.

Доказательство. По условию теоремы в программной среде возможно существование потоков, изменяющих состояние объектов, не ассоциированных в этот момент времени с каким-либо субъектом. Если объект с измененным состоянием не является источником для порождения субъекта, то множество субъектов ИПС нерасширяемо, в противном случае (измененный объект является источником для порождения субъекта) по условиям теоремы (порождение субъекта с контролем) порождение субъекта невозможно. Следовательно, мощность множества субъектов не может превышать той, которая была зафиксирована до изменения состояния любого объекта. Таким образом, в любой момент времени t > t0 программная среда остается абсолютной ИПС. Лемма доказана. ■

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

Рассмотренная концепция ИПС является расширением классического подхода к реализации ядра безопасности. Обычно модель функционирования ядра безопасности изображается в виде следующей схемы (рис. 11.2). Объект управления (ОУ) содержит в себе информацию о разрешенных или запрещенных информационных потоках.

Для учета влияния субъектов в КС на систему защиты целесообразно рассматривать расширенную схему взаимодействия элементов системы. При этом должна быть особо подчеркнута роль МБС при порождении субъектов из объектов (рис. 11.3).

Взаимодействие субъектов и объектов при порождении потоков уточнено введением ассоциированных с субъектом объектов. ОУМБО содержит информацию о разрешенных значениях отображения Stream (об элементах множества Lf или Nf) и ассоциирован (ассоциированный объект-данные) с МБО, и ОУМБС  содержит информацию о значениях отображения Create (элементы множества разрешенных объектов-источников) и ассоциирован с МБС.

Опираясь на лемму 11.2, опишем метод субъектно-объектного взаимодействия в рамках ИПС для наиболее распространенной архитектуры КС. Для создания гарантированно защищенной КС (в смысле выполнения заданной политики безопасности) достаточно:

  1. Убедиться в попарной корректности субъектов, замыкаемых в ИПС, и убедиться в корректности любого субъекта относительно МБО и МБС.

  2. Спроектировать и реализовать программно или программно-аппаратно МБС так, чтобы:

  • для любого субъекта и любого объекта производился контроль порождения субъектов, т.е., чтобы реализация МБС соответствовала его определению;

  • порождение любого субъекта происходило с контролем неизменности объекта-источника.

  1. Реализовать МБО в рамках априорно сформулированной политики безопасности.

Необходимо обратить внимание на следующее. ОУМБС, который является ассоциированным объектом МБС, играет решающую роль в проектировании ИПС. При возможности изменения состояния ОУМБС потенциально возможно «размыкание» программной среды, т.е. добавление к множеству разрешенных субъектов дополнительных, реализующих функции нарушителя. С другой стороны, процесс управления безопасностью подразумевает возможность изменения объекта управления. Возможность изменения объекта управления (реализация потока Stream(субъект управления, ассоциированный объект субъекта управления)  ОУМБС) должна присутствовать для выделенных субъектов (возможно с дополнительным условием активизации этого субъекта выделенным пользователем или пользователями).

Важную роль при проектировании ИПС играет свойство большинства КС, заключающееся в поэтапной активизации субъектов из объектов различного уровня представления информации.

В общем случае можно говорить о рекурсивной структуре объектов некоторого уровня, вмещающей объекты предыдущего уровня. С учетом иерархической структуры представления объектов можно говорить о том, что в начальные этапы активизации КС декомпозиция на субъекты и объекты динамически изменяется. Следовательно, основная теорема ИПС может быть применима только на отдельных интервалах времени, когда уровень представления объектов постоянен и декомпозиция фиксирована. Можно утверждать, что ИПС, действующую от момента активизации до момента окончания работы КС, невозможно сформировать в начальный момент активизации.

Пусть в КС выделяется конечное число уровней представления объектов, и R  максимальный уровень представления объекта.

С точки зрения выполнения условий леммы 11.2 имело бы смысл говорить о некотором «стационарном» состоянии КС, когда в отображениях Stream и Create участвуют только объекты уровня R. Тогда реализация МБС может быть значительно упрощена (в том смысле, что все аргументы-объекты операции Create имеют уровень R).

Практическая реализация всех КС позволяет выделить две фазы их работы: активизация субъектов с ростом уровня представления объектов (фаза загрузки или начальная фаза) и фаза стационарного состояния (когда уровень представления объектов не увеличивается). Тогда реализация ИПС может состоять из двух этапов:

  1. Предопределенное выполнение начальной фазы, включающее в себя момент активизации МБС и МБО (ступенчатая загрузка).

  2. Работа в стационарной фазе в режиме ИПС с контролем неизменности объектов-источников.