Модель Take-Grant

Модель Take-Grant (от англ. take — «брать», англ. grant — «давать») — формальная модель, применяемая в области компьютерной безопасности для анализа систем дискреционного управления доступом. Модель используется для проверки защищённости автоматизированных систем, которые должны соответствовать определённым требованиям безопасности. В рамках модели система представляется в виде направленного графа, где узлы соответствуют либо объектам, либо субъектам[1]. Дуги между ними имеют метки, отражающие права, которыми располагает объект или субъект (узел). В модели выделяются два основных правила — «брать» и «давать», которые определяют допустимые преобразования в графе. Всего присутствует четыре преобразования:

  • правило «брать»;
  • правило «давать»;
  • правило «создать»;
  • правило «удалить».

Позволяет воспроизвести возможные состояния системы в зависимости от распределения и изменения прав доступа и, соответственно, проанализировать потенциальные угрозы для системы. На базе классической модели разработана расширенная версия, применяемая для оценки рисков несанкционированного доступа и утечки информации[2].[3]

Обычная модель

  • O — множество объектов (файлы, сегменты памяти и др.);
  • S — множество субъектов (пользователи, процессы системы);
  • R = {r1, r2, r3, r4, …, rn} ∪ {t, g} — множество прав доступа;
  • t (take) — право брать «права доступа»;
  • g (grant) — право давать «права доступа»;
  • G = (S, O, E) — конечный помеченный ориентированный граф без петель;
  • ⊗ — объекты, элементы множества O[4];
  • • — субъекты, элементы множества S[4];
  • E ∈ O × O × R — дуги графа.

Состояние системы описывается соответствующим графом.

Преобразование G в граф G'  — это применение правила и обозначается как:

Правило «брать»

Брать = take(r, x, y, s), r ∈ R. Пусть s ∈ S, x, y ∈ O — вершины графа G.

Тогда граф G:

Take rule Take-grant protection model.svg

То есть субъект S берёт у объекта X право r на объект Y.

Для применения правила должны выполняться следующие формальные условия: инициатор действия должен являться субъектом, обладать правом t (take) на исходный объект, который имеет передаваемые права на целевой объект; запрашиваемые права должны быть подмножеством имеющихся, а субъект и целевой объект не должны совпадать[5][6].

В результате выполнения правила в граф добавляется новое ребро от субъекта к целевому объекту с полученным правом[5][6].

Правило «давать»

Давать = grant(r, x, y, s), r ∈ R. Пусть s ∈ S, x, y ∈ O — вершины графа G.

Тогда граф G:

Grant rule Take-grant protection model.svg

То есть субъект S даёт объекту X право r на объект Y.

Для выполнения правила должны выполняться следующие предусловия: инициатор должен быть субъектом, обладать правом g (grant) на объект-получатель и передаваемым правом на целевой объект (передаваемое право должно быть подмножеством имеющегося), при этом получатель и целевой объект должны различаться[7].

Правило «создать»

Создать = create(p, x, s), r ∈ R. Пусть s ∈ S, x, y ∈ O — вершины графа G.

Тогда граф G:

Create rule Take-grant protection model.svg

То есть субъект S создаёт новый объект или субъект X с p-правами[8].

Правило «удалить»

Удалить = remove(r, x, s), r ∈ R. Пусть s ∈ S, x, y ∈ O — вершины графа G.

Тогда граф G:

Remove rule Take-grant protection model.svg

То есть субъект S удаляет право доступа r на объект X, при этом из множества дуг графа удаляется только дуга с конкретной меткой права r, а не всё ребро между вершинами[9].

Для выполнения правила должны соблюдаться следующие условия: субъект S и объект X должны быть различными вершинами, субъект S должен обладать некоторым набором прав доступа к объекту X, а удаляемое право r должно быть подмножеством этого набора[10].

Примеры реализации

В графе P1 и P2 представляют субъекты (возможные пользователи), а Ds и Fs обозначают объекты — каталоги и файлы соответственно. Право «чтение» заменено на правило «брать» для всех уровней, кроме непосредственно файловых уровней в каталогах. Право «записи» также трансформировано через правило «давать». Из этого графа видно: если субъект обладает правом чтения (брать) объекта, то он может получить право чтения любых других объектов, на которые этот объект имеет какие-либо права. Аналогично, если субъект имеет право записи (давать) объекта, он способен делегировать любые свои права на этот объект.

undefined

Посредством комбинации указанных выше четырёх правил в структуру каталогов может быть добавлен новый файл, а права на чтение или запись определяются согласно действующим правилам каталога, в который записывается этот файл.

Пример последовательности операций для добавления файла и назначения прав:

  1. P1 создаёт права R/W для нового объекта F7;
  2. P1 получает право t для D1 от D;
  3. P1 получает право g для D11 от D1;
  4. P1 делегирует права RW от F7 к D11.
undefined

Расширенная модель

В расширенной модели Take-Grant дополнительно рассматриваются права на чтение (r) и запись (w). Также вводятся правила де-факто (post, spy, find, pass и другие), применение которых формирует в графе доступов мнимые дуги. Эти дуги изображаются пунктиром, помечаются правами r или w и указывают направления информационных каналов в системе[11].[12]

Основной механизм анализа включает применение правил де-факто и вычисление замыкания графа с учётом стоимости[13].[14] Расширенная модель позволяет учитывать доступ и риски утечки информации через неограниченное количество посредников с использованием алгоритмов поиска tg-путей, островов и мостов[15].[16]

Примечания

  1. Lipton, R. J.; Snayder, L. (1977). “A linear time algorithm for deciding subject security”. Journal of ACM [англ.]. 24 (3): 455—464. Дата обращения 2024-06-14. |access-date= требует |url= (справка)
  2. Модели оценки рисков несанкционированного доступа и утечки информации на основе модели Take-Grant. Техносфера. Дата обращения: 27 августа 2026.
  3. Модели оценки рисков несанкционированного доступа и утечки информации на основе модели Take-Grant. Dissercat. Дата обращения: 27 августа 2026.
  4. 1 2 Графическое представление прав доступа в модели Take-Grant. ppt-online.org. Дата обращения: 27 августа 2026.
  5. 1 2 Модель защиты Take-Grant. ofsky0.narod.ru. Дата обращения: 27 августа 2026.
  6. 1 2 Модель защиты Take-Grant. StudFiles. Дата обращения: 27 августа 2026.
  7. Модель Take-Grant. Правило grant. StudFiles. Дата обращения: 27 августа 2026.
  8. Формальная модель Take-Grant. Studfile. Дата обращения: 27 августа 2026.
  9. Модель защиты Take-Grant. ofsky0.narod.ru. Дата обращения: 27 августа 2026.
  10. Модель защиты Take-Grant. Правило Remove. StudFile. Дата обращения: 27 августа 2026.
  11. Модель Take-Grant. Studfile. Дата обращения: 27 августа 2026.
  12. Модель Take-Grant. PPT-Online. Дата обращения: 27 августа 2026.
  13. Модель Take-Grant. Studfile. Дата обращения: 27 августа 2026.
  14. The Take-Grant Protection Model. seclab.cs.ucdavis.edu. Дата обращения: 27 августа 2026.
  15. Модели оценки рисков несанкционированного доступа и утечки информации на основе модели Take-Grant. Техносфера. Дата обращения: 27 августа 2026.
  16. Алгоритмы анализа безопасности состояний компьютерной системы для модели Take-Grant. КиберЛенинка. Дата обращения: 27 августа 2026.

Категории