Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Модели разграничения доступа.

Поиск

Модели разграничения доступа служат для синтеза политик безопасности, направленных на предотвращение угрозы раскрытия, заключающейся в том, что информация становится известной тому, кому не следовало бы ее знать. Данные модели могут быть классифицированы следующим образом:

- модели разграничения доступа, построенные по принципу предоставления прав (модели 1 -8 из таблицы 1);

- модели разграничения доступа, построенные на основе принципов теории информации Шеннона (модель 9 из таблицы 1);

- модели разграничения доступа, построенные на основе теории вероятностей (модель 10 из таблицы 1).

В дальнейших пунктах мы рассмотрим модели разграничения доступа, построенные на основании перечисленных выше принципов.

Модели разграничения доступа, построенные по принципу предоставления прав.

Модели разграничения доступа, построенные по принципу предоставления прав являются самой естест­венной основой для построения политик разграничения доступа. Система, политика безопасности которой построена на основании данного принципа, впервые была описана в литературе в середине шестидесятых годов.

Неформально право доступа может быть описано как "билет", в том смысле, что владение "билетом" разрешает доступ к некоторому объекту, описанному в билете.

Основными типами моделей, построенных на предоставлении прав, являются модели дискретного (2.2.1.1.1) и мандатного (2.2.1.1.2.) доступа. Модели данного типа используются в большинстве реальных систем, синтезированных в настоящее время. Требования, на которых основаны данные модели, лежат в основе требований, сформулированных в различных государст­венных нормативных документах.

Модели дискретного доступа.

В основе моделей дискретного доступа (DAC) с различными модификациями лежат следующие идеи. Система защиты представляется в виде некоторого декар­това произведения множеств, составными частями которых являются интересующие автора модели составные части системы защиты, например: субъекты, объекты, уровни доступа, операции и т.д. В качестве математического аппарата выбирается аппарат теории множеств. Рассмотрим эти модели подробнее.

Одна из первых моделей безопасности была модель АДЕПТ-50[7]. В ней представлено четыре типа сущностей: пользователи(u), задания(j), терминалы(t) и файл(f), причем каждая сущность описывается тройкой (L, F,М), включающим параметры безопасности:

Уровень безопасности L — скаляр — элементы из набора иерархически упорядоченных уровней безопасности.

Полномочия F— группа пользователей, имеющих право на доступ к определенному объекту.

Режим М — набор видов доступа, разрешенных к определенному объекту или осуществляемых объектом. Пример: ЧИТАТЬ ДАННЫЕ, ПРИСОЕДИНЯТЬ ДАНЫЕ, ИСПОЛНИТЬ ПРОГРАММУ.

Если U={u} обозначает набор всех пользователей, известных системе, а F(i) — набор всех пользователей имеющих право использовать объект i, то для мoдели формулируются следующие правила:

1. Пользователь u получает доступ к системе ÛuÎY

2. Пользователь u получает доступ к терминалу tÛ uÎF(t), т.е. в том и только в том случае, когда пользователь u имеет право использовать терминал t.

3. Пользователь u получает доступ к файлу j Û A(j)≥A(f), C(j)ÊC(f), M(j)ÊM(f) и uÎF(f), т.е. только в случае:

- привилегии выполняемого задания шире привилегий файла или равны им;

- пользователь является членом F(f).

Трехмерный кортеж безопасности, полученный основе прав задания, а не прав пользователя, используется в модели для управления доступом. Такой подход обеспечивает однородный контроль права на доступ неоднородным множеством программ и данных, файлов, пользователей и терминалов. Например, наивысшим полномочием доступа к файлу для пользователя "СОВ. СЕКРЕТНО", выполняющего задание с "КОНФИДЕНЦИАЛЬНОГО" терминала будет "КОНФИДЕНЦИАЛЬНО".

Теперь рассмотрим модель, называемую пятимерным пространством безопасности Хартстона[7]. В данной модели используется пятимерное пространство безопасности для моделирования процессов установления полномочий и организации доступа на их основании. Модель имеет пять основных наборов:

