|
Программирование >> Хронологические базы данных
возникает необходимость организации контрольного слежения за происходящими в системе событиями. Пусть, например, противоречивость полученных результатов вызывает подозрение, что имело место злонамеренное искажение информации, хранящейся в базе данных. В этом случае для прояснения ситуации могут использоваться записи контрольного слежения, что позволит либо подтвердить тот факт, что все процессы находятся под контролем, либо обнаружить вмещательство и установить нарушителя. Метод контрольного слежения предусматривает использование особого файла или базы данных, в которую СУБД автоматически помещает сведения обо всех операциях, выполненных пользователями при работе с основной базой данных. В одних системах данные контрольного слежения могут физически записываться в файл системного журнала, используемого для восстановления (см. главу 14), в других системах эти сведения помещаются в отдельный файл. В любом случае пользователям должен быть предоставлен механизм доступа к информации контрольного слежения, желательно с помощью средств обычного языка реляционных запросов (конечно, при условии, что эти запросы санкционированы!). Типичная запись в файле контрольного слежения может содержать такую информацию: сам запрос (исходный текст запроса); имя терминала, с которого была затребована операция; имя пользователя, затребовавшего операцию; дата и время запуска операции; переменные-отношения, кортежи и атрибуты, вовлеченные в процесс выполнения операции; исходные значения измененных данных; новые значения измененных данных. Как уже упоминалось, даже сам факт, что в системе осуществляется контрольное слежение, в определенных ситуациях способен отпугнуть потенциального нарушителя. 16.3. Мандатная схема управления доступом Методы мандатного управления доступом применяются к тем базам данных, в которых хранимая информация имеет достаточно статичную и жесткую структуру, что свойственно, например, некоторым правительственным или военным организациям. Как отмечалось выше, основная идея состоит в том, что каждому объекту данных присваивается некоторый классификационный уровень (или требуемый гриф секретности, например Секретно , Совершенно секретно , Для служебного пользования и т.д.), а каждому пользователю предоставляется уровень допуска с градациями, аналогичными существующим классификационным уровням. Предполагается, что эти уровни образуют строгую иерархическую систему (например, Совершенно секретно > Секретно > Для служебного пользования и т.д.). Тогда исходя из этих положений можно сформулировать два очень простых правила, впервые предложенных Беллом и Ла-Падулой [16.1]. 1. Пользователь i может получить доступ к объекту j только в том случае, если его уровень допуска больше классификационного уровня объекта j или равен ему ( ограничение простой защиты ). 2. Пользователь i может модифицировать объект j только в том случае, если его уровень допуска равен классификационному уровню объекта j ( офаничение звания ). Первое правило достаточно очевидно, тогда как второе фебует дополнительных разъяснений. Прежде всего, следует отметить, что иначе второе правило можно сформулировать так: Любая информация, записанная пользователем i, автоматически приобретает классификационный уровень, который равен уровню допуска пользователя i . Подобное правило необходимо, например, для того, чтобы предотвратить запись секретных данных, выполняемую пользователем с уровнем допуска Секретно , в файл с меньшим уровнем классификации, что нарушит всю систему секретности. Замечание. В отношении только операций собственно записи (INSERT) во втором правиле достаточно было бы пофебовать, чтобы уровень допуска пользователя i был меньше классификационного уровня объекта j ти равен ему, и именно это правило часто приводится в литературе. Но тогда пользователи могли бы записывать то, что потом сами не смогли бы прочесть! (Хотя бывает так, что кое-кто с трудом может прочесть даже собственный рукописный текст... Возможно, более слабый вариант второго правила все-таки не совсем нереалистичен.) Особенно большое внимание методам мандатного управления доступом стало уделяться в начале 1990-х годов. Дело в том, что согласно фебованиям Министерства обороны США любая используемая в этом ведомстве СУБД должна непременно поддерживать схему мандатного управления доступом. Поэтому разработчикам СУБД пришлось вступить в соперничество за скорейшую разработку методов такого управления. Обязательные фебования к этой схеме были изложены в двух важных публикациях Министерства обороны, неформально получивших название Оранжевая книга (Orange Book) [16.19] и Сиреневая книга (Lavender Book) [16.20]. В оранжевой книге перечислен набор фебований зашиты для некоторой надежной вычислительной базы (Trusted Computing Base - ТСВ), а в сиреневой книге дается интерпретация этих фебований в отношении систем баз данных. Определенные в [16.19], [16.20] методы мандатного управления доступом на самом деле являются частью более обшей классификации уровней защиты, которые в очень сжатой форме излагаются ниже. Прежде всего, в этих документах определяется четыре класса безопасности - D, С, В и А. Грубо говоря, класс D среди них наименее безопасен, класс С - более безопасен, чем класс D, и т.д. Говорят, что класс D обеспечивает минимачьную, класс С - избирательную, класс В -мандатную и класс А - проверенную защиту. Избирательная защита. Класс С делится на два подкласса, С1 и С2 (где подкласс С1 .менее безопасен, чем подкласс С2), каждый из которых поддерживает избирательное управление доступом в том смысле, что управление доступом осуществляется по усмофению владельца данных (точно так, как описано выше, в разделе 16.2). В соответствии с требованиями класса С1 необходимо отделить владение от доступа, т.е. наряду с поддержкой концепции совместного доступа к данным пользователям разрешается иметь собственные защищенные данные. В соответствии с фебованиями класса С2 необходимо дополнительно организовать поддержку учетных записей, построенную на основе использования процедуры регисфации в системе, контрольного слежения и изоляции ресурсов. Мандатная защита. Класс В включает требования к методам мандатного управления доступом и делится на фи подкласса - В1, В2 и ВЗ (где В1 является наименее, а ВЗ - наиболее безопасным подклассом). в соответствии с требованиями класса В1 необходимо организовать защиту с использованием меток (это значит, что каждый объект данных в системе должен иметь пометку о присвоенном ему классификационном уровне - Секретно , Для служебного пользования и т.д.). Дополнительно требуется поддержка неформальных операторов определения требований защиты. В соответствии с требованиями класса В2 дополнительно требуется поддержка формальных операторов определения требований защиты. Кроме того, необходимо обеспечить обнаружение и исключение каналов утечки информации. Таким каналом может быть, например, возможность логического вывода ответа на недопустимый запрос из ответа на допустимый запрос (см. раздел 16.4) или возможность раскрытия секретных сведений на основании времени, которое затрачивается на выполнение некоторых допустимых запросов (см. комментарии к [16.12]). В соответствии с требованиями класса ВЗ необходимо дополнительно обеспечить поддержку контрольного слежения и восстановления данных, а также назначить ад.министратора защиты системы. Проверенная зашита. Класс А является наиболее безопасным, и согласно его требованиям необходимо математическое доказательство того, что выбранный механизм защиты является приемлемым и обеспечивает адекватную поддержку установленных офаничений защиты (!). В настоящее время некоторые коммерческие СУБД поддерживают мандатную схему защиты уровня В1. Кроме того, они обычно поддерживают избирательную схему защиты уровня С2. Тер.минология. СУБД, в которых поддерживается мандатная схема защиты, часто называют системами с многоуровневой зашитой [16.13], [16.16], [16.21] (см. следующий подраздел). В этом же смысле иногда используется термин надежная система [16.17], [16.19], [16.20]. Многоуровневая защита Допустим, что требуется применить идеи мандатной схемы управления доступом к переменной-отнощению поставщиков S. Для определенности и простоты будем считать, что единицей данных, на уровне которой требуется контролировать доступ, является отдельный кортеж этой переменной-отношения. Тогда каждый кортеж должен быть отмечен соответствующим классификационным уровнем, например так, как показано на рис. 16.1. (Здесь значение 4 в столбце CLASS означает уровень Совершенно секретно , 3 - Секретно , 2 - Для служебного пользования .)
Puc. 16.1. Переменная-отношение S с присвоенными значениями классификационного уровня
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки. |