Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Теоретические основы защиты информации. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
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
.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]