Основные классы моделей контроля и управления доступом
Из критерия безопасности следует, что для модели Харрисона-РуззоУлъмана ключевую роль играет выбор значении прав доступа и их использование в условиях команд. Хотя модель не налагает никаких ограничений на смысл прав и считает их равнозначными, те из них, которые участвуют в условиях выполнения команд, фактически представляют собой не права доступа к объектам (как, например, чтение и запись… Читать ещё >
Основные классы моделей контроля и управления доступом (реферат, курсовая, диплом, контрольная)
Дискреционные модели контроля и управления доступом. Модель Харрисона-Руззо-Ульмана
Основу дискреционных моделей безопасности составляет представление системы защиты в виде декартова произведения множеств, где элементами множеств являются составные части системы защиты: субъекты, объекты, уровни доступа, операции и т. п. В качестве математического аппарата выступает аппарат теории множеств. Примеры дискреционных моделей: пятимерное пространство безопасности Хартстона и модель Харрисона-Руззо-Ульмана.
Харрисон, Руззо и Ульман создали специальную модель для проведения исследований дискреционного управления доступом. Эта модель безопасности стала классической дискреционной моделью, реализующей произвольное управление доступом и контроль распространения прав доступа.
В терминах модели Харрисона-Руззо-Ульмана ИС представляется в виде совокупности:
- * активных сущностей — субъектов (множество S), которые осуществляют доступ к информации,
- • пассивных сущностей — объектов (множество О), содержащих защищаемую информацию. Чтобы включить в область действия модели отношения между субъектами, принято считать, что все субъекты одновременно являются объектами
•.
конечного множества прав доступа означающих полномочия на выполнение соответствующих действий.
Поведение системы моделируется с помощью понятий состояния и переходов между состояниями.
Каждое состояние определяет отношения доступа, которые существуют между сущностями системы в виде множества субъектов, объектов и матрицы прав. Пространство состояний системы определено декартовым произведением множеств субъектов, объектов и прав: SxOxR. Состояние Q в этом пространстве определяется кортежем, образованным множеством субъектов R, множеством объектов О и матрицей прав доступа М, описывающей текущие права доступа субъектов к объектам: Q = (S, О, М). Строки матрицы М соответствуют субъектам, а столбцы — объектам. Поскольку множество объектов включает в себя множество субъектов, матрица имеет вид прямоугольника Ячейка M[s, o] матрицы М содержит набор прав доступа субъекта s к объекту о, принадлежащих множеству прав R.
Поведение системы во времени моделируется переходами между различными состояниями. Переход осуществляется путем внесения изменений в матрицу М с помощью команд:
где, а — имя команды; Xj — параметр команды, являющийся идентификатором субъектов и объектов; si и оi — индексы субъектов и объектов в диапазоне от 1 до к; opi — элементарная операция.
Элементарные операции, составляющие команду, выполняются только в том случае, если истинны все условия присутствия укачанных прав доступа в ячейках матрицы М. В модели Харрисона-Руззо-Ульмана допустимы элементарные операции:
enter г into M[s, o](добавление субъекту s права г для объекта о).
delete г from M[s, o](удаление у субъекта s права г для объекта о).
create subject s (созданиенового субъекта s).
create object о (создание нового объекта о).
destroy subject s (удаление существующего субъекта s).
destroy object о (удаление существующегo объекта о) Применение любой элементарной операции ор в системе, находящейся в состоянии Q — (S, О, М) влечет за собой переход в другое состояние Q' = (S', О', М') которое отличается от предыдущего состояния Q по крайней мере одним компонентом, Выполнение базовых, операций приводит к следующим изменениям в состоянии системы:
Операция enter вводит право г и существующую ячейку матрицы доступа М. Содержимое каждой ячейки рассматривается как множество, т. е. если это право уже имеется, то ячейка не изменяется. Операция enter называется монотонной, поскольку она только добавляет права в матрицу доступа, но ничего не удаляет. Действие операции delete противоположно действию операции enter — она удаляет право из ячейки матрицы доступа, если оно там присутствует. Поскольку содержимое каждой ячейки рассматривается как множество, delete не делает ничего, если удаляемое право отсутствует в указанной ячейке. Поскольку delete удаляет информацию из матрицы доступа, она называется немонотонной операцией. Операции create subject и destroy subject представляют собой аналогичную пару монотонной нe немонотонной операции Для каждой операции существует предусловие ее выполнения; для изменения ячейки матрицы доступа с помощью операций enter или delete необходимо, чтобы эта ячейка существовала, т. е. чтобы существовали соответствующие субъект и объект. Предусловием операций создания create subject/object является отсутствие создаваемой сущности, а операций удаления destroy subject/object — наличие сущности. Если предусловие любой операции не выполнено, то ее выполнение безрезультатно.
В соответствии с моделью Харрисона-Руззо-Ульмана формальное описание системы ?(Q, R, C) состоит из элементов:
- * конечные исходные наборы субъект ов иобъектовО0
- * конечный набор прав доступа
- * неходкая матрица доступа М0, содержащая права доступа субъектов к объектам;
* конечный набор командкаждая из которых состоит из условий выполнения и интерпретации в терминах элементарных операций.
Поведение системы во времени моделируется с помощью последовательности состояний, в которой каждое последующее состояние является результатом применения некоторой команды из множества С к предыдущему;. Длязаданного начального состояния только от условий команд и составляющих их операций зависит, сможет ли система попасть и то или иное состояние.
Поскольку для обеспечения безопасности необходимо наложить запрет на некоторые отношения доступа, для заданного начального состояния системы должна существовать возможность определения множества состояний, в которые она сможет из него попасть. Это позволит задавать такие начальные условия (интерпретацию команд С, множества объектов Оо, субъектов S0 матрицу доступа М0), при которых система никогда не сможет попасть в состояния, нежелательные с точки зрения безопасности. Следовательно, для построения системы с предсказуемым поведением необходимо для заданных начальных условии получить ответ на вопрос: сможет ли некоторый субъект s когда-либо приобрести право доступа г для некоторого объекта о. Поэтому критерий безопасности в модели ХаррисонаРуззо-Улъмана формулируется следующим образом:
для заданной системы начальное состояние Q0 = (S0, О0, M0)
является безопасным относительно права г, если не существует применимой к Q0 последовательности команд, в результате которой право г будет занесено в ячейку матрицы М, в которой оно отсутствовало в состоянии Q0.
Смысл данного критерия состоит в том, что для безопасной конфигурации системы субъект никогда не получит право доступа г к объекту, если он не имел его изначально. Может показаться, что невозможность получения права г повлечет отказ от использования команд, в которых присутствует операция enter г into M[s, o], однако, это не так. Удаление субъекта или объекта приводит к уничтожению всех прав в соответствующей строке иди в столбце матрицы, но не влечет уничтожение самой строки или столбца и сокращение размеров матрицы. Следовательно, если в какой-то ячейке в начальном состоянии существовало право г, и после удаления субъекта или объекта, к которым относилось это право, ячейка будет очищена, но впоследствии в результате создания субъекта или объекта в эту же ячейку с помощью команды enter снова будет занесено право г, то это не будет означать нарушения безопасности.
Из критерия безопасности следует, что для модели Харрисона-РуззоУлъмана ключевую роль играет выбор значении прав доступа и их использование в условиях команд. Хотя модель не налагает никаких ограничений на смысл прав и считает их равнозначными, те из них, которые участвуют в условиях выполнения команд, фактически представляют собой не права доступа к объектам (как, например, чтение и запись), а права управления доступом, или права на осуществление модификации ячеек матрицы доступа. Таким образом, модель Харрисона-Руззо-Ульмана описывает не только доступ субъектов к объектам, но и распространение прав доступа от субъекта к субъекту, поскольку именно изменение содержания ячеек матрицы доступа определяет возможность выполнения команд, в том числе команд, модифицирующих саму матрицу, которые потенциально могут привести к нарушению критерия безопасности.
Необходимо отметить, что с точки зрения практики построения защищенных систем модель Харрисона-Руззо-Ульмана является наиболее простой в реализации и эффективной в управлении, поскольку не требует никаких сложных алгоритмов, и позволяет управлять полномочиями пользователей с точностью до операции над объектом, чем и объясняется ее распространенность среди современных ИС. Предложенный в модели критерий безопасности позволяет гарантировать недоступность определенной информации для пользователей, которым изначально не выданы соответствующие полномочия.
Харрисон, Руззо и Ульман доказали, что и общем случае не существует алгоритма, который может для произвольной системы, ее начального состояния Q0 и общего права г решить, является ли данная конфигурация безопасной. Доказательство опирается на свойства машины Тьюринга, с помощью которой моделируется последовательность переходов системы из состояния в состояние Чтобы можно было доказать указанный критерий, модель должна быть дополнена рядом ограничений. Задача является разрешимой в любом из следующих случаев:
- * командыявляются монооперационными, т. е. состоят не более чем из одной элементарной операции;
- * командыявляются моноусловными и монотонными, т. е. содержат не более одного условия и не содержат операций destroy и delete;
- * командыне содержат операций create.
Кроме того, все дискреционные модели уязвимы по отношению к атаке с помощью «троянского коня», поскольку в них контролируются только операции доступа субъектов к объектам, а не потоки информации между ними. Поэтому, когда троянская программа переносит информацию из объекта, доступного пользователю, в объект, открытый нарушителю, то формально правила дискреционной модели не нарушаются, но утечка информации происходит. Результаты исследования авторов модели показали, что сложно предсказать, каким образом могут распределяться права доступа в данной модели, даже если имеется полное представление о программах, ответственных за распределение прав. Например, пользователь имеет право на запуск программы другого пользователя. Пользовательможет не знать, что эта программа без явных на то указаний передаст набор его прав пользователю user2- Троянская программа («троянский конь») — программа, которая «на поверхности» выполняет одно действие (например, запись файла) и при этом скрытно производит нечто нежелательное (например, передает нелегальному пользователю право чтения). Однако сами троянские кони ограничены схемой авторизации, т. е. набором прав в системе. Они могут модифицировать состояние системы, используя команды, доступные и текущем состоянии.
Модель не дает гарантии безопасности системы, однако, ограничения, вводимые с целью повышения защитных свойств, приводят к снижению практического интереса: не существует полезных вариантов реализации модели Харрисона — Руззо — Ульмана, в которых проблема безопасности была бы разрешима. Но именно эта модель послужила основой для целого класса ПБ, которые применяются для управления доступом и контроля распространения прав в современных ИС.