Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TOKB.doc
Скачиваний:
311
Добавлен:
17.03.2015
Размер:
3.07 Mб
Скачать

4.3. Модель системы безопасности белла-лападула Основные положения модели

Классическая модель Белла-Лападула (БЛ) построена для анализа систем защиты, реализующих мандатное (полномочное) разграничение доступа. Возможность ее использования в качестве формальной модели таких систем непосредственно отмечена в критерии TCSEC ("Оранжевая книга"). Модель БЛ была предложена в 1975 г. [3]. Однако ее полное опи­сание до сих пор недоступно, поэтому мы приведем его в урезанном виде по [1] и [10].

Пусть определены конечные множества: S-множество субъектов системы (например, пользователи системы и программы); О-множество объектов системы (например, все системные файлы); R={read, write, append, execute} - множество видов доступа субъектов из S к объектам из О, где read - доступ на чтение, write-на запись, append-на запись в ко­нец объекта, execute - на выполнение.

Обозначим:

B = {bSОR}-множество возможных множеств текущих доступов в системе;

М-матрица разрешенных доступов, где МsoR-разрешенный доступ субъекта s к объекту о;

L -множество уровней секретности, например L={U,C,S,TS}, где

U<C<S<TS;

(fs,fo,fc)F=Lsx Lox Ls - тройка функций (fs,fo,fc), определяющих:

  • fs: SL- уровень допуска субъекта;

  • fo: OL-уровень секретности объекта;

  • fc: SL-текущий уровень допуска субъекта, при этомsSfc(s)≤ fs(s);

H-текущий уровень иерархии объектов (далее не рассматривается);

V=B x M x F x H- множество состояний системы;

Q- множество запросов системе;

D - множество решений по запросам, например {yes, no, error};

WQ x D x V xV - множество действий системы, где четверка (q,d,v2,v1,)W означает, что система по запросу q с ответом d перешла из состояния v1 в состояние v2,

N0- множество значений времени (N0 =0,1,2,...);

X - множество функций х: N0Q, задающих все возможные последова­тельности запросов к системе;

У-множество функций у: N0D, задающих все возможные последова­тельности ответов системы по запросам;

Z -множество функций z: N0V, задающих все возможные последова- тельности состояний системы.

Определение 1. (Q,D,W,z0)X x V xZ называется системой, если вы­полняется (x,y,z)(Q,D,W,z0) тогда и только тогда, когда (xt,yt,zt+1,zt) W для каждого, tN0 где z0-начальное состояние системы. При этом каж­дый набор (x,y,z)(Q,D,W,z0)называется реализацией системы, a (xt,yt,zt+1,zt) W - действием системы tN0.

Безопасность системы определяется с помощью трех свойств:

1) ss-свойства простой безопасности (simple security);

2) *- свойства "звезда";

3)ds - свойства дискретной безопасности (discretionary security). Определение 2. Доступ (s,o,r)SOR обладает ss-свойством отно­сительно f=(fs,fo,fc)F. если выполняется одно из условий:

• r{execute, append};

• r{read, write} и fs(s)fo(o).

Определение З. Состояние системы (b,M,f,h)V обладает ss-свой­ством, если каждый элемент (s,o,r)b обладает ss-свойством относи­тельно f.

Определение 4. Доступ (s,o,r)SOR удовлетворяет *-свойству от­носительно f=(fs,fo,fc)F, если выполняется одно из условий:

• r=execute;

• r=append и fo(o)=fc(s);

• r=read и fc (s)= fo(o);

• r=write и fc (s)= fo(o).

Определение 5. Состояние системы (b,M,f,h)V обладает *-свойством, если каждый элемент (s, о, г)Ь обладает *-свойством относительно f.

Определение 6. Состояние системы (b,M,f,h)V обладает *-свойст­вом, относительно подмножества S'S, если каждый элемент (s,o,r)b, где sS'обладает *-свойством относительно f. При этом S\S' называются множеством доверенных субъектов, т. е. субъектов, имеющих право нару­шать политику безопасности.

Определение 7. Состояние системы (b,M,f,h) V обладает ds-свойством, если для каждого элемента (s,o,r) b выполняется rMso.

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

Определение 9. Реализация системы (x,y,z)(Q,D,W,zo) обладает ss-свойством (*-свойством, d-свойством), если в последовательности (z0,z1,...) каждое состояние обладает ss-свойством (*-свойством, ds-свой­ством).

Определение 10. Система (Q,D,W,zo) обладает ss-свойством (*-свой­ством, ds-свойством), если каждая ее реализация обладает ss-свойством (*-свойством, ds-свойством).

Определение 11. Система (Q,D,W,zo) называется безопасной, если она обладает ss-свойством, *-свойством, ds-свойством одновременно.

Прокомментируем введенные выше свойства безопасности системы. Во-первых, из обладания доступом *-свойством относительно f следует обладание этим доступом ss-свойством относительно f. Во-вторых, из об­ладания системой ss-свойством следует, что в модели БЛ выполняется запрет на чтение вверх, принятый в мандатной (полномочной) политике безопасности. Кроме того, ss-свойство не допускает модификацию с ис­пользованием доступа write, если fs(s) <fo(o). Таким образом, функция fs(s) определяет для субъекта s верхний уровень секретности объектов, к кото­рым он потенциально может получить доступ read или write.

