Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Девянин и др_Теор_основы комп_безопасности.doc
Скачиваний:
4
Добавлен:
01.05.2025
Размер:
3.36 Mб
Скачать

4.2 Модель распространения прав доступа take-grant Основные положения модели

Модель распространения прав доступа Take-Grant, предложенная в 1976 г. [8], используется для анализа систем дискреционного разграничения доступа, в первую очередь для анализа путей распространения прав доступа в таких системах. В качестве основных элементов модели используются граф доступов и правила его преобразования. Цель модели-дать ответ на вопрос о возможности получения прав доступа субъектом системы на объект в состоянии, описываемом графом доступов. В настоящее время модель Take-Grant получила продолжение как расширенная модель Take-Grant [4], в которой рассматриваются пути возникновения информационных потоков в системах с дискреционным разграничением доступа.

Перейдем к формальному описанию модели Take-Grant, которое приведем по [1] и [З]. Обозначим: О-множество объектов (например, файлов или сегментов памяти); S О-множество активных объектов-субъектов (например, пользователей или процессов); R={r1,r2,...,rm} {t,g}-множество прав доступа, где t (take)- право брать права доступа, g (grant) - право давать права доступа; G = (S, О, E)- конечный помеченный ориентированный граф без петель, представляющий текущие доступы в системе; множества S, О соответствуют вершинам графа, которые обозначим: - объекты (элементы множества O\S); • - субъекты (элементы множества S); элементы множества E OxOxR представляют дуги графа, помеченные непустыми подмножествами из множества прав доступа R.

Состояние системы описывается его графом доступов. Переход системы из состояния в состояние определяется операциями или правилами преобразования графа доступов. Преобразование графа G в граф G' в результате выполнения правила ор обозначим через G├opG'.

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

1. Правило "Брать"-take(а,х,у,z). Пусть х S, у, z О- различные вершины графа G, β R, α β. Правило определяет порядок получения нового графа доступов G' из графа G (рис. 4.1).

Рис. 4.1. Субъект х берет у объекта y права α β на объект z

2. Правило "Давать"-grant(а,х,у,z). Пусть х S, у, z О - различные вершины графа G, β R, α β. Правило определяет порядок получения нового графа G' из графа G (рис. 4.2).

Рис. 4.2. Субъект х дает объекту у права α β на объект z

3. Правило "Создать"-create(β,x,y). Пусть х S,, β R, β≠Ø Правило определяет порядок получения нового графа G' из графа G; у О-новый объект или субъект (рис. 4.3).

Рис. 4.3. Субъект х создает новый β-доступный объект у

4. Правило "Удалить"-remove(α,x,y). Пусть х S, у О -различные вершины графа G, β R, α β. Правило определяет порядок получения нового графа G' из графа G (рис. 4.4).

G G'

β α\β

remove(α,x,y)

х у х у

Рис. 4.4. Субъект х удаляет права доступа α на объект у

Перечисленные правила "Брать", "Давать", "Создать", "Удалить" для отличия от правил расширенной модели Take-Grant будем называть де-юре правилами (табл. 4.2).

Таблица 4.2

Правила де-юре модели Take-Grant

Условия

Результирующее состояние системы G'=(S',O',E')

"Брать" take(a,x,y,z}

x S,{x,y,t) E,{y,z,β) E,

x≠z, α β

S'=S, O'=O,

E'=E {(x,z,α)}

"Давать" grant{a, х, у, г)

x S,(x,y,g) E, (x,z, β) E,

у≠z, α β

S'=S, O'=O, E'=E {(y,z,α)}

"Создать" create (р,х, у)

x S.y O

O'=0 {y},

S'=S {y}, если у субъект, E'=E {(x,y,β)}

"Удалить" remove(a,x, у)

x S.y O, (x,z, β) E, α β

S'=S, O'=O, E'=E\{(x,y,α)}

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

• способа санкционированного получения прав доступа;

• способа похищения прав доступа.

Санкционированное получение прав доступа

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

Пусть х, у О-различные объекты графа доступа G0= (S0,O0,E0), α R. Определим предикат "возможен достyn"(α,x,y,G0), который будет истинным тогда и только тогда, когда существуют графы G1=(S1,O1,E1), ..., GN=(SN,ON,EN), такие, что:

G0 op1 G1op2 ... ├opN GN и (x,y,α) EN.

Определение 1. Говорят, что вершины графа доступов являются tg-связными или что они соединены tg-путем, если (без учета направления дуг) в графе между ними существует такой путь, что каждая дуга этого пути помечена t или g. Будем говорить, что вершины непосредственно tg-связны, если tg-путь между ними состоит из единственной дуги.

Теорема 1. Пусть G0= (S0,O0,E0) - граф доступов, содержащий только вершины-субъекты. Тогда предикат "возможен доступ" (α,x,y,G0) истинен тогда и только тогда, когда выполняются следующие условия 1 и 2.

