Мандатные модели разграничения доступа
Мандатные системы управляют доступом неявным образом – с помощью назначения всем сущностям системы уровней безопасности, которые определяют все допустимые взаимодействия между ними. Система представляется в виде множеств субъектов S, объектов О (множество объектов включает множество субъектов, ) и прав доступа read (чтение) и write(запись). В мандатной модели рассматриваются только эти два вида доступа, и, хотя она может быть расширена введением дополнительных прав, все они будут отображаться в базовые. Это объясняется тем, что в данной модели контролируются не операции, осуществляемые субъектом над объектом, а потоки информации, которые могут быть только двух видов: либо от субъекта к объекту (запись), либо от объекта к субъекту (чтение). Требования к мандатному механизму доступа состоят в следующем: Каждому объекту и субъекту доступа должны сопоставляться классификационные метки, отражающие их место в соответствующей иерархии (метки конфиденциальности). Посредством этих меток субъектам и объектам должны назначаться классификационные уровни (уровни уязвимости, категории секретности и т.п.), являющиеся комбинациями иерархических и неиерархических категорий. Система защиты при вводе новых данных в систему запрашивает и получает от санкционированных пользователей классификационные метки этих данных. При санкционированном создании нового субъекта ему так же назначаются классификационные метки. Субъект может читать объект, только если иерархическая классификация в классификационном уровне субъекта не меньше, чем иерархическая классификация в классификационном уровне объекта, и неиерархические категории в классификационном уровне субъекта включают в себя все иерархические категории в классификационном уровне объекта;
Субъект осуществляет запись в объект, только если классификационный уровень субъекта в иерархической классификации не больше, чем классификационный уровень объекта в иерархической классификации, и все иерархические категории в классификационном уровне субъекта включаются в неиерархические категории в классификационном уровне объекта. Безопасность мандатных моделей доказана для общего случая. Рассмотрим подробнее мандатную модель Белла ЛаПадулы. Уровни безопасности субъектов и объектов задаются с помощью функции уровня безопасности , которая ставит в соответствие каждому объекту и субъекту уровень безопасности, принадлежащий множеству уровней безопасности L, на котором определена решётка Λ. Решётка уровней безопасности Λ – это формальная алгебра , где L – базовое множество уровней безопасности, а оператор ≤ определяет частичное нестрогое отношение порядка для элементов этого множества, т.е. оператор ≤ - антисимметричен, транзитивен и рефлексивен. Отношение ≤ на L: Рефлексивно, если ; Антисимметрично, если ; Транзитивно, если ; Другое свойство решётки состоит в том, что для каждой пары а1 и а2 элементов множества L можно указать единственный элемент наименьшей верхней границы и единственный элемент наибольшей нижней границы. Эти элементы также принадлежат L и обозначаются с помощью операторов • и соответственно: Смысл этих определений заключается в том, что для каждой пары элементов (или множества элементов, поскольку операторы • и транзитивны) всегда можно указать единственный элемент, ограничивающий её сверху или снизу таким образом, что между ними и этим элементом не будет других элементов. Функция уровня безопасности F назначает каждому субъекту и объекту некоторый уровень безопасности из L, разбивая множество сущностей системы на классы, в пределах которых их свойства с точки зрения модели безопасности являются эквивалентными. Тогда оператор ≤ определяет направление потоков информации, то есть, если F(A) ≤F(B), то информация может передаваться от элементов класса А элементам класса B.
Использование решётки для описания отношений между уровнями безопасности позволяет использовать в качестве атрибутов безопасности (элементов множества L) не только целые числа, для которых определено отношение «меньше или равно», но и более сложные составные элементы. В мандатных моделях функция уровня безопасности F вместе с решёткой уровней определяют все допустимые отношения доступа между сущностями системы, поэтому множество состояний системы V представляется в виде набора упорядоченных пар (F, M), где М – это матрица доступа, отражающая текущую ситуацию с правами доступа субъекта к объектам, содержание которой аналогично матрице прав доступа в модели Харрисона-Руззо-Ульмана, но набор прав ограничен правами read и write. Модель системы состоит из начального состояния vo, множества запросов R и функции перехода T:(VxR)→V, которая в ходе выполнения запроса переводит систему из одного состояния в другое. Система, находящаяся в состоянии при получении запроса переходит в следующее состояние . Состояние v достижимо в системе тогда и только тогда, когда существует последовательность такая, что T(ri,vi)=vi+1 для 0≤i<n. Для любой системы v0 тривиально достижимо. Белл и ЛаПадула предложили следующее определение безопасного состояния: 1. Состояние (F, M) называется безопасным по чтению (или просто безопасным) тогда и только тогда, когда для каждого субъекта, осуществляющего в этом состоянии доступ чтения к объекту, уровень безопасности этого субъекта доминирует над уровнем безопасности этого объекта, то есть для каждого и → F(s)≥F(o) 2. Состояние (F, M) называется безопасным по записи (или *- безопасным) тогда и только тогда, когда для каждого субъекта, осуществляющего в этом состоянии доступ записи к объекту, уровень безопасности этого объекта доминирует над уровнем безопасности этого субъекта, то есть для каждого и → F(o)≥F(s)
3. Состояние безопасно тогда и только тогда, когда оно безопасно и по чтению и по записи. В соответствии с предложенным определением безопасного состояния критерий безопасности системы выглядит следующим образом: Система безопасна тогда и только тогда, когда её начальное состояние v0 безопасно и все состояния, достижимые из v0 путём применения конечной последовательности запросов из R безопасны. Была доказана теорема, формально утверждающая безопасность системы при соблюдении определённых условий, получившая название основной теоремы безопасности: Система безопасна тогда и только тогда, когда: - начальное состояние v0, безопасно и - для любого состояния v, достижимого из v0 путём применения конечной последовательности запросов из R таких, что T(v, r) = v*, v=(F, M) и v*=(F*, M*) для каждого и выполняются следующие условия: 1. Если и , то F*(s)≥F*(o); 2. Если и F*(s)<F*(o), то ; 3. Если и , то F*(o)≥F*(s); 4. Если и F*(o)<F*(s), то ; Ролевая модель доступа Ролевая модель доступа представляет собой существенно усовершенствованную модель Харрисона-Руззо-Ульмана, однако её нельзя отнести ни к дискреционным, ни к мандатным, потому что управление доступом в ней осуществляется как на основе матрицы прав доступа для ролей, так и с помощью правил, регламентирующих назначение ролей пользователям и их активацию во время сеансов. В ролевой модели классическое понятие «субъект» заменено на понятия «пользователь» и «роль». Пользователь – это человек, работающий с системой и выполняющий определённые служебные обязанности. Роль – это активно действующая в системе абстрактная сущность, с которой связан ограниченный, логически связанный набор полномочий, необходимых для осуществления определенной деятельности. Полномочия в рамках модели назначаются абстрактным, не персонифицированным ролям, представляющим участников определённого процесса. Такой подход позволяет учесть разделение обязанностей и полномочий. При использовании ролевой модели управление доступом осуществляется в два этапа: для каждой роли указывается набор полномочий, представляющий набор прав доступа к объектам, и, во-вторых, каждому пользователю назначается список доступных ему ролей. Полномочия назначаются ролям в соответствии с принципом наименьших привилегий, из которого следует, что каждый пользователь должен обладать только минимально необходимым для выполнения своей работы набором полномочий.
Ролевая модель описывает систему в виде следующих множеств: U – множество пользователей, R – множество ролей, Р – множество полномочий на доступ к объектам, S – множество сеансов работы пользователя с системой. Для перечисленных множеств определяются следующие отношения: РА – отображение множества полномочий на множество ролей, UA – отображение множества пользователей на множество ролей, User – определение для каждого сеанса пользователя, осуществляющего работу с системой, Roles – определение для каждого сеанса набора ролей. Критерием безопасности ролевой модели является следующее правило: Система считается безопасной, если любой пользователь, работающий в сеансе S, может осуществить действия, требующие полномочия Р, только в том случае, если это полномочие принадлежит множеству прав доступа, установленных для данной роли. В отличие от других моделей безопасности ролевая модель не гарантирует безопасность с помощью формального доказательства, а только определяет характер ограничений, соблюдение которых и служит критерием безопасности системы. Такой подход позволяет получать простые и понятные правила контроля доступа, которые могут быть легко применены на практике, но лишает систему теоретической доказательной базы.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|