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

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