19. Модель распространения прав доступа Take-Grant. Теоремы о передаче прав в графе доступов, состоящем из субъектов, и произвольном графе доступов. Расширенная модель Take-Grant и ее применение для анализа информационных потоков в АС.
Основные положения модели
Модель распространения прав доступа Take-Grant, предложенная в 1976 г., используется для анализа систем дискреционного разграничения доступа, в первую очередь для анализа путей распространения прав доступа в таких системах. В качестве основных элементов модели используются граф доступов и правила его преобразования. Цель модели - дать ответ на вопрос о возможности получения прав доступа субъектом системы на объект в состоянии, описываемом графом доступов. В настоящее время модель Take-Grant получила продолжение как расширенная модель Take-Grant, в которой рассматриваются пути возникновения информационных потоков в системах с дискреционным разграничением доступа.
Перейдем к формальному описанию модели Take-Grant. Обозначим: О - множество объектов (например, файлов или сегментов памяти); 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(a,x,y,z). Пусть хÎS, у, zÎО - различные вершины графа G,bÍR,aÍb. Правило определяет порядок получения нового графа доступов G' из графа G .
G G'

Субъект х дает объекту у права aÍbна объект z
2. Правило "Давать"- grant(a,x,y,z). Пусть хÎS, у, zÎО -различные вершины графа G,bÍR,aÍb. Правило определяет порядок получения нового графа G' из графа G (рис.4.2)

Субъект х дает объекту у права aÍb на объект z
Правило "Создать"- create(b,х.у). Пусть xÎS, bÍR, b¹0. Правило определяет порядок получения нового графа G' из графа G; уÎ О- новый объект или субъект.

Субъект х создает новый b-доступный объект у
4. Правило "Удалить"-remove(a,х,у). Пусть xÎS,yÎО - различные вершины графа G.bÍR,aÍb. Правило определяет порядок получения нового графа G' из графа G.

