21.04.2006

Безопасность баз данных. Что, от кого и как надо защищать

Connect, №4/2006, Алексей Сабанов

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

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

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


Хищение информации из баз данных: местные особенности России или отражение мировых тенденций?


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

 

Один из основных выводов отчета CSI/FBI - значительно возросший ущерб от такой угрозы, как кража конфиденциальных данных. Каждая американская компания в среднем потеряла 355,5 тыс. долл. только из-за утечек конфиденциальных данных за прошедшие 12 месяцев. Средний размер потерь от действий инсайдеров составил 300 тыс. долл. (максимальный -1,5 млн долл.). Решение вопросов персонифицированного доступа к конфиденциальным данным позволяет выявлять злоумышленника с помощью информации, неопровержимо доказывающей его вину. Это, в свою очередь, невозможно без применения самых современных способов аутентификации и управления доступом.


Можно ли остановить хищение информации из баз данных?


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


Итак, имеются следующие исходные данные:

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

Исследования Ernst&Young по проблемам внутренних угроз свидетельствуют: около 20% сотрудников предприятий уверены, что конфиденциальная информация "уходит на сторону" по вине их коллег, при этом руководители большинства компаний практически бездействуют. Причины такого положения следующие.

  1. Высокая латентность подобных преступлений (понесенные потери обнаруживаются спустя некоторое время) и достаточно редко раскрываются. Эксперты называют следующие цифры по сокрытию: США - 80%, Великобритания - до 85%, Германия - 75%, Россия - более 90%. Стремление руководства "не выносить сор из избы" усугубляет ситуацию.
  2. Низкий интерес к разработке средств, ликвидирующих или уменьшающих риски, связанные с внутренними угрозами; недостаточная популяризация таких решений. В результате о средствах и методах защиты от кражи информации легальными сотрудниками знают немногие.
  3. Недостаточное предложение на рынке комплексных систем для борьбы с внутренними угрозами, особенно в отношении краж информации из баз данных.


Практически 100% опрошенных подтвердили использование в корпоративных сетях антивирусного ПО, 71% - антиспамовых систем, но о защите от внутренних угроз не упомянул никто.
Российская действительность еще тревожнее. В опубликованной в феврале 2005 г. информации на сайте www.infowatch.ru приведены данные опроса представителей 387 государственных и коммерческих структур (рис. 2). Вот основные выводы данного исследования:

  • 62% респондентов считают, что действия инсайдеров - самая большая угроза для российских организаций;
  • 98% признали нарушение конфиденциальности информации самой большой внутренней ИТ-угрозой;
  • 99,4% допускают возможность наличия незарегистрированных инцидентов внутренней И Б;
  • 87% считают технические средства эффективным способом защиты. Однако всего 1% респондентов используют их, а 68% никаких действий не предпринимают;
  • российские организации ососзнают опасность внутренних ИТ-угроз, но не знают, как с ней бороться: 58% не осведомлены о сущетсвующих технологических решениях.


Одна из причин этого - отсутствие реальных механизмов сбора доказательной базы по факту кражи конкретным пользователем ресурсов;

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

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


Технические способы защиты


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

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

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

  • cтрогую аутентификацию пользователя и контроль доступа в соответствии с ролевым управлением, регулируемым офицером безопасности. Это дает возможность персонализировать доступ и существенно снизить риск отказа пользователей от совершенных ими действий;
  • шифрование трафика между клиентской рабочей станцией и сервером БД, что предотвратит попытки кражи информации на сетевом уровне;
  • криптографическое преобразование тех данных, которые необходимо защитить. Это значительно снизит риск потери информации;
  • хранение аутентификационной информации и ключей шифрования на персонализированном съемном носителе, например, на смарт-карте или USB-ключе. Это позволит устранить проблему «забытых паролей» и повысить персональную ответственность сотрудника;
  • аудит критических (в плане безопасности) действий пользователей (желательно, нештатными средствами аудита БД). Сочетание аудита и строгой персонификации - достаточно веский аргумент в пользу отказа от противоправных действий для потенциальных нарушителей.

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


Лучшее решение — "прозрачное" приложение


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

Рассмотрим это решение подробнее. Из всего разнообразия методов аутентификации, предоставляемых СУБД Oracle (имя/пароль, RADIUS, Kerberos, SSL), в 99% случаев используется аутентификация по имени пользователя и паролю. Безусловно, это самый простой метод. Однако его удобство и, что более важно, безопасность оставляют желать лучшего. Наиболее надежным методом сегодня считается аутентификация по сертификату Х.509, которую поддерживает Oracle. Сертификаты пользователей и закрытые ключи могут храниться либо в файлах стандартного формата PKCS#12, размещенных на отчуждаемых носителях, либо в реестре Windows на рабочих станциях, при этом они защищены паролем. Однако парольная защита порождает проблемы безопасности - ключевые контейнеры могут быть скопированы и впоследствии "взломаны" методом простого перебора паролей. Определенные неудобства вызывает и привязка ключевого контейнера к конкретной рабочей станции.

