Курс лекций Защита Информации/Модель Белла-ЛаПадулы: различия между версиями

Содержимое удалено Содержимое добавлено
Новая страница: «В модели всем участникам процесса обработки защищаемой информации и документам, в котор…»
 
Нет описания правки
Строка 23:
* Антисимметричность: <math> \forall a_1 , a_2 \in L : ((a_1 \le a_2) \And (a_2 \le a_1)) \rightarrow a_2 = a_1 </math>, свойство означает, что если информация может передаваться от субъектов и объектов уровня A к субъектам и объектам уровня B, так и от субъектов и объектов уровня B к субъектам и объектам уровня A, то эти уровни эквивалентны.
* Транзитивность: <math> \forall a_1 , a_2 , a_3 \in L : ((a_1 \le a_2) \And (a_2 \le a_3)) \rightarrow a_1 \le a_3 </math>, свойство означает, что если информации может передаваться от субъектов и объектов уровня A к субъектам и объектам уровня B, и от субъектов и объектов уровня B к субъектам и объектам уровня C, то она может передаваться от субъектов и объектов уровня A к субъектам и объектам уровня C.
 
Другое средство решетки заключается в том, что для каждой пары <math>a_1</math> и <math>a_2</math> элементов множества <math>L</math> можно указать единственный эелемент наименьшей верхней границы и единственный элемент наибольшей нижней границы.
 
# <math>a = a_1 \bullet a_2 \Leftrightarrow (a_1,a_2 \le a) \And (\forall a' \mathcal {2} L : (a' \le a) \rightarrow (a' \le a_1 \vee a' \le a_2))</math>
# <math> a = a_1 \otimes a_2 \Leftrightarrow (a \le a_1,a_2 ) \And (\forall a' \mathcal {2} L : (a' \le a_1 \And a' \le a_2) \rightarrow (a' \le a))</math>
 
Смыслэтих определений заключается в том, что для каждой пары элементов всегда можно указать единственный элемент, ограничивающий ее сверху (снизу) таким образом, что между ними с результирующим элементом не будет других элементов.
 
Функция безопасности <math>F</math> назначет каждой паре эелементов из <math>S</math> и <math>O</math> неуоторый уровень безопасности из <math>L</math>, разбивая множество сущностей системы на классы, в пределах которых их свойства с точки зрения модели безопасности яляются эквивалентными. Тогда оператор <math>\le</math> определяет направление потоков информации.
 
Решетка <math>\Lambda</math> используется для описания отношений между уровнями безопасности (элементами множества <math>L</math>), которые могут являться не только целыми числами, для которых определено отношение <math>\le</math>, но и более сложными составными элементами.
 
В государственных организациях достаточно часто в качестве атрибутов безопасности используется комбинация, состоящая из уровня безопасности, представляющего собой целое число, и набора категорий из некоторого множетсва. Такие атрибуты невозможно сравнивать с помощью арифеических операций. В таком случае, отношение доминирования <math>\le</math> определяется как композиция отношений доминирования <math>\le</math> для уровней безопасности и отношения включения множеств <math>\sube</math> для наборов категорий. Отметим, что это никак не сказывается на свойствах модели, так как отношения доминирования <math>\le</math> и включения <math>\sube</math> обладают свойствами ассиметричности, транзитивности и рефлексивности. И, следовательно, их композиция также будет обладать этими свойствами, образуя над множеством атрибутов безопасности решетку.
 
В мандатных моделях функция уровня безопасности <math>F</math> вместе с решеткой урвней определяет все допустимые отношения доступа между сущностями системы, следовательно множество состояний системы <math>U</math> представляется в виде набора упорядоченных пар <math>(F, M)</math>, где <math>M</math> - матрица доступа, отражающая текущую ситуациб с правами доступа субъектов <math>S</math> к объеткам <math>O</math>, содержание которой аналогично матрице прав доступа в модели Хариссона-Руззо-Ульмана, но набор прав ограничен правами ''read'' и ''write''.
 
Модель системы <math>\Sigma (V_0, R, T)</math> состоит из начального состояния <math>V_0</math>, множества запросов <math>R</math> и функции переходов <math>T: (V \times R) \rightarrow V</math>, которая в ходе выполнения запроса переводит систему из одного состояния в другое.
 
Система, находящаяся в сотоянии <math>v \isin V</math>, при получении запроса <math>r \isin R</math> переходит в следующее состояние <math>v^* = T(v, r)</math>. Состояние <math>v</math> достижимо в системе <math>\Sigma</math> тогда и только тогда, когда существует последовательность <math>\{(r_0, \nu_0), ... ,(r_{n-1}, \nu_{n-1}),(r_n, \nu_n)\} : T(r_i, \nu_i)=\nu_{i+1} ~ \forall i = 0,n-1</math>. Состояния системы деляться на безопасные, в которых отношение доступа не противоречит установленным в модели правилам и небезопасные, в которых эти правила нарушаются.
 
