ОИБ. основы информ. безопасности. Учебное пособие Томск
Скачать 1.99 Mb.
|
4.2.3. Модель «Take-Grant» Модель распространения прав доступа Take–Grant, предложенная впервые в 1976г., используется для анализа систем дискреционного разграничения доступа, в первую очередь для анализа путей распространения прав доступа в таких системах. В качестве основных элементов модели используются граф доступа и правила его преобразования. Цель модели – дать ответ на вопрос о возможности получения прав доступа субъектом системы на объект в состоянии, описываемом графом доступа. В настоящее время данная модель получила продолжение как расширенная модель Take–Grant, в которой рассматриваются пути возникновения информационных потоков в системах с дискреционным разграничением доступа. Перейдем к формальному описанию модели. Обозначим: О - множество объектов (файлы), S – множество активных субъектов (пользователи); R={r, w, c} - множество доступов, где r - читать, w - писать, с - вызывать. Допускается, что субъект X может иметь права R на доступ к объекту Y, эти права записываются в матрице контроля доступов. Кроме этих прав мы введем еще два: право take (t) – право брать права доступа и право grant (g) – право давать права доступа, которые также записываются в матрицу контроля доступов субъекта к объектам. Можно считать, что эти права определяют возможности преобразования одних графов состояний в другие. Преобразование состояний, то есть преобразование графов доступов, проводятся при помощи команд. Существует 4 вида команд, по которым один граф доступа преобразуется в другой. 1. Take (брать). Пусть S - субъект, обладающий правом t к объекту X и R - некоторое право доступа объекта X к объекту Y. Тогда возможна команда "S take forY from X". В результате выполнения этой команды в множество прав доступа субъекта S к объекту Y добавляется право . Графически это означает, что, если в исходном графе доступов G был подграф Y X S t то в новом состоянии G', построенном по этой команде t, будет подграф 2. Grant (давать). Пусть субъект S обладает правом g к объекту X и правом R к объекту Y. Тогда возможна команда "S grant for Y to X". В результате выполнения этой команды граф доступов G преобразуется в новый граф G', который отличается от G добавленной дугой (Х Y). Графически это означает, что если в исходном графе G был подграф то в новом состоянии G будет подграф: 3. Create (создавать). Пусть S - субъект, R.Команда "S create P for new object X" создает в графе новую вершину X и определяет Р как права доступов S к X. То есть по сравнению с графом G в новом состоянии G' добавляется подграф вида 72 X S 4. Remove (удалить). Пусть S - субъект и X - объект, R. Команда "S remove Р for X" исключает права доступа Р из прав субъекта S к объекту X. Графически преобразования графа доступа G в новое состояние G' в результате этой команды можно изобразить следующим образом: X S X S p p / , Под безопасностью будем понимать возможность или невозможность произвольной фиксированной вершине Р получить доступ R к произвольной фиксированной вершине X путем преобразования текущего графа G некоторой последовательностью команд в граф G', где указанный доступ разрешен. Определение. В графе доступов G вершины Р и S называются tg-связными, если существует путь в G, соединяющий Р и S, безотносительно ориентации дуг, но такой, что каждое ребро этого пути имеет метку, включающую t или g. Примем без доказательств следующие теоремы. Теорема 1. Субъект Р может получить доступа к, объекту X, если существует субъект S, имеющий доступ а, к вершине X такой, что субъекты Р и S связаны произвольно ориентированной дугой, содержащей хотя бы одно из прав t или g Теорема. 2. Пусть в системе все объекты являются субъектами. Тогда субъект Р может получить доступ а к субъекту X тогда и только тогда, когда выполняются условия: 1. Существует субъект S такой, что в текущем графеG есть дуга X S 2. S tg-связна с Р. Перечисленный правила «Брать», «Давать», «Создавать», «Уничтожать» для отличия от правил расширенной модели Take – Grant будем называть де – юре правилами. 4.2.4. Расширенная модель Take–Grant В расширенной модели Take–Grant рассматриваются пути и стоимости возникновения информационных потоков в системах с дискреционным разграничением доступа. В классической модели Take–Grant по существу рассматриваются два права доступа: t и g, а так же четыре правила (правила де-юре) преобразования графа доступов. В расширенной модели дополнительно рассматриваются два права: на чтение r (read) и на запись w (write), а так же шесть правил (правила де-факто) преобразования графа доступов: posе, spy, find, pass и два правила без названия. В результате применения к графу доступов правил де–факто в него добавляются мнимые дуги, помеченные r или w и изображаемые пунктиром (рисунок ). Вместе с дугами графа, соответствующими правам r и w (реальными дугами), мнимые дуги указывают на направления информационных каналов в системе. Состояние системы описывается его графом. Переход из состояния в состояние определяется операциями или правилами преобразования графа доступов. Преобразование графа G а граф G’ в результате выполнения правила ор обозначим G op G’. 73 r x y r w x y x y x y x y x y x y x y x y x y x y x y r r r r r r r r r r w w w w w w w w w w w w w w r r z z z z z z z z post(x,y,z) spy(x,y,z) find(x,y,z) pass(x,y,z) Рис. 4.4. Правила де–факто К мнимым дугам нельзя применять правила де – юре преобразования графа доступов. Информационные каналы нельзя брать или передавать другим объектам системы. Проблемы взаимодействия – центральный вопрос при похищении прав доступа. Каждое правило де–юре требует для достижения своей цели участия одного субъекта, а для реализации правила де–факто необходим один или два субъекта. Желательно во множестве всех субъектов выделить подмножество так называемых субъектов - заговорщиков – участников процессов передачи прав или информации. В небольших системах эта задача легко решаема. Многократное просматривая граф доступов и применяя к нему все возможные правила де–юре и де–факто, можно найти замыкание графа доступов, которое будет содержать дуги, соответствующие всем информационным каналам системы. Однако, если граф доступов большой, то найти его замыкание весьма сложно. Допустим, факт нежелательной передачи прав или информации состоялся. Каков наиболее вероятный путь его осуществления? В классической модели Take–Grant не дается прямого ответа. Предположим, что чем больше узлов на пути между вершинами, по которым произошла передача прав доступа или возник информационный поток, тем меньше вероятность использования этого пути. Например, на рисунке 4 видно, что интуитивно наиболее вероятный путь передачи информации от субъекта z к субъекту x лежит через объект y. В тоже время злоумышленник может специально использовать более длинный путь. 74 y z x r w r w t t Рис. 4.5. Пути возникновения информационного канала от z к x Таким образом, в расширенную модель Take–Grant можно включить понятие вероятности и стоимости пути передачи прав или информации. Путям наименьшей стоимости соответствует наивысшая вероятность и их исследуют в первую очередь. К моделям дискреционного пита так же относятся модель АДЕПТ-50 и модель Харстона. Дадим им краткую характеристику. 4.2.5. Модель АДЕПТ–50 В данной модели представлены четыре типа сущностей (любая именованная составляющая компьютерной системы): пользователи(u), задания(j), терминалы(t) и файлы(f), причем каждая сущность описывается тройкой: (L,F,M), где режим М - набор видов доступа, полномочия F – группа пользователей, имеющих право на доступ к определенному объекту. Сформулируем правила этой модели: 1. Пользователь u получает доступ к системе u U. 2. Пользователь u получает доступ к терминалу t u F(t), т.е. в том случае когда пользователь имеет право использовать терминал t. 3. Пользователь получает доступ к файлу j A(j) A(f), C(j) C(f) , M(j) M, f F(f) т.е. в случае: привилегии выполняемого задания шире привилегий файла или равны им; пользователь является членом F(f). Т.е. пользователь получает доступ к объекту тогда, когда он принадлежит группе пользователей, имеющих доступ к этому объекту, и его задание шире или равны привилегии объекта. Например, наивысшее полномочие доступа к файлу пользователя «сов. секретно», выполняющего задание с «конфиденциального» терминала будет «конфиденциально». 4.2.6. Модель Харстона Модель имеет пять основных наборов: А – установленных полномочий; U - пользователей; E – операций; R – ресурсов; S – состояний. Область безопасности будет выглядеть как произведение: A U E R S. Процесс организации доступа можно описать алгоритмически. Он будет состоять из следующих процедур: 75 1. Вызвать все вспомогательные программы необходимые для предварительного принятия решения. 2. Определить из U те группы, к которым принадлежит u. Затем выбрать из Р (набор установленных полномочий) спецификации полномочий, которым соответствует u. Этот набор полномочий F(u) определяет привилегию пользователя u. 3. Из P определить набор полномочий F(e) , устанавливающие е как основную операцию. Такой набор называется привилегией е. 4. Определить из Р набор F(R) (привилегию единичного ресурса) – полномочия, определяющие поднабор ресурсов из R 1 (определенных единиц ресурсов), имеющие общие элементы с R. 5. Удостоверится, что R полностью включается в D(q) =F(u) F(e)F(R) (домен полномочий). 6. Разбить D(q) на эквивалентные классы, так чтобы два полномочия попадали в эквивалентный класс тогда и только тогда, когда они специфицируют одну единицу ресурса. Новый набор полномочий F(u,q) – привилегия пользователя u по отношению к запросу q . 7. Вычислить ЕАС – условие фактического доступа, соответствующего запросу q. 8. Оценить ЕАС и принять решение о доступе: разрешить доступ к R , если R перекрывается; отказать в доступе в противном случае. 9. Произвести запись необходимых событий. 10. Вызвать все программы необходимые для принятия решения. 11. Выполнить все вспомогательные программы. 12. Если решение о доступе – положительное, завершить физическую обработку. Т.е. пользователь может получить (или не получить) доступ к информации предварительно пройдя соответствующие этапы идентификации (определение группы, его полномочий, условия фактического доступа и т.д.). Данная модель не всегда необходима в полном объеме. Например, во время регистрации пользователя системы необходим пункт 2 и 6. 4.2.7. Мандатная модель Белла-ЛаПадулы Мандатная модель управления доступом основана на правилах секретного документооборота, принятых в государственных и правительственных учреждениях многих стран. Основным положением политики Белла - ЛаПадулы, взятым ими из реальном жизни, является назначение всем участникам процесса обработки защищаемой информации, и документам, в которых она содержится, специальной метки, например, секретно, сов. секретно и т. д, получившей название уровня безопасности. Все уровни безопасности упорядочиваются с помощью установленного отношения доминирования, например, уровень сов. секретно считается более высоким чем уровень секретно, или доминирует над ним. Контроль доступа осуществляется в зависимости от уровней безопасности взаимодействующих сторон на основании двух простых правил: 1. Уполномоченное лицо (субъект) имеет право читать только те документы, уровень безопасности которых не превышает его собственный уровень безопасности. 2. Уполномоченное лицо (субъект) имеет право заносить информацию только в те документы, уровень безопасности которых не ниже его собственного уровня безопасности. Первое правило обеспечивает защиту информации, обрабатываемой более доверенными (высокоуровневыми) лицами, от доступа со стороны менее доверенных (низкоуровневых). Второе правило (далее мы увидим, что оно более важное) предотвращает утечку информации (сознательную или несознательную) со стороны высокоуровневых участников процесса обработки информации к низкоуровневым. 76 Таким образом, если в дискреционных моделях управление доступом происходит путем наделения пользователей полномочиями осуществлять определенные операции над определенными объектами, то мандатные модели управляют доступом неявным образом — с помощью назначения всем сущностям системы уровнен безопасности, которые определяют все допустимые взаимодействия между ними. Система в модели безопасности Белла–ЛаПадулы, как и другие модели, представляется в виде множеств субъектов S, объектов О (множество объектов включает множество субъектов, ScO) и прав доступа геаd и write. В мандатной модели рассматриваются только эти два вида доступа, и, хотя она может быть расширена введением дополнительных прав (например, правом на добавление информации, выполнение программ и т.д.), все они будут отображаться в базовые (чтение и запись)..Использование столь жесткого подхода, не позволяющего осуществлять гибкое управление доступом, объясняется тем, что в мандатной модели контролируются не операции, осуществляемые субъектом над объектом, а потоки информации, которые могут быть только двух видов: либо от субъекта к объекту (запись), либо от объекта к субъекту (чтение). Уровни безопасности субъектов и объектов задаются с помощью функции уровня безопасности F: S O L, которая ставит в соответствие каждому субъекту и объекту уровень безопасности, принадлежащий множеству уровней безопасности L 4.2.8. Решетка уровней безопасности Решетка уровней безопасности -— это формальная алгебра (L, <, , ), где L — базовое множество уровней безопасности, а оператор < определяет частичное нестрогое отношение порядка для элементов этого множества, т.е. оператор < — антисимметричен, транзитивен и рефлексивен. Отношение < на L: 1. рефлексивно, если а L: а < а; 2. антисимметрично, если a 1 , а 2 L: (а 1 <а 2 а 2 1 ) а 1 = а 2 ; 3.транзитивно,если a 1 , а 2 , а 3 L: (а 1 <а 2 а 2 3 )=> а 1 <а 3 Другое свойство решетки состоит в том, что для каждой пары а1 и а2 элементов множества L можно указать единственный элемент наименьшей верхней границы и единственный элемент наибольшей нижней границы. Эти элементы также принадлежат L. Смысл этих определений заключается в том, что для каждой пары элементов всегда можно указать единственный элемент, ограничивающий ее сверху или снизу таким образом, что между ними и этим элементом не будет других элементов. Функция уровня безопасности F назначает каждому субъекту и объекту некоторый уровень безопасности из L, разбивая множество сущностей системы на классы, в пределах которых их свойства с точки зрения модели безопасности являются эквивалентными. Тогда оператор < определяет направление потоков информации, то есть, если F(A) < F(B), то информация может передаваться от элементов класса А элементам класса В. Покажем, почему в модели Белла-ЛаПадулы для описания отношения доминирования на множестве уровней безопасности используется решетка. Если информация может передаваться от сущностей класса А к сущностям класса В, а также от сущностей класса В к сущностям класса А, то классы А и В содержат одноуровневую информацию и с точки зрения безопасности эквивалентны одному классу (АВ). Поэтому для удаления избыточных классов необходимо, чтобы отношение < было антисимметричным. Если информация может передаваться от сущностей класса А сущностям класса В, а также от сущностей класса В к сущностям класса С, то очевидно, что она будет также передаваться от сущностей класса А к сущностям класса С. Таким образом, отношение < должно быть транзитивным. 77 Так как класс сущности определяет уровень безопасности содержащейся в ней информации, то псе сущности одного и того же класса содержат с точки зрения безопасности одинаковую информацию. Следовательно, нет смысла запрещать потоки информации между сущностями одного и того же класса. Более того, из чисто практических соображений нужно предусмотреть возможность для сущности передавать информацию самой себе. Следовательно, отношение < должно быть рефлексивным. Использование решетки для описания отношений между уровнями безопасности позволяет использовать в качестве атрибутов безопасности (элементов множества L) не только целые числа, для которых определено отношение "меньше или равно", но и более сложные составные элементы. Например, в государственных организациях достаточно часто в качестве атрибутов безопасности используется комбинации, состоящие из уровня безопасности, представляющие собой целое число, и набора категорий из некоторого множества. 4.2.9. Классическая мандатная модель Белла–ЛаПадулы В мандатных моделях функция уровня безопасности F вместе с решеткой уровней определяют все допустимые отношения доступа между сущностями системы, поэтому множество состояний системы V представляется в виде набора упорядоченных пар (F,M), где М - это матрица доступа, отражающая текущую ситуацию с правами доступа субъектов к объектам, содержание которой аналогично матрице прав доступа в модели Харрисона – Руззо –Ульмана, но набор прав ограничен правами read и write. Модель системы (v 0, R,T) состоит из начального состояния v 0 , множества запросов R и функции перехода T:(VxR) V, которая в ходе выполнения запроса переводит систему из одного состояния в другое. Система, находящаяся в состоянии v V, при получении запроса r R, переходит в следующее состояние v* = T(v, r).Состояние v достижимо в системе (v 0, R,T) тогда и только тогда, когда существует последовательность <(r0,Vo),...,(r n - 1 ,Vn- 1 ).(r n ,v)> такая, что T(r i v i ) = v i+1 для 0Как и для дискреционной модели состояния системы делятся на безопасные, в которых отношения доступа не противоречат установленным в модели правилам, и небезопасные, в которых эти правила нарушаются и происходит утечка информации. Белл и ЛаПадула предложили следующее определение безопасного состояния: 1. Состояние (F,M) называется безопасным по чтению (или просто безопасным) тогда и только тогда, когда для каждого субъекта, осуществляющего в этом состоянии доступ чтения к объекту, уровень безопасности этого субъекта доминирует над уровнем безопасности этого объекта. 2. Состояние (F,M) называется безопасным по записи(или * - безопасным) тогда и только тогда, когда для каждою субъекта, осуществляющего в этом состоянии доступ записи к объекту, уровень безопасности этого объекта доминирует над уровнем безопасности этого субъекта. 3. Состояние безопасно тогда и только тогда, когда оно безопасно и по чтению, и по записи. В соответствии с предложенным определением безопасного состояния критерий безопасности системы выглядит следующим образом: Система (v 0, R,T) безопасна тогда и только тогда, когда ее начальное состояние v 0 безопасно и всt состояния, достижимые из v 0 путем применения конечной последовательности запросов из R безопасны. Белл и ЛаПадула доказали теорему, формально доказывающую безопасность системы при соблюдении определенных условий, получившую название основной теоремы безопасности. |