Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Теоретические основы защиты информации. Учебное пособие
.pdf
8.2. Модель Белла и Лападула
Идеи, лежащие в основе модели Белла и Лападула, берут происхождение из «бумажного мира». Белл и Лападула перенесли модель безопасности, принятую при работе с документами, в мир
компьютерных систем. Основным наблюдением, сделанным Беллом и Лападулой, является то, что в правительстве США все субъекты и объекты ассоциируются с уровнями секретности, варьирующимися от низких уровней (неклассифицированных) до высоких
(совершенно секретных). Кроме того, они обнаружили, что для
предотвращения утечки информации к неуполномоченным субъектам этим субъектам с низкими уровнями секретности не позволяется читать информацию из объектов с высокими уровнями секретности. Это ведет к первому правилу модели Белла и Лападула.
Простое свойство безопасности, также известное как правило
«нет чтения вверх» (No Read Up, NRU), гласит, что субъект
с уровнем секретности xs может читать информацию из объекта
с уровнем секретности хо, только если xs преобладает над хо. Это
означает, что если в системе, удовлетворяющей правилам модели
Белла и Лападула, субъект с уровнем доступа «Секретный» попытается прочитать информацию из объекта, классифицированного
как «Совершенно секретный», то такой доступ будет запрещен.
Белл и Лападула сделали дополнительное наблюдение при построении своей модели: в правительстве США субъектам не позволяется размещать информацию или записывать ее в объекты,
имеющие более низкий уровень секретности. Например, когда
«Совершенно секретный» документ помещается в «Неклассифицированное» мусорное ведро, может произойти утечка информации. Это ведет ко второму правилу модели Белла и Лападула.
Свойство *, известное как правило «нет записи вниз» (No
Write Down, NWD), гласит, что субъект с уровнем секретности xs
может писать информацию в объект с уровнем секретности хо,
только если хо преобладает над xs. Это означает, что если в систе-
ме, удовлетворяющей правилам модели Белла и Лападула, субъект
с уровнем доступа «Совершенно секретно» попытается записать
информацию в «Неклассифицированный» объект, то такой доступ
не будет разрешен. Введение свойства * разрешает проблему тро-
111

янских коней, так как запись информации на более низкий уровень
Sh Oh
SiOi
write
read
write
read
write
read
read
write
Высокий
уровень
секретности
Низкий
уровень
секретности
секретности, типичная для троянских коней, запрещена.
Правила запрета по записи и чтению отвечают интуитивным
представлениям о том, как предотвратить утечку информации к
неуполномоченным источникам.
На рис. 8.1 показаны потоки информации в модели Белла и
Лападула.
Рассмотрим формализацию модели Белла и Лападула.
S – множество субъектов;
О – множество объектов, включающее в себя множество субъектов;
L – решетка уровней секретности с линейным отношением частичного порядка (преобладания уровня секретности) ≥;
Рис. 8.1. Диаграмма потоков данных для модели Белла и Лападула
F: S О → L – функция, применяемая к субъектам и объектам; данная функция определяет уровни секретности своих аргументов в данном состоянии;
V – множество состояний – множество упорядоченных пар (F,
М), где М – матрица доступа субъектов системы к объектам.
Для удобства обозначения введем также линейное отношение
строгого порядка < на решетке L, где x, у L, таких, что
х≥у & х ≠ у у < х.
112

Система представляется начальным состоянием ν0, определенным множеством запросов к системе R и функцией переходов Т:
(V х R) → V, такой, что система переходит из состояния в состояние после исполнения запроса. Сформулируем определения, необходимые для доказательства основной теоремы безопасности, для
модели Белла и Лападула.
Определение 8.1. Состояние (F, М) безопасно по чтению
(NRU) тогда и только тогда, когда для s S и для o О, read
M[s, о] F(s) ≥ F(o).
Определение 8.2. Состояние (F, М) безопасно по записи
(NWD, *-свойство) тогда и только тогда, когда для s S и для o О,
write M[s, о] F(o) ≥ F(s).
Определение 8.3. Состояние безопасно тогда и только тогда,
когда оно безопасно по чтению и записи.
Теорема 8.1 (основная теорема безопасности). Система (v0, R, Т)
безопасна тогда и только тогда, когда состояние v0 безопасно и Т
таково, что для любого состояния v, достижимого из v0 после исполнения конечной последовательности запросов из R, T(v,c) – v*,
где v = (F, М) и v* = (F*, М*), переходы системы (Т) из состояния в
состояние подчиняются следующим ограничениям для s S и
для o О:
– если read M*[s, о] и read M[s, о], то F*(s) ≥ F*(o);
– если read M[s, о] и F*(s) < F*(o), mo read M*[s, o];
– если write M*[s, о] и write M[s, о], mo F*(o) ≥ F*(s);
– если write M[s, о] и F*(o) < F*(s), mo write M*[s, о].
Доказательство.
1. Необходимость. Предположим, система безопасна. Состоя-
ние v0 безопасно по определению. Если имеется некоторое состояние v, достижимое из состояния v0 после исполнения конечной последовательности запросов из R, таких, что Т(v, с) = v*, хотя v* не
удовлетворяет одному из двух первых ограничений для Т, то v*
будет достижимым состоянием, но противоречащим ограничению
безопасности по чтению. Если v* не удовлетворяет одному из двух
последних ограничений для Т, то v* будет достижимым состоянием, но противоречащим ограничению безопасности по записи.
В любом случае система небезопасна.
113

