Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Теоретические основы защиты информации. Учебное пособие
.pdf
4. "Создать" объект о'(create object о') – добавление в систему
нового объекта о'. При этом в матрицу доступов добавляется новый столбец.
5. "Уничтожить" субъекта s'(destroy subject s') – удаление из
системы субъекта s'. При этом из матрицы доступов удаляются соответствующие столбец и строка.
6. "Уничтожить" объект о'(destroy object о') – удаление из си-
стемы объекта о'. При этом из матрицы доступов удаляется соответствующий столбец.
В результате выполнения примитивного оператора α осуществляется переход системы из состояния Q = (S,O,M) в новое
состояние Q'= (S', О', М').
Из примитивных операторов могут составляться команды.
Каждая команда состоит из двух частей:
условия, при котором выполняется команда;
последовательности примитивных операторов.
Если в команде присутствует одна операция, то команда
называется монооперационной. Если в команде присутствует
одно условие, то команда называется моноусловной. Необходимо отметить, что условия в записи команды объединяются с использованием логического оператора «И». Это связано с тем,
что объединение условий команды с использованием логического оператора «ИЛИ» можно свести к использованию эквивалентных моноусловных команд.
Можно привести следующие примеры команд.
1. Команда создания файла. Пользователь р создает файл f и
получает на него права чтения, записи и владения.
command create file(p, f)
create object f;
enter own into a[p, f];
enter r into a[p, f];
enter w into a[p, f];
end
2. Команда создания процесса. Процесс р создает процесс q и
получает на него права чтения, записи и владения, передавая процессу q права записи и чтения по отношению к самому себе.
command exec_process(p, q)
91

create subject q;
enter own into a[p, q];
enter r into a[p, q];
enter w into a[p, q];
enter r into a[q, p];
enter w into a[q, p];
end
3. Команда передачи прав владения. Команда является моно-
операционной. В результате выполнения команды право владения
файлом f передается субъекту р.
command make_owner(p, f)
enter own into a[p, f];
end
4. Команда передачи права чтения на доступ к файлу. Команда
является моноусловной. В результате выполнения команды право
чтения файла f передается владельцем р субъекту q.
command grant_read (p, q, f)
if own in a[p, f];
then
enter r into a[q, f];
end
Безопасность системы
Для системы с начальной конфигурацией Q0 и права r можно
сказать, что система безопасна для r, если не существует последовательности запросов к системе в состоянии Q0, таких, что в результате них право r будет записано в ячейку, не содержащую ее.
Согласно требованиям большинства критериев оценки безопасности, системы защиты должны строиться на основе определенных математических моделей, с помощью которых должно
быть теоретически обосновано соответствие системы защиты требованиям заданной политики безопасности. Для решения поставленной задачи необходим алгоритм, осуществляющий данную
проверку. Однако, как показывают результаты анализа модели
HRU, задача построения алгоритма проверки безопасности систем,
реализующих дискреционную политику разграничения прав доступа, не может быть решена в общем случае.
92

Определение 6.1. Будем считать, что возможна утечка права
rR в результате выполнения команды с, если при переходе систе-
мы в состояние Q' выполняется примитивный оператор, вносящий
r в элемент матрицы доступов М, до этого r не содержавший.
Определение 6.2. Начальное состояние Q0 называется безопасным по отношению к некоторому праву r, если невозможен переход системы в такое состояние Q, в котором может возникнуть
утечка права r.
Определение 6.3. Система называется монооперационной, если
каждая команда выполняет один примитивный оператор.
Доказаны следующие теоремы.
Теорема 6.1. Существует алгоритм, который проверяет, явля-
ется ли исходное состояние монооперационной системы безопасным для данного права r.
Теорема 6.2. Задача проверки безопасности произвольных си-
стем алгоритмически неразрешима.
Приведенные выше теорема 6.1 и теорема 6.2 определяют два
пути выбора систем защиты. С одной стороны, общая модель HRU
может выражать большое разнообразие политик дискреционного
разграничения доступа, но при этом не существует алгоритма проверки их безопасности. С другой стороны, можно использовать
монооперационные системы, для которых алгоритм проверки безопасности существует, но данный класс систем является слишком
узким. Например, монооперационные системы не могут выразить
политику, дающую субъектам права на созданные ими объекты,
так как не существует одной операции, которая и создает объект, и
помечает его как принадлежащий создающему субъекту одновременно.
Дальнейшие исследования модели HRU велись в основном
в направлении определения условий, которым должна удовлетворять система, чтобы для нее задача проверки безопасности была
алгоритмически разрешима. Так, в 1976 г. было доказано, что эта
задача разрешима для систем, в которых нет операции "создать".
В 1978 г. показано, что таковыми могут быть системы монотонные
и моноусловные, т.е. не содержащие операторов "уничтожить" или
"удалить" и имеющие только команды, части условия которых
имеют не более одного предложения. В том же году показано, что
93

