21.08.2006

Безопасность баз данных под управлением Oracle

Безопасность сетей и средств связи, август/2006, Алексей Сабанов, Александр Додохов

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

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

1. Подобные преступления имеют высокую латентность (т.е. вы узнаете о понесенных потерях по прошествии некоторого времени) и достаточно редко раскрываются. Эксперты называют следующие цифры по сокрытию: США – 80%, Великобритания – до 85%, Германия – 75%, Россия – более 90%. К тому же политика руководства "не выносить сор из избы" еще более усугубляет ситуацию. "Многие организации даже не представляют, что причиняет им ущерб, и в каком объеме. В то время как паникеры фокусируют внимание пользователей на внешних угрозах, аргументируя сомнительными оценками потерь, для организаций большую опасность представляют инсайдеры – неправомерные действия, халатность, недосмотр сотрудников. Поскольку многие инсайдерские инциденты тщательно маскируются и не контролируются, организации часто оказываются не в курсе, что они подвергаются атаке изнутри", – отметил в выводах Эдвин Беннет (Edwin Bennett), управляющий Technology and Security Risk Services компании Ernst & Young.

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

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

Российская действительность еще тревожнее. В опубликованных в начале 2006 г. ежегодных результатах исследований компании InfoWatch сказано, что внутренние IT-угрозы, в частности кража информации и халатность собственных сотрудников, остаются главной опасностью для российских организаций (рис.1). На фоне незначительного снижения общего индекса обеспокоенности информационной безопасностью эта угроза остается на прежнем уровне и превосходит по значимости все остальные. В то же время интерес к вирусным эпидемиям и хакерским атакам постепенно снижается, и эти проблемы переходят в разряд информационного шума. Государственный и коммерческий секторы практически повсеместно установили высокоэффективные системы защиты от внешних IT-угроз, но до сих пор остаются уязвимыми перед угрозами внутренними.
 
Рис.1. Оценка угроз (данные компании InfoWatch, 2006)
Можно ли остановить хищение информации из баз данных?

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

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

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

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

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

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

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

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

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

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


Лучшее решение – "прозрачное" для любых приложений

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

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

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

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

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

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

Несомненным достоинством предложенного решения является то, что в защищенный раздел памяти смарт-карты или USB-ключа eToken кроме сертификатов размещаются закрытые ключи VipNet, "КриптоПро", "Вербы" и других применямых СКЗИ и СЗИ.

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

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

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



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

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

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

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

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


Хищение пароля (например, с помощью снифера – ПО для перехвата вводимых паролей)


Подбор пароля (например, методом перебора по словарю)


Перехват пароля во время передачи по сети

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

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

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

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



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

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

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