Научная статья на тему 'Обеспечение безопасности семантических баз данных'

Обеспечение безопасности семантических баз данных Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
358
45
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СЕМАНТИЧЕСКАЯ БАЗА ДАННЫХ / БЕЗОПАСНОСТЬ ДОСТУПА / ТРИПЛЕТЫ / ЛОГИЧЕСКИЙ ВЫВОД / НЕСАНКЦИОНИРОВАННЫЙ ДОСТУП / UNAUTHORIZED ACCESS. / SEMANTIC DATABASE / SECURITY ACCESS / TRIPLES / INFERENCE

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Хоанг Ван Кует, Тузовский Анатолий Федорович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Обеспечение безопасности семантических баз данных»

УДК 004.415

ОБЕСПЕЧЕНИЕ БЕЗОПАСНОСТИ СЕМАНТИЧЕСКИХ БАЗ ДАННЫХ

Хоанг Ван Кует, А.Ф. Тузовский

Томский политехнический университет E-mail: student8050@sibmail.com

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

Ключевые слова

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

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

важной становится проблема защиты данных от несанк-

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

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

данные отличаются от реляционных данных тем, что на их основе может выполняться логиче-

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

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

Метка безопасности для триплета RDF-данных

Каждый RDF-документ состоит из графа, являющегося набором триплетов, состоящих из троек: субъект (r), предикат (х), объект (v) [2]. В целях безопасности RDF-данных каждый элемент триплета имеет разные права доступа, т. е. они находятся на разных уровнях безопасности согласно своим меткам (sll sl2, ..., sln), созданным пользователями. Например, sll соответствует открытым данным, sl2 соответствует конфиденциальным данным, ., sln соответствует сверхсекретным данным.

Хоанг Ван Кует, аспирант кафедры оптимизации систем управления Института кибернетики ТПУ.

E-mail:

student8050@sibmail.com Область научных интересов: исследование методов поддержки работы с семантическими базами знаний и их эффективности.

Тузовский Анатолий Федорович, д-р техн. наук, профессор кафедры оптимизации систем управления Института кибернетики ТПУ.

E-mail: tuzovskyaf@tpu.ru Область научных интересов: семантические технологии, онтологии, интернет технологии, технологии разработки программ.

В каждый из компонентов триплете (субъект, предикат, объект) может иметь одинаковую метку sl или разные метки безопасности (slr, slx, slv) (где slr - метка для субъекта, s4 - метка для предиката, slv - метка для объекта). В том случае, когда три элемента имеют одинаковую метку sl, то sl является меткой безопасности для триплета (sl = sltr, где sltr- метка для триплета). Если три метки являются разными (slr Ф s4 Ф slv), то надо образовать наименьшую верхнюю границу чувствительности slmax этих меток, тогда slmax является меткой безопасности триплета

sltr (sltr slmax).

Один и тот же ресурс может являться субъектом или объектом (иногда предикатом) в разных ситуациях, следовательно, он может иметь разные метки безопасности (sll, sl2, ..., sln) в зависимости от своего положения. Триплет, обладающий ресурсом в конкретной роли (субъект или объект), имеет конкретную метку slt, охватывающую соответствующую метку обеспечения ресурса в данной позиции, и slt > max (sll, sl2, ., sln).

Модель контроля доступа пользователей

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

• все пользователи и триплеты базы данных однозначно идентифицированы;

• задана решётка уровней безопасности информации;

• каждому триплету базы данных присвоен уровень безопасности, определяющий ценность содержащейся в нем информации;

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

В семантической базе данных каждый триплет имеет свой уровень безопасности (АС), указатель которого может иметь значения из множества меток безопасности L = {неклассифицированный (LU), конфиденциальный (Lc), секретный (LS) и сверхсекретный (LTS)}, где LU < LC < LS < LTS. Каждый пользователь имеет уровень доступа ACs, включающий права выполнения таких операций с данными, как R = {read, write, append, execute}, где read - право на чтение триплета, write - право на запись триплета, append - право на запись в конец объекта, execute -право на добавление или удаление триплета.

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

