- •Безопасность баз данных
- •1.1. Введение
- •1.2. Простейшая модель безопасности баз данных
- •1.2.1. Проверка полномочий
- •1.2.2. Проверка подлинности
- •1.3. Многоуровневая модель безопасности баз данных
- •1.4. Многозначность
- •1.5. Косвенные каналы
- •1.6. Безопасная среда распределенной базы данных
- •1.7. Языки безопасных баз данных
- •1.8. Безопасные оосубд
- •1.9. Заключение
1.8. Безопасные оосубд
Перейдем теперь от реляционных СУБД к проблемам безопасности в объектно-ориентированных базах данных. По мере того как продукты ООСУБД приобретают зрелость, и их применение выходит за рамки масштабов небольшого подразделения, при том что значение безопасности информационного управления постоянно возрастает, будет расширяться и роль безопасных ООСУБД и ООБД. В этом разделе мы обсудим направления развития безопасных ООСУБД.
В отношении безопасности ООСУБД можно высказать два самых общих суждения.
Уровень развития средств безопасности в ООСУБД существенно ниже, чем в реляционных СУБД, но, в основном, в силу относительной "молодости" объектно-ориентированных технологий.
Принципы многоуровневой защиты, разработанные для реляционных баз данных, такие как многозначность и модель Белл-ЛаПадула, нашли отражение и в безопасных системах ООБД.
Объектно-ориентированным аналогом СУБД SeaView является система SODA (Secure Object-oriented DAtabase). В SODA применяется политика безопасности Белл-ЛаПадула и стратегия присваивания меток безопасности для классификации объектов. В SODA поддерживается два различных типа меток.
1) Метки переменных-компонентов объектов. Каждой переменной может быть присвоена независимая метка, соответствующая диапазону классификации; это аналогично классификации на уровне элементов кортежей, когда каждый столбец отношения имеет собственный допустимый диапазон классификации, а элемент кортежа - индивидуальную классификацию, независимую от других элементов.
2) Метки объектов. Аналогичны классификации кортежей (один общий класс для всего кортежа или объекта).
В связи с классификацией составных или несоставных объектов в ООСУБД возникает ряд проблем. Существует набор правил (предложенный Б. Тхурейзингхэмом), при помощи которого можно управлять уровнями защиты экземпляров, объектов и отношениями между экземплярами и объектами обоих типов.
Поскольку для ООБД, в отличие от реляционных баз данных, отсутствует достаточная стандартизация терминологии и моделей, то исследования в области безопасности ООБД, как правило, проводятся в отношении несколько различающихся моделей. Как уже отмечалось, большинство принципов безопасности реляционных баз данных находят отражение в ООБД, и сближение ООБД со стандартом ODMG создаст основу для коммерциализации безопасных ООСУБД.
1.9. Заключение
Так каково же нынешнее положение дел с безопасностью баз данных? Хотя в этой области немало было сделано за последние годы, в особенности в отношении многоуровневой защиты (четкое выделение понятия многозначности, выработка соответствующих методик и их уточнение), однако факт остается фактом - коммерческие реализации все еще значительно отстают от исследовательских результатов. Как отметил Сушил Джаджодиа, "относительно несложно обеспечить безопасность на 99%; но последний 1% может не только обойтись слишком дорого, но и оказаться недостижимым".
Сегодня лишь небольшое число СУБД проходят сертификацию на причисление к классу безопасности B1. Это говорит о том, что многие вопросы, например, исключение косвенных каналов, еще не нашли адекватного решения в предлагаемых СУБД. Политики принудительного управления доступом (MAC) еще только начинают внедряться в коммерческие продукты.
Однако путь, который нам предстоит пройти, простирается значительно дальше. Тереза Лунт указывает на следующие проблемы, которые дают представление о том, какими возможностями должны обладать безопасные базы данных будущего.
Определение семантики операций для баз данных с многоуровневой защитой. Это означает, что следует точно определить, какие действия произведет, например, операция DELETE или UPDATE над всеми затрагиваемыми ею объектами. Необходимо расширить определение семантики операций в условиях многозначности, доведя его до уровня, приемлемого для реализации в коммерческих СУБД. Автор хотел бы также подчеркнуть значение стандартизации подобных определений - важно, чтобы оператор DELETE выполнялся одинаково в любой СУБД с многоуровневой защитой.
Распространение концепции многоуровневой защиты на другие модели и на распределенные базы данных. Мы обсудили этот вопрос в отношении ООБД и распределенных баз данных. Исследования охватывают также модели сущность-связь и дедуктивные базы данных, хотя коммерческий потенциал этих исследований менее значителен.
Предотвращение нежелательных выводов. Проблема вывода возникает, когда из совокупности фактов, относящихся к классу секретности C1, можно вывести полную или частичную информацию, имеющую более высокий класс секретности. Рассмотрим, например, следующие факты вместе с их классами секретности.
"Капитан Смит - разведчик" - СЕКРЕТНО.
"Капитан Смит отбывает завтра в {название_страны}" - КОНФИДЕНЦИАЛЬНО.
"Капитан Смит улетает рейсом 1:45 ночи" - КОНФИДЕНЦИАЛЬНО.
"Капитан Смит возвратился из отпуска раньше срока" - НЕСЕКРЕТНО.
Собрав все эти сведения воедино, получаем следующее: "Капитан Смит, разведчик, возвратился из отпуска раньше срока, чтобы в 1:45 отбыть в... (страна неизвестна) - скорее всего, для проведения какой-либо разведывательной операции". Выведенная таким образом информация может иметь очень высокий класс секретности, возможно, СОВЕРШЕННО СЕКРЕТНО, т. е. она более секретная, чем любой из исходных фактов. Как замечает Т. Лунт, в области изучения способов вывода в условиях многоуровневой защиты не получено пока ни формальных, ни количественных результатов, за исключением отдельных частных решений.
Инструменты для проектирования и разработки баз данных с многоуровневой защитой. Рассмотрим диаграмму сущность-связь на рис. 21-14. Поскольку элементы и кортежи реляционной базы данных, а также атрибуты и экземпляры объектов в ООБД могут принадлежать к разным классам секретности, то разумно было бы потребовать, чтобы инструмент для моделирования структур баз данных с многоуровневой защитой содержал средства для поддержки классификации. Модель сущность-связь (или любая другая) с расширениями безопасности должна иметь соответствующим образом расширенный язык определения данных (DDL), подобный языку MSQL, обсуждавшемуся в разд. 1.7.
Рис. 21-14 CASE-инструмент для моделирования отношений сущность-связь с поддержкой средств безопасности