Lektsia 11


Тема 11 Лекция Модели безопасности. Описание систем
защиты с помощью матрицы доступа

Вопросы:
10.1 Модели безопасности.
10.2 Описание систем защиты с помощью матрицы доступа.
10.3 Проблема доказательства безопасности обработки информации в матричных моделях. Разрешимость проблемы безопасности.

10.1 Формальные модели безопасности.
Политика безопасности компьютерной системы, как отмечалось ранее, может быть выражена формальным и неформальным образом.
Метод неформальной разработки применяется при создании относительно простых систем с небольшим числом компонентов и очевидными алгоритмами их взаимодействия.
модель безопасности это абстрактное описание поведения системы, без рассмотрения конкретных деталей ее реализации.
По мере увеличения сложности системы, взаимосвязи ее компонентов становятся все менее очевидными; становится сложно описать эти взаимосвязи с достаточной степенью точности некоторым неформальным образом (например, на естественном языке). При разработке систем обеспечения безопасности точность в описании компонентов и их взаимосвязей является едва ли не решающим условием достижения успеха, поэтому для обеспечения надлежащей степени точности применяется строгий аппарат формальной математики, что и составляет суть формального метода разработки и описания.
Преимуществом формального описания является отсутствие противоречий в политике безопасности, и возможность теоретического доказательства безопасности системы при соблюдении всех условий политики безопасности. Эти модели получили название формальных моделей.
Такое решение проблемы защищенности информации и проблемы построения системы защиты позволяет привлечь в теорию защиты точные математические методы. То есть доказывать, что данная система в заданных условиях поддерживает политику безопасности.
Основную роль в методе формальной разработки системы играет так называемая модель управления доступом.
Обычно модели рассматриваются в соответствии с типом угроз, от которых защищают системы, синтезированные на основании данных моделей. В соответствии с типами угроз их можно классифицировать следующим образом:
Модели защищающие от угрозы раскрытия секретности (конфиденциальности) информации;
Модели контроля целостности информации;
Модели безопасности систем, предотвращающих угрозы отказа служб (безопасности нарушения доступности);
Рассуждения и доказательства в основном ведутся в терминах взаимоотношений субъект-объект, описанных нами ранее.
Для синтеза политик безопасности, направленных на предотвращение угрозы раскрытия, заключающейся в том, что информация становится известной тому, кому не следовало бы ее знать, служат модели разграничения доступа. Данные модели могут быть классифицированы следующим образом:
- модели разграничения доступа, построенные по принципу предоставления прав;
- модели разграничения доступа, построенные на основе принципов теории информации Шеннона (модели информационных потоков);
- модели разграничения доступа, построенные на основе теории вероятностей.
Достаточно полное описание данных моделей приводится в [2], а математический анализ наиболее распространенных в [1].
Модели разграничения доступа, построенные по принципу предоставления прав, являются самой естественной основой для построения политик разграничения доступа. Система, политика безопасности которой, построена на основании данного принципа, впервые была описана в литературе в середине шестидесятых годов.
Неформально право доступа может быть описано как "билет", в том смысле, что владение "билетом" разрешает доступ к некоторому объекту, описанному в билете.
Основными типами моделей, построенных на предоставлении прав, являются модели дискретного и мандатного доступа. Модели данного типа используются в большинстве реальных систем, синтезированных в настоящее время. Требования, на которых основаны данные модели, лежат в основе требований, сформулированных в различных государственных нормативных документах.
В качестве примера простейшей, формальной модели безопасности можно привести модель АДЕПТ-50.
Пример 1. Формальная модель безопасности АДЕПТ-50.(Одна из первых моделей безопасности).
В ней представлено четыре типа сущностей (Под сущностью понимается любая именованная составляющая компьютерной системы. ):
Пользователи (u), задания (j), терминалы (t) и файлы (f), причем каждая сущность описывается тройкой (L, F, М), включающим параметры безопасности:
Уровень безопасности L скаляр элементы из набора иерархически упорядоченных уровней безопасности.
Полномочия F группа пользователей, имеющих право на доступ к определенному объекту.
Режим М набор видов доступа, разрешенных к определенному объекту или осуществляемых объектом. Пример: ЧИТАТЬ ДАННЫЕ, ПРИСОЕДИНЯТЬ ДАННЫЕ, ИСПОЛНИТЬ ПРОГРАММУ.
Если U={u} обозначает набор всех пользователей, известных системе, a F(i) набор всех пользователей, имеющих право использовать объект i, то для модели формулируются следующие правила:
1. Пользователь u получает доступ к системе <=> u
·Y.
2. Пользователь u получает доступ к терминалу t <=> u
·F(t), т.е. в том и только в том случае, когда пользователь u имеет право использовать терминал t.
3. Пользователь u получает доступ к файлу j <=> A(j)
·
·A(f), C(j)
·
·C(f), М(j)
·
·М(f) и u
·F(f), т.е. только в случае:
- привилегии выполняемого задания шире привилегий файла или равны им;
- пользователь является членом F(f).
Трехмерный кортеж безопасности, полученный на основе прав задания, а не прав пользователя, используется в модели для управления доступом. Такой подход обеспечивает однородный контроль права на доступ над неоднородным множеством программ и данных, файлов, пользователей и терминалов. Например, наивысшим полномочием доступа к файлу для пользователя "СОВ. СЕКРЕТНО", выполняющего задание с "КОНФИДЕНЦИАЛЬНОГО" терминала будет "КОНФИДЕНЦИАЛЬНО".
Пример неформальной модели безопасности приводится в [2]. Здесь описана модель целостности Кларка-Вилсона.





