Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Безопасность систем баз данных.docx
Скачиваний:
8
Добавлен:
01.05.2025
Размер:
46 Кб
Скачать
☆

Реализация мандатной модели субд Oracle

Мандатная модель доступа характерна для случая, когда возможность конкретных действий с данными или документами определяется внешним и обычно глобальным собственником информации. Основная идея мандатной модели доступа состоит в приписывании объектам и субъектам доступа меток. Если метки объекта и субъекта соответствуют в некотором смысле, то субъект получает право на выполнение определенных действий с объектом.

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

Реализации мандатной технологии в Oracle наложена на реализацию дискреционной модели. Возможность доступа к данным проходит проверку в 2 этапа:

  1. Проверка возможности доступа в соответствии с дискреционной моделью

  2. Проверка возможности доступа в соответствии со мандатной моделью

В интерпретации Oracle метка безопасности представляет собой 3-ку элементов: m = <a, b, g>

  1. а – Элемент линейно-упорядоченного множества А

  2. b – Подмножество элементов из множества B

  3. g – элемент иерархически упорядоченного множества G

В терминологии Oracle множество А – уровни доступа (levels), B – отделения (compartments), G – группы (groups).

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

Реализация мандатного доступа предполагает установке специального программного компонента (Oracle Lable Security).

Корректность установки компонентов OLS можно проверить: во-первых при подключении к серверу БД (она появляется в списке установленных компонентов), во-вторых нужно удостовериться в появлении нового пользователя LBACSYS с набором принадлежащих ему объектов.

>select object_type, count (*)

From dba_objects

Where owner = ‘LBACSYS’

Group by object_type;

>alter user LBACSYS identified by lbacpsw

Пользователь LBACSYS уполномочен осуществлять управление метками доступа. Управление выполняется вызовом различных процедур и спец-пакетов, собственником которых является LBACSYS. В Oracle метка доступа ассоциируется с каждой строкой таблицы, что реализуется добавлением в таблицу дополнительного столбца. Технология мандатного управления доступом рассматривается в форме некоторого абстрактного объекта в политике безопасности. Создание, изменение и уничтожение политики безопасности выполняется процедурами из пакета SA_STSDBA, а процедуры: create_policy, alter_policy, drop_policy.

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

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

При создании политики безопасности автоматически создается роль <имя политики>_DBA

>connect LBACSYS/lbacpsw;

>exec SA_SYSDBA.CREATE_POLICY (‘ols_p1’);

>connect system/*****;

>exec SA_SYSDBA.CREATE_POLICY (‘ols_p2’);

Не смотря на то, что метка безопасности имеет 3-х компонентную структуру, обязательным является только указание уровня доступа.

Теоретически допускается до 10000 различных уровней секретности.

Уровни секретности должны образовывать строгую иерархию. Отделения должны задавать непересекающиеся множества, обычно ассоциируемые с функциональными подразделениями некоторой общей структуры. Группы могут образовывать иерархические структуры, и обычно ассоциируются с территориальным делением некоторой глобальной структуры. Не обязательно присутствующие в метке доступа параметры отделения и доступа задают более тонкую детализацию для текущего уровня секретности. Уровень секретности отделения и группа описываются тройками – число, краткое название, развернутое название. Краткое название – может содержать до 10 символов, развернутое – до 80. Число для уровней секретности позволяет определять возможность доступа. Если уровень субъекта меньше, чем уровень объекта, то доступа нет. Для отделения и группы это число не несет никакого содержательного смысла, а служит только идентификатором для определения соответствия.