Модель Take-Grant (от «брать», «давать») — это формальная модель, используемая в области компьютерной безопасности, для анализа систем дискреционного разграничения доступа; подтверждает либо опровергает степени защищенности данной автоматизированной системы, которая должна удовлетворять регламентированным требованиям. Модель представляет всю систему как направленный граф, где узлы — либо объекты, либо субъектыLipton R.J., Snayder L. A linear time algorithm for deciding subject security // Journal of ACM (Addison-Wesley). N.3, 1977. p.455-464. Дуги между ними маркированы, и их значения указывают права, которые имеет объект или субъект (узел). В модели доминируют два правила: «брать» и «давать». Они играют в ней особую роль, переписывая правила, описывающие допустимые пути изменения графа. В общей сложности существует 4 правила преобразования: правило «брать»; правило «давать»; правило «создать»; правило «удалить»; Можно воспроизвести состояния, в которых будет находиться система в зависимости от распределения и изменения прав доступа. Следовательно, можно проанализировать возможные угрозы для данной системы.
Обычная модель О — множество объектов (, сегменты памяти и т. д.); S — множество субъектов (пользователи, процессы системы); R = {r1, r2, r3, r4, …, rn} U {t, g} — множество прав доступа; t [take] — право брать «права доступа»; g [grant] — право давать «права доступа»; G = (S, O, E) — конечный, помеченный, ориентированный граф без петель; × — объекты, элементы множества О; • — субъекты, элементы множества S; E ∈ O x O x R — дуги графа. Состояние системы описывается её графом.
Преобразование G в граф G' = правило и обозначается:
Правило «брать» Брать = take(r, x, y, s), r ∈ R. Пусть s ∈ S, x, y ∈ O — вершины графа G.
Тогда граф G:
То есть субъект S берет у объекта X права r на объект Y.
Правило «давать» Давать = grant(r, x, y, s), r ∈ R. Пусть s ∈ S, x, y ∈ O — вершины графа G.
Тогда граф G:
То есть субъект S дает объекту X права r на объект Y.
Правило «создать» Создать = create(p, x, s), r ∈ R. Пусть s ∈ S, x, y ∈ O — вершины графа G.
Тогда граф G:
То есть субъект S создает p-доступный объект X.
Правило «удалить» Удалить = remove(r, x, s), r ∈ R. Пусть s ∈ S, x, y ∈ O — вершины графа G.
Тогда граф G:
То есть субъект S удаляет права доступа r на объект X.
Примеры реализации В графе Р1 и Р2 составляют субъекты (возможные пользователи), а также Ds и Fs представляют объекты, каталоги и файлы, соответственно. Право «чтение» было изменено на правило «брать» для всех уровней, за исключением фактически файловых уровней в каталогах. Право «записи» также изменилось правилом «давать». Становится ясно из этого графа: если субъект имеет право чтения(брать) объекта, то он может иметь право чтения любых других объектов, на которые этот первый объект имеет какие-то права. Аналогично, если субъект имеет право записи (давать) объекта, он может предоставить любую из своих прав на этот объект.
Посредством комбинации из указанных выше четырех правил, новый файл может быть добавлен в каталог структуры. И права на чтение или запись, будут назначены согласно правилам использующимся каталогом, в которой этот файл записывается.
Следующие четыре шага необходимы для добавления файла и разрешения права: P1 создает R/W для нового объекта F7; P1 принять t для D1 от D; P1 принять g для D11 с D1; P1 дарить RW от F7 до D11.
Примечания
Ссылки blog.iq74.ru Категория:Информационная безопасность