SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Разработка и реализация мандатного механизма
управления доступом в СУБД MySQL
Денис Колегов, Николай Ткаченко, Дмитрий Чернов
Национальный исследовательский Томский государственный университет
Кафедра защиты информации и криптографии
( ) 1 / 19
Актуальность
Одной из актуальных задач компьютерной безопасности является
разработка и реализация мандатного управления доступом в
изначально дискреционных СУБД
Недостатки:
Отсутствуют формальные модели политик безопасности
управления доступом
Корректность мандатного управления доступом формально не
обоснована
Не учитываются требования обеспечения безопасности
информационных потоков
Механизмы мандатного управления доступом не интегрированы в
ядро СУБД
( ) 2 / 19
Цель работы
Обеспечение безопасности управления доступом и информационными
потоками в СУБД MySQL путем реализации формально
обоснованного мандатного управления доступом
Для достижения цели решаются следующие задачи:
исследование реализации дискреционного управления доступом
разработка формальной модели безопасности мандатного
управления доступом
реализация механизма мандатного управления доступом на
основе построенной модели
проведение тестовых испытаний механизма управления доступом
( ) 3 / 19
Исследование управления доступом в MySQL
Выполнено исследование исходного кода, изучение документации,
а также проведены эксперименты
Идентифицированы основные механизмы реализации
информационных потоков по времени
Выявлены методы реализации запрещенных информационных
потоков по памяти в обход монитора безопасности
( ) 4 / 19
Исследование управления доступом в MySQL
Выявлены следующие типы запросов SQL, потенциально приводящие
к реализации запрещенных информационных потоков по памяти:
«INSERT INTO . . . VALUES((SELECT. . . ), . . . )»;
«INSERT . . . SELECT»;
«UPDATE . . . SET . . . = (SELECT . . . )».
( ) 5 / 19
Исследование управления доступом в MySQL
user> insert tab2 values((select col1 from tab1 limit 1));
( ) 6 / 19
Ограничения
Информационные потоки рассматриваются в рамках СУБД
Рассматриваются только информационные потоки по памяти,
порождаемые SQL-операторами SELECT, INSERT, UPDATE и
DELETE
Информационные потоки по времени не рассматриваются
( ) 7 / 19
Теория ДП-моделей
П.Н. Девянин, ИКСИ Академии ФСБ России
Монография «Анализ безопасности управления доступом и
информационными потоками в компьютерных системах»
Основа - модели Take-Grant, Белла-ЛаПадулы, СВС, ИПС
Учитываются особенности построения защищенных
отечественных компьютерных систем
Доверенные субъекты, функция иерархии сущностей,
блокирующие доступы, функциональная и параметрическая
ассоциированность
( ) 8 / 19
Основные элементы модели
Сущности-объекты 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
Основные элементы модели
Множество прав доступов 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
Примеры правил преобразования
Правило Исходное состояние Результирующее состоя-
ние
create_session(u, s) u ∈ U, s ∈ S Ss = Ss ∪ {s}, fs (s) =
fs (u), user (s) = u
create_user(s, u, l) s ∈ S, user(s) ∈ Lu,
u ∈ U, l ≤ fs (user(s)),
(user(s), c0, create_userr ) ∈ R
U = U ∪ {u}, fs (u) = l
grant_right(s, u, e, α,
grant_option)
s ∈ S, u ∈ U, e ∈ C∪O, α ∈ Rr ,
grant_option ∈ {true, false},
∃c ≥ e : (s, c , α) ∈ Rr , ∃c ≥
e : (user(s), c, α) ∈ Grant
R = R ∪ {(u, e, α)}, ес-
ли grant_option = true,
то Grant = Grant ∪
{(u, e, α)}
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}
A = A ∪ {(s, e, reada)},
F = F ∪ {(e, s, writem)}
( ) 11 / 19
Утверждение
Определение 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
Структурная схема управления доступом
( ) 13 / 19
Хранение меток безопасности
( ) 14 / 19
Обработка меток безопасности
( ) 15 / 19
Схема мандатного управления доступом
( ) 16 / 19
Сравнение механизмов мандатого управления доступом
( ) 17 / 19
Результаты работы
1) Выявлены методы реализации запрещенных информационных
потоков в обход механизмов управления доступом СУБД MySQL
2) Разработана формальная ДП-модель мандатного управления
доступом СУБД MySQL
3) Произведена адаптация построенной модели к механизмам СУБД
MySQL
4) Реализован мандатный механизм управления доступом на уровне
ядра безопасности СУБД MySQL
( ) 18 / 19
Благодарю за внимание!!!
Денис Колегов,
d.n.kolegov@gmail.com
Николай Ткаченко,
n.o.tkachenko@gmail.com
Дмитрий Чернов,
dm.vl.chernov@gmail.com
( ) 19 / 19