А—установленных полномочий;

U — пользователей;

Е — операций;

R — ресурсов;

S — состояний;

Область безопасности будет выглядеть как декартово произведение: A*U*E*R*S.

Доступ рассматривается как ряд запросов, осуществляемых пользователями u для осуществления операции е над ресурсами R, в то время, когда система находится в состоянии s. Например, запрос на доступ представляется четырехмерным кортежем q=(u, е, R, s), uÎU, eÎE, sÎS, rÍR. Величины u и s задаются системой в фиксированном виде. Таким образом, запрос на доступ — подпространство четырехмерной проекции пространства безопасности. Запросы получают право на доступ в том случае, когда они полностью заключены в соответствующие подпространства.

Процесс организации доступа можно описать алгоритмически следующим образом. Для запроса q, где q (u, е, R, s), набора U' вполне определенных групп пользователей, набора R' вполне определенных единиц ресурсов и набора Р правильных (установленных) полномочий, процесс организации доступа будет состоять из следующих процедур:

1. Вызвать все вспомогательные программы, необходимые для "предварительного принятия решений".

2. Определить из U те группы пользователей, к которым принадлежит u. Затем выбрать из Р спецификации полномочий, которым соответствуют выделенные группы пользователей. Этот набор полномочий F(u) определяет привилегию пользователя u.

3. Определить из Р набор F(e) полномочий, которые устанавливают е как основную операцию. Этот набор называется привилегией операции е.

4. Определить из Р набор F(R) (привилегию единичного ресурса R) — полномочия, которые определяют поднабор ресурсов из R', имеющего общие элементы с запрашиваемой единицей ресурса R.

Полномочия, которые являются общими для трех привилегий в процедурах 2, 3, 4 образуют D(q),так называемый домен полномочий для запроса q: D(q)=F(u)ÇF(e)F(R)

5. Удостовериться, что запрашиваемый ресурс R полностью включается в D(q), т.е. каждый элемент из R должен содержаться в некоторой единице ресурса, которая определена в домене полномочий D(q).

6. Осуществить разбиение набора D(q) на эквивалентные классы так, чтобы два полномочия попадали в эквивалентный класс тогда и только тогда, когда специфицируют одну единицу ресурса. Для каждого класса логическая операция ИЛИ (или И) выполнятся с условиями доступа элементов каждого класса.

Новый набор полномочий — один на каждую единицу ресурса, указанную в D(q), есть F(u, q) — фактическая привилегия пользователя и по отношению к запросу q.

7. Вычислить ЕАС — условие фактического доступа, соответствующего запросу q, осуществляя логическое И (или ИЛИ) над условиями доступа членов F(u, q). Это И (или ИЛИ) выполняется над всеми единицами ресурсов, которые перекрывают единицу запрошенного ресурса.

8. Оценить ЕАС и принять решение о доступе:

-разрешить доступ к R, если R перекрывается

-отказать в доступе в противном случае.

9. Произвести запись необходимых событий.

10. Вызвать все программы, необходимые для организации доступа после "принятия решения".

11. Выполнить все вспомогательные программы, вытекающие для каждого случая из условия 8.

12. Если решение о доступе было положительным- завершить физическую обработку.

Автор модели, Хартстон, отмечает, что приведенная последовательность шагов не всегда необходима в полном объеме. Например, в большинстве реализаций шаги 2 и 6 осуществляются во время регистрации пользователя в системе.

К достоинствам моделей дискретного доступа можно отнести относительно простую реализацию. В качестве примера реализации данного типа моделей можно привести так называемую матрицу доступа, строки которой соответствуют субъектам системы, а столбцы — объектам; элементы матрицы характеризуют права доступа.

К недостаткам относится "статичность модели". Это означает то, что модель не учитывает динамику изменеия состояния ВС, не накладывает ограничений на состояния системы. Исследуем следствия данного недостатка подробнее.

