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

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

Автореферат диссертации по теме "Методика проверки наличия возможности несанкционированного доступа в объектно-ориентированных системах"

На правах рукописи

005018890

УСОВ СЕРГЕЙ ВЛАДИМИРОВИЧ

МЕТОДИКА ПРОВЕРКИ НАЛИЧИЯ ВОЗМОЖНОСТИ НЕСАНКЦИОНИРОВАННОГО ДОСТУПА В ОБЪЕКТНО-ОРИЕНТИРОВАННЫХ СИСТЕМАХ

Специальность:

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

2 6 ДПР 2иі2

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

Омск-2012

005018890

Работа выполнена в ФГБОУ ВПО «ОмГУ им. Ф.М.Достоевского».

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

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

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

Коробейников Анатолий Григорьевич

кандидат физико-математических наук, доцент Комаров Игорь Иванович

Ведущая организация: ФГБОУ ВПО "Челябинский государственный

университет"

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

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

Г' ^

Автореферат разослан 13 апреля 2012 г. ; 1

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

совета Д 212.227.05 В.И. Поляков

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

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

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

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

Традиционно описание системы безопасности компьютерных систем строится на ;нове субъектно-объектного подхода. В рамках данного подхода компьютерная -гстема представлена в виде композиции пассивных сущностей, называемых эъектами, и активных сущностей, называемых субъектами. Анализ безопасности роводится исходя из рассмотрения доступов субъектов к объектам на основе остулата, сформулированного в «Оранжевой книге».

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

В частности, операционные системы семейства Windows защищенной линии s'T/2000/XP/Vista/Seven) реализованы на основе объектно-ориентированного одхода и имеют собственную подсистему безопасности. Также широкое аспространение получил объектно-ориентированный подход к построению баз анных, соответствующие базы данных получили название объектно-реляционных, аким образом, становится актуальным объектно-ориентированный подход к писанию системы безопасности, наряду с выявлением классов объектно-риентированных систем, допускающих проверку безопасности и выработкой етодики проверки этих систем на возможность утечки права доступа.

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

Для достижения поставленной цели решены следующие задачи:

1. Разработка объектно-ориентированной модели безопасности систем с дискреционным разделением доступов.

2. Выявление видов объектно-ориентированных систем, допускающих проверку безопасности.

3. Выявление влияния иерархии классов объектов на безопасность системы.

4. Классификация моделей безопасности объектно-ориентированных систем в зависимости от наличия взаимосвязи между объектами.

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

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

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

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

2. Доказана алгоритмическая неразрешимость проверки безопасности для произвольной объектно-ориентированной системы.

3. Выделено несколько видов объектно-ориентированных систем, допускающих автоматическую проверку безопасности.

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

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

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

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

1. Объектно-ориентированный подход при анализе безопасности существующих систем и при проектировании новых безопасных систем.

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

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

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

Апробация работы. Основные результаты диссертации докладывались и эсуждались на следующих конференциях: ХШ международная научно-практическая энференция «Решетнёвские чтения» (Красноярск, 2009); IV международная научно-рактическая конференция «Актуальные Проблемы Безопасности Информационных ехнологий» (Красноярск, 2010); I международная конференция «Информационные ;хнологии и системы» (Банное, 2012), а также на научных семинарах Омского )сударственного университета им Ф.М. Достоевского.

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

Структура и объем работы. Диссертационная работа состоит из введения, лырех глав, заключения и списка литературы. Работа содержит 131 страницу лювного текста, 2 рисунка и 9 таблиц. Список литературы включает 110 ^именований.

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

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

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

Вторая глава посвящена объектно-ориентированному подходу к построению элитик безопасности с дискреционным разделением доступа.

Компьютерная система рассматривается в виде множества объектов О, имеющих гкрытые поля и скрытые поля, а также методы обработки полей. Каждый из эъектов принадлежит какому-то классу к из множества всех классов системы К. ласс задает структуру объекта: определяет, какими общими свойствами будут Зладать поля и методы всех объектов этого класса. Объекты одного класса гличаются друг от друга только содержанием своих полей.

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

В субъектно-объектной модели произвольное разграничение доступа строится на ;нове отображения: М: SxO->2R , где S - множество субъектов системы, О — ножество объектов системы, R - множество видов доступа. Данное отображение ринято записывать в виде таблицы, в строки которой соответствуют субъектам 1стемы, а столбцы объектам системы. Таблицу обычно называют матрицей оступов, и она является общей для всей системы.

В рамках объектно-ориентированной модели у объектов существует два вида элей - private (Р) и public (F), а также множество методов S. К скрытым полям wivate) доступ осуществляется методами самого объекта, поэтому разрешения на эступ к таким полям сводятся к разрешениям активизации соответствующих етодов объекта. Для открытых полей (public) будем считать верным следующее

предположение: открытые поля всех объектов имеют одно и то же множество возможных типов доступа.

Множество доступов к открытым полям обозначим через R.

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

о.М: Ox.{p.F\j о.5)-»2яи {0,1}, причем о\Що,Д е 2Л (о, о'еО), где feo'.F, то есть для открытых полей в явном виде задается множество разрешенных доступов, и о'.Що, .?] б{0,1} (о, о'еО), где se o'.S, то есть для методов определяем разрешение (1) или запрет (0) вызова.

В случае, когда потребуется подчеркнуть принадлежность поля/объекту о, мы будем обозначать его o.f. Аналогичные обозначения будем использовать и для методов объекта. В частности, о '.F— множество всех открытых полей объекта о.

В рамках построенного объектно-ориентированного подхода к описанию системы безопасности компьютерных систем возможно определение элементарных операторов, преобразующих матрицу доступов:

1) Create(o, k) - создает объект о класса /сеА', при этом 0'=0и{о], а в матрице доступа объектов oVo добавляется строка, соответствующая объекту о, причем V/eo'.F о'.Що, /):= 0, V seo'.S о'.М[о, s]:=0. Матрица доступа объекта о создается полностью пустой.