Условие 1. Существуют субъекты s1,..., sm, такие, что

(si,y,γi) Е0 для i=1,...,m и α = γ1 ... γm.

Условие 2. Субъект х соединен в графе G0 tg-путем с каждым субъектом si для i=1, ...,m.

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

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

Условие 1. Существует субъект s, такой, что справедливо (s,y,α) Е0.

Условие 2. Субъекты х и s соединены tg-путем в графе G0. Необходимость. Пусть истинен предикат "возможен доступ"(α,x,y,G0). По определению истинности предиката существует последовательность графов доступов G1=(S1,O1,E1), ..., GN=(SN,ON,EN), такие, что:

G0 op1 G1op2 ... ├opN GN и (x,y,α) EN, при этом N является минимальным, т.е.(x,y,α) EN-1

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

При N=0 очевидно (x,y,α) E0. Следовательно, условия 1, 2 выполнены.

Пусть N>0, и утверждение теоремы истинно для каждого k < N. Тогда (x,y,α) E0 и дуга (x,y,α) появляется в графе доступов GN в результате применения к графу GN-1 некоторого правила орN. Очевидно, это не правила "Создать" или "Удалить". Если орN правило "Брать" ("Давать"), то по его определению s' SN-1: (x,s',t) EN-1((s',x,g) EN-1), (s',y,α) EN-1 и орN= take(α, х, s', y)(opN = grant(α, s', х, у)).

Возможны два случая; s' S0 и s' S0.

Пусть s' S0. Тогда истинен предикат "возможен доступ"(α,s',y,Go), при этом число преобразований графов меньше N. Следовательно, по предположению индукции s' S0: (s,y,α) E0 и s' соединен с s tg-путем в графе G0. Кроме этого, истинен предикат "возможен доступ"(t,x,s',G0) ("возможен доступ"(g,s',x,G0)), при этом число преобразований графов меньше N. Следовательно, по предположению индукции s'' S0: (s'',s',t) E0 и s" соединен с х tg-путем в графе G0((s",x,g) E0 и s" соединен с s' tg-путем в графе G0). Таким образом, s S0: (s,y,α) E0 и субъекты х, s соединены tg-путем в графе Go. Выполнение условий 1 и 2 для случая s' E0 доказано.

Пусть s' So. Заметим, что число преобразований графов N минимально, поэтому новые субъекты создаются только в тех случаях, когда без этого невозможна передача прав доступа. Следовательно, преобразования графов отвечают следующим требованиям:

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

2) каждый имеющийся в графе Go субъект не создает более одного субъекта;

3) созданный субъект не создает новых субъектов;

4) созданный субъект не использует правило "Брать" для получения прав доступа на другие субъекты.

