доступа к информации, применительно к случаю контроля целостности. Так как в последующем будет рассмотрена подробно модель Белла-Лападулла, то модель Биба здесь рассматриваться не будет.
Модель Кларка-Вилсона появилась в результате анализа реально применяемых методов обеспечения целостности документооборота в коммерческих компаниях. Основные понятия рассматриваемой модели – это корректность транзакций и разграничение функциональных обязанностей. Модель задает правила функционирования компьютерной системы и определяет две категории объектов данных и два класса операций над ними. Все содержащиеся в системе данные подразделяются на контролируемые и неконтролируемые элементы. Целостность первых обеспечивается моделью Кларка-Вилсона. Последние содержат информацию, целостность которой в рамках данной модели не контролируется. Данная модель вводит два класса операций над элементами данных: процедуры кон-
троля целостности (integrity verification procedures - IVP) и процедуры преобразования (transformation procedures - TP).
Наконец, модель содержит 9 правил, определяющих взаимоотношения элементов данных и процедур в процессе функционирования системы, показанных в табл.12.
Таблица 12
Правила модели Кларка-Вилсона
Правило |
модели |
Кларка- |
Обо- |
Принципы поли- |
Вилсона |
|
|
зна- |
тики контроля це- |
|
|
|
че- |
лостности, реали- |
|
|
|
ние |
зуемые правилом |
|
|
|
пра- |
|
|
|
|
вила |
|
Множество всех процедур кон- |
С1 |
Корректность |
||
троля целостности (IVP) долж- |
|
транзакций, объ- |
||
261
но содержать процедуры кон- |
|
ективный |
кон- |
|||||
троля |
|
целостности |
любого |
|
троль |
|
||
элемента данных из множества |
|
|
|
|||||
всех контролируемых данных |
|
|
|
|||||
Все процедуры преобразования |
С2 |
Корректность |
|
|||||
(TP) должны быть реализованы |
|
транзакций |
|
|||||
корректно в том смысле, что не |
|
|
|
|||||
должны |
нарушаться |
целост- |
|
|
|
|||
ность обрабатываемых контро- |
|
|
|
|||||
лируемых данных. Кроме того, |
|
|
|
|||||
с каждой процедурой преобра- |
|
|
|
|||||
зования |
должен |
быть |
связан |
|
|
|
||
список |
контролируемых эле- |
|
|
|
||||
ментов, |
которые |
допустимо |
|
|
|
|||
обрабатывать данной процеду- |
|
|
|
|||||
рой. Такая связь устанавлива- |
|
|
|
|||||
ется |
администратором |
безо- |
|
|
|
|||
пасности |
|
|
|
|
|
|
||
Система должна |
контролиро- |
Е1 |
Минимизация |
|||||
вать допустимость применения |
|
привилегий, |
раз- |
|||||
ТР к контролируемым элемен- |
|
граничение функ- |
||||||
там в соответствии со списка- |
|
циональных |
обя- |
|||||
ми, указанными в правилами |
|
занностей |
|
|||||
С2 |
|
|
|
|
|
|
|
|
Система должна поддерживать |
Е2 |
Корректность |
|
|||||
список |
разрешенных конкрет- |
|
транзакций, |
ау- |
||||
ным |
пользователем |
процедур |
|
тентификация |
||||
преобразования |
с |
указанием |
|
пользователя, |
ми- |
|||
допустимого для каждого ТР и |
|
нимизация |
при- |
|||||
данного |
пользователя |
набора |
|
вилегий, |
|
|||
обрабатываемых |
|
элементов |
|
|
|
|||
данных |
|
|
|
|
|
|
|
|
Список, |
определенный |
прави- |
С3 |
Разграничение |
||||
262
лом С2, должен отвечать тре- |
|
функциональных |
|||||
бованию разграничения функ- |
|
обязанностей |
|||||
циональных обязанностей |
|
|
|
|
|||
Система должна аутентифици- |
Е3 |
Аутентификация |
|||||
ровать всех пользователей, пы- |
|
пользователя |
|||||
тающихся |
выполнить какую- |
|
|
|
|||
либо |
процедуру |
преобразова- |
|
|
|
||
ния |
|
|
|
|
|
|
|
Каждая ТР должна записывать |
С4 |
Аудит |
произо- |
||||
в журнал регистрации инфор- |
|
шедших событий |
|||||
мацию, достаточную для вос- |
|
|
|
||||
становления полной картины |
|
|
|
||||
каждого применения этой ТР. |
|
|
|
||||
Журнал регистрации – это спе- |
|
|
|
||||
циальный |
элемент из состава |
|
|
|
|||
контролируемых |
данных, |
|
|
|
|||
предназначенный |
только |
для |
|
|
|
||
добавления в него информации |
|
|
|
||||
Любая ТР, которая обрабаты- |
Е4 |
Корректность |
|||||
вает |
неконтролируемый |
эле- |
|
транзакций |
|||
мент, должна выполнять толь- |
|
|
|
||||
ко корректные преобразования |
|
|
|
||||
этого элемента, в результате |
|
|
|
||||
которого |
неконтролируемый |
|
|
|
|||
элемент превращается в кон- |
|
|
|
||||
тролируемый |
|
|
|
|
|
||
Только специально уполномо- |
С5 |
Разграничение |
|||||
ченное лицо может изменять |
|
функциональных |
|||||
списки, определенные прави- |
|
обязанностей |
|||||
лами С2 и Е2. Это лицо не |
|
|
|
||||
имеет право выполнять какие- |
|
|
|
||||
либо действия, если уполномо- |
|
|
|
||||
чено |
изменять |
регламенти- |
|
|
|
||
263
рующие эти действия списки
Рассмотрим формальные модели разграничения доступа. Среди этих моделей различают два класса моделей: дискреционные и мандатные. Кроме этого, имеются также модели так называемых прикладных политик – ролевые модели. Мы с вами остановимся кратко на дискреционных и мандатных моделях.
Наиболее известной дискреционной моделью является модель Харрисона-Руззо-Ульмана. Она реализует произвольное управление доступом субъектов к объектам системы и контроль за распространением прав доступа. В рамках этой модели система обработка информации представляется в виде совокупности активных сущностей – субъектов (множество S), пассивных сущностей – объектов (множество О), содержащих защищаемую информацию, и конечного множества прав доступа R
r1 , r2, .., rn , озна-
чающих полномочия на выполнение соответствующих действий. При этом принято считать, что все субъекты одновременно являются объектами (для включения в область действия модели отношений между субъектами), то есть S O . Поведение системы моделируется с помощью понятия состояния, при этом пространство состояний - это произведение O S R . Текущее состояние системы Q в
этом пространстве определяется тройкой, состоящей из множества субъектом, множества объектов и матрицы прав доступа M , то есть Q (S,O, M ) . Строки матрицы соответствуют субъектам, а столбцы объектам. Любая ячейка M[s, o] содержит набор прав субъекта s к объекту
o . Поведение системы моделируется переходами между состояниями. Переход осуществляется путем внесения из-
264
менений в матрицу М с помощью команд следующего вида:
command (x1 , x2 ,..., xk ) if
r1 in M[xS1 , xo1 ]and ( условия выполнениякоманды)
r2 in M[xS2 , xo2 ]and ( условия выполнениякоманды)
rm in M[xSmь , xomь ]and ( условия выполнениякоманды)
then
op1 , op2 ,..., opn (операции, составляющие коман-
ду).
Здесь - имя команды, xi - параметры команды, являющиеся идентификаторами объекта и субъекта, si и oi -
индексы субъектов и объектов в диапазоне от1 до к; орi – элементарные операции. Элементарные операции выполняются только в том случае, если все условия, означающие присутствие указанных прав доступа в ячейках матрицы М, являются истинными. В классической модели допускаются только следующие операции
Enter r into M[s, o] (добавление субъекту s права r для объекта o)
Delete r from M[s, o] (удаление у субъекту s права r для объекта o)
Create subject s (создание нового субъекта s) Create object o (создание нового объекта o) Destroy subject s (удаление существующего
субъекта s)
Destroy object o (удаление существующего субъекта o)
265