Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курс лекций СБД.doc
Скачиваний:
23
Добавлен:
13.11.2019
Размер:
1.94 Mб
Скачать
      1. Безопасность баз данных

При обсуждении баз данных необходимо отличать термины безопасность и целостность (о целостности данных речь шла в предыдущих главах). Термин безопасность относится к защите данных от несанкционированного доступа, изменения или разрушения данных, а целостность – к точности или истинности данных. По-другому их можно описать следующим образом:

Под безопасностью подразумевается, что пользователям разрешается выполнять некоторые действия. Под целостностью подразумевается, что эти действия выполняются корректно.

Между ними есть и некоторое сходство – как при обеспечении безопасности, так и при обеспечении целостности система вынуждена проверить, не нарушают ли выполняемые пользователем действия некоторых правил.

Среди многочисленных аспектов проблемы безопасности необходимо отметить следующие:

  • Правовые, общественные и этические аспекты (имеет ли право некоторое лицо получить запрашиваемую информацию, например о кредите клиента).

  • Физические условия (например, закрыт ли данный компьютер или терминальная комната или защищен каким-либо другим образом).

  • Организационные вопросы (например, как в рамках предприятия, обладающего некой системой, организован доступ к данным).

  • Вопросы реализации управления (например, если используется метод доступа по паролю, то как организована реализация управления и как часто меняются пароли).

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

  • Безопасность операционной системы (например, затирает ли базовая операционная система содержание структуры хранения и файлов с данными при прекращении работы с ними).

  • Физическая защита (пожары, кражи, землетрясения и т.п.). У администратора базы данных должен быть специальный план действий на случай непредвиденных событий, например, хранение базы данных на резервной машине, на которую можно переключить систему, если рабочая машина повреждается.

  • Защита от несанкционированного доступа неавторизованных пользователей, а также контроль за тем, чтобы пользователи базы данных не получали доступ к тем объектам базы данных, которые должны быть защищены от них. Администратор должен использовать предоставляемые системой средства управления доступом. В его обязанности входит регистрация и удаление пользователей, назначение паролей и предоставление полномочий пользователям. Полномочия заключаются в способности считывать, создавать, удалять и изменять отдельные объекты базы данных. Среди этих объектов могут быть файлы, представления, приложения, вспомогательные программы, а также пользователи. Администратор должен управлять всеми полномочиями по отношению ко всем объектам.

В современных СУБД поддерживается избирательный или обязательный подход к вопросу обеспечения безопасности данных.

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

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

На практике в большинстве систем предусматривается избирательный доступ и только в некоторых – обязательный.

Независимо от того, какие схемы управления допуском используются, все решения относительно допуска пользователей к выполнению тех или иных операций принимаются на стратегическом уровне и СУБД только приводит в действие уже принятые ранее решения.

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

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

  1. Имя (правило будет зарегистрировано в системном каталоге под этим именем; это имя появится в любом системном сообщении или сообщении о состоянии системы в ответ на нарушение этого правила).

  2. Одна или несколько привилегий (например, RETRIVE или DELETE).

  3. Диапазон, к которому это правило применяется (например, в качестве диапазона могут рассматриваться все кортежи поставщиков из Минска).

  4. Один или несколько пользователей (точнее, идентификаторов пользователей), которые обладают специально заданными привилегиями в заданном диапазоне.

  5. Реакция на нарушение правил сообщает системе, что делать, если пользователь нарушил правила безопасности.

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

Для обязательного управления доступом действуют два правила безопасности:

  1. Пользователь имеет доступ к объекту, только если его уровень допуска больше или равен уровню классификации объекта.

  2. Пользователь может модифицировать объект, только если его уровень допуска равен уровню классификации объекта (это правило предотвращает запись данных в файл с меньшим уровнем допуска).