Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
GOS_2012.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
4.65 Mб
Скачать

3 Моделирование процессов и систем защиты информации

11. Модель Харрисона-Руззо-Ульмана. Анализ безопасности систем Харрисона-Руззо-Ульмана.

Данная модель реализует произвольное управление доступом субъек­тов к объектам и контроль за распространением прав доступа.

Обозначения

Обозначим: S - множество субъектов (осуществляют доступ к информации); О  множество объектов, содержащих защищаемую информацию; R = {r1,...,r„} — конечное множество прав доступа, означающих полномочия на выполнение соответствующих действий (чтение, за­пись, выполнение). Принято считать, что S с О, т.е. субъекты одновременно являются и объектами (это сделано для того, чтобы включить в область действия модели отношения между субъектами).

Поведение системы моделируется с помощью понятия состояния. О х S х R  пространство состояний системы;

М  матрица прав доступа, описывающая текущие права доступа субъектов к объектам (строки - субъекты, столбцы - объекты); Q = (S,0,M) — текущее состояние системы.

Любая ячейка матрицы M[s,o] содержит набор прав доступа s к объекту о, принадлежащих множеству прав доступа R.

Поведение системы

Поведение системы во времени моделируется переходами между раз­личными состояниями. Переход осуществляется путем внесения измене­ний в матрицу М с помощью команд следующего вида: commanda(x1,...,xk)

if n in M[xS1,x01] and (условия выполнения команды) r2 in M[xS2,x02] and

r . min M[xs ,x0 ] and then

op1,op2,...,op

(операции, составляющие команду) где а  имя команды; х,- — параметры команды, являющиеся идентифи­каторами субъектов и объектов; st и о,- - индексы субъектов и объектов в диапазоне от 1 до k; opt  элементарные операции (выполняются только в том случае, если все условия, означающие присутствие указанных прав доступа в ячейках матрицы М, являются истинными).

Элементарные операции

В классической модели допустимы только следующие элементарные операции:

enter г into M[s,o] (добавление субъекту s права г для объекта o

delete г from M[s,o] (удаление у субъекта sправа г для объекта о) 

create subject s (создание нового субъекта s) create object о (создание нового объекта о) 

destroy subject s (удаление существующего субъекта s) 

destroy object о (удаление существующего объекта о)

Применение любой элементарной операции ор в системе, находящейся в состоянии Q = (S,0,M),  влечет за собой переход в другое состоя­ние Q' = (S',0',M'), которое отличается от предыдущего состояния Q по крайней мере одним компонентом. Выполнение базовых операций приво­дит к следующим изменениям в состоянии системы: enter г into M[s, о] (где seS,oeO)

0' = 0

S' = S

M'[xs,x0] =M[xs,x0], если (xs,x0) ф (s,o)

M'[s,o] =M[s,o]U{r} Данная операция вводит право г в существующую ячейку матри­цы доступа. Содержимое ячейки рассматривается как множество, т.е. если это право уже имеется, то ячейка не изменяется. Опера­ция enter называется монотонной, т.к. она только добавляет права в матрицу и ничего не удаляет. Предусловие выполнения операции — существование ячейки (существование соответствующих субъекта и объекта). delete г from M[s, о] (где seS,oeO)

0' = 0

S' = S

M'[xs,x0] =M[Xs,x0], если (xs,x0) ф (s,o)

M'[s,o]LM[s,o]\{r} Данная операция удаляет право г из ячейки матрицы доступа, ес­ли оно там присутствует. Содержимое ячейки рассматривается как множество, т.е. если удаляемое право отсутствует в данной ячейке, то данная операция ничего не делает. Операция delete называется немонотонной, т.к. она удаляет информацию из матрицы. Предусло­вие выполнения операции - существование ячейки (существование соответствующих субъекта и объекта). create subject s (где s £ S)

О' = О и {s}

S' = Su{s}

M'[xs,x0] =M[xs,x0] для всех (xs,x0) eSxO

M'[s,x0] =0 для всех x0 e 0>

M'[s,xs] =0 для всехх, е S>

Операция является монотонной. Предусловие выполнения операции

-    отсутствие создаваемого субъекта / объекта. destroy subject s (где s e S)

О' = 0\{s}

S> = S\{s}

M'[xs,x0] = M[xs,x0] для всех (xs,x0) e S' 0' Операция является немонотонной. Предусловие выполнения опера­ции - наличие субъекта / объекта. create object о (где о£0)

О1 = О U {о}

S' = S

M'[xs,x0] =M[xs,x0], если (xs,x0)eSxO

7W'U,o] = 0 для всех xsgS' Операция является монотонной. Предусловие выполнения операции

-    отсутствие создаваемого субъекта / объекта. destroy object о (где о е 0\S)

О' = 0\{о}

S' = S

M'[xs,x0] =M[xs,x0] для всех (xs,x0) e S> 0' Операция является немонотонной. Предусловие выполнения опера­ции - наличие субъекта / объекта.

Формальное описание системы

Формальное описание системы состоит из следующих эле­ментов:

1.           конечный набор прав доступа R = 1, ... ,г„};

2.           конечные наборы исходных субъектов S0 = {s1,...,st} и объектов

О0 = 1,...,от}, где S0 С О0;

3.           исходная матрица доступа, содержащая права доступа субъектов к объектам - М0;

4.           конечный набор команд С = {а,(х1, ... ,х^)}, каждая из которых со­стоит из условий выполнения и интерпретации в терминах перечис­ленных элементарных операций.

