В чем заключается модель дискреционной политики безопасности в компьютерной системе

Обновлено: 02.07.2024

Денис Макашов,
руководитель службы представления проектов компании "Поликом Про"

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

Модель систем дискреционного разграничения доступа

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

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

Мандатное управление доступом

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

  • субъект может читать объект, только если иерархическая классификация субъекта не меньше, чем иерархическая классификация объекта, и неиерархические категории субъекта включают в себя все иерархические категории объекта;
  • субъект осуществляет запись в объект, только если классификационный уровень субъекта не больше, чем классификационный уровень объекта, и все иерархические категории субъекта включаются в неиерархические категории объекта.

Ролевое разграничение

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

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

Такое разграничение доступа является составляющей многих современных компьютерных систем. Как правило, данный подход применяется в системах защиты СУБД, а отдельные элементы реализуются в сетевых операционных системах.

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

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

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

Основой дискреционной(дискретной) политики безопасности является дискреционное управление доступом (Discretionary Access Control – DAC), которое определяется двумя свойствами:

1) все субъекты и объекты должны быть идентифицированы;

2) права доступа субъекта к объекту системы определяются на основании некоторого внешнего по отношению к системе правила.


Т.е. администратором задается набор троек следующего вида (Sj,Oj,Tk), где Si € S – субъекты компьютерной системы. Oj € O – объекты компьютерной системы. Tk T – множество прав доступа, которое разрешено выполнять Si над объектом Oj.

Для формального описания данной политики часто используется дискреционная матрица доступа, строки которой соответствуют S, столбцы соответствуют O, а на пересечений i-строки и j-ого столбца перечисляются все права доступа.

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

При хранении матриц доступов в компьютерной системе это можно делать централизованно и распределено.

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

Также данная матрица может разбиваться и храниться построчно, в этом случае с каждым субъектом связывается строка с матрицей доступа, называемая списком привилегий, в котором указывается какие виды доступа имеет S. (Win 2000,XP).

По принципу создания и управления матрицы доступа выделяют два подхода:

1. Принудительное управление доступом.

2. Добровольное управление доступом.

В 1-ом случае правами создания изменения матрицы доступов имеет непосредственно только администратор КС. Во втором случае (используется когда количеств объектов очень велико), в этом случае изменять матрицу доступа S к искомому O может владелец этого объекта. Под владельцем данного объекта понимают S который инициализировал операцию создания данного объекта.

К достоинствам дискреционной политики безопасности можно отнести относительно простую реализацию соответствующих механизмов защиты.

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

Мандатная политика безопасности.

Основу мандатной(полномочной) политики безопасности составляет мандатное управление доступом (Mandatory Access Control – МАС), которое подразумевает, что:

Данные модели строятся на основе следующих положений:

1. Имеется множество атрибутов безопасности. A=

Эти атрибуты упорядочены между собой, на данном множестве введено отношение доминирования, с помощью которого атрибуты можно сравнивать между собой. Самый низкий – открыто, наивысший – гос.тайна.

2. С каждым объектом компьютерной системы Oj связывается атрибут безопасности Ai € A который называется грифом секретности объекта и соответствует его ценности, чем более ценен объект тем более высокий гриф ему назначается.

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

3. Каждому субъект КС ставиться в соответствие атрибут безопасности Ai, который называется уровнем допуска субъекта. Максимальный уровень допуска равен максимальному из грифов секретности объектов, к которым субъект будет иметь доступ.


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

1. Нельзя читать сверху – Not read up (NRU).

2. Нельзя записывать вниз – Not write down (NWD).


Существуют и другие политики – Модель Биба:

В данной политике вместо грифов секретности вводят уровни целостности объекта:

- Совершенно нецелостные (объекты, целостность которых ничем не контролируется и ничем не подтверждена).

- Немного целостные (целостность информации подтверждена путем расчета и проверки контрольных сумм).

- Довольно целостные (целостность информации подтверждена путем расчета стойких контрольных сумм).

- Совершенно целостные (целостность объекта подтверждена с помощью имитовставок и контрольных сумм).

Информация находиться с уровнем целостности: совершенно целостный может рассматриваться как «чистая» информация, которой мы можем доверять, когда в такие объекты попадает информация с уровнем целостности совершенно нецелостная – грязная «информация», это есть нарушение свойств целостности, поэтому попадание информации из объектов менее целостных в объекты более целостные необходимо запретить, т.е. необходимо запретить чтение снизу и записи наверх. Это мандатная модель (В ней работает NRD и NRW).

