Главная » SQL, Базы данных » МАНДАТНАЯ СХЕМА УПРАВЛЕНИЯ ДОСТУПОМ

0

Методы мандатного управления доступом применяются к тем базам данных, в которых хранимая информация имеет достаточно статичную и жесткую структуру, что свойственно,  например,  некоторым  военным  или  правительственным  организациям.  Как отмечалось выше, в разделе 17.1, основная идея состоит в том, что каждому объекту данных присваивается некоторый классификационный уровень (classification level) (или требуемый гриф секретности, например "Совершенно секретно", "Секретно", "Для служебного  пользования" и т.д.), а каждому пользователю предоставляется уровень допуска (clearance level) с градациями, аналогичными существующим классификационным уровням. Предполагается, что эти уровни образуют строгую иерархическую систему (например,

"Совершенно секретно" > "Секретно" > "Для служебного пользования" и т.д.) Тогда исходя из этих положений можно сформулировать два очень простых правила, впервые предложенные Беллом (Bell) иЛа-Падулой (LaPadula) [17.3].

1.  Пользователь i может выполнить выборку данных объекта j только в том случае, если его уровень допуска больше классификационного уровня объекта j или равен ему {простое свойство безопасности — simple security property).

2.  Пользователь i может модифицировать объект j только в том случае, если его уро вень допуска равен классификационному уровню объекта j (звездное свойство — star property).

Первое правило достаточно очевидно, тогда как второе требует дополнительных пояснений. Прежде всего, следует отметить, что иным  образом  второе правило можно сформулировать так: "По определению любая информация, записанная пользователем i, автоматически приобретает классификационный уровень, который равен уровню допуска пользователя  i".  Подобное  правило  необходимо,  например,  для  того,  чтобы  предотвратить  запись  секретных  данных,  выполняемую  пользователем  с  уровнем  допуска "Секретно", в файл с меньшим уровнем классификации, что нарушит всю систему секретности.

Примечание. В отношении только операций собственно записи (INSERT), во втором правиле достаточно было бы потребовать, чтобы уровень допуска  пользователя i был

меньше классификационного уровня объекта j или равен ему, и именно это правило часто приводится в литературе. Но тогда пользователи могли бы записывать то, что потом сами не смогли бы прочесть! (Хотя бывает так, что кое-кто с трудом может прочесть даже собственный рукописный текст… Возможно, применение более слабой формы второго правила все-таки не совсем лишено смысла.)

Особенно большое внимание методам мандатного управления доступом стало  уделяться в начале 1990-х годов. Дело в том, что согласно требованиям Министерства обороны США, любая используемая в этом ведомстве СУБД должна непременно поддерживать схему мандатного управления доступом. Поэтому разработчикам  СУБД пришлось вступить в соперничество за скорейшую разработку методов такого управления. Обязательные требования к этой схеме были изложены в двух важных публикациях Министерства обороны, получивших неформальные  названия  "Оранжевая" книга (Orange Book) [17.21] и "Сиреневая" книга (Lavender Book) [17.22]. В "Оранжевой" книге перечислен набор  требований  защиты  для  некоторой  надежной  вычислительной  базы  (Trusted Computing Base — ТСВ), а в "Сиреневой" книге дается интерпретация этих требований в отношении систем баз данных.

Определенные в "Оранжевой" и "Сиреневой" книгах методы мандатного управления доступом на самом деле являются частью более общей классификации уровней защиты,

которые в очень сжатой форме излагаются ниже. Прежде всего, в этих документах определяются четыре класса безопасности — А, В, С и D. Грубо говоря, класс D среди них наименее безопасен, класс С — более безопасен, чем класс D, и т.д. Говорят, что класс D

обеспечивает минимальную, класс С — избирательную, класс В — мандатную и класс А —

проверенную защиту. Ниже кратко рассматриваются классы С, В и А.

■  Избирательная защита. Класс С делится на два подкласса, С1 и С2 (где подкласс С1 менее безопасен, чем подкласс С2), каждый из которых поддерживает избирательное управление доступом, в том смысле, что управление доступом осуществляется по

усмотрению владельца данных (точно так, как описано выше, в разделе 17.2). Кроме того, эти классы характеризуются указанными ниже особенностями.

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

■     В соответствии с требованиями класса С2, необходимо дополнительно органи зовать поддержку учетных записей, построенную на основе процедур примене ния подписей, аудита и изоляции ресурсов.

■     Мандатная защита. Класс В включает требования к методам мандатного управле ния доступом и делится натри подкласса — В1, В2 и ВЗ (где В1 является наименее, а ВЗ — наиболее безопасным подклассом). Определение указанных подклассов приведены ниже.