задача безопасности для систем с конечным множеством субъектов
разрешима, но вычислительно сложна.
Кроме того, были доказаны следующие теоремы.
Теорема 6.3. Множество систем, безопасность которых не
может быть оценена, является рекурсивно перечислимым.
Теорема 6.4. Существует алгоритм, определяющий безопас-
ность системы, описанной командами без операций create subject и
create object. Данный алгоритм имеет полиномиальную сложность.
Системы, описанные командами без операций delete и destroy,
называются монотонными (вследствие того что их размер и сложность только увеличиваются).
Теорема 6.5. Проблема определения безопасности в монотон-
ной системе является неразрешимой.
Более того, можно сформулировать следующую теорему: проблема определения безопасности в монотонной системе с командами, имеющими два условия, является неразрешимой.
Вместе с тем проблема определения безопасности в монотонной системе с моноусловными командами является разрешимой.
И наконец, проблема определения безопасности в системе с моноусловными командами с операциями create, enter и delete (но без
destroy) является разрешимой.
Таким образом, проблема определения безопасности в системе
общего вида является неразрешимой. Возникла проблема, приведшая к множеству исследований: «Какие самые слабые ограничения
можно наложить на описание модели системы, чтобы вопрос безопасности оставался разрешимым?»
6.3. Модель распространения прав доступа
TAKE-GRANT
Харрисон, Руззо и Ульман продемонстрировали, что основной
вопрос безопасности в произвольной системе является неразрешимым. Для того чтобы определить условия, при которых данный
вопрос разрешим, Джонс, Липтон и Шнайдер разработали модель
защиты, называемую Take-Grant, в которой вопрос безопасности не
только разрешим, но разрешим за время, линейное по отношению
к количеству объектов и прав.
94

Модель распространения прав доступа Take-Grant, предложенная в 1976 г., используется для анализа систем дискреционного
разграничения доступа, в первую очередь для анализа путей распространения прав доступа в таких системах. В качестве основных
элементов модели используются направленный граф, в котором
вершины есть субъекты или объекты и правила его преобразования. Цель модели - дать ответ на вопрос о возможности получения
прав доступа субъектом системы на объект в состоянии, описываемом графом доступов. В настоящее время модель Take-Grant получила продолжение как расширенная модель Take-Grant, в которой рассматриваются пути возникновения информационных потоков в системах с дискреционным разграничением доступа.
Перейдем к формальному описанию модели Take-Grant.
Обозначим:
О – множество объектов (например, файлов или сегментов памяти);
SО – множество активных объектов – субъектов (например,
пользователей или процессов);
R = {r1 ,r2,...,rm} { t, g} – множество прав доступа, где t(take) –
право брать права доступа, g(grant) – право давать права доступа;
G = (S,О,Е) – конечный помеченный ориентированный граф
без петель, представляющий текущие доступы в системе;
множества S, О соответствуют вершинам графа, которые обозначим: – объекты (элементы множества O\S); – субъекты
(элементы множества S);
элементы множества E xOxR представляют дуги графа, поме-
ченные непустыми подмножествами из множества прав доступа R.
Состояние системы описывается его графом доступов. Переход системы из состояния в состояние определяется операциями
или правилами преобразования графа доступов. Преобразование
графа G в граф G' в результате выполнения правила ор обозначим
через G
op
G'.
В классической модели Take-Grant правило преобразования
графа может быть одним из четырех, перечисленных ниже.
1. Правило "Брать" – take (α, х, у, z). Пусть xS, у, z О –
различные вершины графа G, βR, α β. Правило определяет порядок получения нового графа доступов G' из графа G (рис. 6.1)
95

take(a, x, y, z)
x y z
G
t
b
x y z
G
/
t
b
a
Рис. 6.1. Субъект х берет у объекта y права α β на объект z
grant(a, x, y, z)
xy z
G
g
b
z
G
/
g
b
a
xy
create(b, x, y)
x
G
x y
G
/
b
2. Правило "Давать" – grant(α, х, у, z). Пусть хS, у, zО –
различные вершины графа G, b R, α β. Правило определяет
порядок получения нового графа G' из графа G (рис.6.2).
Рис. 6.2. Субъект х дает объекту у права α β на объект z
3. Правило "Создать" – create(β, х, у). Пусть xS, β R, β .
Правило определяет порядок получения нового графа G' из графа
G; уО – новый объект или субъект (рис. 6.3).
Рис. 6.3. Субъект х создает новый β-доступный объект у
4. Правило "Удалить" – remove(α, х, у). Пусть xS, yО –
различные вершины графа G. β R, α β. Правило определяет порядок получения нового графа G' из графа G (рис. 6.4).
96