10.2 Описание систем защиты с помощью матрицы доступа.

С помощью матрицы доступа описывается дискреционная политика безопасности. Суть дискреционной политики и варианты задания матрицы доступа рассмотрены нами ранее в предыдущей лекции. Наиболее распространенными моделями дискретного доступа являются модели Хартсона и Харризона-Рузо-Ульмана.
В основе моделей дискретного доступа (DAC) с различными модификациями лежат следующие идеи. Система защиты, представляется в виде некоторого декартова произведения множеств, составными частями которых являются интересующие автора модели составные части системы защиты, например: субъекты, объекты, уровни доступа, операции и т.д. В качестве математического аппарата выбирается аппарат теории множеств. рассмотрим эти модели подробнее.
Модель пятимерного пространства безопасности Хартсона.
В данной модели используется пятимерное пространство безопасности для моделирования процессов установления полномочий и организации доступа на их основании. Модель имеет пять основных наборов:
А установленных полномочий;
U пользователей;
Е операций;
R ресурсов;
S состояний;
Область безопасности будет выглядеть как декартово произведение: AxUxExRxS.
Доступ рассматривается как ряд запросов, осуществляемых пользователями и для осуществления операции е над ресурсами R, в то время, когда система находится в состоянии s. Например, запрос на доступ представляется четырехмерным кортежем q=(u, e, 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) фактическая привилегия пользователя u по отношению к запросу q.
7. Вычислить ЕАС условие фактического доступа, соответствующего запросу q, осуществляя логическое И (или ИЛИ) над условиями доступа членов F(u, q).ЭTO И(или ИЛИ) выполняется над всеми единицами ресурсов, которые перекрывают единицу запрошенного ресурса.
8. Оценить ЕАС и принять решение о доступе:
-разрешить доступ к R, если R перекрывается;
-отказать в доступе в противном случае.
9. Произвести запись необходимых событий.
10. Вызвать все программы, необходимые для организации доступа после "принятия решения".
11. Выполнить все вспомогательные программы, вытекающие для каждого случая из условия 8.
12. Если решение о доступе было положительным завершить физическую обработку.
Автор модели, Хартстон, отмечает, что приведенная последовательность шагов не всегда необходима в полном объеме. Например, в большинстве реализации шаги 2 и 6 осуществляются во время регистрации пользователя в системе.
Таким образом запросы получают право на доступ в том случае, когда они полностью заключены в соответствующие подпространства.
В качестве примера реализации данного типа моделей можно привести матрицу доступа, строки которой соответствуют субъектам системы, а столбцы объектам, элементы матрицы характеризуют права доступа.

Модель Харрисона-Рузо-Ульмана (HRU).

Модель матрицы доступа (Harrison, Ruzo и Ullman 1976) это частный случай реализации модели машины состояний. Состояния безопасности системы представлены в виде таблицы, содержащей по одной строке для каждого субъекта системы и по одной колонке для каждого субъекта и объекта (таблица 3). Каждое пересечение в массиве определяет режим доступа данного субъекта к каждому объекту или другому субъекту системы.

