Слайд 1ТЕОРЕТИЧЕСКИЕ ОСНОВЫ КОМПЬЮТЕРНОЙ БЕЗОПАСНОСТИ
Лекция 12.
Модели изолированной программной среды. Субъектно-ориентированная модель изолированной
программной среды.
Слайд 21. Основные понятия
Модели, ориентированные на реализацию политики безопас-ности, часто не учитывают
возможность субъектов по измене-нию конфигурации или параметров функционирования КС, ко-торые могут привести к изменению ее свойств. В результате таких преобразований возможна неприменимость той или иной модели к описанию отношений «субъект-объект».
Рассмотрим субъектно-ориентрованную модель изолирован-ной программной среды (ИПС), в которой основное внимание уделяется определению порядка безопасного взаимодей-ствия субъектов системы, описанию и обоснованию необходи-мых условий реализации в системе ИПС. Данная модель основана на дискреционном управлении доступом.
Слайд 3
Объект o в момент времени t ассоциирован с субъектом s, если
состояние объекта o повлияло на состояние субъекта s в следую-щий момент времени t+1 (т.е. s использует информацию, содержа-щуюся в o).
В общем случае, субъект реализует отображение мн-ва ассоцииро-ванных объектов в момент времени t на мн-во ассоциированных объектов в момент t+1. В связи с этим выделим функционально ассоциированные объекты и ассоциированные объекты-данные.
Функционально ассоциированные объекты — объекты, измене-ние которых изменяет вид отображения ассоциированных объек-тов (например, объекты, содержащие код программы).
Ассоциированные объекты-данные — объекты, являющиеся ар-гументом операции, но не изменяющие вида отображения.
Далее под ассоциированными объектами будем понимать функционально ассоциированные объекты.
Слайд 4Определим механизм порождения новых субъектов.
Объект o называется источником для субъекта s',
если найдется субъект s, в результате воздействия которого на o в системе возни-кает s'. Субъект s в таком случае называется активизирующим для s', а s' — порожденным субъектом.
Введем обозначения:
[s]t - мн-во объектов, ассоциированных с s в момент времени t;
Stream(s,o)→o' — поток информации от объекта o к объекту o';
Create(s,o)→s' — операция порождения субъектов.
В момент порождения субъекта s' из o, o ассоциирован с s'.
Информационный поток рассматривается только между объектами.
Операция Stream может создавать и уничтожать объекты.
Если существуют потоки Stream(s,o)→o' и Stream(s',o')→o'', то существует и поток Stream((s,s'),o)→o''.
Слайд 5
Доступом субъекта s к объекту o будем называть порождение пото-ка информации
между некоторым объектом из [s]t и объектом o.
Пусть P — мн-во потоков для фиксированной декомпозиции КС во все моменты времени. Выделим подмн-ва N и L: N∪L=P, N∩P=∅.
N — характеризует несанкционированный доступ;
L — характеризует легальный доступ.
Правилами разграничения доступов субъектов к объектам назовем формально описанные потоки, принадлежащие L.
В предлагаемой модели не производится уточнений известных мо-делей политик безопасности, но формулируются условия корректно-го существования элементов КС, обеспечивающих реализацию той или иной политики безопасности.
Сама политика безопасности же определяет разбиение P на N и L.
Таким образом, ИПС инвариантна любой политике безопасности.
Слайд 6Объекты o и o' называются тождественными в момент времени t, если
их содержимое совпадает (т. е. они имеют одинаковую запись в некотором языке).
Субъекты s и s' называются тождественными в момент времени t, если попарно тождественны все ассоциированные с ними объекты.
Замечание. Порожденные субъекты тождественны, если тождест-венны порождающие субъекты и объекты-источники.
Для того, чтобы разделять потоки из N и L, необходим специаль-ный выделенный субъект.
Слайд 72. Монитор безопасности объектов.
Монитор обращений (МО) — субъект, активизирующися при воз-никновении
потока от любого субъекта к любому объекту.
МО бывают двух видов:
- индикаторный (устанавливающий только факт обращения);
- содержательный (при возникновении Stream(s,o)→o' и обратно су-ществует ассоциированный с МО объект o0, тождественный o или одному из [s]t).
Содержательный МО полностью участвует в потоке.
Монитор безопасности объектов (МБО)—МО, который разрешает поток, принадлежащий L и запрещает остальные.
МБО также называется монитором ссылок.
МБО является механизмом реализации политики безопасности в КС.
Слайд 83. Монитор безопасности субъектов.
При изменении ассоциированных с МБО объектов могут измениться
св-ва самого МБО и в результате возникнуть запрещенные потоки.
Например, субъект s создает субъекта s', через которого реализует запрещенный поток из o в o' (Stream(o,s')→o' вместо Stream(o,s)→o')
Субъекты s и s' называются невлияющими друг на друга (коррект-ными), если в любой момент времени t отсутствует поток между объектами o∈[s]t и o'∈[s']t.
Смысл корректности: существующие в одном пространстве ОС программы не должны иметь возможности изменения «чужого» вектора кода и состояния переменных.
Субъекты s и s' называются абсолютно невлияющими друг на друга (абсолютно корректными), если в любой момент времени t [s]t∩[s']t=∅.
Слайд 9Теорема (достаточное условие гарантированного выполнения политики безопасности в КС) №1.
МБО разрешает
порождение потоков только из L, если все сущест-вующие в системе субъекты абсолютно корректны относительно него и друг друга.
■
Данная теорема, однако, задает слишком строгое и трудноосущест-вимое условие.
Монитор порождения субъектов (МПС) — субъект, активизирую-щийся при любом порождении субъектов.
Монитор безопасности субъектов (МБС) — субъект, который раз-решает порождение субъектов только для фиксированного подмно-жества пар активизирующих субъектов и объектов-источников.
Воздействие МБС выделяет подмн-во разрешенных субъектов E⊂S.
Слайд 10КС называется замкнутой по порождению субъектов (имеет зам-кнутую программную среду), если
в ней действует МБС, разрешаю-щий порождение только фиксированного конечного подмн-ва субъ-ектов, для любых объектов-источников, рассматриваемых для фик-сированной декомпозиции КС на субъекты и объекты.
Мн-во субъектов программной среды называется изолированным (абсолютно изолированным), если в ней действует МБС, и субъ-екты из порождаемого мн-ва корректны (абсолютно корректны) относительно друг друга и МБС.
Замечание.
Любое подмн-во субъектов изолированной (ИПС) (абсолютно изолированной (АИПС)) программной среды вместе с МБС также составляет ИПС (АИПС).
Замечание.
Дополнение ИПС (АИПС) субъектом, корректным (абс. корректным) относительно любого числа субъектов, входящих в ИПС (АИПС), ос-тавляет ее изолированной (абсолютно изолированной).
Слайд 11
Теорема (достаточное условие гарантированного выполнения политики безопасности в КС) №2.
Если в
АИПС существует МБО, и порождаемые субъекты абсолютно корректны с МБО, МБС и другими субъектами, а МБС абсолютно корректен с МБО, то МБО разрешает выполнение только потоков из L.
■
Данная теорема дает более конструктивные условия безопасности.
В КС, очевидно, необходим механизм проверки абсолютной корректности субъектов.
Слайд 124. Изолированная программная
среда (ИПС).
В реальных КС одинаково поименованные объекты в
различные моменты времени могут иметь различное размещение.
Размещение объекта o в момент времени t обозначим o[t].
Операция порождения субъекта Create(s,o)→s' называется порож-дением с контролем неизменности объекта-источника, если ∀t>t0 порождение s' возможно только при o[t0]=o[t].
Замечание.
В условиях определения, порожденные субъекты s'[t1] и s'[t2] тож-дественны, если t1,t2>t0. При t1=t2 порождается один и тот же субъ-ект.
Слайд 13Теорема (базовая теорема ИПС)
Если с момента времени t0 в ИПС (АИПС)
действует только порож-дение субъектов с контролем неизменности неизменности объекта, и все субъекты корректны (абсолютно корректны) относительно друг друга, то ∀t>t0 программная среда также ИПС (АИПС).
■
На основании приведенных выше теорем можно сформулировать методологию проектирования гарантированно защищенных КС.
Рассмотренная концепция ИПС является расширением классичес-кого подхода к реализации ядра безопасности, когда потоки разделены на потоки «по белому списку» и «по черному списку», и реализуются через объект управления (ОУ). ОУ разрешает первые и запрещает вторые.
Слайд 14В модели ИПС порождение потоков усложнено введением ассоции-рованных объектов. ОУ содержит
информацию о разрешенных зна-чениях отображений Stream() и Create(). ОУ может быть ассоцииро-ван как с МБО, так и с МБС.
Опираясь на базовую теорему ИПС, опишем метод субъектно-объ-ектного взаимодействия в рамках ИПС. Согласно теореме, нужно:
1. Убедиться в попарной корректности субъектов, замыкаемых в ИПС (или их корректности с МБО и МБС).
2. Спроектировать и реализовать МБС так, чтобы:
а) для всех субъектов и объектов производился контроль порождения субъектов;
б) порождение любого субъекта происходило с контролем неизменности объекта-источника.
3. Реализовать МБО в рамках сформулированной политики без-ти.
Слайд 15Обратим внимание на следующее: ОУМБС - ассоциированный объект МБС - играет
решающую роль в проектировании ИПС. При измене-нии этого объекта потенциально возможно “размыкание” среды, т. е. Добавление субъектов, реализующих функцию нарушителя.
Поэтому возможность изменения объекта управления должна су-ществовать только для выделенных субъектов, и должны присут-ствовать условия активизации таких субъектов.
Распространен случай, когда одни субъекты КС активизируют дру-гих, те, в свою очередь, активизируют третьих (пользователь активи-зирует приложения, которые активизируют другие приложения и функции). В этом случае можно говорить о рекурсивной структуре объектов некоторого уровня, вмещающей объекты предыдущего уровня. С учетом иерархической структуры представления объектов можно сказать, что в начальные моменты активизации КС декомпо-зиция на субъекты и объекты динамически изменяется.
Поэтому основная теорема ИПС может быть применима только на отдельных интервалах времени, когда уровень представления объ-ектов постоянен и декомпозиция фиксирована.
Слайд 16 Пусть в КС выделяется конечное число уровней представления объектов и
R — максимальный из них.
Имеет смысл говорить о некотором “стационарном” состоянии КС, когда в отображениях Stream и Create участвуют только объекты уровня R. Тогда реализация МБС упрощается в том смысле, что все аргументы-объекты операции Create имеют уровень R.
Практическая реализация всех КС позволяет выделить две фазы: активизация субъектов с ростом уровня представления объектов (фаза загрузки, начальная фаза) и стационарное состояние, когда уровень представления объектов не увеличивается (стационарная фаза).
Тогда реализация ИПС может состоять из 2-х этапов:
1. Предопределенное выполнение начальной фазы, в т.ч. Момент активизации МБО и МБС.
2. Работа в стационарном режиме ИПС с контролем неизменности объектов-источников.