Кибербезопасность баз данных: основные риски и способы противостояния им

Кибербезопасность баз данных: основные риски и способы противостояния им

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

Автор: Юрий Бутузов, эксперт в области средств защиты информации компании «ICL Системные технологии»

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

ВОЗМОЖНЫЕ РИСКИ И ПРИМЕРЫ РЕАЛЬНЫХ ИНЦИДЕНТОВ

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

Ежедневно в российских компаниях происходит множество инцидентов нарушения политик безопасности.

Пример атаки изнутри:

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

Пример атаки извне:

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

МЕТОДЫ ОБЕСПЕЧЕНИЯ БЕЗОПАСНОСТИ БАЗ ДАННЫХ

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

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

Контроль доступа

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

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

Криптографическая защита

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

Аудит

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

Разделение компонент

Разделение баз данных на типы в зависимости от выполняемых на них задач – промышленная, тестовая, для разработки - является общепризнанной практикой устоявшейся в течении множества лет.

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

Безопасное конфигурирование

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

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

ТЕХНИЧЕСКИЕ СРЕДСТВА ОБЕСПЕЧЕНИЯ БЕЗОПАСНОСТИ БАЗ ДАННЫХ

Обеспечение безопасности Web-приложений

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

В условиях работы в рамках требований Российского законодательства, одним из неотъемлемых требований является наличие действующего сертификата ФСТЭК.

На рынке РФ наиболее часто встречаются решения компании Imperva и Positive Technologies. Также можно выделить решения таких производителей как Код Безопасности, Radware и F5 (последние два решения не имеют сертификатов ФСТЭК).

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

Физическое разделение компонент БД, контроль доступа на сетевом уровне

Разделение компонент баз данных на сетевом уровне должно производиться при помощи межсетевых экранов, обеспечивающих контроль доступа с проверкой состояния сессии и желательно с проверкой пользователей по их учётным данным (интеграция с LDAP, Active Directory и пр.).

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

Наличие наглядных средств администрирования и визуализации событий в межсетевых экранах, является несомненным плюсом ввиду прямого влияния на операционные расходы, связанные с расследованием инцидентов. В качестве возможных вариантов для решения данной задачи являются продукты компании Check Point Software Technologies, PaloAlto Networks, Cisco Systems, Инфотекс, Код Безопасности и т.п.

Контроль доступа и аудит действий пользователей и администраторов

Реализация функций по контролю доступа, разделению прав, и выполнению аудита всех действий, может быть выполнена встроенными средствами БД. Однако, следует отметить, что включение функций по встроенному аудиту, как того требуют задачи по обеспечению безопасности (т.е. не только базовый набор команд), приводит к возрастанию нагрузки на аппаратные ресурсы от 10 до 30% в зависимости от базы данных, что в свою очередь влечёт неэффективную растрату дорогих аппаратных ресурсов. Реализация функций аудита встроенными средствами БД, в любом случае оставляет возможность администратору отключить этот аудит.

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

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

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

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

Обычный межсетевой экран не позволяет работать с данными на уровне sql – запросов, разбирая их и выстраивая для них профиль защиты. Именно это и привело к появлению решений подобных решениям от компаний Imperva и МФИ Софт.

Разделение компонент

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

 

Решить данные проблемы можно с помощью продуктов компании DelphiX, которые также позволяют параллельно решить задачу маскирования данных в среде тестирования и разработки.

DelphiX позволяет виртуализовать базу данных, быстро и эффективно работать с копиями баз данных и информацией в ней (восстанавливая/откатывая/удаляя данные и состояние базы данных на желаемый момент времени), а также обеспечить изменение данных переносимых из промышленной базы данных в среды разработки и тестирования выполнив тем самым их маскирование.

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

Анализ защищённости

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

Для обнаружения и анализа уязвимостей в базах данных следует использовать сканеры безопасности (MaxPatrol от компании Positive Technologiees, Nessus от компании Tenable Network Security, Inc и пр.), при этом их применение должно выполняться в строго согласованные технологические “окна” c соблюдением требований по предварительному резервированию текущих конфигураций в базе данных.
Сканирование при помощи технического инструментария должно выполняться по заранее подготовленным профилям сканирования актуальным для выполняемой задачи. Результаты сканирования должны разбираться и интерпретироваться соответствующими специалистами, чтобы с одной стороны максимально точно настроить профиль сканирования, а с другой чётко обозначить выявленные недостатки в конфигурациях баз данных, уязвимости и недостающие обновления.

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

Выявление отклонений в поведении пользователей/администраторов

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

В качестве подобных решений могут применяться системы UBA (User Behavioral Analysis), принцип работы которых строиться на основании составления профиля поведения для каждого контролируемого субъекта при его операциях с объектами доступа. При этом следует учитывать факты срабатывания подобных систем в случаях появления дополнительных полномочий у субъектов доступа, изменения их прав и добавления новых объектов с которыми осуществляется работа.

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

ОПЕРАЦИОННЫЕ МЕРЫ ОБЕСПЕЧЕНИЯ ЗАЩИТЫ БАЗ ДАННЫХ И ИХ КОМПОНЕНТ

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

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

ЗАКЛЮЧЕНИЕ

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


Ваш провайдер знает о вас больше, чем ваша девушка?

Присоединяйтесь и узнайте, как это остановить!