Экспорт данных о ролевой политике безопасности из Системы управления базами данных ORACLE | Статья в журнале «Молодой ученый»

Автор:

Рубрика: Технические науки

Опубликовано в Молодой учёный №49 (183) декабрь 2017 г.

Дата публикации: 11.12.2017

Статья просмотрена: 65 раз

Библиографическое описание:

Омаров М. Б. Экспорт данных о ролевой политике безопасности из Системы управления базами данных ORACLE // Молодой ученый. — 2017. — №49. — С. 76-78. — URL https://moluch.ru/archive/183/46997/ (дата обращения: 19.09.2018).



В данной статье рассмотрен алгоритм экспорта ролевой политики безопасности из СУБД для последующего анализа.

Ключевые слова: БД, СУБД, ролевая политика безопасности, ORACLE, экспорт данных.

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

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

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

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

Общая информация о ролевой политике безопасности.

Основные элементы базовой модели ролевого разграничения доступа [1]:

  1. U — множество пользователей, зарегистрированных в системе.
  2. R — множество ролей, введённых в системе.
  3. P — множество привилегий системы.
  4. — отображение, определяющее множество привилегий для заданной роли.
  5. — отображение, определяющее множество ролей, на которые пользователь может быть авторизован.

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

  1. Каждой роли назначается набор полномочий.
  2. Каждому пользователю устанавливается множество доступных ему ролей.

Ролевая политика безопасности достаточно разнообразна, поэтому в ней можно выделить различные ролевые модели [2]:

– С иерархической организацией ролей в системе.

– Статическая модель распределения обязанностей (наличие взаимоисключающих ролей на все сеансы системы).

– Динамическая модель распределения обязанностей (наличие взаимоисключающих ролей на один сеанс).

– С количественными ограничениями по ролям.

– С группировкой ролей и полномочий.

Ролевая политика безопасности в ORACLE.

В СУБД ORACLE существует два типа привилегий: системные и объектные. Системные позволяют осуществлять различные задачи для администрирования БД, объектные позволяют совершать действия над конкретным объектом (выборка, обновление, удаление и т. д.).

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

Роли являются очень действенным и практичным механизмом для выдачи прав пользователям. СУБД ORACLE обеспечивает ряд предопределенных ролей для помощи в администрировании, например: CONNECT, RESOURCE, DBA и т. д. Но, разумеется, для реализации собственной политики безопасности предпочтительнее создать набор ролей, специфичных для конкретных бизнес-процессов, протекающих в системе.

Основные сведения о ролях:

– Роли могут быть предоставлены системные и объектные привилегии.

– Любая роль может быть предоставлена любому пользователю.

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

– Роль может требовать прохождение аутентификации.

Пользователь автоматически имеет все объектные привилегии на объекты, которые находятся в его схеме. Чтобы выдать объектные привилегии ролям или пользователям, используется оператор GRANT, отозвать — REVOKE. Для того чтобы предоставить привилегию, должно быть выполнено одно из следующих условий:

  1. Пользователь, предоставляющий права на объект, должен являться его владельцем.
  2. Пользователь имеет системную привилегию GRANT ANY OBJECT PRIVILEGE, которая даёт ему возможность предоставлять и отзывать привилегии от имени владельца.
  3. При выдаче права доступа от владельца объекта была указана опция WITH GRANT OPTION.

Основные источники информации.

Таблица DBA_ROLES содержит информацию обо всех ролях, которые имеются в базе данных, включая системные предопределённые роли.

В данной работе производилась выборка одного столбца из данной таблицы — ROLE.

Таблица ROLE_TAB_PRIVS включает в себя информацию обо всех привилегиях, выданных ролям, имеющимся в системе. Выборка производится для каждой роли с условием WHERE ROLE = ROLE_NAME. Необходимые для работы столбцы таблицы: TABLE_NAME, PRIVILEGE, OWNER.

Форматы представления данных.

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

В связи с этим появляется необходимость в экспорте ролевой политики безопасности из базы данных в каком-либо формате для последующего анализа. Форматы для хранения ролевого графа GraphML и GraphSon.

GraphML содержит представление графа в XML-подобном синтаксисе. Он широко используется библиотеками и различными инструментами для обработки и визуализации графов.

GraphSon содержит представление графа в JSON-подобном синтаксисе. Этот формат появился в ранних версиях TinkerPop, его использование может быть полезным, если граф должен обрабатываться кодом языков, не использующих Java Virtual Machine (JVM). Например, JavaScript,.NET, Python.

Экспорт данных.

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

  1. «ALTER» — 0
  2. «DELETE» — 1
  3. «EXECUTE» — 2
  4. «DEBUG» — 3
  5. «FLASHBACK» — 4
  6. «INDEX» — 5
  7. «INSERT» — 6
  8. «ON COMMIT REFRESH» — 7
  9. «QUERY REWRITE» — 8
  10. «READ» — 9
  11. «REFERENCES» — 10
  12. «SELECT» — 11
  13. «UNDER» — 12
  14. «UPDATE» — 13