В-третьих, поясним *-свойство. Если субъект s может понизить свой текущий доступ до fc(s) = fo(о), то он может получить доступ write к объекту о, но не доступ read к объекту о', с уровнем fo(о')>fc(s). Хотя при этом, возможно, выполняется fs(s)= fo(о') и в каких-то других состояниях систе­мы субъект s может получить доступ read к объекту о'. Таким образом, *-свойство исключает появление в системе канала утечки информации сверху вниз (пример на рис. 4.10) и соответствует требованиям мандатной (полномочной) политики безопасности.

Проверка безопасности системы по определению в большинстве случаев не может быть реализована на практике в связи тем, что при этом требуется проверка безопасности всех реализаций системы, а их беско­нечно много. Следовательно, необходимо определить и обосновать иные условия безопасности системы, которые можно проверять на практике. В классической модели БЛ эти условия определяются для множества дей­ствий системы W.

Теорема А1. Система (Q, D, W, zo) обладает ss-свойством для любо­го начального состояния zo, обладающего ss-свойством, тогда и только тогда, когда (q,d,(b*, М*,f*,h*), (b, M,f, h)) W удовлетворяет условиям:

Условие 1. (s,o,r) b*\b обладает ss-свойством относительно f*.

Условие 2. Если (s,o,r)b и не обладает ss-свойством относительно f*, то (s,o, г) b*.

Доказательство.

Достаточность. Пусть выполнены условия 1 и 2 и пусть (x,y,z)  (Q,D, W,zo) - произвольная реализация системы. Тогда (хt,yt,(bt+1, Mt+1, ft+1,ht+1)(bt, Mt, ft, ht)) W, где zt+1 = (bt+1, Mt+1, ft+1, ht+1), zt = (bt, Mt, ft, ht) для tN0.

Для любого (s,o,r)  bt+1 выполняется или (s,o,r)  bt+1\bt, или (s,o,r)bt. Из условия 1 следует, что состояние системы zt+1 пополнилось досту­пами, которые обладают ss-свойством относительно f*. Из условия 2 сле­дует, что доступы из bt, которые не обладают ss-свойством относительно f* не входят в bt+1. Следовательно (s,o,r)  bt+1 обладают ss-свойством относительно f* и по определению состояние zt+1 обладает ss-свойством для tNo. Так как по условию и состояние zo обладает ss-свойством, то выбранная нами произвольная реализация (x,y,z) также обладает ss-свойством. Достаточность доказана.

Необходимость. Пусть система  (Q,D,W,zo) обладает ss-свойством. Бу­дем считать, что в множество W входят только те действия системы, кото­рые используются в ее реализациях. Тогда (q,d,(b*,M*,f*,h*),(b,M,f,h))W (x,y,z) (Q,D,W,zo) и tN0: (q,d,(b*,M*,f*,h*),(b,M,f,h))= (хt,yt,zt+1,zt). Так как реализация системы (x,y,z) обладает ss-свойством, то и со­стояние zt+1 = =(b*,M*,f*,h*) обладает ss-свойством по определению. Сле­довательно, условия 1 и 2 очевидно выполняются. Необходимость дока­зана.

Теорема А2. Система  (Q,D,W,zo) обладает *-свойством относи­тельно S'S для любого начального состояния zo, обладающего *-свой­ством относительно S', тогда и только тогда, когда (q,d,(b*,M*,f*,h*),(b,M,f,h))W удовлетворяет условиям:

Условие 1. sS', (s,o,r) b*\b обладает *-свойством относительно f*.

Условие 2. sS', если (s,o,r) b и не обладает *-свойством относи­тельно f*, то (s,o.r) b*.

Доказательство. Аналогично доказательству теоремы А1.

Теорема A3. Система  (Q,D,W,zo) обладает ds-свойством для любо­го начального состояния zo, обладающего ds-свойством, тогда и только тогда, когда (q,d,(b*,M*,f*,h*),(b,M,f,h))W удовлетворяет условиям:

Условие 1. (s,o,r)b*\b, выполняется rmso.

Условие 2. Если (s,o,r)b и rmso, то (s,o,r) b*.

Доказательство. Аналогично доказательству теоремы А1.

Теорема BST (Basic Security Theorem). Система  (Q,D,W,zo) безо­пасна тогда и только тогда, когда zo безопасное состояние и множество действий системы W удовлетворяет условиям теорем А1, А2, A3.

Доказательство. Теорема BST следует из теорем А1, А2, A3.

Описанная выше классическая модель БЛ предлагает общий подход к построению систем, реализующих мандатную (полномочную) политику безопасности. В модели БЛ определяется, какими свойствами должны обладать состояния и действия системы, чтобы она была безопасной со­гласно определению 11. В то же время в модели не указывается конкрет­но, что должна делать система по запросам на доступ субъектов к объек­там при переходе из состояния в состояние, как конкретно должны при этом изменяться значения элементов модели.

Пример 1. Воспользуемся рис. 4.10. Пусть субъект s запрашивает доступ read к объекту о'. В данной ситуации система может выбрать один из двух возмо­жных путей:

1) запретить субъекту s запрашиваемый им доступ read на объект о';

2) закрыть доступ write субъекта s к объекту о; повысить текущий уровень сек­ретности fc(s) до High, разрешить субъекту s запрашиваемый им доступ read к объекту о'.

Каждый из описанных путей соответствует требованиям безопасности модели БЛ.

В реальных системах возможны более сложные ситуации, чем ситуа­ция, описанная в примере 1. Кроме того, возможно использование в сис­теме каких-то других видов доступа субъектов к объектам, которые потре­буют доопределения свойств безопасности, что не всегда легко сделать. В связи с этим большое значение имеет корректное определение свойств безопасности.

Ниже по [10] приводится пример некорректного определения безо­пасности в модели БЛ, где вместо *-свойства используется абсурдное с точки зрения здравого смысла -свойство. Однако при этом не возникает никаких противоречий в логике доказательства теорем, определяющих условия безопасности системы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]