Из перечисленных требований следует, что M<N-1, s" S0:opM=create ({g,t},s",s'), opN=take(α,x,s',y) и истинен предикат "возможен доступ" (α,s",y,G0). Отсюда-истинен предикат "возможен доступ"(t,х, s',GM}, а так как s"-единственный субъект в графе GM, имеющий права на субъект s', то по предположению индукции s" соединен с х tg-путем в графе G0. Из истинности предиката "возможен доступ" (α,s",y,G0) и по предположению индукции s S0: (s,y,α) E0 и s", s соединены tg-путем в графе G0. Следовательно, s S0: (s,y,α) E0 и х,s соединены tg-путем в графе G0. Выполнение условий 1 и 2 для случая s' E0 доказано. Индуктивный шаг доказан.

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

Пусть N = 0. Следовательно, x = s, (x,y,α) E0 и предикат "возможен доступ"(α,x,y,G0) истинен.

Пусть N=1, т.е. существует (s,y,α) E0 и субъекты х, s непосредственно tg-связны. Возможны четыре случая такого соединения х и s (рис. 4.5), для каждого из которых указана последовательность преобразований графа, требуемая для передачи прав доступа.

Пусть N>1. Рассмотрим вершину z, находящуюся на tg-пути между х и s и являющуюся смежной с s в графе G0. Тогда по доказанному для случая N=1 существует последовательность преобразований графов доступов G0 op1 G1op2 ... ├opk Gk : (z,y,α) Ek и длина tg-пути между z и х равна N-1, что позволяет применить предположение индукции.

Рис. 4.5. Возможные случаи непосредственной tg-связности х и s

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

Для определения истинности предиката "возможен доступ" в произвольном графе необходимо ввести ряд дополнительных понятий.

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

Определение 3. Мостом в графе доступов G0 называется tg-путь, концами которого являются вершины-субъекты; при этом словарная запись tg-пути должна иметь вид , где символ * означает многократное (в том числе нулевое) повторение.

Определение 4. Начальным пролетом моста в графе доступов G0 называется tg-путь, началом которого является вершина-субъект; при этом

словарная запись tg-пути должна иметь вид .

Определение 5. Конечным пролетом моста в графе доступов G0 называется tg-путь. началом которого является вершина-субъект; при этом словарная запись tg-пути должна иметь вид .

Теорема 2. Пусть G0 = (S0,O0,E0)- произвольный граф доступов. Предикат "возможен доступ"(α,х,у,G0) истинен тогда и только тогда, когда выполняются условия 3, 4 и 5 (рис. 4.6).

α t t

®<—--®<———® Конечный пролет моста

y s

Рис. 4.6. Пример пути передачи объекту х прав доступа α на объект у

Условие 3. Существуют объекты s1,...,sm, такие, что (si,y,γi) E0 и , i=1,...,m, и α=γ1, ... ,γm.

Условие 4. Существуют вершины-субъекты x'1,...,x'm и s'1,...,s'm, такие,что:

• х=х'i или х'i соединен с х начальным пролетом моста для i=1,....,m;

• si =s'i или s'i соединен с si конечным пролетом моста для i =1,...,m.

Условие 5. Для каждой пары (x'i,s'i), i=1,...,m, существуют острова Ii,1,...,Ii,ui, ui 1, такие, что x'i Ii,1 s'i Ii,ui, и мосты между островами Ii,j Ii,j+1 j=1,…,ui-1.

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

При m =1 условия 3, 4, 5 формулируются следующим образом:

Условие 3. s O0: (s,y,α) E0.

Условие 4. х',s' S0:

• х =х' или х' соединен с х начальным пролетом моста;

• s =s' или s' соединен с s конечным пролетом моста.

Условие 5. Существуют острова I1,...,Iu, u≥1, такие, что x' I1, s' Iu, и мосты между островами Ijи Ij+1 для j=1,..., u-1.

Необходимость. Пусть истинен предикат "возможен доступ" (α,x,y,G0). По определению истинности предиката существует последовательность графов доступов G1=(S1,O1,E1), ..., GN=(SN,ON,EN), такие, что: G0 op1 G1op2 ... ├opN GN и (x,y,α) EN при этом N является минимальным, т.е. (х,у,α) ЕN-1. Докажем необходимость условий 3, 4, 5 индукцией по N.

При N=0 очевидно (х,у,α) Е0. Следовательно, условия 3, 4, 5 выполнены.

Пусть N>0 и утверждение теоремы истинно для всех k<N. Тогда (x,y,α) Eo и дуга (х,у,α) появляется в графе доступов GN в результате применения к графу GN-1 некоторого правила opN. Возможны два случая х S0 и х S0.

Если x S0, то x1 SN-1: opN= grant(α,x1,x,y). С учетом минимальности N и замечаний, сделанных при доказательстве теоремы 1, можно считать, что x1 S0. Следовательно:

1. Истинен предикат "возможен доступ" (g,x1,x,G0) с числом преобразований графов, меньшим N. Тогда по предположению индукции выполнены условия 3, 4, 5:

• x2 O0 :(x2,x,g) E0;

• x' S0, соединенный с x2 конечным пролетом моста;

• существуют острова I1,...,It, t≥1 такие, что x1 It; x' I1, и мосты между островами Ij и Ij+1 для j=1,.... t-1;

2. Истинен предикат "возможен доступ" (α,x1,y,G0) с числом преобразований графов, меньшим N. Тогда по предположению индукции выполнены условия 3, 4, 5:

• s O0: (s,y,α) E0;

• s' S0: s=s'или s'соединен с s конечным пролетом моста;

• существуют острова It,..., Iu, t-u≥1, такие, что x1 It, s' Iu, и между островами Ij, и Ij+1 для.j=t,.... u-1.

Заметим, что путь, соединяющий вершины х',x2,х, есть начальный пролет моста. Таким образом, для случая x S0 условия 3, 4, 5 выполняются, и индуктивный шаг доказан.

Если x So, то п.1 условия 4 теоремы 2 очевидно выполняется. Многократно применяя технику доказательства, использованную выше, можно доказать индуктивный шаг и в данном случае. Достаточность. Условия 3, 4, 5 конструктивны.

По условию 3 существует объект s, который обладает правами α на объект у. По п. 2 условия 4 существует субъект s', который, либо совпадает с s, либо по конечному пролету моста может забрать у субъекта s права α на объект у.

Рис. 4.7. Пример передачи прав доступа по мосту

По теореме 1 права доступа, полученные одним субъектом, принадлежащим острову, могут быть переданы любому другому субъекту острова. По условию 5 между островами существуют мосты, по которым возможна передача прав доступа. В качестве примера на рис.4.7 разобрана последовательность преобразований графа доступов при передаче прав по мосту вида . По п.1 условия 4 теоремы 2 существует субъект х', который или совпадает с х, или, получив права доступа, может передать их х по начальному пролету моста. Теорема доказана.•