Возможно отклонение от правил этой модели. Известна модель Бибо с понижением уровня субъекта и модель Бибо с понижением уровня объекта.

В первом варианте чтение снизу может быть разрешено, но при выполнении такого чтения субъектом, субъект автоматически получает уровень целостности того объекта из которого он прочитал информацию.

В модели понижения уровня объекта разрешается запись наверх, однако, после выполнения такой записи целостность объекта понижается до уровня целостности S, который производил эту запись.

Ролевое управление доступом.

В 2001 г. Национальный институт стандартов и технологий США предложил проект стандарта ролевого управления доступом.

Ролевое разграничение доступа (РРД) представляет собой развитие политики дискреционного разграничения доступа; при этом права доступа субъектов системы на объекты группируются с учетом специфики их применения, образуя роли. РРД является составляющей многих современных систем и применяется в системах защиты СУБД, сетевых ОС.

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

Ролевой доступ нейтрален по отношению к конкретным видам прав и способам их проверки; его можно рассматривать как объектно-ориентированный каркас, облегчающий администрирование, поскольку он позволяет сделать подсистему разграничения доступа управляемой при сколь угодно большом числе пользователей, прежде всего за счет установления между ролями связей, аналогичных наследованию в объектно-ориентированных системах. Кроме того, ролей должно быть значительно меньше, чем пользователей. В результате число администрируемых связей становится пропорциональным сумме (а не произведению) количества пользователей и объектов, что по порядку величины уменьшить уже невозможно.

Ролевое управление доступом оперирует следующими основными понятиями:

для таблиц СУБД – вставка, удаление и т.п., для прикладных объектов операции могут

быть более сложными);

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

Существуют два типа политики безопасности: дискретная (дискреционная) и мандатная (полномочная). Основой дискретной политики безопасности является дискреционное управление доступом, которое определяется двумя свойствами:

· все субъекты и объекты должны быть идентифицированы;

· права доступа субъекта к объекту определяются на основе некоторого задаваемого набора правил.

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

Мандатная политика безопасности для компьютерных систем: сущность, достоинства и недостатки.

Мандатная модель политики безопасности основывается на том, что:

· все субъекты и объекты должны быть идентифицированы;

· задан линейно упорядоченный набор меток секретности;

· каждому объекту присвоена метка секретности, определяющая ценность содержащейся в ней информации - его уровень секретности;

· каждому субъекту системы присвоена метка секретности, определяющая уровень доверия к нему - его уровень доступа.

В отличие от дискретной политики, которая требует определения прав доступа для каждой пары субъект-объект, мандатная политика, назначением метки секретности объекту, однозначно определяет круг субъектов, имеющих права доступа к нему. И. наоборот, назначением метки секретности субъекту, однозначно определяется круг объектов, к которым он имеет права доступа.

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

Проверка прав доступа

После формализации атрибутов защиты субъектов и объектов можно перечислить основные этапы проверки прав доступа [ Руссинович ] , [ Рихтер ] , [ Рихтер, Кларк ] , см. рис. 13.3.

Пример проверки прав доступа к защищенному объекту


Рис. 13.3. Пример проверки прав доступа к защищенному объекту

Этапов проверки довольно много. Наиболее важные этапы из них:

  • Если SID субъекта совпадает с SID владельца объекта и запрашиваются стандартные права доступа, то доступ предоставляется независимо от содержимого DACL .
  • Далее система последовательно сравнивает SID каждого ACE из DACL с SID маркера. Если обнаруживается соответствие, выполняется сравнение маски доступа с проверяемыми правами. Для запрещающих ACE даже при частичном совпадении прав доступ немедленно отклоняется. Для успешной проверки разрешающих элементов необходимо совпадение всех прав.

Очевидно, что для процедуры проверки важен порядок расположения ACE в DACL . Поэтому Microsoft предлагает так называемый предпочтительный порядок размещения ACE . Например, для ускорения рекомендуется размещать запрещающие элементы перед разрешающими.

Заключение

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

Приложение. Формальные модели защищенности в ОС Windows

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

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

Применение данного подхода может быть проиллюстрировано следующим образом.

Имеется совокупность объектов i> , субъектов i> и пользователей i> . Вводится операция доступа i> -> j> , под которой подразумевается использование i-м субъектом информации из j-го объекта. Основные варианты доступа: чтение, запись и активация процесса, записанного в объекте. В результате последней операции появляется новый субъект i> -> j> -> k> .

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

Пример графа доступа

