Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Модель матрицы доступов Харрисона-Руззо-Ульмана 3 страница




5. Каким может являться каждое состояние системы в соответствии с предложенным в модели критерием безопасности?

 

Лекция 5.

МОДЕЛЬ РАСПРОСТРАНЕНИЯ ПРАВ ДОСТУПА TAKE-GRANT

 

Основные положения классической модели Take-Grant

Классическая модель Take - Grant ориентирована на анализ путей распространения прав доступа в системах дискреционного управления доступом. Классическую модель Take - Grant будем рассматривать на основе [Девянин].

Основными элементами модели Take - Grant являются:

O ¾ множество объектов;

S Í O ¾ множество субъектов;

R = { r 1, r 2, …, rm } È { t, g } ¾ множество видов прав доступа, где t (take) ¾ право брать права доступа, g (grant) ¾ право давать права доступа;

G = (S, O, E) ¾ конечный помеченный ориентированный без петель граф доступов, описывающий состояние системы. Элементы множеств S и O являются вершинами графа, которые будем обозначать, соответственно, Ä ¾ объекты (элементы множества O \ S), · ¾ субъекты (элементы множества S). Элементы множества E Í О ´ O ´ R являются ребрами графа. Каждое ребро помечено непустым подмножеством множества видов прав доступа R.

Состояние системы описывается соответствующим ему графом доступов. В отличие от модели ХРУ в модели Take-Grant возможно наличие прав доступа не только у субъектов к объектам, но и у объектов к объектам.

Основная цель классической модели Take-Grant ¾ определение и обоснование алгоритмически проверяемых условий проверки возможности утечки права доступа по исходному графу доступов, соответствующего некоторому состоянию системы.

Порядок перехода системы модели Take-Grant из состояния в состояние определяется правилами преобразования графа доступов, которые в классической модели носят название де-юре правил. Преобразование графа G в граф G ’в результате выполнения правила op обозначим через:

Gop G ’.

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

- take ¾ брать права доступа,

- grant ¾ давать права доступа,

- create ¾ создавать новый объект или субъект, при этом субъект создатель может взять на созданный субъект любые права доступа (по умолчанию предполагается, что при выполнение правила create создается объект, случаи, когда создается субъект, оговариваются особо),

- remove ¾ удалять права доступа.

 

Рассмотрим условия применения де-юре правил в исходном состоянии G = (S, O, E) и результаты их применения в результирующем состоянии G ’= (S ’, O ’, E ’) (табл. 1.3).

 

Таблица 5.1. Де-юре правила классической модели Take-Grant

  Правила Исходное состояние G = (S, O, E) Результирующее состояние G ’= (S ’, O ’, E ’)
take (a, x, y, z) x Î S, y, z Î O, (x, y, { t }) Ì E, (y, z, b) Ì E, x ¹ z, a Í b S= S, O= O, E ’= E È {(x, z, a)}
grant (a, x, y, z) x Î S, y, z Î O, (x, y, { g }) Ì E, (x, z, b) Ì E, y ¹ z, a Í b S= S, O= O, E ’= E È {(y, z, a)}
create (b, x, y) x Î S, y Ï O, b ¹ Æ O ’= O È { y }, если y субъект, то S= S È { y }, иначе S= S, E ’= E È {(x, y, b)}
remove (a, x, y) x Î S, y Î O, (x, y, b) Ì E, a Í b S= S, O= O, E ’= E \ {(x, y, a)}

 

В модели Take-Grant основное внимание уделяется определению условий, при которых в системе возможно распространение прав доступа для случая, когда не рассматриваются ограничения на кооперацию субъектов при передаче прав доступа, и случая, когда на кооперацию субъектов наложены ограничения. Рассмотрим данные случаи подробнее.

 

1. Условия передачи прав доступа при отсутствии ограничений на кооперацию субъектов

Данный случай характеризуется тем, что при передаче прав доступа не накладывается ограничений на кооперацию субъектов системы, участвующих в этом процессе.

Определение 5.1. Пусть x, y Î O 0, x ¹ y ¾ различные объекты графа доступов G 0= (S 0, O 0, E 0), a Í R. Определим предикат can_share (a, x, y, G 0), который будет истинным тогда и только тогда, когда существуют графы G 1= (S 1, O 1, E 1), …, GN = (SN, ON, EN) и правила op 1, …, opN такие, что G 0op 1 G 1op 2… ├ opN GN и (x, y, a) Ì EN, где N ³ 0.

