Одним из приоритетных направлений работы внутренних служб безопасности организации является обеспечение информационной безопасности. Утрата или утечка конфиденциальных данных приводит не только к финансовым убыткам, но и к потере репутации на рынке. Поэтому защита ПО на уровне СУБД – это первостепенная задача для службы информационной безопасности предприятия.
Система управления базами данных (СУБД) представляет собой установленное на сервер программное обеспечение, позволяющее создавать базы данных и управлять ими. В свою очередь, базы данных – это структурированные и распределенные по таблицам массивы данных: фото, видео, текст и т.д.
Базы данных используются практически во всем современном ПО. Они встраиваются в структуру коммерческих сайтов и социальных сетей, операционных систем и других программных продуктов. Получив доступ к управлению базой данных, пользователь может внести в нее любые изменения: создать и удалить таблицу, откорректировать данные в таблице, удалить базу данных целиком.
Чтобы защитить программное обеспечение, в основе которого лежат базы данных, разработчики встраивают системы защиты непосредственно в СУБД. Кроме этого СУБД автоматически отслеживают действия пользователей, фиксируя изменения и сохраняя историю редакций в архиве. Однако если пользователь обладает правами администратора сети, он может легко преодолеть основные средства защиты СУБД. Например, удалить из журнала проверок информацию о произведенных операциях. Поэтому, кроме штатных средств защиты СУБД, необходимо использовать и дополнительные средства безопасности.
К чему может привести изменение или удаление информации из базы данных? Кроме утечки информации, может быть нарушена работа всей компании. Так, например, интернет-магазин без базы данных с каталогом товаров перестанет выполнять свою основную функцию. То же самое касается любого программного обеспечения, в основе которого лежат базы данных.
Чтобы защитить программное обеспечение и выполнить требования к информационной безопасности, нужно в первую очередь ограничить доступ пользователей к СУБД. Для этого существуют специальные методики защиты.
Разработчиками программного обеспечения и внутренними службами информационной безопасности компаний используются разные методики защиты СУБД. Они различаются в зависимости от типа СУБД, но в целом объединяются в две группы – основных дополнительных средств безопасности.
В группу основных средств безопасности входит:
Каждая из перечисленных методик обладает своими преимуществами и недостатками. Так, например, внедрение системы авторизации считается наиболее простым и действенным способом защитить базы данных и программное обеспечение от несанкционированного доступа. На данный момент системы авторизации внедрены практически во все программные продукты, предназначенные для массового использования. Однако их эффективность во многом зависит от самих пользователей и компетентности службы информационной безопасности.
Надежный пароль – это сложное сочетание букв и цифр, составленное в хаотичной, непредсказуемой последовательности. При этом чем сложнее пароль, тем труднее пользователю его запомнить. В результате этого пользователи, использующие сложные пароли, начинают пользоваться разнообразными подсказками: бумажными и электронными документами с перечнем паролей, программами автозаполнения и т.д.
Чтобы обеспечить необходимый уровень информационной безопасности, нужно комбинировать внедрение системы авторизации с шифрованием. СУБД позволяют хранить пароли в системных файлах ПО, сохраняя их в тайне путем шифрования. Впрочем, шифрование само по себе является эффективным инструментом обеспечения информационной безопасности.
Криптографические методы обеспечения ИБ считаются наиболее надежными. В качестве примера можно привести мессенджер Telegram. В нем используется метод сквозного шифрования и благодаря этому сохраняется полная конфиденциальность переписки. Даже разработчики этого программного продукта не имеют доступа к содержимому переписок пользователей. Поэтому применение шифрования, кодирования, стеганографии и сжатия данных – это эффективный способ защитить программное обеспечение от внешних и внутренних угроз.
Недостатком криптографических методов обеспечения информационной безопасности является то, что процесс шифрования и дешифровки может занимать много времени. В связи с этим такие методики используются не везде. Обычно зашифровывается только самая ценная информация.
А вот определение прав доступа разных категорий пользователей к управлению – это одна из самых распространенных методик защиты.
Пользователи делятся на три категории:
1. Разработчик, главный администратор или владелец объекта. Обладает полным доступом к управлению базами данных и программным обеспечением в целом. Может создавать, изменять, удалять объекты баз данных, проводить аудит, встраивать скрипты и выполнять другие действия без контроля со стороны службы информационной безопасности.
2. Системный администратор. Обладает расширенным доступом к управлению базами данных и программным обеспечением. Может создавать, изменять, удалять объекты баз данных, проводить аудит, устанавливать ограничения доступа обычным пользователям, формировать и отправлять отчеты о проведенных проверках главному администратору или владельцу проекта. Все действия системного администратора фиксируются в журнале проверок. При необходимости главный администратор может ограничить или расширить права системного администратора.
3. Обычные пользователи. Обладают ограниченным доступом к отдельным объектам баз данных. В зависимости от рабочих обязанностей и установленных системным администратором прав могут выполнять разные действия с базами данных: просматривать информацию, вносить изменения, создавать новые таблицы и т.д.
Определение прав доступа разных категорий пользователей осуществляется с помощью файлов рабочей группы. В них содержится вся информация о пользователях: их логинах, паролях, уровнях доступа и т.д.
Методика определения прав доступа разных категорий пользователей к управлению системой является одним из наиболее простых и эффективных способов защитить программное обеспечение. Высокий уровень информационной безопасности в данном случае обеспечивается благодаря комбинации этой методики с внедрением системы авторизации.
Структура и содержимое баз данных защищается от изменений путем ограничения прав доступа по отношению к отдельным объектам БД. Наиболее простым примером применения такой методики можно считать заблокированные таблицы в файлах Excel. Формулы, прописанные в отдельных строках и столбцах таблиц, защищены от изменения и удаления пользователями. Таким образом, пользователи могут проводить вычисления в таблицах, заполняя пустые строки и столбцы с открытым доступом.
Кроме частичного ограничения прав доступа эта методика позволяет использовать и другие меры безопасности: запрещать доступ, открывать файлы только в режиме чтения, закрывать доступ к режиму конструктора.
Для отслеживания пользовательских операций в БД на профессиональном уровне рекомендуем использовать Database Monitor. Узнать больше.
Перечисленные основные средства безопасности часто комбинируются с дополнительными методиками.
К ним относятся:
Средства организации совместного использования объектов баз данных в сети обеспечивают возможность активации многопользовательского режима работы с программным продуктом. Они используются на всех веб-сайтах: интернет-магазинах, порталах, корпоративных сайтах.
Средства обеспечения взаимосвязей между данными в таблицах и средства проверки правильности ввода данных позволяют снизить количество ошибок. В данном случае обычно используются разнообразные скрипты, автоматизирующие и упрощающие работу пользователей.
Встроенные средства контроля значений данных используют и для аудита. Они выявляют ошибки пользователей и формируют отчеты о выявленных ошибках.
В процессе создания систем безопасности разработчики программного обеспечения учитывают:
В целом все созданные разработчиками системы безопасности являются трехкомпонентными. Они направлены на обеспечение безопасности подключений и данных в базах данных, а также на проведение аудита действий пользователей для выявления слабых мест. Каждый компонент следует рассматривать по отдельности.
Существует два способа подключения к базе данных: прямой и непрямой. В первом случае пользователь взаимодействует с базой данных путем обращения к ее серверу. Во втором случае используются разнообразные веб-приложения. Обычно СУБД встраиваются в программные продукты. Поэтому правами прямого доступа к ним обладают только разработчики, а обычные пользователи используют веб-приложения.
В зависимости от того, какой способ подключения к базе данных используется, определяется метод обеспечения безопасности подключения. Важную роль играют и другие факторы:
Если для подключения используется прокси-сервер или другое промежуточное ПО, необходимо настроить SSL. Это инструмент криптографической защиты информации. Его преимущество состоит в том, что в нем сочетается несколько способов шифрования и кодирования данных.
Эта же методика обеспечения безопасности применяется в том случае, если система не выделена в обособленный защищенный объект. Благодаря настройке SSL защищается канал подключения между пользователем и системой.
Протокол SSL встраивается во все существующие веб-браузеры, а также большинство сайтов и веб-приложений. Чтобы его настроить, необходимо сгенерировать ключ путем создания CSR-запроса. После этого нужно найти файлы сертификатов и установить SSL-сертификат в панели управления. Там же можно выполнить его настройку: определить способ аутентификации, шифрования и спецификации.
При подключении через прокси-сервер или другое промежуточное ПО также стоит использовать Database Firewall. От обычного межсетевого экрана он отличается широким функционалом. С помощью этого инструмента можно не только выполнять мониторинг трафика, но и защититься от DDoS-атак, провести аудит системы, сформировать отчет и выполнить ряд других операций.
Database Firewall – это общее название. Такого рода программные продукты создаются всеми ведущими разработчиками: Oracle, IBM, Imperva и т.д. Выбор конкретного инструмента зависит от того, какие задачи он будет выполнять.
Если клиентам нельзя присвоить статус пользователей и сессия является непрозрачной, следует использовать скрипты для пополнения контента сессии информацией о действиях пользователей. Такие данные берутся из отчетов, формируемых по результатам аудита.
Кроме перечисленных инструментов, желательно использовать также основные методики обеспечения информационной безопасности: пароли, шифрование, распределение и ограничение прав пользователей.
Практика разработчиков софта показывает, что влияние перечисленных инструментов и методик на производительность различается в зависимости от режимов работы. В том случае, если производительность падает, разработчики рекомендуют оптимизировать работу системы безопасности: установить сетевое ограничение, убрать или перенастроить аутентификацию, установить более мощное серверное оборудование и т.д.
Ограничение доступа к базам данных в различных СУБД осуществляется с помощью всех основных средств безопасности: систем авторизации, шифрования, распределения прав доступа по категориям пользователей, ограничения доступа к управлению структурой и содержимым баз данных.
Чтобы защищать информацию в базах данных используются следующие технологии:
Некоторые технологии применяются преимущественно в разработке коммерческих СУБД. В перечень таких технологий входит система распределения прав доступа по категориям пользователей Security DBA/Application DBA/DBA. Она позволяет наделить разными правами владельцев объекта, системных администраторов, специалистов службы информационной безопасности и рядовых пользователей.
Примером популярной технологии шифрования является технология колоночного шифрования в PostgreSQL. Она позволяет зашифровывать отдельные колонки таблиц базы данных.
Колоночное шифрование применяется в тех случаях, когда доступ пользователей необходимо ограничить только частично. Например, нужно показать итоговые результаты статистики, но скрыть исходные данные.
При необходимости отдельным пользователям можно дать доступ к зашифрованным данным. Для этого нужно предоставить им ключ-дешифратор. Путем отправки ключа на сервер они получат расшифровку необходимой информации.
Технология колоночного шифрования в PostgreSQL осуществляется с помощью модуля pgcrypto. Испытания разработчиков показали, что запуск этого модуля значительно снижает производительность системы управления базами данных. Кроме того, эта технология недостаточно надежна, так как все зашифрованные данные и ключи-дешифраторы находятся на одном сервере. Поэтому, несмотря на популярность использования колоночного шифрования, для частичного ограничения доступа к информации лучше использовать технологию Masking или RLS. Также можно использовать key-vault хранилища для хранения ключей на отдельном сервере.
Сравнение технологий коммерческих СУБД и открытого программного обеспечения показало, что бесплатные версии программных продуктов защищены хуже. Для сравнения использовались популярные коммерческие разработки Oracle, Jatoba, MsSql и открытое программное обеспечение PostgreSQL, MongoDB, MySQL. Наиболее ярким примером является MySQL, системы безопасности которой безнадежно устарели.
Конечно, при необходимости можно использовать бесплатный софт, скачивая и устанавливая дополнительные утилиты или встраивая скрипты. Однако такое ПО «на костылях» практически не защищено от внешних и внутренних угроз. Кроме того, требования законодательства относительно обеспечения информационной безопасности достаточно строгие. Чтобы программа соответствовала ГОСТу, ее базы данных должны быть хорошо защищены.
Третьим компонентом системы безопасности является аудит. Он представляет собой проверку работоспособности и эффективности работы ПО на уровне СУБД и сервера. Как и в случае с технологиями ограничения доступа к базам данных, встроенные системы аудита продуманы только в коммерческих продуктах. Поэтому использование бесплатного софта небезопасно как минимум по двум компонентам безопасности из трех.
***
Из всего сказанного можно сделать вывод, что безопасность ПО должна обеспечиваться путем применения разных инструментов и технологий, которые будут достаточно эффективны, позволят софту выполнять свои функции и не снизят производительность системы управления базами данных.
11.08.2020
Подпишитесь на нашу рассылку и получите
свод правил информационной безопасности
для сотрудников в шуточных