2. Достаточность. Предположим, что система небезопасна.
В этом случае либо v0 должно быть небезопасно, либо должно
быть небезопасно состояние v, достижимое из состояния v0 после
исполнения конечной последовательности запросов из R. Если v0
небезопасно – все доказано. Если v0 безопасно, допустим, что v0* –
первое в последовательности запросов небезопасное состояние.
Это означает, что имеется безопасное состояние v, такое, что
T(v, с) = v*, где v* – небезопасно. Но это противоречит четырем
ограничениям безопасности на Т.
По поводу основной теоремы безопасности для модели Белла
и Лападулы можно заметить следующее. Она может быть доказана
для любого определения «безопасного» состояния, в том числе и
интуитивно небезопасного.
Основная теорема безопасности для модели Белла и Лападулы
относится к проблеме индексации состояний системы, а не к проблеме безопасности. На самом деле определение безопасности
в модели должно отражать реальную безопасность. Кроме этого,
моделируемая система должна поддерживать эту безопасность.
Основная теорема безопасности не относится к первому требованию, а также не облегчает решение второй проблемы. Переходы в основной теореме безопасности говорят о том, что любой некорректный доступ будет удален из матрицы доступа и ни одного
некорректного доступа не будет в нее введено. Но данное утверждение является тривиальным.
В качестве примера реализации мандатного контроля доступом можно привести операционную систему Trusted Xenix 3.0.
Мандатный контроль управления доступом в Trusted Xenix 3.0
опирается на иерархические уровни и неиерархические категории.
Решение о доступе принимается на основании модели Белла и Лападула. Данные об уровне безопасности и категории объекта хранятся в описателе объекта. В системе поддерживается 255 уровней
секретности и 64 категории.
8.3. Критика модели Белла и Лападула
Несмотря на все достоинства, оказалось, что при использовании модели Белла и Лападула в контексте практического проектирования и разработки реальных компьютерных систем возникает
114

ряд технических вопросов, что является логическим следствием
достоинства модели Белла и Лападула – ее простоты. Проблемы
появляются при рассмотрении вопросов построения политик безопасности для конкретных типов систем, т. е. на менее абстрактном уровне. Здесь системный компонент модели усложняется, что
может привести к неадекватности модели Белла и Лападула в ее
классической форме. Как следствие в мире компьютерной безопасности ведется широкая полемика по поводу применимости
модели Белла и Лападула для построения безопасных систем.
Рассмотрим ряд примеров критики модели Белла и Лападула.
Некоторые из них взяты из литературы, посвященной вопросам
безопасности, другие часто включаются в техническое описание и
представляют собой так называемую «обязательную критику» модели Белла и Лападула.
В свете недавних тенденций использования распределенных
конфигураций требуется рассматривать модели безопасности не
только для автономных, но и для распределенных компьютерных
систем. Очевидным способом распространения модели Белла и
Лападула на распределенные системы будет назначение уровней
секретности различным компонентам этих систем и соблюдение
гарантий выполнения правил-ограничений по чтению и записи.
Например, некоторым компонентам можно назначить уровни
секретности, меняющиеся от неклассифицированного до совершенно секретного уровня, и на основании принципов модели Белла
и Лападула синтезировать соединения между различными компонентами системы. Может показаться, что если конфиденциальному
субъекту А будет разрешено чтение информации из неклассифицированного объекта В, никакая конфиденциальная информация не
будет раскрыта. Но при более подробном рассмотрении реализации операции удаленного чтения снизу может быть сделано неприятное наблюдение. Операция чтения между удаленными компонентами приводит к протеканию потока информации от читаемого объекта к запросившему доступ на чтение субъекту. Данный
поток является безопасным, поскольку информация не разглашается неавторизованному субъекту. Однако в распределенной конфигурации чтение инициируется запросом от одного компонента к
другому. Такой запрос образует прохождение потока информации
115