Для этого рассмотрим типичную модель системы защиты, состоящую из следующих частей.

1. Конечный набор общих прав R={r1,..., rn}.

2. Конечный набор исходных субъектов S0 и конечный на6op исходных объектов 00 где S0ÍO0.

3. Конечный набор команд С формы α (Х1,.... Хn), где α-имя; Х1,..., Хn — формальные параметры, указывающие на объекты.

4. Интерпретация J для команд, так что J отображает С в последовательность элементарных операций.

Элементарными операциями являются: ввести r в (s, о), удалить r из (s,o), создать субъект s, создать объект о, разрушить s, разрушить о, где r-общее право; s — имя убъекта; о — имя объекта.

5. Условия для команд. Условие С — отображение элементов набора команд в конечный набор прав. Право — это триада (г, s, о), где rÎR, а s и о — формальные параметры. Различие между правом и общим правом в том, что право — это привилегия, предоставленная субъекту s применить общее право r к объекту о.

6. Матрица доступа Р со строкой для каждого субъекта в S и столбцом для каждого объекта в О.

Определение. Для заданной системы защиты мы uоворим, что команда α(Х1,.... Хn) может привести к утечке oбщего права r, если ее интерпретация содержит некоторую операцию в форме " ввести r в (s,o) для некоторых s и о".

Определение. Для заданной системы защиты и права r начальная конфигурация (s0 o0 p0) является безопасной для r в этой системе, если не существует конфигурации (s o p), такой что (s0 o0 p0) ведет к (s о р), и существует команда α(Х1,... Хn), условия которой удовлетворяются в (s о р) и которая для некоторых реальных параметров дает утечку r через команду ввести r в (s,o) для некоторых субъекта s и объекта o, существующих во время команды ввести, для которых r не находится в p[s, о].

Для моделей, построенных на основе дискретной защиты, можно доказать следующую теорему[7]:

Теорема 2.1. Не существует алгоритма, который может решить для произвольной системы дискретной защиты и общего права r, является или нет заданная исходная конфигурация безопасной.

Доказательство.

Рассмотрим машину Тьюринга. Каждая машина Тьюринга Т имеет фиксированное число состояний К и конечный набор символов Г, размещаемых на ленте. Одним из этих символов является пробел В, который первоначально появляется в каждой ячейке ленты. Лента бесконечна только вправо. Машина Тьюринга снабжена сканирующей головкой, которая в каждый момент времени обозревает некоторую ячейку на ленте.

Действия машины Тьюринга определяются функцией δ аргументом из К*Г и значением К*Г*(L, R) (L означает переход головки влево, R — вправо).

Если δ(q, X)=(p, Y, L) для состояний р и q и символов на ленте Х и Y, то это означает, что машина Т, находящаяся состоянии q и наблюдающая ячейку, содержащую символ переходит в состояние р, стирает символ Х и печатает символ Y в эту ячейку, сканирующая головка переходит при этом на одну клетку влево.

Первоначально Т находится в состоянии q0 — исходном состоянии и обозревает ячейку 1. Каждая ячейка первоначально содержит пробел. Существует особое состояние q, известное как конечное. Доказан факт, что независимо от того, как начнется описанный выше процесс работы, произвольная машина Тьюринга Т в конце концов, придет в сост яние q.

Покажем, что вопрос обеспечения безопасности является неразрешимым. Это можно показать на примере системы защиты, которую можно смоделировать произвольной машиной Тьюринга. Утечка информации будет соответствовать конечному состоянию машины Тьюринга, являющемуся как отмечалось выше, неизбежным.