Субъект х удаляет права доступа a на объект у.
Перечисленные правила "Брать", "Давать", "Создать", "Удалить" для отличия от правил расширенной модели Take-Grant будем называть де-юре правилами (табл.)
Таблица
|
Правила де-юре модели Take-Grant
|
Условия
|
Результирующее состояние системы G'=(S',E',E')
|
|
"Брать" take (a, х, у, z)
|
xÎS, (х,у,t) ÎE, (y,z,b) ÎE, x¹z, аÍb
|
S'=S, O'=О, E'=EÈ{(x,z,a)}
|
|
"Давать" grant (a, х, у, z)
|
xÎS, (x,y,g) ÎE, (х,y, b)ÎE, у¹z, аÍb
|
S'=S, O'=O, E'=EÈ{(y,z,a)}
|
|
"Создать" create (b,x, у)
|
xÎS, у¹О
|
O'=OÈ{y}. S'=SÈ{y}, если у субъект, Е'=EÈ{(х,у,b)}
|
|
"Удалить" remove (a, х, у)
|
xÎS, yÎO, (x,z. b)ÎE, аÍb
|
S'=S, О'=O, E=E\{(х,y, a)}
|
В модели Take-Grant основное внимание уделяется определению условий, при которых в системе возможно распространение прав доступа определенным способом. Мы рассмотрим условия реализации:
• способа санкционированного получения прав доступа;
• способа похищения прав доступа.
Санкционированное получение прав доступа.
Данный способ характеризуется тем, что при передаче прав доступа не накладываются ограничения на кооперацию субъектов системы, участвующих в этом процессе.
Пусть х, уÎО - различные объекты графа доступа G0=(S0,O0,E0), aÍR. Определим предикат "возможен доступ" (a,х,у,G0), который будет истинным тогда и только тогда, когда существуют графы G1=(S1,O1,E1),.... GN=(SN,ON,EN), такие, что:
G0├op1 G1├op2…├opN GN и (x,y,a)ÎEN.
Определение 1. Говорят, что вершины графа доступов являются tg-связными или что они соединены tg-путем, если (без учета направления дуг) в графе между ними существует такой путь, что каждая дуга этого пути помечена t или g. Будем говорить, что вершины непосредственно tg-связны, если tg-путъ между ними состоит из единственной дуги.
Теорема 1. Пусть G0=(S0,O0,E0) - граф доступов, содержащий только вершины-субъекты. Тогда предикат "возможен доступ" (a,х,у,G0) истинен тогда и только тогда, когда выполняются следующие условия 1 и 2.
Условие 1. Существуют субъекты sl .... sm, такие, что
(si,y,gi,)ÎE0 для i=1,...,m и a = g1È…È gm.
Условие 2. Субъект х соединен в графе G0 tg-путем с каждым субъектом si, для i=1,...,m.
Доказательство. Проведем доказательство теоремы для m=1, так как схему доказательства для этого случая легко продолжить на случай
При m =1 условия 1 и 2 формулируются следующим образом:
Условие 1. Существует субъект s, такой, что справедливо (s,y,a)ÎE0.
Условие 2. Субъекты х и s соединены tg-путем в графе G0. Необходимость. Пусть истинен предикат "возможен доступ" (a,x,y,G0). По определению истинности предиката существует последовательность графов доступов G1=(S1,O1,E1), ...., GN=(SN,ON,EN), такая, что: G0├op1 G1├op2…├opN GN и (x,y,a)ÎEN, при этом N является минимальным, т.е. (x,y,a)ÏEN-1. Докажем необходимость условий 1 и 2 индукцией по N.
При N=0 очевидно (x,y,a)ÎE0. Следовательно, условия 1, 2 выполнены.
Пусть N>0, и утверждение теоремы истинно для "k<N. Тогда (x,y,a)ÏE0 и дуга (x,y,a) появляется в графе доступов GN в результате применения к графу GN-1 некоторого правила opN. Очевидно, это не правила "Создать" или "Удалить". Если opN правило "Брать" ("Давать"), то по его определению
$s' ÎEN-1: (x,s',t) Î EN-1 ((s',x,g)Î EN-1 ), (s',y,a)Î EN-1 и opN = take(a,x,s',y)(opN= = grant(a,s',x,y)).
Возможны два случая: s'ÎS0 и s'Ï S0.
Пусть s'ÎS0. Тогда истинен предикат "возможен доступ" (a,s',у,G0), при этом число преобразований графов меньше N. Следовательно, по предположению индукции $sÎS0: (s,y,a)Î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,a)ÎE0 и субъекты х, s соединены tg-путем в графе G0. Выполнение условий 1 и 2 для случая s'ÎE0 доказано.
Пусть s'Ï S0. Заметим, что число преобразований графов N минимально, поэтому новые субъекты создаются только в тех случаях, когда без этого невозможна передача прав доступа. Следовательно, преобразования графов отвечают следующим требованиям:
1) субъект-создатель берет на созданный субъект максимально необходимый набор прав {t,g};
2) каждый имеющийся в графе G0 субъект не создает более одного субъекта;
3) созданный субъект не создает новых субъектов;
4) созданный субъект не использует правило "Брать для получения
прав доступа на другие субъекты.
Из перечисленных требований следует, что $М<N-1, $s"ÎS0:opM =
= create ({g,f},s",s'), opN=take(a,x,s',y) и истинен предикат "возможен доступ" (a,s",y,G0). Отсюда - истинен предикат "возможен доступ" (t,x,s',GM), а так как s"-единственный субъект в графе GM, имеющий права на субъект s', то по предположению индукции s" соединен с х tg-путем в графе G0. Из истинности предиката "возможен доступ" (a,s",y,G0) и по предположению индукции $sÎS0:(s,y,a)ÎE0 и s", s соединены tg-путем в графе G0. Следовательно, $sÎS0:(s,y,a)ÎE0 и х, s соединены tg-путем в графе G0. Выполнение условий 1 и 2 для случая s'Ï S0 доказано. Индуктивный шаг доказан.
Достаточность. Пусть выполнены условия 1 и 2. Доказательство проведем индукцией по длине tg-пути, соединяющего субъекты х и s.
Пусть N=0. Следовательно, x=s, (x,y,a)ÎE0 и предикат "возможен доступ" (a,x,y,G0) истинен.
Пусть N=1, т.е. существует $(s,y,a)ÎE0 и субъекты х, s непосредственно tg-связны. Возможны четыре случая такого соединения х и s (рис.4.5), для каждого из которых указана последовательность преобразований графа, требуемая для передачи прав доступа.
Пусть N>1. Рассмотрим вершину z, находящуюся на tg-пути между х и s и являющуюся смежной с s в графе G0. Тогда по доказанному для случая N=1 существует последовательность преобразований графов доступов
G0├op1 G1├op2…├opK GK (z,y,a)ÎEK и длина tg-пути между z и х равна N-1, что позволяет применить предположение индукции.