2) Destroyed) — уничтожает объект о, при этом 0'=0\{о}, а в матрице доступа объектов о '*о уничтожается строка, соответствующая объекту о.

3) Enterar, о, о'./) - вносит право доступа г в о '.М[о, J], при этом матрица доступа изменяется по правилу: о '.M\o,J\:= о '.Що, JYJ {г}.

4) Delete{r, о, o'.f) — удаляет право г доступа из о'.Що, f\, при этом матрица доступа изменяется по правилу: о'.Що, f\:=o'.M[o, .

5) Grant(o, o'.s) - разрешает вызов объекту о метода o'.s, при этом матрица доступа изменяется по правилу: о'.Що, $]= 1.

6) Deprive(o, o'.s) - запрещает вызов объекту о метода o'.s, при этом матрица доступа изменяется по правилу: о '.М'[о, í]=0.

Под состоянием компьютерной системы в момент времени í будем понимать пару Q(t)=(0(t), M(t)), где 0(t)={0j} — множество всех объектов системы в момент времени t, а Л/(/)={о. \í\](/), оеО} — семейство всех матриц доступа объектов системы в состоянии на момент t. Начальное состояние системы будем обозначать 2(0).

Состояния компьютерной системы в модели HRU изменяются под воздействием запросов на модификацию матрицы доступа в виде команд следующего формата: Commandg(x¡,..., xg):

|/<конъюнкция логических выражений вида г£о '.Що, J] или о '.Що, ,?]=1 > then «последовательность элементарных операторов>.

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

Факт перехода системы под действием команды g из состояния Q(t), в котором на находилась в момент времени t, в состояние Q(t+1), в котором она находилась в ледующий момент времени f+1, будем записывать в сокращенном виде: *)->&('+1).

HRU-модель системы безопасности называется монооперационной, если каждая оманда в этой системе содержит только один элементарный оператор.

HRU-модель системы безопасности называется моноусловной, если каждая оманда в этой системе содержит только одно условие.

HRU-модель системы безопасности объектно-ориентированной компьютерной истемы называется монотонной, если команды этой системы не содержат ператоров Delete, Deprive и Destroy.

Будем говорить, что состояние системы Q(t) допускает утечку права доступа eR, если существуют такие команда g, объект о и поле o'.f объекта о', что to\M[o,J](l), но гео\Що,Д((+\), где Q(t)^gQ(t+1).

Будем говорить, что состояние системы Q(t) допускает утечку права вызова, ели существуют такая команда g, объект о и метод о '.s объекта о', что о'. М[о, f\{t)=О, о o'.Aflo./KfHH, где Q(t)^gQ(t+1).

Будем говорить, что система r-безопасна, если не существует такой

оследовательность команд gi...gr, что Q(t-\)->gtQ(t), t= 1.....Т, и Q(T) допускает утечку

рава г либо утечку права вызова.

Возникает вопрос, в каких случаях возможно решить проблему ^-безопасности истемы для объектно-ориентированной системы. Разрешимость аналогичной роблемы для HRU-моделей субъектно-объектных систем уже была доказана для екоторых частных случаев. А именно, для монооперационных систем, и для юнотонных моноусловных систем. Наша цель - распространить эти результаты на юдель OOHRU.

Теорема 2.1. Проблема ^-безопасности системы является NP-разрешимой для юнооперационной объектно-ориентированной модели.

Теорема 2.2. Проблема /--безопасности системы является NP-разрешимой для юноусловной монотонной объектно-ориентированной модели.

Теорема 2.3. Проблема г-безопасности системы неразрешима для произвольной бъектно-ориентированной модели.

Таким образом, все результаты, полученные в рамках субъектно-объектной юдели HRU, полностью переносятся на объектно-ориентированные системы. При том не уменьшается количество классов безопасных систем. Более того, ассматривая классы в качестве реализации типов из модели типизированной [атрицы доступов (ТАМ), построенной на основе HRU, мы получаем менее жесткие словия в критерии безопасности системы.

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

Назовем объектно-ориентированную модель безопасности взаимно-корректной, ели все ее объекты попарно взаимно-корректны. Объектно-ориентированную юдель, для которой будем строить взаимно-корректный аналог, назовем общей, "аждый объект о взаимно-корректной модели обладает методом s, который ктивирует методы других объектов, и рядом методов s,j е o.S, осуществляющих

соответственно виды доступа rt е R к полям объекта fj е o.F. При активации метод s требует два аргумента: имя метода о '.Sy, который надо активировать, и инструкции х, которые метод должен выполнить по активации. Так, например, если метод o'.sw 1 записывает полученную информацию в поле о '.f\ , то х — это именно та информация, которую он должен записать.

В общей объектно-ориентированной модели метод o.s обладает правом на поле o'.fj объекта о' тогда и только тогда, когда в матрице доступа \f взаимно-корректной модели на пересечении столбца о и строки о '.s,, стоит 1. Иначе говоря, о'.M [о, o'.Sy] — (/■/€ о' ,Л/[о, о'S ), где M — матрица доступов общей объектно-ориентированной модели, а символ е играет роль предиката.

Оценим преимущества представленной объектно-ориентированной политики безопасности HRU перед классическим субъектно-объектным аналогом. В первую очередь следует сопоставить множества компьютерных систем, представимых в рамках каждой из моделей.

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

Дискреционная модель безопасности компьютерной системы однозначно определяется множеством своих состояний (включая начальное) и способов перехода из одного состояния в другое, то есть набором команд, изменяющих матрицу доступа. Поэтому в каждый момент времени естественно рассматривать такую модель 2 как четверку (О, S, М, Г), где О — множество объектов системы, не являющихся субъектами, S - множество активированных субъектов, M — множество прав доступа, оформленное в виде матрицы доступов, наконец, Г — набор команд системы. Вообще говоря, 2 = 2 (/) = (O(i), S(t), Mit), Г), где t - текущий момент времени.

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

Такие две модели £ = 2 (/) = (0(t), S(t), M(t), Г) и 2' = 2' (?) = (О'('), S'(t), M(t), F) будем называть эквивалентными, если существует взаимно-однозначное отображение <р, определенное на каждом из элементов модели, такое что (p{0(t)) = 0\t), (f{S{i)) = S\t), <p(M(t)) = M'(t) (в каждый момент времени /) и (р{Г) = Г, причем

действие этого отображения на матрице доступов и на наборе команд индуцируется по некоторым правилам. А именно:

V t V s є S(t) V о є 0(І) : M(t)[s, о] = <p(M0) [<?№, Ф)1 (1)

V / V у є Г : Z (0 ,(„.....*,) 11 2 (/+1)S'W <р(гШ^),..М^Р)) >

где X/,,.. Хр є О(0иЛ'(/). (2)

Это определение хорошо подходит для субъектно-объектных систем, однако бессмысленно для объектно-ориентированных систем, обладающих более сложной труктурой. Однако можно предложить аналог эквивалентности для субъектно-объектной и объектно-ориентированной систем.

Будем говорить, что объектно-ориентированная модель 2' реализует субъектно-объектную систему Е = 2 (/) = (0(t), S(t), M(t), Г), если существует взаимнооднозначное отображение (р, определенное на каждом из элементов модели 2, такое что <p(0(t)) ^ <p(S(t)) = 0'(t) — множество объектов системы 2' (в момент времени t), <p(M(t)) определяет матрицу доступов системы Z' (в момент времени I), а (р(Г) определяет набор команд системы 2'. При этом выполняются соотношения (1) и (2).

В общем виде, будем говорить, что объектно-ориентированная модель некоторого класса А реализует субъектно-объектную модель некоторого класса В, если для каждого представителя класса В найдется реализующий его представитель класса А.

Теорема 2.4 Объектно-ориентированная модель HRU реализует субъектно-объектную модель HRU. Другими словами, SOczOO, где через SO обозначено множество компьютерных систем, представимых в субъектно-объектной HRU-модели безопасности, а через 00 - множество компьютерных систем, представимых в объектно-ориентированной HRU-модели безопасности.

На самом деле объектно-ориентированная модель реализует более широкий класс систем, чем субъектно-объектная.

Теорема 2.5 Существует объектно-ориентированная модель Z\ для которой не іайдется субъектно-объектной модели, которую бы реализовывала Z'.

Теорема. 2.6 Объектно-ориентированная модель HRU реализует субъектно->бъектную модель HRU с типизированной матрицей доступов (ТАМ).

Однако не любая объектно-ориентированная политика безопасности HRU івляется реализацией некоторой субъектно-объектной политики HRU с ипизированной матрицей доступа. Дело в том, что классы определяют не только тип іезопасности объекта, как в модели ТАМ, они определяют еще и структуру объекта, юторая может быть довольно сложной.

Теорема 2.7 Объектно-ориентированная модель HRU реализует субъектно->бъектную модель Take-Grant.

Класс субъектно-объектных моделей Take-Grant, очевидно, строго уже класса »бъектно-ориентированных моделей HRU по причине строго определенного вида юманд.

Однако не является ли по той же причине модель дискреционного доступа Take-Grant частным случаем субъектно-объектной модели HRU? Ответ на этот вопрос отрицательный. Дело в том, что в субъектно-объектной модели HRU объект, не вляющийся субъектом, принципиально не может обладать правами доступа к

другому объекту (объект объектно-ориентированной модели такими правами обладает), что подразумевается в модели Take-Grant. В модели Take-Grant активный статус субъекта определяется не наличием прав доступа, а его способностью к передаче прав доступа другому объекту. Хотя, очевидно, объекты, не являющиеся субъектами, воспользоваться своими правами доступа также не могут.

Третья глава посвящена исследованию HRU-моделей объектно-ориентированных систем с иерархией.

Будем рассматривать компьютерную систему в виде множества объектов О классов К, обладающих открытыми полями / eF и скрытыми полями реР, а также методами обработки полей seS. Здесь F=~uk.F (по всем кеК) - множество всевозможных открытых полей всех объектов и классов, k.F — множество открытых полей класса к (каждый объект класса к обладает тем же набором k.F открытых полей), аналогично определяются PuS. Причем если поле ^/наследуется классом к у класса к', то соответствующее поле класса к' мы будем для удобства обозначать именно k'.f, подчеркивая тем самым их взаимосвязь (таким образом, fek.F и fek'.F). Пусть d1 е О - множество объектов класса к еК. В случае, если требуется уточнить класс объекта, поле /объекта о* е О* будем обозначать ok.f, поле / класса k — k.f. Для скрытых полей и методов класса будем использовать аналогичные обозначения.

HRU-модель системы безопасности называется иерархической, если на множестве объектов О задан частичный порядок-иерархия, и в любой момент работы системы для любых двух объектов о, о'еО таких, что о'< о, для любого поля или метода хеХ, общего для объектов о и о', и для любого поля или методауеХ объекта о"еО верно следующее: о".М[о, x]czо".М[о', х] и о'.Що", х]с.о.М[о", х]. Здесь и далее X — множество всевозможных полей и методов всех существующих в системе на данный момент времени объектов, "<" - отношение частичного порядка.

Иерархическую систему можно представить в виде орграфа с узлами, помеченными классами, и дугами, задающими отношение частичного порядка. Частным случаем является система, на множестве объектов которой задано отношение полного порядка.

Однако в объектно-ориентированных системах классы (и, соответственно, объекты этих классов) уже связаны частичным отношением наследственности, поэтому в данном случае иерархия строится естественным образом.

HRU-модель объектно-ориентированной системы безопасности назовем моделью с естественной иерархией, если в любой момент работы системы для любых двух объектов о", о*' классов к и к' таких, что к' является потомком к, для любого поля или метода х, общего для классов к и к', и для любого поля или метода у <= X объекта ок" выполняются следующие соотношения: ок' .М[ок ,у] с ок' ,М[ок\у] и ок' М[ок' ^^о* М[ок' ,х].

В графе системы с естественной иерархией дуги задают отношение наследственности на множестве классов, и направлены от родителей к непосредственным потомкам, также имеется выделенный узел-корень - это пустой класс-прародитель, которым прямо или опосредовано порождены все остальные классы. Класс будем называть финальным, если он не имеет наследников (из соответствующей ему вершины в графе системы не выходит дуг).

Класс объектно-ориентированной системы безопасности называется дородным, если матрицы доступа всех объектов этого класса в любой момент емени совпадают. В этом случае имеет смысл рассматривать матрицу доступа как рибут не отдельного объекта класса, а класса целиком. HRU-модель объектно-1иентированной системы безопасности называется однородной, все ее классы [нородны.

Заметим, что в реальных системах безопасности модели с естественной :рархией как правило либо однородны, либо все объекты системы являются »едставителями классов, не имеющих наследников. Во втором случае матрица )ступов объекта о класса к подчиняется соотношениям из определения естественной ¡рархии как матрица наследника по отношению к матрице самого класса к.

Расширяя модель Харрисона-Руззо-Ульмана, определим следующие [ементарные операторы для работы с матрицей доступов:

1. Create(o, к) - создает объект о класса ке К, при этом О := О и о.

2. Destroy{o,k) - уничтожает объект о, при этом О := О \ о.

Первые два оператора никак не отражаются на матрице доступов.

3. Enter(r, к, k'.J) - вносит право доступа г в к'.М[к,/], при этом матрица доступа ¡меняется по правилу: k\M[k,f] := k'M[kJ]\jr. Данный элементарный оператор эжет быть выполнен, только если выполнены следующие условия:

а) для любого потомка ¿"класса к, г s k'M[k",f],

б) для любого родителя к" класса к, обладающего полем/ г s k"M[k,f].

4. Delete(r, к, k'.J) - удаляет право г доступа из k'M[kJ], при этом матрица эступа изменяется по правилу: k\M[kJ]-k'M[k,f}\r. Данный элементарный 1ератор может быть выполнен, только если выполнены следующие условия:

а) для любого родителя к" класса к, обладающего полем/ г g k'M[k",f],

б) для любого потомка к" класса к, г г к".М[к,/].

5. Grant{k, к'.s) - разрешает вызов объекту класса к метода к'.s, при этом матрица эступа изменяется по правилу: k'.M[k,s] = \. Данный элементарный оператор может эПЪ выполнен, только если выполнены следующие условия:

а) для любого потомка к" класса к k'M[k",s] = 1,

б) для любого родителя к" класса к\ обладающего методом s, к". M [к, s] = 1.

6. Deprive(k, к'.s) - запрещает вызов объекту класса к метода к'.s, при этом атрица доступа изменяется по правилу: k'.M[k,s] = 0. Данный элементарный лератор может быть выполнен, только если выполнены следующие условия:

а) для любого родителя к" класса к, обладающего методом s, k'M[k'\s] = О,

б) для любого потомка к" класса к k".M\k,s\ = 0.

Условия а) и б) выполнения операторов Enter, Delete, Grant, Deprive будем азывать условиями целостности.

Под состоянием компьютерной системы в момент времени t будем понимать ару Q(t)=(0(t), МО), где 0(0 - множество всех объектов системы в момент времени a M(t) - семейство всех матриц доступа классов системы в состоянии на момент ремени /. Начальное состояние системы будем обозначать Q(0).

Состояния компьютерной системы в модели HRU изменяются под воздействием опросов на модификацию матрицы доступа в виде команд у следующего формата:

11

if <условная часть (представляет собой конъюнкцию значений логически выражений вида rek'M[k,f] или k'M[k,s} = 1)>

then "^последовательность элементарных операторов>.

Аргументы команды у представляют собой поля или функции заданных классо! участвующие в качестве переменных в условной части либо в элементарны операторах. Классы аргументами команды не являются: они определяют сам команду.

Отметим, что если хотя бы одно условие целостности операторов Enter, Delete Grant, Deprive, входящих в команду, не будет соблюдено, вся команда не буде выполнена.

К тому же, не должно существовать команд, содержащих одновременна операторы Enter (г,к,к".f) и Delete(r,k,k'.J), либо Grant(k,k".s) и Deprive(k,k'.s), ли б Enter(r,k',k.f) и Delete(r,k",k.f), либо Grant{k',k.s) и Deprive(k",k.s), где к" - потомок к' Несоблюдение этого условия приведет к нарушению естественной иерархии Действительно, пусть, к примеру, Enter(r,K,k.f) и Delete(r,k",k.J) присутствуют в одно" команде, и в момент, когда г е k.M[k",f], но г г k.M[k',f] команда выполняется, ; результате чего класс к" (потомок) теряет право г на поле k.f, а родительский класс t его приобретает.

Все прочие сочетания элементарных операторов являются допустимыми, т.к. н< могут привести к нарушению естественной иерархии.

Без ограничения общности можно считать, что не обладающий полем (ил] методом) х е X класс все же таковым обладает, но это поле пусто (или метод ничего не выполняет), а доступом к такому полю (методу) могут обладать все классы.

Факт перехода системы под действием команды у из состояния Q(t), в котором она находилась в момент времени t, в состояние Q(t+1), в котором она находилась в следующий момент времени /+], будем записывать в виде: Q(t)—r-+Q(t +1).

Будем говорить, что состояние однородной системы Q(t) допускает утечку прав! доступа reR, если существуют такие команда у, класс к и поле / класса к, что rtk'M[k,f](t), но rek'M[k,f\(t + \), где Q(t)—^Q(t + \). Аналогично определим состояние, допускающее утечку права вызова. Будем говорить, что система г-безопасна, если не существует такой последовательность команд у],у1,...ут, что Q(t-1)—^->2(0 t= 1,2,... Т, и 2(7) допускает утечку права г либо утечку права вызова.

Теорема 3.1. Проблема r-безопасности системы является Л/Я-разрешимой для однородной объектно-ориентированной модели (в том числе, и для модели с естественной иерархией).

Введем дополнительную, командную иерархию на множестве классов. Класс к будем называть ребенком относительно команды у, если команда у содержит оператор Create(x, к), где х - аргумент команды у класса к. Класс к будем называть родителем относительно команды если существует аргумент х команды у класса к такой, что у не содержит оператор Create(x, к). Вообще, будем называть класс к -родителем класса к', а класс к' - ребенком класса к, если существует такая команда у е Г, относительно которой к является родителем, а к' — ребенком.

Командную иерархию удобно представлять графом, который будем называть афом наследования. Это ориентированный граф с множеством вершин К, в котором та от к к к' существует только в том случае, если к - родитель к'.

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

Теорема 3.2. Проблема r-безопасности системы является Л^-разрешимой для шотонной ациклической неоднородной объектно-ориентированной модели с :рархией.

Следствие. Проблема r-безопасности системы является Л'Р-разрешимой для шотонной неоднородной объектно-ориентированной модели с иерархией, іхраняющей наследование.

Пусть объектно-ориентированная система с иерархией такова, что все ее імандьі в условной части содержат пустой конъюнкт (то есть любая команда может ,іть выполнена в любой момент времени). Такая модель называется безусловной. В ом случае команда не может быть выполнена только если ее тело содержит іементарньїй оператор, нарушающий условия целостности. В третьей главе описаны ¡которые случаи безусловных систем, допускающие проверку на безопасность.

В заключении третьей главы изучаются свойства семейства наборов прав іскреционной политики безопасности:

Рассмотрим компьютерную систему с дискреционной политикой безопасности, усть М - ее общая матрица доступа, и M{t) - состояние матрицы доступа в момент >емени t. Тогда для M(t) можно рассмотреть множество A(t) как ;структурированный набор прав: A(t) = {а є S,oto/x О,оші | cr=(s, о, r) и є M(t)[s, г]}. Здесь в случае объектно-субъектной модели S„„ai - множество всех объектов, допускающих активацию в данной системе, Оша> - множество всех Зъектов, которые могут быть созданы в системе, R - множество всевозможных прав, угорыми может обладать субъект на объект. В случае объектно-ориентированной одели S,olai - множество объектов, которые могут быть созданы в системе, О,о/а/ -ножество полей и методов объектов системы, R - множество всевозможных прав, вторыми может обладать объект на поле или метод.

Рассмотрим семейство А всевозможных подмножеств декартова произведения ви/ х Oloia, y-R. Понятно, что A(t) є А. Семейство А конечно, если множества Statal и * total конечны. Такие компьютерные системы будем называть конечными. Далее, ;ли не оговорено противного, будем рассматривать именно конечные компьютерные -ютемы.

Будем говорить, что набор прав доступа A(t) є А допускает утечку права доступа є R, если состояние системы Q(() с соответствующей набору прав A(t) матрицей оступа M(t) допускает утечку права г. Будем говорить, что набор А r-безопасен, если лстема с соответствующей набору прав А начальной матрицей доступа М{0) г-езопасна.

Теорема 3.3 Семейство le А всех ^--безопасных наборов прав доступа образует истему независимости.

Рассмотрим на множестве наборов всевозможных прав А аддитивную функцию Г. А-> R (множество действительных чисел). Для этого достаточно задать значение іункции <р на элементах множества Slola, х 0,оЫ xR. Смыслом этой функции может

быть, например, оценка эффективности права доступа. По теореме Радо-Эдмондс жадный алгоритм точно решает задачу нахождения максимального значени аддитивной функции на /--безопасном наборе, если семейство I всех /--безопасны наборов прав доступа является матроидом.

Теорема 3.4 Существует дискреционная модель безопасности компьютерно системы, семейство всех /--безопасных наборов прав доступа которой являете матроидом.

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

Изложим в пошаговой форме инструкции по проверке данной объектно ориентированной модели безопасности на возможность утечки права доступ (приводятся в сокращении).

I. В первую очередь необходимо составить список прав доступа и списо классов системы с описанием полей и методов. Каждому праву и каждому класс; присвоен натуральный порядковый номер.

II. Составить список всех команд системы. Для упрощения дальнейшеГ обработки данных команду удобно представлять как объект, содержащий три списка: список аргументов (А), в котором перечислены классы, список условий (У) и списо] элементарных операторов (О).

Опишем подробно элементы каждого из списков.

Запись списка аргументов команды содержит два поля. Первое поле содержи' номер класса соответствующего аргумента, а второе - указатель на запись следующего аргумента. Аргументы следуют в списке в том же порядке, в котором они следовали в команде. Указатель записи последнего аргумента устанавливается н; NULL.

Запись списка условий команды содержит пять полей. Первое поле содержи-номер права, наличие которого проверяется в соответствующем условии. Второе поле содержит указатель на запись аргумента, подставленный в качестве которого объек-должен обладать этим правом. Третье поле содержит указатель на запись аргумента, на поле (или метод) которого (точнее, на поле или метод подставленного вместо него объекта) должно распространяться это право. Четвертое поле содержит номер поля (или метода), на который должно распространяться это право. Пятое поле содержит указатель на запись следующего условия. Указатель записи последнего условия устанавливается на NULL. В случае безусловной команды список содержит единственную запись, первое поле которой пусто, а указатель второго поля установлен на NULL.

Запись списка элементарных операторов команды содержит шесть полей. Первое поле содержит имя соответствующего элементарного оператора. Второе поле содержит номер права, относительно которого выполняется данный оператор. В случае оператора Destroy или Create второе поле не содержит данных. Третье поле содержит указатель на запись аргумента, который является вторым аргументом соответствующего элементарного оператора. В случае оператора Create или Destroy третье поле содержит указатель на запись аргумента, подставленный в качестве

горого объект требуется создать или уничтожить. Четвертое поле содержит азатель на запись аргумента, который является третьим аргументом ответствующего элементарного оператора. В случае оператора Create или Destroy твертое поле пусто. Пятое поле содержит номер поля (или метода), по отношению соторому применяется оператор с правом, номер которого указан во втором поле. В учае оператора Create или Destroy пятое поле пусто. Наконец, шестое поле держит указатель на запись следующего элементарного оператора. Указатель писи последнего оператора устанавливается на NULL. Отдельно следует ссмотреть случай иерархических систем безопасности, когда возможны ементарные операторы, аргументами которых являются не объекты, а классы. В ом случае соответствующие поля содержат номер класса, а не указатель на гумент.

Несложно написать компилятор, который данным, содержащимся в объекте-манде, будет сопоставлять исполняемый код.

III. Установить, относится ли данная система безопасности к одному из классов, тускающих проверку безопасности.

III.а. Алгоритм проверки на монооперационность.

Шаг 1. Устанавливаем значение monooperational\= TRUE. Выбираем первую іманду из списка команд. Переходим на Шаг 2.

Шаг 2. В текущей команде находим список О. Если указатель первого элемента [иска О не указывает на NULL, присваиваем monooperational.^ALSE. Переходим і Шаг 3.

Шаг 3. Если monooperational = TRUE и текущая команда - не последняя в іиске, переходим на Шаг 4, в противном случае - на Шаг 5.

Шаг 4. Выбираем следующую команду из списка и переходим на Шаг 2.

Шаг 5. Возвращаем значение переменной monooperational и завершаем работу.

Если по окончании работы алгоритма переменная monooperational принимает іачение TRUE, то система является монооперационной. Если система оказалась ¡монооперационной, переходим к пункту Ш.Ь

Ш.Ь. Алгоритм проверки на монотонность и моноусловность.

Шаг 1. Устанавливаем значения monotone:^TRUE, monoconditional:=TRUE, ыбираем первую команду из списка команд. Переходим на Шаг 2.

Шаг 2. В текущей команде находим список У. Если указатель первого элемента шска У не указывает на NULL, присваиваем monoconditional:=?ALSE. Переходим і Шаг 3.

Шаг 3. Выбираем первый элементарный оператор из списка О, если он не пуст, ереходим на Шаг 4. Если список пуст, переходим на Шаг 7.

Шаг 4. Если первое поле текущего оператора принимает значение Delete или estroy, присваиваем monotone:= FALSE. Переходим на Шаг 5.

Шаг 5. Если указатель шестого поля текущего элементарного оператора из іиска О указывает на NULL или monotone = FALSE, переходим на Шаг 7. В ротивном случае переходим на Шаг б.

Шаг 6. Выбираем следующий оператор из списка О. Переходим на Шаг 4.

Шаг 7. Если monotone=TRUE, monoconditionahTRUE и текущая команда - не эследняя в списке, переходим на Шаг 8. В противном случае переходим на Шаг 9.

Шаг 8. Выбираем следующую команду из списка. Переходим на Шаг 2.

Шаг 9. Возвращаем значение переменных monotone и monoconditiona Завершаем работу алгоритма.

Если по окончании работы алгоритма переменные monotone и monoconditionc принимают значения TRUE, то система является монотонной и моноусловной. ] противном случае переходим к пункту III.с.

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

III.d. Если проверяется модель безопасности OOHRU с иерархией, сохраняюще; наследование (в смысле следствия из теоремы 3.2), достаточно проверить систему н монотонность.

Алгоритм проверки на монотонность:

Шаг I. Устанавливаем значение monotone\=TK\JE. Выбираем первую команду и списка. Переходим на Шаг 2.

Шаг 2. Выбираем первый элементарный оператор из списка О, если он не пуст. Переходим на Шаг 3. Если список пуст, переходим на Шаг 6.

Шаг 3. Если первое поле текущего оператора принимает значение Delete ил] Destroy, присваиваем monotone:= FALSE. Переходим на Шаг 4.

Шаг 4. Если указатель шестого поля текущего элементарного оператора и списка О указывает на NULL или monotone = FALSE, переходим на Шаг 6. В противном случае переходим на Шаг 5.

Шаг 5. Выбираем следующий оператор из списка О. Переходим на Шаг 3.

Шаг 6. Если monotone = TRUE и текущая команда - не последняя в списке, переходим на Шаг 7. В противном случае переходим на Шаг 8.

Шаг 7. Выбираем следующую команду из списка. Переходим на Шаг 2.

Шаг 8. Возвращаем значение переменной monotone. Завершаем работу алгоритма.

Если по окончании работы алгоритма переменная monotone принимает значения TRUE, то система является монотонной.

IV. Если удалось установить принадлежность системы к одному из рассмотренных выше классов, допускающих проверку безопасности, осталось только произвести необходимую проверку и установить, является ли данная система безопасной.

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

Также в четвертой главе предложена интерпретация операционной системы MS Windows как системы с моделью безопасности OOHRU, в результате чего к Windows или ее компонентам возможно применение описанной выше методики. Выработаны рекомендации по администрированию ОС Windows для автоматической проверки безопасности. Рассмотрены также объектно-реляционные базы данных в рамках СУБД Oracle, которые также укладываются в одну из разновидностей объектно-ориентированных моделей безопасности.

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

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

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

1.1 Определены элементарные операторы объектно-ориентированной HRU-стемы.

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

1.3 Выявлены классы объектно-ориентированных HRU-систем, допускающих юверку безопасности системы.

1.4 Построена взаимно-корректная объектно-ориентированная система.

2. Показаны преимущества объектно-ориентированного подхода перед бъектно-объектным.

2.1 Показано, что все субъектно-объектные системы представимы в виде ¡ъектно-ориентированных, обратное неверно.

2.2 Показано, что Take-Grant-системы также сводятся к объектно-1иентированным HRU-системам.

2.3 Сделаны выводы об отношениях между классами этих моделей, »пускающими проверку безопасности системы.

3. Построены объектно-ориентированные HRU-системы с иерархией.

3.1 Определены элементарные операторы однородной объектно-шентированной HRU-системы с иерархией.

3.2 Доказано, что проблема безопасности разрешима для однородной объектно-шентированной HRU-системы с иерархией.

3.3 Определены элементарные операторы для финально-однородной объектно-шентированной HRU-системы с иерархией. Также указаны случаи разрешимости юблемы безопасности для данной модели.

3.4 Изучен случай объектно-ориентированной модели с иерархией, »пускающей всевозможные команды.

4. Изучены свойства семейств наборов прав доступа конечной дискреционной эдели.

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

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

5. Проведен анализ реально существующих объектно-ориентированных систем с ^пользованием построенных моделей.

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

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

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

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

1. Белим С. В., Белим С. Ю., Усов C.B. Объектно-ориентированная модификаци модели безопасности HRU //Проблемы информационной безопасности Компьютерные системы. 2010, В.1, С.6-14.

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

2. Усов C.B., Белим C.B., Белим С.Ю. Дискреционное разграничение доступа дл объектно-ориентированной модели компьютерной системы // Проблемы обработки защиты информации. Книга 1. Модели политик безопасности компьютерных систе\-Коллективная монография / Под общей редакцией C.B. Белима. - Омск: 00( «Полиграфический центр КАН», 2010.

3. Усов C.B., Белим C.B. Объектно-ориентированный подход в построена: дискреционной политики безопасности // Математические структуры и моделирова ние, 2009, №20. С. 153-159

4. Усов C.B. Объектно-ориентированный подход в построении политик] безопасности. Системы с естественной иерархией // Математические структуры i моделирование, 2010, №21. С. 151-161

5. Белим C.B., Усов C.B. Объектно-ориентированная модель компьютерно:" системы // Материалы XIII Международной научной конференции «Решетневски чтения», Красноярск, 2009, с.556

6. Усов С. В. Объективно-ориентированная модель компьютерной системы наследованием прав доступа // Актуальные проблемы безопасности информационны: технологий: материалы IV Международной научно-практической конференции / по, общей ред. О.Н. Жданова, В. В. Золотарева; Сиб. гос. аэрокосмич. ун-т. Красноярск 2010. С.90-93.

7. Усов С. В. Об отношении между объектно-ориентированными и субъектно объектными дискреционными моделями безопасности компьютерных систем / Информационные технологии и системы: материалы Первой междунар. конф. Банное, Россия, 28 февр. - 4 марта 2012г./ отв. ред. В.А. Мельников. Челябинск: Изд во Челяб. гос. ун-та,2012. 157с.

Подписано в печать 10.04.2012. Формат 60x84/16. Бумага писчая. Оперативный способ печати. Усл. печ. л. 1,06. Тираж 100 экз. Заказ № 192.

Отпечатано в «Полиграфическом центре КАН» тел. (3812) 24-70-79, 8-904-585-98-84.

E-mail: pc_kan@mail.ru 644050, г. Омск, ул. Красный Путь, 30 Лицензия ПЛД № 58-47 от 21.04.97

Текст работы Усов, Сергей Владимирович, диссертация по теме Методы и системы защиты информации, информационная безопасность

61 12-5/3279

Омский Государственный Университет им. Ф.М.Достоевского

На правах рукописи

/

УСОВ Сергей Владимирович

МЕТОДИКА ПРОВЕРКИ НАЛИЧИЯ ВОЗМОЖНОСТИ НЕСАНКЦИОНИРОВАННОГО ДОСТУПА В ОБЪЕКТНО-ОРИЕНТИРОВАННЫХ СИСТЕМАХ

Специальность:

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

Диссертация

на соискание ученой степени кандидата технических наук

Научный руководитель -д.ф-м.н.,.||рнф. Белим С.В.

Омск 2012

Оглавление

Введение...............................................................................................................4

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

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

1.2 Модели разграничения доступа.................................................................9

1.3. Дискреционные политики безопасности................................................14

1.4 Модель дискреционного разделения прав доступа Харрисона-Руззо-Ульмана...........................................................................................................17

1.5 Модель дискреционного разделения прав доступа Take-Grant..............25

Глава 2. Объектно-ориентированный подход к построению политик безопасности с дискреционным разделением доступа....................................31

2.1 Объектно-ориентированные компьютерные системы............................31

2.2 Модель разделения доступа HRU в объектно-ориентированной системе. ..........................................................................................................................34

2.3 Проблема безопасности модели HRU в объектно-ориентированой системе............................................................................................................37

2.4 Взаимно-корректная объектно-ориентированная модель......................42

2.5 Связь объектно-ориентированной и субъектно-объектной моделей безопасности....................................................................................................44

2.5.1 Эквивалентные модели дискреционного разделения доступа.........44

2.5.2 OOHRU и субъектно-объектная HRU...............................................46

2.5.3 OOHRU и субъектно-объектная HRU с типизированной матрицей доступов.......................................................................................................51

2.5.4 OOHRU и Take-Grant..........................................................................55

2.5.5 Распространение результатов, полученных для субъектно-объектных моделей, на объектно-ориентированные.................................59

Глава 3. Объектно-ориентированные системы с иерархией...........................65

3.1 Классификация объектно-ориентированных систем..............................65

3.2 Однородные модели с иерархией.............................................................67

3.3 Неоднородные объектно-ориентированные системы с естественной иерархией........................................................................................................71

3.3.1 Финально-неоднородные системы....................................................72

3.3.2 Неоднородные системы......................................................................76

3.3.3 Безопасность неоднородных иерархических систем........................82

3.4 Неоднородные объектно-ориентированные безусловные системы с иерархией........................................................................................................87

3.5 Отношения между свободной и иерархической объектно-ориентированными моделями безопасности.................................................90

3.6 О множестве наборов прав.......................................................................96

Глава 4. Реализация объектно-ориентированных моделей безопасности .... 101

4.1 Классификация моделей.........................................................................101

4.2. Модель F1. Операционные системы семейства Windows...................102

4.3. Модель НО. Объектно-ориентированные базы данных стандарта

ISO/IEC SQL: 1999.........................................................................................106

4.4 Методика проверки объектно-ориентированной системы безопасности на наличие возможностей несанкционированного доступа.......................110

Заключение.......................................................................................................121

Библиографический список.............................................................................124

Введение

Актуальность проблемы

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

В практическом плане задачи обеспечения безопасности компьютерной информации возникли в 70-х годах 20-го века. Именно в то время появились первые работы по политике и моделям защиты компьютерной информации, в частности, были созданы модели дискреционного разграничения доступа [18, 23, 24, 42, 55, 64, 70], послужившие основой для разработки первых стандартов безопасности компьютерных систем, а также повлекшие разработку новых подходов к разграничению доступа в дальнейшем.

Модель Харрисона-Руззо-Ульмана (Нагпзоп-Кигго-Штап, НБШ) [18, 23, 24, 55, 87] является одной из наиболее проработанных в математическом плане моделей. Одним из ее основных результатов является алгоритмическая неразрешимость задачи проверки произвольной системы на наличие каналов утечки информации вследствие несанкционированного доступа. В связи с этим в работах [86, 98, 100] предложен ряд ограничений модели, позволяющих выявить системы, для которых можно гарантировать защищенность, однако при этом существенно ограничивается функциональность компьютерной системы.

Одной из проблем модели Н1Ш является ее недостаточно строгое описание в канонической работе [87], приведшее к различным интерпретациям данной модели в ряде работ, например, [97] и [100]. Вследствие этого существуют классы систем безопасности, в которых задача проверки утечки права доступа решается положительно либо отрицатель в

зависимое™ от интерпретации модели HRU, ее основных положений и определений.

Модель Take-Grant [18, 23, 55, 89, 90, 103, 104] более предсказуема, чем

модель HRU. Для нее сформулированы две теоремы, содержащие условия,

при которых в системе гарантированно не произойдет утечек информации

Однако, модель Take-Grant допускает сведение к частному случаю модели

HRU, и следовательно, описывает меньший по мощности класс компьютерных систем.

Традиционно описание системы безопасности компьютерных систем строится на основе субьектно-объектного подхода. В рамках данного подхода компьютерная система представлена в виде композиции пассивных сущностей, называемых объектами, и активных сущностей, называемых субъектами. Анализ безопасности проводится исходя из рассмотрения доступов субъектов к объектам на основе постулата, сформулированного в «Оранжевой книге» [78].

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

В частности, операционные системы семейства Windows защищенной линии (NT/2000/XP/Vista/Seven) реализованы на основе объектно-ориентированного подхода и имеют собственную подсистему безопасности. Также широкое распространение получил объектно-ориентированный подход к построению баз данных, соответствующие базы данных получили название объектно-реляционных.

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

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

Для достижения поставленной цели решены следующие задачи:

1. Разработка объектно-ориентированной модели безопасности систем с дискреционным разделением доступов.

2. Выявление видов объектно-ориентированных систем, допускающих проверку безопасности.

3. Выявление влияния иерархии классов объектов на безопасность системы.

4. Классификация моделей безопасности объектно-ориентированных систем в зависимости от наличия взаимосвязи между объектами.

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

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

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

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

2. Доказана алгоритмическая неразрешимость проверки безопасности для произвольной объектно-ориентированной системы.

3. Выделено несколько видов объектно-ориентированных систем, допускающих автоматическую проверку безопасности.

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

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

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

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

1. Объектно-ориентированный подход при анализе безопасности существующих систем и при проектировании новых безопасных систем.

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

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

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

Апробация работы. Основные результаты диссертации докладывались и обсуждались на следующих конференциях: XIII международная научно-

практическая конференция «Решетнёвские чтения» (Красноярск, 2009); IV международная научно-практическая конференция «Актуальные Проблемы Безопасности Информационных Технологий» (Красноярск, 2010); I международная конференция «Информационные технологии и системы» (Банное, 2012), а также на научных семинарах Омского государственного университета им Ф.М. Достоевского.

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

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

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

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

Под политикой безопасности понимают [19, 30, 55, 78] интегральную совокупность норм и правил, регламентирующих процесс обработки информации, выполнение которых обеспечивает состояние защищенности информации в заданном пространстве угроз. В моделях безопасности (системы) [46-49, 55-63], или формальных политиках безопасности используются инструменты математики для описания правил и норм эксплуатации информационной системы [1-10, 13, 15, 18, 19, 21, 23], что гарантирует отсутствие противоречий в политике безопасности и дает возможность теоретического доказательства безопасности системы.

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

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

1.2 Модели разграничения доступа.

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

9

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

Для примера рассмотрим компьютерную систему, в которой хранятся пользовательские данные, и существуют пользователи, которые могут получать доступ к этим данным и осуществлять с ними некоторые операции (такие как чтение, изменение и др.). В данном случае в качестве объектов выступают данные компьютерной системы, поскольку они не могут сами выполнять никаких действий. К субъектам же логично отнести пользователей системы.

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

Далее, запись в базе данных является объектом, но и сама база данный также рассматривается как объект. Таким образом, объект может быть частью другого объекта. Кроме того, объектами могут быть не только файлы, но и устройства (например, принтер) [23, 26-30].

Приведем основные положения субъектно-объектной модели разграничения доступа компьютерной системы [23, 48, 63].

1. В компьютерной системе действует дискретное время.

2. В каждый фиксированный момент времени 4 компьютерная система представляет собой конечное множество элементов, разделяемых на два подмножества:

подмножество субъектов доступа 5 (непустое в каждый момент

времени);

подмножество объектов доступа О.

Формализуем понятия субъекта и объекта с помощью следующих определений:

Под объектом доступа понимается пассивная сущность КС, процессы над которой могут в определенных случаях быть источником порождения новых субъектов. Формальный объект - это область памяти фиксированной длины, которая может содержать произвольные данные и изменяться в процессе функционирования системы.

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

Множество всех субъектов системы будем обозначать 5, а множество всех объектов -• О. Выше было показано, что одна и та же сущность может быть интерпретирована и как объект, и как субъект (в частности, субъект иногда понимается как активизированный объект), поэтому в большинстве политик безопасности множеств