Набор общих прав рассматриваемой системы защиты включит состояния и символы машины Тьюринга. В любой момент времени машина Тьюринга будет иметь некоторый ограниченный начальный набор ячеек ленты, скажем 1, 2,…, k, который она никогда не обозревала. Эту ситуацию можно представить последовательностью k субъектов s1, s2,..., sk; так что si "владеет" si+1 для 1≤i≤k. Таким образом, мы используем отношение собственности для упорядочивания субъектов в линейном списке, представляющем собой ленту машины Тьюринга. Субъект s соответствует ячейке i, а что ячейка i сейчас содержит символ ленты X, представляется присвоением si общего права q. Предполагается, что мы рассматриваем состояния отдельно от символов ленты, но это не должно привести к неправильному результату. Суще­ствует специальный конец общего права, который приписы­вается последнему субъекту sk, sk имеет конец общего пра­ва по отношению к самому себе, показывая, что мы еще не создали субъект sk+1, которым должен владеть sk. Общее право "собственность" завершает набор общих прав.

Действия машины Тьюринга отражаются в командах следующим образом. Во-первых, если δ(q, X)=(p, Y, L), то существует команда Cqx(s, s') с условиями:

собственность Î(s, s'),

cÎ(s', s'), xÎ(s", s').

s и s' должны соответствовать двум последовательным ячейкам на ленте; машина находится в состоянии q, наблюдает ячейку, соответствующую s', и в этой ячейке записан символ X.

Команда Cqx интерпретируется следующим образом:

удалить q из (s', s')

удалить Х из (s', s')

ввести р в (s, s)

ввести Y в (s', s')

Если δ(q, X) = (р, Y, R), т.е. головка ленты перемещается вправо, то мы имеем две команды в зависимости от того, прошла ли головка текущий конец ленты, т.е. конец права. Существует команда Cqx(s, s') с условиями:

собственность Î(s, s'),

qÎ(s, s), XÎ(s, s)

и интерпретация:

удалить q из (s, s),

удалить X из (s, s),

ввести р в (s', s'),

ввести Y в (s, s).

Существует также команда Dqx(s, s') с условиями:

конец Î(s, s), qÎ(s, s), XÎ(s, s) и интерпретация:

удалить q из (s, s),

удалить X из (s, s),

создать субъект s',

ввести В в (s, s'),

ввести р в (s', s'),

ввести Y в (s, s).

Если мы начинаем с исходной матрицы, содержащей субъект s1 с правами q0 В (пробел) и «собственность» по отношению к самому себе, то матрица доступа будет иметь ровно одно общее право, которое является состоянием системы. Это следует из того, что каждая команда удаляет состояние, известное из условия команды, которая должна выполняться. Каждая команда также включает одно состояние в матрицу. Нельзя вносить в матрицу более одного общего права, которое является символом ленты по такому же аргументу. Таким же образом конец появляется только в одной записи матрицы, а именно в диагональной записи для каждого созданного субъекта.

Таким образом, в каждой конфигурации системы защиты, полученной из исходной конфигурации, существует хотя бы одна команда, которую можно применить. Это объясняется тем, что машина Тьюринга имеет, по крайней мере, одно допустимое перемещение в любой ситуации. Cqх Dqx никогда не используются одновременно. Следовательно, система защиты должна точно моделировать машину Тьюринга, используя описанное представление. Если машина Тьюринга вводит состояние qj, то система защиты иметь утечку общего права qj, в противном случае она безопасна для qj. Поскольку нельзя предсказать, будет ли машина Тьюринга вводить qj, нельзя решить является ли cистема защиты безопасной для qj.

Модели мандатного доступа.

Описанные в параграфе 2.2.1.1.1 модели дискретного доступа обеспечивают хорошо гранулированную защиту, но обладают рядом недостатков. В частности, в системах, построенных на основе DAC, существует проблема троянских программ. Троянскую программу следует определять как любую программу, от которой ожидается выполнение некоторого желаемого действия, а она на самом деле выполняет какое-либо неожиданное и нежелательное действие. Так, троянская программа может выглядеть как вполне хороший продукт, но реально может оказаться даже более опасной, чем можно было бы ожидать.

Для того, чтобы понять, как может работать такой троянский конь, вспомним, что когда пользователь вызывает какую-либо программу на компьютере, в системе инициируется некоторая последовательность операций, зачастую скрытых от пользователя. Эти операции обычно управляются операционной системой. Троянские программы рассчитывают на то, что когда пользователь инициирует такую последовательность, то он обычно верит в то, что система про­изведет ее как полагается. При этом, нарушитель может написать версию троянской программы, которая будучи за­пущенной от имени пользователя-жертвы, передаст его ин­формацию пользователю нарушителю.

В отличие от DAC, который позволяет передавать права от одного пользователя другому без всяких ограничений, мандатный доступ (MAC) накладывает ограничения на пере­дачу прав доступа от одного пользователя другому. Это по­зволяет разрешить проблему троянских коней.

Классической моделью, лежащей в основе построения многих систем MAC и породившей остальные модели MAC, является модель Белла и Лападула. К сожалению, данная модель не лишена недостатков и с целью устранения данных недостатков были порождены некоторые специфичные мо­дели. В заключение параграфа мы опишем специализиро­ванные модели, основанные на рассмотрении конкретных требований, в соответствии с которыми синтезируется дан­ная модель.

Модель Белла и Лападула.

Модель, получившая название модели Белла и Лападула (БЛМ)[8] до сих пор оказывает огромное влияние на ис­следования и разработки в области компьютерной безопас­ности. Об этом свидетельствует огромное количество раз­личных документов, ссылающихся в библиографии на первоначальную БЛМ. Данная модель лежит в основе построе­ния MAC. Идеи, заложенные в БЛМ, могут быть использова­ны при построении различных политик безопасности.

Основным наблюдением, сделанным Беллом и Лападулой является то, что в правительстве США все субъекты и объекты ассоциируются с уровнями безопасности, варьи­рующимися от низких уровней (неклассифицированных) до высоких (совершенно секретные). Кроме того, они обнаружили, что для предотвращения утечки информации к неуполномоченным субъектам, этим субъектам с низкими уровнями безопасности не позволяется читать информацию из объектов с высокими уровнями безопасности. Это ведет к первому правилу БЛМ.

Простое свойство безопасности, также известное правило "нет чтения вверх" (NRU), гласит, что субъект с уровнем безопасности хs может читать информацию объекта с уровнем безопасности xo, только если преобладает над xo. Это значает, что если в системе удовлетворяющей правилам модели БЛМ субъект с уровнем доступа секретный попытается прочитать информацию объекта, классифицированного как совершенно секретный, то такой доступ не будет разрешен.

Белл и Лападула сделали дополнительное наблюдение при построении своей модели: в правительстве США субъектам не позволяется размещать информацию или записывать ее в объекты, имеющие более низкий уровень безопасности. Например, когда совершенно секретный документ помещается в неклассифицированное мусорное ведро, может произойти утечка информации. Это ведет ко второму правилу БЛМ.

Свойство-*, известное как правило "нет записи вниз (NRD)”, гласит, что субъект безопасности xs может писать информацию в объект с уровнем безопасности xo только если xo преобладает над xs. Это означает, что ecли в системе, удовлетворяющей правилам модели БЛМ субъект с уровнем доступа совершенно секретный попытается записать информацию в неклассифицированный объект, такой доступ не будет разрешен.

Правило запрета по записи является большим упрощением некоторых реализаций БЛМ. Так, некоторые описания включают более детальное понятие типа доступа(например, такие как добавление и выполнение). Помимо этого, многие модели БЛМ включают понятие дискретной защиты с целью обеспечения хорошо гранулированной защиты при сохранении всех преимуществ БЛМ.

Правила запрета по записи и чтению БЛМ отвечают интуитивным понятиям того, как предотвратить утечку информации к неуполномоченным источникам.

Рассмотрим формализацию БЛМ. В соответствии определениями параграфа 1:

S — множество субъектов;

О — множество объектов;

L — решетка уровней безопасности;

F:S∪O→L— функция, применяемая к субъектам и объектам определяет уровни безопасности своих аргументов в данном состоянии;

V — множество состояний — множество упорядоченных пар (F, М), где М — матрица доступа субъектов системы к объектам.

Система представляется начальным состоянием Vо, определенным множеством запросов R и функцией переходов T:(V*R)→V, такой что система переходит из состояния в состояние после исполнения запроса. Сформулируем определения, необходимые для доказательства основной теоремы безопасности (ОТБ), доказанной для БЛМ.

Определение1. Состояние (F, М) безопасно по чтению (RS) тогда и только тогда, когда для "sÎS и для "oÎO, чтение Î M[s, о] F(s)≥F(o)

Определение2. Состояние (F, М) безопасно по записи (WS, •"-свойство) тогда и только тогда, когда для "sÎS и для "oÎO, запись Î M[s, о] → F(o)≥F(s)

ОпределениеЗ. Состояние безопасно тогда и только тогда, когда оно безопасно по чтению и по записи.

Определение4. Система (Vg, R, T) безопасна тогда и только тогда, когда состояние vо безопасно и любое состояние, достижимое из vо после исполнения конечной последовательности запросов из R безопасны в смысле определения 3.

Теорема 2.2. (ОТБ). Система (Vо, R, Т) безопасна тогда и только тогда, когда состояние vо безопасно и Т таково, что для любого состояния v, достижимого из vо после исполнения конечной последовательности запросов из R безопасны, если T(v, c)=v', где v=(F, М) и v'=(F', М'), такие что для "sÎS и для "oÎO

— если чтение Î M'[s, о] и чтение r M[s, о], то F'(s)≥F'(o);

— если чтение Î M[s, о] и F'(s)<F'(o), то чтение ∉ M'[s, о];

— если запись Î M'[s, о] и запись ∉ M[s, о], то F'(o)≥F'(s);

— если запись Î M[s, о] и F'(o)<F'(s), то запись ∉ M'[s, о];

Доказательство:

1. Необходимость. Предположим система безопасна. Состояние Vо безопасно по определению. Если имеется некоторое состояние v, достижимое из состояния vо после исполнения конечной последовательности запросов из R, таких что T(v, c)=v', хотя v’ не удовлетворяет одному из двух первых ограничений для Т, то v' будет достижимым состоянием, но противоречащим ограничению по чтению. Если v' не удовлетворяет одному из двух последних ограничений для Т, то v' будет достижимым состоянием, но противоречащим ограничению по записи. В любом случае система небезопасна.

2. Достаточность. Предположим, что система небезопасна. В этом случае, либо vо должно быть небезопасно, либо должно быть небезопасное состояние v, достижимое из состояния vо после исполнения конечной последовательности запросов из R. Если vо небезопасно — все доказано. Если безопасно, допустим что v' — первое в последовательности запросов небезопасное состояние. Это означает, что имеется такое безопасное состояние v, такое что T(v, c)=v', где v- небезопасно. Но это противоречит четырем ограничениям на Т.

Несмотря на все достоинства, оказалось, что при использовании БЛМ в контексте практического проектирования и разработки реальных компьютерных систем возникает ряд технических вопросов. Данные вопросы являются логическим следствием достоинства БЛМ — ее простоты. Проблемы возникают при рассмотрении вопросов построения политик безопасности для конкретных типов систем, т.е, на менее абстрактном уровне рассмотрения. Как следствие, в мире компьютерной безопасности ведется широкая полемика по поводу применимости БЛМ для построения безопасных систем.

Рассмотрим ряд примеров критики БЛМ. Некоторые из них взяты из литературы, посвященной вопросам безопасности, другие часто включаются в техническое описание и представляют собой так называемую "обязательную критику" БЛМ.

Начнем данное рассмотрение с обсуждения проблемы возникающей в распределенных системах, удовлетворяющих правилам БЛМ. В частности, покажем, что запрос на чтение вызывает протекание потоков информации в обоих направлениях между компонентами, что является нарушением правил модели. Затем рассмотрим проблему использования этой модели для обеспечения безопасности доверенных субъектов, которые выполняют наиболее критичные задачи в компьютерной системе. Завершим обсуждение примером описания компьютерной системы, известной как тема Z.

Удаленное чтение.

В свете недавних тенденций использования распределенных конфигураций при синтезе вычислительных систем, можно сделать заключение о том, что наиболее полезной моделью безопасности является та, которую можно применить как к автономным, так и к распределенным компьютерным системам. Распределенная система обычно состоит из нескольких объединенных систем. Очевидным способом распространения БЛМ на распределенные системы будет назначение уровней безопасности различным компонентам и гарантия выполнения правил-ограничений по чтению и записи.

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

Многие исследователи рассматривают эту проблему как наиболее убедительное свидетельство неадекватности БЛМ. Однако, на практике эта проблема часто является несущественной; достаточно внедрения в систему дополнительных средств обработки удаленных запросов для обеспечения того, чтобы поток информации от высокоуровневого субъекта к низкоуровневому объекту был ограничен запросом на доступ. Фактически, некоторые архитектуры предлагают отдельные компоненты, выполняющие обработку таких запросов и потока информацинного распределенных системах.

Доверенные субъекты.

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

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

Одним из решений, рассматриваемых в литературе по безопасности, было предложение представлять и использовать для потока информации модель, требующую того чтобы никакая высокоуровневая информация никогда не протекала на более низкий уровень. В параграфе 2.2.1.3 представлены примеры моделей безопасности, сфокусированные на понятиях, известных как выводимость и вмешательство. В данных моделях низкоуровневые пользователи не могут сделать выводы или затронуть работу высокоуровневых noльзователей.

Проблема модели z.

МакЛин[26] разработал концептуальное описание сис­темы, названной Система Z. Данное описание показывает, что система, удовлетворяющая правилам БЛМ может иметь ряд проблем с секретностью. Система Z выражается в тер­минах набора субъектов и объектов, с каждым из которых связан уровень безопасности. Совокупность уровней безо­пасности для каждого субъекта и объекта в некоторый мо­мент времени описывает состояние системы. Система Z удовлетворяет БЛМ, если во всех состояниях системы ком­бинации уровней субъектов и объектов таковы, что в этом состоянии никакой субъект не может осуществить запись вниз или чтение сверху. Это может быть легко доказано пу­тем проверки множества состояний методом индукции (см. доказательство ОТБ для БЛМ). В математической индукции базис устанавливается так, чтобы выразить соблюдение ин­тересующего условия. Затем показывается, что все возмож­ные изменения, основанные на этом базисе, соблюдают выполнение интересующего условия. То есть, при проведе­нии индуктивной процедуры для доказательства безопасно­сти состояний системы необходимо установить, что началь­ное состояние удовлетворяет БЛМ. Когда это сделано, нуж­но показать, что все переходы из любого достижимого со­стояния соблюдают выполнение правил БЛМ.

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

Фактически, МакЛин описал конфигурацию, в которой все субъекты могут читать и записывать любой объект путем назначения соответствующих уровней безопасности объекта перед выполнением запросов на доступ. В такой системе, которая очевидно не обеспечивает секретность информа­ции, все состояния могут быть рассмотрены, как удовлетво­ряющие требованиям БЛМ.

Все описанное выше является справедливым для моде­ли БЛМ в "ее классической формулировке", кочующей из книги в книгу и из статьи в статью. Но в оригинальной моде­ли, представленной авторами, было введено требование сильного и слабого спокойствия. Данные требования снимают проблему Z-системы. Рассмотрим их.

Правило сильного спокойствия гласит, что уровни безопасности субъектов и объектов никогда не меняются в ходе системной операции. Реализовав это правило в конкретной системе, можно легко сделать заключение, что описанный выше тип потенциальных проблем никогда не произойдет. Очевидным недостатком такой реализации в системе является потеря гибкости при выполнении операций.

Правило слабого спокойствия гласит, что уровни безопасности субъектов и объектов никогда не меняются в ходе системной операции таким образом, чтобы нарушить заданную политику безопасности. Это правило может потребовать, чтобы субъекты и объекты воздерживались от действий в период времени, когда меняются их уровни безопасности. Например, может потребоваться, чтобы уровень безопасности объекта никогда не менялся в то время, как к нему обращается некоторый субъект. Однако, если операция чередуется с изменением уровня безопасности, вызывающего нарушения безопасности (например, субъект повышает свой уровень с секретного до совершенно секретного в ходе выполнения операции чтения некласифицированного объекта), то правило слабого спокойствия будет по прежнему соблюдено.

Специализированные модели.

Как было отмечено в параграфе 2.2.1.1.2., одним из недостатков, являющимся логическим следствием достоинства простоты БЛМ является ее слишком большая абстрактность. С точки зрения требований пользователей, в реальных приложениях, ограничения, накладываемые БЛМ оказываются слишком строгими. С одной стороны, введение доверенных процессов, позволяющих частично решить данную проблему, не является достаточным. С другой стороны, недостатком БЛМ, нерассмотренным нами ранее, является отсутствие в модели поддержки многоуровневых o6ъектов (-например: наличие несекретного параграфа в ceкретном файле данных) и отсутствие зависящих от пpилoжeния правил безопасности. С целью устранения данных недостатков при проектировании системы передачи военных сообщений(ММS) Лендвером и МакЛином была разработана модель MMS[10, 30].

 

Модель MMS.

В модели MMS используются следующие определения. Классификация — обозначение, накладываемое на инфор­мацию, которое отражает ущерб, который может быть при­чинен неавторизованным доступом; включает уровни: ТОР SECRET, SECRET и т.д. и множество разграничений ("CRYPTO", "NUCLEAR" и т.д.). Множество классификаций и отношение между ними образуют решетку. Степень доверия пользователю — уровень благонадежности персоны. Каждый пользователь имеет степень доверия, и операции, производимые системой для данного пользовате­ля, могут проверить степень доверия пользователю и клас­сификацию объектов, с которыми он оперирует.

Пользовательский идентификатор — строка символов, ис­пользуемая для того, чтобы отметить пользователя системы. Для использования системы пользователь должен предъя­вить ей пользовательский идентификатор, и система должна провести аутентификацию пользователя. Данная процедура называется login. Каждый пользователь должен иметь уни­кальный идентификатор.

Пользователь — персона, уполномоченная для использова­ния системы. Роль — работа, исполняемая пользователем (например: пользователь, имеющий право удалять, распространять или понижать классификацию объектов). Пользователь всегда ассоциирован как минимум с одной ролью из нескольких в данный момент, и он может менять роль в течение сессии. Для действий в данной роли пользователь должен быть уполномочен. Некоторые роли могут быть связаны только с одним пользователем в данный момент времени(например распространитель). С любой ролью связана способность выполнения определенных операций.

Объект— одноуровневый блок информации. Это минималь­ный блок информации в системе, который имеет классифи­кацию. Объект не содержит других объектов; он не много­уровневый.

Контейнер — многоуровневая информационная структура. Имеет классификацию и может содержать объекты (каждый со своей классификацией) и (или) другие контейнеры. Файл — это контейнер. Некоторые структуры файла могутбыть контейнерами. Различие между объектом и контейнером базируется на типе, а не на текущем содержимом: если один из файлов данного типа является контейнером, то все остальные файлы данного типа являются контейнерами, если некоторые из них содержат только объекты или пусты. Устройства, такие как диски, принтеры, ленты, сетевые интерфейсы и пользовательские терминалы — контейнеры.

Сущност



Поделиться:


Последнее изменение этой страницы: 2016-08-14; просмотров: 654; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.217.241.235 (0.013 с.)