Теорема доказана.
Для определения истинности предиката "возможен доступ" в произвольном графе необходимо ввести ряд дополнительных понятий.
Определение 2. Островом в произвольном графе доступов G0 называется его максимальный tg-связный подграф, состоящий только из вершин субъектов.
Определение 3. Мостом в графе доступов G0 называется tg-путь, концами которого являются вершины-субъекты; при этом словарная запись tg-пути должна иметь вид →t*. ←t*, →t*→g←t*, →t*←g←t*,, где символ * означает многократное (в том числе нулевое) повторение.
!!!!( ← и→должны быть над t и g )!!!!! .
Определение 4. Начальным пролетом моста в графе доступов G0 называется tg-путь, началом которого является вершина-субъект; при этом словарная запись tg-пути должна иметь вид →t*→g.
Определение 5. Конечным пролетом моста в графе доступов G0 называется tg-путь, началом которого является вершина-субъект; при этом словарная запись tg-пути должна иметь вид →t*.
Теорема 2. Пусть G0=(S0,O0,E0) - произвольный граф доступов. Предикат "возможен доступ"(a,х,у, G0) истинен тогда и только тогда, когда выполняются условия 3, 4 и 5.
Условие 3. Существуют объекты s1,...,sm, такие, что (si,y,gi)ÎE0, i=1,...,m, и
a = g1È…È gm.
Условие 4. Существуют вершины-субъекты x1,...,xm и s1,...,sm, такие, что:
· х=хi или хi, соединен с х начальным пролетом моста для i=1,...,m;
· si=si или si соединен с а конечным пролетом моста для i=1,.... m.
Условие 5. Для каждой пары (хi, si), i=1, ...,m, существуют острова li,1… li,ui, ui³1, такие, что хiÎ li,1, siÎ li,ui и мосты между островами li,j и li,j+1,ui>j³1.
Доказательство. Проведем доказательство теоремы для m=1, так как схему доказательства для этого случая легко продолжить на случай m>1.
При m=1 условия 3, 4, 5 формулируются следующим образом:
Условие 3. $sÎO0: (s,y,a) ÎE0s.
Условие 4. $х', s'ÎS0:
• х =х' или х' соединен с х начальным пролетом моста;
• s = s' или s' соединен с s конечным пролетом моста.
Условие 5. Существуют острова li,...,lu, u>1, такие, что x'Îli, s'Îlu, и мосты между островами lj и lj+1 для j=1,...,u-1.
Необходимость. Пусть истинен предикат "возможен доступ" (a,x,y,G0). По определению истинности предиката существует последовательность графов доступов G1=(S1,O1,E1),...,GN=(SN,ON,EN), такая, что, G0├op1 G1├op2…├opN GN (x,y,a)ÎEN при этом N является минимальным, т.е(x,y,a)ÏEN-1. Докажем необходимость условий 3, 4. 5 индукцией по N.
При N=0 очевидно (x,y,a)ÎE0. Следовательно, условия 3, 4, 5 выполнены.
Пусть N>0 и утверждение теоремы истинно для "k<N. Тогда (x,y,a)ÏE0 и дуга (x,y,a)появляется в графе доступов GN в результате применения к графу GN-1 некоторого правила орN. Возможны два случая xÎS0 и xÏS0
Если xÏS0, то $x1ÎSN-1= grant(a,x1,x,y). С учетом минимальности N и замечаний, сделанных при доказательстве теоремы 1, можно считать, что x1ÎS0. Следовательно:
1. Истинен предикат "возможен доступ" (g, x1,x G0) с числом преобразований графов, меньшим N. Тогда по предположению индукции выполнены условия 3, 4, 5:
• $x2ÎO0:(х2,х,g) ÎЕ0;
• $x'ÎS0, соединенный с х2 конечным пролетом моста;
• существуют острова l1,…,lt t³1, такие, что x1Îlt, x'Îl1, и мосты между островами lj и lj+1 для j=1,.... t-1;
2. Истинен предикат "возможен доступ" (a,x1,y,G0) с числом преобразований графов, меньшим N. Тогда по предположению индукции выполнены условия 3, 4, 5:
• sÎO0: (s,y, a)ÎЕ0;
• $s'ÎS0: s=s' или s' соединен с s конечным пролетом моста;
• существуют острова lt,...., lu,t-u³1, такие, что x1Îlt, s'Îlu, и между островами lj и lj+1 для j=t,...., u-1.
Заметим, что путь, соединяющий вершины х',х2,х, есть начальный пролет моста. Таким образом, для случая xÏS0 условия 3, 4, 5 выполняются, и индуктивный шаг доказан.
Если xÎS0, то п.1 условия 4 теоремы 2 очевидно выполняется. Многократно применяя технику доказательства, использованную выше, можно доказать индуктивный шаг и в данном случае. Достаточность. Условия 3,4, 5 конструктивны.
По условию 3 существует объект s, который обладает правами a на объект y. По п. 2 условия 4 существует субъект s', который, либо совпадает с s, либо по конечному пролету моста может забрать у субъекта s права a на объект у.

