Введение в системы БД (542480), страница 156
Текст из файла (страница 156)
Пользователь з может модифицировать объект ) только в том случае, если его уро- вень допуска равен классификационному уровню объекта 1 ("ограничение звания"). Первое правило достаточно очевидно, тогда как второе требует дополнительных разъяснений. Прежде всего, следует отметить, что иначе второе правило можно сформулировать так: "Любая информация, записанная пользователем з, автоматически приобретает классификационный уровень, который равен уровню допуска пользователя х*'. Подобное правило необходимо, например, для того, чтобы предотвратить запись секретных данных, выполняемую пользователем с уровнем допуска "Секретно", в файл с меньшим уровнем классификации, что нарушит всю систему секретности.
Замечание. В отношении только операций собственно "записи" (1йЯЕКТ) во втором правиле достаточно было бы потребовать, чтобы уровень допуска пользователя з был меныае классификационного уровня объекта з или равен ему, и именно это правило часто приводится в литературе. Но тогда пользователи могли бы записывать то, что потом сами не смогли бы прочесть! (Хотя бывает так, что кое-кто с трудом может прочесть даже собственный рукописный текст... Возможно, более слабый вариант второго правила все-такн не совсем нереалистичен.) Особенно большое внимание методам мандатного управления доступом стало уделяться в начале 1990-х годов.
Дело в том, что согласно требованиям Министерства обороны США любая используемая в этом ведомстве СУБД должна непременно поддерживать схему мандатного управления доступом. Поэтому разработчикам СУБД пришлось вступить в соперничество за скорейшую разработку методов такого управления. Обязательные требования к этой схеме были изложены в лвух важных публикациях Министерства обороны, неформально получивших название "Оранжевая" книга (Огапяе Воо1с) (16.19) и "Сиреневая" книга (1анепдег Воо1с) (! 6 20).
В "оранжевой" книге перечислен набор требований защиты лля некоторой "надежной вычислительной базы" (Тщз1ед Сошрц11пя Вазе — ТСВ), а в "сиреневой" книге дастся интерпретация этих требований в отношении систем баз данных. Определенные в (16.191, !16.201 методы мандатного управления доступом на самом деле являются частью более общей классификации уровней зашиты, которые в очень сжатой форме излагаются ниже. Прежде всего, в этих документах определяется четыре класса безопасности — Р, С, В и А. Грубо говоря, класс Р среди них наименее безопасен, класс С вЂ” более безопасен, чем класс Р, и т.д. Говорят, что класс Р обеспечивает минимальную, класс С вЂ” избирательную, класс  — ьчандаюную и класс А — проверенную защиту.
° Избирательная защита. Класс С делится на два подкласса, С! и С2 (где подкласс С! .менее безопасен, чем подкласс С2), каждый из которых поддерживает избирательное управление доступом в том смысле, что управление доступом осуществляется по усмотрению щадтьна данных (точно так, как описано выше, в разделе! 6.2). ° В соответствии с требованиями класса С1 необходимо отделить владение от доступа, т.е, наряду с поддержкой концепции совместного доступа к данным пользователям разрешается иметь собственные защищенные данные. ° В соответствии с требованиями класса С2 необходимо дополнительно организовать поддержку учетных записей, построенную на основе использования процедуры регистрации в системе, контрольного слежения и изоляции ресурсов. м Мандатная защита. Класс В включает требования к методам мандатного управления доступом и делится на три подкласса — В1, В2 и В3 (где В1 является наименее, а ВЗ вЂ” наиболее безопасным подклассом).
б12 Часть е'. Дополнительные аспекты ° В соответствии с требованиями класса В! необходимо организовать "защиту с использованием меток" (это значит, что каждый объект данных в системе должен иметь пометку о присвоенном ему классификационном уровне— "Секретно", "Для служебного пользования" и т.д.). Дополнительно требуется поддержка неформальных операторов определения требований зашиты. ° В соответствии с требованиями класса В2 дополнительно требуется поддержка формальных операторов определения требований защиты. Кроме того, необходимо обеспечить обнаружение и исключение каналов утечки информации.
Таким каналом может быть, например, возможность логического вывода ответа на недопустимый запрос из ответа на допустимый запрос (см. раздел 16.4) или возможность раскрытия секретных сведений на основании времени, которое затрачивается на выполнение некоторых допустимых запросов (см. комментарии к [16.12]). ° В соответствии с требованиями класса ВЗ необхолимо дополнительно обеспечить поддержку контрольного слежения и восстановления данных, а также назначить администратора эащиты системы. ° Проверенная зашита. Класс А является наиболее безопасным, и согласно его требованиям необходимо математическое доказательство того, что выбранный механизм защиты является приемлемым и обеспечивает адекватную поддержку установленных ограничений зашиты (!).
В настоящее время некоторые коммерческие СУБД поддерживают мандатную схему зашиты уровня В1, Кроме того, они обычно поддерживают избирательную схему зашиты уровня С2. Терминология. СУБД, в которых полдерживается мандатная схема зашиты, часто называют системами с многоуровневой зашитой (! 6.13], (16.16], (16.2 !] (см. следующий подраздел).
В этом же смысле иногда используется термин надежная система [16.17], (16.19], [16.20]. Многоуровневая защита Допустим, что требуется применить идеи мандатной схемы управления доступом к переменной-отношению поставщиков Я. Для определенности и простоты будем считать, что единицей данных, на уровне которой требуется контролировать доступ, является отдельный кортеж этой переменной-отношения. Тогда каждый кортеж должен быть отмечен соответствующим классификационным уровнем, например так, как показано на рис.
16.1. (Здесь значение 4 в столбце С!а86 означает уровень "Совершенно секретно", 3 — "Секретно", 2 — "Для служебного пользования".) Рис. 76. (. Переменная-отношение Я с присвоенными значениями классификационного уровня 61З Глава 16. Защита данных Теперь предположим, что пользователи 01 и 02 имеют уровни доступа 3 (" Секретно" ) и 2 ("Для служебного пользования") соответственно. Тогда переменная-отношение Б для этих пользователей будет выглядеть по-разному! Запрос на выборку сведений обо всех поставщиках со стороны пользователя 01 возвратит четыре кортежа с данными о поставщиках с номерами '31', '32', '33' и 'Я5'.
Аналогичный запрос со стороны пользователя 02 возвратит два кортежа с данными о поставщиках с номерами '31' и 'Я3'. Более того, в результатах выполнения обоих запросов будут отсутствовать свеления о поставщике с номером '34'. Разобраться в приведенных выше утверждениях можно, применив метод модификации запроса. Рассмотрим приведенный ниже запрос (" Получить сведения о поставщиках из Лондона" ). Б МНЕКЕ С1ТУ = 'ЬОМРОМ' Система модифицирует этот запрос и приводит его к следующему виду. Я МЕЕКЕ С1ТТ = 'ЬОМРОМ' АМР СЬАБЯ «уровень доступа пользователя> Аналогичные соображения будут справедливы и по отношению к операциям обновления.
Например, пользователь 01 не знает о существовании кортежа для поставщика с номером '34', а потому приведенная ниже команда 1МЯЕКТ может показаться ему вполне законной. 1МЯЕКТ 1МТО Я КЕЬАТ10М ( ТОРЬЕ ( 34 34 ( '34' ), ЯМАМЕ МАМЕ ( 'ВаКвг' ), ЯТАТОЯ 25, СТТТ 'Коде' ) ) ) Система не должна отвергать команду 1МЯЕКТ, поскольку в этом случае пользователь 01 в конечном счете узнает о существовании поставщика с номером '34'. Такую команду система примет, но модифицирует ее и приведет к следующему виду. 1МЯЕКТ 1МТО Я КЕЬАТ10М ( ТОРЬЕ ( 34 34 ( '34' ), БМАМЕ МАМЕ ( 'ВаКег' ), ЯТАТОЯ 25, С1ТХ 'Мове', СЬАББ СЬАББ ( 3 ) Обратите внимание, что в паннам случае первичным ключом лля переменной-отношения поставщиков является уже не атрибут (Я4), а комбинация атрибутов (34, СЬАЯЯ).
Зачечаиие. Для простоты предполагается, что существует только один потенциальный ключ, который в этом случае можно рассматривать как первичный ключ. Еще о вериинологии. Модифицированная указанным образом переменная-отношение поставщиков является примером многоуровневой переменной-отношения.
Та особенность, что "одни и те же" данные по-разному выглядят для разных пользователей, называется полиреализацией. В приведенном выше примере с оператором 1МБЕКТ запрос на извлечение данных о поставщике с номером '34' возвратит разные результаты для пользователя с правом доступа к совершенно секретным материалам и для пользователя 01, б14 Часть )х. дополнительные аспекты имеющего лишь право доступа к секретным материалам. Третий результат, отличный от двух предыдуших, будет предоставлен пользователю 02, обладающему правом доступа к материалам для служебного пользования.
Операторы обновления (РРРАТЕ) и удаления (РЕЬЕТЕ) обрабатываются системой аналогично (здесь мы не будем обсуждать их, поскольку более подробно они рассматриваются в некоторых работах, перечисленных в списке литературы для этой главы). Вопрос. Как вы думаете, не нарушают ли эти идеи упомянутый выше принцип инфор.нации? Обоснуйте свой ответ. 1б.4. Статистические базы данных Замечание. Большая часть материала, приведенного в этом и следующем разделах, в несколько отличной форме сначача была опубликована в [! 6,4). Статистической (в приведенном здесь контексте) называется база данных, в которой допускаются запросы с обобщением данных (суммированием, вычислением среднего значения и т.д.), но не допускаются запросы по отношению к элементарным данным.