• Свойство простой безопасности («простое» свойство безопасности): Пользователь может иметь право доступа на чтение триплета только в случае, когда уровень доступа пользователя не ниже уровня безопасности триплета.

• Свойство «звезда» безопасности (свойство «звезда»): Пользователь может иметь доступ к триплету в случае, когда уровень безопасности триплета не ниже его уровня доступа. Пользователь может иметь право доступа на запись триплета только в случае, когда его уровень доступа равен уровню безопасности триплета. Он может иметь право доступа на чтение триплета только в случае, когда его уровень доступа не ниже уровня безопасности триплета.

• Свойство дискреционной безопасности (Свойство безопасности [ds - свойство]): Каждый доступ содержит, по крайней мере, один элемент из множества прав R пользователя на триплет.

• Невозможность полного общения с бездействующим триплетом: Пользователь не может читать бездействующий триплет.

Для семантических баз данных предлагаются следующие характеристики поддержки безопасности работы с ними:

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

• Свойство записи: Только владелец имеет права на запись (модификацию) своих данных.

• Безопасность триплета: Уровень безопасности триплета должен быть не ниже уровня доступа его владельца.

• Безопасность элементов триплета: Уровень безопасности триплета должен быть не ниже уровня безопасности его субъекта, объекта и предиката.

• Доступ на модификацию триплетов: Только администратор безопасности базы данных и владелец триплетов имеют права на модификацию уровня безопасности триплетов и уровней доступа пользователей.

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

Под контролем прямого доступа пользователей понимается возможность получать ими данные в соответствии с заданными для них правами на использование данных [4].

В семантических базах данных хранятся разные категории информации, такие как: экономическая, финансовая и т. п. Если уровень безопасности информации АС содержит только один указатель с меткой безопасности из множества L, то пользователь, имеющий уровень доступа типа АС = LС в категории M, может иметь доступ в категории N к данным, имеющим уровень безопасности АС = LС. В данном случае количество возможных вариантов создания уровней безопасности информации в базе данных будет сильно ограниченным. Для решения данной проблемы в уровни безопасности данных могут быть добавлены другие указатели с метками безопасности из множества L.

В данной работе предлагается, что метка безопасности RDF-триплета AC = (S, P, PS, C) (уровень безопасности триплета) включает следующие 4 показателя:

• чувствительность S - определяет уровень значимости или важности связи (предиката), а также её уязвимости перед несанкционированным лицом;

• приватность Р - определяет права владельца на возможность передачи данной информации другим пользователям;

• персональная безопасность PS - определяет уровень защиты персональной информации человека или организации;

• конфиденциальность C - определяет возможность совместного использования данной информации с другими ресурсами.

Каждый показатель может принимать значения из множества L (в данной работе предлагается, что эти показатели могут принимать значение 0 (unclassified), 1 (confidential)).

Право доступа пользователей к данным ACs = (Ss, Ps, PSs, Cs) так же включает 4 показателя: чувствительность S, приватность Р, персональная безопасность PS и конфиденциальность C. Для контроля доступа пользователя к RDF-триплету необходимо сравнивать уровень права доступа пользователей ACs = (Ss, Ps, PSs, Cs) с уровнем безопасности триплета AC = (S, P, PS, C).

Считается, что ACs = (Ss, Ps, PSs, Cs) не ниже уровня AC = (S, P, PS, C) только в случае, когда Ss > S, Ps > P, PSs > PS, Cs > C. Если ACs > AC, то пользователи могут получить доступ к этим данным. Если ACs < AC, то пользователи не имеют права доступа к этим данным, и данные являются невидимыми для пользователей. На рис. 1 показан алгоритм контроля прямого доступа к триплету RDF-данных (алгоритм 1).

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

В соответствии с этим алгоритмом проверка прав доступа пользователя осуществляется на каждом триплете. Входными данными алгоритма являются: уровень права доступа пользователя и множество индексов чувствительности триплетов RDF-данных. Выходными данными

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

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

Контроль логических выводов

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

Основные логические правила

Если Р = {А, В, С,..., 2} - это множество всех ресурсов (объект или субъект), аX = {Хь Х2, ..., Хп}, где п > 1 - это множество всех бинарных отношений, тогда для выполнения логических выводов в семантической базе данных пользователи могут использовать следующие основные правила вывода:

• симметричность: если Х] 6 Х является симметричным бинарным отношением, то для любых объектов А, В 6 Р справедливо выражение АХВ ^ ВХА;

• транзитивность: если Х] 6 Хявляется транзитивным бинарным отношением, то для любых объектов А, В, С 6 Р справедливо выражение (АХВ и ВХС) ^ АХС, где А Ф В Ф С;

• импликация: если бинарное отношение Х] 6 Х заключает в себе отношение Х^ 6 Х, то для любых объектов А, В 6 Р справедливо выражение АХВ ^ АХ}В;

• корреляция: если Х] 6 Х является корреляционным бинарным отношением, то для любых объектов А, В, С, В 6 Р справедливо выражение (АХВ, СХВ) ^ АХС, Аф С, В Ф С, А Ф В, В Ф В;

• декомпозиция: еслиХ^ 6 Хявляется разложимым бинарным отношением, то для любых объектов А, В 6 Р справедливо выражение АХВ ^ АХА, ВХВ, где А Ф В;

Рис. 2. Фрагмент RDF-графа семантической базы данных

Определение 1 (ЯВЕ-граф). Семантическая база данных представляет собой RDF-граф О, который состоит из множества вершин Р (множество субъектов и объектов), множества ребер Е (множество предикатов) и обозначается О = (Р, Е), где каждая вершина является субъектом или объектом, каждое ребро является предикатом (отношение межу субъектом и объектом), существуют некоторые ребра между двумя вершинами [6]. На рис. 2 показан фрагмент КОБ-графа семантической базы данных.

Определение 2 (видимый граф). Видимый граф для пользователя, имеющего уровень до-

ступа АС^ является графом О^ представляющим все триплеты, состоящие из троек: субъект, предикат, объект, к которым пользователь может иметь доступ, где О6. С О.

Определение 3 (логический граф). Логическим графом О\ является результат применения основных логических правил и добавления полученных результатов к графу О8, где О8 С о\.

Определение 4 (поток информации вершины графа). Потоком информации для вершины А является множество всех рёбер, непосредственно связанных с А. Данной поток обозначается как С(А).

Правило (возможность выполнения логической операции между двумя вершинами). Предположим, что в графе вершины А и В имеют потоки информации С(А) и С(В), где С(А), С(В) С о\. Если С(А) П С(В) = 0, то пользователь не может получить логические выводы из этих известных ему вершин и их связей [4]. Из вышесказанного для определения возможности возникновения логических выводов из известных связей и вершин можно составить алгоритм (алгоритм 2), показанный на рис. 3.

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

Рис. 1. Алгоритм определения возможности получения логических выводов из двух вершин

Предположим, что в графе Gls вершины А и В имеются потоки информации С(А) и С(В), где С(А), С(В) с С(А) имеет максимальный уровень т, С(В) имеет максимальный уровень п, где п > т. Пользователь имеет уровень доступа АС6. = сі и не имеет доступа к какой-то части данных. Для определения возможности получения логических выводов между вершинами А и В был построен алгоритм (алгоритм 3), показанный на рис. 4.

Рис. 2. Алгоритм определения возможности получения логических выводов из двух вершин, имеющих разные уровни права доступа

В соответствие с данным алгоритмом выполняются следующие основные операции:

• поиск общего потока информации между А и В на уровнях, которые меньшее, чем т. Если между ними обнаружены общий поток информации, то операция прекращается;

• поиск общего потока информации между А и В на уровнях, которые меньше, чем cl. Если между ними обнаружены общий поток информации, то операция прекращается.

В данном алгоритме используется переменная R для сохранения получаемого результата: если R = true, то можно получить связь между А и В; если R = false, то нельзя получить связь между А и В.

Несанкционированное получение логических выводов

Определение 5 (несанкционированный логический вывод). В семантической базе данных для любого пользователя s, имеющего уровень доступа ACs, несанкционированным логическим выводом является процесс добавления дополнительного рёбра е к видимому графу Gs, где e 6 G\Gs.

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

Определение 6 (обнаружение нарушения логических выводов). Обнаружение нарушения логических выводов является процессом поиска всех связей, находящихся в невидимой части графа G\Gs.

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

Для обнаружения несанкционированных логических выводов был построен алгоритм (алгоритм 4), который включает следующие шаги:

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

Шаг 2: Применение основных логических правил для получения логических графов Gls:

• если логические выводы находится в невидимых частях графа, то эти связи являются раскрытыми, и они будут отмечены;

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

Шаг 3: Применение вышесказанного правила для отмеченных вершин логического графа 0\. Если существует одна или несколько связей между двумя вершинами, то возможно применение логических правил.

• если невозможно получить вывод на более высоком уровне безопасности между двумя вершинами, то все связи между ними являются безопасными;

• если возможно получить вывод более высоком уровне безопасности между двумя вершинами, то все связи между ними являются подозреваемыми;

Шаг 4: Если существуют подозреваемые связи, то необходимо использовать теорию вероятностей для расчёта вероятности их выполнения. Такая возможность называется вероятностным выводом. Если вероятность вывода больше или равна заданной вероятности р (пороговое значение), то эти подозреваемые связи помечены как раскрытые связи, в противном случае они помечаются как безопасные связи.

На рис. 5 показан алгоритм обнаружения нарушения логических выводов. В данном алгоритме множество всех связей, имеющих более высокие уровни безопасности, чем уровень доступа пользователя АС,,, обозначено, как Ей, где Ек = [е1: е1 е G\Gs, где е1 является ребром}, а множества всех раскрытих и безопасных связей, имеющих высокие уровня безопасности, обозначаются как ЕЛ и Еш.

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

Рис. 3. Алгоритм обнаружения нарушения логических выводов

Пример применения предложенного алгоритма для решения задачи

Рассмотрим следующий пример: пусть имеется семантическая база данных, которая содержит множество триплетов со своими индексами безопасности Л= {Л'АВ(0100), Л5А(Ш10), Д9аВ(1100), Д8ав(0000), Д9ае(1111), ^0000), Л2Вс(1110), Д6СВ(0100), Д3СВ(1100), Д7ос(0110), Л10о(1100), Л^ЕНЮ)}. Предположим, что пользователь имеет уровень доступа АС5 = (1100).

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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

На рис. 6 показан фрагмент RDF-графа. Используемые в данном графе отношения {Хь Х2, ..., Хю] обладают следующими свойствами: Х\ является симметричной связью, Х3 - транзи-

тивной связью, <Х6, Х8> - доминирующее правило, (в данной задаче Я

вс

Я*вс). <Х9, Х5> -

доминирующее правило, т. е., если Я, и Я}- доминирующее правило, то хЯу ^ хЯ}х, х Ф у (в дан-

ной задаче, Я 9

Я а).

Для решения данной задачи безопасности семантической базы данных может быть применен алгоритм 4:

Шаг 1. определение видимых триплетов (граф Gs).

При выполнении прямой проверки прав доступа пользователям нельзя видеть триплеты Л5а(0110), Я9ае (1111), Л4де(1110), Я7Дс(0110), Я2вс(1110), так как их уровень доступа меньше, чем уровень безопасности триплетов. На рис. 7 показан видимый пользователю граф триплетов.

Я'довСОЮ'

Яа(0110),

Я3соб(1000)

Я“соб(1100)

с

Я'оос(0110)

Я4вео(1110) в Я10в(1100)

О.

Я10в(1100)

В

Рис. 4. Граф связи между элементами трипле- Рис. 5. Граф триплетов, видимый пользовате-тов в базе данных лем

Шаг 2. Определение логических и видимых триплетов (граф Gгs).

В соответствие с заданными правилами Я9лв доминирует над Я5а и Я6св доминирует над Я8св, в результате получается логический граф, представленный на рис. 8.

О,

В

Я10с(1100)

Рис. 6. Логический граф

ав

Е

Е

Шаг 3. Определение раскрытых, безопасных и подозреваемых триплетов.

Один из двух логических результатов Я5а является нарушенным триплетом, потому что Я5а е G\Gs. В результате получаются: раскрытая связь Я5а и неясные связи Я9ае{1111), Я4ое(1110), Я7ос(0110), Я2вс(1110). Для контроля неясных связей необходимо проверить такие пары вершин, как {<А, Е>, <Д Е>, <Д С>, <С, В>}.

Так как известно, что:

• С(А) П С(Е) Ф 0 (между вершинами А и Е существует общая вершина В), значит, из них может следовать другой триплет;

• С(П) П С(Е) = 0, значит, из них не может следовать другой триплет;

• C(D) П C(C) = 0, значит, из них не может следовать другой триплет;

• C(B) П C(C) Ф 0, значит, из них может следовать другой триплет.

После этого шага получается множество нарушенных связей {R5A}, множество безопасных связей {R4DE{1110), R7DC(0110)} и множество подозреваемых связей {R9AE{1111), Æ2bc(1110)}.

Шаг 4. Контроль наследованных триплетов.

Вначале проверяется связь R9AE(11n) между вершинами А и Е: основными триплетами, не влияющими на подозреваемую связь R9AE(n11), являются {R3cB, R6cB, RSCB}; основными триплетами, влияющими на подозреваемую связь R9AE(11n), являются {R'ab, R9AB, R8ЛВ, R8be}.

Тогда можно определить цепочки логического вывода {R'ab, R'be}, (R9ab, R'be}, {R8ab, R1Be}. С их помощью пользователь, с некоторой вероятностью, может выводить триплет RV

Для того чтобы пользователь не смог вывести R9ae, в этих парах не должен присутствовать один из элементов. В данном случае пользователю нельзя видеть триплет R*BoE или триплеты {R Ав, R9ab, R\b}.

Теперь переходим к проверки связи R2BC между вершинами В и С: связи R1AB, R8AB, R9AB,

1 2 3 6 8 2

R BE не имеют отношения с R BC, а связи R CB, R CB, R CB имеют отношения с R BC. Из этих триплетов пользователь может вывести R2BC с некоторой вероятностью. Для того чтобы пользователь не мог это сделать, ему должны быть невидимы триплеты R3CB, R6CB, R8CB.

Выводы

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

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

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

СПИСОК ЛИТЕРАТУРЫ

10. Thuraisingham B. Secure Sematic web Services. - Texas: Department of Computer Science, 2007. - 123 p.

11. Anton B. Resource Description Framework // Technical report, Department of Mathematics and Computer Science, 2006. - V. 20 - № 3. - P. 157-168.

12. Девянин П.Н. Модели безопасности компьютерных систем. - М.: Академия, 2005. - 144 с.

13. Девянин П.Н. Анализ безопасности управления доступом и информационными потоками в компьютерных системах. - М.: Радио и связь, 2006. - 176 с.

14. Thuraisingham B. Security for the semantic web // International Journal of Approximate Reasoning. - 2005. - V. 11 - № 1. - P. 257-268.

15. Thuraisingham B. Database and Applications Security: Integrating Data Management and Information Security. - Texas: Department of Computer Science, 2005. - 276 p.

Поступила 10.09.2012 г.

i Надоели баннеры? Вы всегда можете отключить рекламу.