Модель Харрисона-Руззо-Ульмана

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

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

Описание модели[править | править код]

Введение[править | править код]

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

Описание состояния системы[править | править код]

Основной задачей любой модели управления доступом является ограничение на выполнениe операций, которые разрешено проводить субъекту (пользователю) над объектом. Такими операциями могут являться, например, чтение (поток информации от объекта к субъекту) и запись (поток информации от субъекта к объекту). Введем некоторые обозначения:

Матрица доступа

 — множество субъектов,

 — множество объектов,

 — множество прав доступа.

Для реализации этих прав в данной модели используется матрица доступов , строки которой соответствуют субъектам, а столбцы — объектам. На пересечении строчек и столбцов указаны права доступа, которыми обладает данный субъект по отношению к данному объекту. Тогда текущее состояние системы можно однозначно записать в таком виде:[2]

Переходы между состояниями системы[править | править код]

Для того, чтобы был возможен переход из в , нужно ввести некоторые элементарные операции. Для этой цели в данной модели существует шесть операторов :[3]

  1. Добавление права в ячейку :
  2. Удаление права из ячейки :
  3. Создание нового субъекта :
  4. Создание нового объекта :
  5. Удаление субъекта :
  6. Удаление объекта :

Условия выполнения и новое состояние системы записаны в виде таблицы:[4]

Оператор Условия выполнения Новое состояние системы

Любой переход может быть осуществлен с помощью такой команды:[5]

command 
    if 
       
       
       
    then
         
         
         
         
end

Пример команды[править | править код]

Примером команды, которая является комбинацией элементарных операций , может служить создание файла пользователем и получение им прав на чтение :[1]

command  
      
      
end

Системы в модели Харрисона-Руззо-Ульмана[править | править код]

Любая система в модели Харрисона-Руззо-Ульмана характеризуется матрицей доступа , конечным количеством прав , объектов , субъектов и операций . Система является монооперационной, если каждая команда данной системы выполняет лишь одну элементарную операцию .[6]


Безопасность[править | править код]

Критерий безопасности системы[править | править код]

Для заданной системы исходное состояние называется безопасным относительно права , если не существует такой последовательности команд, которая изменила бы заданное начальное состояние системы так, что право записалось бы в ячейку , в которой оно отсутствовало в начальном состоянии . Если это условие не выполнено, то произошла утечка информации.[7]

Теорема 1[править | править код]

Существует алгоритм, проверяющий на безопасность исходное состояние монооперационной системы на безопасность относительно права .[8]

Доказательство[править | править код]

Чтобы показать, что исходное состояние системы является безопасным относительно права , нужно перебрать все последовательности операций и проверить на отсутствие утечки права для каждого конечного состояния. Из этого следует, что условием возможности проверки на безопасность будет ограниченность количества последовательностей операций. Пусть  — некоторая последовательность операций. Заметим, что её можно упростить. Команды и уберем из последовательности, так как нас интересует наличие права в ячейке, а не его отсутствие. Добавим команду в начало последовательности операций и создадим таким образом субъект . Заменим ссылки на субъекты и объекты, создаваемые другими командами и , ссылкой на . Остальные команды и убираем, так как ввиду монооперационности системы нельзя создать субъект и определить для него права в одной операции. В результате остается одна команда и множество команд , максимальное число которых легко посчитать по формуле . Из этого следует, что число последовательностей операций ограниченно, а значит возможно перебором проверить на безопасность состояние системы относительно права .[8]

Теорема 2[править | править код]

Задача определения безопасности исходного состояния системы общего вида для данного права является неразрешимой.[9]

Доказательство[править | править код]

Чтобы доказать данную теорему, достаточно свести задачу определения безопасности к задаче остановки машины Тьюринга, которая является заведомо неразрешимой.[9]

Преимущества и недостатки[править | править код]

Преимущества[10][править | править код]

  1. Простота и наглядность, так как для данной модели не требуется сложных алгоритмов.
  2. Эффективность в управлении, так как возможно управление правами пользователей с точностью до операции.
  3. Сильный критерий безопасности.

Недостатки[10][править | править код]

  1. Не существует алгоритма проверки на безопасность для произвольной системы.
  2. Уязвимость для атаки с помощью троянского коня, так как в данной модели не существует контроля за потоками информации между субъектами.

Применение[править | править код]

Несмотря на то, что модель Харрисона-Руззо-Ульмана не предоставляет алгоритма проверки на безопасность для произвольной системы, данная модель нашла свою нишу в мире и используется при формальной верификации корректности построения систем разграничения доступа в высокозащищённых автоматизированных системах. На данный момент создание и развитие моделей управления доступом заключается в основном в проектировании различных модификаций модели Харрисона-Руззо-Ульмана и в поиске условий, при которых бы задача определения безопасности была алгоритмически разрешимой.[9] [11]

Сравнение с аналогом[править | править код]

Аналогом модели Харрисона-Руззо-Ульмана является модель Белла-Лападулы, которая предусматривает разделение объектов и субъектов на уровни секретности, а также контролирует поток данных от субъекта к субъекту. Так субъект, имеющий менее высокий уровень секретности, чем у объекта, не получит права доступа к этому объекту. Это создает ряд преимуществ и недостатков по сравнению с моделью Харрисона-Руззо-Ульмана. Модель Белла — Лападулы не подвержена атакам с помощью троянских коней, более безопасна. Но модель Харрисона-Руззо-Ульмана более эффективна в управлении и проста в использовании. Поэтому каждая из этих моделей нашла свое применение.[12]

См. также[править | править код]

Примечания[править | править код]

Литература[править | править код]

  • Цирлов В.Л. Основы информационной безопасности автоматизированных систем. — Феникс, 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.