Модель Харрисона-Руззо-Ульмана
Из Википедии, бесплатной энциклопедии
Модель Харрисона-Руззо-Ульмана (HRU-модель) — одна из формальных моделей управления доступом субъектов (пользователей) к объектам, реализованная с помощью матрицы доступов. Названа в честь трёх его авторов: Майкла Харрисона[англ.], Уолтера Руззо и Джеффри Ульмана.[1]
Описание модели
[править | править код]Введение
[править | править код]В современном мире одной из главных ценностей является информация. Поэтому так важно сделать доступ к информации безопасным. В связи с этим были разработаны модели управления доступом. Одной из таких моделей является модель Харрисона-Руззо-Ульмана, главной особенностью которой является матрица с полным описанием пользовательских прав к файлам. Изменения в эту матрицу вводятся с помощью специальных команд.
Описание состояния системы
[править | править код]Основной задачей любой модели управления доступом является ограничение на выполнениe операций, которые разрешено проводить субъекту (пользователю) над объектом. Такими операциями могут являться, например, чтение (поток информации от объекта к субъекту) и запись (поток информации от субъекта к объекту). Введем некоторые обозначения:

— множество субъектов,
— множество объектов,
— множество прав доступа.
Для реализации этих прав в данной модели используется матрица доступов , строки которой соответствуют субъектам, а столбцы — объектам. На пересечении строчек и столбцов указаны права доступа, которыми обладает данный субъект по отношению к данному объекту. Тогда текущее состояние системы можно однозначно записать в таком виде:[2]
Переходы между состояниями системы
[править | править код]Для того чтобы был возможен переход из в , нужно ввести некоторые элементарные операции. Для этой цели в данной модели существует шесть операторов :[3]
- Добавление права в ячейку :
- Удаление права из ячейки :
- Создание нового субъекта :
- Создание нового объекта :
- Удаление субъекта :
- Удаление объекта :
Условия выполнения и новое состояние системы записаны в виде таблицы:[4]
Оператор | Условия выполнения | Новое состояние системы |
---|---|---|
| ||
| ||
| ||
| ||
| ||
|
Любой переход может быть осуществлен с помощью такой команды:[5]
command if then end
Пример команды
[править | править код]Примером команды, которая является комбинацией элементарных операций , может служить создание файла пользователем и получение им прав на чтение :[1]
command end
Системы в модели Харрисона-Руззо-Ульмана
[править | править код]Любая система в модели Харрисона-Руззо-Ульмана характеризуется матрицей доступа , конечным количеством прав , объектов , субъектов и операций . Система является монооперационной, если каждая команда данной системы выполняет лишь одну элементарную операцию .[6]
Безопасность
[править | править код]Критерий безопасности системы
[править | править код]Для заданной системы исходное состояние называется безопасным относительно права , если не существует такой последовательности команд, которая изменила бы заданное начальное состояние системы так, что право записалось бы в ячейку , в которой оно отсутствовало в начальном состоянии . Если это условие не выполнено, то произошла утечка информации.[7]
Теорема 1
[править | править код]Существует алгоритм, проверяющий на безопасность исходное состояние монооперационной системы на безопасность относительно права .[8]
Доказательство
[править | править код]Чтобы показать, что исходное состояние системы является безопасным относительно права , нужно перебрать все последовательности операций и проверить на отсутствие утечки права для каждого конечного состояния. Из этого следует, что условием возможности проверки на безопасность будет ограниченность количества последовательностей операций. Пусть — некоторая последовательность операций. Заметим, что её можно упростить. Команды и уберем из последовательности, так как нас интересует наличие права в ячейке, а не его отсутствие. Добавим команду в начало последовательности операций и создадим таким образом субъект . Заменим ссылки на субъекты и объекты, создаваемые другими командами и , ссылкой на . Остальные команды и убираем, так как ввиду монооперационности системы нельзя создать субъект и определить для него права в одной операции. В результате остается одна команда и множество команд , максимальное число которых легко посчитать по формуле . Из этого следует, что число последовательностей операций ограниченно, а значит возможно перебором проверить на безопасность состояние системы относительно права .[8]
Теорема 2
[править | править код]Задача определения безопасности исходного состояния системы общего вида для данного права является неразрешимой.[9]
Доказательство
[править | править код]Чтобы доказать данную теорему, достаточно свести задачу определения безопасности к задаче остановки машины Тьюринга, которая является заведомо неразрешимой.[9]
Преимущества и недостатки
[править | править код]Преимущества[10]
[править | править код]- Простота и наглядность, так как для данной модели не требуется сложных алгоритмов.
- Эффективность в управлении, так как возможно управление правами пользователей с точностью до операции.
- Сильный критерий безопасности.
Недостатки[10]
[править | править код]- Не существует алгоритма проверки на безопасность для произвольной системы.
- Уязвимость для атаки с помощью троянского коня, так как в данной модели не существует контроля за потоками информации между субъектами.
Применение
[править | править код]Несмотря на то, что модель Харрисона-Руззо-Ульмана не предоставляет алгоритма проверки на безопасность для произвольной системы, данная модель нашла свою нишу в мире и используется при формальной верификации корректности построения систем разграничения доступа в высокозащищённых автоматизированных системах. На данный момент создание и развитие моделей управления доступом заключается в основном в проектировании различных модификаций модели Харрисона-Руззо-Ульмана и в поиске условий, при которых бы задача определения безопасности была алгоритмически разрешимой.[9] [11]
Сравнение с аналогом
[править | править код]Аналогом модели Харрисона-Руззо-Ульмана является модель Белла-Лападулы, которая предусматривает разделение объектов и субъектов на уровни секретности, а также контролирует поток данных от субъекта к субъекту. Так субъект, имеющий менее высокий уровень секретности, чем у объекта, не получит права доступа к этому объекту. Это создает ряд преимуществ и недостатков по сравнению с моделью Харрисона-Руззо-Ульмана. Модель Белла — Лападулы не подвержена атакам с помощью троянских коней, более безопасна. Но модель Харрисона-Руззо-Ульмана более эффективна в управлении и проста в использовании. Поэтому каждая из этих моделей нашла свое применение.[12]
См. также
[править | править код]Примечания
[править | править код]- ↑ 1 2 Цирлов В.Л., 2008, 2.3.1, с. 34.
- ↑ Harrison M., Ruzzo W., Ullman J., 1976, pp. 462.
- ↑ Harrison M., Ruzzo W., Ullman J., 1976, pp. 463.
- ↑ Девянин П.Н., 2005, с. 19.
- ↑ Harrison M., Ruzzo W., Ullman J., 1976, pp. 464.
- ↑ Цирлов В.Л., 2008, 2.3.1, с. 38.
- ↑ Девянин П.Н., 2005, с. 20.
- ↑ 1 2 Девянин П.Н., 2005, с. 21.
- ↑ 1 2 3 Цирлов В.Л., 2008, 2.3.1, с. 40.
- ↑ 1 2 Гаценко О. Ю., 2001, с. 34.
- ↑ Девянин П.Н., 2005, с. 24.
- ↑ Гаценко О. Ю., 2001, с. 43—45.
Литература
[править | править код]- Цирлов В.Л. Основы информационной безопасности автоматизированных систем. — Феникс, 2008. — С. 34—40. — 173 с. — ISBN 978-5-222-13164-0.
- Harrison M., Ruzzo W., Ullman J. ESIGN: Protection in operating systems (англ.). — 1976. — Август (т. 19, № 8). — С. 461–471. — ISSN 0001-0782.
- Девянин П.Н. 2.1.1. Элементы теории ХРУ // Модели безопасности компьютерных систем. — Москва: Академия, 2005. — С. 18—25. — 144 с. — ISBN 5-7695-2053-1.
- Гаценко О. Ю. Защита информации. Основы организационного управления.. — Санкт-Петербург: Сентябрь, 2001. — С. 34—45. — 228 с. — ISBN 5-94234-015-3.