Обеспечение целостности данных в базах данных | Целостность БД - SearchInform

Обеспечение целостности данных в базах данных

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

Целостность информации – один из ключевых признаков, обеспечивающих ее качество. В базах данных компаний содержатся сведения, которые используются в бизнес-процессах, их модификация или уничтожение способны подвергнуть риску деятельность подразделения или организации в целом. Обеспечение целостности данных становится одной из ключевых задач IТ-подразделения.

Понятие и суть целостности

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

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

1. Достоверность с точки зрения источника ввода и отсутствия изменений;
2. Непротиворечивость блоков данных, находящихся в одной системе.

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

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

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

Эти задачи обычно решаются на уровне штатных программных средств и силами IТ-подразделения компании, но иногда бизнес обращается к приглашенным специалистам. 

Ключевыми являются два принципа:

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

Основные угрозы

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

Чаще всего информация страдает из-за воздействия следующих факторов:

  • сбой оборудования;
  • ошибки в программном коде СУБД или преднамеренные программные закладки;
  • SQL-инъекции, введение запросов с намеренным стремлением нанести ущерб;
  • уязвимости операционной системы. СУБД часто реализуется в среде так называемых юниксоидов, которые недостаточно хорошо защищены и нести;
  • целевые хакерские атаки;
  • ошибки пользователей, их случайные или преднамеренные действия, способные привести к утрате или изменению информации.

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


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


Контроль информационной безопасности и защита от НСД: различия

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

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

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

2. Установление связей между определенными объектами, например, ссылок.

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

Как писать правила

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

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

На практике понятие целостности данных раскрывается по следующим параметрам:

  • сущностная целостность данных. Под этим термином подразумевается определение строки символов как уникального предмета, характерного для конкретной таблицы или базы данных;
  • доменная целостность данных, или обеспечение соответствия записей в конкретном столбце таблицы заданным правилам. Для этого определяют тип данных в базе, например, только цифровые, задают формат их записи при помощи команды CHECK ограничивают диапазон возможных значений при помощи FOREIGN KEY, CHECK, DEFAULT, определений NOT NULL и введенных при создании формата таблиц правил;
  • ссылочная целостность. Связи между таблицами, заданные гиперссылками, сохраняются, вне зависимости от добавления новых строк или удаления имеющихся. Этот параметр наиболее важен в SQL-базах.

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

Нет критериев абсолютной истинности, существуют только критерии неизменности информации, отсутствия признаков ее намеренного изменения. 

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

  • обязательные данные, или те, которые должны содержаться в базе в любой ситуации, их потеря будет свидетельствовать об изменении целостности, при этом в конкретное поле не может содержать пустое значение;
  • ограничения для сведений, вносимых в конкретные поля. Для каждого поля задаются правила, ограничивающие набор данных, которые могут быть в него введены;
  • ограничения, диктуемые корпоративными правилами. Они задаются системными администраторами и обычно основываются на принятой в компании политике защиты конфиденциальных данных;
  • целостность сущностей. В этом случае системный администратор вводит один или несколько ключей, которые совместно подтверждают целостность данных в поле таблицы. При этом учитывается, что задание набора правил не способно гарантировать абсолютную достоверность данных;
  • ссылочная целостность. Ссылки задают логические связи между различными полями одной таблицы или несколькими полями БД, при этом гарантия целостности данных в базе данных гарантируется присутствием неизмененных и неудаленных ссылок, подтверждающих, что информация не была несанкционированно модифицирована. Таблицы могут иметь разный уровень в иерархической системе, могут находиться на одном уровне, или между материнской и дочерней таблицами может быть соподчиненность. Ссылка в формате «одна ко многим» говорит о том, что одной записи в родительской таблице соответствует несколько в дочерней.

Целостность данных и их модификация

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

Особенно важно сохранение ссылочной целостности, оно достигается введением следующих правил:

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

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

Если в организации реализуется модель взаимодействия по принципу «клиент-сервер», то основной объем правил сохранения целостности данных в базе данных должен храниться на сервере. 

Это решает следующие задачи:

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

Минусы:

  • клиентское приложение не может отследить ошибочно заданные правила;
  • ограниченность возможности языка SQL. Он может решить не все задачи, связанные с обеспечением целостности базы данных в приложениях.

Чаще всего все технические решения воплощаются именно на сервере, это создает более высокий защиты информации.

14.08.2020

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