Технология разработки и защиты баз данных - SearchInform

Технология разработки и защиты баз данных

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

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

Особенности БД

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

Принципы функционирования баз данных:

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

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

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

Требования к БД

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

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

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

Технологии разработки БД

Создавая новую базу данных, разработчик может:

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

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

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

Одной из ключевых является роль администратора базы данных. В его обязанности входит:

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

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

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

Модели и типы баз данных

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

В фактографических БД сведения хорошо структурированы, поиск ведется по очищенной и легко анализируемой информации, например, по перечню клиентов или товарной номенклатуре. Пример: «1С:Предприятие».

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

Для любой модели представления данных архитектор БД должен продумать:

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

Основные параметры баз данных

Далее решается вопрос о создании компонентов баз данных:

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

Уровни представления информации

На этапе выбора компонентов для структуры новой базы нужно выбрать уровни представления информации.

Существуют три уровня:

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

Описание представлений информации для разных уровней требует использования различных языков программирования – Python, SQL, С+. Важную роль играет SQL, который является одновременно языком манипулирования данными и языком их описания. Кроме того, он выполняет функции языка шлюзов, когда совместно используются СУБД различных типов.

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

Требуется создать описание на выбранном языке программирования:

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

Программные средства

Следующий шаг – выбор программных средств для конструирования следующих компонентов БД:

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

Например, для отслеживания пользовательских операций в БД на профессиональном уровне можно подключить Database Monitor. Узнать больше.   


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

Централизованная система управления информацией на основе взаимодействия БД и ОС решает следующие задачи:

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

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

Технические средства

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

При выборе сервера необходимо обратить внимание на:

  • количество ядер процессора – не менее 4;
  • объем оперативной памяти – не менее 10 ГБ;
  • объем свободного пространства на дисках;
  • мощность пропускного канала.

Как правило, современное оборудование соответствует этим требованиям. Если база данных существует в распределенном виде, то схожие требования предъявляются ко всем реальным и виртуальным машинам.

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

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

Административно-организационные решения

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

  • инструкция пользователя;
  • инструкция программиста;
  • регламент пользования БД как локальный нормативный акт.

Заполнение баз данных

После создания «технического облика» БД (выбора программных и технических решений для СУБД и утилит) начинается этап формирования ее наполненности, структуры отчетов, распределения привилегий.

Основные этапы создания базы данных:

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

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

25.08.2020

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