![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Дискреционная модель безопасности Харрисона-Руззо-Ульмана
Система обработки информации представляется в виде совокупности активных субъектов S, пассивных объектов O и конечного множества прав доступа R={r1, …, rn} (рисунок 8.1.1). Субъекты осуществляют доступ к информации, объекты содержат информацию, права доступа означают полномочия на выполнение соответствующих действий (чтение, запись, выполнение). Еще одним моментом является то, что все субъекты являются одновременно и объектами, это позволяет представлять права доступа между субъектами Текущее состояние системы в пространстве состояний Переход между различными состояниями осуществляется путем внесения изменений в матрицу Будем описывать команды в следующем виде:
. . .
Рисунок 8.1.1 — Дискреционная модель безопасности Харрисона-Руззо-Ульмана
Здесь Элементарные операции составляющие команду, выполняются только в том случае, если все условия, означающие присутствие указанных прав доступа в ячейках матрицы M, являются истинными. Классическая модель допускает только следующие элементарные операции: · enter r into M[s, o] — добавление субъекту s права г для объекта о; · delete r from M[s, o] — удаление у субъекта а права г для объекта о; · create subject s — создание нового субъекта s; · create object о — создание нового объекта о; · destroy subject s — удаление существующего субъекта s; · destroy object о — удаление существующего объекта о.
Применение любой элементарной операции ор в системе, находящейся в состоянии Q=(S, О, М) влечет за собой переход в другое состояние Q'=(S', O', М'), которое отличается от предыдущего состояния Q по крайней мере одним компонентом. Выполнение базовых операций приводит к следующим изменениям в состоянии системы: enter r into M[s, о] (где s Î S, о Î O) O' = O S' = S М'[хs, хo] = М[хs, хo], если (хs, хo) ¹ (s, о) М'[s, o] = М[s, o] È {r}
delete r from M[s, о] (где s Î S, о Î O) O' = O S' = S М'[хs, хo] = М[хs, хo], если (хs, хo) ¹ (s, о) М'[s, o] = М[s, o] \ {r} create subject s (где s Ï S) O' = O È {s} S' = S È {s} М'[хs, хo] = М[хs, хo], для всех (хs, хo) Î S ´ O М'[s, хo] = Æ для всех хo Î O' М'[s, хs] = Æ для всех хs Î S' destroy subject s (где s Î S) O' = O \ {s} S' = S \ {s} М'[хs, хo] = М[хs, хo], для всех (хs, хo) Î S' ´ O'
create object o (где o Ï O) O' = O È {o} S' = S М'[хs, хo] = М[хs, хo], для всех (хs, хo) Î S ´ O М'[xs, хo] = Æ для всех хs Î S' destroy object o (где o Î O) O' = O \ {o} S' = S М'[хs, хo] = М[хs, хo], для всех (хs, хo) Î S' ´ O' Формальное описание системы состоит из следующих элементов: · конечный набор прав доступа R={r1, …, rn}; · конечные наборы исходных субъектов и объектов S0={s1, …, sl} и объектов O0={o1, …, om}, где S0 Í O0; · исходная матрица доступа, содержащая права доступа субъектов к объектам — М0; · конечный набор команд C={ai(x1,.., xk)}, каждая из которых состоит из условий выполнения и интерпретации в терминах вышеперечисленных элементарных операций.
Поведение системы во времени моделируется с помощью последовательности состояний {Qi}, в которой каждое последующее состояние является результатом применения некоторой команды из множества C к предыдущему Qn+1 = Cn(Qn). Таким образом, для заданного начального состояния только от условий команд из С и составляющих их операций зависит, сможет ли система попасть в то или иное состояние, или нет. Каждое состояние определяет отношения доступа, которые существуют между сущностями системы в виде множества субъектов, объектов и матрицы прав. Поскольку для обеспечения безопасности необходимо наложить запрет на некоторые отношения доступа, для заданного начального состояния системы должна существовать возможность определить множество состояний, в которые она сможет из него попасть. Это позволит задавать такие начальные условия (интерпретацию команд С, множество объектов О0, субъектов S0 и матрицу доступа M0), при которых система никогда не сможет попасть в состояния, нежелательные с точки зрения безопасности. Все дискреционные модели уязвимы по отношению к атаке с помощью «троянского коня», поскольку в них контролируются только операции доступа субъектов к объектам, а не потоки информации между ними. Возможна ситуация, когда нарушитель подставит пользователю программу, переносящую информацию из доступного этому пользователю объекта в объект, доступный нарушителю. В данном случае формальное правило дискреционной политики безопасности не нарушается, но утечка информации происходит.
|