G
x y
G
/
b
remove(a, x, y)
x y
b\a
Рис. 6.4. Субъект х удаляет права доступа α на объект у
Перечисленные правила "Брать", "Давать", "Создать", "Уда-
лить" для отличия от правил расширенной модели Take-Grant будем называть де-юре правилами.
В модели Take-Grant основное внимание уделяется определе-
нию условий, при которых в системе возможно распространение
прав доступа определенным способом. В дальнейшем рассмотрим
условия реализации:
– способа санкционированного получения прав доступа;
– способа похищения прав доступа.
Контрольные вопросы
1. Поясните сущность матрицы доступа. Составьте матрицу
доступа для информационной системы «Классный журнал», в качестве субъектов доступа выберите учителей, учеников, родителей.
2. В каких случаях используется модель доступа Харрисона,
Руззо и Ульмана? В чем ее суть?
3. Приведите формальное описание модели доступа Харрисона, Руззо и Ульмана.
4. Какие примитивные операторы используются в модели доступа Харрисона, Руззо и Ульмана?
5. Из каких элементов состоит команда в модели доступа Харрисона, Руззо и Ульмана? Приведите примеры команд.
6. Разрешима ли задача безопасности для модели HRU?
7. Чему уделяется основное внимание в модели Take-Grant?
8. Приведите примеры команды создания файла с использованием примитивных операторов модели HRU.
9. Каким образом выбираются системы защиты с использованием модели HRU?
97

10. Где используется модель распространения прав доступа
Take-Grant?
11. Что используется в качестве основных элементов модели
Take-Grant?
12. Выполните формальное описание модели Take-Grant.
98

7. МОДЕЛЬ РАСПРОСТРАНЕНИЯ ПРАВ ДОСТУПА
0
, Oyx
yx
0000
,, EOSG
R
a
),,,(
0
Gyx
a
NNN
EOSEOSG ,,...,,,,
1111
N
opop ...,,
1
N
op
opop
GGG
N
...
21
10
N
Eyx
a
,,
ESSG ,,
TAKE-GRANT
В модели Take-Grant основное внимание уделяется определе-
нию условий, при которых в системе возможно распространение
прав доступа определенным способом. В главе рассмотрены условия реализации:
– способа санкционированного получения прав доступа;
– способа похищения прав доступа.
7.1. Санкционированное получение прав доступа
Данный способ характеризуется тем, что при передаче прав
доступа не накладывается ограничений на кооперацию субъектов
системы, участвующих в этом процессе.
Определение 7.1. Пусть
графа доступов
«возможен доступ»
только тогда, когда существуют графы
и правила
,
,
– различные объекты
. Определим предикат
, который будет истинным тогда и
такие, что
Определение истинности предиката «возможен доступ» ()
непосредственно по определению является в общем случае алгоритмически неразрешимой задачей, так как требует проверки всех
траекторий «возможен доступ» () следует определить необходимые и достаточные условия, проверка которых возможна. Решение
данной задачи будет выполнено в два этапа.
На первом этапе будут определены и обоснованы условия ис-
тинности предиката «возможен доступ» () для графов, все вершины которых являются субъектами, на втором этапе условия истинности предиката «возможен доступ» () будут определены и обоснованы для произвольных графов.
Определение 7.2. Пусть
что вершины графа доступов являются tg – связными или что они
соединены tg – путем, если, без учета направления ребер, в графе
и
.
– граф доступов. Говорят,
99

между ними существует путь такой, что каждое ребро этого пути
0000
,, ESSG
0
, Syx
yx
),,,(
0
Gyx
a
01
...,, Sss
m
0
,, Eys
ii
mi ...,,2,1
m
a
...
1
mi ...,,2,1
******
,,, tgttgttt
gt
*
*
t
помечено t или g.
Теорема 7.1. Пусть
жащий только вершины-субъекты,
кат «возможен доступ»
гда, когда выполняются условия 1 и 2.
Условие 1. Существуют субъекты
– граф доступов, содер-
,
истинен тогда и только то-
. Тогда преди-
:
, где
Условие 2. Субъекты x и Si tg – связны в графе G0, где
.
Для определения истинности предиката «возможен доступ» в
произвольном графе необходимо определить ряд дополнительных
понятий.
Определение 7.3. Островом в произвольном графе доступов G
называется его максимальный tg – связный подграф, состоящий
только из вершин субъектов.
Определение 7.4. Мостом в графе доступов G0 называется tg –
путь, концами которого являются вершины-субъекты, проходящий
через вершины-объекты, словарная запись которого имеет следующий вид:
, где символ * означает многократное (в том чис-
ле нулевое) повторение.
Определение 7.5. Начальным пролетом моста в графе доступов
G0 называется tg – путь, началом которого является вершина-
субъект, концом – объект, проходящий через вершины-объекты,
словарная запись которого имеет следующий вид:
Определение 7.6. Конечным пролетом моста в графе доступов
G0 называется tg – путь, началом которого является вершинасубъект, концом – объект, проходящий через вершины-объекты,
и
.
.
0
словарная запись которого имеет следующий вид:
На рисунке 7.1 приведен пример графа доступов с 3 островами, 2 мостами, начальным и конечным пролетами моста.
100
.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
