For the basic DP-model of computer systems withthe discretionary access control, an information about the software implementation of algorithmsfor the access graph closure is told in the paper.
Software implementation of closure algorithms for the basic DP-model of computer systems with discretionary access contr.pdf В теоретическом анализе безопасности современных компьютерных систем (КС)широкое применение получили субъект-объектные ДП-модели П. Н. Девянина [1].В работе [2] для них разработаны алгоритмы построения замыканий графов доступа,используемых для нахождения всех путей нарушения безопасности в КС, описываемыхДП-моделями.С целью компьютерного представления ДП-моделей и программной реализации алгоритмовпостроения замыкания графа доступов базовой ДП-модели нами разработанкласс GRAPH на языке программирования C+-+. В нем граф доступов представляетсяматрицей смежности M , элементы которой описаны типом данных short, и функциейиерархии H в виде класса HFUNC. Каждый элемент матрицы представляется наборомбит, выставленных в соответствии с принадлежностью ребра множеству рёбер A, Rили F , помеченных видами доступа, прав доступа или информационных потоков соответственно.Например, если в графе доступов есть ребро, определяющее наличиедоступа на чтение сущности i к сущности j, то в элементе M[i][j] выставлен бит, показывающийдоступ на чтение. Принадлежность вершины к множеству контейнеров C ,объектов O или субъектов S задается с помощью трёхбитовых элементов начальнойстроки матрицы. Таким образом, для установления вида того или иного ребра или типатой или иной вершины в графе доступов достаточно наложить заранее определеннуюмаску на элемент матрицы смежности.Функция иерархии задана таблицей соответствия подмножеств вершин графа (значенийфункции) индексам вершин (значений аргумента), перечисленных в заданномпорядке по убыванию. В памяти это представлено в виде массива указателей на списокиндексов вершин графа. Использование списка оправдано динамичной мощностьюданного множества. Кроме того, для ускорения построения замыкания графа функцияиерархии содержит информацию об индексе вершины, стоящей выше по иерархииотносительно аргумента. Это изменение в представлении функции из первоисточникасделано исключительно с целью повышения эффективности программы построениязамыкания.Для ввода графа доступов в память компьютера разработан специальный язык,описания на котором задаются построчно, где каждаястрока начинается с определяющеймножество последовательности, затем, через пробел, перечисляются элементызадаваемого множества. В контексте такого представления данных реализованыфункции own-lock(), tgo-lock() и access-lock(), осуществляющие own-, tgo- и access-замыкания графа доступов базовой ДП-модели по алгоритмам 1, 2 и 3 соответственно,описанным в [2].В реализации алгоритма 1 функцией own-lock() произвольный элемент (x ,y ,a)списка L имеет: x и у - индексы вершин графа доступов и a - двухбайтовая маска, соответствующаятипу ребра, связывающего эти две вершины. В качестве множества Nиспользуется список индексов вершин.Функция tgo-lock() реализует собственную часть алгоритма 2 как последовательностьоднотипных циклов, пробегающих по матрице смежности графа и применяющих, где это возможно, правила преобразования take_right или grant_right без явногопостроения множеств Rtgo и Ftgo.Аналогично реализуется собственная часть алгоритма 3 функцией access-lock()с применением в каждом цикле встречающегося правила преобразованияrename_entity, access_read, access_write или access_append.Применяемые правила преобразования графа доступов реализованы функциями,изменяющими биты матрицы смежности и значения функции иерархии H в соответствиис определениями этих правил в [1].С целью проверки корректности работы программы замыкания (ею является функцияaccess-lock()) были проведены тесты на графах размером до 10 вершин. Даннаяреализация может обработать граф до 30000 вершин на обычных пользовательскихкомпьютерах без дополнительных модификаций исходного кода, однако время ожиданияможет быть слишком большим.В продолжение работы планируется разработать средства задания графов доступов,реализовать графическую подсистему представления графа доступов и увеличитьэффективность работы программы.
Смит Илья Владимирович | Томский государственный университет | студент | blackzert@gmail.com |
Девянин П. Н. Анализ безопасности управления доступом и информационными потоками в компьютерных системах. М.: Радио и связь, 2006.
Колегов Д. Н. Применение ДП-моделей для анализа защищенности сетей / / Прикладная дискретная математика. 2008. №1. С. 71-88.