в неверном направлении (запись в объект с меньшим уровнем сек-
Sh
Oi
read
write
Высокий
уровень
секретности
Низкий
уровень
секретности
ретности), как это показано на рис. 8.2. Таким образом, удаленное
чтение в распределенных системах может произойти, только если
ему предшествует операция записи вниз, что является нарушением
правил модели Белла и Лападула.
Многие исследователи рассматривают эту проблему как
наиболее убедительное свидетельство неадекватности модели Белла и Лападула.
Рис. 8.2. Удаленный запрос на чтение
Однако на практике эта проблема часто является несущественной; достаточно внедрения в систему дополнительных
средств обработки удаленных запросов для обеспечения того, чтобы поток информации от высокоуровневого субъекта к низкоуровневому объекту был ограничен запросом на доступ. Фактически
некоторые архитектуры предлагают отдельные компоненты, выполняющие обработку таких запросов и потока информации в распределенных системах.
какие субъекты должны подчиняться этим правилам. Например,
компьютерные системы обычно имеют администратора, который
управляет системой, добавляя и удаляя пользователей, восстанавливает функционирование после сбоев, устанавливает специальное
программное обеспечение, устраняет ошибки в операционной си-
В описании правил модели Белла и Лападула не было указано,
116

стеме или приложениях и т. п. Очевидно, что процессы, действующие в интересах таких администраторов, не могут управляться
правилами модели Белла и Лападула или каких-либо других моделей, не позволяющих им выполнять функции администрирования.
Это наблюдение высвечивает еще одну техническую проблему, связанную с правилами модели Белла и Лападула. Можно сказать, что эти правила обеспечивают средства для предотвращения
угрозы нарушения секретности для нормальных пользователей, но
не говорят ничего по поводу той же проблемы для так называемых
доверенных субъектов. Доверенные субъекты могут функционировать в интересах администратора. Также они могут быть процессами, обеспечивающими критические службы, такие как драйвер
устройства или подсистема управления памятью. Такие процессы
часто не могут выполнить свою задачу, не нарушая правил модели
Белла и Лападула. Неприменимость модели Белла и Лападула для
доверенных субъектов может быть выражена путем внесения поправки в данное ранее определение операций чтения и записи модели Белла и Лападула. Но хотя это и делает определение более
точным, оно нисколько не облегчает задачу для разработчика, желающего построить безопасный драйвер или утилиту поддержки
работы администратора.
Одним из решений, рассматриваемых в литературе по безопасности, было предложение представлять и использовать для
потока информации модель, требующую того, чтобы никакая высокоуровневая информация никогда не протекала на более низкий
уровень.
Джон Мак Лин разработал концептуальное описание системы,
названной Система Z. Данное описание показывает, что система,
удовлетворяющая правилам модели Белла и Лападула, может
иметь ряд проблем с секретностью. Система Z выражается в терминах набора субъектов и объектов, с каждым из которых связан
уровень секретности. Совокупность уровней секретности для каждого субъекта и объекта в некоторый момент времени описывает
состояние системы. Система Z удовлетворяет модели Белла и Лападула, если во всех состояниях системы комбинации уровней
субъектов и объектов таковы, что в этом состоянии никакой субъект не может осуществить запись вниз или чтение сверху.
117

Предположив, что система Z удовлетворяет условиям модели
Белла и Лападула, можно быть уверенным, что любая угроза секретности будет обнаружена. Однако Мак Лин указал на техническую деталь, которая не очевидна в таких системах. Если в некотором состоянии секретный субъект захотел прочитать совершенно
секретный объект, то до тех пор, пока система удовлетворяет модели Белла и Лападула, осуществить это будет невозможно, но ничто в модели Белла и Лападула не предотвращает систему от «деклассификации» объекта от совершенно секретного до секретного
(по желанию совершенно секретного пользователя).
В качестве иллюстрации можно привести следующий пример.
Допустим, субъект с высокой степенью доверия А читает информацию из объекта, уровень классификации которого также равен А.
Далее данный субъект понижает свою степень доверия до уровня В
(А> В). После этого он может записать информацию в файл с классификацией В. Нарушения правил модели Белла и Лападула формально не произошло, но безопасность системы нарушена.
Фактически Мак Лин описал конфигурацию, в которой все
субъекты могут читать и записывать любой объект путем назначения соответствующих уровней секретности объекта перед выполнением запросов на доступ. В такой системе, которая, очевидно, не
обеспечивает секретность информации, все состояния могут быть
рассмотрены как удовлетворяющие требованиям модели Белла и
Лападула.
Все описанное выше является справедливым для модели Белла
и Лападула в ее классической формулировке. Но в оригинальной
модели, представленной авторами, было введено требование сильного и слабого спокойствия. Данные требования снимают проблему Z-системы. Рассмотрим их.
Правило сильного спокойствия гласит, что уровни секретности субъектов и объектов никогда не меняются в ходе системной
операции. Реализовав это правило в конкретной системе, можно
сделать заключение, что описанные выше проблемы никогда не
возникнут. Очевидным недостатком такой реализации в системе
является потеря гибкости при выполнении операций.
Правило слабого спокойствия гласит, что уровни секретности
субъектов и объектов никогда не меняются в ходе системной опе-
118

