Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009 (1084484), страница 49
Текст из файла (страница 49)
Пароли устанавливаются конечнымипользователями или администраторами БД. Учет и хранение паролей производится самой СУБД. Обычно пароли хранятся в определенных системныхфайлах С У Б Д в зашифрованном виде. Поэтому просто найти и определитьпароль невозможно. После ввода пароля пользователю С У Б Д предоставляются все возможности по работе с защищенной БД. Саму С У Б Д защищатьпаролем большого смысла нет.Шифрование данных (всей базы или отдельных таблиц) применяют длятого, чтобы другие программы, «знающие формат БД этой СУБД», не моглипрочитать данные. Такое шифрование (применяемое в Microsoft Access), повидимому, дает немного, поскольку расшифровать БД может любой с помощью «родной» СУБД.
Если шифрация и дешифрация требуют задания пароля, то дешифрация становится возможной при верном вводе пароля. Надеемся, разработчики Access учтут это в последующих версиях.Шифрование исходных текстов программ позволяет скрыть от несанкционированного пользователя описание соответствующих алгоритмов.238Часть 2. Проектирование и использование БДВ целях контроля использования основных ресурсов СУБД во многих системах имеются средства установления прав доступа к объектам БД. Правадоступа определяют возможные действия над объектами. Владелец объекта(пользователь, создавший объект), а также администратор БД имеют все права. Остальные пользователи к разным объектам могут иметь различные уровни доступа.По отношению к таблицам в общем случае могут предусматриваться следующие права доступа:• просмотр (чтение) данных;• изменение (редактирование) данных;• добавление новых записей;• добавление и удаление данных;• все операции, в том числе изменение структуры таблицы.К данным, имеющимся в таблице, могут применяться меры защиты по отношению к отдельным полям и отдельным записям.
В известных нам реляционных СУБД, отдельные записи специально не защищаются, хотя можнопривести примеры из практики, когда это требуется. Контроль прав доступа,по-видимому, должен быть в объектно-ориентированных СУБД, в которыхесть идентификация отдельных записей (одно из отличий объектно-ориентированной модели от реляционной).Применительно к защите данных в полях таблиц можно выделить следующие уровни прав доступа:• полный запрет доступа;• только чтение;• разрешение всех операций (просмотр, ввод новых значений, удаление иизменение).По отношению к формам могут предусматриваться две основные операции: вызов для работы и разработка (вызов Конструктора).
Запрет вызова Конструктора целесообразно делать для экранных форм готовых приложений, чтобы конечный пользователь случайно не испортил приложение. В самих экранных формах отдельные элементы могут быть тоже защищены. Например, некоторые поля исходной таблицы вообще могут отсутствовать или скрыты от пользователя, а некоторые поля - доступныдля просмотра.Отчеты во многом похожи на экранные формы, за исключением следующего. Во-первых, они не позволяют изменять данные в таблицах, а во-вторых, основное их назначение - вывод информации на печать.
На отчеты, также как и на экранные формы, может накладываться запрет на вызов средствих разработки.Для исключения просмотра и модификации (случайной и преднамеренной) текстов программ, используемых в приложениях СУБД, помимо шифрации, может применяться их парольная защита.8. Использование баз данных239К дополнительным средствам защиты БД можно отнести такие, которые нельзя прямо отнести к средствам защиты, но которые непосредственновлияют на безопасность данных. Их составляют следующие средства:• встроенные средства контроля значений данных в соответствии с типами;• повышения достоверности вводимых данных;•обеспечения целостности связей таблиц;• о р г а н и з а ц и и совместного и с п о л ь з о в а н и я о б ъ е к т о в Б Д в сети.Редактируя БД, пользователь может случайно ввести такие значения, которые не соответствуют типу поля, в которое это значение вводится.
Например, в числовое поле пытаться занести текстовую информацию. В этом случае СУБД с помощью средств контроля значений блокирует ввод и сообщаетпользователю об ошибке звуковым сигналом, изменением цвета вводимыхсимволов или другим способом.Средства повышения достоверности вводимых значений в СУБД служатдля более глубокого контроля, связанного с семантикой обрабатываемыхданных.
Они обычно обеспечивают возможность при создании таблицы указывать следующие ограничения на значения: минимальное и максимальноезначения; значение, принимаемое по умолчанию (если нет ввода), требование обязательного ввода; задание маски (шаблона) ввода; указание дополнительной сверочной таблицы, по которой ведется контроль вводимых значений и т. д.Более совершенной формой организации контроля достоверности информации в БД является разработка хранимых процедур.
Механизм хранимыхпроцедур применяется в БД, размещенных на сервере. Сами хранимые процедуры представляют собой программы, алгоритмы которых предусматривают выполнение некоторых функций (в том числе контрольных) над данными. Процедуры хранятся вместе с данными и при необходимости вызываются из приложений либо при наступлении некоторых событий в БД.Решение прикладной задачи, как правило, требует информации из нескольких таблиц. Сами таблицы для удобства обработки и исключения дублирования информации некоторым образом связываются (подраздел 3.3). Функцииподдержания логической целостности связанных таблиц берет на себя СУБД(подраздел 3.4). К сожалению, далеко не все СУБД в полной мере реализуютэти функции, в этом случае ответственность за корректность связей возлагается на приложение.Приведем пример возможных действий СУБД по контролю целостностисвязей таблиц.
Пусть между двумя таблицами существует связь вида 1:М и,следовательно, одной записи основной таблицы может соответствовать несколько записей вспомогательной таблицы.При вставке записей во вспомогательную таблицу система контролируетналичие соответствующих значений в поле связи основной таблицы. Есливводимое значение отсутствует в основной таблице, СУБД временно блоки-Часть 2. Проектирование и использование БД240рует работу с новой записью и предлагает изменить значение или удалитьзапись целиком.Удаление записей дополнительных таблиц проходит «безболезненно»,чего не скажешь о записях основной таблицы.
В случае, когда запись основной таблицы связана с несколькими записями дополнительной таблицы, возможны два варианта поведения: не удалять основной записи, покаимеется хотя бы одна подчиненная запись (записи должен удалять пользователь), либо удалить основную запись и все подчиненные записи (каскадное удаление).В многооконных системах (почти все современные программы) и, тем более, в распределенных информационных системах, работающих с базами данных, возникает проблема разрешения конфликтов между различными действиями над одними и теми же объектами (совместного использования объектов БД). Например, что делать в случае, когда один из пользователей локальной сети редактирует БД, а другой хочет изменить ее структуру? Для такихситуаций в С У Б Д должны быть предусмотрены механизмы разрешения конфликтов.Обычно при одновременной работе нескольких пользователей сети, а также работе нескольких приложений на одном компьютере или работе в нескольких окнах С У Б Д используются блокировки.Блокировки могут действовать на различные объекты Б Д и на отдельныеэлементы объектов.
Очевидной ситуацией блокировки объектов БД является случай одновременного использования объекта и попытки входа в режимразработки этого же объекта. Применительно к таблицам баз данных дополнительные блокировки могут возникать при работе с отдельными записямиили полями.Блокировки бывают явные и неявные. Явные блокировки накладываютсяпользователем или приложением с помощью команд. Неявные блокировкиорганизует сама система, чтобы избежать возможных конфликтов. Например,в случае попытки изменения структуры БД во время редактирования информации устанавливается запрет реструктурирования БД до завершения редактирования данных. Более подробно типы блокировок в СУ БД рассмотрены вподразделе 4.3.Контрольныевопросыизадания1. Назовите важнейшие задачи настройки и а д м и н и с т р и р о в а н и я базданных.2.
Охарактеризуйте подходы к выбору способа размещения файлов надиске.3. Как определяется требуемый объем памяти на диске?4. С ф о р м у л и р у й т е соображения но распределению и н ф о р м а ц и и надисках.8. Использование баз данных2415. Охарактеризуйте назначение и технологию резервного копирования.6. Назовите основные виды угроз в ВС.7. Перечислите возможные последствия нарушения системы защиты.8. Охарактеризуйте основные задачи защиты.9.
Укажите возможные уровни комплексной защиты информации в ВС.10. Охарактеризуйте методы защиты ВС.11. Дайте характеристику программно-аппаратных средств защиты.12. В чем состоит смысл понятий идентификации и аутентификациипользователей?13. Охарактеризуйте основные способы аутентификации.14. Дайте характеристику алгоритмам шифрования DES и RSA.15.
Каково назначение систем защиты «Керберос» и «Кобра»?16. Охарактеризуйте основные средства защиты информации в СУБД.17. Назовите дополнительные средства защиты информации в БД.Литература1. Безрукое Н. Н. Компьютерная вирусология: Справ, руководство. К.: У РЕ, 1991.2. Беляев В. И.
Безопасность в распределенных системах / / Открытые системы,№ 4, 1993. С. 36-39,3. Бертолуччи Джефф. Быстрое полноэкранное видео на ПК / / МИР ПК,№ 5-6 (54), 1995. С. 34-36.4. Бородаев В. А., Кустов В. Н. Банки и базы данных. Учебн. пособие. Л.: ВИКИим. А. Ф. Можайского, 1989.5. Воловик Е. М. Защита данных в распределенных системах / / МИР ПК, № 10,1995. С. 166-170.6. Зима В. М., Молдовян А. А.