Модель Белла и Лападула
Модель, получившая название модели Белла и Лападула (БЛМ), до сих пор оказывает огромное влияние на исследования и разработки в области компьютерной безопасности. Об этом свидетельствует огромное количество различных документов, ссылающихся в библиографии на первоначальную БЛМ. Данная модель лежит в основе построения МАС. Идеи, заложенные в БЛМ, могут быть использованы при построении различных политик безопасности.
Идеи, лежащие в основе БЛМ, берут происхождение из "бумажного мира". Белл и Лападула перенесли модель безопасности, принятую при работе с документами, в мир компьютерных систем. Основным наблюдением, сделанным Беллом и Лападулой, является то, что в правительстве США все субъекты и объекты ассоциируются с уровнями безопасности, варьирующимися от низких уровней (неклассифицированных) до высоких (совершенно секретных). Кроме того, они обнаружили, что для предотвращения утечки информации к неуполномоченным субъектам этим субъектам с низкими уровнями безопасности не позволяется читать информацию из объектов с высокими уровнями безопасности. Это ведет к первому правилу БЛМ.
Простое свойство безопасности, также известное как правило "нет чтения вверх" (NRU), гласит, что субъект с уровнем безопасности xs может читать информацию из объекта с уровнем безопасности xо, только если xs преобладает над xо. Это означает, что если в системе, удовлетворяющей правилам модели БЛМ, субъект с уровнем доступа секретный попытается прочитать информацию из объекта, классифицированного как совершенно секретный, то такой доступ не будет разрешен.
Белл и Лападула сделали дополнительное наблюдение при построении своей модели: в правительстве США субъектам не позволяется размещать информацию или записывать ее в объекты, имеющие более низкий уровень безопасности. Например, когда совершенно секретный документ помещается в неклассифицированное мусорное ведро, может произойти утечка информации. Это ведет ко второму правилу БЛМ.
Свойство –*, известное как правило "нет записи вниз" (NWD), гласит, что субъект безопасности xs может писать информацию в объект с уровнем безопасности xо только если xо преобладает над xs. Это означает, что если в системе, удовлетворяющей правилам модели БЛМ, субъект с уровнем доступа совершенно секретный попытается записать информацию в неклассифицированный объект, то такой доступ не будет разрешен. Введение свойства –* разрешает проблему троянских коней, так как запись информации на более низкий уровень безопасности, типичная для троянских коней, запрещена.
Правило запрета по записи является большим упрощением некоторых реализаций БЛМ. Так, некоторые описания включают более детальное понятие типа доступа (например такие, как добавление и выполнение). Помимо этого многие модели БЛМ включают понятие дискретной защиты с целью обеспечения хорошо гранулированной защиты при сохранении всех преимуществ БЛМ.
Правила запрета по записи и чтению БЛМ отвечают интуитивным понятиям того, как предотвратить утечку информации к неуполномоченным источникам.
Рассмотрим формализацию БЛМ. Обозначим через:
S – множество субъектов;
О – множество объектов;
L – решетка уровней безопасности;
F : S O→L – функция, применяемая к субъектам и объектам; данная функция определяет уровни безопасности своих аргументов в данном состоянии;
V – множество состояний – множество упорядоченных пар (F, M), где М – матрица доступа субъектов системы к объектам.
Система представляется начальным состоянием v0, определенным множеством запросов к системе R и функцией переходов Т : (V×R)→V такой, что система переходит из состояния в состояние после исполнения запроса. Сформулируем определения, необходимые для доказательства основной теоремы безопасности (ОТБ), доказанной для БЛМ.
Определение 12.1.Состояние (F, M) безопасно по чтению (NRU) тогда и только тогда, когда для s S и для o О, чтение М[s, o]→F(s) F(o).
Определение 12.2. Состояние (F, M) безопасно по записи (NWD, *-свойство) тогда и только тогда, когда для s S и для о О, запись М[s, o]→F(o)≥F(s).
Определение 12.3. Состояние безопасно тогда и только тогда, когда оно безопасно по чтению и записи.
Теорема (ОТБ). Система (v0, R, T) безопасна тогда и только тогда, когда состояние v0 безопасно и Т таково, что для любого состояния v, достижимого из v0 после исполнения конечной последовательности запросов из R, T(v, c) = v*, где v = (F, M) и v* = (F*, M*), переходы системы (Т) из состояния в состояние подчиняются следующим ограничениям для s S и для o О:
- если чтение M*[s, o] и чтение ∉M[s, o], то F*(s)≥F*(o);
- если чтение M[s, o] и F*(s)<F*(o), то чтение ∉M*[s, o];
- если запись M*[s, o] и запись ∉M[s, o], тоF*(о)≥F*(s);
- если запись M[s, o] u F (o)<F (s), то запись ∉ М*[s, o].
Доказательство
1. Необходимость. Предположим, система безопасна. Состояние v0 безопасно по определению. Если имеется некоторое состояние v, достижимое из состояния v0 после исполнения конечной последовательности запросов из R таких, что T(v, c) = v*, хотя v* не удовлетворяет одному из двух первых ограничений для Т, то v* будет достижимым состоянием, но противоречащим ограничению безопасности по чтению. Если v* не удовлетворяет одному из двух последних ограничений для T, то v* будет достижимым состоянием, но противоречащим ограничению безопасности по записи. В любом случае система небезопасна.
2. Достаточность. Предположим, что система небезопасна. В этом случае либо v0 должно быть небезопасно, либо должно быть небезопасно состояние v, достижимое из состояния v0 после исполнения конечной последовательности запросов из R. Если v0 небезопасно – все доказано. Если v0 безопасно, допустим, что v* – первое в последовательности запросов небезопасное состояние. Это означает, что имеется безопасное состояние v такое, что T(v, c)=v* , где v* – небезопасно. Но это противоречит четырем ограничениям безопасности на Т.
Теорема доказана
Несмотря на все достоинства, оказалось, что при использовании БЛМ в контексте практического проектирования и разработки реальных компьютерных систем возникает ряд технических вопросов. Данные вопросы являются логическим следствием достоинства БЛМ – ее простоты. Проблемы возникают при рассмотрении вопросов построения политик безопасности для конкретных типов систем, то есть на менее абстрактном уровне рассмотрения. При данном рассмотрении системный компонент модели усложняется, что может привести к неадекватности БЛМ в ее классической форме. Как следствие, в мире компьютерной безопасности ведется широкая полемика по поводу применимости БЛМ для построения безопасных систем.
Рассмотрим ряд примеров критики БЛМ. Некоторые из них взяты из литературы, посвященной вопросам безопасности, другие часто включаются в техническое описание и представляют собой так называемую "обязательную критику" БЛМ.
Начнем данное рассмотрение с обсуждения проблемы, возникающей в распределенных системах, удовлетворяющих правилам БЛМ. В частности, покажем, что запрос на чтение вызывает протекание потоков информации в обоих направлениях между компонентами, что является нарушением правил модели. Затем рассмотрим проблему использования этой модели для обеспечения безопасности доверенных субъектов, которые выполняют наиболее критичные задачи в компьютерной системе. Завершим обсуждение примером описания модели, известной как система Z.
Удаленное чтение
В свете недавних тенденций использования распределенных конфигураций требуется рассматривать модели безопасности не только для автономных, но и для распределенных компьютерных систем (распределенная система обычно состоит из нескольких объединенных систем). Очевидным способом распространения БЛМ на распределенные системы будет назначение уровней безопасности различным компонентам и соблюдение гарантий выполнения правил-ограничений по чтению и записи.
Например, некоторым компонентам можно назначить уровни безопасности, меняющиеся от неклассифицированного до совершенно секретного уровня, и на основании принципов БЛМ синтезировать соединения между различными компонентами системы. Может показаться, что если конфиденциальному субъекту A будет разрешено чтение информации из неклассифицированного объекта B, никакая конфиденциальная информация не будет раскрыта. Но при более подробном рассмотрении реализации операции удаленного чтения снизу может быть сделано неприятное наблюдение. Операция чтения между удаленными компонентами приводит к протеканию потока информации от читаемого объекта к запросившему доступ на чтение субъекту. Данный поток является безопасным, поскольку информация не разглашается неавторизованному субъекту. Однако в распределенной конфигурации чтение инициируется запросом от одного компонента к другому. Такой запрос образует прохождение потока информации в неверном направлении (запись в объект с меньшим уровнем безопасности). Таким образом, удаленное чтение в распределенных системах может произойти только если ему предшествует операция записи вниз, что является нарушением правил БЛМ.
Многие исследователи рассматривают эту проблему как наиболее убедительное свидетельство неадекватности БЛМ. Однако на практике эта проблема часто является несущественной; достаточно внедрения в систему дополнительных средств обработки удаленных запросов для обеспечения того, чтобы поток информации от высокоуровневого субъекта к низкоуровневому объекту был ограничен запросом на доступ. Фактически, некоторые архитектуры предлагают отдельные компоненты, выполняющие обработку таких запросов и потока информации в распределенных системах.
Дата добавления: 2020-10-14; просмотров: 475;