Сентябрь 2005


Тема номера: Oracle COREid и информационная безопасность


А. Додохов,
менеджер проекта,
к.т.н. А. Сабанов,

коммерческий директор
ALADDIN Software Security R.D

О дополнительных возможностях защиты данных
под управлением СУБД Oracle 9i

Источник: журнал Byte, #5, 2005,
http://www.aladdin.ru/ufiles/29_6product_PDF.PDF
Статья публикуется с разрешения авторов и редакции журнала

Введение

Обеспечению конфиденциальности данных под управлением СУБД Oracle посвящено немало работ. С одной стороны, это объясняется распространенностью данной СУБД: из разных источников известно, что Oracle используется в 60-80% государственных организаций России, и не менее чем в 30-35% – коммерческих. С другой - известны факты краж и последующего коммерческого распространения баз данных ГАИ, ГТК, УВД, МРП, МГТС, МТС, которые штатно использовались под управлением СУБД Oracle. Цель появления данной статьи – желание рассказать о технологиях, позволяющих не только надежно защитить данные, но и выявить злоумышленника, покушавшегося на них.

Актуальность. Зарубежные данные и российская действительность

Долгое время защита баз данных ассоциировалась с защитой локальной сети предприятия от внешних атак хакеров, вирусов и т.п. Данные консалтинговых компаний, появившиеся в последние годы, выявили другие, не менее важные направления защиты информационных ресурсов компаний. Исследования убедили, что от утечки информации, ошибок персонала и злонамеренных действий “всесильных” администраторов баз данных не спасают ни межсетевые экраны, ни VPN, ни даже “навороченные” системы обнаружения атак и анализа защищенности. Обратимся к свидетельствам, опубликованным в конце 2004г. на известном российскому ИТ-сообществу сайте www.CNews.ru (рис.1) .

Рис. 1.Статистика угроз.
Источник: 2003 CSI/FBI Computer Crime and Security Survey, данные по 1000 исследуемых компаний

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

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

  • подобные преступления имеют высокую латентность (т.е. вы узнаете о понесенных потерях по прошествии некоторого времени) и достаточно редко раскрываются. В докладе руководителя Управления “К” ГУСТМ МВД РФ Е.Я Якимовича на Х Международном форуме “Технологии безопасности” в феврале 2005 г. отмечалось, что количество фактов неправомерного доступа к информационным ресурсам государственных и коммерческих организаций в целях хищения и последующего сбыта за 2004 г. удвоилось. Но это только видимая часть айсберга. Эксперты называют следующие цифры по сокрытию: США - 80%, Великобритания - до 85%, Германия - 75%, Россия - более 90%. К тому же политика руководства “не выносить сор из избы” еще более усугубляет ситуацию. "Многие организации даже не представляют, что причиняет им ущерб, и в каком объеме. В то время как паникеры фокусируют внимание пользователей на внешних угрозах, аргументируя сомнительными оценками потерь, для организаций большую опасность представляют инсайдеры – неправомерные действия, халатность, недосмотр сотрудников… Поскольку многие инсайдерские инциденты тщательно маскируются и не контролируются, организации часто оказываются не в курсе, что они подвергаются атаке изнутри", - отметил в выводах Эдвин Беннет (Edwin Bennett), управляющий Technology and Security Risk Services компании Ernst&Young.
  • низкий интерес к разработке средств, ликвидирующих или уменьшающих риски, связанные с внутренними угрозами; недостаточная популяризация таких решений. В результате о средствах и методах защиты от кражи информации легальными сотрудниками знают немногие.
  • недостаточное предложение на рынке комплексных систем для борьбы с внутренними угрозами, особенно в отношении краж информации из баз данных.

В итоге (по данным Ernst&Young) почти 100% опрошенных подтвердили использование в корпоративных сетях антивирусного ПО, 71% - антиспамовых систем, но о защите от внутренних угроз не упомянул никто.

Российская действительность еще тревожнее. В опубликованной в феврале 2005г. работе [3] приводятся данные опроса представителей 387 государственных и коммерческих структур. Вот основные выводы данного исследования:

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

В качестве яркой иллюстрации одного из приведенных выводов на рис. 2 приводятся данные по оценке главных ИТ-угроз в компаниях, где число работников превышает 2500 человек. Видно, что оценка риска от действий внутренних злоумышленников лидирует перед такими традиционными и “раскрученными” опасностями, как воздействие вредоносных программ и хакерских атак. Известно, что к группе инсайдеров относят, в первую очередь, нечестных, обиженных и уволенных сотрудников (тех, у кого случайно или намеренно осталась возможность доступа к конфиденциальным данным).

Рис. 2. Оценка угроз. Данные компании Infowatch октябрь-декабрь 2004 г.

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