Определение истинности предиката can_share (a, x, y, G 0) непосредственно по определению является в общем случае алгоритмически неразрешимой задачей, так как требует проверки всех траекторий функционирования системы. По этой причине для проверки истинности предиката can_share (a, x, y, G 0) следует определить необходимые и достаточные условия, проверка которых возможна. Решение данной задачи будет выполнено в два этапа. На первом этапе будут определены и обоснованы условия истинности предиката can_share (a, x, y, G 0) для графов, все вершины которых являются субъектами, на втором этапе условия истинности предиката can_share (a, x, y, G 0) будут определены и обоснованы для произвольных графов.

Определение 5.2. Пусть G = (S, S, E) ¾ граф доступов, все вершины которого являются субъектами. Говорят, что вершины графа доступов являются tg -связными или что они соединены tg -путем, если, без учета направления ребер, в графе между ними существует путь такой, что каждое ребро этого пути помечено t или g.

Теорема 5.1. Пусть G 0= (S 0, S 0, E 0) граф доступов, содержащий только вершины субъекты, x, y Î S 0, x ¹ y. Тогда предикат can_share (a, x, y, G 0) истинен тогда и только тогда, когда выполняются условия 1 и2.

Условие 1. Существуют субъекты s 1, …, sm Î S 0:

(si, y, g i ) Ì E 0, где i = 1, …, m и a = g1 È … È g m.

Условие 2. Субъекты x и si являются tg -связными в графе G 0, где i = 1, …, m.

Доказательство. Проведем доказательство теоремы для m = 1, так как схему доказательства для этого случая легко продолжить для случая m > 1.

При m = 1 условия 1 и 2 формулируются следующим образом.

Условие 1. Существует субъект s такой, что выполняется включение (s, y, a) Ì E 0.

Условие 2. Субъекты x и s соединены tg -путем в графе G 0.

Достаточность. Пусть выполненыусловия1 и 2. Доказательство проведем индукцией по длине tg -пути, соединяющего субъектов x и s.

Пусть N = 0. Тогда, x = s, (x, y, a) Ì E 0и предикат can_share (a, x, y, G 0) истинен.

Пусть N = 1. Тогда существует (s, y, a) Ì E 0, и x и s соединены ребром t или g в графе G 0. Возможны четыре случая такого соединения x и s, для каждого из которых, указана последовательность преобразований графа, требуемая для передачи прав доступа (рис. 5.5-5.8).

 

 

Пусть длина пути N > 1. Пусть вершина z находится на tg- пути между x и s и является смежной с s в графе G 0. Тогда исходя из доказанного для случая N = 1 существует последовательность преобразований графов доступов G 0op 1 G 1op 2… ├ opK GK такая, что (z, y, a) Ì Ek, и длина tg- пути между z и x равна N – 1. Это позволяет применить предположение индукции. Достаточность условий теоремы доказана.

Необходимость. Пусть истинен предикат can_share (a, x, y, G 0).

По определению истинности предиката существует последовательность графов доступов G 1= (S 1, O 1, E 1), …, GN = (SN, ON, EN) такая, что G 0op 1 G 1op 2… ├ opN GN и (x, y, a) Ì EN. Среди всех таких последовательностей выберем ту, у которой длина N является минимальной.

Докажем необходимость условий 1 и 2 индукцией по N.

При N = 0 очевидно, что (x, y, a) Ì E 0. Таким образом, s = x и условиятеоремы выполнены.

При N = 1. Тогда выполняется условие (x, y, a) Ë E 0, и из определения де-юреправил модели следует, что существует субъект s такой, что справедливо (s, y, a) Ì E 0и или op 1= take (a, x, s, y), или op 1= grant (a, s, x, y). Таким образом, s и x являются tg -связными в графе G 0и условия теоремы выполнены.

