автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.19, диссертация на тему:Разработка алгоритмов проверки отсутствия несанкционированных доступов в компьютерных системах на основе дискреционных моделей безопасности

кандидата технических наук
Бречка, Денис Михайлович
город
Омск
год
2011
специальность ВАК РФ
05.13.19
Диссертация по информатике, вычислительной технике и управлению на тему «Разработка алгоритмов проверки отсутствия несанкционированных доступов в компьютерных системах на основе дискреционных моделей безопасности»

Автореферат диссертации по теме "Разработка алгоритмов проверки отсутствия несанкционированных доступов в компьютерных системах на основе дискреционных моделей безопасности"

БРЕЧКА ДЕНИС МИХАЙЛОВИЧ

РАЗРАБОТКА АЛГОРИТМОВ ПРОВЕРКИ ОТСУТСТВИЯ НЕСАНКЦИОНИРОВАННЫХ ДОСТУПОВ В КОМПЬЮТЕРНЫХ СИСТЕМАХ НА ОСНОВЕ ДИСКРЕЦИОННЫХ МОДЕЛЕЙ БЕЗОПАСНОСТИ

Специальность 05.13.19 - Методы и системы защиты информации, информационная безопасность

АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук

1 7 (.¡АР 2011

Омск-2011

4841044

Работа выполнена в Омском государственном университете им. Ф.М.Достоевского.

Научный руководитель: доктор физико-математических наук, доцент

Белим Сергей Викторович

Официальные оппоненты: доктор технических наук, профессор

Зикратов Игорь Алексеевич

кандидат технических наук Прохожев Николай Николаевич

Ведущая организация: Сибирский государственный аэрокосмический университет имени академика М.Ф. Решетнева

Зашита состоится 29.03.2011 на заседании диссертационного совета Д 212.227.05 в 15-50 по адресу: 197101, Санкт-Петербург, пр. Кронверкский, д. 49., СПбГУ ИТМО, ауд. 403.

С диссертацией можно ознакомиться в библиотеке Санкт-Петербургского государственного университета информационных технологий, механики и оптики (национальный исследовательский университет).

Автореферат разослан 28 февраля 2011 г.

Ученый секретарь диссертационного совета Д 212.227.05

В.И. Поляков

АКТУАЛЬНОСТЬ ПРОБЛЕМЫ

Проблема выявления возможных каналов несанкционированного доступа к дан-1ым является одной из трех составляющих информационной безопасности компь-отерных систем, отвечающей за конфиденциальность информации. Формальный нализ компьютерных систем с целью выявления возможных несанкционирован-ых доступов принято проводить на основе моделей безопасности. Дискреционные одели безопасности, обеспечивающие произвольное разграничение доступа, яв-яются основой для построения защищенных компьютерных систем[1,3,4]. Нали-ие произвольного разграничения доступа является минимальным требованием к втоматизированным системам обработки информации для того, чтобы они могли читаться защищенным согласно всем действующим стандартам. Дискреционная одель безопасности подразумевает возможность для администратора безопасно-ти произвольным образом выдавать разрешение на доступ пользователей к объек-ам компьютерной системы.

Модель Харрисона-Руззо-Ульмана (Harrison-Ruzzo-Ulman, HRU) [1,7,10] была дной из первых моделей, ориентированных на анализ дискреционного доступа, и ольшинство более поздних моделей основаны на ее базовых положениях. Одним з основных результатов модели HRU является алгоритмическая неразрешимость адачи проверки произвольной системы на наличие каналов утечки информации вследствие несанкционированного доступа. В связи с этим в работах [9,10] пред-ожен ряд ограничений модели, позволяющих выявить системы, для которых можно гарантировать защищенность. К гарантированно защищенным относятся моно-перационные и моноусловные системы [1]. При этом существенно ограничивается функциональность компьютерной системы.

Модель Take-Grant [1,7,11] более предсказуема, чем модель HRU. Для модели Take-Grant сформулированы две теоремы, содержащие условия, при которых в системе гарантированно не произойдет утечек информации. Однако способы проверки выполнимости условий теорем не определены.

Целью диссертационной работы является развитие моделей дискреционного разграничения доступа HRU и Take-Grant с целью выявления новых классов безопасных компьютерных систем, а также построение алгоритмов проверки безопасности состояния компьютерной системы.

Методы исследования. При решении поставленных задач использовались математические модели, теория графов, теория алгоритмов, элементы булевой алгебры.

Научная новизна результатов исследований.

1. Впервые применен базисный подход для анализа безопасности модели HRU, что позволило расширить класс систем гарантированно защищенных от несанкционированного доступа.

2. Проведен анализ подсистемы безопасности операционных систем семейства Windows на возможность возникновения несанкционированных доступов с использованием дискреционных моделей безопасности.

3. Построены полиномиальные алгоритмы проверки возможности несанкционированного доступа заданного субъекта к заданному объекту.

Достоверность результатов работы. Научные результаты диссертационной работы получены с использованием субъектно-объектного подхода к моделированию компьютерных систем, который является на сегодняшний день общепринятым и хо-

3

рошо зарекомендовавшим себя при исследовании безопасности компьютерных сис тем.

Практическая ценность заключается в разработке алгоритмов проверки безо пасности компьютерных систем и выявлении безопасных состояний, которые мо гут найти применение в программных реализациях средств предотвращения не санкционированного доступа в компьютерных системах.

Основные положения, выносимые на защиту:

1. Возможно расширение дискреционной модели безопасности HRU за счет вве дения различных операций преобразования матриц доступа.

2. На множестве операций преобразования матрицы доступа возможно выделе ние базисного набора операций, через который линейно выражаются все остальны операции.

3. Рассмотрение компьютерных систем в различных базисах позволяет расши рить класс систем, для которых допустимо доказательство гарантированной защи щенности от несанкционированных доступов.

4. Алгоритмы проверки отсутствия несанкционированных доступов могут быт! построены на основе алгоритмов на графах, поиска в ширину и поиска в глубину.

5. Проверка отсутствия каналов несанкционированного доступа между заданны ми субъектом и объектом может быть осуществлена за полиномиальное время.

Апробация работы. Основные результаты диссертации докладывались и обсуж дались на следующих конференциях: Межвузовская научно-практическая конфе ренция «Информационные технологии автоматизации и управления» (Омск, 2009) XIII международная научно-практическая конференция «Решетневские чтения> (Красноярск, 2009); Вторая международная научно-практическая конференци «Современные проблемы гуманитарных и естественных наук» (Москва, 2010) «Научное творчество XXI века» (Красноярск 2010); Вторая международная научно практическая конференция «Наука в современном мире» (Москва 2010); Сибирск; научная школа-семинар с международным участием «Компьютерная безопасност и криптография» - SIBECRYPT'10 (Тюмень 2010), а также на научных семинарах Омского государственного университета им Ф.М. Достоевского.

Публикации. По теме диссертации опубликованы 14 научных работ, в том числе две статьи в журналах из списка, рекомендованного ВАК.

Структура и объем работы.

Диссертационная работа состоит из введения, трех глав, заключения и списка литературы. Работа содержит 116 страниц основного текста, 33 рисунка и 5 таблиц. Список литературы включает 80 наименований.

ОСНОВНОЕ СОДЕРЖАНИЕ РАБОТЫ

Во введении обоснована актуальность выбранной темы диссертационной работы и сформулированы основные цели исследования.

В первой главе, носящей обзорный характер, рассматриваются модели политик безопасности компьютерных систем с дискреционным разделением доступа и примеры их применения в современных информационных системах. Приводится описание моделей Харрисона-Руззо-Ульмана (HRU) и Take-Grant.

Вторая глава посвящена развитию базисного подхода в модели Н1Ш и выявле-1ию новых классов безопасности на его основе. Безопасными считаются, системы, которых невозможен несанкционированный доступ.

Дискреционное разделение доступа в компьютерных системах принято задавать помощью матрицы доступов. Строки матрицы доступов соответствуют субъектам омпьютерной системы, столбцы — объектам компьютерной системы, а ячейки пределяют набор разрешенных видов доступа для соответствующей пары субъект-бъект компьютерной системы. Построим более строгую модель матрицы досту-ов. Будем считать, что все типы доступов в компьютерной системе определяются онечным множеством А (\Л\<сс). Данное предположение выполняется во всех ре-шных компьютерных системах. Введем множество всех возможных доступов Л, ак комбинации из типов доступа (Д=2л). Пусть множество А записывается в виде {а1,а2,...,а„}. Выберем для элементов множества /? представление в виде «-битной -троки г=(Ь1,Ь2,-,Ьп). Причем Ь,=1, если тип доступа а, входит в доступ г и Ь,=0 в ротивном случае. Предполагается, что множество субъектов и множество объек-ов компьютерной системы являются счетными, то есть может быть проведена нумерация всех возможных объектов и субъектов. Определим множество матриц над А с количеством строк не превышающим количество столбцов, которое в дальнейшем будем обозначать через М. Очевидно, что каждой матрице доступов можно сопоставить матрицу из множества М. Верно и обратное утверждение, в силу того, что множество объектов включает в себя множество субъектов, и, следовательно, для каждой рассматриваемой матрицы можно построить реализацию компьютерной системы. Изменение защиты компьютерной системы сводится к преобразованию матрицы доступов. Такие преобразования можно записать в виде операций на множестве М. Будем считать, что преобразования также зависят и от некоторого набора параметров. Множество всех возможных наборов значений параметров обозначим через Р. Тогда любое преобразование матрицы доступов запишется в виде операции ор:МхР->М.

Определим суперпозицию операций ор1»ор2*...*ор„ как их последовательное применение к некоторой матрице доступов МеЛ/.

Базисом над М будем называть минимальный набор операций, через суперпозицию которых может быть определена любая операция на множестве М. Рассмотрим следующий базис над множеством М (Я - множество субъектов компьютерной системы, О-множество объектов компьютерной системы, М[Я,0] - элемент матрицы доступов, для субъекта и объекта ОеО), определяющий преобразования матрицы доступов М:

1. Ас1(Ю(0,М) - добавить столбец, соответствующий объекту О в Л/.

2. ВеЮ(0,М) - удалить столбец, соответствующий объекту О в М.

3. Ас1с18($,М) - добавить строку и столбец, соответствующие субъекту 5 в М.

4. ОеЩБМ) ~ удалить строку и столбец, соответствующие субъекту 5 в М.

5.1т(М[$,0],к) - инвертировать в элементе ЩБ,0\ бит с номером к. Эта операция выдает или отменяет право доступа я*.

Набор операций { А(1(10(ОМ), ВеЮ(0,М), Ас1с1Б(Б,М), 1л\>(М[Я,0],к) }

в дальнейшем будем обозначать через В\. Из операций могут составляться команды, выполняющие несколько действий.

Теорема 1. Набор операций Bjявляется базисом над множеством матриц доступам. Выразим примитивные операторы HRU через базис Bf.

1.Enter at into M[S, О] - внести право at в ячейку M[S,0\. Enter at into M[S,0]-Inv(M[S,0],k).

2. Delete at from M\S,0\- удалить право ak из ячейки M[S,О]: Delete ak from M[S,0]= Inv(M[S,0],k).

3. Create subject S - создать субъект S (т. е. новую строку матрицы М): Create subject S= AddS(S,M)-

4. Create object О - создать объект О (т. е. новый столбец матрицы М): Create object 0= Add0(0,M)-

5. Destroy subject S - уничтожить субъект S: Destroy subject S- DelS(S,M).

6. Destroy object О - уничтожить объект 0\ Destroy object 0= Del0(O,M). Первый и второй примитивный оператор HRU представляются одинаково чере

операцию Inv(M[S,0],k), однако условие выполнения у них разное. В первом случа право at первоначально отсутствует в ячейке матрицы доступов, а во втором случа наоборот присутствует.

Как видим, примитивных операторов HRU на один больше чем базисных опера ций, следовательно, они не являются базисом. Построим базис на основе прими тивных операторов HRU. Введем набор операций Вц= {Enter at into M[S,0], Créât subject S, Create object О, Destroy subject S, Destroy object O}. Теорема 2. Набор операций Вн является базисом модели HRU. В рамках модели HRU система называется безопасной относительно права а* если для заданного начального состояния Qo не существует последователыюст команд, в результате которой право а* будет занесено в ячейку матрицы доступо М, в которой оно отсутствовало в начальном состоянии Q0, то есть отсутствуют не санкционированные доступы. Как показано в работах [2,4], задача проверки данно го критерия на истинность для произвольной системы алгоритмически неразреши ма. Однако можно выделить отдельные классы систем, для которых возможно по строение алгоритма, проверяющего безопасность системы. Важным случаем явля ются монооперационные системы. Система называется монооперационной, есл каждая команда данной системы выполняет один примитивный оператор HRU.

Для выявления новых безопасных систем расширим понятие монооперационно" системы, с учетом существования базисного набора операций. Монооперационно системой в базисе В будем называть систему, каждая команда которой содержи ровно один оператор из базиса В.

Теорема 3. Существует алгоритм, проверяющий: является ли исходное состоя ние монооперационной системы в базисе В безопасным по отношению к праву ак.

Рассмотрим возможность применения базисного подхода в модели HRU для опи сания механизма дискреционного разделения доступа подсистемы безопасност ОС Windows. В рамках подсистемы безопасности ОС Windows, элементарные one рации задаются стандартными и специальными правами доступа. Кроме того опре делены общие права доступа, являющиеся комбинацией стандартных и специаль ных прав, то есть командами. Для записи конкретной команды, соответствующей некоторому общему праву доступа, будем рассматривать объект операционной системы как совокупность объектов. Такое рассмотрение допустимо в рамках субъ ектно-объектного подхода, который требует, чтобы конкатенация двух объектов

6

акже была объектом. Для обозначения, какой-то части объекта будем указывать бщий идентификатор объекта и идентификатор соответствующей части, разде-енные точкой. Например, содержимое файла F будет иметь обозначение F.Data. ри работе с файлом важными структурами являются его заголовок F.Header, де-криптор безопасности F.DS и списки контроля доступа F.DACL, F.SACL. Выпи-ем команды соответствующие добавлению общих прав доступа к файлу F провесом S в виде команд HRU.

1. Чтение из файла: 2. Запись в файл:

commandRead_File((S,F)) command Write_File((S,F))

Enter(r,M[S, F. Header]); Enter fw, M[S, F. Header]);

Enter(r,M[S,F.Data]); Enter(w,M[S,F.Data]);

Enter(r,M[S,F. DS]); Enler(w,M[S,F.DS]);

Enter(r,M[S,F.DACL]); Enter(r,M[S,F.DACL]);

Enter(r,M[S,F.SACL]); Enter(w,M[S,F.SACL]);

end. end.

3. Запуск исполняемого файла : 4. Полный доступ к файлу:

command Execute^ File((S,F)) command All_ File((S,F))

Enter (r, M[S, F. Header]); Enter(r,M[S,F.Header]);

Enter(x,M[S,F.Data]); Enter(w,M[S,F.Header]);

Enter(r,M[S,F.DS]); Enter(r,M[S,F.Data]);

Enter(r,M[S,F.DACL]); Enter(w,M[S,F.Data]);

Enter(r,M[S,F.SACL]); Enter(x,M[S, F.Data]);

end. Enter(r,M[S,F.DS']);

Enter(w,M[S,F.DS]);

Enter(r,M[S,F.DACL]);

Enter(r,M[S,F.SACL]);

Enter(w,M[S,F.SACL]);

end.

Как следует из определений понятий безопасности и монооперационности системы, проверка безопасности состояния должна осуществляться после каждого действия в системе, что накладывает ограничения на подсистему аудита. Как легко увидеть из приведенного выше, если в рамках ОС Windows ограничится только стандартными или специальными правами, то система будет монооперационной и, как следствие, безопасной. Наличие общих прав доступа делает систему не монооперационной и вопрос о ее безопасности остается открытым.

Для исследования безопасности механизма дискреционного разделения доступа в ОС Windows применим базисный подход. Для этого рассмотрим представление прав доступа на битовом уровне с помощью маски доступов. Запрос субъекта на конкретный вид доступа к объекту преобразуется в маску доступа, которая сравнивается с масками разрешенных и запрещенных доступов в элементах частного списка контроля доступов (DACL) объекта [6,11]. Маска доступа, содержащаяся в элементе DACL, представляет собой значение длиной 32 бита. Первые 16 битов определяют специальные права доступа, биты с 16 до 23 - стандартные права доступа, бит 24 - право ACCESS_ SYSTEM_ SECURITY, бит 25 - право MAXIMUM_ALLOWED (полный доступ), биты 26 и 27 зарезервированы для даль-

нейшего использования, биты с 28 по 31 определяют общие права доступа, отображаемые в специальные и стандартные права при попытке доступа к объекту.

Приведем специальные, стандартные и общие права доступа и их значения, и покажем, каким образом эти права могут быть представлены в базисе В¡.

Специальные права доступа: чтение данных (0x00000001), запись данных (0x00000002), добавление данных (0x00000004), чтение расширенных атрибутов (0x00000008), запись расширенных атрибутов (0x00000010), исполнение (0x00000020), удаление (0x00000040), чтение атрибутов (0x00000080), запись атрибутов (0x00000100).

Стандартные права доступа: удаление объекта (0x00010000), чтение DS объекта (0x00020000), чтение DACL объекта (0x00040000), изменение права собственности объекта (0x00080000), использование объекта для синхронизации (0x00100000).

Общие права доступа: общее право на полный доступ (0x10000000), общее право исполнения (0x20000000), общее право записи (0x40000000), общее право чтения (0x80000000).

Для того чтобы добавить или удалить какое-либо право доступа, достаточно инвертировать соответствующий этому праву бит. Ниже для примера приведена команда добавления общего права исполнения на объект F. command Generic_ Execute(F) if (b29==FALSE) Irtv(F,29) end.

Команды удаления прав будут выглядеть аналогично, но условие выполнения команды изменится, например if (b0~-FALSE) - добавление права, if (Ь0==ТRUE) -удаление права. Таким образом, при переходе к базису В/, как видно из приведенного выше, ОС Windows, будет монооперационной системой в данном базисе.

Для применения описанного подхода к реальной системе под управлением Windows необходимо явным образом построить матрицу доступов. Для построения матрицы доступов необходимо выполнить рекурсивный обход файловой системы и проанализировать дескриптор безопасности каждого объекта с целью выявления установленных прав доступа. При анализе дескриптора безопасности нас будут интересовать списки контроля доступа (DACL), содержащиеся в нем. DACL состоит из элементов (АСЕ), которые непосредственно содержат идентификатор субъекта (SID) и маску доступа, для этого субъекта. Маска доступа в АСЕ имеет вид битовой строки, потому, операции изменения матрицы доступов могут быть представлены в виде операций с битовой строкой. Следует учитывать, что существуют различные типы АСЕ, нас в данном случае интересуют разрешающие и запрещающие АСЕ. Разрешающие АСЕ образуют «белый список» доступов, запрещающие — «черный список» доступов. Тип АСЕ следует учитывать при построении матрицы доступов. Так, если объект имеет разрешающий АСЕ, то этот АСЕ копируется в соответствующую ячейку матрицы, если объект имеет запрещающий АСЕ, в матрицу помещается инвертированная копия данного АСЕ. Если объект имеет запрещающий и разрешающий АСЕ,то следует выполнить операцию побитовое «ИЛИ» над этими списками, результат операции инвертировать и поместить в матрицу доступов, так как запрещающий список имеет больший приоритет, чем разрешающий.

8

Таким образом, при рекурсивном обходе файловой системы для каждого нового бъекта будет создаваться столбец матрицы доступов. При анализе дескриптора "езопасности объекта будут создаваться строки матрицы, и заполняться ее ячейки, осле того, как матрица доступов будет построена, необходимо разработать систему удита, отслеживающую изменения матрицы. Будем описывать изменение матрицы оступов с помощью команд модели HRU. Как было показано выше, команды Win-ows могут быть записаны в базисе В/, при этом каждая команда содержит не более дной операции из набора В/. По определению такая система будет монооперационной в базисе 5/.

Для практической реализации безопасной системы в Windows необходимо пре-/смотреть дополнительную программу-монитор, которая будет отслеживать все изменения дескрипторов безопасности объектов, и отражать эти изменения в матрице доступов. Программа-монитор должна отслеживать вызовы функций, изменяющих дескриптор безопасности, и их параметры. Также необходимо дополнить систему аудита, которая будет фиксировать действия пользователей в системе в базисе В/.

В третьей главе описываются алгоритмы поиска безопасных состояний компьютерной системы, описываемой моделью Take-Grant. В модели Take-Grant исследуется передача прав доступа между субъектами, для чего вводятся два дополнительных права доступа: t (Take) - дает возможность брать права на объект у другого объекта и g (Grant) - дает возможность передавать свои права другим субъектам. Состояние системы описывается с помощью графа доступов, вершинами которого служат объекты и субъекты системы, а ориентированные помеченные дуги соответствуют правам доступа. В данной модели центральную роль играет предикат «возможен доступ»(а, х, у, G„), который истинен в случае, когда субъект х может получить право а на объект у в системе описываемой графом доступов Go В рамках модели могут быть доказаны две теоремы [8], которые дают необходимые и достаточные условия для истинности предиката возможен доступ»(а, х, у, Go):

1. Предикат «возможен доступ»(а, х, у, Go) истинен для графа Go, который содержит только вершины-субъекты, если в графе существует /¿'-путь между этими субъектами, ig-путем называется путь в графе доступов, каждая дуга которого помечена правом t или g. При этом направление дуг не учитывается.

2. Для того чтобы предикат «возможен доступ»(а, х, у, Go) был истинным для произвольного графа доступов Go, необходимо, чтобы х и у были соединены в G0 начальным и конечным пролетом моста с островами (подграфами из субъектов, соединенных /g-путями), а сами острова в графе были соединены мостами. Мостами, начальными и конечными пролетами мостами принято называть особые виды tg-путей.

Таким образом, исследование возможных каналов несанкционированного доступа сводится к задаче поиска в графе доступов /g-путей, островов, мостов, начальных и конечных пролетов мостов.

Для поиска /g-путей в графе доступов Gn построим граф G0' следующим образом:

1) множество вершин графа G„1 совпадает с множеством вершин графа G0 О о- О;

2) ребра в графе G0' не ориентированы, множество ребер графа G„' включае лишь те ребра из G0, которые содержат права t или g (Е0 = Е0 \Щ, где £° - множество ребер графа G0, не содержащих прав t или g);

3)все ребра графа G0' имеют одинаковый вес.

Для графа G0' применим алгоритм Дейкстры для поиска кратчайшего пути в графе [5]. Кратчайший путь между двумя указанными вершинами, найденный алгоритмом Дейкстры в графе G0', будет являться fg-путем между этими вершинами в графе G0. Трудоемкость такого алгоритма поиска /g-путей 0(N2), где N— количество объектов системы.

Для поиска островов в графе будем использовать алгоритм Флойда для поиска всех кратчайших путей в графе [5]. Построим граф (7* по исходному графу доступов С0 следующим образом:

1) множество вершин графа G0* совпадает с множеством вершин графа G0

2) ребра в графе Gl не ориентированы, множество ребер графа G'0 включает лишь те ребра из G0, для которых началом и концом дуги является вершина-субъект и которые содержат права Take или Grant (£0' = Е0 \ £° и , где -множество ребер графа G0, для которых начало и конец не являются субъектами; El - множество ребер графа G0, не содержащих прав Take или Grant);