Weitere ähnliche Inhalte

Was ist angesagt?

Java осень 2014 занятие 2
Java осень 2014 занятие 2Java осень 2014 занятие 2
Java осень 2014 занятие 2Technopark
 
C++ Базовый. Занятие 05.
C++ Базовый. Занятие 05.C++ Базовый. Занятие 05.
C++ Базовый. Занятие 05.Igor Shkulipa
 
Лекция 4. Стеки и очереди
Лекция 4. Стеки и очередиЛекция 4. Стеки и очереди
Лекция 4. Стеки и очередиMikhail Kurnosov
 
Денис Чистяков: DOM, jQuery и все, все, все
Денис Чистяков: DOM, jQuery и все, все, всеДенис Чистяков: DOM, jQuery и все, все, все
Денис Чистяков: DOM, jQuery и все, все, всеYandex
 
Представление графов в памяти компьютера (c++).
Представление графов в памяти компьютера (c++).Представление графов в памяти компьютера (c++).
Представление графов в памяти компьютера (c++).Olga Maksimenkova
 
Лекция №2. Абстрактные типы данных. ООП. Предмет "Структуры и алгоритмы обраб...
Лекция №2. Абстрактные типы данных. ООП. Предмет "Структуры и алгоритмы обраб...Лекция №2. Абстрактные типы данных. ООП. Предмет "Структуры и алгоритмы обраб...
Лекция №2. Абстрактные типы данных. ООП. Предмет "Структуры и алгоритмы обраб...Nikolay Grebenshikov
 
DevConf. Дмитрий Сошников - ECMAScript 6
DevConf. Дмитрий Сошников - ECMAScript 6DevConf. Дмитрий Сошников - ECMAScript 6
DevConf. Дмитрий Сошников - ECMAScript 6Dmitry Soshnikov
 
C++ и базы данных
C++ и базы данныхC++ и базы данных
C++ и базы данныхmcroitor
 
20100425 model based_testing_kuliamin_lectures01-03
20100425 model based_testing_kuliamin_lectures01-0320100425 model based_testing_kuliamin_lectures01-03
20100425 model based_testing_kuliamin_lectures01-03Computer Science Club
 

Was ist angesagt? (10)

3. Массивы в C#
3. Массивы в C#3. Массивы в C#
3. Массивы в C#
 
Java осень 2014 занятие 2
Java осень 2014 занятие 2Java осень 2014 занятие 2
Java осень 2014 занятие 2
 
C++ Базовый. Занятие 05.
C++ Базовый. Занятие 05.C++ Базовый. Занятие 05.
C++ Базовый. Занятие 05.
 
Лекция 4. Стеки и очереди
Лекция 4. Стеки и очередиЛекция 4. Стеки и очереди
Лекция 4. Стеки и очереди
 
Денис Чистяков: DOM, jQuery и все, все, все
Денис Чистяков: DOM, jQuery и все, все, всеДенис Чистяков: DOM, jQuery и все, все, все
Денис Чистяков: DOM, jQuery и все, все, все
 