Пусть N > 1 и утверждение теоремы истинно для k < N. Тогда (x, y, a) Ë EN – 1и ребро (x, y, a) появляется в графе доступов GN в результате применения к графу GN –1 некоторого правила opN. Очевидно, это не правила create или remove. Следовательно, существует субъект s ’Î SN 1 такой, что (s ’, y, a) Ì EN - 1 и или (x, s ’, t) Î EN - 1 и opN = take (a, x, s ’, y), или (s ’, x, gEN –1 и opN = grant (a, s ’, x, y).

Возможны два случая: s ’Î S 0и s ’Ï S 0.

Рассмотрим первый случай. Пусть s ’Î S 0, тогда истинен предикат can_share (a, s ’, y, G 0), при этом число преобразований графов меньше N. Следовательно, по предположению индукции существует s Î S 0: (s, y, a) Î E 0s ’соединен с s tg- путем в графе G 0. Кроме того, если opN = take (a, x, s ’, y), то истинен предикат can_share ({ t }, x, s ’, G 0), а если opN = grant (a, s ’, x, y), то истинен предикат can_share ({ g }, s ’, x, G 0); при этом число преобразований графов меньше N. Следовательно, по предположению индукции существует s ’’Î S 0, такой, что если opN = take (a, x, s ’, y), то (s ’’, s ’, t) Î E 0и s ’’соединен с x tg- путем в графе G 0, а если opN = grant (a, s ’, x, y), то (s ’’, x, g) Î E 0и s ’’соединен с stg- путем в графе G 0. Таким образом, существует s Î S 0: (s, y, a) Ì E 0и субъекты x и s соединены tg- путем в графе G 0. Для случая s ’Î S 0индуктивный шаг доказан (рис. 5.9).

 

 

Рассмотрим второй случай. Пусть s ’Ï S 0. Заметим, что число преобразований графов N минимально, поэтому преобразования графов удовлетворяют следующим требованиям:

- каждый субъект графа G 0создает не более одного субъекта,

- субъект создатель берет на созданный субъект необходимый набор прав { t, g };

- созданный субъект не создает новых субъектов.

Справедливость перечисленных требований следует из того, что если субъект графа G 0создает более одного субъекта или созданный субъект создаст нового субъекта, то в преобразованиях графов доступов такие дополнительные субъекты могут быть заменены имеющимися. Следовательно, не будет являться необходимым применение правил создания дополнительных субъектов, что противоречит условию минимальности числа преобразований графов. Требование к субъекту создателю брать на созданный субъект необходимый набор прав { t, g } является, очевидно, необходимым.

Из перечисленных требований следует, что существуют M < N – 1, s ’’Î S 0: opM = create ({ t, g }, s ’’, s ’). Среди всех последовательностей преобразований длины N можно выбрать такую, что M = 1. Тогда рассмотрим граф G 1; при этом S 1= S 0È { s ’}, E 1= E 0È {(s ’’, s ’, { t, g })}, истинен предикат can_share (a, s ’, y, G 1) с числом преобразований меньше N и s ’Î S 1. Следовательно, существует s Î S 1: (s, y, a) Ì E 1, при этом s и s ’соединены tg -путем в графе G 1. Очевидно, что s Î S 0, (s, y, a) Ì E 0; при этом s и s ’’соединены tg -путем в графе G 0. Кроме того, если opN = take (a, x, s ’, y), то истинен предикат can_share ({ t }, x, s ’, G 1), а, если opN = grant (a, s ’, x, y), то истинен предикат can_share ({ g }, s ’, x, G 1); при этом число преобразований меньше N. Следовательно, так как s ’’единственный субъект в графе G 1, обладающий правами доступа к субъекту s ’, то x и s ’’соединены tg -путем в графе G 1и, соответственно, в графе G 0.

Таким образом, существует s Î S 0: (s, y, a) Ì E 0; при этом x и s соединены tg -путем в графе G 0. Для случая s ’Ï S 0индуктивный шаг доказан (рис. 5.10).

 

Теорема доказана. ■

Для определения истинности предиката can_share (a, x, y, G 0) в произвольном графе дадим определения.

Определение 5.3. Островом в произвольном графе доступов G 0называется его максимальный tg- связный подграф, состоящий только из вершин субъектов.

Определение 5.4. Мостом в графе доступов G 0называется tg -путь, концами которого являются вершины субъекты, проходящий через вершины объекты, словарная запись которого имеет вид:

*, *, * *, * *, где символ «*» означает многократное (в том числе нулевое) повторение.

Определение 5.5. Начальным пролетом моста в графе доступов G 0называется tg- путь, началом которого является вершина субъект, концом ¾ объект, проходящий через вершины объекты, словарная запись которого имеет вид: * .

Определение 5.6. Конечным пролетом моста в графе доступов G 0называется tg- путь, началом которого является вершина субъект, концом ¾ объект, проходящий через вершины объекты, словарная запись которого имеет вид: *.

Теорема 5.2. Пусть G 0= (S 0, O 0, E 0) произвольный граф доступов, x, y Î O 0, x ¹ y. Предикат can_share (a, x, y, G 0) истинен тогда и только тогда, когда или (x, y, a) Ì E 0, или выполняются условия1-3:

Условие 1. Существуют объекты s 1, …, sm Î O 0:

(si, y, g i) Ì E 0для i = 1, …, m и a = g1 È … È g m.

Условие 2. Существуют субъекты x 1’, …, xm ’, s 1’, …, sm ’Î S 0:

1) x = xi ’или xi ’соединен с x начальным пролетом моста в графе G 0, где i = 1, …, m;

