Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ibs / LB / ПР / ПР 3 Информационная безопасность Oracle 9i.doc
Скачиваний:
36
Добавлен:
29.03.2016
Размер:
308.22 Кб
Скачать

Информационная безопасность Oracle 9i

В работе рассмотрим конкретные угрозы, наиболее часто встречающиеся в Интернете (в таких узлах, как bugtraq), и угрозы, о которых сообщают в Oracle в службу secalert_us; кроме того, мы касаемся угроз на основании исследований, проводимых Security Assurance Group корпорации Oracle. Некоторые из рассматриваемых вопросов были в общих чертах изложены в докладе “Hack Proofing Oracle” [HACK], представленном на OpenWorld 2000.

Половина сообщений, полученных secalert_us, связана с компонентами сетевого доступа; эти сообщения в основном отправляются хакерами и сообществом обеспечения безопасности сетей. Другая половина сообщений в основном связана с доступом к серверам или приложениям. Из сообщений, связанных с компонентами сетевого доступа, половина (25% от общего количества) посвящена листенеру баз данных. Листенер стал объектом атак сообщества хакеров (начинают появляться доступные для загрузки инструментальные средства для исследования защиты листенеров), поэтому в данной статье рассматриваются способы защиты листенеров, а также последствия атак на незащищенные листенеры.

Помните: нужно своевременно вставлять заплаты!

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

Рис. 1. Количество сообщений об ошибках, ежемесячно поступающих в secalert_us (данные нормализованы)

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

  • http://otn.oracle.com/deploy/security – оповещения о проблемах безопасности;

  • http://metalink.oracle.com – заплаты.

Структура документа

Оставшаяся часть статьи имеет следующую структуру:

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

  • в разделе “Атаки баз данных” рассмотрены некоторые атаки баз данных и серверов;

  • в разделе “PLSExtProc” рассмотрены дополнительные атаки агента внешних процедур Oracle (который позволяет выполнять в сервере внешние процедуры);

  • приложение A содержит тестовые скрипты для некоторых атак баз данных;

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

  • приложение C содержит список дополнительной литературы и ссылок.

Безопасность листенера

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

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

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

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

На следующей схеме показано функционирование листенера Oracle.

Рис. 2. Листенер базы данных.

Листенер – это автономный процесс (сервис в Windows NT/2000), который конфигурируется файлами listener.ora и sqlnet.ora. Он выдает протокольные и трассировочные (отладочные) файлы. Он принимает от клиентов запросы на соединение и управляющие запросы от контроллера листенера (LSNRCTL). Управляющие запросы листенер обрабатывает сам, а запросы на соединение передаются серверному процессу (при необходимости он запускается), который сообщает листенеру, как клиент должен связываться с ним; затем листенер отправляет это сообщение клиенту. После этого клиент и сервер поддерживают связь без вмешательства листенера. Начиная с Oracle9i, листенер может передавать клиентские соединения непосредственно серверу.

Файл listener.ora file описан в [NETREF,8], а файл sqlnet.ora в [NETREF,6], управляющая программа листенера LSNRCTL описана в [NETREF,1].