УДК 65.012.810
ОБРАТНАЯ ЗАДАЧА ПОСТРОЕНИЯ МАНДАТНОЙ ПОЛИТИКИ БЕЗОПАСНОСТИ
С.В. Белим, Н.Ф. Богаченко, И.А. Фирдман
В данной работе проводится исследование возможности построения мандатной политики безопасности для компьютерных систем на основе известных правил разграничения доступа.
Введение
Разработка политики безопасности является одной из первых задач, которые приходится решать при построении защищенной системы обработки информации. При этом политика безопасности может строиться как неформально, в виде правил и инструкций, так и формально, в виде строгой математической модели. Несмотря на то, что неформальный подход проще для разработки и внедрения, он существенно уступает формальному в надежности, так как не допускает строгих доказательств гарантированной защищенности. Данное обстоятельство нашло отражение в различных документах, определяющих классы защищенности компьютерных систем. Так, например, в «Оранжевой книге» системы, имеющие неформальную политику безопасности, относятся к классам группы «С», а имеющие формальную политику безопасности — к высшему классу «А1» [8].
Выбор политики безопасности осуществляется исходя из задач, стоящих перед системой защиты. Выработка правил безопасности должна начинаться с четкого определения понятия «угроза безопасности» в контексте заданной системы. С другой стороны, знание злоумышленником политики безопасности системы позволяет выявить слабые места подсистемы защиты. Поэтому политика безопасности должна оставаться максимально закрытой информацией. Однако полностью скрыть правила безопасности невозможно в силу наличия утечки информации через внутренних сотрудников. Также злоумышленник может выявлять элементы политики безопасности экспериментальным путем, выделяя разрешенные и запрещенные потоки.
На сегодняшний день широкое распространение получили три вида, формальных политик безопасности - дискреционная, мандатная и ролевая [3,5]. В данной статье мы ограничимся рассмотрением мандатной политики безопасности и возможностями ее анализа злоумышленником. Основой мандатной поли-
Copyright (с
Омский государственный университет им. Ф.М. Достоевского. E-mail: [email protected]
тики безопасности является решетка ценностей. Напомним, что решетка - это частично упорядоченное множество, в котором каждое двухэлементное подмножество имеет как наименьшую верхнюю (sup), так и наибольшую нижнюю (inf) грани, принадлежащие этому множеству [4, с, 17].
1. Постановка задачи
Как уже было сказано во введении, мандатная политика безопасности строится на базе решетки ценностей, то есть обычной алгебраической решетки, элементы которой играют роль меток безопасности объектов и субъектов компьютерной системы [5]. Обычно задача построения мандатной политики безопасности формулируется следующим образом: задана решетка ценностей L и отображение C множества субъектов S и объектов O на решетку
C : S х O ^ L.
Окончательно политика безопасности формулируется определением правила P - сопоставления меток безопасности при обращении на доступ субъекта к объекту. После чего исследуются разрешенные и запрещенные каналы передачи информации. В дальнейшем такой подход будем называть прямой задачей построения мандатной политики безопасности.
Однако в практике защиты информации часто приходится решать задачу в другой постановке: для системы определены разрешенные и (или) запрещенные каналы передачи информации, требуется построить соответствующую мандат-
LC
P
поетановку проблемы будем называть обратной задачей построения мандатной политики безопасности.
Необходимость решения обратной задачи построения мандатной политики безопасности возникает, как правило, в двух случаях. Во-первых, при формальном построении правил разграничения доступа для организации с уже сложившимися потоками информации, причем нарушение или изменение потоков существенно влияет на работоспособность организации. Во-вторых, при исследовании некоторой системы на наличие каналов утечки информации методом «черного ящика», когда с помощью проб и ошибок можно выявить разрешенные или запрещенные потоки информации и, на их основе, строить предположения о применяемой политике безопасности.
Очевидно, что если две политики безопасности определяются одинаковыми LCP
пых и разрешенных потоков, в противном случае политика безопасности приводила бы к неоднозначным результатам функционирования, что недопустимо в практике защиты информации. Верно и обратное утверждение. Если две поли-
LC
L P C P
потоков, то и третий параметр политики безопасности будет одинаков. Верность этого утверждения также следует из однозначности политики безопасности.
Рассмотрим один из возможных путей решения обратной задачи построения мандатной политики безопасности в рамках субъектно-объектного подхода [5], сводящийся к исследованию различных алгебраических решеток и соответствующих им ориентированных графов. Мандатная политика безопасности определяется тремя параметрами. Будем варьировать два из них произвольным образом и определять третий. Согласно вышесказанному, такое решение будет единственным,
L
C
L
L
и объектов компьютерной системы, В качестве правил безопасности выберем разрешение потоков только снизу вверх: доступ S O разрешен, если:
1)p = read и C(S) ^ C(O),
2) p = write ж C(S) ^ C(O).
Для простоты изложения будем считать, что субъекты компьютерной системы также являются и объектами компьютерной системы. Применим следующий алгоритм построения ориентированного графа G:
1, Каждому объекту сопоставим вершину графа,
2, Если между двумя объектами системы возможны потоки информации в обе стороны, то соответствующие две вершины объединим в одну вершину,
3, Если между двумя объектами системы возможен поток информации только в одну сторону, то добавим в графе соответствующую ориентированную дугу.
Построенный граф задает отношение частичного нестрогого порядка на множестве объектов. Очевидно, что полученное множество не всегда будет являться алгебраической решеткой, В связи с чем можно сформулировать две разновидности задач построения решетки ценностей,
G
соответствующую ему решетку, В этом случае предполагается, что в системе реализована мандатная политика безопасности и по разрешенным потокам информации решетка ценностей может быть полностью восстановлена,
G
лить минимальную решетку, включающую его. Предполагается, что в системе реализована мандатная политика безопасности, однако по некоторым причинам известны не все разрешенные и запрещенные потоки,
В данной статье мы ограничимся решением только полной обратной задачи построения мандатной политики безопасности. Полная обратная задача построения мандатной политики безопасности сводится к построению решетки, диа-
G
G
Определение 1. Решеточным графом будем называть ориентированный граф, вершины которого образуют решетку, при этом:
• отношение порядка задается ориентированными путями: если в графе существует ориентированный путь p(ri, r2), то n ^ r2;
• r = sup(r1; r2)
1, 3 p(r, r1) & p(r, r2), то есть r является верхней гранью,
2, Если 3 p(r/,r1) & p(r',r2), то 3 p(r', r), то есть r минимальна среди всех верхних граней,
• r = inf(r1, r2)
1, 3 p(r1; r) & p(r2, r), то есть r является нижней гранью,
2, Если 3 p(r1,r/) & p(r2,r'), то 3 p(r, r'), то есть r максимальна среди всех нижних граней.
Задача проверки решеточноети графа очевидно может быть решена прямым перебором.
Теорема 1. Трудоемкость проверки решеточноети графа прямым перебором, не превышает O(n4).
Доказательство. Пусть ориентированный граф задан матрицей смежности M размерности ихи. Как будет показано ниже, для проверки решеточноети графа следует вычислить матрицу достижимости, M*. Согласно [7, с, 176], элемент m* матрицы достижимости равен 1, если в орграфе существует ориентированный путь ИЗ вершины ri В вершиHV rj, и 0 - в противном случае. Трудоемкость алгоритма Уоршелла, вычисляющего матрицу достижимости ориентированного графа, равна O(n3) [6, с, 48],
Оценим трудоемкость поиска sup для заданной пары вершин ^ и rj. Обозначим эту величину T(sup). Имея в распоряжении матрицу достижимости, за O(n) шагов выбираются вершины, связанные одновременно ориентированными путями с вершинами ri ъ г,- (это те вершины rk, для которых m*ki • m*kj = 1), Среди отобранных вершин выполняется проверка того, что существует одна и только одна вершина, в которую можно попасть из оставшихся, В худшем случае это можно осуществить за O(n2) шагов, используя все ту же матрицу достижимости. Тогда трудоемкость T(sup) = O(n) + O(n2) = O(n2),
inf sup
графе инвертировать ориентацию дуг. Для расчетов достаточно транспонировать матрицу достижимости.
Проверка того, что орграф является решеточным, сводится к проверке еу-inf sup пар равна O(n2),
В итоге искомая трудоемкость равна O(n3) + O(n4) = O(n4), ■
2. Некоторые решения полной задачи
На сегодняшний день в моделях безопасности компьютерных систем получили широкое распространение три решетки: линейная решетка, решетка подмножеств и МХ$-решетка, представляющая собой декартово произведение первых двух [5, с, 14]. Рассмотрим подробно первые две решетки и алгоритмы проверки изоморфности им заданного решеточного графа.
При построении алгоритмов проверки изоморфности необходимо учитывать тот факт, что одной и той же решетке может соответствовать несколько решеточных графов. Как показано в [2], для произвольной решетки существует изоморфный ей решеточный граф, но он не единственен.
Определение 2. Решеточные графы, изоморфные одной и той же решетке, назовем эквивалентными.
Определение 3. Эквивалентные преобразования решеточного графа - это такие операции над графом, которые оставляют граф решеточным и не меняют изоморфную ему решетку.
Определение 4. Назовем решеточный граф транзитивным, если в нем дуга (гьг2) существует тогда и только тогда, когда п ^ г2.
Заметим, что решеточный граф, в котором дуга (г1;г2) существует, тогда и только тогда, когда не существует ориентированного пути р(г1,г2), такого, что |р(г1;г2)| > 1 (состоящего более чем из одной дуги) называется диаграмм,ой Хассе [7, с, 80],
Определение 5. Дуга (г1;г2) решеточного графа называется транзитивной, если существует вершина г, отличная от пи г2, такая, что г1 ^ г (существует ориентированный путь р(г1;г)) иг ^ г2 (существует ориентированный путь р(г, г2)).
С учетом данных определений можно сформулировать следующие очевидные утверждения.
Предложение 1. В диаграмме Хассе отсутствуют транзитивные дуги.
Предложение 2. Добавление или удаление транзитивной дуги, является, эквивалентным, преобразованием решеточного графа.
Предложение 3. Эквивалентный транзитивный решеточный граф можно получить из диаграммы Хассе, пополнив ее всевозможными транзитивными дугами.
Предложение 4. Матрица достижимости, транзитивного решеточного графа совпадает с его матрицей смежности.
Предложение 5. Пусть решеточный граф задан матрицей смежности. Тогда алгоритм Уоршелла строит матрицу смежности, транзитивного решеточного графа, эквивалентного исходному.
Доказательство. Алгоритм Уоршелла строит матрицу достижимости. Интерпретация этой матрицы как матрицы смежности заключается в добавлении к графу всех транзитивных дуг, то есть в построении транзитивного решеточного графа, эквивалентного исходному, ■
Далее будем считать, что ориентированный решеточный граф на п вершинах задан матрицей смежности Ы,
2.1. Линейная решетка
Под линейно упорядоченным множеством понимается множество (назовем его $£), для любых двух элементов которого определено отношение порядка. Как легко показать, такое множество образует решетку. Наименьшая верхняя и наибольшая нижняя грани для любых двух элементов определяются достаточно просто. Возьмем два элемента а, Ь Е 5Х, без потерн общности будем считать, что а ^ Ь, тогда вир(а,Ь) = а и т£(а,Ь) = Ь, Решетка данного вида, является наиболее распространенной в системах защиты информации, она описывает уровни доступа к данным.
Теорема 2. Трудоемкость проверки изоморфности решеточного графа некоторой линейной решетке не превосходит 0(п3).
Доказательство. Для проверки изоморфности решеточного графа линейной решетке достаточно показать, что любая пара вершин сравнима, то есть для любой пары вершин существует ориентированный путь, их соединяющий. Как и в теореме 1, можно воспользоваться матрицей достижимости Ы*: г1 и г2 сравнимы тогда и только тогда, когда либо (т^- = 1), либо (т^ = 1) (одновременно равенство единице выполняться не может, так как решеточный граф не содержит ориентированных циклов [2]), Трудоемкость такой проверки 0(п2), Но трудоемкость вычисления матрицы Ы* равна 0(п3), ■
Следствие 2.1. Трудоемкость проверки изоморфности транзитивного решеточного графа, некоторой линейной решетке равна 0(п2).
Доказательство. Пусть решеточный граф является транзитивным. Тогда согласно предложению 4 его матрица смежности совпадает с матрицей достижимости, Отсюда следует, что трудоемкость проверки изоморфности графа линейной решетке равна 0(п2) (так как достаточно для каждой пары вершин выполнить проверку: (т^ = 1) ми (т^ = 1)). ■
2.2. Решетка подмножеств
Пусть задано множество X, Рассмотрим множество всех его подмножеств $Х = {А|А С X}. Введем на множестве $Х отношение порядка:
УА, В Е 5Х : А ^ В ^ А Э В, Легко доказать, что отношение А Э В
есть отношение нестрогого порядка, а множество частично упорядоченно: так не для любой пары элементов определено отношение порядка. Наибольшую
нижнюю и наименьшую верхнюю грани определим на основе операций пересечения и объединения множеств: вир(А, В) = А и В, 1п£(А, В) = А П В, Также нетрудно доказать, что ($Х, Э, и, П) - алгебраическая решетка.
Примерами использования данной решетки в реальных компьютерных системах может служить множество атрибутов файла и зависимость выходной величины от подмножества множества входных элементов.
Теорема 3. Трудоемкость проверки изоморфности решеточного графа некоторой решетке подмножеств не превосходит О(п3).
Доказательство. Алгоритм проверки изоморфности решеточного графа решетке подмножеств состоит из следующих этапов,
1, Проверяется, является ли число вершин графа степенью двойки (так как число узлов решетки подмножеств совпадает с мощностью булеана В(Х) некоторого исходного множеетва X = {х1 ,...,жк} и равна 2к, где к = |Х|), Трудоемкость этого этапа не завнспт от п,
Ы*
Т2 = О(п3).
3, Каждой вершине графа сопоставляется некоторое подмножество множества X. Мощность каждого из этих подмножеств не превосходит к. Для формирования подмножеств на начальном шаге всем вершинам гг приписывается множество Яг = 0 (трудоемкость О(п)).
Далее ищется сток (вершина без исходящих дуг) г3. Согласно [2], такая вершина существует и единственна. Стоком является вершина, для кото-
Ы
поиека стока О(п2),
Затем выбираются вершины, имеющие одну и только одну исходящую дугу, причем эта дуга должна вести в сток (назовем их одноэлементными вершинами): для каждой такой вершины Гj в матрице смежности элемент т^3 = 1, а остальные элементы этой строки - нулевые. Число одноэлементных вершин должно равняться к = ^2 п. Трудоемкость поиска О(п2), Соответствующие одноэлементным вершинам множества пополняются: Rjv := Rjv и {ж} (V = 1,...,к), Трудоемкость пополнения
к • Т(и) = ^2 п • Т(и), где Т(и) - трудоемкость операции объединения множеств.
Окончательно множества, связанные с вершинами графа, формируются следующим образом: если элемент матрицы достижимости т*^ = 1 (существует путь из вершины гг в одноэлементную вершину г^), то Яг := Яг и {ж}, Трудоемкость формирования множеств Яг для всех вершин равна п • к • Т(и) = п • ^2 п • Т(и).
Будем считать, что множество реализовано при помощи двоичных векторов, тогда Т(и) = О (к) = О(^2 п) [1, с, 109], Трудоемкость третьего этапа Т3 = О(п) + О(п2) + О(п2) + O((log2 п)2) + О(п • (log2 п)2) = О(п2),
4, Проверяется, что {Я1,..., Яп} = ), Очевидно, достаточно прове-
рить, что все Яг (г = 1,...,п) различны. Трудоемкость этой процедуры п2 • Т(^^, вде Т(^) - трудоемкость операции сравнения множеств.
Если по-прежнему используется реализация множества при помощи двоичных векторов, то Т(^) = О(^2 п). Тогда трудоемкость четвертого этапа Т4 = О(п2 • ^2 п),
В итоге получаем, что результирующая трудоемкость представленного алгоритма проверки изоморфности решеточного графа решетке подмножеств равна О(п3) + О(п2) + О(п2 • log2 п) = О(п3), ■
Следствие 3.1. Трудоемкость проверки изоморфности транзитивного решеточного графа, некоторой решетке подмножеств равна О(п2 • ^2 п).
Доказательство. Пусть решеточный граф является транзитивным. Тогда в алгоритме, представленном в доказательстве теоремы 3, этап 2 можно опустить, так как согласно предложению 4 в этом случае матрица смежности будет совпадать с матрицей достижимости. Отсюда следует, что трудоемкость проверки изоморфности графа решетке подмножеств равна О(п2 • log2 п), ■
Таким образом, если есть дополнительная информация о типе используемой решетки, то задача восстановления политики безопасности упрощается.
Решетка подмножеств играет существенную роль при построении мандатной политики безопасности. Следующая теорема показывает, что любую мандатную политику безопасности можно свести к построенной на решетке подмножеств при условии, что будут использоваться не все элементы решетки. Такая ситуация возможна на практике, когда в качестве меток безопасности используется тематический классификатор, но при этом задействованы не все тематики.
Теорема 4. Любая релиетка, изоморфна некоторой подрешетке реиметки подмножеств.
Доказательство. Пусть дана конечная решетка 5 с вершинами {ао, а1;..., ап}. Будем считать, что а0 - нижняя грань всей решетки, ап - верхняя грань всей решетки, В силу антисимметричности отношения порядка, в решетке Б отсутствуют различные вершины аг и а, такие, что аг ^ а, и аj ^ аг, Покажем, что в этом случае Б изоморфна некоторой подрешетке решетки всех подмножеств множества А = {1, 2,..., п}. Для этого сопоставим каждой вершине аг множество Аг = {к € А|ак ^ аг} (А0 = 0, Ап = А), При этом очевидно Аг С А, если аг ^ а, Обратно, еели Аг С А.,-, то из г € Аг следует г € А, и аг ^ а, Таким образом отображение ^ : Б ^ А, определенное как <^(аг) = Аг (г = 0,..., п), сохраняет отношение порядка. Кроме того ^ инъективно, поскольку из Аг = а, следует Аг С А, и А, С Аг, затем аг ^ а, и а, ^ аг, откуда следует аг = а, Поэтому ^ является вложением решетки Б в решетку подмножеств множества А ■
Таким образом, решение обратной задачи можно начинать с построения решетки подмножеств, а затем уже пытаться оптимизировать решение.
3. Заключение
Обратная задача построения мандатной политики безопасности разрешима в общем случае за полиномиальное время. Данный результат существенен при построении соответствующих программных комплексов, так как гарантирует получение результата за приемлемое время. Наличие дополнительной информации о типе используемой решетки существенно уменьшает время решения задачи.
Литература
1. Ахо А.В., Хопкрофт Д.Э., Ульман Д.Д. Структуры данных и алгоритмы. М.: Издательский дом «Вильямс», 2000. 384 с.
2. Белим С.В., Богаченко Н.Ф., Ракицкий Ю.С. Совместная реализация мандатного и ролевого разграничения доступа к информации в компьютерных системах // Математические структуры и моделирование. 2009. Омск: ООО «УниПак». Вып. 20. С. 141-152.
3. Гайдамакин Н.А. Разграничение доступа к информации в компьютерных системах. Екатеринбург: Изд-во Урал, ун-та, 2003. 328 с.
4. Гретцер Г. Общая теория решеток / Под ред. Д.М. Смирнова. М.: Мир, 1981. 456 с.
5. Девянин, П.Н. Модели безопасности компьютерных систем. М.: Издательский центр «Академия», 2005. 144 с.
6. Новиков Ф.А. Дискретная математика для программистов. СПб.: Питер, 2001. 304 с.
7. Хаггарти Р. Дискретная математика для программистов / Пер. с англ. М.: Техносфера, 2005. 400 с.
8. 1Л1Ь: http://www.securitvlab.ru/informer/240650.php (дата обращения: 22.03.2010).