3) все ребра графа G'0 имеют одинаковый вес.

Для графа Gl применим алгоритм Флойда. Алгоритм обнаружит кратчайшие пути между каждой парой вершин в графе G'0. Кратчайшие пути в графе G'a будут tg-путями, проходящими через вершины-субъекты в графе G0. А сами вершины-субъекты, объединенные /^-путями, будут являться островами в графе G0. Трудоемкость такого алгоритма поиска островов 0(N3).

Поиск мостов, а также начальных и конечных пролетов моста сводится к поиску /g-путей заданного вида. Данная задача может быть решена с использованием алгоритмов-распознавателей грамматик.

Построим распознаватель мостов в графе доступов. При этом мост t* будем рас> »<

сматривать как частный случай моста t*gt*. То есть для поиска этих двух типов мостов будем использовать один алгоритм.

Введем ряд обозначений. Начальную и конечную вершину моста будем обозначать Sfe) и F(e) соответственно. Вершину, в которой мы находимся на данный момент, будем обозначать С(е), а рассматриваемую вершину - W(e). Дугу между вершинами в/ и е2, содержащее право g обозначим ej). Для дуг с правами tut

также введем соответствующие обозначения t (е,, е2) и t (е,, е2). Множество всех объектов обозначим через О.

Графическая схема работы распознавателя представлена на рисунке 1. Опишем состояния распознавателя.