Одним из способов технического решения задачи персонификации действий пользователей, имеющих доступ к конфиденциальным данным, является решение [2]. Появление этого решения в начале 2004г. и его успешное тестирование с различными прикладными системами, проведенное специалистами компаний “РНТ”, “БОРЛАС”, ФОРС, КРОК, “Инфосистемы Джет”, доказывает целесообразность его промышленного применения в различных сегментах экономики. Однако поскольку процесс принятия решений растянут во времени, а развитие предложенного решения продолжается, попробуем еще раз сформулировать постановку задачи и покажем, какие преимущества для пользователей и администраторов безопасности в плане надежности и удобства организации защищенного доступа к данным дает применение данного подхода.

В чем суть проблемы?

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

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

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

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

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

Общее решение

Естественным способом защиты конфиденциальной информации, хранящейся в таблицах БД, может показаться ее зашифрование с помощью достаточно стойкого криптоалгоритма. Этим обеспечивается хранение информации в “нечитаемом” виде. Для получения “чистой” информации пользователи, имеющие санкционированный доступ к зашифрованным данным, указывают ключ и применяют алгоритм расшифрования. Конечно, тут возникает проблема хранения ключей шифрования – вспомним хотя бы о “пароле под ковриком мыши”.

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

Чтобы техническими средствами снизить риски от внутренних угроз в БД, следует реализовать:

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

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

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

Решение, “прозрачное” для приложений

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

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

Рассмотрим это решение подробнее.

Не секрет, что из всего разнообразия методов аутентификации, предоставляемых СУБД Oracle (имя/пароль, RADIUS, Kerberos, SSL, SecureID), в 99% случаях приложения используют аутентификацию по имени пользователя и паролю. Это обусловлено простотой подобного метода. Однако, удобство и, что более важно, его безопасность оставляют желать лучшего.

Наиболее надежным методом сегодня считается аутентификация по сертификату формата X.509, и Oracle 9i его поддерживает. Сертификаты пользователей и закрытые ключи при этом могут храниться либо в файлах стандартного формата PKCS#12, либо в реестре Windows на рабочих станциях, при этом они защищены паролем. Это порождает проблемы в плане безопасности – ключевые контейнеры могут быть скопированы и впоследствии “взломаны” методом простого перебора паролей. Некоторые неудобства вызывает и привязка ключевого контейнера к конкретной рабочей станции.

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

Рис.4. Принцип хранения сертификатов в решении Аладдин

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

Рис.5 Установление соединения с Oracle без указания имени и пароля

Рис.6. Выбор требуемого сертификата

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

Рис.7. Запрос PIN-кода

Приведем пример аутентификации по сертификату.

Если соединение установлено успешно, пользователь получит результат, как на рис.8.

Рис.8. Соединение успешно установлено

Что же происходит “за кадром” процесса аутентификации? Получив с клиентского приложения команду на соединение с БД (conn = connect рис.5), клиентское ПО Oracle (клиент) анализирует стоку соединения. По настройке сетевого алиаса (@orclssl) определяется хост сервера БД (сервер), порт и протокол соединения (в данном случае – SSL). Клиент Oracle передает серверу запрос на соединение. Далее происходит взаимная аутентификация сервера и клиента, определяемая протоколом SSL.

Когда клиенту требуется предъявить свой сертификат, служба eToken “подсказывает” ему, что сертификат следует брать из смарт-карты или USB-ключа (рис.6). Для подтверждения подлинности сервера клиенту требуется личный ключ для расшифрования ответа сервера. Личный ключ находится в защищенной памяти смарт-карты или USB-ключа, и все операции с ним выполняет встроенный криптопроцессор. Для таких операций требуется дополнительная авторизация, то есть запрашивается PIN-код (рис.7). Когда между клиентом и сервером установлены доверительные отношения, сервер проверяет наличие отличительного имени пользователя, для которого издан сертификат клиента, в LDAP-каталоге – Oracle Internet Directory. Если таковой найден, дополнительно определяется экземпляр БД, схема и набор прав для клиента. После этого сервером создается сессия пользователя с указанными параметрами (рис.8). Сетевой обмен между клиентом и сервером происходит по соединению, защищенному выбранным криптоалгоритмом.

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

Источники:

  1. http://www.cnews.ru/newcom/index.shtml?2004/11/01/167428
  2. Демченко К.О., Додохов А.Л., Сабанов А.Г. “Русская версия “индийской защиты” или защита данных под управлением СУБД Oracle”. Журнал “Байт”, №8, 2004г.
  3. http://www.infowatch.ru/threats?chapter=147151396&id=157848009
  4. В.Митин. “Внутренние угрозы страшнее внешних”. PCWeek №5(467), 2005г.

E-mail this page