Представление графов в памяти компьютера (c++).
Представление графов в памяти компьютера (c++).Представление графов в памяти компьютера (c++).
Представление графов в памяти компьютера (c++).
 
Лекция №2. Абстрактные типы данных. ООП. Предмет "Структуры и алгоритмы обраб...
Лекция №2. Абстрактные типы данных. ООП. Предмет "Структуры и алгоритмы обраб...Лекция №2. Абстрактные типы данных. ООП. Предмет "Структуры и алгоритмы обраб...
Лекция №2. Абстрактные типы данных. ООП. Предмет "Структуры и алгоритмы обраб...
 
DevConf. Дмитрий Сошников - ECMAScript 6
DevConf. Дмитрий Сошников - ECMAScript 6DevConf. Дмитрий Сошников - ECMAScript 6
DevConf. Дмитрий Сошников - ECMAScript 6
 
C++ и базы данных
C++ и базы данныхC++ и базы данных
C++ и базы данных
 
20100425 model based_testing_kuliamin_lectures01-03
20100425 model based_testing_kuliamin_lectures01-0320100425 model based_testing_kuliamin_lectures01-03
20100425 model based_testing_kuliamin_lectures01-03
 

Ähnlich wie 23may 1845 valday young school tkachenko 'development and implementation of the mandatory access control mechanism in my sql'

Разработка и реализация мандатного механизма управления доступом в СУБД MySQL...
Разработка и реализация мандатного механизма управления доступом в СУБД MySQL...Разработка и реализация мандатного механизма управления доступом в СУБД MySQL...
Разработка и реализация мандатного механизма управления доступом в СУБД MySQL...Denis Kolegov
 
Разработка и реализация механизма мандатного управления доступом в СУБД MySQL...
Разработка и реализация механизма мандатного управления доступом в СУБД MySQL...Разработка и реализация механизма мандатного управления доступом в СУБД MySQL...
Разработка и реализация механизма мандатного управления доступом в СУБД MySQL...Denis Kolegov
 
Java осень 2014 занятие 5
Java осень 2014 занятие 5Java осень 2014 занятие 5
Java осень 2014 занятие 5Technopark
 
Web осень 2013 лекция 6
Web осень 2013 лекция 6Web осень 2013 лекция 6
Web осень 2013 лекция 6Technopark
 
Моделирование безопасности управления доступом и информационными потоками на ...
Моделирование безопасности управления доступом и информационными потоками на ...Моделирование безопасности управления доступом и информационными потоками на ...
Моделирование безопасности управления доступом и информационными потоками на ...Denis Kolegov
 
Моделирование безопасности управления доступом и информационными потоками на ...
Моделирование безопасности управления доступом и информационными потоками на ...Моделирование безопасности управления доступом и информационными потоками на ...
Моделирование безопасности управления доступом и информационными потоками на ...Positive Hack Days
 
Взломать Web-сайт на ASP.NET? Сложно, но можно!
Взломать Web-сайт на ASP.NET? Сложно, но можно!Взломать Web-сайт на ASP.NET? Сложно, но можно!
Взломать Web-сайт на ASP.NET? Сложно, но можно!Vladimir Kochetkov
 
C# Web. Занятие 04.
C# Web. Занятие 04.C# Web. Занятие 04.
C# Web. Занятие 04.Igor Shkulipa
 
Архитектура. Доступноять программных систем.
Архитектура. Доступноять программных систем.Архитектура. Доступноять программных систем.
Архитектура. Доступноять программных систем.Dima Dzuba
 
C# Desktop. Занятие 06.
C# Desktop. Занятие 06.C# Desktop. Занятие 06.
C# Desktop. Занятие 06.Igor Shkulipa
 