рации таким образом, чтобы нарушить заданную политику безопасности. Это правило может потребовать, чтобы субъекты и
объекты воздерживались от действий в период времени, когда меняются их уровни секретности. Например, может потребоваться,
чтобы уровень секретности объекта никогда не менялся в то время,
когда к нему обращается некоторый субъект. Однако если операция чередуется с изменением уровня безопасности, не вызывающего нарушения безопасности (например, субъект повышает свой
уровень с секретного до совершенно секретного в ходе выполнения операции чтения некласифицированного объекта), то правило
слабого спокойствия будет по-прежнему соблюдено.
Фактически система Z описывает алгебру моделей, самой
строгой из которых (основание) является модель Белла и Лападула
с сильным спокойствием (ни один субъект модели не может изменить свою классификацию), а самой слабой (вершина) — модель
Белла и Лападула в классической формулировке без ограничений
для субъектов и объектов на изменение классификации.
Контрольные вопросы
1. Что понимается под уровнем секретности компьютерной
системы?
2. Приведите пример классификации уровней секретности?
3. Каким атрибутом может быть определен уровень секретно-
сти субъекта?
4. Что означает свойство безопасности No Read Up?
5. Поясните сущность правила правило «нет записи вниз».
6. Изобразите и поясните диаграмму потоков данных для мо-
дели Белла и Лападула.
7. Какие технические вопросы возникают при использовании
модели Белла и Лападула при проектировании и разработке реальных компьютерных систем?
8. Какие характеристики субъектов и объектов, используются
в моделях мандатного доступа?
9. В чем заключаются основные идеи, лежащие в основе моде-
ли Белла и Лападула?
119

9. МОДЕЛИ КОНТРОЛЯ ЦЕЛОСТНОСТИ
9.1. Модель Биба
В основе модели Белла и Лападула лежат уровни секретности.
При создании мандатной модели целостности вводится аналогичное понятие – уровни и категории целостности, образующие решетку. Так же как и в модели Белла и Лападула, в модели Биба
уровни и категории целостности ассоциируются с субъектами и
объектами системы.
Рассмотрим правила модели Биба, которую часто называют
инверсией модели Белла и Лападула.
При рассмотрении модели Белла и Лападула было показано,
что важность или чувствительность субъектов и объектов повышается с ростом в иерархии уровней секретности. В данной модели
запись на верхний уровень не нарушает безопасности системы.
При рассмотрении мандатной модели контроля целостности запись
наверх может представлять угрозу в том случае, если субъект
с низким уровнем целостности искажает или уничтожает данные
в объекте, лежащем на более высоком уровне целостности. Поэтому, исходя из задач целостности, можно потребовать, чтобы такая
запись была запрещена.
Следуя подобным аргументам, можно рассматривать чтение
снизу как поток информации, идущий из объекта нижнего уровня и
нарушающий целостность субъекта высокого уровня. Мы будем
ссылаться на эти правила как «нет чтения снизу» (No Read Down,
NRD) и «нет записи наверх» (No Write Up, NWU), и определим их
в терминах субъектов, объектов и уровней целостности, причем на
множестве последних может быть введено отношение преобладания как отношение частичного порядка.
Правило NRD мандатной модели целостности Биба определяется как запрет субъектам на чтение информации из объекта с более низким уровнем целостности. NRD является полной противоположностью правила NRU модели Белла и Лападула, за исключе-
нием того, что здесь используются уровни целостности, а не секретности, как в модели Белла и Лападула. Правило NWU мандатной модели целостности Биба определяется как запрет субъектам
на запись информации в объект с более высоким уровнем целост-
120
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
