1.2.7. Модели мандатного доступа

Классической моделью, лежащей в основе построения многих систем мандатного доступа является модель Белла и Лападула (БЛМ), описание которой приводится далее по [6] на основе [63].

Классы объектов предполагаются неизменными. Определены конечные множества S, О, R, L.

S — множество субъектов системы;

О — множество объектов, не являющихся субъектами;

R — множество прав доступа; R = {read (r), write(w), execute (е), append (а)};

L — уровни секретности.

(Скорее всего, как и в предыдущей модели, субъекты обязательно являются объектами, но обратное не всегда справедливо. Если — да, то зачем выделять как множество S некоторое подмножество O? Если субъект не является объектом, то зачем описывать множество O?)

Множество V состояний системы определяется произведением множеств: , где сомножители определяются следующим образом:

В — множество текущих доступов и есть подмножество множества подмножеств произведения . Множество подмножеств обозначается В обозначаются b, и они представляют в текущий момент t графы текущего доступа (в каждый момент субъект может иметь только один вид доступа к данному объекту).

(Если В есть подмножество, то чем это подмножество отличается от других подмножеств , и причем здесь графы, а, например, не матрицы? Кстати, матрица разрешенных доступов далее вводится. Откуда появляется «граф текущего доступа», и что такое «доступ» в терминологии теории графов, или теории матриц?).

М — матрица разрешенных доступов, M=|Mij|, MijÍR.

F — подмножество множества , где каждый элемент , - вектор, который состоит из трех компонент, каждая из которых тоже вектор (или отображение):

 — уровень допуска субъектов (это некоторое отображение f: S->L);

 — уровень секретности объектов (это некоторое отображение f: O->L);

 — текущий уровень секретности субъектов (это тоже некоторое отображение f: S->L).

Элементы подмножества F, которые допущены для определения состояния, должны удовлетворять соотношению:

Н — текущий уровень иерархии объектов, в [63] этот уровень не изменяется, совпадает с  и далее не рассматривается.

Элементы множества V состояний обозначаются через v.

Определены множества: Q — запросов в систему; D — решений по поводу запросов (D = {yes, nо, error}).

Множество W действий системы определено как

Каждое действие системы (q, d, v2, v1) имеет следующий смысл: если система находилась в данный момент в состоянии   поступил запрос q, то принято решение d и система перешла в состояние

Пусть Т — множество значений времени (T=N — множество натуральных чисел).

Определен набор из трех функций (х, у, z). x: T->Q, у: T->D, z: T->V, и обозначены множества таких функций X, Y, Z соответственно.

Рассмотрим и определим понятие системы в БЛМ.

