УДК 65.012.810
ИССЛЕДОВАНИЕ БЕЗОПАСНОСТИ КОМПЬЮТЕРНЫХ СИСТЕМ В МОДЕЛИ ДИСКРЕЦИОННОГО РАЗДЕЛЕНИЯ ДОСТУПА Н1Ш
Д.М. Бречка, С.В. Белим
Исследуется возможность расширения классической модели дискреционной безопасности НИИ, разделение доступа в которой основывается на матрице доступов. Основной целью является выявление систем, удовлетворяющих требованиям безопасности.
Введение
Фундаментальным понятием в сфере защиты информации компьютерных систем является политика безопасности. Под ней понимают совокупность норм и правил, регламентирующих процесс обработки информации, выполнение которых обеспечивает состояние защищенности информации в заданном пространстве угроз. Формальное выражение политики безопасности называют моделью безопасности.
Среди программно-технических методов защиты информации выделяют в первую очередь разграничение доступа. Разграничение доступа непосредственно обеспечивает конфиденциальность информации, а также снижает вероятность реализации угроз целостности и правомерной доступности.
Под разграничением доступа к информации в компьютерных системах понимают разделение информации, циркулирующей в системе, на части, элементы, компоненты, объекты ит. д., и организацию такой системы работы с информацией, при которой пользователи имеют доступ только к той части (к тем компонентам) информации, которая им необходима для выполнения своих функциональных обязанностей или необходима исходя из иных соображений [3].
Наиболее распространненной и исторически первой является дискреционная политика безопасности. Дискреционная политика описывает отношения между субъектами и объектами компьютерной системы на основе прав, которые субъекты имеют над объектами. При этом под субъектами понимаются активные сущности системы, которые могут изменять состояние системы через порождение процессов над объектами, в том числе порождать новые объекты. Объекты
Copyright (с
Омский государственный университет им. Ф. М. Достоевского. E-mail: [email protected]
— пассивные сущности системы, В дискреционных моделях исследуеются состояния системы на выявление возможности угроз информации [2].
1. Модель HRU
Модель Хариеона-Руззо-Ульмана (HRU) является классическим примером дискреционной модели безопасности. Согласно этой модели компьютерная система представляется набором следующих сущностей:
— множество объектов (O) — пассивные сущности системы;
— множество субъектов (S) — активные сущности;
— права доступа (R) — действия, которые субъект может производить над объектом.
Определение 1. Матрица доступа — это таблица, в строках которой расположены субъекты системы, а в столбцах — объекты. Каждая ячейка матрицы доступа специфицирует права доступа субъектов к объектам.
Возможности изменения матрицы доступа определяется шестью примитивными операторами:
-Enter r into A[s,o] — внести право r в ячейку A[s,o];
-Delete r from A[s, o] — удалить пр аво r го ячейки A[s,o];
—Create subject s — создать субъект s (т, e, новую строку матрицы A); —Create object o — создать объект o (т. e, новый столбец матрицы A); —Destroy subject s — уничтожить субъект s;
—Destroy object o — уничтожить объект o.
В результате выполнения примитивного оператора осуществляется переход системы из состояния Q = (S, O, A) в новое состояние Q' = (S', O', A'),
Из примитивных операторов сторятся команды, состоящие из двух частей:
— условие, при котором выполняется команда;
— последовательность примитивных операторов.
Таким образом, команда имеет вил:
Command c(xi, x2, ..., xk)
if ri in A[xsi, xo1 ] and r2 in A[xs2, x02] and
rm in A[xsm , xom]
then opi, op2, ..., opn Каждое состояние системы Qj является результатом выполнения некоторой команды c, применимой, согласно ее условиям, к предыдущему состоянию Qi-i, и определяет отношения доступа, которые существуют между сущностями системы.
Безопасность системы определяется некоторыми условиями на начальное состояние системы Qo, а также особенностями системы команд.
r
заданного начального состояния Q0 = (S0,O0, A0) не существует применимой к Qo r
в ячейку матрицы A [s, o], в которой оно отсутствовало в начальном состоянии Q0
Однако задача проверки данного критерия на истинность для произвольной системы алгоритмически неразрешима [1],
2. Примитивный базис модели HRU
Обозначим множество всех возможных матриц доступа через M. Команды HRU будут являться отображениями на этом множестве. Выделим базис системы команд HRU, для этого введем понятие базисного набора операторов.
Определение 3. Базисный набор операторов — это такой набор операторов, что любую команду HRU можно представить в качестве последовательности операторов из данного набора.
Теорема 1. Примитивные операторы, модели HRU образу ют базисный набор.
Доказательство. Покажем полноту системы примитивных операторов.
Так как работа команд HRU направлена исключительно на изменение матрицы доступа, покажем, что при помощи системы примитивных операторов можно построить любую матрицу доступа, то есть построить любую команду, Рассмотим матрицы A и A', принадлежащие множеству всех матриц доступа M. Преобразуем A в A' при помощи системы примитивных операторов. Для этого:
Destroy object A
A
For i = m to 0 Destroy object oi
mA
Destroy subject A
A
For i = n to 0 Destroy subject si
nA
Create subject A
A
A',
For i = 0 to n'
Create subject si
n A
Create object A
AA
For i = 0 to m
Create object oi
m A
5, Для каждого права r С R применим оператор Enter r into A[s,o], если r A [s , o ]
For i = 0 to R For j = 0 to m For k = 0 to n If rj in A' [j, k]
Enter ri into A[j, k], где R — количество всех возможных прав, m — количество объектов, n — количество субъектов.
Таким образом, при помощи примитивных операторов произвольно выбран-A С M
рицу A' С M, что доказывает полноту системы. ■
Как видно из доказательства теоремы, для построения полной системы используется только пять из шести примитивных операторов,
delete r
enter r create object o create subject s destroy object o
destroy subject s
Доказательство. Рассмотрим матрицы B и Б', принадлежащие множеству
M
B
rj которое присутствует в соответствующей ячейке матрицы Б. Все остальные B B B B
собом, аналогичным описанному в доказательстве теоремы 1, Данный способ позволяет преобразовать друг в друга произвольно выбранные матрицы, но не
delete r
B delete r delete r
является избыточным и представляется в виде последовательности операторов enter r, create object o, create subject s, destroy object o, destroy subject s. ■
Введем понятие минимального набора операторов.
Определение 4. Минимальный базисный набор — это такой набор операторов, что ни один оператор данного набора не может быть представлен в качестве последовательности операторов из данного набора,
enter r create object o
create subject s destroy object o destroy subject s
Доказательство. Согласно определению, набор операторов не будет минимальным, если какой-либо оператор из набора можно представить в виде набора других операторов, принадлежащих даннму набору. Допустим, что рассматриваемый набор неминимален. Тогда для преобразования произвольно выбранной
A С M A С M
тись без какого-либо оператора. Однако, как показано в доказателетве теоремы 1, для преобразования матриц необходимы все операторы рассматриваемого набора. Следовательно, рассматриваемый набор будет являться минималь-
■
3. Построение базиса, отличного от примитивного
Рассмотрим возможность перехода к новому базису: представим какой-либо из операторов, входящих в базисный набор в виде последовательности операторов из другого набора.
Пусть S - множество субъектов системы, O - множество объектов, R - множе-A
A
R
будет зависить от количества возможных прав, то есть если |R| = l, тогда для
l
бита означает наличие или отсутствие соответствующего права в данной ячейке. Представим операцию добавления права в ячейку в виде последовательности логических функций. Будем применять логические функции к матрице
s
o необходимо изменить ячейку A [s, o],
Рассмотрим операцию добавления права rk G R субъекту s на объект o. Для ячейки матрицы A [s, o] необходимо будет выполнить логичесукю операцию
k
остальные биты равны 0,
Логическая операция «OR» может быть выражена через логические операции «AND» и «NOT»: OR(a,b) = NOT(AND(NOT(a), NOT(b))). Следовательно, операцию добавления права в ячейку A[s, o] можно представить в виде двух логических операций «AND» и «NOT»,
Таким образом можно получить новый базис, отличный от примитивного,
create object o create subject s destroy object o destroy subject s, AND (a, b) и NOT (a),
4. Монооперационные системы
Как уже говорилось ранее, для произвольной системы не существует алгоритма, проверяющего, является ли ее исходное состояние безопасным. Для рассмотрения условий, при которых такой алгоритм существует, вводится понятие монооперационной системы.
Определение 5. Система называется монооперационной, если каждая команда данной системы выполняет один примитивный оператор.
Теорема 3. Существует алгоритм, проверяющий: является ли исходное состояние монооперационной системы безопасным по отношению к праву r G R.
Доказательство приводится в [1].
Расширим классическое понятие монооперационной системы с учетом базисного набора операций,
B
B
Формулировку теоремы 3 также можно сделать более общей.
Теорема 4. Существует алгоритм, проверяющий: является, ли исходное со-
B
праву r G R.
Доказательство. Необходимо показать, что число последовательностей команд монооперационной системы в базисе, которые необходимо проверить, ограничено и сами команды имеют конечную длину, В этом случае алгоритмом проверки безопасности будет являться алгоритм перебора всех последователь-
r
delete...
destroy...
команды, а не его отсутствие. Также нет необходимости рассматривать по-
create...
поеледовательноети, которые проверяют или вносят права в новые элементы матрицы, могут быть заменой параметров в командах, представленных последовательностями, действующими с существующими субъектами и объектами. Одна команда создания субъекта необходима, если в начальном состоянии системы субъекты отсутствуют. Таким образом, необходимо рассмотреть только
enter r
create subject enter r
следующим образом:
n = |R|(|S0| + 1)(|O0| + 1)-
Все команды, содержащие один и тот же оператор, но разные условия, объединяются в одну команду с составным условием.
Таким образом, число последовательностей команд, которые необходимо проверить равняется n!, при этом длина каждой команды равна n. ■
Непредсказуемость сложных систем является одним из главных недостатков модели HRU, Наложение условия монооперационности значительно сужает класс безопасных систем. При введении понятия базиса монооперационной системы появляется возможноть рассматривать более широкий класс систем, которые также будут являться безопасными. Для того чтобы проверить, является ли компьютерная система безопасной, достаточно найти такой базис, в котором она будет монооперационна.
Литература
1. Девянин, П.Н. Модели безопасности компьютерных систем / П.Н. Девянин - М.: издательский центр «Академя», 2005.
2. Гайдамакин, Н.А. Разграничение доступа к информации в компьютерных системах / Н.А. Гайдамакин - Уральский университет, 2003.
3. Грушо, А.А. Теоретические основы защиты информации /А.А. Грушо, Е.Е. Тимо-нина. - Агентство «Яхтсмен», 1996.