Development and Implementation of Mandatory Access Control Policy for RDBMS M...
Разработка и реализация мандатного механизма управления доступом в СУБД MySQL (PHDays YS 2013)
1. Разработка и реализация мандатного механизма
управления доступом в СУБД MySQL
Денис Колегов, Николай Ткаченко, Дмитрий Чернов
Национальный исследовательский Томский государственный университет
Кафедра защиты информации и криптографии
(
)
1 / 19
2. Актуальность
Одной из актуальных задач компьютерной безопасности является
разработка и реализация мандатного управления доступом в
изначально дискреционных СУБД
Недостатки:
Отсутствуют формальные модели политик безопасности
управления доступом
Корректность мандатного управления доступом формально не
обоснована
Не учитываются требования обеспечения безопасности
информационных потоков
Механизмы мандатного управления доступом не интегрированы в
ядро СУБД
(
)
2 / 19
3. Цель работы
Обеспечение безопасности управления доступом и информационными
потоками в СУБД MySQL путем реализации формально
обоснованного мандатного управления доступом
Для достижения цели решаются следующие задачи:
исследование реализации дискреционного управления доступом
разработка формальной модели безопасности мандатного
управления доступом
реализация механизма мандатного управления доступом на
основе построенной модели
проведение тестовых испытаний механизма управления доступом
(
)
3 / 19
4. Исследование управления доступом в MySQL
Выполнено исследование исходного кода, изучение документации,
а также проведены эксперименты
Идентифицированы основные механизмы реализации
информационных потоков по времени
Выявлены методы реализации запрещенных информационных
потоков по памяти в обход монитора безопасности
(
)
4 / 19
5. Исследование управления доступом в MySQL
Выявлены следующие типы запросов SQL, потенциально приводящие
к реализации запрещенных информационных потоков по памяти:
«INSERT INTO . . . VALUES((SELECT. . . ), . . . )»;
«INSERT . . . SELECT»;
«UPDATE . . . SET . . . = (SELECT . . . )».
(
)
5 / 19
7. Ограничения
Информационные потоки рассматриваются в рамках СУБД
Рассматриваются только информационные потоки по памяти,
порождаемые SQL-операторами SELECT, INSERT, UPDATE и
DELETE
Информационные потоки по времени не рассматриваются
(
)
7 / 19
8. Теория ДП-моделей
П.Н. Девянин, ИКСИ Академии ФСБ России
Монография «Анализ безопасности управления доступом и
информационными потоками в компьютерных системах»
Основа - модели Take-Grant, Белла-ЛаПадулы, СВС, ИПС
Учитываются особенности построения защищенных
отечественных компьютерных систем
Доверенные субъекты, функция иерархии сущностей,
блокирующие доступы, функциональная и параметрическая
ассоциированность
(
)
8 / 19
9. Основные элементы модели
Сущности-объекты O: столбцы COL, процедуры Op , триггеры Ot ,
представления Ov и переменные Ov
Сущности-контейнеры C : таблицы TAB, базы данных DB и
корневой каталог C0
Субъект-сессии S, учетные записи пользователей U
Функция иерархии сущностей H : C ∪ Op ∪ Ot ∪ S → 2O∪C
Функция уровней конфиденциальности сущности-объекта
fe : (O Ov ) ∪ C → L
Функция уровней доступа учетной записи пользователя
fs : U → L
Функция, определяющая пользователя субъект-сессии
user : S → U
(
)
9 / 19
10. Основные элементы модели
Множество прав доступов Rr = {readr , writer , appendr , deleter ,
alterr , executer , creater , dropr , create_routiner , create_userr ,
triggerr , create_viewr }
Множества доступов Ra = {reada , writea , appenda }
Множество информационных потоков Rf = {writem }
Множество прав, которые могут быть переданы
Grant ⊆ U × (C ∪ O) × Rr
Состояние модели G = (U, S, E , R, A, H, (fs , fe ), user , Grant,
execute_as, triggers, owner , operations, var )
Σ(G ∗ , OP) – система
(
)
10 / 19
11. Примеры правил преобразования
Правило
Исходное состояние
create_session(u, s)
u ∈ U, s ∈ S
s
∈ S, user (s) ∈ Lu ,
u ∈ U, l ≤ fs (user (s)),
(user (s), c0 , create_userr ) ∈ R
grant_right(s, u, e, α, s ∈ S, u ∈ U, e ∈ C ∪O, α ∈ Rr ,
grant_option)
grant_option ∈ {true, false},
∃c ≥ e : (s, c , α) ∈ Rr , ∃c ≥
e : (user (s), c, α) ∈ Grant
access_read(s, e)
s ∈ S, e ∈ DB ∪ TAB ∪ COL,
∃c ∈ C ∪ O, что e < c или
e = c, fs (user (s)) ≥ fe (c) и
HLS(e, c) = true, e1 ∈ O ∪ C :
fe (e1 ) < fe (e) и (s, e1 , α) ∈ A,
где α ∈ {writea , appenda }
create_user (s, u, l)
(
Результирующее состояние
Ss = Ss ∪ {s}, fs (s) =
fs (u), user (s) = u
U = U ∪ {u}, fs (u) = l
R = R ∪ {(u, e, α)}, если grant_option = true,
то Grant
= Grant ∪
{(u, e, α)}
A = A ∪ {(s, e, reada )},
F = F ∪ {(e, s, writem )}
)
11 / 19
12. Утверждение
Определение 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 ) является безопасной в смысле Белла –
ЛаПадулы.
(
)
12 / 19
18. Результаты работы
1) Выявлены методы реализации запрещенных информационных
потоков в обход механизмов управления доступом СУБД MySQL
2) Разработана формальная ДП-модель мандатного управления
доступом СУБД MySQL
3) Произведена адаптация построенной модели к механизмам СУБД
MySQL
4) Реализован мандатный механизм управления доступом на уровне
ядра безопасности СУБД MySQL
(
)
18 / 19
19. Благодарю за внимание!!!
Денис Колегов,
d.n.kolegov@gmail.com
Николай Ткаченко,
n.o.tkachenko@gmail.com
Дмитрий Чернов,
dm.vl.chernov@gmail.com
(
)
19 / 19