Так каково же нынешнее положение дел с безопасностью баз данных? Хотя в этой области немало было сделано за последние годы, в особенности в отношении многоуровневой защиты (четкое выделение понятия многозначности, выработка соответствующих методик и их уточнение), однако факт остается фактом - коммерческие реализации все еще значительно отстают от исследовательских результатов. Как отметил Сушил Джаджодиа, "относительно несложно обеспечить безопасность на 99%; но последний 1% может не только обойтись слишком дорого, но и оказаться недостижимым".
Сегодня лишь небольшое число СУБД проходят сертификацию на причисление к классу безопасности B1. Это говорит о том, что многие вопросы, например, исключение косвенных каналов, еще не нашли адекватного решения в предлагаемых СУБД. Политики принудительного управления доступом (MAC) еще только начинают внедряться в коммерческие продукты.
Однако путь, который нам предстоит пройти, простирается значительно дальше. Тереза Лунт указывает на следующие проблемы, которые дают представление о том, какими возможностями должны обладать безопасные базы данных будущего.
Определение семантики операций для баз данных с многоуровневой защитой. Это означает, что следует точно определить, какие действия произведет, например, операция DELETE или UPDATE над всеми затрагиваемыми ею объектами. Необходимо расширить определение семантики операций в условиях многозначности, доведя его до уровня, приемлемого для реализации в коммерческих СУБД. Автор хотел бы также подчеркнуть значение стандартизации подобных определений - важно, чтобы оператор DELETE выполнялся одинаково в любой СУБД с многоуровневой защитой.
Распространение концепции многоуровневой защиты на другие модели и на распределенные базы данных. Мы обсудили этот вопрос в отношении ООБД и распределенных баз данных. Исследования охватывают также модели сущность-связь и дедуктивные базы данных, хотя коммерческий потенциал этих исследований менее значителен.
Предотвращение нежелательных выводов. Проблема вывода возникает, когда из совокупности фактов, относящихся к классу секретности C1, можно вывести полную или частичную информацию, имеющую более высокий класс секретности. Рассмотрим, например, следующие факты вместе с их классами секретности.
"Капитан Смит - разведчик" - СЕКРЕТНО.
"Капитан Смит отбывает завтра в {название_страны}" - КОНФИДЕНЦИАЛЬНО.
"Капитан Смит возвратился из отпуска раньше срока" - НЕСЕКРЕТНО.
Собрав все эти сведения воедино, получаем следующее: "Капитан Смит, разведчик, возвратился из отпуска раньше срока, чтобы в 1:45 отбыть в... (страна неизвестна) - скорее всего, для проведения какой-либо разведывательной операции". Выведенная таким образом информация может иметь очень высокий класс секретности, возможно, СОВЕРШЕННО СЕКРЕТНО, т. е. она более секретная, чем любой из исходных фактов. Как замечает Т. Лунт, в области изучения способов вывода в условиях многоуровневой защиты не получено пока ни формальных, ни количественных результатов, за исключением отдельных частных решений.
Инструменты для проектирования и разработки баз данных с многоуровневой защитой. Рассмотрим диаграмму сущность-связь на рис. 21-14. Поскольку элементы и кортежи реляционной базы данных, а также атрибуты и экземпляры объектов в ООБД могут принадлежать к разным классам секретности, то разумно было бы потребовать, чтобы инструмент для моделирования структур баз данных с многоуровневой защитой содержал средства для поддержки классификации. Модель сущность-связь (или любая другая) с расширениями безопасности должна иметь соответствующим образом расширенный язык определения данных (DDL), подобный языку MSQL, обсуждавшемуся в разд. 1.7.
Рис. 21-14CASE-инструмент для моделирования отношений сущность-связь с поддержкой средств безопасности