21
РАЗРАБОТКА И РАЛИЗАЦИЯ МЕХАНИЗМА МАНДАТНОГО УПРАВЛЕНИЯ ДОСТУПОМ В СУБД MySQL Колегов Денис, Ткаченко Николай, Чернов Дмитрий Кафедра защиты информации и криптографии Томский государственный университет SEBECRYPT 2013 12 Всероссийская конференция «Сибирская научная школа-семинар с международным участием «Компьютерная безопасность и криптография». Парабель, 2-7 сентября 2013 г.

Разработка и реализация механизма мандатного управления доступом в СУБД MySQL (SibeCrypt 2013)

Embed Size (px)

Citation preview

Page 1: Разработка и реализация механизма мандатного управления доступом в СУБД MySQL (SibeCrypt 2013)

РАЗРАБОТКА И

РАЛИЗАЦИЯ МЕХАНИЗМА

МАНДАТНОГО

УПРАВЛЕНИЯ ДОСТУПОМ

В СУБД MySQL

Колегов Денис, Ткаченко Николай, Чернов Дмитрий

Кафедра защиты информации и криптографии

Томский государственный университет

SEBECRYPT 2013

12 Всероссийская конференция «Сибирская научная школа-семинар с международным

участием «Компьютерная безопасность и криптография». Парабель, 2-7 сентября 2013 г.

Page 2: Разработка и реализация механизма мандатного управления доступом в СУБД MySQL (SibeCrypt 2013)

Введение

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

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

дискреционных СУБД

– Отсутствуют формальные модели политик безопасности управления

доступом

– Корректность мандатного управления доступом формально не

обоснована

– Не учитываются требования обеспечения безопасности

информационных потоков

– Механизмы мандатного управления доступом не интегрированы в

ядро СУБД

1 Разработка и реализация механизма мандатного управления

доступом в СУБД MySQL

Page 3: Разработка и реализация механизма мандатного управления доступом в СУБД MySQL (SibeCrypt 2013)

Терминология

• Дискреционное управление доступом (DAC) – управление доступом к

сущностям субъектами-пользователями, имеющими соответствующие

права доступа к этим сущностям

• Мандатное управление доступом (MAC) – управление доступом к

сущностям субъектами-администраторами без возможности изменения

этого управления любыми субъектами

2 Разработка и реализация механизма мандатного управления

доступом в СУБД MySQL

Page 4: Разработка и реализация механизма мандатного управления доступом в СУБД MySQL (SibeCrypt 2013)

Виды управления доступом • Matt Bishop “Computer Security”

– DAC (IBAC)

– MAC (RuBAC)

– ORCON

• NIST “Assessment of Access Control System” – DAC

– NDAC

• MAC

• RBAC

• Temporal constraints

• SELinux Notebook – DAC

– MAC

• MLS

• TE

3 Разработка и реализация механизма мандатного управления

доступом в СУБД MySQL

Page 5: Разработка и реализация механизма мандатного управления доступом в СУБД MySQL (SibeCrypt 2013)

DAC или MAC?

4 Разработка и реализация механизма мандатного управления

доступом в СУБД MySQL

Page 6: Разработка и реализация механизма мандатного управления доступом в СУБД MySQL (SibeCrypt 2013)

Исследование управления доступом в

MySQL

• Выполнено исследование исходного кода, изучение документации, а

также проведены эксперименты

• Идентифицированы основные механизмы реализации

информационных потоков по времени

• Выявлены методы реализации запрещенных информационных потоков

по памяти в обход монитора безопасности

5 Разработка и реализация механизма мандатного управления

доступом в СУБД MySQL

Page 7: Разработка и реализация механизма мандатного управления доступом в СУБД MySQL (SibeCrypt 2013)

Пример потока по времени

6 Разработка и реализация механизма мандатного управления

доступом в СУБД MySQL

Page 8: Разработка и реализация механизма мандатного управления доступом в СУБД MySQL (SibeCrypt 2013)

Исследование управления доступом в

MySQL

• «INSERT INTO … VALUES((SELECT…), …)»

• «INSERT … SELECT»

• «UPDATE … SET … = (SELECT …)»

7 Разработка и реализация механизма мандатного управления

доступом в СУБД MySQL

Page 9: Разработка и реализация механизма мандатного управления доступом в СУБД MySQL (SibeCrypt 2013)

Пример потока по памяти

8 Разработка и реализация механизма мандатного управления

доступом в СУБД MySQL

Page 10: Разработка и реализация механизма мандатного управления доступом в СУБД MySQL (SibeCrypt 2013)

Ограничения модели

• Информационные потоки рассматриваются в рамках СУБД

• Рассматриваются только информационные потоки по памяти,

порождаемые SQL-операторами SELECT, INSERT, UPDATE и DELETE

• Информационные потоки по времени не рассматриваются

9 Разработка и реализация механизма мандатного управления

доступом в СУБД MySQL

Page 11: Разработка и реализация механизма мандатного управления доступом в СУБД MySQL (SibeCrypt 2013)

Предположения модели

• Если пользователь обладает правом доступа на контейнер, то он

также обладает этим правом доступа на сущности этого контейнера

• Если для некоторой сущности eE определено значение fe (e), то оно

определено и для любого контейнера cC, такого, что e < c

• Уровни конфиденциальности сущностей наследуются

10 Разработка и реализация механизма мандатного управления

