- •Тема 7. Математические модели анализа политики безопасности информации
- •Москва – 2010
- •Введение
- •1. Основные понятия и определения политики безопасности информации.
- •1.1. Понятие политики безопасности
- •1.2. Понятия доступа и монитора безопасности
- •1.3. Понятие ядра безопасности.
- •2. Математические модели анализа дискреционной политики безопасности информации
- •2.1. Модель матрицы доступов Харрисона-Руззо-Ульмана
- •Рассмотрим вопросы безопасности системы.
- •2.2. Типизованная матрица доступов
- •2.3. Модель распространения прав доступа Take-Grant
- •2.4. Модель Харрисона-Руззо-Ульмана.
- •3. Математические модели мандатной политики управления доступом
- •3.1. Классическая модель системы безопасности Белла-ЛаПадула
- •3.2. Модель безопасности Мак-Лина (безопасная функция перехода)
- •С точки зрения модели уполномоченных субъектов система (vo,r, Ta) считается безопасной в том случае, если:
- •Модель совместного доступа
- •3.3. Модель совместного доступа с уполномоченными объектами
- •3.4. Решетка мандатных моделей безопасности
- •3.5. Применение мандатных моделей безопасности.
2.2. Типизованная матрица доступов
Другая дискреционная модель, получившая название "Типизованная матрица доступа" (Type Access Matrix — далее ТАМ), представляет собой развитие модели Харрисона-Руззо-Ульмана, дополненной концепцией типов, что позволяет несколько смягчить те условия, для которых возможно доказательство безопасности системы.
Формальное описание модели ТАМ включает следующие элементы:
1.конечный набор прав доступа R = {r1 ,... ri};
2.конечный набор типов Т = {t1, ..., tg};
3.конечные наборы исходных субъектов S0 ={si, ..., sn} и объектов
O0 ={oi, ..., оm}, где S0 Оо;
4.матрица М, содержащая права доступа субъектов к объектам, и ее начальное
состояние М 0;
5.конечный набор команд С = {i(x1,., xk)}, включающий условия выполнения команд и их интерпретацию в терминах элементарных операций
Тогда состояние системы описывается четверкой Q = (S, О, t, М), где S, О, и М обозначают соответственно множество субъектов, объектов и матрицу доступа, a t: O Т - функция, ставящая в соответствие каждому объекту некоторый тип.
Состояние системы изменяется с помощью команд из множества С. Команды ТАМ имеют тот же формат, что и в модели Харрисона-Руззо-Ульмана, но всем параметрам приписывается определенный тип:
command (x1:t1, … ,xktk)
if r1 in M[xS1, x01] and (условия выполнения команды)
r2 in M[xS2, x02]
.
.
.
rm in M[xSm, x0m]
then
op1, op2 … opn (операции, составляющие команду)
Перед выполнением команды происходит проверка типов фактических параметров, и, если они не совпадают с указанными в определении, команда не выполняется.
Введение контроля типов для параметров команд фактически, приводит к неявному введению дополнительных условий, т. к. команды могут быть выполнены только при совпадении типов параметров. В модели ТАМ используются следующие шесть элементарных операций, отличающихся от аналогичных операций модели Харрисона-Руззо-Ульмана только использованием типизованных параметров:
-
Монотонные операции
Немонотонные операции
enter r into M[s, o]
delete r from M[s, o]
create subject s of type t
destroy subject s
create object o of type t
destroy object o
Смысл элементарных операций совпадает со смыслом аналогичных операций из классической модели Харрисона-Руззо-Ульмана с точностью до использования типов:
enter r into M[s, o] (где s S, o O)
O` = O
S` = S
t`(o) = t(o) для всех o O
M`[xs, xo] = M[xs, xo], если (xs, xo) (s, o)
M`[s, o] = M[s, o] {r}
delete r from M[s, o] (где s S, o O)
O` = O
S` = S
t`(o) = t(o) для всех o O
M`[xs, xo] = M[xs, xo], если (xs, xo) (s, o)
M`[s, o] = M[s, o] \ {r}
create subject s of type ts (где s S)
O` = O {s}
S` = S {s}
t`(o) = t(o) для всех o O
t`(s) = ts
M`[xs, xo] = M[xs, xo] для всех (xs, xo) S O
M`[s, xo] = для всех xo O`
M`[s, xs] = для всех xs S`
destroy subject s (где s S)
O` = O \{s}
S` = S \ {s}
t`(o) = t(o) для всех o O`
t`(s) = не определено
M[xs, xo]` = M[xs, xo] для всех (xs, xo) S` O`
create object o of type to (где o O)
O` = O {o}
S` = S
t`(o) = t(o) для всех o O
t`(o) = to
M`[xs, xo] = M[xs, xo] для всех (xs, xo) S O
M`[xs, xo] = для всех xs S`
Destroy object o (где o O\S)
O` = O\{o}
S` = S
t`(xo) = t(xo) для всех xo O`
t`(o) = не определено
M`[xs, xo] = M[xs, xo] для всех (xs, xo) S` O`
Таким образом, ТАМ является обобщением модели Харрисона-Руззо-Ульмана, которую можно рассматривать как частный случай ТАМ с одним единственным типом, к которому относятся все объекты и субъекты. Появление в каждой команде дополнительных неявных условий, ограничивающих область применения команды только сущностями соответствующих типов, позволяет несколько смягчить жесткие условия классической модели, при которых критерий безопасности является разрешимым.
Харрисон, Руззо и Ульман показали, что критерий безопасности дискреционной модели может быть доказан для систем, в которых все команды i(xi,., xk) являются одноусловными и монотонными. Строгий контроль соответствия типов позволяет смягчить требование одноусловности, заменив его ограничением на типы параметров команд, при выполнении которых происходит создание новых сущностей.
Для того чтобы сформулировать это ограничение определим отношения между типами.
Пусть (x1:t1,x2:t2, ..., xk:t) - некоторая команда ТАМ.
Будем говорить, что t, является дочерним типом в , если в теле имеет место одна из следующих элементарных операций: create subject х, of type t, или create object x, of type t,.
В противном случае будем говорить, что t, является родительским типом в .
Заметим, что в одной команде тип может быть одновременно и родительским, и дочерним, например:
command foo(s1: u, s2: u, s3: w, о : b)
create subject s2 of type u;
create subject s3 of type v;
end
Здесь u является родительским типом относительно s1 и дочерним типом относительно s2. Кроме того, w и b являются родительскими типами, а V - дочерним типом.
Тогда можно описать взаимосвязи связи между различными типами с помощью графа, определяющего отношение "наследственности" между типами, устанавливаемые через операции порождения сущностей (объектов и субъектов). Такой граф называется графом создания и представляет собой направленный граф с множеством вершин Т, в котором ребро от u к v существует тогда и только тогда, когда в системе имеется создающая команда, в которой u является родительским типом, а v -дочерним типом. Этот граф для каждого типа позволяет определить:
1) сущности каких типов должны существовать в системе, чтобы в ней мог появиться объект или субъект заданного типа;
2) сущности каких типов могут быть порождены при участии сущностей заданного типа.
Модель монотонной типизированной матрицы доступа (МТАМ) идентична ТАМ за исключением того, что в ней отсутствуют немонотонные элементарные операции delete, destroy subject и destroy object.
Реализация МТАМ, состоящая из множеств объектов, субъектов, типов, матрицы прав доступа и множества команд, называется ациклической тогда и только тогда, когда ее граф создания не содержит циклов, в противном случае говорят, что реализация циклическая. Например, граф создания для приведенной выше команды foo, содержит следующие ребра: {(u, u), (u, v), (w, u), (w, v), (b, u), (b, v)}. Реализация МТАМ, содержащая эту команду, будет циклической, поскольку тип U является для нее одновременно и родительским и дочерним, что приводит к появлению на графе цикла (u, u).
Доказано, что критерий безопасности, предложенный Харрисоном, Руззо и Ульманом, разрешим для ациклических реализаций МТАМ, и что требование одноусловности команд можно заменить требованием ацикличности графа создания.
Смысл этой замены состоит в том, что последовательность состояний системы должна следовать некоторому маршруту на графе создания, поскольку невозможно появление сущностей дочерних типов, если в системе отсутствуют сущности родительских типов, которые должны участвовать в их создании. Отсутствие циклов на графе создания позволяет избежать зацикливания при доказательстве критерия безопасности, т. к. количество путей на графе без циклов является ограниченным.
Это означает, что поведение системы становится предсказуемым, поскольку в любом состоянии можно определить сущности каких типов могут появиться в системе, а каких — нет. Но, к сожалению, доказано, что в общем случае сложность проверки критерия безопасности для МТАМ является NP-трудной задачей, т. е. с ростом размерности задачи (количества объектов и субъектов) время на ее решение растет в степенной зависимости от ее размерности. Этот недостаток может быть преодолен с помощью тернарной ТАМ, в которой команды могут иметь не более трех параметров. Тернарная МТАМ является монотонной версией тернарной ТАМ. Для тернарной МТАМ доказательство безопасности радикально упрощается, поскольку при проверке условной части команды всегда используется только небольшой фрагмент матрицы доступа. Тернарная МТАМ по своим выразительным способностям эквивалентна МТАМ, но несмотря на это, доказано, что безопасность ее ациклической реализации разрешима за время, зависящее от размера начальной матрицы доступа полиномиально.
Следовательно введение строгого контроля типов в дискреционную модель Харрисона-Руззо-Ульмана позволило доказать критерий безопасности систем для более приемлемых ограничений, что существенно расширило область ее применения.