2) s = si ’или si ’соединен с s конечным пролетом моста в графе G 0, где i = 1, …, m.

Условие 3. В графе G 0для каждой пары (xi ’, si ’), где i = 1, …, m, существуют острова Ii ,1, …, Ii , ui, ui ³ 1, такие, что xi ’Î Ii ,1, si ’Î Ii , ui, и существуют мосты между островами Ii , j и Ii , j+ 1, где j = 1, …, ui – 1.

Доказательство. Проведем доказательство теоремы для m = 1, так как схему доказательства для этого случая легко продолжить на случай m > 1.

При m = 1 условия1-3 формулируются следующим образом (рис. 5.11).

Условие 1. Существует объект s Î O 0: (s, y, a) Ì E 0.

Условие 2. Существуют субъекты x, s ’Î S 0:

1) x = x ’или x ’соединен с x начальным пролетом моста в графе G 0;

2) s = s ’или s ’соединен с s конечным пролетом моста в графе G 0.

Условие 3. В графе G 0существуют острова I 1, …, Iu, u ³ 1, такие, что x ’ Î I 1, s ’ Î Iu, и существуют мосты между островами Ij и Ij + 1, где j = 1, …, u – 1.

 

Достаточность. Если (x, y, a) Ì E 0, то предикат can_share (a, x, y, G 0) истинен.

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

 

 

Также очевидно, что по конечному пролету моста субъект может забрать права доступа у объекта, а по начальному пролету ¾ передать их объекту.

По условию1 существует объект s, который обладает правами a к объекту у. По условию2(б) существует субъект s ’, который, либо совпадает с s, либо по конечному пролету моста может забрать у субъекта s права a к объекту у.

По теореме5.1 права доступа, полученные одним субъектом, принадлежащим острову, могут быть переданы любому другому субъекту острова. По условию3 между островами существуют мосты, по которым возможна передача прав доступа. По условию2(а) существует субъект x ’, который или совпадает с x, или, получив права доступа, может передать их x по начальному пролету моста.

Необходимость. Пусть истинен предикат can_share (a, x, y, G 0). По определению истинности предиката существует последовательность графов доступов G 1= (S 1, O 1, E 1), …, GN = (SN, ON, EN) такая, что: G 0op 1 G 1op 2… ├ opN GN и (x, y, a) Ì EN; при этом N ³ 0 выбирается минимальным. Докажем необходимость выполнения условий теоремы индукцией по N.

При N = 0 очевидно, что (x, y, a) Ì E 0. Следовательно, условиятеоремы выполнены.

При N = 1 из определения де-юреправил модели следует, что:

- либо существует субъект s Î S 0такой, что справедливо условие (s, y, a) Î E 0и op 1= grant (a, s, x, y);

- либо существует объект s Î O 0такой, что справедливо условие (s, y, a) Î E 0и op 1= take (a, x, s, y)

Таким образом, для N = 1 условия теоремы выполняются.

Пусть N > 1, и утверждение теоремы истинно для k < N. Тогда (x, y, a) Ë EN 1и ребро (x, y, a) появляется в графе доступов GN в результате применения к графу GN 1 некоторого правила opN. Возможны два случая: x Ï S 0и x Î S 0.

Если x Ï S 0, то существует x 1Î SN 1: opN = grant (a, x 1, x, y). Также возможны два случая: x 1Î S 0или x 1Ï S 0.

Если x 1Î S 0, тогда истинен предикат can_share ({ g }, x 1, x, G 0) с числом преобразований графов меньшим N. Следовательно, по предположению индукции существуют:

- x 2Î O 0: (x 2, x, g) Î E 0;

- x ’Î S 0, соединенный с x 2конечным пролетом моста;

- острова I 1, …, It, где t ³ 1, такие, что x 1Î It, x ’Î I 1, и существуют мосты между островами Ij и Ij + 1 для j = 1, …, t – 1.

Кроме того, истинен предикат can_share (a, x 1, y, G 0) с числом преобразований графов меньшим N. Тогда по предположению индукции существуют:

- s Î O 0: (s, y, a) Ì E 0;

- s ’Î S 0: s = s ’или s ’соединен с s конечным пролетом моста;

- острова It, …, Iu, где tu ³ 1, такие, что x 1Î It, s ’Î Iu, и существуют мосты между островами Ij и Ij + 1 для j = t, …, u – 1.




Поделиться с друзьями:


Дата добавления: 2014-11-20; Просмотров: 1503; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.