Множество графов доступа можно рассматривать как фазовое пространство , а функционирование конкретной системы - как траекторию в фазовом пространстве. Защита информации может состоять в том, чтобы избегать "неблагоприятных" траекторий. Практически такое управление возможно только ограничением на доступ в каждый момент времени, или, как утверждается в известной "оранжевой" книге [ DoD ] , все вопросы безопасности информации определяются описанием доступов субъектов к объектам.

Можно ввести также особый вид субъекта, который активизируется при каждом доступе и называется монитором обращений . Если монитор обращений в состоянии отличить легальный доступ от нелегального и не допустить последний, то такой монитор называется монитором безопасности (МБ) и является одним из важнейших компонентов системы защиты.

Дискреционная модель контроля и управления доступом

Модели управления доступом регламентируют доступ субъектов к объектам. Наиболее распространена так называемая дискреционная (произвольная) модель, в которой обычные пользователи могут принимать участие в определении функций политики и присвоении атрибутов безопасности. Среди дискреционных моделей классической считается модель Харрисона-Руззо-Ульмана (см. [ Таненбаум ] ) - в ней система защиты представлена в виде набора множеств, элементами которых являются составные части системы защиты: субъекты, объекты, уровни доступа, операции и т.п.

С концептуальной точки зрения текущее состояние прав доступа при дискреционном управлении описывается матрицей (см. рис. 13.5), в строках которой перечислены субъекты, в столбцах - объекты, а в ячейках - операции, которые субъект может выполнить над объектом. Операции зависят от объектов. Например, для файлов это операции чтения, записи, выполнения, изменения атрибутов, а для принтера - операции печати и управления. Поведение системы моделируется с помощью понятия состояния Q = (S,O,M) , где S,O,M - соответственно текущие множества субъектов, объектов и текущее состояние матрицы доступа.

Пример матрицы доступа

С учетом дискреционной модели можно следующим образом сформулировать задачу системы защиты информации. С точки зрения безопасности, поведение системы может моделироваться как последовательность состояний, описываемых совокупностью субъектов, объектов и матрицей доступа. Тогда можно утверждать, что для безопасности системы в состоянии Q0 не должно существовать последовательности команд, в результате которой право R будет занесено в ячейку памяти матрицы доступа M, где оно отсутствовало в состоянии Q0 . (критерий Харрисона-Руззо-Ульмана). По существу необходимо ответить на вопрос: сможет ли некоторый субъект S когда-либо получить какие-либо права доступа к некоторому объекту O?

Очевидно, что для обеспечения безопасности необходимо наложить запрет на некоторые отношения доступа. Харрисон, Руззо и Ульман доказали, что в общем случае не существует алгоритма, который может для произвольной системы, ее начального состояния Q0 и общего права r решить, является ли данная конфигурация безопасной. Чтобы удовлетворить критерию безопасности в общем случае, в ИС должны отсутствовать некоторые операции создания и удаления сущностей, в результате чего эксплуатация подобной системы теряет практический смысл.

Каналы утечки информации в системах с дискреционным доступом

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

Очевидно, что для каждого субъекта S, активизированного в момент времени t, существует единственный активизированный субъект S', который активизировал субъект S. Поэтому можно, анализируя граф, подобный изображенному на рис. 13.5, выявить единственного пользователя, от имени которого активизирован субъект S.

Соответственно, для любого объекта существует единственный пользователь, от имени которого активизирован субъект, создавший данный объект. Можно сказать, что этот пользователь породил данный объект, а также сформировал для него список прав доступа.

В этом случае схематичное изображение канала утечки в виде разрешенного доступа от имени разных пользователей к одному и тому же объекту будет выглядеть следующим образом:

Ui -> (Write)-> O , в момент времени t1 и Uj -> (Read)-> O в момент времени t2 , где i≠j и t1 < t2 ,

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

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

Ролевая политика безопасности

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

В ролевой политике управление доступом осуществляется с помощью правил. Вначале для каждой роли указывается набор привилегий по отношению к системе и полномочий, представляющих набор прав доступа к объектам, и уже затем каждому пользователю назначается список доступных ему ролей. Классическое понятие субъект замещается понятиями пользователь и роль. Примером роли является присутствующая почти в каждой системе роль суперпользователя (группа Administrator для ОС Windows). Количество ролей обычно не соответствует количеству реальных пользователей - один пользователь может выполнять несколько ролей, и наоборот, несколько пользователей могут в рамках одной и той же роли выполнять типовую работу.

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

Читайте также: