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

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

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

ии^4аБ742

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

Баранчиков Павел Алексеевич

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

БАЗ ДАННЫХ

Специальность: 05.13 Л1 - «Математическое обеспечение вычислительных машин, комплексов и компьютерных сетей»

АВТОРЕФЕРАТ

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

~ 3 ДЕН 2009

Рязань 2009

003486742

Работа выполнена в ГОУ ВПО «Рязанский государственный радиотехнический университет».

Научный руководитель:

доктор технических наук, профессор Пылькин Александр Николаевич

Официальные оппоненты:

доктор технических наук, профессор Скворцов Сергей Владимирович кандидат технических наук Буланкин Валерий Борисович

Ведущая организация:

Филиал ФГУП «ГНПРКЦ «ЦСКБ-Прогресс» ОКБ «СПЕКТР»

Защита диссертации состоится «23» декабря 2009 г. в 14 часов на заседании диссертационного совета Д 212.211.01 в ГОУ ВПО «Рязанский государственный радиотехнический университет» по адресу: 390005, г. Рязань, ул. Гагарина, 59/1.

С диссертацией можно ознакомиться в библиотеке ГОУ ВПО «Рязанский государственный радиотехнический университет».

Автореферат разослан «20» ноября 2009 г.

Ученый секретарь диссертационного совета кандидат технических наук, доцент Пржегорлинский В.Н.

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

Актуальность темы. Информационно-телекоммуникационные технологии интенсивно внедряются во все сферы человеческой деятельности.

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

Единичные СУБД, такие как Линтер, предоставляют возможность установки меток безопасности на записи таблиц БД. Большинство промыш-ленно эксплуатируемых СУБД не имеют подобных возможностей.

Использование в реляционных БД стандартного языка SQL позволяет производить одинаковые действия на различных СУБД, выполняя одинаково сформированные запросы. Таким образом, корректно спроектированные информационные системы сегодня могут быть портированы между несколькими СУБД.

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

Степень разработанности темы. Вопросам ограничения доступа в БД уделяется достаточно много внимания в отечественной и зарубежной литературе. Значительный вклад в разработку методов ограничения доступа в СУБД внесли работы Гайдамакина Ф.М., Тарасюка М.В., Быкова Я.А., Yasunori I., Krishnamurtu М., Orset J.-M. Несмотря на большое количество работ по данной тематике, анализ литературы показал, что не в полной мере использованы возможности для решения рассматриваемых задач.

Цель работы —■ сокращение сроков проектирования схем БД при необходимости ограничения доступа к отдельным записям таблиц БД и повышение качества проектируемых схем за счет использования предложенных алгоритмов и способов ограничения доступа, осуществляющих ограничение по различным моделям доступа.

Для реализации этой цели должны быть решены следующие проблемы:

-анализ возможных способов ограничения доступа с выбором наиболее подходящего для конкретной задачи и совместимого с большинством реляционных БД;

- выбор средств реализации ограничения доступа, позволяющих реализовать ограничение доступа на большинстве СУБД.

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

1. Адаптация моделей ограничения доступа, применяемых в файловых системах, для использования в реляционных БД.

2. Адаптация моделей ограничения доступа, применяемых в файловых системах, для использования при маскировке данных в реляционных БД.

3. Исследование проблем, связанных с введением ограничения доступа к записям в реляционных СУБД.

4. Разработка алгоритмов организации ограничения доступа к записям таблиц реляционных БД с использованием адаптированных моделей доступа.

5. Разработка алгоритмов организации маскировки записей в таблице реляционных БД с использованием адаптированных моделей доступа.

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

7. Создание модели промышленной БД для оценки производительности предложенных алгоритмов.

В. Создание ПО автоматизированного тестирования производительности предложенных алгоритмов.

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

Публикации. По итогам исследований опубликовано 7 работ, в том числе 3 в журналах, рекомендованных ВАК, и 3 в материалах Всероссийских и Международных научно-технических конференций. В Федеральной службе по интеллектуальной собственности, патентам и товарным маркам (РОСПАТЕНТ) зарегистрирована 1 программа для ЭВМ (свидетельство №2009614270).

Апробация работы. Результаты настоящей работы докладывались на 3 конференциях, в том числе на Всероссийской научно-технической конференции студентов, молодых ученых и специалистов «Новые информационные технологии в научных исследованиях и образовании», г. Рязань, 2008 г., 15-й Международной научно-технической конференции «Проблемы передачи и обработки информации в сетях и системах телекоммуникаций», Рязань, 2008 г., 34-й Всероссийской научно-технической конференции «Информационные и телекоммуникационные технологии», Рязань, 2009 г.

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

воляет существенно расширить возможности ограничения доступа в реляционных БД. Модели адаптированы для применения в СУБД, поддерживающих язык SQL, что позволяет использовать их в большинстве современных реляционных СУБД и не препятствует созданию приложений, свободно портируе-мых между СУБД. Произведен анализ проблем, возникающих при ограничении доступа к записям и маскировке записей таблиц БД, таких как конфликт ключей отношения и автоматическая генерация ложной информации для обеспечения правдоподобной маскировки записей.

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

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

1. Адаптация кластеризационной, мандатной, функциональной и дис-креционно-ролевой моделей ограничения доступа для использования их в СУБД.

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

3. Адаптация мандатной и функциональной моделей ограничений доступа для использования их при маскировке записей в СУБД.

4. Создание алгоритмов поддержания необходимой ложной информации для маскировки записей в БД.

5. Предложены алгоритмы организации ограничения доступа и маскировки данных на основе языка SQL.

Достоверность научных положений подтверждается:

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

-экспериментальным исследованием предложенных алгоритмов с использованием специально разработанной модели промышленной БД.

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

Разработанные алгоритмы показывают хорошую производительность для БД различного размера — от малых до промышленных.

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

1) адаптированы кластеризационная, мандатная, функциональная и дискреционно-ролевая модели ограничения доступа для использования в таблицах реляционных БД;

2) разработана процедура ограничения доступа к записям таблиц реляционных БД, учитывающая конфликт ключей отношения;

3) разработаны алгоритмы поддержания необходимой ложной информации при маскировке записей в таблицах реляционных БД.

Реализация и внедрение результатов работы. Результаты исследований внедрены:

- в ООО «ИНФОСТ-ПРОЕКТ» (г. Рязань) при разработке ПО автоматизации работы отдела технического надзора и ПО автоматизации ведения генерального плана предприятия;

- в ООО «Арго-Тур» (г. Рязань) при разработке ПО бронирования туристических путевок через Интернет;

- в учебном процессе ГОУ ВПО «Рязанский государственный радиотехнический университет» при обучении студентов специальностей 230101, 230104 и 230)05;

- в Филиале ОАО «СО ЕЭС» Рязанское РДУ в ПО автоматизации ведения учета оборудования и программного обеспечения программно-аппаратного комплекса.

