Файл: Тема концепция управления данными в современных информационных системах Цель лекции.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 24.11.2023

Просмотров: 223

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


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

Шифрование обеспечивает три состояния безопасности информации:

- конфиденциальность.

- целостность.

- идентифицируемость.

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

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

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

К дополнительным средствам защиты БД можно отнести следующие средства:

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

- повышение достоверности вводимых данных:

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

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

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

Комплекс программно-аппаратных средств и организационных (процедурных)решений по защите информации от НСД включает следующие четыре подсистемы:

  управления доступом;

  регистрации и учета;

  криптографическую;

  обеспечения целостности.

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


1. Защита содержания данных (data content protection) объединяет функции, процедуры и средства защиты, которые предупреждают несанкционированное раскрытие конфиденциальных данных и информации в БД.

2. Средства контроля доступа разрешают доступ к данным только полномочных объектов в соответствии со строго определенными правилами и условиями.

3. Управление потоком защищенных данных при передаче из одного сегмента БД в другой обеспечивает перемещение данных вместе с механизмами защиты, присущими исходным данным.

4. Предотвращение возможности выявления конфиденциальных значений из данных, содержащихся в регулярных или статистических БД, в результате выявления статистически достоверной информации.

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

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

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

Следует отметить, что применение криптографических методов способно существенно повысить стойкость защиты баз данных от НСД.

Задача криптографической защиты БД существенно отличается от криптозащиты информации в рамках обычной файловой системы по следующим причинам:

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

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



3. Размер шифруемой информации в файле БД в общем случае произволен и ограничен только структурой БД.

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

а) Регистрация и аутентификация пользователей, ведение системного журнала. Идентификацию и аутентификацию можно проводить следующими способами:

  по индивидуальному паролю, вводимому с клавиатуры;

  с помощью ключевой дискеты, компакт-диска и т. д.;

  с помощью электронного ключа;

  другие способы.

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

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

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

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

Рассмотрим пример реализации защиты БД. При создании базы данных вводится дополнительное поле, в котором записывается уровень конфиденциальности данной записи. Информация БД шифруется и хранится на диске в зашифрованном виде. В каталоге СУБД создается БД, представляющая из себя регистрационную книгу, где содержится следующая информация: имя или код пользователя, пароль, уровень доступа. Данный файл и управляющая  .prg-программа также шифруются. Создается и запускается управляющий  .bat-файл. К недостаткам данной реализации относятся:   возможность удаления и модификации  .bat-файла;   при некорректном завершении (например, ctrl+а1t+del) на диске может остаться файл базы данных в явном виде.

Для надежности после работы желательно "затирать" пустые места на диске, чтобы при НСД невозможно было восстановить некодированный файл с помощью дисковых утилит (например, unerase.ехе из пакета Norton Utilities), хотя это дополнительная трата времени.


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

  в БД объекты могут представлять собой сложные логические структуры, определенное множество которых может отображаться на одни и те же физические объекты;

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

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

Резервное копирование и восстановление

Операции  резервного копирования (backup) и восстановления (restore) связаны друг с другом и предполагают сохранение информации базы данных для использования в будущем – аналогично операциям резервного копирования и восстановления, которые могут выполняться операционной системой. При резервном копировании данные копируются из базы данных и сохраняются в другом месте.

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


При восстановлении данных из резервной копии они копируются назад в базу данных. Не путайте восстановление (restore) с воспроизведением (регенерацией) (recovery): это две различные операции.

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

В отличие от процесса резервного копирования процесс восстановления не может выполняться во время работы SQL Server. Кроме того, таблицу нельзя восстановить отдельно. Если один пользователь теряет часть данных в базе данных, потерянные данные восстановить непросто, поскольку операция восстановления восстанавливает всю базу данных или какую-то ее часть. Выделение данных отдельного пользователя из всех данных базы данных может оказаться затруднительным.

Воспроизведение

Воспроизведение (регенерация) (recovery) – это способность системы управления реляционной базой данных (СУРБД – RDBMS) уцелеть после аварии системы и воспроизвести выполненные транзакции. SQL Server не выполняет запись на диск после каждого изменения, вносимого в базу данных. Если бы это было так, то большая система (например, банковская) работала бы намного медленнее, поскольку в каждой транзакции приходилось бы ждать, пока не закончится очередная запись, создающая задержку в системе.

Именно задержки при записи изменений на диск приводят к тому, что база данных после отказа системы может остаться в запорченном состоянии из-за того, что некоторые изменения, внесенные в базу данных, могли быть не записаны на диск, а изменения, записанные на диск, могли быть не зафиксированы. Для поддержки целостности базы данных SQL Server протоколирует все изменения в журнале транзакций. При запуске SQL Server после отказа системы журнал транзакций используется для повторного исполнения (воспроизведения) транзакций, которые были фиксированы, но не записаны на диск, и отката (отмены результатов) транзакций, которые не были фиксированы на момент аварии системы. Такой подход гарантирует точность данных.

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

  • Транзакции, содержащие только запросы. Никакого воспроизведения не требуется.

  • Транзакции, которые внесли изменения в данные базы данных и были фиксированы, но не были записаны на диск. Во время воспроизведения SQL Server читает страницы данных с диска, снова вносит изменения и затем перезаписывает эти страницы на диск.

  • Транзакции, которые внесли изменения в данные базы данных, были фиксированы и записаны на диск. Во время воспроизведения SQL Server определяет, что изменения были действительно записаны на диск. Никакого вмешательства не требуется.

  • Транзакции, которые внесли изменения в данные базы данных, но не были фиксированы. Во время воспроизведения SQL Server использует журнал транзакций для отката (отмены) всех изменений, внесенных в страницы данных, и восстанавливает базу данных к состоянию, в котором она была до запуска этих транзакций.