■     В соответствии с требованиями класса В1, необходимо организовать защиту с использованием меток (это означает, что каждый объект данных в системе должен иметь метку с обозначением присвоенного ему классификационного уровня — "Секретно", "Для служебного пользования" и т.д.). Дополнительно требуется также предусмотреть неформальное описание правил защиты.

■     В соответствии с требованиями класса В2, дополнительно требуется преду смотреть формальное описание правил защиты. Кроме того, необходимо обес печить обнаружение и исключение каналов утечки информации. Таким каналом может быть, например, возможность логического вывода ответа на недопусти мый запрос из ответа на допустимый запрос (см. раздел 17.4) или возможность раскрытия секретных сведений на основании данных о времени, которое за трачивается на выполнение некоторых допустимых вычислений (см. аннота цию к [17.14]).

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

■     Проверенная защита. Класс А является наиболее безопасным, и, согласно его тре бованиям, необходимо математическое доказательство того, что выбранный меха низм защиты является приемлемым и обеспечивает адекватную поддержку уста новленных ограничений защиты (!).

В настоящее время некоторые коммерческие СУБД поддерживают мандатную схему защиты уровня В1. Кроме того, они обычно поддерживают избирательную схему защиты уровня С2.

Терминология. СУБД, в которых поддерживается мандатная схема защиты, часто называют системами с многоуровневой защитой [17.15], [17.18], [17.23] (см. следующий подраздел, "Многоуровневая защита"). В этом же смысле иногда используется термин система, заслуживающая доверия (trusted system) [17.19], [17.21], [17.22].

Многоуровневая защита

Допустим, что требуется применить идеи мандатной схемы управления  доступом к переменной отношения поставщиков S. Для определенности и простоты будем считать, что единицей данных, на уровне которой требуется контролировать доступ, является отдельный кортеж этой переменной отношения. Тогда каждый кортеж должен быть отмечен

Рис. 17.1. Переменная отношения S с присвоенными значениями классификационного уровня (пример)

соответствующим классификационным уровнем, например так, как  показано  на рис. 17.1. (Здесь значение 4 в столбце LEVEL означает уровень "Совершенно секретно", 3 — "Секретно", 2 — "Для служебного пользования".)

Теперь предположим, что пользователи из и U2 имеют уровни доступа 3 ("Секретно") и 2 ("Для служебного пользования"), соответственно. Тогда переменная отношения S для этих пользователей будет выглядеть по-разному! Запрос на выборку сведений обо всех поставщиках со стороны пользователя из  возвратит четыре кортежа с данными о поставщиках с номерами S1, S2, S3 и S5. Аналогичный запрос со стороны пользователя U2 возвратит два кортежа с данными о поставщиках с номерами S1 и S3. Более того, в результатах  выполнения  обоих запросов будут отсутствовать сведения о поставщике с номером S4.

Разобраться в приведенных выше утверждениях можно, применив метод модификации запроса. Рассмотрим приведенный ниже запрос ("Получить сведения о поставщиках из Лондона").

S  WHERE  CITY  =   ‘London’

Система модифицирует этот запрос и приводит его к следующему виду.

S WHERE CITY = ‘London’ AND LEVEL < допуск пользователя

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

INSERT INTO S RELATION { TUPLE { S#    S# ( ‘S4′ ), SNAME NAME ( ‘Baker’ ), STATUS 25,

CITY  ‘Rome’ } } ;

Система не должна отвергать команду INSERT, поскольку в этом случае пользователь U3 в конечном счете узнает о существовании поставщика с номером S4. Такую команду система примет, но модифицирует ее и приведет к следующему виду.

INSERT INTO S RELATION { TUPLE {S#     S # ( ‘ S 4′), SNAME  NAME (

‘Baker’ )> STATUS 25,

CITY   ‘Rome’, LEVEL

3 } } ;

Обратите внимание на то, что в данном случае первичным ключом для переменной отношения  поставщиков является уже не атрибут   {S#},  а комбинация атрибутов

{S#,LEVEL}.

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

Еще о терминологии. Модифицированная указанным образом переменная отношения поставщиков является примером многоуровневой переменной отношения. Та особенность, что одни и те же данные по-разному выглядят для разных пользователей, называется поликонкретизацией (polyinstantiation). В приведенном выше примере с оператором INSERT

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

Операторы  обновления  (UPDATE)  и удаления (DELETE)  обрабатываются  системой аналогично (здесь мы не будем их обсуждать, поскольку более подробно они рассматриваются в некоторых работах, перечисленных в списке литературы для этой главы).

Вопрос. Как вы думаете, не нарушают ли эти подходы упомянутый выше информационный принцип! Обоснуйте свой ответ.

Источник: Дейт К. Дж., Введение в системы баз данных, 8-е издание.: Пер. с англ. — М.: Издательский дом «Вильямс», 2005. — 1328 с.: ил. — Парал. тит. англ.

По теме:

  • Комментарии