Структура и объем диссертации. Диссертация состоит из введения, четырех глав, заключения, списка литературы (77 источников), изложенных на 223 страницах, содержит 49 рисунков и 67 таблиц.

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

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

В первой главе описана краткая история развития ограничения доступа в реляционных СУБД (работы Э. Кодда, М. Стоунбрейкера и Д. Мейе-ра).

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

1) использование сервера приложений;

2) использование специального интерфейса, ограничивающего доступ;

3) создание отдельной таблицы для каждого класса записей сущности;

4) создание отдельного представления пользователя для каждого класса записей в сущности;

5) создание «динамического» представления пользователя, которое позволяет просматривать и редактировать только определенные записи (см рисунок 1).

Изложены основные модели ограничения доступа в файловых системах:

1) дискреционная (discretionary access control — DAC);

2) ролевая (role-based access control — RBAC);

3) мандатная (mandatory access control — MAC);

4) функциональная;

5) кластеризационная.

Приведено математическое описание этих моделей.

V

г

СУБД

-'S

Пред ста зление пользователя

---

/1— —N Таблица

N— —✓ БД

Пользователь

Рисунок 1 — Схема взаимодействия пользователя с БД через представление

пользователя

Во второй главе рассматривается организация ограничения доступа к записям таблиц.

Назовем классом записей множество записей одного отношения, доступ к которым предоставлен одинаково.

Создадим представление пользователя, в котором выбираются только записи, к которым пользователь имеет доступ на основе специального предиката;

ru=<rm(r). (1)

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

Будем записывать предикат без параметра:

ги=о-ц(г). (2) .

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

Пусть в г существует ключ К. Пусть кк - набор конкретных значений атрибутов, входящих в ключ К. Обозначим через r/k*) /'-ю запись, у которой значения ключевых атрибутов совпадают с кк. Тогда возможна следующая ситуация:

зг,1кк), г,(кк)£га. (3)

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

r i{kk)£ru,r i{kk)er „, =>г ¡фг (4)

г/ и Г] не совпадают по принадлежности к подмножествам записей ги, видимых пользователю, г, и г, могут иметь различные значения атрибутов

кроме ключевых. Назовем такую ситуацию конфликтом ключей отношения (ККО).

Данная ситуация противоречит теории, определяющей ключи отношения как наборы атрибутов, однозначно определяющие все атрибуты отношения.

Предложено несколько основных вариантов разрешения ККО.

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

2. Изменение доступа к записи. Добавляемую запись относят к истинной или ложной по совпадению некоторых атрибутов. Если запись идентифицирована как верная, пользователю предоставляется доступ к ней.

Предлагается ввести служебное отношение q со схемой ():

Й={КАВС...}; 0=\Ки}. (5)

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

™и=°>«л(г Мс?). (6)

Здесь Р(и) — функция, определяющая наличие доступа.

Выбор варианта обработки К КО следует производить индивидуально для каждой ситуации.

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

гис\гип...пги=0;гиугии...иги=г. (7)

Каждая запись принадлежит только одному из подмножеств ги (кластеру). Такой доступ назовем кластеризационным.

Тогда в ключ К можно ввести атрибут С, определяющий, к какому множеству /■„ принадлежит запись. Схема отношения примет вид:

Я =1 А, В,... 5/Я '=', Л ,В_____С). (8)

Назовем С идентификатором кластера. Множество записей, «видных» пользователю С/л можно описать выборкой из видоизмененного отношения г':

ги=<гс*с„(г"1- (9)

где С„ — идентификатор кластера данного пользователя.

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

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

Пусть имеется г (Я), доступ к его записям следует разграничить. Добавим атрибуты и, (7, содержащие информацию о правах доступа к записям, и новая схема отношения Я' будет выглядеть следующим образом:

(10)

где й — группа пользователей, к которой относится эта запись; — права доступа к записи для группы.

Права доступа могут располагаться следующими способами:

1) хранятся непосредственно в отношении (10);

2) выносятся в отдельное отношение 5 с ключом К,',

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

Используем 3 отношения: и(и) — отношение пользователей, g(G) — отношение групп, ^(Ои,I — отношение связи пользователей и групп:

и=КиЫиид^;0=КдЫд;Си=КиКд, (11)

где К„ — ключ отношения пользователей; Ми — имя пользователя; — группа пользователя по умолчанию; Ял — права доступа пользователя по умолчанию; Кг— ключ отношения групп; Л^ — имя группы пользователей.

Функция Си (и, $ определяет, входит ли пользователь и в группу g.

Введем предикат/3 для определения наличия доступа к записи:

р = (ки=и5еф(ви(и5ег,Кд)лР(Пд)), (12)

где К— идентификатор владельца записи; К% — идентификатора группы;

— функция, определяющая, предоставлен ли группе доступ заданного типа; Яг—- совокупность прав доступа, определяющая предоставление/непредоставление группе 4-х типов доступа.

Хранение привилегий в защищаемом отношении. Схема видоизмененного отношения г'(IV) примет вид:

И'=ПКиК^д. (13)

При выборке записей, доступных пользователю на совершение одной операции, будет использоваться предикат ¡3 из (12):

ги=о-#(Я'ми). (14)

Понадобится р(Р) с ключом Кр и атрибуты доступа группы и владельца. Тогда схема отношения г' примет вид:

Я'=(ЯК„]; Р={КриСЙд]. (15)

Выборка записей, к которым пользователь имеет доступ, будет иметь

вид:

г^сг^Я'мимР). (16)

Ограничение доступа к записям при использовании мандатной модели ограничения доступа. Пользователям и записям сопоставлены значения мандатов. Пользователь имеет доступ к записи, если его мандат не ниже мандата записи. Отношение г'(Ш') представит измененное защищаемое отношение после расширения его служебным атрибутом:

Я'ЦК1Кг...КпА1А1...АаМг}. (17)

где А< — атрибуты г(Я); М, — мандат записи; К, — ключевые атрибуты г (Я). Предикаты доступа пользователя будут иметь вид:

ИМ Мг<Ми);ри=(М=Ми);13а=(М=Ми). (18)

Выборка данных г„, доступных пользователю, будет иметь вид:

ги=<Гм,мМ')> (19)

где М„ — мандат пользователя.

Чтобы скрыть мандаты записей, воспользуемся проекцией ги на /?:

R(°-м,;sм„('',)). (20)

Добавляемой записи присваивается заданный по умолчанию мандат. Так можно реализовать только мандатную модель ограничения доступа, описанную в (18), с ограничением мандата добавляемой записи, в то время как классическая модель ограничения доступа позволяет добавлять записи с мандатом, превышающим мандат пользователя.

Пусть г (Я) — защищаемое отношение, а ¡(Б) — его дочернее:

т)=\КгА,А}...А„}; 5(Я) = [КгК,В1Вг...Вт), (21)

где Кг — ключ отношения г; К, — дополнительный атрибут, который совместно с Кг составляет ключ отношения 5; В, — неключевые атрибуты отношения

5.

Функциональные зависимости атрибутов можно выразить:

Кг-*А,А1...А„.КгК^В1Вг...В„1. (И)

При добавлении Мг в (17) ключ г не изменяется, функциональные зависимости в (22) также остаются без изменения.

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

(23)

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

имеют доступ к определенным функциям Fs из F. Обозначим функции, с которыми соотнесены защищаемые данные, через Fo:

FfiF;F,ßF. (24)

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

ß=F0<=Fs. (25)

Данные, к которым имеет доступ пользователь, можно обозначить

так:

ru=°>„EF,(r)- (26)

Назовем такие функции F областями доступа ЛЛ. Пусть в системе имеется множество областей доступа аа. Обозначим набор областей, к которым имеет доступ пользователь и, через аа„. Обозначим набор областей, необходимых для доступа к записи j отношения, через ааг,\

aausaa; aar <=aa. (27)

Структура данных в таком случае будет иметь следующий вид:

AA={UAA\;R,=\KAiA1...An};AA=\KAA). (2g)

Выборка истинных данных, доступных пользователю, будет иметь

вид:

= (29)

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

В третьей главе рассматривается маскировка данных. Пусть пользователю известно, что в отношении г хранится запись п. Пусть он не имеет к ней доступа. Пусть пользователь знает значения атрибутов А/ ...An записи г„ что позволяет ему судить о наличии г, в отношении г. Обозначим остальные атрибуты, значения которых пользователю неизвестны и они подлежат скрытию, как Bi... В„.

Предоставим пользователю в результате выборки запись г/, г,={k1...kna1a1...anblb2...bn); rj=[k1...kna1a2...anb\b,2...b,n), (зо)

где ük — значение атрибута Ак в записи /-,; Ък — значение атрибута Вк в записи Г/, к которой пользователь не имеет доступа; Ь \ — значение атрибута Вк в записи fJy являющейся ложной; к, — значения ключевых атрибутов К, (далее по тексту — К).

Назовем эту технику маскировкой данных в отношении.

Рисунок 2 — Алгоритмы организации ограничения доступа (слева) и маскировки данных (справа)

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

Алгоритм организации маскировки данных в записях таблиц реляционных БД приведен на рисунке 2.

Организация хранения истинной и ложной информации. Предложены 3 различных варианта организации хранения ложной информации.

1. Хранение всей информации в одном отношении.

2. Декомпозиция отношения на основе секретности атрибутов.

3. Хранение ложной информации в отдельном отношении. Анализ вариантов показал преимущество первого варианта. Изменения дочерних отношений. Для организации взаимосвязи с

дочерними отношениями предлагается введение дополнительных СР-зависи-мостей.

Введем в защищаемое отношение идентификатор записи Ы. Атрибут Ыбудет альтернативным ключом для г':

Й=\КА,...Ап}; Я'={К1/сМ1...А,!, (31)

где Ь — атрибут, определяющий доступ к записи в защищаемом отношении. Пусть дочернее отношение имеет вид:

5={К,В,...ВПП (32)

В ¿{Я) вместо ключа г будет введенный служебный ключ отношения

г':

51 = {К,В,...Вп1с1}. (33)

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

вид:

«3.-м (34)

Выборка данных для пользователя должна содержать схему

5ц=ТГ5(5,МГи). (35)

Выборка данных из дочернего отношения является более трудоёмкой по сравнению с самим защищаемым отношением.

Мандатный доступ. Отношение г'(1С) представит измененное защищаемое отношение после расширения его служебным атрибутом:

Н1=\К1К1...КпА,А,...АпМг\. (36)

Выборка данных доступных пользователю, будет иметь вид:

^а=огм,<м/г')- (37)

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

г!,=(к1к1...кпа1а2...апт1),г1г=(к1к1...кпа\а,2...а,птт1п), (38)

где а\, а?... а„ — атрибуты истинной записи г„; а'/, а'2... а'„ — атрибуты ложной записи. Эти атрибуты скрывают (маскируют, подменяют) значения атрибутов а;, о2... а„ \ к,, к2... к„ — ключевые атрибуты отношения, одинаковые в истинной и ложной записям, что позволяет пользователю принимать запись /у за запись г», т, — мандат истинной записи; т„т — минимальное допустимое значение мандата в ИС. В описанной ситуации ложная запись будет видна всем пользователям.

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

(О). (39)

Внешние ключи. Пусть дочернее отношение 5 будет иметь схему 5:

К*,«,

А51...А5П), (40)

где А„ — неключевые атрибуты дочернего отношения ¿(ф; К,, — ключевые атрибуты дочернего отношения Кр — атрибут, являющийся внешним ключом на родительское отношение г. После каскадного добавления мандата в дочернюю таблицу получим новую схему отношения а'(8'):

5'*{К51К;2...К5ПКрАБ1А!2...А!ПМр}, (41)

где Мр — мандат родительской записи.

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

ааи£эа,ааГ(£аа. (42)

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

аагеааи. (43)

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

Структура данных в таком случае будет иметь следующий вид:

АА=\иАА}, Я=|КА,А2...Ап}, АА={КАА). (44)

Выборка истинных данных, доступных пользователю, будет иметь

вид

^.wiwiC)- (45)

Организация хранения. Для реализации такого доступа требуется сложная связь между отношениями — «многие-ко-многим».

Все возможные варианты комбинаций областей доступа буцут булеа-ном множества аа. Назовем его .4.4CS.

ААС5=Р(АА). (46)

Обозначим ААС как подмножество аа. Оно будет членом множества AACS. Описание прав доступа пользователей к записям с конкретным набором на записи, а также областей доступа, необходимых для доступа к записям, будет иметь вид:

AAU=\AAC U\, ААГ=\ААСК]. (47)

гдеЛЛи а ААГ — соответственно схема введенного ранее отношения, описывающего набор областей доступа ааи, доступных пользователям, и набор прав доступа aar, необходимых для доступа к записи с ключом К.

Фактически атрибут ААС обозначает множество областей доступа .4.4, которое в (30) задавалось набором записей в аа„ или аа„ В этих отношениях ключами будут только идентификатор пользователя или записи соответственно.

Связь между ааг и г будет иметь тип «один-к-одному», что позволяет опустить использование аа„ а его атрибут ААС перенести в отношение г'.

Выборка доступных истинных записей примет вид:

rua = (TU=User.\aa,.AAC2r,.AAc{lr ааи) • (48)

Возникает проблема хранения множествААС. в г' и aau. В общем случае следует создать несколько отношений, характеризующих эти множества. aar будет отображать множества областей для записи защищенного отношения г', а aa„ — множество областей доступа, предоставленных пользователю: AAr={AAK'\,AAu=[AAU\, (49)

где К'— ключ записи защищенного отношения г'.

Для определения, имеет ли пользователь доступ к конкретной записи, введем предикат Л G:

AG(kc,uc)=ak ^.(aajco-^yfaaj. (50)

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

Отношение aar соответствует одному защищаемому отношению г. При защите других отношений следует либо создать дополнительные отношения с схемой А Ar, либо расширить отношение aar атрибутом, отражающим

принадлежность области доступа к определенному защищаемому отношению.

Введем функцию М(к'), которая будет определять количество областей доступа, относящихся к записи отношения г', по значению ключа к':

Поскольку в множестве комбинаций областей доступа ААС предусмотрены все их комбинации, то среди записей, удовлетворяющих А О, выбираются записи с максимальным количеством областей доступа записи. Выборка одной записи г„ со значением к, ключа исходного отношения г будет выглядеть так:

Строка М(к')=тах обозначает выборку строки с максимальным значением М(к'). Эта выборка реализуется с помощью стандартного языка SQL.

Реализация предиката определения доступа. Реализация предиката AG на SQL довольно сложна, несмотря на простоту записи SQL-выражения, время выполнения ее будет велико.

select count(*) into cqunt_r from aacr where kc=K' and aa not in

(select count(*) into count_u from aau where uc=username) return count=0;

Такой предикат можно определить без лроцедурного языка:

.. where (select count(*) from aacr where kc=K and aa not

in

(select count(*) into count_u from aau where uc=username))... Комплексное условие будет перемещено в секцию where запроса, а это значит, что в одном запросе будут выполняться множества подзапросов, вложенных друг в друга, что приведет к потерям производительности.

Использование побитной карты. Существуют приемы оптимизации подобных задач. Пусть мы имеем ИС, в которой количество областей доступа имеет верхний предел N. Тогда множество областей доступа можно будет обозначить одним А*-битным числом, в котором каждой области доступа будет соответствовать определенный бит. Удобно использовать идентификаторы областей доступа для нумерации битов, которым соответствуют области доступа.

Здесь отпадает необходимость в использовании ааг и аа„. Вместо них в отношение г' будет введен атрибут, определяющий множество областей доступа аа, в битовом формате. Аналогично поступим и с таблицей пользователей;

(51)

(52)

R'={K' ААгА1Аг ...},U'={U ААи]. Предикат ЛС упростится с реляционного до логического:

АС[гс,ис)=({ааг{Гс)-*ааи(ис))=11..112). (54)

Здесь используется логическая побитная импликация. Под записью 11..ЛЬ следует понимать число в двоичной кодировке. Количество единиц соответствует количеству областей доступа или превосходит его и будет равно разрядности полей ааг и аа„.

Выражения ааг(гс) и ааи(ис) обозначают выборку соответствующего поля из отношения г' и таблицы пользовательского доступа и1'.

Скорость вычисления количества областей доступа конкретной записи М(к') будет существенно снижена по сравнению с предыдущим вариантом реализации.

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

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

Пусть существует отношение г со схемой Я, которое в результате маскировки дополняется некоторым набором служебных атрибутов и ложных записей и имеет схему Л'. Обозначим измененное отношение как г'.

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

Пусть в /-'добавлена запись г, с ключом к,, недоступная пользователю и. При выборке данных пользователю не будет предоставлена запись с ключом к,, так как пользователь и не имеет доступа к записи г,. Для реализации маскировки необходимо создать такую запись />■ в отношении г', чтобы значения ее ключевых атрибутов совпадали со значениями ключевых атрибутов записи г,. Значения несекретных атрибутов при необходимости должны быть скопированы из г, в /у. Значения секретных атрибутов должны быть правдоподобны.

Точки входа в алгоритм. Необходимо реализовать автоматическое создание ложных записей /удля обеспечения существования ложных записей для г, в каждый момент времени. Для этого можно применять несколько методов:

- использование периодической генерации ложных записей;

- использование триггеров на добавление в отношение /•';

- использование триггеров в представления пользователя над г';

- использование «виртуальных БД», таких как dbms_rls в Oracle.

Алгоритм проверки «лишних» записей. В отношении г' может быть несколько записей /у. В таком случае необходимо создать записи rfi так, чтобы каждому пользователю было «видно» одну и только одну запись /•/. Для каждого алгоритма выбора ложной записи для конкретного пользователя построим алгоритм определения множества L меток выбора ложной информации algF.

Основной метод проверки наличия аномалий — перебор всех различных пользователей и/или пользовательских ролей и просмотр того, сколько записей rf будут присутствовать в выборке.

1. Для каждого пользователя БД.

1.1. Агрегативный запрос к БД на количество записей с одним значением ключа. Запрос имеет вид:

Select count(*),К from г' group by К having count(*) > 1

1.2. Если хотя бы один результат запроса больше 1 — для каждого ключа из полученной выборки, — удалить «лишние» ложные записи.

1.3. Если нет ни одной записи, в которой результат запроса будет большим 1, выход из алгоритма.

2. Перейти к пункту 1.

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

Алгоритм добавления «недостающих» ложных записей

1. Для каждого пользователя БД и,.

1.1. Для каждой истинной записи rt.

1.1.1. Существует ли запись с ключом k(rj) в выборке пользователя

и,.

1.1.2. Если нет, создать такую запись.

Для достижения баланса записей в выборках необходимо задать правила выборки ложных записей для удаления и правило генерации новой «ложной» записи при соответствующей необходимости.

Алгоритм генерации ложных записей.

1. Для всех вариантов уровней доступа AL (в данном примере — мандатов записи), при которых предоставляется доступ к некоторым атрибутам.

1.1. Создание новой записи.

1.2. Значения атрибутов, доступ к которым предоставлен для пользователей с уровнем доступа AL, копируются из истинной записи.

1.3. Значения атрибутов, доступ к которым не предоставлен для пользователей с уровнем доступа AL, копируются из записи с ложными данными.

1.4. Записи устанавливается уровень доступа AL.

В четвертой главе описывается построение программного стенда для испытания предложенных алгоритмов.

Цель испытаний — выявление наиболее подходящих запросов для реализации каждой модели доступа на каждой из выбранных СУБД. Оптимизация производится по критерию производительности.

Объектом испытаний являются запросы, осуществляющие ограничения доступа по различным моделями, и СУБД.

В силу различия в алгоритмах вычисления и оптимизации запросов в различных СУБД вычислительная сложность моделей может различаться.

Все представленные СУБД выполняют один запрос в одном потоке." Распараллеливание работы идет только в случае одновременных нескольких запросов. Один поток обязательно выполняется в одном ядре центрального процессора ЭВМ. Следовательно, для того чтобы СУБД были предоставлены максимальные ресурсы центрального процессора (ЦП), необходимо иметь ЦП с двумя или более ядрами. Тогда одно из ядер будет занято практически полностью (98-100%), а другое будет реализовывать внутренние нужды операционной системы (ОС).

Для 2-х и более ядер процессора необходимо следить за тем, чтобы в ОС не выполнялось более никаких вычислительно-сложных процессов и обслуживание ОС не перешло на ядро ЦП, в котором выполняется расчет запроса.

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

Технические характеристики ЭВМ, использованной для тестирования: объем ЖМД — 250 Гб, объем ОЗУ — 4 Гб, частота процессора — 2200 МГц, количество ядер процессора — 2, ОС — Linux 2.6.27.21.

ПО для тестирования запросов. Для проведения такого рода опытов была составлена программа на языке Java, общая схема функционирования которой приведена на рисунке 3.

ПО «Анализ запросов»

Тестируемая БД

Результаты

замеров

времени

Рисунок 3 — Общая схема функционирования ПО тестирования

запросов

Тестируемые запросы хранятся в БД. ПО должно последовательно в различных СУБД выполнять ряд исследуемых запросов и записывать в БД результаты запросов для последующей статистической обработки.

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

Для определения времени выполнения запросов производится фиксация отпечатка времени непосредственно перед запросом и после его выполнения.

Производительности запросов, измеренные с помощью данного ПО, приведены на рисунках 5 и 4.

Производительность запросов Мандатная модель

Производительность запросов Функциональная модель

18 19 Запрос

Рисунок 4 — Производительность маскировки записей для мандатной (слева) и функциональной (справа) моделей доступа

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

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

2. Описана возникающая в процессе работы системы ограничения доступа ситуация, названная конфликтом ключей отношения, препятствующая использованию встроенных в СУБД механизмов ограничения целостности данных. Разработаны алгоритмы, позволяющие избежать конфликта и уменьшить трудоемкость проектирования схемы БД и администрирования ИС.

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

Производительность запросов Запросы дискреционно-ролевой модели доступа

100000

1 2 3 4 5 в 7 8 9 10 11 12 13 14 15

Запрос

Рисунок 5 — Производительность ограничения доступа для дискреционно-

ролевой модели

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

4. Сформулирована задача организации маскировки данных в таблицах БД. Уделено особое внимание «прозрачности» системы ограничения доступа для пользователей, что позволяет снизить вероятность атаки на информационную систему ввиду создания иллюзии предоставления доступа к засекреченной информации.

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

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

7. Предложены конкретные варианты реализации ограничения доступа при использовании мандатной, дискреционно-ролевой и функциональной моделей на языке SQL, совместимые с многими СУБД. Все предложенные варианты были протестированы на СУБД mySQL, PostgreSQL и Oracle. Результаты статистической обработки времени выполнения конкретных реали-

заций запросов позволили сделать заключение о предпочтительности использования того или иного подхода для реализации заданной модели доступа на заданной СУБД.

8. Предложены конкретные варианты реализации маскировки данных при использовании мандатной и функциональной моделей ограничения доступа на языке SQL. В результате статистической обработки замеров производительности запросов выявлены наиболее подходящие по различным критериям оптимизации для различных СУБД.

9. Разработано ПО для тестирования производительности запросов. ПО позволяет тестировать запросы на различных СУБД, замеряя время выполнения запросов. Результаты измерений в дальнейшем подлежат статистической обработке средствами СУБД.

ПУБЛИКАЦИИ ПО ТЕМЕ ДИССЕРТАЦИИ

1. Баранчиков А.И., Баранчиков П.А. Организация доступа к записям таблиц в базах данных // Вестник РГРТА. Вып.20. — Рязань: РГРТА, 2007. С. 78-81.

2. Баранчиков А.И., Баранчиков П.А. Организация доступа к записям таблиц БД по аналогии с POSIX-совместимыми файловыми системами // Проблемы передачи и обработки информации в сетях и системах телекоммуникаций: Материалы 15-й Международной науч.-техн. конф. Часть 1. Рязань: РГРТУ, 2008. С. 13-16.

3. Баранчиков П.А. Разрешение конфликта ключей отношения при ограничении доступа к записям таблиц БД // Новые информационные технологии в научных исследованиях и образовании: материалы XIII Всероссийской научно-технической конференции студентов, молодых ученых и специалистов. Часть I. Рязань:РГРТУ, 2008. С. 121-123.

4. Баранчиков П.А. Конфликт ключей отношения и методы его решения // Вестник РГРТУ №4 (выпуск 26). Рязань, 2008. С. 66-69.

5. Баранчиков А.И., Баранчиков П.А. Проблема синхронизации истинной и ложной информации при маскировке данных в БД // Информационные и телекоммуникационные технологии: Материалы 34-ой всероссийской научно технической конференции. Часть 1. Рязань: РВВКУС, 2009, С. 381382.

6. Баранчиков А.И., Баранчиков П.А. Практическая реализация дис-креционно-ролевого доступа на чтение к записям БД // Вестник РГРТУ. №3 (выпуск 29). Рязань, 2009. С. 60-64.

7. Баранчиков П.А., Пылькин А.Н. Функциональная маскировка данных // Математическое и программное обеспечение вычислительнойых систем: Межвуз. сб. науч. тр. / под ред. Пылькина. М.:Горячая линия — Телеком, 2009. С. 137-144.

Баранчиков Павел Алексеевич

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

БАЗ ДАННЫХ

Автореферат диссертации на соискание ученой степени кандидата технических наук

Подписано в печать 16.11.2009. Формат бумаги 60х 80 1/16. Бумага офисная. Печать трафаретная. Усл. печ. л. 1,25. Уч.-изд. л. 1,25. Тираж 100 экз.

Редакционно-издательский центр Рязанского государственного радиотехнического университета. 390005, г.Рязань, ул. Гагарина, 59/1.

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

ВВЕДЕНИЕ.

1 АНАЛИЗ СУЩЕСТВУЮЩИХ АЛГОРИТМОВ И ПОДХОДОВ К ОГРАНИЧЕНИЮ ДОСТУПА К ИНФОРМАЦИИ В БД.

1.1 Краткая история развития ограничения доступа в БД.

1.1 Л 60-е годы. Ранний период.

1.1.2 Среда хранения данных.

1.1.3 Реляционный подход и первые реляционные СУБД.

1.1.4 Оптимизация запросов.

1.1.5 Системы распределенных баз данных.

1.1.6 Доминирующая роль реляционных систем.

1.2 Угрозы информационной безопасности.

1.2Л Переполнение стека.

1.2.2 Угрозы, характерные для \уеЬ-приложений.

1.2.3 Сети.

1.2.4 Администрирование БД.

1.3 Многопользовательский доступ.

1.3.1 Авторизация доступа к записям.

1.3.2 Реализация идентификации/аутентификации/авторизации.

1.3.3 Трехзвенные приложения.

1.4 Проектирование схем БД.

1.4.1 Ограничение целостности данных.

1.4.2 Уникальность ключей.

1.4.3 Восстановление данных.

1.4.4 Кластеры.

1.4.5 Аномалия удаления.

1.4.6 Борьба с аномалиями.

1.4.7 БД реального времени.

1.5 Современные разработки по ограничению доступа в БД.

1.5.1 Гибкий доступ к БД.

1.5.2 Тестирование ограничений доступа.

1.5.3 Практические разработки для ограничения доступа к записям.

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

1.6.1 Мандатная модель ограничения доступа.

1.6.2 Дискреционная модель ограничения доступа.

1.6.3 Ролевая модель ограничения доступа.

1.6.4 Функциональная модель доступа.

1.6.5 Кластеризационная модель ограничения доступа.

1.7 Способы организации ограничения доступа.

1.7.1 Использование сервера приложений.

1.7.2 Использование интерфейса между клиентом и сервером.

1.7.3 Создание отдельной таблицы для каждого класса записей сущности

1.7.4 Создание отдельного представления для каждого класса записей.

1.7.5 Создание «динамического» представления пользователя.

1.7.6 Выбор конкретного способа доступа на основе специфики задачи

1.8 Основные результаты.

2 ОГРАНИЧЕНИЕ ДОСТУПА К ЗАПИСЯМ ТАБЛИЦ БД.

2.1 Конфликт ключей отношения.

2.1.1 Блокировка изменений.

2.1.2 Изменение доступа к записи.

2.2 Ограничение доступа при использовании кластеризационной модели.

2.3 Ограничение доступа при использовании мандатной модели.

2.3.1 Изменения в дочерних отношениях.

2.4 Ограничение доступа при использовании дискредионно-ролевой модели.

2.4.1 Хранение привилегий в защищаемом отношении.

2.4.2 Хранение привилегий в отдельном отношении.

2.5 Ограничение доступа при функциональной модели.

2.6 Основные результаты.

3 -МАСКИРОВКА ЗАПИСЕЙ В ТАБЛИЦАХ БД.

3.1.1 Применение маскировки данных.

3.2 Организация хранения истиной и ложной информации.

3.2.1 Организация хранения ложной информации.

3.2.2 Операции над незасекреченными данными.

3.2.3 Декомпозиция отношения по принципу секретности.

3.2.4 Хранение истинных и ложных записей в различных отношениях

3.2.5 Изменения дочерних отношений.

3.3 Мандатный доступ.

3.3.1 Ключи.

3.3.2 Внешние ключи.

3.4 Функциональный доступ.

3.4.1 Маскировка атрибутов.

3.4.2 Организация хранения.

3.4.3 Реализация предиката определения доступа.

3.5 Синхронизация данных.

3.5.1 Точки входа в алгоритм.

3.5.2 Алгоритм проверки «лишних» записей.

3.5.3 Алгоритм добавления «недостающих» ложных записей.

3.5.4 Мандатная модель доступа.

3.5.5 Ролевая модель доступа.

3.5.6 Функциональная модель доступа.

3.5.7 Автоматическая генерация ложных записей.

3.6 Основные результаты.

4 ПРАКТИЧЕСКАЯ РЕАЛИЗАЦИЯ ПРЕДЛОЖЕННЫХ АЛГОРИТМОВ И МОДЕЛЕЙ.

4.1 Испытания.

4.1.1 ПО для тестирования запросов.

4.1.2 Разработка хранимых процедур для различных СУБД.

4.2 Реализация дискреционно-ролевого доступа.

4.2.1 Символьные идентификаторы владельца и группы (роли).

4.2.2 Числовые идентификаторы.

4.2.3 Отношение с привилегиями.

4.2.4 Тестовое отношение.

4.2.5 Статистическая обработка.

4.3 Реализация мандатного доступа.

4.3.1 Ограничение доступа.

4.3.2 Маскировка данных.

4.4 Реализация функционального доступа.

4.4.1 Ограничение доступа.

4.4.2 Маскировка данных.

4.5 Основные результаты.

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

Актуальность темы. Информационно-телекоммуникационные технологии интенсивно внедряются во все сферы человеческой деятельности.

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

Единичные СУБД, такие как Линтер, предоставляют возможность установки меток безопасности на записи таблиц БД. Большинство промышленно эксплуатируемых СУБД не имеют подобных возможностей.

Использование в реляционных БД стандартного языка SQL позволяет производить одинаковые действия на различных СУБД, выполняя одинаково сформированные запросы. Таким образом, корректно спроектированные информационные системы сегодня могут быть портированы между несколькими СУБД.

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

Степень разработанности темы. Вопросам ограничения доступа в БД уделяется достаточно много внимания в отечественной и зарубежной литературе. Значительный вклад в разработку методов ограничения доступа в СУБД внесли работы Гайдамакина Ф.М., Тарасюка М.В., Быкова Я.А., Yasunori I.,

КпэЬпатигШ М., ОгБе11.-М. Несмотря на большое количество работ по данной тематике, анализ литературы показал, что не в полной мере использованы возможности для решения рассматриваемых задач.

Цель работы — сокращение сроков проектирования схем БД при необходимости ограничения доступа к отдельным записям таблиц БД и повышение качества проектируемых схем за счет использования предложенных алгоритмов и способов ограничения доступа, осуществляющих ограничение по различным моделям доступа.

Для реализации этой цели должны быть решены следующие проблемы: анализ возможных способов ограничения доступа с выбором наиболее подходящего для конкретной задачи и совместимого с большинством реляционных БД; выбор средств реализации ограничения доступа, позволяющих реализовать ограничение доступа на большинстве СУБД.

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

1. Адаптация моделей ограничения доступа, применяемых в файловых системах, для использования в реляционных БД.

2. Адаптация моделей ограничения доступа, применяемых в файловых системах, для использования при маскировке данных в реляционных БД.

3. Исследование проблем, связанных с введением ограничения доступа к записям в реляционных СУБД.

4. Разработка алгоритмов организации ограничения доступа к записям таблиц реляционных БД с использованием адаптированных моделей доступа.

5. Разработка алгоритмов организации маскировки записей в таблице реляционных БД с использованием адаптированных моделей доступа.

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

7. Создание модели промышленной БД для оценки производительности предложенных алгоритмов.

8. Создание ПО автоматизированного тестирования производительности предложенных алгоритмов.

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

Публикации. По итогам исследований опубликовано 7 работ, в том числе 3 в журналах, рекомендованных ВАК, и 3 в материалах Всероссийских и Международных научно-технических конференций. В Федеральной службе по интеллектуальной собственности, патентам и товарным маркам (РОСПАТЕНТ) зарегистрирована 1 программа для ЭВМ (свидетельство №2009614270).

Апробация работы. Результаты настоящей работы докладывались на 3 конференциях, в том числе на Всероссийской научно-технической конференции студентов, молодых ученых и специалистов «Новые информационные технологии в научных исследованиях и образовании», г. Рязань, 2008 г., 15-й Международной научно-технической конференции «Проблемы передачи и обработки информации в сетях и системах телекоммуникаций», Рязань, 2008 г., 34-й Всероссийской научно-технической конференции «Информационные и телекоммуникационные технологии», Рязань, 2009 г.

Научная новизна. В диссертационной работе произведена адаптация моделей ограничения доступа, применяемых в файловых системах, для использования при ограничении и маскировке записей в таблицах БД, что позволяет существенно расширить возможности ограничения доступа в реляционных БД. Модели адаптированы для применения в СУБД, поддерживающих язык SQL, что позволяет использовать их в большинстве современных реляционных СУБД и не препятствует созданию приложений, свободно портируе-мых между СУБД. Произведен анализ проблем, возникающих при ограничении доступа к записям и маскировке записей таблиц БД, таких как конфликт ключей отношения и автоматическая генерация ложной информации для обеспечения правдоподобной маскировки записей.

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

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

1. Адаптация кластеризационной, мандатной, функциональной и дис-креционно-ролевой моделей ограничения доступа для использования их в СУБД.

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

3. Адаптация мандатной и функциональной моделей ограничений доступа для использования их при маскировке записей в СУБД.

4. Создание алгоритмов поддержания необходимой ложной информации для маскировки записей в БД.

5. Предложены алгоритмы организации ограничения доступа и маскировки данных на основе языка SQL.

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

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

Разработанные алгоритмы показывают хорошую производительность для БД различного размера — от малых до промышленных.

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

1) адаптированы кластеризационная, мандатная, функциональная и дис-креционно-ролевая модели ограничения доступа для использования в таблицах реляционных БД;

2) разработана процедура ограничения доступа к записям таблиц реляционных БД, учитывающая конфликт ключей отношения;

3) разработаны алгоритмы поддержания необходимой ложной информации при маскировке записей в таблицах реляционных БД.

Реализация и внедрение результатов работы. Результаты исследований внедрены: в ООО «ИНФОСТ-ПРОЕКТ» (г. Рязань) при разработке ПО автоматизации работы отдела технического надзора и ПО автоматизации ведения генерального плана предприятия; в ООО «Арго-Тур» (г. Рязань) при разработке ПО бронирования туристических путевок через Интернет; в учебном процессе ГОУ ВПО «Рязанский государственный радиотехнический университет» при обучении студентов специальностей 230101, 230104 и 230105; и в Филиале ОАО «СО ЕЭС» Рязанское РДУ в ПО автоматизации ведения учета оборудования и программного обеспечения программно-аппаратного комплекса.

Структура и объем диссертации. Диссертация состоит из введения, четырех глав, заключения, списка литературы (77 источников), изложенных на 224 страницах, содержит 49 рисунков и 67 таблиц.

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

Основные результаты работы состоят в следующем. 1. Рассмотрены основные схемы ограничения пользовательского доступа к данным. Выделены доступы с ограничением на сервере БД и ограничеI нием на сервере приложений как наиболее полно отвечающие требованиям к 1 ограничению доступа. Обе схемы могут использоваться в зависимости от требований к системе. 2. Произведен анализ возникающей в процессе работы системы ограниI чения доступа ситуации, названной конфликтом ключей отношения, препятI ствующей использованию встроенных в СУБД механизмов ограничения целостности данных. Разработаны алгоритмы, позволяющие избежать конфликта, что приводит к уменьшению трудоемкости проектирования схемы БД и администрирования ИС.

3. Разработаны алгоритмы и схемы БД для реализации ограничения доступа к записям таблиц БД с использованием кластеризационной, мандатной, I функциональной и дискреционно-ролевой моделей доступа. Приведены отриI 1 цательные и положительные свойства различных вариантов реализации этих моделей доступа в БД путем изменения схемы БД: как изменения схемы защищаемого отношения, так и добавления новых служебных отношений, хранящих информацию о пользователях и правах доступа.

4. Сформулирована задача организации маскировки данных в таблицах БД. Уделено особое внимание «прозрачности» системы ограничения доступа для пользователей, что позволяет снизить вероятность атаки на информационную систему ввиду создания иллюзии предоставления доступа к засекреченной информации. 5. Рассмотрены основные варианты организации хранения истинной и ложной информации при маскировке данных. Проведенный анализ предлоi женных вариантов показал, что наиболее подходящим для промышленной эксплуатации является хранение истинной и ложной информации в одной та1

ЗАКЛЮЧЕНИЕ

Библиография Баранчиков, Павел Алексеевич, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

1. 4. Communications of the ACM Volume 13, Issue 6 (June 1970) -ACM- 1970. pp. 377-387. M. M. Astrahan, M. W. Blasgen, D. D. Chamberlin, K. P. Eswaran, J. N. Gray, P. P. Griffiths, W. F. King, R. A. Lorie, P. R. McJones, J. W. Mehl, G. R. Putzolu, I.

2. Чаудхари Методы оптимизации запросов в реляционных системах //6. i ; СУБД 3.- 1998.-С. 22-36.

3. Patricia P. Griffitlis, Bradford W. Wade An authorization mechanism for a1.relational database system // ACM Transactions on Database Systems (TODS) ACM- 1976.-pp. 242-255.

4. Michael Stonebraker, Peter Rubinstein The INGRES protection system //ACMAnnual Conference/Annual Meeting. Proceedings of the annual conference ACM- 1976.-pp. 80-84.

5. David A. Wheeler Secure Programming for Linux and Unix HO WTO -, 2003.-156 с i

6. Брейман А. Д. Порождение и обработка запросов на администрирование1.баз данных // Автоматиз. и соврем, технол. N 12. - 2007. - 24-28. 1.

7. Брейман А. Д. Задачи администрирования баз данных информационных1.систем, связанные с конвенциональными ограничениями // Вестн. Моск. гос. акад. приборостр. и информат. N 1. - 2004. - 14-22.

8. Брейман А. Д. Автоматизация администрирования баз данных //Автоматиз. и соврем, технол. N 5. - 2005. - 25-27.

9. Gail-Joon Ahn, Ravi Sandhu, Myong Kang, Joon Park Injecting RBAC tosecure a Web-based workflow system // Proceedings of the fifth ACM workshop on Role-based access control - Berlin, Germany - 2000. - pp. 1-10.

10. Пономаренко Л. А., Филатов В. А., Цыбульник E. E. Динамическоеадминистрирование баз данных с использованием агентных технологий // Труды Одес. политехи, ун-та N 4. - 2001. - 95-97.

11. Средства вычислительной техники. Защита от несанкционированногодоступа к информации. Показатели защищенности от несанкционированного доступа к информации: ГОСТ Р 50739-95 - 1992.

12. Bolchini С , Schreiber Е A. Smart card embedded information systems forprivacy oriented architectural design // Data and Knowl. Eng. N 2-3, v.41 - ; 217 |2002.-pp. 159-182. i

13. Jean-Pierre Seifert On authenticated computing and RSA-basedauthentication // Proceedings of the 12th ACM conference on Computer and i communications security . - 2005. - С 122 - 127.

14. Bertino Elisa, Sandhu Ravi Database security - concepts, approaches, andchallenges // Depend, and Secure Comput. N 1, v.2 - IEEE Trans - 2005. - pp. 219.

15. Syalim Amril, Tabata Toshihiro, Sakurai Kouichi Usage control model andarchitecture for data confidentiality in a database service provider // Joho shori gakkai ronbunshi N 2, v.47. - 2006. - С 621-626.

16. Furmanov A. The analysis of vulnerability databases in view of Web-servicesarchitecture // Радюелектрон. i комп'ютерш системиЫ 8, стр. 15-19, 272. 2007. -

17. Петров А. О возможности введения дополнительных критериев качествасхем баз данных // Технол. "клиент-сервер" N 4. - 2006. - 41-44.

18. Мейер Д. Теория реляционных БД - М.: Мир, 1987. - 608 с.

19. Вельмисов А. П. Расширенные функциональные зависимости вреляционных базах данных // Вестн. УлГТУ N 3. - 2004. - 52-55.

20. Сиротюк В. О. Методы повышения достоверности структур баз данных //Проблемы управления безопасностью сложных систем. - 1998. - 92-93.

21. Дрождин В. В., Баканов А. Б. Грамматика описания домена фамилий //Вопр. радиоэлектрон. Сер. Электрон, вычисл. техн. N 1. - 2007. - 77-82. ! 218

22. Bertossi L., Sen wind C. Database repairs and analytic tableaux //Ann. Math.landArtif. N 1-2, v.40 - Intel - 2004. - pp. 5-35.

23. Beneventano D., Bergamaschi S., Lodi S., Sartori C. Consistency checking in; complex object database schemata with integrity constraints // Knowl. and Data Eng. 4, v.10 - IEEE Trans - 1998. - pp. 576-598.

24. Горшкова E. А., Некрестьянов И. С , Новиков Б. А., Павлова Е. Ю.Поддержка согласованности для слабо структурированных данных // Программирование 3. - 2000. - 23-30.

25. Oman Levent V. Differential relational calculus for integrity maintenance //| Knowl. and Data Eng. 2, v. 10 - IEEE Trans - 1998. - pp. 328-341. i

26. Баранчиков А. И., Мягков A. H. Расширение реляционной моделиданных //Вестн. РГРТА 4. - 1998. - 40-44.

27. Elmagarmid Ahmed К., Ipeirotis Panagiotis G., Verykios Vassilios S. Duplicaterecord detection // Knowl. and Data Eng. N 1, т. 19 - IEEE Trans - 2007. - pp. 1I16i

28. Tan Нее Beng Kuan, Zhao Yuan Automated elicitation of functional' dependencies from source codes of database transactions // Inf. and Software j Technol. N 2, т.46. - 2004. - 109-117. i

29. King Ronald S., Cavanaugh Charles D. Data relatability dependencies and the1 decomposition of database relations // Tex. J. Sci. 1, т.50. - 1998. - 57-74.

30. Степанов A. M. Обработка нарушения целостности ссылок в подсистемеавтоматической загрузки данных распределенной информационной системы // Вестн. компьютер, и инф. технол. N 9. - 2006. - 44-48.

31. Vrbsky Susan V., Tomic Sasa Satisfying temporal consistency constraints ofi real-time databases // J. Syst. and Software 1, v.45 - Elsevier Science Inc. New j York, NY, USA - 1999. - pp. 45-60. i

32. Gopal Ram, Garfinkel Robert, Goes Paulo Confidentiality via camouflagedisclosure limitation when answering queries to databases // Oper. Res. N 3,, Т.50.-2002. - С 501-516.

33. Быков Я. А., Аксарин M. В., Тарасюк М. В. Вопросы проектированияреляционных баз данных с многоуровневым доступом // Тр. С1ТИИРАН N 2, т.2. - 2005. - 124-129.

34. Fernandez-Medina Eduardo, Piattmi Mario Designing secure databases // Inf.and Software Technol. N 7, т.47. - 2005. - 463-477.

35. Cai Liang, Yang Xiao-hu, Dong Jin-xiang A reference model for databasesecurity proxy // J. Zhejiang Univ. Sci. N 1, 2002, т.З. - . - 30-36.

36. Muralidhar Krishnamurty, Sarathy Rathindra Security of random datai 220 j perturbation methods // Database Syst. N 4, v.24 - ACM Trans - 1999. - pp. 487493.

37. Min-A Jeong; Jung-Ja Kim; Yonggwan Won A flexible database security! system using multiple access control policies // Parallel and Distributed Computing, Applications and Technologies - IEEE - 2003. - pp. 236 - 240.

38. E. Bertian, S. Jajodia, P. Samarati Supporting Multiple Access Control Policiesin Database Systems // Proceedings of the 1996 IEEE Symposium on Security and Privacy - IEEE Computer Society Washington, DC, USA - 1996. - pp. 94•65.

39. F. Rabitti, E. Bertino, W. Kim, D. Woelk A model of authorization for nextgeneration database systems //ACM Transactions on Database Systems (TODS) ACM New York, NY, USA - 1991. - pp. 89-131.

41. Wang Li-song, Ding Qiu-lin Study and improvement of MLS relational data•model // Trans. Nanjing Univ. Aeron. and Astron. N 2, т.20. - 2003. - 236|242.

42. Wissam Mallouli, Jean-Marie Orset, Ana Cavalli, Nora Cuppens, FredericCuppens A Formal Approach for Testing Security Rules // Symposium on Access Control Models and Technologies - Sophia Antipolis, Франция - 2007. pp. 127-132.

43. Вадхва Виртуальная конфиденциальная база данных // Oracle для1 профессионалов N 2. - 2004. - 12-17. i

44. The PostgreSQL Global Development Group PostgreSQL 8.3.7 Documentation'-, 2008.-2119 c.

45. Мобильная реляционная СУБД Linter. Администрирование средствзащиты данных. НПГТ Релэкс - 2009.

46. Trusted Computer System Evaluation Criteria. United States Department of| Defense. DoD Standard 5200.28-STD. United States Department of Defense 11985. i i ' Computing Environments. National Security Agency - 1998.

47. Meeting Critical Security Objectives with Security-Enhanced Linux. NSA2008.

48. Ferraiolo D.F., Kuhn D.R. Role-Based Access Control // 15th National

49. Computer Security Conference. - 1992. - C. 554-563.

50. Sandhu, R., Coyne, E.J., Feinstein, H.L. and Youman, C.E. Role-Based Access| Control Models // IEEE Computer 29 (2). - 1996. - С 38-47.

51. Ravi S., Qamar M. How to do discretionary access control using roles // 3rdACM Workshop on Role-Based Access Control - ACM New York, NY, USA 1998.-pp. 47-54.

52. Sylvia O., Ravi S., Qamar M. Configuring role-based access control to enforcemandatory and discretionary access control policies //ACM Transactions on 1.formation and System Security (TISSEC). - 2000. - С 85-106.