СУБД PostgreSQL ИЗ ДИСТРИБУТИВА ОПЕРАЦИОННОЙ СИСТЕМЫ СПЕЦИАЛЬНОГО НАЗНАЧЕНИЯ ...
СУБД PostgreSQL ИЗ ДИСТРИБУТИВА ОПЕРАЦИОННОЙ СИСТЕМЫ СПЕЦИАЛЬНОГО НАЗНАЧЕНИЯ ...СУБД PostgreSQL ИЗ ДИСТРИБУТИВА ОПЕРАЦИОННОЙ СИСТЕМЫ СПЕЦИАЛЬНОГО НАЗНАЧЕНИЯ ...
СУБД PostgreSQL ИЗ ДИСТРИБУТИВА ОПЕРАЦИОННОЙ СИСТЕМЫ СПЕЦИАЛЬНОГО НАЗНАЧЕНИЯ ...Michael Oreshin
 
Технологии анализа бинарного кода приложений: требования, проблемы, инструменты
Технологии анализа бинарного кода приложений: требования, проблемы, инструментыТехнологии анализа бинарного кода приложений: требования, проблемы, инструменты
Технологии анализа бинарного кода приложений: требования, проблемы, инструментыPositive Development User Group
 
Стажировка-2013, разработчики, занятие 3. Абстракции, контракты, соглашения (...
Стажировка-2013, разработчики, занятие 3. Абстракции, контракты, соглашения (...Стажировка-2013, разработчики, занятие 3. Абстракции, контракты, соглашения (...
Стажировка-2013, разработчики, занятие 3. Абстракции, контракты, соглашения (...7bits
 
Detecting logged in user's abnormal activity
Detecting logged in user's abnormal activityDetecting logged in user's abnormal activity
Detecting logged in user's abnormal activityArvids Godjuks
 
Как пройти собеседование и получить первую работу на Swift
Как пройти собеседование и получить первую работу на SwiftКак пройти собеседование и получить первую работу на Swift
Как пройти собеседование и получить первую работу на SwiftAnton Loginov
 
Java осень 2013 лекция 8
Java осень 2013 лекция 8Java осень 2013 лекция 8
Java осень 2013 лекция 8Technopark
 
Управление Данными. Лекция 1
Управление Данными. Лекция 1Управление Данными. Лекция 1
Управление Данными. Лекция 1Dmitriy Krukov
 
Программируемость фабрики ACI. Объектная модель, REST API, ACI Python SDK
Программируемость фабрики ACI. Объектная модель, REST API, ACI Python SDKПрограммируемость фабрики ACI. Объектная модель, REST API, ACI Python SDK
Программируемость фабрики ACI. Объектная модель, REST API, ACI Python SDKCisco Russia
 
Лабораторная работа № 4. МАПО - диаграммы uml
Лабораторная работа № 4. МАПО - диаграммы umlЛабораторная работа № 4. МАПО - диаграммы uml
Лабораторная работа № 4. МАПО - диаграммы umlPresentationCreater
 

Ähnlich wie 23may 1845 valday young school tkachenko 'development and implementation of the mandatory access control mechanism in my sql' (20)

Разработка и реализация мандатного механизма управления доступом в СУБД MySQL...
Разработка и реализация мандатного механизма управления доступом в СУБД MySQL...Разработка и реализация мандатного механизма управления доступом в СУБД MySQL...
Разработка и реализация мандатного механизма управления доступом в СУБД MySQL...
 
Разработка и реализация механизма мандатного управления доступом в СУБД MySQL...
Разработка и реализация механизма мандатного управления доступом в СУБД MySQL...Разработка и реализация механизма мандатного управления доступом в СУБД MySQL...
Разработка и реализация механизма мандатного управления доступом в СУБД MySQL...
 
Java осень 2014 занятие 5
Java осень 2014 занятие 5Java осень 2014 занятие 5
Java осень 2014 занятие 5
 
Web осень 2013 лекция 6
Web осень 2013 лекция 6Web осень 2013 лекция 6
Web осень 2013 лекция 6
 
Моделирование безопасности управления доступом и информационными потоками на ...
Моделирование безопасности управления доступом и информационными потоками на ...Моделирование безопасности управления доступом и информационными потоками на ...
Моделирование безопасности управления доступом и информационными потоками на ...
 
Моделирование безопасности управления доступом и информационными потоками на ...
Моделирование безопасности управления доступом и информационными потоками на ...Моделирование безопасности управления доступом и информационными потоками на ...
Моделирование безопасности управления доступом и информационными потоками на ...
 
Взломать Web-сайт на ASP.NET? Сложно, но можно!
Взломать Web-сайт на ASP.NET? Сложно, но можно!Взломать Web-сайт на ASP.NET? Сложно, но можно!
Взломать Web-сайт на ASP.NET? Сложно, но можно!
 
C# Web. Занятие 04.
C# Web. Занятие 04.C# Web. Занятие 04.
C# Web. Занятие 04.
 
A2
A2A2
A2
 
Архитектура. Доступноять программных систем.
Архитектура. Доступноять программных систем.Архитектура. Доступноять программных систем.
Архитектура. Доступноять программных систем.
 
C# Desktop. Занятие 06.
C# Desktop. Занятие 06.C# Desktop. Занятие 06.
C# Desktop. Занятие 06.
 
СУБД PostgreSQL ИЗ ДИСТРИБУТИВА ОПЕРАЦИОННОЙ СИСТЕМЫ СПЕЦИАЛЬНОГО НАЗНАЧЕНИЯ ...
СУБД PostgreSQL ИЗ ДИСТРИБУТИВА ОПЕРАЦИОННОЙ СИСТЕМЫ СПЕЦИАЛЬНОГО НАЗНАЧЕНИЯ ...СУБД PostgreSQL ИЗ ДИСТРИБУТИВА ОПЕРАЦИОННОЙ СИСТЕМЫ СПЕЦИАЛЬНОГО НАЗНАЧЕНИЯ ...
СУБД PostgreSQL ИЗ ДИСТРИБУТИВА ОПЕРАЦИОННОЙ СИСТЕМЫ СПЕЦИАЛЬНОГО НАЗНАЧЕНИЯ ...
 
Технологии анализа бинарного кода приложений: требования, проблемы, инструменты
Технологии анализа бинарного кода приложений: требования, проблемы, инструментыТехнологии анализа бинарного кода приложений: требования, проблемы, инструменты
Технологии анализа бинарного кода приложений: требования, проблемы, инструменты
 
Стажировка-2013, разработчики, занятие 3. Абстракции, контракты, соглашения (...
Стажировка-2013, разработчики, занятие 3. Абстракции, контракты, соглашения (...Стажировка-2013, разработчики, занятие 3. Абстракции, контракты, соглашения (...
Стажировка-2013, разработчики, занятие 3. Абстракции, контракты, соглашения (...
 
Detecting logged in user's abnormal activity
Detecting logged in user's abnormal activityDetecting logged in user's abnormal activity
Detecting logged in user's abnormal activity
 
Как пройти собеседование и получить первую работу на Swift
Как пройти собеседование и получить первую работу на SwiftКак пройти собеседование и получить первую работу на Swift
Как пройти собеседование и получить первую работу на Swift
 
Java осень 2013 лекция 8
Java осень 2013 лекция 8Java осень 2013 лекция 8
Java осень 2013 лекция 8
 
Управление Данными. Лекция 1
Управление Данными. Лекция 1Управление Данными. Лекция 1
Управление Данными. Лекция 1
 
Программируемость фабрики ACI. Объектная модель, REST API, ACI Python SDK
Программируемость фабрики ACI. Объектная модель, REST API, ACI Python SDKПрограммируемость фабрики ACI. Объектная модель, REST API, ACI Python SDK
Программируемость фабрики ACI. Объектная модель, REST API, ACI Python SDK
 
Лабораторная работа № 4. МАПО - диаграммы uml
Лабораторная работа № 4. МАПО - диаграммы umlЛабораторная работа № 4. МАПО - диаграммы uml
Лабораторная работа № 4. МАПО - диаграммы uml
 

Mehr von Positive Hack Days

Инструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release NotesИнструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release NotesPositive Hack Days
 
Как мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows DockerКак мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows DockerPositive Hack Days
 
Типовая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesТиповая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesPositive Hack Days
 
Аналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + QlikАналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + QlikPositive Hack Days
 
Использование анализатора кода SonarQube
Использование анализатора кода SonarQubeИспользование анализатора кода SonarQube
Использование анализатора кода SonarQubePositive Hack Days
 
Развитие сообщества Open DevOps Community
Развитие сообщества Open DevOps CommunityРазвитие сообщества Open DevOps Community
Развитие сообщества Open DevOps CommunityPositive Hack Days
 
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...Positive Hack Days
 
Автоматизация построения правил для Approof
Автоматизация построения правил для ApproofАвтоматизация построения правил для Approof
Автоматизация построения правил для ApproofPositive Hack Days
 
Мастер-класс «Трущобы Application Security»
Мастер-класс «Трущобы Application Security»Мастер-класс «Трущобы Application Security»
Мастер-класс «Трущобы Application Security»Positive Hack Days
 
Формальные методы защиты приложений
Формальные методы защиты приложенийФормальные методы защиты приложений
Формальные методы защиты приложенийPositive Hack Days
 
Эвристические методы защиты приложений
Эвристические методы защиты приложенийЭвристические методы защиты приложений
Эвристические методы защиты приложенийPositive Hack Days
 
Теоретические основы Application Security
Теоретические основы Application SecurityТеоретические основы Application Security
Теоретические основы Application SecurityPositive Hack Days
 
От экспериментального программирования к промышленному: путь длиной в 10 лет
От экспериментального программирования к промышленному: путь длиной в 10 летОт экспериментального программирования к промышленному: путь длиной в 10 лет
От экспериментального программирования к промышленному: путь длиной в 10 летPositive Hack Days
 
Уязвимое Android-приложение: N проверенных способов наступить на грабли
Уязвимое Android-приложение: N проверенных способов наступить на граблиУязвимое Android-приложение: N проверенных способов наступить на грабли
Уязвимое Android-приложение: N проверенных способов наступить на граблиPositive Hack Days
 
Требования по безопасности в архитектуре ПО
Требования по безопасности в архитектуре ПОТребования по безопасности в архитектуре ПО
Требования по безопасности в архитектуре ПОPositive Hack Days
 
Формальная верификация кода на языке Си
Формальная верификация кода на языке СиФормальная верификация кода на языке Си
Формальная верификация кода на языке СиPositive Hack Days
 
Механизмы предотвращения атак в ASP.NET Core
Механизмы предотвращения атак в ASP.NET CoreМеханизмы предотвращения атак в ASP.NET Core
Механизмы предотвращения атак в ASP.NET CorePositive Hack Days
 
SOC для КИИ: израильский опыт
SOC для КИИ: израильский опытSOC для КИИ: израильский опыт
SOC для КИИ: израильский опытPositive Hack Days
 
Honeywell Industrial Cyber Security Lab & Services Center
Honeywell Industrial Cyber Security Lab & Services CenterHoneywell Industrial Cyber Security Lab & Services Center
Honeywell Industrial Cyber Security Lab & Services CenterPositive Hack Days
 
Credential stuffing и брутфорс-атаки
Credential stuffing и брутфорс-атакиCredential stuffing и брутфорс-атаки
Credential stuffing и брутфорс-атакиPositive Hack Days
 

Mehr von Positive Hack Days (20)

Инструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release NotesИнструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release Notes
 
Как мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows DockerКак мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows Docker
 
Типовая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesТиповая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive Technologies
 
Аналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + QlikАналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + Qlik
 
Использование анализатора кода SonarQube
Использование анализатора кода SonarQubeИспользование анализатора кода SonarQube
Использование анализатора кода SonarQube
 
Развитие сообщества Open DevOps Community
Развитие сообщества Open DevOps CommunityРазвитие сообщества Open DevOps Community
Развитие сообщества Open DevOps Community
 
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
 
Автоматизация построения правил для Approof
Автоматизация построения правил для ApproofАвтоматизация построения правил для Approof
Автоматизация построения правил для Approof
 
Мастер-класс «Трущобы Application Security»
Мастер-класс «Трущобы Application Security»Мастер-класс «Трущобы Application Security»
Мастер-класс «Трущобы Application Security»
 
Формальные методы защиты приложений
Формальные методы защиты приложенийФормальные методы защиты приложений
Формальные методы защиты приложений
 
Эвристические методы защиты приложений
Эвристические методы защиты приложенийЭвристические методы защиты приложений
Эвристические методы защиты приложений
 
Теоретические основы Application Security
Теоретические основы Application SecurityТеоретические основы Application Security
Теоретические основы Application Security
 
От экспериментального программирования к промышленному: путь длиной в 10 лет
От экспериментального программирования к промышленному: путь длиной в 10 летОт экспериментального программирования к промышленному: путь длиной в 10 лет
От экспериментального программирования к промышленному: путь длиной в 10 лет
 
Уязвимое Android-приложение: N проверенных способов наступить на грабли
Уязвимое Android-приложение: N проверенных способов наступить на граблиУязвимое Android-приложение: N проверенных способов наступить на грабли
Уязвимое Android-приложение: N проверенных способов наступить на грабли
 
Требования по безопасности в архитектуре ПО
Требования по безопасности в архитектуре ПОТребования по безопасности в архитектуре ПО
Требования по безопасности в архитектуре ПО
 
Формальная верификация кода на языке Си
Формальная верификация кода на языке СиФормальная верификация кода на языке Си
Формальная верификация кода на языке Си
 
Механизмы предотвращения атак в ASP.NET Core
Механизмы предотвращения атак в ASP.NET CoreМеханизмы предотвращения атак в ASP.NET Core
Механизмы предотвращения атак в ASP.NET Core
 
SOC для КИИ: израильский опыт
SOC для КИИ: израильский опытSOC для КИИ: израильский опыт
SOC для КИИ: израильский опыт
 
Honeywell Industrial Cyber Security Lab & Services Center
Honeywell Industrial Cyber Security Lab & Services CenterHoneywell Industrial Cyber Security Lab & Services Center
Honeywell Industrial Cyber Security Lab & Services Center
 
Credential stuffing и брутфорс-атаки
Credential stuffing и брутфорс-атакиCredential stuffing и брутфорс-атаки
Credential stuffing и брутфорс-атаки
 

23may 1845 valday young school tkachenko 'development and implementation of the mandatory access control mechanism in my sql'

  • 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
  • 6. Исследование управления доступом в MySQL user> insert tab2 values((select col1 from tab1 limit 1)); ( ) 6 / 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 Ss = Ss ∪ {s}, fs (s) = fs (u), user (s) = u create_user(s, u, l) s ∈ S, user(s) ∈ Lu, u ∈ U, l ≤ fs (user(s)), (user(s), c0, create_userr ) ∈ R U = U ∪ {u}, fs (u) = l grant_right(s, u, e, α, grant_option) s ∈ S, u ∈ U, e ∈ C∪O, α ∈ Rr , grant_option ∈ {true, false}, ∃c ≥ e : (s, c , α) ∈ Rr , ∃c ≥ e : (user(s), c, α) ∈ Grant R = R ∪ {(u, e, α)}, ес- ли grant_option = true, то Grant = Grant ∪ {(u, e, α)} 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} 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
  • 17. Сравнение механизмов мандатого управления доступом ( ) 17 / 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