Определение 1. Системой å(Q, D, W, называется подмножество такое, что (x, y, z)Îå(Q, D, W, ÛÎ W для каждого значения tÎT, где  — начальное состояние системы.

Определение 2. Каждый набор (х, у, z)Îå(Q, D, W, называется реализацией системы.

Определение 3. Если (х, у, z) — реализация системы, то каждая четверка  называется действием системы.

Определение 4. Тройка (S, О, X)ÎS´O´R удовлетворяет свойству простой секретности (ss-свойство) относительно f, если X=execute, или X=append, или, если X=read и fs(S)fo(O), или X=write и fs(S)f0(О).

Определение 5. Состояние v=(b, М, f, h) обладает ss-свойством, если для каждого элемента (S,О,Х)ÎB этот элемент обладает ss-свойством относительно f.

Определение 6. Состояние v=(b, М, f, h) обладает *-свойством, если для каждого (S, О, X)ÎB при X=write текущий уровень субъекта fc(S) равен уровню объекта f0(O), или при X=read fc(S) 0(O), или при X=append fo(O)c(S).

Определение 7. Состояние обладает *-свойством относительно множества субъектов S', S'ÎS, если оно выполняется для всех троек (S, О, X) таких, что SÎS'

Определение 8. Субъекты из множества S\S' называются доверенными.

Определение 9. Состояние v=(b, М, f, h) обладает ds -свойством, если "(S, О, X)Îb=>XÎmso, где M=||mso||- матрица доступа состояния v, т. е.  доступы из множества текущих доступов для  и  находятся в матрице разрешенных доступов.

Определение 10. Состояние v = (b, М, f, h) называется безопасным, если оно обладает одновременно ss-свойством, *- свойством относительно S' и ds-свойством.

Из определения ss-свойства следует, что в безопасном состоянии возможно чтение вниз, кроме того, ss-свойство определяет ограничение на возможность модификации, которое связано с writefs(S)O).

Объясним *-свойство. Если субъект может понизить свой текущий допуск до fc(S)=f0(O), то, согласно *-свойству, он может писать в объект. При этом он не может читать объекты на более высоких уровнях, хотя допуск fs(S) ему это может позволить. Тем самым исключается возможный канал утечки:

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

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

Определение 11. Реализация (х, у, z) системы å(Q, D, W, обладает ss-свойством (*-свойством, ds- свойством), если в последовательности (z0, z1,.....) каждое состояние zn обладает ss-свойством (*-свойством, ds-свойством).

Определение 12. Система обладает ss-свойством (соответственно, *-свойством, ds-свойством), если каждая ее реализация обладает ss-свойством (соответственно, *-свойством, ds-свойством).

Определение 13. Система называется безопасной, если она обладает одновременно ss-свойством, *-cвойством и ds - свойством.

Теорема A1. å(Q, D, W, обладает ss -свойством для любого начального z0, которое обладает ss-свойством тогда и только тогда, когда W удовлетворяет следующим условиям для каждого действия (q, d, (b*, М*, f*, h*), (b, М, f, h)):

(1) "(S, 0, Xb*| b обладает ss-свойством относительно f*;

(2) если (S, О, Xb и не обладает ss-свойством относительно f*, то (S, О, Xb*.

Теорема A2. Система å(Q, D, W, обладает *- свойством относительно S' для любого начального состояния , обладающего *-свойством относительно S' тогда и только тогда, когда W удовлетворяет следующим условиям для каждого действия (q, d, (b*, М*,f*, h*), (b, М, f, h)):

(I)  "SÎS, "(S, O, Xb*\ b обладает *-свойством относительно f*;

(II) "SÎS, "(S, O, Xb и (S, O, X) не обладает *-свойством относительно f*, то (S, O, Xb*.

Теорема АЗ. Система å(Q, D, W, обладает ds-свойством тогда и только тогда, когда для любого начального состояния, обладающего ds-свойством, W удовлетворяет следующим условиям для любого действия (q, d, (b*, М*,f*, h*), (b, М, f, h)):

(I)  (S, О, Xb*| b, то ХÎmso*,

(II) (S, O, Xb*| b, XÏmso*, то (S, 0, Xb*.

Теорема (Basic Security Theorem). Система å(Q, D, W, — безопасная тогда и только тогда, когда  — безопасное состояние и W удовлетворяет условиям теорем A1, А2, АЗ для каждого действия.

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

Как отмечено выше, *-свойство позволяет субъекту понижать его текущий допуск до уровня секретности объекта и при этом не дает возможности читать из объекта с более высоким уровнем секретности.

Предположим, что субъект S получил доступ read к объекту write к объекту

Приведенный пример демонстрирует возможный канал утечки, при том, что не происходит нарушения политики безопасности, т. е. все действия субъекта являются правомерными.

Исключить ситуацию, подобную данной, возможно только лишь при условии, что система не обладает памятью. Данное ограничение, очевидно, является неприменимым к наиболее часто используемым системам.

Рассмотренное конечное множество прав доступа R={read, write, execute, append} обеспечивает работу системы, а именно, доступ субъектов к интересующим их объектам, только на прикладном уровне.

Комментарий. Трудно сказать что-либо определенное о модели БЛМ, кроме того, что она базируется на огромном количестве плохо определенных и/или заданных множеств. Достаточно только перечислить часть из них: S, O, R, L, B, M, F, H, = B´M´F´H, = S´O´R, X, Y, Z, X´Y´Z, Ls, Lc, Lo, = Ls´Lc´Lo, Q, D, T, N, = Q´D´V´V, (Q, D, W, z) и др. А ведь сюда еще надо добавить векторные пространства с неопределенными свойствами, матрицы с незаданными операциями, функции, которые не функции, права и доступы с неясной математической интерпретацией.

Коль скоро в рассмотрении вводятся вектора, то, по крайней мере, должно быть задано начало координат, определены характеризующие векторное пространство F операции умножения вектора на скаляр и векторного сложения. Кроме того, множество F  должно быть кольцом (замкнутым относительно операций пересечения и симметрической разности). Создается впечатление, что указанные положения авторам модели незнакомы. Во всяком случае, их выполнение крайне неочевидно. Огромная загадка, что же такое множество матриц разрешенных доступов M=|Mij|, Mij Í R? Судя по тексту, это множество не только состоит всего из одной матрицы, но одновременно является подмножеством множества «прав доступа» R = {read (r), write(w), execute (е), append (а)}. Всякая функция есть отображение, но далеко не всякое отображение есть функция, для этого отображение должно быть определено на множестве чисел, но не на множестве элементов произвольной природы, в частности, множестве операций. 

В модели надо определить математически, а что же именно защищается, выделить участников доступа, математическую сущность права, операции и т. п. Возможны две формы отображения электронной информации: статическое в аналоговом виде — в устройствах памяти, динамическое в цифровом виде — как процесс преобразования. Модель сводит динамику к статике, рассматривая «объекты-субъекты» и «объекты-несубъекты». Наверное, как можно догадаться, это активизированный файл и файл в памяти. Отсюда автоматически вытекает, что рассматриваемая  модель априорно слишком схематична. Это все равно, как изучать поведение функции только по ее значениям, отбрасывая понятия производных, интеграла и т. д. Можно, но не эффективно.

Жизненный цикл электронного документа протекает в трех средах: социальной (права), аналоговой (память), электронной (процесс). Существуют, по меньшей мере, два класса требований к защите документа: технологические — например, обеспечение доступности и целостности ЭлД; и социальные — конфиденциальность, секретность, обеспечение аутентификации ЭлД. Если при анализе первых достаточно рассматривать только электронную среду, то для исследования последних необходимо кардинально изменить модель, вводя мыслящего субъекта, т. е. качественно изменяя среду моделирования. Вместо этого в модели БЛМ вводится неопределенное «право доступа», маскируемое совместным использованием несовместимых языков описания: с одной стороны — «читать», «писать», «добавить», «уничтожить»; с другой стороны, язык математики — «декартово произведение множеств», «множество всех подмножеств», «векторное пространство», «граф текущего доступа», «функция».

Известно, что из «белого шума» можно выделить любую последовательность. Точно так же, из белого шума терминологии модели можно получить любое правильное заключение. Но можно — и неправильное, если заранее ответ неизвестен. Скорее всего, цитированная базовая теорема безопасности правильно определяет достаточные условия безопасности, но являются ли эти условия необходимыми — уже не очевидно.

<<Назад   Оглавление   Далее>>