Таблица 3

Субъекты
Объекты

Субъекты


1
2
3
1
2
3

1
Чтение
Запись
Чтение

---------
Запись
Пересылка

2
Чтение
Чтение
Исполне-ние
Чтение
Запись
Пересылка

---------


3

Чтение
Запись
Исполне-ние
Пересылка
Запись
---------


Второй составляющей модели матрицы доступа является набор функций перехода, описывающих способ изменения матрицы доступа.
Более часто матрица доступа используется не как самостоятельная модель управления доступом, а в качестве одной из нескольких переменных состояния в более общей модели конечного автомата.
Модель конечного автомата описывает систему как абстрактную математическую машину. В этой модели переменные состояния представляют состояния машины, а функции перехода описывают способ изменения переменных.
Напомним, что модель управления доступом имеет дело только с наиболее существенными переменными состояния, влияющими на безопасность, и потому намного проще, чем полная модель конечного автомата для данной системы. С использованием модели конечного автомата доказывается и то , что в матричной модели вопрос обеспечения безопасности является неразрешимым.
К достоинствам моделей дискретного доступа можно отнести относительно простую реализацию.
К недостаткам относится "статичность модели". Это означает то, что модель не учитывает динамику изменений состояния ВС, не накладывает ограничений на состояния системы. Следствием данного недостатка является ряд проблем (рассмотрены в лекции 10), которые не могут решить матричные модели и в частности:
- проблема контроля распространения прав доступа (позволяет передавать права от одного пользователя другому без всяких ограничений);
- автоматическое определение прав (изъятие и модификация функций перехода);
- проблема троянских коней (не выдерживают атак троянских коней).

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


10.3 Проблема доказательства безопасности обработки информации в матричных моделях.

Для этого рассмотрим типичную модель системы защиты, состоящую из следующих частей.
1. Конечный набор общих прав R={r1, ..., rn}.
2. Конечный набор исходных субъектов S0 и конечный набор исходных объектов О0, где S0
·O0.
3. Конечный набор команд С формы
· (Х1, ..., Хn), где
· имя; Х1, ..., Хn формальные параметры, указывающие на объекты.
4. Интерпретация J для команд, так что J отображает С в последовательность элементарных операций.
Элементарными операциями являются: ввести г в (s, о), удалить г из (s, o), создать субъект s, создать объект о, разрушить s разрушить о, где г-общее право; s имя субъекта; о имя объекта.
5. Условия для команд. Условие С отображение элементов набора команд в конечный набор прав. Право это триада (г, s, о), где r
· R, а s и о формальные параметры. Различие между правом и общим правом в том, что право это привилегия, предоставленная субъекту s применить общее право г к объекту о.
6. Матрица доступа Р со строкой для каждого субъекта в S и столбцом для каждого объекта в О.

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

