Защита баз данных в компьютерных сетях

Средства защиты бд

Средства защиты БД в различных СУБД несколько отличаются друг от дру­га. На основе анализа современных СУБД фирм Borland и Microsoft можно ут­верждать, что средства защиты БД условно делятся на две группы: основные и дополнительные.

К основным средствам защиты информации можно отнести следующие средства:

• шифрования данных и программ;

• установления прав доступа к объектам БД;

• защиты полей и записей таблиц БД.

Парольная защита представляет простой и эффективный способ защиты БД от несанкционированного доступа. Пароли устанавливаются конечными пользователя­ми или администраторами БД. Учет и хранение паролей производится самой СУБД. Обычно пароли хранятся в определенных системных файлах СУБД в зашифрован­ном виде. Поэтому просто найти и определить пароль невозможно. После ввода паро­ля пользователю СУБД предоставляются все возможности по работе с защищенной БД. Саму СУБД защищать паролем большого смысла нет.

Шифрование данных (всей базы или отдельных таблиц) применяют для того, чтобы другие программы, «знающие формат БД этой СУБД», не могли прочитать данные. Такое шифрование (применяемое в Microsoft Access), по-видимому, дает немного, поскольку расшифровать БД может любой с помощью «родной» СУБД. Если шифрация и дешифрация требуют задания пароля, то дешифрация стано­вится возможной при верном вводе пароля. Надеемся, разработчики Access учтут это в последующих версиях.

Шифрование исходных текстов программ позволяет скрыть от несанкционирован­ного пользователя описание соответствующих алгоритмов.

В целях контроля использования основных ресурсов СУБД во многих системах имеются средства установления прав доступа к объектам БД. Права доступа опреде­ляют возможные действия над объектами. Владелец объекта (пользователь, создав­ший объект), а также администратор БД имеют все права. Остальные пользователи к разным объектам могут иметь различные уровни доступа.

По отношению к таблицам в общем случае могут предусматриваться следующие права доступа:

• изменение (редактирование) данных;

• добавление и удаление данных;

Читайте также:  Характеристика составляющих информационной безопасности применительно к вычислительным сетям

• все операции, в том числе изменение структуры таблицы.

К данным, имеющимся в таблице, могут применяться меры защиты по отноше­нию к отдельным полям и отдельным записям. В известных нам реляционных СУБД, отдельные записи специально не защищаются, хотя, можно привести примеры из практики, когда это требуется. Контроль прав доступа, по-видимому, должен быть в объек­тно-ориентированных СУ БД, в которых есть идентификация отдельных записей (одно из отличий объектно-ориентированной модели от реляционной).

Применительно к защите данных в полях таблиц можно выделить следующие уров­ни прав доступа:

• разрешение всех операций (просмотр, ввод новых значений, удаление и из­менение).

По отношению к формам могут предусматриваться две основные операции: вызов для работы и разработка (вызов Конструктора). Запрет вызова Конструктора целесо­образно делать для экранных форм готовых приложений, чтобы конечный пользова­тель случайно не испортил приложение. В самих экранных формах отдельные эле­менты могут быть тоже защищены. Например, некоторые поля исходной таблицы вообще могут отсутствовать или скрыты от пользователя, а некоторые поля — доступ­ны для просмотра.

Отчеты во многом похожи на экранные формы, за исключением следующего. Во-первых, они не позволяют изменять данные в таблицах, а во-вторых, основное их на­значение — вывод информации на печать. На отчеты, также как и на экранные формы, может накладываться запрет на вызов средств их разработки.

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

К дополнительным средствам защиты БД можно отнести такие, которые нельзя прямо отнести к средствам защиты, но которые непосредственно влияют на безопас­ность данных. Их составляют следующие средства:

• встроенные средства’контроля значений данных в соответствии с типами;

• повышения достоверности вводимых данных;

• обеспечения целостности связей таблиц;

• организации совместного использования объектов БД в сети.

Читайте также:  Подключение локальным компьютерным сетям

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

Средства повышения достоверности вводимых значений в СУБД служат для более глубокого контроля, связанного с семантикой обрабатываемых данных. Они обычно обеспечивают возможность при создании таблицы указывать следующие ограниче­ния на значения: минимальное и максимальное значения; значение; принимаемое по умолчанию (если нет ввода), требование обязательного ввода; задание маски (шабло­на) ввода; указание дополнительной сверочной таблицы, по которой ведется конт­роль вводимых значений и т. д.

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

Решение прикладной задачи, как правило, требует информации из нескольких таб­лиц. Сами таблицы для удобства обработки и исключения дублирования информа­ции некоторым образом связываются (подраздел 3.3). Функции поддержания логи­ческой целостности связанных таблиц берет на себя СУБД (подраздел 3.4). К сожа­лению, далеко не все СУБД в полной мере реализуют эти функции, в этом случае ответственность за корректность связей возлагается на приложение.

Приведем пример возможных действий СУБД по контролю целостности связей таблиц. Пусть между двумя таблицами существует связь вида 1:М и, следовательно, одной записи основной таблицы может соответствовать несколько записей вспомо­гательной таблицы.

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

Читайте также:  Прайс лист для компьютерных сетей

Удаление записей дополнительных таблиц проходит «безболезненно», чего не ска­жешь о записях основной таблицы. В случае, когда запись основной таблицы связана с несколькими записями дополнительной таблицы, возможны два варианта поведе­ния: не удалять основной записи, пока имеется хотя бы одна подчиненная запись (за­писи должен удалять дользователь), либо удалить основную запись и все подчинен­ные записи (каскадное удаление).

В многооконных системах (почти все современные программы) и, тем более, в рас­пределенных информационных системах, работающих с базами данных, возникает проблема разрешения конфликтов между различными действиями над одними и теми же объектами (совместного использования объектов БД). Например, что делать в слу­чае, когда один из пользователей локальной сети редактирует БД, а другой хочет из­менить се структуру? Для таких ситуаций в СУБД должны быть предусмотрены ме­ханизмы разрешения конфликтов.

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

Блокировки могут действовать на различные объекты БД и на отдельные элемен­ты объектов. Очевидной ситуацией блокировки объектов БД является случай одно­временного использования объекта и попытки входа в режим разработки этого же объекта. Применительно к таблицам баз данных дополнительные блокировки могут возникать при работе с отдельными записями или полями.

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

Источник

Оцените статью
Adblock
detector