Рассматриваемое решение снимает обе проблемы: сертификаты установлены непосредственно в чиповой (интеллектуальной) смарт-карте; секретный ключ находится в защищенной памяти и никогда оттуда не извлекается; сертификаты "мобильны" - работать с приложениями Oracle можно с любой рабочей станции и от имени любого пользователя корпоративной сети.

Необходимые настройки - указать, что ключевой контейнер помещен в хранилище сертификатов (Certificate Store) Microsoft. В момент запроса на соединение с БД служба смарт-карты RTX позволяет сетевым драйверам Oracle "видеть" все сертификаты, установленные на смарт-карте. Процесс аутентификации проходит в два этапа:

  • запрос на выбор сертификата (в зависимости от выбранного сертификата пользователь будет работать с определенной БД с заданными офицером безопасности правилами). Если сертификат единственный, он выбирается автоматически;
  • запрос PIN-кода смарт-карты для авторизации на операции с закрытым ключом.

Когда клиенту требуется предъявить свой сертификат, служба смарт-карты «подсказывает» ему, по сертификат следует брать из смарт-карты. Для подтверждения подлинности сервера клиенту необходим личный ключ для расшифровки ответа сервера. Закрытый ключ находится в защищенной памяти смарт-карты, и все операции с ним выполняет встроенный в карту криптопроцессор. Для таких операций требуется дополнительная авторизация, то есть запрашивается PIN-код. Когда между клиентом и сервером установлены доверительные отношения, сервер проверяет наличие отличительного имени пользователя, для которого издан сертификат клиента, в LDAP-каталоге - Oracle Internet Directory. Если таковой найден, дополнительно определяются экземпляр БД, схема и набор прав для клиента. После этого сервером создается сессия пользователя с указанными параметрами. Сетевой обмен между клиентом и сервером происходит по соединению, защищенному определенным криптоалгоритмом.

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

Обзор технических способов противодействия типовым угрозам

Главным объектом атаки являются, как правило, административные полномочия. Их можно получить, узнав в хешированном или символьном виде пароль администратора системы. Типовые угрозы и технические методы противодействия им с помощью технологий, основанных на применении встроенных в Oracle средств PKI, приведены в таблице.


Таблица. Методы противодействия типовым угрозам



Угроза Противодействие Метод

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

Хищение информации из БД со стороны легального пользователя (превышение полномочий) Ролевое управление, подробный аудит Аутентификация и дополнительный мониторинг действий пользователя (не средствами СУБД)

Хищение или использование чужой учетной записи (из-за отсутствия защиты учетной записи), например, системного администратора Аутентификация по цифровому сертификату Использование механизма SSL-аутентификации

Использование известных паролей, установ¬ленных по умолчанию (если они не были переустановлены пользователем) Хищение пароля (например, с помощью снифера - ПО для перехвата вводимых паролей) Подбор пароля (например, методом перебора по словарю) Перехват пароля во время передачи по сети Взлом пароля ключевого контейнера (wallet). Аутентификация по цифровому сертификату Отказ от использования паролей, переход на SSL-аутентификацию с использованием сертификатов

Хищение или копирование ключевого контейнера или его резервной копии Закрытый ключ хранится как не экспортируе¬мый в защищенной памяти интеллектуальной смарт-карты Использование смарт-карт технологий для безопасного хранения закрытых ключей

Перехват закрытого ключа (в момент его использования с помощью специального ПО) Аппаратная реализация криптографических операций в смарт-карте Использование смарт-карт технологий для аппаратного выполне¬ния криптографических операций (SSL) в процессоре смарт-кар¬ты без «выхода» закрытых ключей наружу

Дублирование смарт-карты (копирование закрытых ключей в другой токен) Доступ к защищенной памяти смарт-карты, в которой хранятся закрытые ключи, защищен PIN-кодом. Экспорт закрытых ключей из смарт-карты исключен Закрытые ключи, сгенерированные смарт-картой или импортиро¬ванные в нее, хранятся в закрытой памяти смарт-карты и не могут быть из нее извлечены (международные сертификаты безопас¬ности ITSEC Level E4, FIPS 140-1 - Level 2, 3)

Перехват передаваемых по сети данных Шифрование сетевого трафика Использование SSL-протокола для шифрования передаваемых по сети данных с помощью встроенных в Oracle алгоритмов симметричного шифрования



Ближайшие перспективы


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

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