доступом в СУБД MySQL

Page 12: Разработка и реализация механизма мандатного управления доступом в СУБД MySQL (SibeCrypt 2013)

Элементы ДП-модели MySQL

O = Op Ot Ov Ovar Ogvar Oc COL – множество сущностей-объектов:

Op – множество сущностей-процедур

Ot – множество сущностей-триггеров

Ov – множество сущностей-представлений

Ovar – множество сущностей-переменных

Ogvar – множество сущностей-глобальных переменных

Oc – множество сущностей-курсоров

COL – множество сущностей-столбцов

С = DB TAB {с0} – множество сущностей-контейнеров, при этом множества

контейнеров не пересекаются друг с другом и с множеством сущностей-объектов:

DB – множество контейнеров-баз данных

TAB – множество контейнеров-таблиц

с0 – корневой контейнер, содержащий все базы данных

11 Разработка и реализация механизма мандатного управления

доступом в СУБД MySQL

Page 13: Разработка и реализация механизма мандатного управления доступом в СУБД MySQL (SibeCrypt 2013)

Элементы ДП-модели MySQL

S – множество субъект-сессий пользователей: O S = и C S = ,

U – множество учетных записей

E = O C S U – множество сущностей

(L, ) – решетка упорядоченных уровней доступа и уровней конфиденциальности,

fe: (O \ Ov) C L и fs: U L – функции, определяющие уровни

конфиденциальности и доступа соответственно

Rr = {alterr, dropr, readr, writer, appendr, deleter, executer, create_routiner, creater,

create_userr, create_triggerr, create_viewr} – множество видов прав доступа

Ra = {reada, writea, appenda} – множество видов доступа

Rf = {writem} – множество информационных потоков

R U (C O) Rr – множество текущих прав доступа

A S (O C) Ra – множество текущих доступов

F (E\U) (E\U) Rf – множество информационных потоков соответственно

12 Разработка и реализация механизма мандатного управления

доступом в СУБД MySQL

Page 14: Разработка и реализация механизма мандатного управления доступом в СУБД MySQL (SibeCrypt 2013)

Элементы ДП-модели MySQL

13 Разработка и реализация механизма мандатного управления

доступом в СУБД MySQL

Page 15: Разработка и реализация механизма мандатного управления доступом в СУБД MySQL (SibeCrypt 2013)

Примеры правил преобразования

14 Разработка и реализация механизма мандатного управления

доступом в СУБД MySQL

Правило Состояние G Состояние G’

create_session(u, s) uU, sS S’= S{s}, user’(s) = u,

f’s(s) = fs(u)

access_read(s, e) sS, eDBTABCOL, ∃ c(CO), что

e ≤ c, (fs(user(s)) ≥ f(c) и HLS(e, c) = true)

или (fs(user(s)) ≥ f(e) и HLS(e, c) = false); ∄

e1 CO: fe(e1) < fe(e), (s, e1, α)A,

α{writea, appenda}

S’= S{s}, user’(s) = u,

f’s(s) = fs(u)

Page 16: Разработка и реализация механизма мандатного управления доступом в СУБД MySQL (SibeCrypt 2013)

Теоретическое обоснование

Определение 1. Будем говорить, что в состоянии G системы (G*, OP) доступ (s, e,

)A обладает ss-свойством, если =appenda или fs(user(s)) fe(e).

Определение 2. В состоянии G системы (G*, OP) доступы (s, e1, reada), (s, e2,

)A, где {writea, appenda} обладают *-свойством, если fe(e1) fe(e2).

Теорема. Пусть начальное состояние G0 системы (G*, OP, G0) является

безопасным в смысле Белла-ЛаПадулы и A0 = F0 = , тогда система (G*, OP, G0)

безопасна в смысле Белла-ЛаПадулы.

15 Разработка и реализация механизма мандатного управления

доступом в СУБД MySQL

Page 17: Разработка и реализация механизма мандатного управления доступом в СУБД MySQL (SibeCrypt 2013)

Элементы реализации

16 Разработка и реализация механизма мандатного управления

доступом в СУБД MySQL

Page 18: Разработка и реализация механизма мандатного управления доступом в СУБД MySQL (SibeCrypt 2013)

Элементы реализации

17 Разработка и реализация механизма мандатного управления

доступом в СУБД MySQL

Page 19: Разработка и реализация механизма мандатного управления доступом в СУБД MySQL (SibeCrypt 2013)

Элементы реализации

18 Разработка и реализация механизма мандатного управления

доступом в СУБД MySQL

Page 20: Разработка и реализация механизма мандатного управления доступом в СУБД MySQL (SibeCrypt 2013)

Выводы

• Идентифицированы механизмы обработки запросов языка SQL,

приводящие к реализации информационных потоков по памяти

• Разработана промежуточная ДП-модель MySQL

• Реализован механизм мандатного управления доступом в СУБД

MySQL на основе построенной модели

19 Разработка и реализация механизма мандатного управления

доступом в СУБД MySQL

Page 21: Разработка и реализация механизма мандатного управления доступом в СУБД MySQL (SibeCrypt 2013)

Благодарю за внимание!

Колегов Денис Николаевич

Доцент кафедры защиты информации и криптографии

Томский государственный университет

E-mail: [email protected]

Разработка и реализация механизма мандатного управления

доступом в СУБД MySQL