20. Модель Белла-Лападулы как основа построения систем мандатного разграничения доступа. Основные положения модели. Базовая теорема безопасности (BST).
Основные положения модели
Классическая модель Белла-Лападула (БЛ) построена для анализа систем защиты, реализующих мандатное (полномочное) разграничение доступа. Возможность ее использования в качестве формальной модели таких систем непосредственно отмечена в критерии TCSEC ("Оранжевая книга"). Модель БЛ была предложена в 1975 г. Модель основана на правилах секретного документооборота, принятых в государственных и правительственных учреждениях многих стран. Основным положением модели явл. назначение всем участникам процесса обработки защищаемой информации и док-ми, в которых содержится спец.метки (секретно, сов.секретно и т.д.) получившей название – уровень безопасности. Все уровни безопасности основаны на принципе доминирования. Контроль доступа осущ. В зависимости от уровня без-ти взаимодествующих сторон на основании 2 простых правил:
- уполномоченное лицо (субъект) имеет право читать только те документы, уровень безопасности которых не превышает его собственный уровень без-ти (допуск).
- уполномоченное лицо (субъект) имеет право заносить инф. Только в те документы, уровень безопасности которых не ниже его собственного уровня безопасности.
Таким образом, если в дисретных моделях управление доступом происходит путем наделение пользователей полномочиями осущ. определенные операции над определенными объектам, то мандатные модели упр. доступом неявным образом (с помощью назначения S и О системного уровня безопасности), который определяет все допустимые взаимодествия между ними. Следовательно, мандатное определение доступа не различает сущностей, которым присвоен уровень безопасности, ограничения отсутствуют. В тех ситуациях когда управление доступом требует более гибкого подхода, мандатная модель применяется совместно с какой-либо дискретной, которая используется для контроля за взаимодействиями м/у сущностями одного уровня и для утановки дополнительных ограничений.
Пусть определены конечные множества: 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 к объекту о'. Таким образом, *-свойство исключает появление в системе канала утечки информации сверху вниз (пример на рис.) и соответствует требованиям мандатной (полномочной) политики безопасности.

Проверка безопасности системы по определению в большинстве случаев не может быть реализована на практике в связи тем, что при этом требуется проверка безопасности всех реализаций системы, а их бесконечно много. Следовательно, необходимо определить и обосновать иные условия безопасности системы, которые можно проверять на практике. В классической модели БЛ эти условия определяются для множества действий системы 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. Кроме того, возможно использование в системе каких-то других видов доступа субъектов к объектам, которые потребуют доопределения свойств безопасности, что не всегда легко сделать. В связи с этим большое значение имеет корректное определение свойств безопасности.
Проблемы использования модели БЛ
Кроме отмеченной выше проблемы некорректного определения безопасности в модели БЛ возможно возникновение трудностей иного рода, возникающих при использовании модели БЛ в реальных компьютерных системах. Таким образом, без дополнительных уточнений свойств безопасности и порядка написания кода программ классическая модель БЛ не способна предотвратить возникновение некоторых каналов утечки информации. В тоже время слишком строгая политика безопасности может привести к трудностям или даже невозможности практического использования системы защиты. Кроме того, как уже отмечалось выше, доопределение и усложнение свойств безопасности также несет в себе скрытую угрозу.