Модель безопасности HRU ( модель Харрисона , Руццо, Ульмана ) — это модель компьютерной безопасности на уровне операционной системы , которая занимается целостностью прав доступа в системе. Это расширение модели Грэхема-Деннинга , основанное на идее конечного набора процедур , доступных для редактирования прав доступа субъекта к объекту . Она названа в честь трех ее авторов: Майкла А. Харрисона, Уолтера Л. Руццо и Джеффри Д. Ульмана. [1]
Наряду с представлением модели Харрисон, Руццо и Ульман также обсудили возможности и ограничения доказательства безопасности систем с использованием алгоритма . [1]
Модель HRU определяет систему защиты, состоящую из набора общих прав R и набора команд C. Мгновенное описание системы называется конфигурацией и определяется как кортеж текущих субъектов , текущих объектов и матрицы доступа . Поскольку субъекты должны быть частью объектов, матрица доступа содержит одну строку для каждого субъекта и один столбец для каждого субъекта и объекта. Запись для субъекта и объекта является подмножеством общих прав .
Команды состоят из примитивных операций и могут дополнительно иметь список предварительных условий, требующих наличия определенных прав для пары субъектов и объектов.
Примитивные запросы могут изменять матрицу доступа, добавляя или удаляя права доступа для пары субъектов и объектов, а также добавляя или удаляя субъекты или объекты. Создание субъекта или объекта требует, чтобы субъект или объект не существовал в текущей конфигурации, в то время как удаление субъекта или объекта требует, чтобы он существовал до удаления. В сложной команде последовательность операций выполняется только как единое целое. Неудачная операция в последовательности приводит к сбою всей последовательности, форма транзакции базы данных .
Харрисон, Руццо и Ульман [1] обсудили, существует ли алгоритм, который принимает произвольную начальную конфигурацию и отвечает на следующий вопрос: существует ли произвольная последовательность команд, которая добавляет общее право в ячейку матрицы доступа, где его не было в начальной конфигурации?
Они показали, что такого алгоритма не существует, поэтому проблема неразрешима в общем случае. Они также показали ограничение модели командами с единственной примитивной операцией, чтобы сделать проблему разрешимой.