Рис. 1. Распознаватель моста I * g/ *

5: В самом начале работы С(е)=5(е). Для поиска моста между вершинами С(е) и (е) нам необходимо рассмотреть вершины-объекты графа доступов. Выберем из О ершину Ще) и рассмотрим, каким образом эта вершина может быть связана с С(е).

ас интересует, существует ли дуга / или g между С(е) и \У(е). Если такой дуги нет, еобходимо выбрать для рассмотрения следующую вершину Ще) из О. Возможна итуация, когда были рассмотрены все вершины из О, но подходящей дуги так и не ашлось, это означает что между Б(е) и Р(е) моста не существует, распознаватель 1ереходит в конечное состояние с отрицательным результатом (К). Если обнаруже-

а дуга / (С(е), Ще))), нам необходимо запомнить ее дугу, для этого пометим ее и ершину Ще) положительно, сделаем рассматриваемую вершину текущей

Ще)=С(е)), и переведем распознаватель в новое состояние V. Если обнаружена

та %(С(е),\У(г)), пометим ее и вершину Ще) положительно, выполним присвоение

(е)-С(е), и переведем распознаватель в новое состояние, которое обозначим С".

'Г : Проверим, существуют ли /#-дуги между С(е) и Г(е). Если существует дуга

I (С(е),Р(е)), это означает, что распознаватель обнаружил мост типа I*; необходи-о пометить эту дугу и перевести распознаватель в новое состояние (£'). Если су-

ествует дуга g(C(e),F(e)), это означает, что распознаватель обнаружил мост типа

/*£. Пометим данную дугу и вершину положительно и переведем распознаватель в остояние Е\ Если /£-дуги между С(е) и Г(е), то распознаватель выбирает верши-

IV (е) СО из тех, что еще не помечены. Пусть существует дуга г (С(е), №(е)) -юметим дугу и вершину Ще) положительно, сделаем рассматриваемую вершину

текущей {С(е)=\У(е))\ распознаватель остается в состоянии 'Г и выбирает следую

щую вершину \¥(е) С О. Если существует дуга g (С(е), Ще)) - пометим дугу и вер шину положительно, сделаем рассматриваемую вершину текущей и переведем рас

познаватель в состояние в*. Наконец возможна ситуация, когда мы перебрали вс

непомеченные вершины из множества О и не нашли дуг г или g — это значит, чт мы зашли в тупик. Попробуем вернуться к предыдущей вершине и выбрать дру гую, отличную от текущей. Для этого переведем распознаватель в состояние, кото

рое будем обозначать Т-.

Т-: Пометим С(е) отрицательно, сделаем текущей предыдущую помеченну

положительно вершину (С(е)=С(е-1)) и вернем распознаватель в состояние V. Те кущую вершину необходимо пометить отрицательно для того, чтобы распознава

тель вновь не выбрал ее в состоянии '/" .

О*: Проверим, существует ли дуга I между вершинами С (г) и Р(е). Если да, т

->

это означает, что обнаружен мост I*gt*. Пометим данную дугу положительно > переведем распознаватель в состояние Е'. Если такой дуги нет, то выбираем непо

меченную вершину 1¥(е) из О. Если существует дуга / (С(е),1¥(е)), то пометим э дугу и 1¥(е) положительно, присвоим С(е)=\¥(е) и переведем распознаватель в но

вое состояние - Т*. Возможна такая ситуация, когда мы перебрали все непомечен

• ( «—

ные вершины из множества О, но так и не нашли дуги, содержащей право I. этом случае нам придется пометить текущую вершину отрицательно, выбрать в ка честве текущей предыдущую помеченную положительно (С(е)=С(е-1)), и вернуть

ся в состояние Т*.

Т*: Проверим, существует ли дуга / (С(е),Р(е)). Если это так, то значит, обнару

жен мост / *; пометим данное ребро положительно и перейдем в состояние Е . противном случае выберем непомеченную вершину \У(е) СО и проверим, существу ет ли дуга / (С(е),Ще)). Если такая дуга существует, то пометим вершину Ще) и ду

гу положительно, присвоим С(е)=\¥(е) и вновь перейдем в состояние Т*. В случае когда перебрав все непомеченные вершины из О мы не нашли нужной дуги (попал в тупик), необходимо попробовать вернуться к предыдущей помеченной положи тельно вершине. Для этого переведем распознаватель в новое состояние, которо

обозначим Т~.

Т~: Пометим текущую вершину отрицательно, вернемся к предыдущей поме

ченной положительно вершине (С(е)=С(е-1)) и вновь перейдем в состояние Т* . Ее

ли при выборе предыдущей вершины мы попадем в вершину, которой закончилас —►

дуга g, то нам придется пометить ее отрицательно и вернуться в состояние V .

Пусть |£|=и,|0|=у. Основной цикл алгоритма можно ограничить числом п. Со-

ояния Г*, С и Т* могут быть посещены не более чем v раз каждое, так как даже ели приходится возвращаться в них из предыдущих состояний, то рассматривают-

я только те дуги и вершины, которые еще не были посещены. Состояния 5, Е~, К, » <-

- и Т не содержат сложных вычислений, поэтому при оценке их можно не учи-ывать. Таким образом, оценить сложность работы распознавателя можно как (3\п) или 0(У3).

Для поиска моста можно воспользоваться описанным распознавателем,

ели заменить состояние С+ на состояние С*.

4-

Распознаватель моста / * строится аналогичным образом. Графическая схема ра-

оты распознавателя для поиска моста I * представлена на рисунке 2. Работу распо-навателя можно оценить как 0(И3).

Задача нахождения начального и конечного пролетов мостов похожа на задачу тхождения мостов, поэтому для ее решения можно воспользоваться теми же мето-ами, то есть построить распознаватели начального и конечного пролета мостов, рафичёские схемы работы распознавателей приведены на рисунке 3. Оценка рабо-ы обоих распознавателей, будет равняться 0(У3).

Рис. 2. Распознаватель моста Г *

Рис. 3. Распознаватели пролетов моста: а - распознаватель начального пролета; б - распознаватель конечного пролета

Опишем еще один способ, нахождения мостов в произвольном графе доступов Этот способ основан на алгоритме поиска в ширину. Начальную вершину мост будем обозначать через я, а конечную - через /. Множество всех вершин-объекто исходного графа обозначим через О. Так как существует четыре типа моста, можн построить четыре разных алгоритма для каждого типа соответственно.

Рассмотрим мост I*.Формально алгоритм будет состоять из трех основных эта пов.

Перед началом работы алгоритма разобьем множество О на два подмножества и 0„ причем О = О, и О,..

Этап 1. Вершина 5 заносится в множество Ог, все остальные вершины заносятс в 0„

Этап 2. Просматриваются все дуги графа, началом которых являются вершин из Оп если существует 1(ег,е1), е, заносится в множество От и удаляется из О,-. Здес ег е Ог, е, е О,. Когда все дуги инцидентные вершинам из О, множества будут про смотрены - переходим на третий этап.

Этап 3. Если после выполнения этапа 2 вершина/оказалась во множестве 0Л т алгоритм заканчивает свою работу: мост заданного вида в графе существует. Есл1 после выполнения этапа 2 мощности множеств О, и 0¡ не изменились, алгорит также заканчивает работу: моста заданного вида в графе не существует. В против ном случае - возвращаемся на этап 2.

Пусть исходный граф содержит N вершин. Количество повторений этапа 2 мож но ограничить количеством вершин графа, так как в случае если после каждого вы полнения этапа в множество О, будет заноситься по одной вершине, то мост в гра фе будет найден за N шагов. В общем случае во множество Ог за каждое выполне ние этапа 2 будет заноситься более одной вершины, то есть мост будет найде меньше чем за N шагов. Если же моста не существует, то на шаге / < N не найдете дуги нужного вида и алгоритм ничего не занесет в множество Оп то есть мощност множества останется неизменной, тогда алгоритм прервется с выдачей соответс вующего сообщения. Таким образом, сложность работы алгоритма можно оценит

как 0(!\'3).

<Для моста типа г* очевидно можно использовать описанный выше алгоритм, ее

ли на втором этапе вместо дуг типа г искать дуги типа /. При этом все сказанно выше будет справедливо и для этого случая, в том числе трудоемкость алгоритм также будет оцениваться как О (К1).

Рассмотрим мост типа t*gt*. Разобьем множество О на четыре подмножества О О,г, 0Кг и Оц следующим образом: 0 = ^ (01т гл 0!г п О,,). В множество С,г заносятс

вершины, до которых существует путь f, в множество заносятся вершины, д

которых существует путь g, в множество Оц заносятся те вершины, до которы

существует путь /, множество О, изначально содержит все вершины кроме 5. Вер шина может находиться сразу в нескольких из этих подмножеств, но если она н ходится в подмножествах 0,г, 0&г и Ол одновременно, то из О, она исключается.

Опишем формально алгоритм поиска моста t*gi*.

Этап 1. Вершина s заносится во множество 0,п при этом в остальные множества тартовую вершину можно не включать. Все прочие вершины заносятся в О,.

Этап 2. Перебираем все дуги графа, началом которых является вершина, принад-ежащая одному или нескольким множествам Olr, Ogr и О,/. Если дуга найдена, то в ависимости от ее типа, конечная вершина этой дуги заносится в одно из множеств tr, Ogr или Оц, согласно следующим правилам:

а) Olr = 0„. и{е,} если t(em,ej и г.еО,;

б) °у.'= если g'(e.-e,)и е»6 °„;

в) 0„ -- 0„ и {е,.} если t(em,e,) п ете Ogr или е„ е 0„ ;

г) О, = О, \ {ej если е, е 0„ п Ор п 0„ .

Здесь ет может принимать значения е,„ egn е„, где e,r е 0,r, еF е Ogr, е„ е 0„; е, е О,.

Этап 3. Если после выполнения этапа 2 вершина / оказалась в одном из мно-кеств 0,п Ogr или 0,и то алгоритм заканчивает свою работу: мост указанного вида в . афе существует. Если после выполнения этапа 2 не изменилась мощность ни од-ого множества, то алгоритм также останавливается: моста заданного вида не существует. В ином случае возвращаемся на этап 2.

При оценке трудоемкости алгоритма надо учитывать, что по сравнению с выше-писанным случаем число множеств, в которые заносятся вершины, возросло трое. В худшем случае на каждом шаге второго этапа одна вершина попадает в дно из множеств, однако потенциально каждая вершина может попасть во все три ножества. Таким образом, количество повторений второго этапа следует увели-ить до 3N. Количество дуг в графе остается неизменным, потому общую трудоем-ость алгоритма можно оценить как 0(Ъ-N■ N-(N-\) или 0(N2).

Очевидно, что для моста t*gt* можно использовать описанный выше алгоритм,

ели на втором этапе в множество Ogr включать дуги вида g вместо g. Все сказан-

ое относительно моста t*gt* будет справедливо и для моста i*gi*, включая тру-оемкость, которую также можно оценить как 0(N3).

Начальный пролет моста имеет вид t*g, поэтому, перед началом работы необходимо выбрать вершину а е О такую, что g(a,x), где хеО - конечная вершина начального пролета моста. При выборе вершины а возможно будет необходимо рассмотреть все вершины из О, поэтому поиск вершины а можно оценить как 0(N3). После того, как подходящая вершина найдена, для поиска начального пролета моста можно применить алгоритм, использовавшийся для поиска моста вида t *.

Для поиска конечного пролета моста, аналогично необходимо сначала найти вершину Ъ такую что а(Ь,у), где а - необходимый доступ или набор доступов, у - вершина, возможность доступа до которой выясняется. Для поиска вершины Ъ точно также необходимо просмотреть все вершины из О. Далее, для поиска конечного пролета можно также применить алгоритм, аналогичный алгоритму для поиска

моста вида /*, вершинабудет принадлежать какому-либо острову, аf=b.

Для того чтобы применение модели Take-Grant стало возможным, необходим выяснить, присутствуют ли в Windows аналоги прав Take и Grant. В системе Wi dows возможность передавать права на объект другим субъектам имеют админис ратор, владелец объекта, либо любой пользователь с полными правами на объек Информация о владельце объекта и правах субъектов на объект содержится в дес рипторе безопасности объекта, потому, анализируя дескриптор безопасности мо но однозначно выявить субъекты, имеющие право Grant на объект.

Помимо прочих прав доступа в Windows присутствует право Take Ownershi (смена владельца). Субъект, обладающий этим правом на объект может стать вл дельцем объекта и получить любые права на этот объект. Таким образом, можн говорить, что субъект, обладающий правом Take Ownership, обладает правом Так на объект.

В заключении сформулированы основные результаты и выводы.

ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ

1. Проведено развитие модели безопасности компьютерных систем с дискреци онным разделением доступа HRU.

1.1 Возможно построение минимального набора операций на множестве матри доступа (базиса).

1.2 Использование базиса позволяет выбирать наиболее удобное представлени команд преобразования матрицы доступов.

1.3 Использование базисного подхода позволяет выявить новые классы безопас ности компьютерных систем с дискреционным разделением доступа.

2. Исследовано дискреционное разграничение доступа в операционных система семейства Windows.

2.1 Применен базисный подход к исследованию системы защиты от несанкцио нированного доступа в компьютерных системах под управлением ОС Windows.

2.2 Сформулированы рекомендации по разработке дополнительной системы за щиты, делающей объекты ОС Windows защищенными от несанкционированны доступов.

3. Построены алгоритмы проверки безопасности компьютерных систем с дис креционным разделением доступа в рамках модели Take-Grant.

3.1 Разработан полиномиальный алгоритм проверки отсутствия несанкциониро ванных доступов в системах с дискреционным разделением доступов с трудоемко стью 0(N3).

3.2 Исследована применимость построенных алгоритмов к компьютерным си темам под управлением ОС Windows. Показана возможность программной реали зации дополнительных систем защиты, исследующих возможность несанкциониро ванного доступа заданного пользователя к определенному объекту.

Основное содержание диссертации опубликовано в следующих работах:

В научных журналах, рекомендованных ВАК:

\. Бречка Д.М., Белим С.В. Базисный подход в модели безопасности HRU // Про-лемы информационной безопасности. Компьютерные системы. 2010. В. 2. С. 7-13.

2. Белим С.В., Бречка Д.М. Выявление новых классов безопасности в рамках мо-ели HRU // Безопасность информационных технологий. 2010. В. 3. С. 10-15.

В других изданиях:

3. Бречка Д.М. Дискреционная политика безопасности и ее моделирование // роблемы обработки и защиты информации. Книга 1. Модели политик безопасно-ш компьютерных систем. Коллективная монография / под общей редакцией С.В. елима. Омск: ООО «Полиграфический центр КАН», 2010.

4. Белим С.В., Бречка Д.М. Классы безопасности модели ХРУ // Проблемы об-аботки и защиты информации. Кн. 1. Модели политик безопасности компыотер-ых систем. Коллективная монография / под общей редакцией С.В. Белима. Омск: ОО «Полиграфический центр КАН», 2010.

5. Бречка Д.М. Алгоритмы проверки безопасности состояний компьютерной истемы в модели Take-Grant // Проблемы обработки и защиты информации. Кн. 1.

одели политик безопасности компьютерных систем. Коллективная монография / од общей редакцией С.В.Белима. Омск: ООО «Полиграфический центр КАН», 010.

6. Бречка Д.М., Белим С.В. Исследование безопасности компьютерных систем в одели дискреционного разделения доступа HRU // Математические структуры и оделирование. 2009. № 19. С. 97-103.

7: Бречка Д.М. Алгоритмы анализа безопасности состояний компьютерной сис-емы для модели Take-Grant // Математические структуры и моделирование. 2009. {о 20. С. 160-172.

8. Бречка Д. М., Белим С. В. Расширение классов безопасности систем в модели искреционного доступа HRU // Современные проблемы гуманитарных и естест-енных наук: материалы второй международной научно-практической кон-еренции. Т. II. М.: ООО «Открытое право», 2010. С. 63-67.

9. Бречка Д. М. Исследование безопасности систем в модели дискреционного азделения доступа HRU // Информационные технологии автоматизации и управ-ения: материалы межвузовской научно-практической конференции, 20-24 апреля 009 г., Омск: Изд-во ОмГТУ, 2009. С. 164.

10.Бречка Д. М., Белим С.В. Построение алгоритмов проверки безопасности ;истем с дискреционным разделением доступа // Решетневские чтения: материалы

III Международной научно-практической конференции, 4.2. 10-12 ноября 2009 ., Красноярск: Сиб. гос. аэрокосмич. ун-т., 2009. С. 573-574.

11. Белим С.В., Бречка Д.М. Расширение класса безопасных систем в модели iRU // В мире научных открытий. 2010. № 4(10). 4.4. Красноярск: Научно-шформационный центр. С. 9-11.

12. Бречка Д.М. Анализ возможности доступа в модели Take-Grant // В мире на-чных открытий. 2010. №4(10) 4.4. Красноярск: Научно-информационный центр. .11-13.

13. Бречка Д.М. Применение алгоритмов на графах для поиска безопасных со-тояний компьютерной системы // Наука в современном мире: материалы II Меж-

17

дународной научно-практической конференции (30 июля 2010): сборник научны трудов / под ред. Г.Ф. Гребенщикова. М.: Изд-во «Спутник+», 2010

14. БречкаД.М. Поиск tg-путей и островов для модели безопасности Take-Gra // Прикладная дискретная математика №3. Приложение. Тезисы докладов IX Ci бирской научной школы-семинара с международным участием «Компьютерна безопасность и криптография» - SIBECRYPT'10 (Тюмень, ТюмГУ, 7-10 сентябр 2010 г.) / ред. Н.И. Шидловская. Томск: ООО «Издательство научно-техническо литературы», 2010. С. 46-47.

Список цитируемой литературы

1. Гайдамакин Н.А. Разграничение доступа к информации в компьютерных си темах. Е.: Изд-во Уральского Университета, 2003.328 с.

2. Гордеев А.В., Молчанов А.Ю. Системное программное обеспечение: уче ник. СПб.: Питер, 2001. 736 с.

3. Грушо А.А., Тимонина Е.Е. Теоретические основы защиты информации. М Яхтсмен, 1996.192 с.

4. Девянин П.Н. Модели безопасности компьютерных систем: учебное пособи для студентов высших учебных заведений. М.: Издательский центр «Академия) 2005. 144 с.

5. Майника Э. Алгоритмы оптимизации на сетях и графах. М.: Мир, 1981.323 с.

6. Руссинович М. Соломон Д. Внутреннее устройство Microsoft Window Windows Server 2003, Windows XP и Windows 2000. Мастер-класс. Пер. с англ. 4-изд. М.: Издательско-торговый дом «Русская редакция», 2005. 992 с.

7. Теоретические основы компьютерной безопасности: учебное пособие для в зов / Девянин П.Н. и др. М.: Радио и связь, 2001.192 с.

8. Department of Defense Trusted Computer System Evaluation Criteria, TCSE DoD 5200.28-STD, December 26, 1985.

9. Harrison M.A., Ruzzo W.L. Monotonic protection systems // Foundation of Secur Computation. New York: Academic Press, 1978. P. 337-365.

10. Harrison M.A., Ruzzo W.L., Ulman J.D. Protection in Operating Systems // Co munications of the ACM, 1975. p. 14-25.

11. Lipton R.J., Snayder L. A linear time algorithm for deciding subject security Journal of ACM (Addison-Wesley). №. 3.1977. P. 455-464.

12. Microsoft Corporation Microsoft Windows XP Professional. Учебный кур MCSA/MCSE. Пер. с англ. 2-е изд. Испр. М.: Издательско-торговый дом «Русска редакция», 2003. 1008 с.

Подписано в печать. Формат бумаги 69x86 1/16. Печ.л. 1,1. Тираж 100 экз. Заказ 054

Отпечатано на полиграфической базе ОмП' 644077, г. Омск 77, пр. Мира, 55а

Оглавление автор диссертации — кандидата технических наук Бречка, Денис Михайлович

Введение.

Глава 1. Дискреционная политика безопасности и ее моделирование.

1. 1 Формальные политики безопасности.

1.2 Формальные субъекты и объекты.

1.3 Дискреционные модели.

1.4 Применение дискреционных моделей.

1.5 Модели дискреционного доступа.

1.6 Дальнейшее развитие моделей HRU и Take-Grant.

Глава 2. Базисный подход в модели HRU.

2.1 Матрица доступов.

2.2 Базисный подход в модели HRU.

2.3. Монооперационные системы в базисе.

2.4 Применение базисного подхода в операционных системах Windows.

Глава 3. Алгоритмы проверки безопасности состояний компьютерной системы в модели Take-Grant.

3.1 Исследование безопасности Take-Grant.

3.2 Поиск tg-путей.

3.3 Пример поиска tg-путей.

3.4 Поиск островов.

3.5 Пример поиска островов.

3.6 Образование стяжек-островов.

3.7 Распознаватели мостов.

3.8 Примеры распознавания мостов.

3.9 Алгоритмы поиска мостов.

3.10 Примеры поиска мостов.

3.11 Оценка общей трудоемкости.

3.12 Применение модели Take-Grant для анализа безопасности Windows.

Введение 2011 год, диссертация по информатике, вычислительной технике и управлению, Бречка, Денис Михайлович

Актуальность проблемы. Модели безопасности компьютерных систем позволяют формализовать процесс выявления возможных каналов утечки информации. С их помощью может быть проведено строгое доказательство устойчивости компьютерных систем к атакам злоумышленников [11-13, 38-41].

На сегодняшний день разработано несколько типов моделей безопасности, однако исторически первыми были дискреционные модели [15,19,20,34,47,56], основанные на принципе явного присвоения наборов разрешенных действий для каждой пары субъект - объект информационных отношений. Все модели безопасности компьютерных систем основываются на принципах впервые сформулированных в стандарте «Department of Defense Trusted Computer System Evaluation Criteria» [61], также известному как «Оранжевая книга», регламентирующему уровни безопасности информационных систем, минимальным требованием защищенности системы является наличие в ней разделения доступа. То есть, необходимо организовать работу системы так, чтобы каждый пользователь имел доступ лишь к тем частям информационной системы, которые необходимы ему для выполнения своих обязанностей. Разделение доступа в информационных системах реализуется через политику безопасности, представляющую собой нормы и правила эксплуатации системы [1-9, 11-13, 15-17].

Модель Харрисона-Руззо-Ульмана (Harrison-Ruzzo-Ulman, HRU) [15, 19, 20, 47, 68] была одной из первых моделей, ориентированных на анализ дискреционного доступа, и большинство более поздних моделей основаны на ее базовых положениях. Одним из основных результатов модели HRU является алгоритмическая неразрешимость задачи проверки произвольной системы на наличие каналов утечки информации. В связи с этим в работах [67, 77] предложен ряд ограничений модели, позволяющих выявить системы, для которых можно гарантировать защищенность. При этом существенно ограничивается функциональность компьютерной системы.

Модель Take-Grant [15, 20, 47, 71] более предсказуема, чем модель HRU. Для модели Take-Grant сформулированы условия, при которых в системе, работающей согласно этой модели, гарантированно не произойдет утечек информации. Однако способы проверки выполнимости данных условий не определены.

Целью диссертационной работы является развитие моделей дискреционного разграничения доступа HRU и Take-Grant, выявление новых классов безопасных компьютерных систем, построение алгоритмов проверки безопасности состояния компьютерной системы.

Методы исследования. При решении поставленных задач использовались математические модели, теория графов, теория алгоритмов, элементы булевой алгебры.

Научная новизна результатов исследований.

1. Впервые применен базисный подход для анализа безопасности модели HRU, что позволило расширить класс систем гарантированно защищенных от несанкционированного доступа.

2. Проведен анализ подсистемы безопасности операционных систем семейства Windows на возможность возникновения несанкционированных доступов с использованием дискреционных моделей безопасности.

3. Построены полиномиальные алгоритмы проверки возможности несанкционированного доступа заданного субъекта к заданному объекту.

Достоверность результатов работы. Научные результаты диссертационной работы получены с использованием методов хорошо зарекомендовавших себя при моделировании политик безопасности компьютерных систем. Проведено сравнение результатов моделирования с современными программными средствами защиты информации.

Практическая ценность заключается в разработке алгоритмов проверки безопасности компьютерных систем и выявлении безопасных состояний, которые могут найти применение в программных реализациях средств аудита безопасности вычислительных комплексов.

Основные положения, выносимые на защиту:

1. Возможно расширение дискреционной модели безопасности Н1Ш за счет введения различных операций преобразования матриц доступа.

2. На множестве операций преобразования матрицы доступа возможно выделение базисного набора операций, через который линейно выражаются все остальные операции.

3. Рассмотрение компьютерных систем в различных базисах позволяет расширить класс систем, для которых допустимо доказательство гарантированной защищенности от несанкционированных доступов.

4. Алгоритмы проверки отсутствия несанкционированных доступов могут быть построены на основе алгоритмов на графах, поиска в ширину и поиска в глубину.

5. Проверка отсутствия каналов несанкционированного доступа между заданными субъектом и объектом может быть осуществлена за полиномиальное время.

Апробация работы. Основные результаты диссертации докладывались и обсуждались на следующих конференциях: Межвузовская научно-практическая конференция «Информационные технологии автоматизации и управления» (Омск, 2009); XIII международная научно-практическая конференция «Решетневские чтения» (Красноярск, 2009); Вторая международная научно-практическая конференция «Современные проблемы гуманитарных и естественных наук» (Москва, 2010), «Научное творчество XXI века» (Красноярск 2010), Вторая международная научно-практическая конференция «Наука в современном мире» (Москва, 2010), Сибирская научная школа-семинар с международным участием «Компьютерная безопасность и криптография» - БТВЕСКУРТ'Ю (Тюмень, 2010), а также обсуждались на научных семинарах Омского государственного университета.

Публикации. По теме диссертации опубликованы 14 научных работ, в том числе три статьи в коллективной монографии «Проблемы обработки и защиты информации книга 1 — Модели политик безопасности компьютерных систем» и две статьи в журнале, из списка рекомендованного ВАК.

Структура и объем работы. Диссертационная работа состоит из введения, трех глав, заключения и списка литературы. Работа содержит 116 страницы основного текста, 33 рисунка и 5 таблиц. Список литературы включает 80 наименований.

Заключение диссертация на тему "Разработка алгоритмов проверки отсутствия несанкционированных доступов в компьютерных системах на основе дискреционных моделей безопасности"

ЗАКЛЮЧЕНИЕ

В работе были исследованы и развиты модели дискреционного доступа HRU и Take-Grant. Были показаны особенности данных моделей и возможность применения на практике. Основные результаты работы:

1. Проведено развитие модели безопасности компьютерных систем с дискреционным разделением доступа HRU.

1.1 Возможно построение минимального набора операций на множестве матриц доступа (базиса).

1.2 Использование базиса позволяет выбирать наиболее удобное представление команд преобразования матрицы доступов.

1.3 Использование базисного подхода позволяет выявить новые классы безопасности компьютерных систем с дискреционным разделением доступа.

2. Исследовано дискреционное разграничение доступа в операционных системах семейства Windows.

2.1 Применен базисный подход к исследованию системы защиты от несанкционированного доступа в компьютерных системах под управлением ОС Windows.

2.2 Сформулированы рекомендации по разработке дополнительной системы защиты, делающей объекты ОС Windows защищенными от несанкционированных доступов.

3. Построены алгоритмы проверки безопасности компьютерных систем с дискреционным разделением доступа в рамках модели Take-Grant.

3.1 Разработан полиномиальный алгоритм проверки отсутствия несанкционированных доступов в системах с дискреционным разделением доступов с трудоемкостью 0(N ).

3.2 Исследована применимость построенных алгоритмов к компьютерным системам под управлением ОС Windows. Показана возможность программной реализации дополнительных систем защиты, исследующих возможность несанкционированного доступа заданного пользователя к заданному объекту.

Библиография Бречка, Денис Михайлович, диссертация по теме Методы и системы защиты информации, информационная безопасность

1. ГОСТ 50.922-96. Стандартизованные термины и определения в области защиты информации.

2. ГОСТ Р 50992-96. Защита информации. Основные термины и определения.

3. ГОСТ Р 51275-99. Защита информации. Объект информатизации. Факторы, воздействующие на информацию. Общие положения.

4. ГОСТ Р ИСО/МЭК 15408-3-2002. Информационная технология. Методы и средства обеспечения безопасности. Критерии оценки безопасности информационных технологий. Часть 3. Требования доверия к безопасности. М. : Изд-во стандартов, 2002.

5. Руководящий документ ГТК РФ. Автоматизированные системы. Защита от несанкционированного доступа к информации. Классификация автоматизированных систем и требований по защите информации. М.: Воениздат, 1992.

6. Руководящий документ ГТК РФ. Защита от несанкционированного доступа к информации. Термины и определения. М.: Воениздат, 1992.

7. Руководящий документ ГТК РФ. Концепция защиты средств вычислительной техники и автоматизированных систем от несанкционированного доступа к информации. М.: Воениздат, 1992.

8. Руководящий документ ГТК РФ. Руководство по разработке профилей защиты и заданий по безопасности. М.: Воениздат, 2003.

9. Руководящий документ ГТК РФ. Средства вычислительной техники. Защита от несанкционированного доступа к информации. Показатели защищенности от несанкционированного доступа к информации. М.: Воениздат, 1992.

10. Алгоритмы: построение и анализ. / Кормен Т. и др. М.: МЦНМО, 2000. 960 с.

11. Анин Б.Ю. Защита компьютерной информации. СПб.:БХВ Санкт1. Петербург, 2000. 376 с.

12. Багаев, М. А. Методические основы управления доступом пользователей к информационным ресурсам автоматизированных систем // Информация и безопасность, 2003, № 2. с. 156-158.

13. Безбогов A.A., Яковлев A.B., Мартемьянов Ю.Ф. Безопасность операционных систем. М.: Машиностроение-1, 2007. 220 с.

14. Брагг Р. Система безопасности Windows 2000. М.: Изд. дом «Вильяме», 2001. 592 с.

15. Гайдамакин H.A. Разграничение доступа к информации в компьютерных системах. Е.: Издательство Уральского Университета, 2003. 328 с.

16. Галатенко В.А Стандарты информационной безопасности: курс лекций: учебное пособие. Второе издание. М.: ИНТУИТ.РУ «Интернет-университет информационных технологий», 2006. 264 с.

17. Герасименко В.А. Защита информации в автоматизированных системах обработки данных. В 2-х кн.:Кн.1. М.: Энергоатомиздат, 1994. 400 с.

18. Гордеев A.B., Молчанов А.Ю. Системное программное обеспечение. Учебник. СПб.: Питер, 2001. 736 с.

19. Грушо A.A., Тимонина Е.Е. Теоретические основы защиты информации. М.: Яхтсмен, 1996. 192с.

20. Девянин П.Н. Модели безопасности компьютерных систем: Учебное пособие для студентов высших учебных заведений. М.: Издательский центр «Академия», 2005. 144 с.

21. Дейтел Г. Введение в операционные системы. Том 1. М.: Мир, 1987.216 с.

22. Дидюк Ю.Е., Дубровин A.C., Макаров О.Ю., Мещеряков Ю.А., Марков A.B., Рогозин Е.А. Основные этапы и задачи проектирования систем защиты информации в автоматизированных системах // Телекоммуникации. 2003. № 2. 29-33.

23. Духан Е.И., Синадский Н.И., Хорьков Д.А. Применение программно-аппаратных средств защиты компьютерной информации. Екатеринбург: УГТУ-УПИ, 2008. 182 с.

24. Емелин И.В., Эльгиян Р.В. Обеспечение многоуровневой защиты информации в информационных и вычислительных системах. М.: ВНИИМИ, 1979.

25. Завгородний В.И. Комплексная защита информации в компьютерных системах: Учеб. пособие. М.: Логос, 2001. 264 с.

26. Защита информации, учеб. пособие. В 4 ч. Ч. 2. Основы организации защиты информации в ЭВМ. / Завгородний М. Г. и др. Воронеж: Воронеж, высш. школа МВД России, 1997. 130 с.

27. Зегжда Д.П., Ивашко A.M. Как построить защищенную информационную систему? / Под ред. Д.П. Зегжды и В.В. Платонова. СПб.: Мир и семья, 1997. 312 с.

28. Зегжда Д.П., Ивашко A.M. Основы безопасности информационных систем. М.: Горячая линия Телеком, 2000.452 с.

29. Коберниченко A.B. Недокументированные возможности Windows NT. М.: Нолидж, 1998. 287 с.

30. Козленко JT. Информационная безопасность в современных системах управления базами данных // КомпьютерПресс. 2004. Вып.З. URL: http:// www.compress.ru/Article.aspx?id=10099 (дата обращения 10.01.2010)

31. Кристофидес Н. Теория графов. Алгоритмический подход. М.: Мир, 1978. 432 с.

32. Куприянов А.И., Сахаров A.B., Швецов В. А. Основы защиты информации: учеб. пособие для стуц. высш. уч. Заведений. М.: Академия, 2006. 256 с.

33. Майника Э. Алгоритмы оптимизации на сетях и графах. М.: Мир, 1981.323 с.

34. Математические основы информационной безопасности. Пособие. /

35. Баранов А.П.и др. Орел: ВИПС, 1997. 354 с.

36. Мельников В.В. Защита информации в компьютерных системах. М.: Финансы и статистика; Электроинформ, 1997. 368 с.

37. Новик И.Б. Абдулов А.Ш. Введение в информационный мир. М.: Наука, 1991. 228 с.

38. Носов В.А. Основы теории алгоритмов и анализа их сложности. Курс лекций. М.: МГУ, 1992. 140 с.

39. Основы информационной безопасности. Учебное пособие для вузов. / Белов Е.Б. и др. М.: Горячая линия-Телеком, 2006. 554 с.

40. Основы организационного обеспечения информационной безопасности объектов информатизации. / Семкин С.Н. и др. М.: Гелиос АРВ, 2005. 187 с.

41. Прокофьев И.В., Шрамков И.Г., Щербаков А.Ю. Введение в теоретические основы компьютерной безопасности : Учебное пособие. М.: Изд. Моск.гос. ин-та электроники и математики, 1998. 184 с.

42. Проскурин В.Г., Кругов C.B., Мацкевич И.В. Защита в операционных системах: Учебное пособие. М.: Радио и связь, 2000. 168 с.

43. Руссинович М. Соломон Д. Внутреннее устройство Microsoft Windows: Windows Server 2003, Windows XP и Windows 2000. Мастер-класс. Пер. с англ. 4-е изд. М.: Издательско-торговый дом «Русская редакция», 2005. 992 с.

44. Свами М., Тхуласираман К. Графы, сети и алгоритмы. М. : Мир, 1984. 455 с

45. Скиба В.Ю., Курбатов В.А. Руководство по защите от внутренних угроз информационной безопасности. СПб.: Питер, 2008. 320 с.

46. Смирнов С. Н. Безопасность систем баз данных. М.: Гелиос АРВ, 2007. 352 с

47. Станек У.Р. Microsoft Windows XP Professional. Справочник администратора, пер. с англ. 2 изд. М.: Издательско-торговый дом «Русскаяредакция», 2003. 448 с.

48. Теоретические основы компьютерной безопасности: Учебное пособие для вузов / Девянин П.Н. и др. М.: Радио и связь, 2001. 192 с.

49. Теория и практика обеспечения информационной безопасности / Под ред. П.Д. Зегжды. М.: Яхтсмен, 1996. 298 с.

50. Уолкер Б. Дж. Безопасность ЭВМ и организация их защиты, перевод с англ. М.: Связь, 1980.

51. Хоффман JI. Современные методы защиты информации: Пер с англ./Под ред. В.А. Герасименко. М.: Сов. Радио, 1980. 264 с.

52. Цирлов В. JI. Основы информационной безопасности. Краткий курс. М.: Феникс, 2008. 256 с.

53. Чипига А. Ф. Информационная безопасность автоматизированных систем. М.: Гелиос АРВ, 2010. 336 с.

54. Шаньгин В.Ф. Защита компьютернй информации. Эффективные методы и средства. М.: ДМК Пресс, 2008. 544 с.

55. Щеглов А.Ю. Защита компьютерной информации от несанкционированного доступа. СПб.: Наука и техника, 2004. 384 с.

56. Щербаков А. Ю. Введение в теорию и практику компьютерной безопасности М. : Молгачева С. В., 2001. 352 с.

57. A guide to understanding discretionary access control in trusted systems. National Computer Security Center. NCSC-TG-003 Version 1, September 1987.

58. Bishop M. Theft of information in the Take-Grant protection model // Computer security 3 (4), 1994. p.283-309.

59. Computer Security Requirements. Guidance for Applying the Department of Defense Trusted Computer System Evaluation Criteria in Specific Environments, DoD, 1985

60. Database Security. / Castano S. and others. Addison Wesley Publishing Company, ACM Press, 1995. 456 p.

61. Denning D. An Intrusion Detection Model, IEEE Transactions on

62. Software Engineering, v.SE-13, № 1. 1987. p. 222-232.

63. Department of Defense Trusted Computer System Evaluation Criteria, TCSEC, DoD 5200.28-STD, December 26, 1985

64. Federal Criteria for Information Technology Security. National Institute of Standards and Technology & National Security Agency. Version 1.0, December 1992.

65. Frank J., Bishop M. Extending the Take-Grant protection system. Technical report. Department of Computer science, University of California in Devis, 1996. 14 p.

66. Goguen J.A., Meseguer J. Security Policies and Security Models. // 1982 IEEE Symposium on Security and Privacy, 1982. p. 1-26.

67. Guidance for applying the Department of Defense Trusted Computer System Evaluation Criteria in specific environment. US Department of Defense. CSC-STD-003-85, June 1985.

68. Guide to Understanding configuration management in trusted systems. National Computer Security Center. NCSC-TG-006-88, March 1988.

69. Harrison M.A., Ruzzo W.L. Monotonie protection systems // Foundation of Secure Computation. New York: Academic Press, 1978. P. 337-365.

70. Harrison M.A., Ruzzo W.L., Ulman J.D. Protection in Operating Systems // Communications of the ACM, 1975. p. 14-25.

71. Information Technology Security Evaluation Criteria. Harmonized Criteria of France-Germany-Netherlands-United Kingdom. Department of Trade and Industry, London, 1991.

72. J.A. Goguen, J. Meseguer, Security Policies and Security Models, Proceedings of the 1982 Symposium

73. Lipton R.J., Snayder L. A linear time algorithm for deciding subject security // Journal of ACM (Addison-Wesley). N.3, 1977. p.455-464

74. McLean J. The Specification and Modeling of Computer Security. // Computer, 23(1), 1990. p. 9-16

75. Microsoft Corporation Microsoft Windows XP Professional. Учебный курс MCSA/MCSE. Пер. с англ. 2-е изд. Испр. М.: Издательско-торговый дом «Русская редакция», 2003. 1008 с.

76. Microsoft Developer Network. URL: http://msdn.microsoft.com (дата обращения 10.10.2010)

77. Nyanchama M., Osborn S.L. Access rights administration in role-based security systems // Database security VIII: Status & Prospects, Biskup, Morgenstern and Landwehr eds. North-Holland, 1994. p. 37-56.

78. Russell D., Gangemi Sr. G.T., Computer Security Basics. CA.: O'Reilly & Associates, Inc., 1991. 301 p.

79. Sandhu R.S. The typed matrix access model // Proceedings of the 1992 IEEE Symposium on Security and Privacy, 1992. p. 122-136

80. The Interpreted Trusted Computer System Evaluation Criteria Requirements. National Computer Security Center. NCSC-TG-001-95, January 1995. IIS. Trasted Computer System Evaluation Criteria. US Department of Defense 5200.28-STD, 1993.

81. Trusted Database Management System Interpretation of the Trusted Computer System Evaluation Criteria, NCSC, 1991

82. Trusted Network Interpretation of the Trusted Computer System Evaluation Criteria, NCSC, 1987