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

Отправьте статью сегодня! Журнал выйдет 28 декабря, печатный экземпляр отправим 1 января.

Опубликовать статью в журнале

Автор:

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

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

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

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

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

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



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

Ключевые слова: БД, СУБД, ролевая политика безопасности, 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, PRIVILEGE, ROLE, баз данных, привилегия, битовый массив, последующий анализ.


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

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

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

Процесс разработки программного продукта по методологии SCRUM

В статье авторы раскрывают процесс разработки программного продукта по методологии SCRUM с использованием экстремального программирования.

Роль SQL в среде облачных баз данных

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

Обработка конкурентных транзакций в распределенных системах на примере Java

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

Разработка программного модуля защиты информации методом стеганографии

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

Анализ производительности и преимуществ разных подходов в управлении данными SQL и NoSQL

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

Создание BPM-системы на основе базы данных SQL при поддержке технологии REST API

В статье авторы пытаются определить технологии и механизмы работы bpm системы, написанной на чистом SQL, при поддержке технологии REST API для интероперабельности системы.

Использование программной системы MPRIORITY для принятия оптимального решения

Проведено исследование диалоговой системы «MPRIORITY 1.0» на предмет помощи в принятии решения, на рядовом примере покупки внешнего жёсткого диска. Также были проведены сравнения данных предложенных программой с собственными расчётами.

Методы защиты доступа в ERP-системах: идентификация и аутентификация

В статье рассмотрена проблема обеспечения защиты доступа в ERP — системах. Описаны основные методы идентификации и аутентификации, принципы их работы. Выделены их достоинства и недостатки.

Принципы разработки и создания структуры базы данных

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

Современные программные продукты для анализа данных

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

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

Процесс разработки программного продукта по методологии SCRUM

В статье авторы раскрывают процесс разработки программного продукта по методологии SCRUM с использованием экстремального программирования.

Роль SQL в среде облачных баз данных

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

Обработка конкурентных транзакций в распределенных системах на примере Java

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

Разработка программного модуля защиты информации методом стеганографии

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

Анализ производительности и преимуществ разных подходов в управлении данными SQL и NoSQL

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

Создание BPM-системы на основе базы данных SQL при поддержке технологии REST API

В статье авторы пытаются определить технологии и механизмы работы bpm системы, написанной на чистом SQL, при поддержке технологии REST API для интероперабельности системы.

Использование программной системы MPRIORITY для принятия оптимального решения

Проведено исследование диалоговой системы «MPRIORITY 1.0» на предмет помощи в принятии решения, на рядовом примере покупки внешнего жёсткого диска. Также были проведены сравнения данных предложенных программой с собственными расчётами.

Методы защиты доступа в ERP-системах: идентификация и аутентификация

В статье рассмотрена проблема обеспечения защиты доступа в ERP — системах. Описаны основные методы идентификации и аутентификации, принципы их работы. Выделены их достоинства и недостатки.

Принципы разработки и создания структуры базы данных

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

Современные программные продукты для анализа данных

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

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