Данный список, впоследствии, можно при необходимости расширить путём внесения нового соответствия. При записи данных в формат (GraphML или GraphSon) битовый массив конвертируется в битовую строку.

Пример: роль TEST_ROLE имеет права на удаление записей, добавление записей, обновление записей и выборку из объекта TEST_TABLE. Поэтому битовая строка прав TEST_ROLE на TEST_TABLE будет выглядеть следующим образом: 01000010000101.

Основные этапы при экспорте:

  1. Поиск всех ролей в базе данных.
  2. Для каждой роли запуск процедуры поиска выданных привилегий на объекты системы.
  3. Сохранение роли и списка её привилегий на объекты.
  4. Заполнение графа с помощью Graph API от Apache TinkerPop (фрэймворк для работы с графами).
  5. Запись графа в выбранном формате.

Заключение

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

Литература:

  1. Девянин П. Н. Модели безопасности компьютерных систем. М.: Издательский центр «Академия» — 2005г, 144 с.
  2. Гайдамакин H. A. Теоретические основы компьютерной безопасности. Учебное пособие. Екатеринбург: изд-во Урал. Ун-та — 2008, 212 с.
Основные термины (генерируются автоматически): ORACLE, ролевая политика безопасности, роль, GRANT, баз данных, ROLE, привилегия, PRIVILEGE, последующий анализ, битовый массив.


Похожие статьи

СУБД Oracle: DDL триггер, как средство контроля изменения...

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

СУБД Oracle имеет в своем арсенале встроенный механизма аудита изменений структуры БД и данных, но мы его рассматривать не будем, т.к. анализ и тем более

grant select on sys.v_$session to metaxpo

Реализация базы данных для лаборатории микроскопии

1. Анализ предметной области. База данных (далее — БД) разрабатывается для сотрудников и гостей WEB-приложения.

Первичный ключ: код типа пользователя (роли). name_of_role_user. varchar. Not null. нет. Наименование привилегий.

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

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

Выбор SQL Server для медицинского учреждения

безопасность хранения информации. На сегодня известно большое число различных серверов баз данных SQL. Остановимся более подробно на следующих трех ведущих серверных СУБДOracle Database, Microsoft SQL Server и PostgreSQL Pro...

Методы выполнения запросов к хранилищу данных в Hadoop...

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

Рис. 1. Популарность баз данных. Нерелационные базы завоёвывают популярность за последние 5 лет.

Сравнение производительности ORM-библиотек как критерия...

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

Массивы» для студентов бакалавриата.

Разработка базы данных для отдела кадров в программе...

Логический уровень представления модели данных — это уровень абстрактного, понятийного отображения информационных массивов, при котором подчёркивается предметная сторона

Автоматизированная разработка базы данных Oracle с помощью CA ERWin Data Modeler.

Анализ атак на повышение привилегий | Статья в журнале...

Атаки на переполнение буфера. Буфер представляет собой непрерывный участок памяти, такой как массив или указатель в языке Cи.

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

BigData: анализ больших данных сегодня | Статья в журнале...

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

Сравнительный анализ алгоритмов сортировки данных в массивах.

Роль больших данных в глубинном обучении.

Обсуждение

Социальные комментарии Cackle

Похожие статьи

СУБД Oracle: DDL триггер, как средство контроля изменения...

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

СУБД Oracle имеет в своем арсенале встроенный механизма аудита изменений структуры БД и данных, но мы его рассматривать не будем, т.к. анализ и тем более

grant select on sys.v_$session to metaxpo

Реализация базы данных для лаборатории микроскопии

1. Анализ предметной области. База данных (далее — БД) разрабатывается для сотрудников и гостей WEB-приложения.

Первичный ключ: код типа пользователя (роли). name_of_role_user. varchar. Not null. нет. Наименование привилегий.

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

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

Выбор SQL Server для медицинского учреждения

безопасность хранения информации. На сегодня известно большое число различных серверов баз данных SQL. Остановимся более подробно на следующих трех ведущих серверных СУБДOracle Database, Microsoft SQL Server и PostgreSQL Pro...

Методы выполнения запросов к хранилищу данных в Hadoop...

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

Рис. 1. Популарность баз данных. Нерелационные базы завоёвывают популярность за последние 5 лет.

Сравнение производительности ORM-библиотек как критерия...

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

Массивы» для студентов бакалавриата.

Разработка базы данных для отдела кадров в программе...

Логический уровень представления модели данных — это уровень абстрактного, понятийного отображения информационных массивов, при котором подчёркивается предметная сторона

Автоматизированная разработка базы данных Oracle с помощью CA ERWin Data Modeler.

Анализ атак на повышение привилегий | Статья в журнале...

Атаки на переполнение буфера. Буфер представляет собой непрерывный участок памяти, такой как массив или указатель в языке Cи.

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

BigData: анализ больших данных сегодня | Статья в журнале...

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

Сравнительный анализ алгоритмов сортировки данных в массивах.

Роль больших данных в глубинном обучении.

Задать вопрос