Курс лекций Защита Информации/Модель Харрисона-Рузза-Ульмана
{{../Текст с двух сторон|←[[../Язык описания политики безопасности|Язык описания политики безопасности]]|[[../Модель Белла-ЛаПадулы|Модель Белла-ЛаПадулы]]→}} Модель Харрисона-Руззо-Ульмана является классической дискреционной моделью, реализует произвольное управление доступом [[../Основные понятия и определения#Субъект доступа| субъектов]] к [[../Основные понятия и определения#Объект доступа| объектам]] и контроль за распределение [[../Основные понятия и определения#Право доступа к информации| прав доступа]] в рамках этой модели.
Субъектно-объектный взгляд
Система обработки предоставляется в виде совокупности активных сущностей [[../Основные понятия и определения#Субъект доступа| субъектов]] , формирующих множество [[../Основные понятия и определения#Субъект доступа| субъектов]] , которые осуществляют доступ к пользователям пассивных сущностей [[../Основные понятия и определения#Объект доступа| объектов]] , формирующих множество [[../Основные понятия и определения#Объект доступа|объектов]] , содержащих [[../Основные понятия и определения#Защищаемая информация| защищаемую информацию]], и конечного множества [[../Основные понятия и определения#Право доступа к информации| прав доступа]] , характеризующего полномочия на выполнение соответствующих действий до того, что бы включить в область действия модели отношения между [[../Основные понятия и определения#Субъект доступа| субъектами]]. Принято считать, что все [[../Основные понятия и определения#Субъект доступа| субъекты]] одновременно являются и [[../Основные понятия и определения#Объект доступа| объектами]].
Пространство состояний системы
Эволюция системы в модели представляет собой траектории в пространстве состояний. Пространство состояний системы образуется в декартовом произведении множеств, составляющих ее [[../Основные понятия и определения#Субъект доступа| субъектов]], [[../Основные понятия и определения#Объект доступа| объектов]] и [[../Основные понятия и определения#Право доступа к информации| прав доступа]]. Текущее состояние - множества в этом пространстве определяется тройкой, состоящей из множества [[../Основные понятия и определения#Субъект доступа| субъектов]] , [[../Основные понятия и определения#Объект доступа| объектов]] и матрицы прав доступа , описывающая текущие права доступа [[../Основные понятия и определения#Субъект доступа| субъектов]] к [[../Основные понятия и определения#Объект доступа| объектам]] . Строки матрицы составляют [[../Основные понятия и определения#Субъект доступа| субъекты]] , а столбцы - [[../Основные понятия и определения#Объект доступа| объекты]] .
Любая ячейка матрицы содержит набор прав [[../Основные понятия и определения#Субъект доступа| субъекта]] к [[../Основные понятия и определения#Объект доступа| объекту]] , принадлежащий множеству прав доступа .
Поведение системы во времени моделируется переходами между различными состояниями. Переход осуществляется путем внесения изменений в матрицу с помощью команд вида:
...
где:
- - имя команды;
- - параметры команд,. являющиеся идентификаторами [[../Основные понятия и определения#Субъект доступа| субъектов]] и [[../Основные понятия и определения#Объект доступа| объектов]];
- и - индексы [[../Основные понятия и определения#Субъект доступа| субъектов]] и [[../Основные понятия и определения#Объект доступа| объектов]];
- - элементарная операция.
Элементарная операция, составляющая команду, выполняется только в том случае, если все условия, означающие присутствие указанных прав доступа в ячейках матрицы являются истинными.
Элементарные операции
В классической модели допустимы только 6 элементарных операций:
Применение любой элементарной операции в системе, находящейся в состоянии , влечет за собой переход в другое состояние , которое отличается от состояния по крайней мере одним компонентом.
если
если
для
для
для
для
для
для
для
Поведение системы во времени моделируется с помощью последовательности состояний , в которой каждое последующее состояние является результатом применения некоторой команды из множества к предыдущему состоянию:
Каждое состояние определяется отношением доступа, которое существует между сущностями системы в виде множеств [[../Основные понятия и определения#Субъект доступа| субъектов]], [[../Основные понятия и определения#Объект доступа| объектов]] и матрицы прав. Поскольку для обеспечения безопасности необходимо наложить запрет на некоторые отношения доступа для заданного начального состояния системы, должна существовать возможность определить множество состояний, в которых она сможет из него попасть. Это позволит задавать такие начальные условия, при которых система никогда не сможет попасть в нежелательное состояние с точки зрения безопасности. Следовательно, для построения системы с предсказуемым поведением, необходимо для задания начальных условий получить ответ на вопрос: сможет ли некоторый [[../Основные понятия и определения#Субъект доступа| субъект]] когда-либо приобрести права доступа для некоторого [[../Основные понятия и определения#Объект доступа| объекта]] . Исходя из изложенного критерия безопасности в модели Харрисона-Руззо-Ульмана для заданной системы начальное состояние является безопасным относительно права , если не существует приминимая к последовательность команд, в результате которой право будет занесено в ячейку матрицы , в которой оно отсутствовало в состоянии .
Смысл данного критерия состоит в том, что для безопасной конфигурации системы [[../Основные понятия и определения#Субъект доступа| субъект]] никогда не получит права доступа к [[../Основные понятия и определения#Объект доступа| объекту]] , если он не имел его изначально. Запрет внесения права в ячейку матрицы не является решением задачи, в силу того, что удаление [[../Основные понятия и определения#Субъект доступа| субъекта]] или [[../Основные понятия и определения#Объект доступа| объекта]] приводит к уничтожению всех прав в соответствующей строке или столбце матрицы, но не влечет за собой уничтожение самого столбца или строки и сокращения размеров матрицы. Следовательно, если в какой-либо ячейке в начальном состоянии существовало право и после удаления [[../Основные понятия и определения#Субъект доступа| субъекта]] или [[../Основные понятия и определения#Объект доступа| объекта]], к которому относилось это право, ячейка будет очищена, но впоследствии в результате создания [[../Основные понятия и определения#Субъект доступа| субъекта]] или [[../Основные понятия и определения#Объект доступа| объекта]] появиться вновь и в эту ячейку с помощью команды снова будет занесено право , то это не будет означать нарушение безопасности. Доказано, что в общем случае не существует алгоритма, который может для любой системы, ее начального состояния и общего права решить является ли данная конфигурация безопасной. Для того, чтобы можно было доказать сформулированный критерий модель должна иметь ряд ограничений. Задача является разрешимой в одном из следующих случаев:
- Команда является монооперационной, то есть состоит не более чем из одной операции.
- Команда является одноусловной или монотонной, то есть содержит не более одного условия и не содержит операций и .
- Команда не содержит операции .
Эти условия существенно ограничивают сферу применения модели, поскольку практически не существует систем, в которых не происходит создание или удаление сущностей.
Кроме того, все дискреционные модели уязвимы для атак типа троянского коня, поскольку в модели вписан контроль операций доступа [[../Основные понятия и определения#Субъект доступа| субъектов]] к [[../Основные понятия и определения#Объект доступа| объектам]], но не поток между [[../Основные понятия и определения#Объект доступа| объектами]].
Основные преимущества:
- простота;
- наглядность;
- возможность формального доказательства.
Недостатки:
- очень трудно администрировать.
{{../Текст с двух сторон|←[[../Язык описания политики безопасности|Язык описания политики безопасности]]|[[../Модель Белла-ЛаПадулы|Модель Белла-ЛаПадулы]]→}}