Безопасность баз данных под управлением Oracle
Защита баз данных является одной из самых сложных задач, стоящих перед подразделениями, отвечающими за обеспечение информационной безопасности. С одной стороны, для работы с базой необходимо предоставлять доступ к данным всем сотрудникам, кто по долгу службы должен осуществлять сбор, обработку, хранение и передачу конфиденциальных данных. С другой стороны, укрупнение баз данных далеко не всегда имеет централизованную архитектуру (наблюдается ярко выраженная тенденция к территориально-распределенной системе), в связи с чем действия нарушителей становятся все более изощренными. При этом четкой и ясной методики комплексного решения задачи защиты баз данных, которую можно было бы применять во всех случаях, не существует, в каждой конкретной ситуации приходится находить индивидуальный подход.
В России руководители предприятий пока еще не научились считать потери, связанные с нарушениями информационной безопасности. А если умеют считать их, то, как правило, тщательно скрывают. Подтверждением этого являются результаты исследования, проведенного известной компанией 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 алгоритмов симметричного шифрования | |||
| |||||
Ближайшие перспективы
Итак, для минимизации риска потерь необходима реализация комплекса нормативных, организационных и технических защитных мер, а именно: введение ролевого управления доступом, организация доступа пользователей по предъявлению цифрового сертификата, а в ближайшей перспективе – промышленное решение по выборочному шифрованию и применение алгоритмов стандарта для шифрования выбранных сегментов базы.
Для полного решения проблемы защиты данных администратор безопасности должен иметь возможность проводить мониторинг действий пользователей, в том числе с правами администратора. Поскольку штатная система аудита не имеет достаточных средств защиты, необходима независимая система, защищающая корпоративную сеть не только снаружи, но и изнутри. В будущем должны также появиться типовые методики комплексного решения задачи защиты баз данных для предприятий разного масштаба – от мелких до территориально-распределенных.