Математические методы анализа политики безопасности. Модели J.Goguen, J.Meseguer (G-M).



Модели G-M - автоматные модели безопасных систем. Начнем с простейшего случая системы с "фиксированной" защитой. Пусть V - множество состояний системы (V - конечное и определяется программами, данными, сообщениями и пр.), С - множество команд, которые могут вызвать изменения состояния (также конечное множество), S - множество пользователей (конечное множество). Смена состояний определяется функцией:

do: V ´ S ´ С®V.

Некоторые действия пользователей могут не разрешаться системой. Вся информация о том, что разрешено ("возможности" пользователей) пользователям сведена в с-таблицу t. В рассматриваемом случае "возможности" в с-таблице tсовпадают с матрицей доступа. Если пользователь не может осуществить некоторую команду с, то

do (v, S, c) = v.

Предположим, что для каждого пользователя S и состояния v определено, что "выдается" этому пользователю (т.е., что он видит) на выходе системы. Выход определяется функцией

out: V´ S®Out,

где Out - множество всех возможных выходов (экранов, листингов и т.д.).

Мы говорим о выходе для пользователя S, игнорируя возможности S подсмотреть другие выходы.

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

Определение. Автомат М состоит из множеств:

S - называемых пользователями;

V - называемых состояниями;

С - называемых командами;

Out - называемых выходами;

и функций:

* выходной функции out: V´ S ® Out, которая "говорит, что данный пользователь видит, когда автомат находится в данном состоянии ";

* функции переходов do: V´S´С®V, которая "говорит, как изменяется состояние автомата под действием команд";

и начального состояния v0.

Системы с изменяющимися "возможностями" защиты определяют следующими образами.

Пусть Capt - множество всех таблиц "возможностей", СС - множество с-команд (команд управления "возможностями"). Их эффект описывается функцией:

cdo: Capt ´ S ´ CC®Capt.

При отсутствии у пользователя S права на с-команду положим cdo(t, S, c)=t. Пусть VC - множество команд, изменяющих состояние. Теперь можем определить С-автомат, который лежит в основе дальнейшего.

Определение. С-автомат М определяется множествами:

S - "пользователи";

V - "состояния";

VC - "команды состояния";

Out - "выходы";

Capt - "с-таблицы";

СС - "с-команды",

и функциями:

* выхода out: V´Capt ´ S®Out, которая "говорит, что данный пользователь видит, когда автомат находится в данном состоянии v, а допуски определяются с-таблицей";

* переходов do: V ´ Capt ´ S ´ VC® V, которая "говорит, как меняются состояния под действием команд";

* изменения с-таблиц cdo: Capt ´ S ´ СС®Capt, которая "говорит, как меняется с - таблица под действием с", и начального состояния, которое определяется с-таблицей t и состоянием v.

Будем считать

C=CCÈVC.

То, что мы определили на языке теории автоматов, называется последовательным соединением автоматов.

Определение. Подмножества множества команд С называются возможностями

Ab=2c.

Если дан С-автомат М, мы можем построить функцию переходов всей системы в множестве состояний V ´ Capt:

cvdo: V ´ Capt ´ S ´ С®V ´ Capt,

где

cvdo(v, t, S, с) = (do(v, t, S, с), t), если cÎ VC,

cvdo(v, t, S, с) = (v, cdo(t, S, c)), если cÎ CC.

Стандартно доопределяется функция cvdo на конечных последовательностях входов

cvdo: V´Capt´(S´С)*®V´Capt

следующим образом:

cvdo(v, t, Nil) = (v, t),

если входная последовательность пустая;

cvdo(v, t, W(S, c))=cvdo(cvdo(v, t, W), S, c)),

где W(S, С) - входное слово, кончающееся на (S,С) и начинающееся подсловом W.

Определение. Если W входное слово, то[[W]] = (..., (vi ti),...), где последовательность состоянии вычисляется в соответствии с определенной выше функцией переходов под воздействием входной последовательности W.

Введем понятие информационного влияния одной группы на другую, смысл которого состоит в том, что используя некоторые возможности одна группа пользователей не влияет на то, что видит каждый пользователь другой группы. Для этого определим [[W]]s - выход для S при выполнении входного слова W С -автомата М:

[[W]]s=out([[W]], S),

где

out([[W]]s, S) = (... out(v, t, S)...),

[[W]] = (..., (vi, ti),...).

Пусть GÍS, AÍC, WÎ(S´C)*.

Определение. Pg(W) - подпоследовательность W, получающаяся выбрасыванием всех пар (S, с) при SÎG, Pa(W) - подпоследовательность W, получающаяся выбрасыванием из W всех пар (S, с) при cÎA, PGA(W) -подпоследовательность W, получающаяся выбрасыванием пар (S, с), SÎG и сÎА.

Пример 1. G={S, Р}, А={с1, с2}.

PGA((S', с), (S, сз), (S, с2), (Р', с))= (S', с), (S, с3), (Р', с). Определим несколько вариантов понятия независимости.

Пусть GÍS, G’ÍS.

Определение. G информационно не влияет на G' (обозначается G: | G'), если "WÎ(S´С)* и "SÎG' [[W]]s = [[PA(W)]]s

Аналогично определяется невлияние для возможностей А (или группы G и возможностей А).

Определение. А информационно не влияет на G (обозначается А: | G), если "WÎ(S´С)* и "SÎG [[W]]s= [[PA(W)]]s

Определение. Пользователи G, используя возможности А, информационно не влияют на G' (обозначается A.G: | G'), если "WÎ(S´С)* и "S´ G' [[W]]s=[[PA(W)]]s.

Пример 2. Если А: | {S}, то команды из А не влияют на выход, выданный S. Если A={create, write, modify, deleted} для файла F, то А: | {S} означает, что информация читаемая S в F не может измениться любой из команд в А. Если F не существовал, то для S будет всегда выдаваться информация, что F не существует.

Определение. Политика безопасности в модели G-М - это набор утверждений о невлиянии.

Пример 3. MLS политика. Пусть L - линейно упорядоченное множество уровней секретности и задано отображение

level: S->L.

Определим: "xÎ L

S[-¥, x] = {Se S | level(S)<x )

S[x,+¥] = {SeS| level(S)>x}.

Определение. MLS политика в модели G-M определяется следующим набором утверждений о невлиянии:

"xÎ L, "x'Î L, х>х',

S[x, +¥]:| S[ - ¥, x'].

Говорят, что GÍS невидимо для остальных пользователей, если G:| , где = S\G.

Используя это понятие легко обобщить определение MLS политики на случай, когда L - решетка.

Определение. MLS политика в модели G-M определяется следующим набором утверждений о невлиянии:

"xÎ L S\S[-¥, х] - невидимо для остальных пользователей.

Пример 4. Одним из важнейших примеров политики безопасности, легко выражаемой в G-M модели, является режим изоляции.

Определение. Группа G называется изолированной,если G:| и :| G.

Система полностью изолирована, если каждый пользователь изолирован.

Пример 5. Контроль канала. В модели G-M канал определяется как набор команд АÍС.

Пусть G, G'ÍS.

Определение. G и G' могут связываться только через канал А тогда и только тогда, когда

и

Пример 6. Информационный поток Пусть а, b, с, d -процессы и А1, A2, Аз - каналы такие, что а, b, с, d могут связываться только по схеме

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

{b, c, d}: | {a} A1, {a}: | {b, c, d}

{c, d}: | {b} A2, {b}: | {c}

{c}: | {d} A3, {b}: | {d}

{d}: | {c}

 

 


Дата добавления: 2016-01-05; просмотров: 13; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!