Белл-ЛаПадула предложил следующие определение безопастности состояния
# Состояние системы <math>(F, M)</math> называется '''безопасным по чтению''', если для каждого субъекта, осуществляющего в этом состоянии доступ по чтению к объекту, уровень безопасности субъекта доминирует над уровнем безопасности объекта: <math>\forall s \in S, \forall o \in O, r \in M [s,o] \rightarrow F(o) \le F(s)</math>
# Состояние системы <math>(F, M)</math> называется '''безопасным по записи''' в случае, если для каждого субъекта, осуществляющего в этом состоянии доступ по записи к объекту, уровень безопасности объекта доминирует над уровнем безопасности субъекта: <math>\forall s \in S, \forall o \in O, w \in M [s,o] \rightarrow F(s) \le F(o)</math>
# Состояние <math> (F, M) </math> называется '''безопасным''', если оно безопасно по чтению и по записи.
 
в соответствии с предложенными определениями, система <math>\Sigma=(\nu_0, R, T)</math> называется '''безопасной''', если её начальное состояние <math>v_0</math> безопасно, и все состояния, достижимые из <math>\nu_0\</math> путём применения конечной последовательности запросов из <math>R\</math>, безопасны.
 
=== Основная теорема безопасности Белла — Лападулы ===
Система <math> ~\Sigma=( \nu_0, R, T ) </math> безопасна тогда и только тогда, когда выполнены следующие условия:
# Начальное состояние <math> \nu_0\ </math> безопасно.
# Для любого состояния <math> \nu\ </math>, достижимого из <math> \nu_0\ </math> путём применения конечной последовательности запросов из <math> R\ </math>, таких, что <math>~ T( \nu , r ) = \nu^* , \nu = (F, M) </math> и <math>~ \nu^* =(F^*, M^* ) </math>, для <math> \mathcal {8} s \mathcal {2} S, \mathcal {8}o \mathcal {2} O</math> выполнены условия:
## Если <math> r \mathcal {2} M^*[s,o] </math> и <math>r \notin M[s,o] </math>, то <math> F^*(o) \le F^*(s) </math>
## Если <math> r \mathcal {2} M[s,o] </math> и <math>~F^*(s) < F^*(o) </math>, то <math> r \notin M^*[s,o] </math>
## Если <math> w \mathcal {2} M^*[s,o] </math> и <math>w \notin M[s,o] </math>, то <math> F^*(s) \le F^*(o) </math>
## Если <math> w \mathcal {2} M[s,o] </math> и <math>~F^*(o) < F^*(s) </math>, то <math> w \notin M^*[s,o] </math>
{{Доказ1|title=Доказательство теоремы|
Докажем необходимость утверждения<br />
Пусть система <math> ~\Sigma=( \nu_0, R, T ) </math> безопасна. В этом случае начальное состояние <math> \nu_0\ </math> безопасно по определению. Предположим, что существует безопасное состояние <math> \nu^*\ </math>, достижимое из состояния <math> \nu : ~ T (\nu, r ) = \nu^* </math>, и для данного перехода нарушено одно из условий 1-4. Легко заметить, что в случае, если нарушены условия 1 или 2, то состояние <math> \nu^*\ </math> будет небезопасным по чтению, а если нарушены условия 3 или 4 – небезопасным по записи. В обоих случаях мы получаем противоречие с тем, что состояние <math> \nu^*\ </math> является безопасным.
<br /> Докажем достаточность утверждения.<br />
Система <math> ~\Sigma=( \nu_0, R, T ) </math> может быть небезопасной в двух случаях:
# В случае если начальное состояние <math> \nu_0\ </math> небезопасно. Однако данное утверждение противоречит условию теоремы.
# Если существует небезопасное состояние <math> \nu^*\ </math> , достижимое из безопасного состояния <math> \nu_0\ </math> путём применения конечного числа запросов из <math> R\ </math>. Это означает, что на каком-то промежуточном этапе произошёл переход <math> ~T (\nu, r ) = \nu^* </math>, где <math> \nu\ </math> – безопасное состояние, а <math> \nu^*\ </math> - небезопасное. Однако условия 1-4 делают данный переход невозможным.
}}
 
Недостаток основной теоремы Белла-ЛаПадула состоит в том, что ограничения, накладываемые теоремой на функцию перехода совпадают с критериями безопасности сотояний, следовательно данная теорема является избыточной по отношению к определению безопасности состояния. Кроме того, из теоремы следует только то, что все состояния, достижимые из безопасного состояния при определенных ограничениях будут в некотором смысле безопасны, но при этом не гарантируется, что они будут достижими без потери свойства безопасности в процессе осуществления перехода.
 
[[Категория:Защита информации]]