- •Тема 7. Математические модели анализа политики безопасности информации
- •Москва – 2010
- •Введение
- •1. Основные понятия и определения политики безопасности информации.
- •1.1. Понятие политики безопасности
- •1.2. Понятия доступа и монитора безопасности
- •1.3. Понятие ядра безопасности.
- •2. Математические модели анализа дискреционной политики безопасности информации
- •2.1. Модель матрицы доступов Харрисона-Руззо-Ульмана
- •Рассмотрим вопросы безопасности системы.
- •2.2. Типизованная матрица доступов
- •2.3. Модель распространения прав доступа Take-Grant
- •2.4. Модель Харрисона-Руззо-Ульмана.
- •3. Математические модели мандатной политики управления доступом
- •3.1. Классическая модель системы безопасности Белла-ЛаПадула
- •3.2. Модель безопасности Мак-Лина (безопасная функция перехода)
- •С точки зрения модели уполномоченных субъектов система (vo,r, Ta) считается безопасной в том случае, если:
- •Модель совместного доступа
- •3.3. Модель совместного доступа с уполномоченными объектами
- •3.4. Решетка мандатных моделей безопасности
- •3.5. Применение мандатных моделей безопасности.
С точки зрения модели уполномоченных субъектов система (vo,r, Ta) считается безопасной в том случае, если:
1) начальное
состояние vo
и все состояния, достижимые
из него путем применения конечного
числа запросов из R
являются безопасными по критерию
Белла-ЛаПадула;
2) функция перехода Ta является авторизованной функцией перехода согласно предложенному определению.
Отметим, что из этого определения следует только необходимое условие безопасности системы. В качестве достаточного условия может использоваться совокупность критерия авторизации функции перехода и критериев безопасного состояния Белла-ЛаПадула, либо критериев безопасности функции перехода Мак-Лина.
Модель совместного доступа
Практическое применение всех представленных формулировок мандатной модели безопасности ограничено еще одним фактором — они не учитывают широко распространенные в государственных учреждениях правила, согласно которым доступ к определенной информации или модификация ее уровня безопасности могут осуществляться только в результате совместных действий нескольких пользователей (так называемый групповой доступ). Например, может потребоваться, чтобы гриф секретности документа мог изменяться только с обоюдной санкции его владельца и администратора безопасности. В системе обработки информации это может быть реализовано либо как параллельное выполнение несколькими пользователями специальной программы, изменяющей уровень безопасности, либо последовательной обработкой запроса несколькими пользователями, каждый из которых должен санкционировать его выполнение. Однако на уровне политики безопасности механизм реализации не имеет значения, поскольку он никак не отражается на формальной модели системы.
Для того, чтобы мандатная модель предусматривала совместный доступ, необходимо модифицировать ее следующим образом.
Вместо множества субъектов системы s будем рассматривать множество непустых подмножеств S, которое обозначим как S=(S)\{}. Матрица прав доступа, отражающая текущее состояние доступа в системе, расширяется путем добавления в нее строк, содержащих права групповых субъектов, и обозначим ее как M. Кроме функции уровня безопасности F:SOL для групповых субъектов вводятся дополнительные функции: FL:SL, такая, что FL(s) есть наибольшая нижняя граница множества {F(s)|Ss} и FH:SL, такая, что FH(s) есть наименьшая верхняя граница множества {F(s) | Ss}.
Например, если xS и yS с уровнями безопасности секретно и совершенно секретно соответственно, то для субъекта {x}S FH({х})=FL({х})=секретно, для субъекта {y}S FH({y})=FL({y})=совершенно секретно, но для группового субъекта {x,y}S значением FL({x,y}) является секретно, а значением FH({х,у}) — совершенно секретно.
Соответственно, если право write M[x,o1] и право write M[{x, y},o2], то х имеет индивидуальный доступ записи в o1; а х и у имеют групповой доступ записи в o2, т. е. х и у могут изменять o2, но только в том случае, если они будут делать это совместно.
Критерии безопасности состояния для такой системы формулируются следующим образом:
• состояние системы является безопасным по чтению тогда и только тогда, когда для каждого индивидуального или группового субъекта, имеющего в этом состоянии доступ чтения к объекту, наибольшая нижняя граница множества уровней безопасности этого субъекта доминирует над уровнем безопасности этого объекта: sS, oO, readM[s,o]FL(s)F(o).
• состояние системы является безопасным по записи тогда и только тогда, когда для каждого индивидуального или группового субъекта, имеющего в этом состоянии доступ записи к объекту, уровень безопасности этого объекта доминирует над наименьшей верхней границей множества уровней безопасности этого субъекта: sS, oO, writeM[s,o]F(o)FH(s).
Как и прежде состояние безопасно тогда и только тогда, когда оно одновременно безопасно и по чтению и по записи.
Благодаря тому, что множество уровней безопасности и отношение доминирования образуют решетку, удалось задать функции, определяющие границы множества уровней безопасности групповых субъектов, таким образом, что одни условия безопасности одновременно учитывают как индивидуальные, так и совместные доступы.
Переопределим функцию перехода, которая определяет следующее состояние системы после выполнения определенным субъектом некоторого запроса, как T:(VR)V, где T(v, r)=v*, причем в описании состояния v=((F, FH, FL),M) и v*=((F*, F*H, F*L)*, M*) участвуют три функции уровня безопасности: F - для объектов, FH и FL - наименьшая верхняя и наибольшая нижняя границы для групповых субъектов.
Тогда теорема Белла-ЛаПадула для совместного доступа формулируется следующим образом:
Система (vo, R, T) безопасна тогда и только тогда, когда:
а) начальное состояние vo безопасно и
б) функция перехода Т такова, что для любого состояния v, достижимого из vo путем применения конечной последовательности запросов из R, таких,
что Т(v, r)=v, v=((F, FH, FL), M) и v =((F, FH, F L), M)
для каждого s S и o O выполняются следующие условия:
если read M*[s, o] и read M [s, o], то F*L(s) F*(o);
если read M [s, o] и F*L(s) F*(o) , то read M*[s, o];
если write M*[s, o] и write M [s, o], то F*(o) F*H(s);
если write M [s, o] и F*(o) F*H(s) , то write M*[s, o].
Аналогичные рассуждения можно провести и в отношении множественного доступа к нескольким объектам сразу (групповым объектам), когда в ходе одной операции читаются или записываются сразу несколько объектов. В этом случае множество объектов и матрица прав доступа расширяются аналогичным образом за счет групповых объектов, для которых вводятся аналогичные функции верней и нижней границы уровня безопасности.
Безопасная функция перехода для модели совместного доступа
Общность методов применяемых при построении мандатных моделей безопасности и использование математического аппарата решеток позволяют комбинировать модели практически произвольным образом.
Тот же подход, на основании которого для модели совместного доступа были сформулированы критерии безопасности состояния Белла-ЛаПадула и основная теорема безопасности, позволяет сформулировать для нее критерии безопасного перехода и теорему Мак-Лина.
Для краткости будем использовать обозначение Fs для функции уровня безопасности индивидуальных субъектов.
Значения функций FH и FL границ множества уровней безопасности групповых субъектов однозначно определяются уровнями безопасности составляющих их индивидуальных субъектов. Поэтому если в результате
перехода из одного состояния в другое функция уровня безопасности индивидуальных субъектов Fs осталась без изменений, из этого следует, что значения функций FH и FL также не изменились. С учетом этого определения можно сформулировать критерии безопасного перехода для модели с множественным доступом.
Функция перехода Т для модели совместного доступа считается безопасной по чтению, если для любого перехода T(v, r)=v*, при котором v=((F, FH, FL), M) и v*=((F*, F*H, F*L)*,M*) выполняются следующие три условия:
(1) если read M[s, o] и read M [s, o] то: FL(s) Fo(o) и Fs= Fs, Fo= Fo;
(2) если Fs Fs то: M = M*, Fo= Fo
для s, o для которых FL(s) Fo(o) read M [s, o];
(3) если Fo Fo то: M = M, Fs= Fs
для s, o для которых FL(s) Fo(o) read M [s, o].
Функция перехода T считается безопасной по записи, если для любого перехода T(v, r)=v*, выполняются следующие три условия:
(1) если write M[s, o] и write M [s, o] то: F(o) FH(s) и Fs= Fs, Fo= Fo;
(2) если Fs Fs то: M = M, Fo= Fo
для s, o для которых FH(s) Fo(o) write M [s, o];
(3) если FoFo то: M = M, Fs= Fs
для s, o для которых FH(s) Fo(o) write M [s, o].
Функция перехода является безопасной тогда и только тогда, когда она одновременно безопасна и по чтению и по записи.
Смысл введенных ограничений ничем не отличается от критериев безопасности перехода для классической постановки мандатной модели, но в них учитываются совместные доступы групповых субъектов.
Следовательно, теорема Мак-Лина о свойствах безопасной системы будет верна и для модели совместного доступа, с учетом сформулированного для нее критерия безопасного перехода.