Политики избирательного разграничения доступа
Исходная политика избирательного разграничения доступом к информации (дискреционная модель) формируется путем задания администратором набора троек следующего вида , где - субъект доступа, - объект доступа, - множество прав доступа, которыми наделен субъект к объекту (например, чтение, запись, исполнение и т.д.) [3].
При формировании дискреционной политики безопасности обычно формируют дискреционную матрицу доступов , строки которой соответствуют субъектам системы, столбцы – объектам, а в ячейках матрицы хранят множество типов доступов. Пример данной матрицы представлен в таблице 2.1.
Таблица 2.1. Дискреционная матрица доступов.
Объект / Субъект | Файл_1 | Файл_2 | CD-RW | Флоппи-дисковод |
Администратор | Полные права | Полные права | Полные права | Полные права |
Гость | Запрет | Чтение | Чтение | Запрет |
Пользователь_1 | Чтение, передача прав | Чтение, запись | Полные права | Полный запрет |
Для матрицы доступа, представленной в таблице 2.1, Пользователь_1 имеет права на чтение и запись в Файл_2. Передавать эти права другому пользователю он не может.
Модель безопасности Харрисона-Руззо-Ульмана (HRU) [1] является классической дискреционной моделью реализующей произвольное управление доступом субъектов к объектам и контроль за распространением прав доступа.
Здесь поведение системы безопасности моделируется с помощью автоматной модели, путем перехода автомата из состояния в состояние. Состояние системы безопасности в некоторый момент характеризуется состоянием автомата и описывается тройкой Q=(S,O,M), где S – множество субъектов системы, O – множество объектов системы, M=M[s,o] – матрица доступов. Права доступа берутся из некоторого конечного множества T. Переход автомата из состояния в состояние осуществляется согласно запросам на изменение матрицы доступов.
Вводятся следующие операции op изменяющие матрицу доступов.
- enter t into (s,o) – внести право t в (s,o);
- delete t from (s,o) – удалить право t в (s,o);
- create subject s – создать субъект s;
- create object o – создать объект o;
- destroy subject s – уничтожить субъект s;
- destroy object o – уничтожить объект o;
В модели HRU запросы на изменение матрицы доступов осуществляются в следующей форме:
ЕСЛИ
t1 in M[s1,o1] and
t2 in M[s2,o2] and
…
tm in M[sm,om]
ТО
op1
op2
…
opn
В начальное время система находится в начальном состоянии Q0.
Имея начальное состояние Q0 и право t, говорят, что Q0 безопасна по отношению к t, если отсутствует последовательность запросов на изменение матрицы доступов, при которой t запишется в ячейку матрицы доступов, где она отсутствует в настоящий момент. В модели HRU исследуется вопрос, сможет ли некоторый субъект s приобрести право t для объекта o, если система стартует из состояния Q0.
Для данной модели доказано 2 теоремы –
Теорема 2.1. Существует алгоритм для монооперациональных систем (систем, у которых в заключении запроса – одна операция), определяющий, является либо не является данная система безопасной в состоянии Q0 относительно операции t.
Теорема 2.2. Проблема определения безопасности системы в состоянии Q0 относительно t в общем виде неразрешима.
Доказано, что проблема определения безопасности может быть решена для систем, не имеющих в заключении операторов create. Может быть решена, не имеющих в заключении операторов destroy либо delete.