По теореме 1 права доступа, полученные одним субъектом, принадлежащим острову, могут быть переданы любому другому субъекту острова. По условию 5 между островами существуют мосты, по которым возможна передача прав доступа. В качестве примера на рис.4.7 разобрана последовательность преобразований графа доступов при передаче прав по мосту вида →t→g←t. По п.1 условия 4 теоремы 2 существует субъект х', который или совпадает с х, или, получив права доступа, может передать их х по начальному пролету моста. Теорема доказана.
Расширенная модель Take-Grant
В расширенной модели Take-Grant рассматриваются пути и стоимости возникновения информационных потоков в системах с дискреционным разграничением доступа.
В классической модели Take-Grant по существу рассматриваются два права доступа: t и g, а также четыре правила (правила де-юре) преобразования графа доступов: take, grant, create, remove. В расширенной модели дополнительно рассматриваются два права доступа: на чтение r(read) и на запись w(write), а также шесть правил (правила де-факто) преобразования графа доступов: post, spy, find, pass и два правила без названия.
Правила де-факто служат для поиска путей возникновения возможных информационных потоков в системе. Эти правила являются следствием уже имеющихся у объектов системы прав доступа и могут стать причиной возникновения информационного потока от одного объекта к другому без их непосредственного взаимодействия.
В результате применения к графу доступов правил де-факто в него добавляются мнимые дуги, помечаемые r или w и изображаемые пунктиром (рис.). Вместе с дугами графа, соответствующими правам доступа r и w (реальными дугами), мнимые дуги указывают на направления информационных каналов в системе.

Рис. Правила де-факто (везде вместо реальных дуг могут быть мнимые дуги)
Важно отметить, что к мнимым дугам нельзя применять правила де-юре преобразования графа доступов. Информационные каналы нельзя брать или передавать другим объектам системы.
В расширенную модель Take-Grant можно включить понятие вероятности или стоимости пути передачи прав или информации. Путям меньшей стоимости соответствует наивысшая вероятность и их надо исследовать в первую очередь. Есть два основных подхода к определению стоимости путей.
1. Подход, основанный на присваивании стоимости каждой дуге на пути в графе доступов. В этом случае стоимость дуги определяется в зависимости от прав доступа, которыми она помечена, а стоимость пути есть сумма стоимостей пройденных дуг.
2. Подход, основанный на присваивании стоимости каждому используемому правилу де-юре или де-факто. Стоимость правила при этом можно выбрать, исходя из сферы применения модели Take-Grant. Стоимость может:
• быть константой;
• зависеть от специфики правила;
• зависеть от числа участников при применении правила;
• зависеть от степени требуемого взаимодействия объектов.
Стоимость пути в этом случае определяется как сумма стоимостей примененных правил.
Модель Take-Grant служит для анализа систем защиты с дискреционной политикой безопасности. В модели определены условия, при которых происходит передача или похищение прав доступа. Однако на практике редко возникает необходимость в использовании указанных условий, так как при анализе большинства реальных систем защиты не возникают столь сложные по взаимосвязи объектов графы доступов. А сами правила take и grant сравнительно редко используются на практике. В тоже время наиболее часто в реальных системах субъекты используют права доступа на чтение и запись. Поэтому предложенные в расширенной модели Take-Grant подходы к поиску и анализу путей возникновения в системе информационных каналов, определению их стоимости представляются наиболее интересными и актуальными.