Поведение системы во времени моделируется с помощью последова­тельности состояний Qi, причем Qi+1 =Cj(Qj), где С — множество команд. Попадание системы в то или иное состояние для заданного начального состояния зависит только от условий команд из С и составляющих их операций. Каждое состояние определяет отношения доступа, которые су­ществуют между сущностями системы в виде множества субъектов, объ­ектов и матрицы прав. Должна существовать возможность определить множество состояний системы, в которые она сможет попасть из заданно­го начального состояния (т.к. для обеспечения безопасности необходимо наложить запрет на некоторые отношения доступа). Это позволит задавать такие начальные условия (интерпретацию команд С, множества объектов О0, субъектов S0 и матрицу доступа М0), при которых система никогда не сможет попасть в состояния, нежелательные с точки зрения безопасности.

Следовательно для построения системы с предсказуемым поведением необходимо для заданных начальных условий получить ответ на вопрос: сможет ли некоторый субъект s когда-либо приобрести право доступа r для некоторого объекта o?

Критерий     безопасности     модели     Харрисона-Руззо-Ульмана

Критерий формулируется следующим образом:

Критерий  Для заданной системы начальное состояние Q0 = (S0,O0,M0является безопасным относительно права r, если не су­ществует применимой к Q0 последовательности команд, в результа­те которой право r будет занесено в ячейку памяти матрицы M, в которой оно отсутствовало в состоянии Q0.

Смысл данного критерия состоит в том, что для безопасной конфигу­рации системы субъект никогда не получит право r доступа к объекту, если он не имел его изначально.

Удаление субъекта или объекта приводит к уничтожению всех прав в соответствующей строке или столбце матрицы, но не влечет за собой уничтожение самого столбца или строки и сокращение размера матрицы. Следовательно, если в какой-то ячейке в начальном состоянии существо­вало право r, и после удаления субъекта или объекта, к которым отно­силось это право, ячейка будет очищена, но впоследствии появится вновь (в результате создания субъекта или объекта), и в эту ячейку с помощью соответствующей команды enter снова будет занесено право r, то это не будет означать нарушения безопасности.

Из критерия безопасности следует, что для данной модели ключевую роль играет выбор значений прав доступа и их использование в условиях команд. Хотя модель не налагает никаких ограничений на смысл прав и считает их равнозначными, те из них, которые участвуют в условиях выполнения команд, фактически представляют собой не права доступа к объектам, а права управления доступом, или права на осуществление модификаций ячеек матрицы доступа.

Таким образом, данная модель описывает не только доступ субъектов к объектам, но и распространение прав доступа от субъекта к субъек­ту, т.к. именно изменение содержания ячеек матрицы доступа определяет возможность выполнения команд (в том числе команд, модифицирующих саму матрицу доступа), которые потенциально могут привести к наруше­нию критерия безопасности.

Анализ безопасности

Опр. Система называется монооперационной, если каждая каманда системы содержит один примитивный оператор.

Теорема. Существует алгоритм, проверяющий: является ли исходное состояние монооперационной системы безопасным по отношению к праву r.

Следствие. Алгоритм проверки безопасности монооперационных систем имеет экспоненциальную сложность.

Теорема. Задача проверки безопасности произвольных систем ХРУ алгоритмически неразрешима (доказывается через машину Тьюринга).

В 1976 году Харрисон, Руззо и Ульман доказали, что в самом общем случае вопрос определения безопасности компьютерной системы неразрешим!!. Иными словами, не существует алгоритма, позволяющего определить, будет ли компьютерная система безопасна или небезопасна в общем случае.

В рамках модели, Харрисоном, Руззо и Ульманом доказывается теорема, указывающая на то, что проблема безопасности для системы с запросами общего вида является неразрешимой. Однако в частных случаях проблема безопасности решается, а именно, авторы показали, что безопасными являются монотонные системы (не содержащие операции destroy и delete), системы, не содержащие операций create, и моно-условные системы (запрос к которым содержит только одно условие).

поведение систем на основе модели HRU с точки зрения безопасности является не-предсказуемым!!! Помимо проблем с неопределенностью распространения прав досту-па в системах на основе модели HRU была подмечена еще одна серьезная проблема – отсутствие контроля за порождением потоков информации, и, в частности, контроля за порождением субъектов, следствием чего могут быть так называемые "троянские" программы. В модели HRU "правиль-ность", легитимность инициируемых из объектов-источников субъектов доступа никак не контролируется. В результате, злоумышленник в системе может осуществить неправомерный доступ к информации на основе под-мены свойств субъектов доступа. Данные результаты, опубликованные в середине 70-х годов, вызвали обескураживающий эффект среди исследователей теории компьютерной безопасности, но, вместе с тем, стимулировали поиски других подходов к обеспечению проблемы безопасности

Положительные    и    отрицательные    стороны    модели Харрисона-Руззо-Ульмана

Положительные моменты:

— данная модель является простой в реализации (т.к. не требует при­менения сложных алгоритмов);

—   данная модель является эффективной в управлении (т.к. позволяет управлять полномочиями пользователей с точностью до операции над объектом);

—   критерий безопасности данной модели является весьма сильным в практическом плане (т.к. позволяет гарантировать недоступность определенной информации для пользователей, которым изначально не выданы соответствующие полномочия).

Отрицательные моменты:

—   доказано, что в общем случае не существует алгоритма, кото­рый может для произвольной системы, ее начального состояния Q0(S0,O0,M0) и общего правила r решить, является ли данная ин­формация безопасной;

—   существует уязвимость к атаке с помощью «троянского коня» (т.к. в дискреционных моделях контролируются только операции доступа субъектов к объектам, а не потоки информации между ними).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]