Определение. Для заданной системы защиты и права г начальная конфигурация (S0 O0 p0) является безопасной для г в этой системе, если не существует конфигурации (s о р), такой что (S0 O0 p0) ведет к (s о р), и существует команда
· (Х1, ..., Хn), условия которой удовлетворяются в (s о р) и которая для некоторых реальных параметров дает утечку г через команду ввести г в (s, o) для некоторых субъекта s и объекта о, существующих во время команды ввести, для которых г не находится в p[s, о].
Для моделей, построенных на основе дискретной защиты, можно доказать следующую теорему:
Теорема 2.1. Не существует алгоритма, который может решить для произвольной системы дискретной защиты и общего права r, является или нет заданная исходная конфигурация безопасной.
Другими словами, если в исходную конфигурацию матрицы М[S,O]какой-либо субъект (пользователь) внесет дополнительное (новое) право, например разрешит доступ другому пользователю к своему объекту, то нельзя доказать, что новая конфигурация матрицы обеспечит безопасность, а следовательно и нельзя доказать что исходная конфигурация является безопасной.
доказательство.
Рассмотрим машину Тьюринга. Каждая машина Тьюринга Т имеет фиксированное число состояний К и конечный набор символов Г, размещаемых на ленте. Одним из этих символов является пробел В, который первоначально появляется в каждой ячейке ленты. Лента бесконечна только вправо. Машина Тьюринга снабжена сканирующей головкой, которая в каждый момент времени обозревает некоторую ячейку на ленте.
Действия машины Тьюринга определяются функцией S с аргументом из КхГ и значением КхГх(L, R) (L означает переход головки влево, R вправо).
Если
· (q, X)=(p, Y, L) для состояний р и q и символов на ленте Х и Y, то это означает, что машина Т, находящаяся в состоянии q и наблюдающая ячейку, содержащую символ X, переходит в состояние р, стирает символ Х и печатает символ 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, В(пробел) и "собственность" по отношению к самому себе, то матрица доступа будет всегда иметь ровно одно общее право, которое является состоянием системы. Это следует из того, что каждая команда удаляет состояние, известное из условия той команды, которая должна выполняться. Каждая команда также включает одно состояние в матрицу. Нельзя вносить в матрицу более одного общего права, которое является символом ленты по такому же аргументу. Таким же образом конец появляется только в одной записи матрицы, а именно, в диагональной записи для каждого созданного субъекта.
Таким образом, в каждой конфигурации системы защиты, полученной из исходной конфигурации, существует хотя бы одна команда, которую можно применить. Это объясняется тем, что машина Тьюринга имеет, по крайней мере, одно допустимое перемещение в любой ситуации. Cqx и Dqx никогда не используются одновременно. Следовательно, система защиты должна точно моделировать машину Тьюринга, используя описанное представление. Если машина Тьюринга вводит состояние qj, то система защиты может иметь утечку общего права qj., в противном случае она безопасна для qj. Поскольку нельзя предсказать, будет ли машина Тьюринга вводить qj, нельзя решить является ли система защиты безопасной для qj. Таким образом проблема доказательства безопасной обработки при дискретном доступе неразрешима.
Однако на практике модели дискретного доступа, используемые в совокупности с другими моделями и механизмами защиты, являются довольно распространенными. Они представляют соответствующий класс защищенности АС в стандартах защиты, что позволяет обеспечивать определенный уровень защищенности (более низкий, чем многоуровневые модели) в соответствии с предъявляемыми требованиями к данному классу.
Одним из вариантов совершенствования дискретной модели, является модель "take-grant", в которой форма передачи или взятия прав, определяется в виде специального права доступа (вместо own).


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



Литература:
1. Грушо А.А., Тимонина Е.Е. Теоретические основы защиты информации. - М.: Издательство Агентства “Яхтсмен”, - 1996. C.73-83(глава
2.Теория и практика обеспечения информационной безопасности. Под редакцией П.Д.Зегжды. - М.: Издательство Агентства “Яхтсмен”, - 1996. Cтр.30-31
3. Петров В.А., Пискарев А.С., Шеин А.В. Защита информации от несанкционированного доступа в автоматизированных системах.//Учебное пособие -М: Изд-во МИФИ. 1995.стр12-17.

Вопросы для самоконтроля и собеседования.
Понятие формальных моделей.
Классификация моделей безопасности.
Дискретные модели. Описание модели Хартсона.
Модель Харрисона-Рузо-Ульмана (HRU).
Проблема доказательства безопасной обработки информации в моделях построенных на основе матрицы доступа (теорема). Ее разрешимость.
Недостатки моделей безопасности построенных на основе матрицы доступа.

13PAGE 14115


13PAGE 14115




Заголовок 215Основной текст с отступомОсновной текстВерхний колонтитулНомер страницы14Подпись под рисункомНазвание объекта15Основной текст вместеЮН"C:\WINDOWS\Рабочий стол\ЛекТ11.docЮН"C:\WINDOWS\Рабочий стол\ЛекТ11.docЮН"C:\WINDOWS\Рабочий стол\ЛекТ11.docЮН"C:\WINDOWS\Рабочий стол\ЛекТ11.docЮН"C:\WINDOWS\Рабочий стол\ЛекТ11.docЮН"C:\WINDOWS\Рабочий стол\ЛекТ11.docЮН"C:\WINDOWS\Рабочий стол\ЛекТ11.docЮН$C:\WINDOWS\TEMP\Автокопия ЛекТ11.asdЮН
A:\ЛекТ11.docLexu$1C:\Алексей\Политех\Защита\лекции\1\лекция №11.doc
·
·

Приложенные файлы

  • doc 18814322
    Размер файла: 92 kB Загрузок: 0

Добавить комментарий