Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Shpory_BSBD.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
1.68 Mб
Скачать

Вопрос 28. Поддержание целостности данных. Сериализация транзакций. Уровни изолированности пользователей

Сериализация транзакций

Транзакция – последовательность SQL инструкций или действий, переводящая БД из одного не противоречивого состояния в другое непротиворечивое состояние.

Во время выполнения транзакции до ее завершения (commit), противоречивость БД не должна проверяться.

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

Всего 4 проблемы:

- пропавшие изменения;

- проблема промежуточных данных;

- проблема несогласованных данных;

- проблема строк-призраков

Для устранения указанных проблем используется специальная процедура сериализация транзакций.

Процедура должна удовлетворять следующим правилам:

- в процессе транзакции пользователь видит только согласованные данные. Пользователь не имеет доступа к промежуточным и несогласованным данным;

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

Наиболее распространен механизм блокировок, т.е. объект блокируется на все время действия транзакции.

Недостатками такого механизма являются задержка выполнения транзакции из-за блокировок. Для устранения подобных недостатков применяется метод блокировок различных объектов, например, страниц файловой структуры, строк таблицы, позволяет обеспечить одновременный доступ к одной таблице. Использование жестких и не жестких блокировок. Не жесткие блокировки позволяют выполнять совместные операции чтения.

Жесткие блокировки используются для выполнения операций delete или update в таблице.

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

Уровни изолированности пользователей.

В зависимости от требований пользователя к скорости и качеству выполнения транзакций могут применяться различные методы сериализации, выбор которых определяется уровнем изолированности пользователя:

1) обеспечивает полную изоляцию, выполняемых транзакций друг от друга и устранение всех возможных проблем;

2) уровень подтверждения чтения. Она транзакция не имеет доступа к промежуточным или окончательным данным других транзакций. Однако, оно может иметь доступ к строкам, добавленным в ходе ее выполнения, т.е. проблема строк-призраков сохраняется;

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

4) уровень неподтвержденный чтения – обеспечивает наиболее быстрое выполнение транзакций, при котором транзакции доступны промежуточным, окончательным и добавленным данным других транзакций. Используется в системах с большим количеством select-запросов.

Вопрос 29. Регистрация действий пользователей.

Журнал регистрации действий пользователя может использоваться для следующих целей:

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

- обнаружение попыток НСД;

- оценка возможных последствий нарушения ИБ;

- использование информации аудита для расследования инцидентов ИБ;

- организация пассивной защиты от злоумышленных действий с обязательным уведомлением всех пользователей о функционировании системы.

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

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

Выделяют ряд регистрируемых событий, регуляция которых наиболее важна для обеспечения ИБ. Это события:

- попытки входа и выхода в систему, как успешные так и не успешные;

- попытки нарушения Ц БД;

- выполнение хранимых процедур;

- неудачные попытки доступа к БД;

- перезагрузка сервера БД;

- предоставление/лишение привилегий доступа.

В некоторых случаях при возникновении определенного события для инициировавшего его субъекта включается режим подробной регистрации действий.

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

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

Недостатки:

- необходимость последующего анализа собранной информации на предмет выявления событий, являющихся инициаторами ИБ.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]