Особенности реализации защиты СУБД Oracle

Современный этап развития информационных систем характеризуется следующими особенностями [1–5]:
архитектура приложений, как правило, многозвенная – СУБД – сервер приложений – клиентская часть;
отдельные части приложений разработаны на разных программных платформах;
корпоративная информационная система является пространственно распределенной;
доступ в корпоративную информационную систему осуществляется при помощи технологий Интернет и Интранет.

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

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

Рассмотрим более подробно особенности применения паролей в СУБД Oracle.

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

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

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

Судя по отсутствию этих проблем в технической документации и Интернет.

Не обходимо отметить, что в СУБД Oracle не различаются строчные и заглавные символы (в версии Oracle 11g эта проблема уст¬ранена). Затем эксперименты с прослушиванием сетевых пакетов показали, что клиентский пароль не передается на сервер в открытом виде. Следовательно, обработка клиентского пароля осуществляется на клиенте, и для защиты пароля используется алгоритм шифрования. Скорее всего, этот алгоритм – DES, поскольку другого общедоступного сертифицированного алгоритма, существовавшего на протяжении последних 15 лет в США нет.

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

Значит, значение ключа не является функцией, зависящей от версии СУБД, типа инсталляции (клиент или сервер), версии ОС. Очевидно, что сам собой напрашивается вывод о том, что ключ является константой, единой на все инсталляции СУБД, а значение этой константы «зашито» в каждом дистрибутиве, и даже конкретно в каждом исполняемом файле sql*plus.

Согласно [1], подобная криптосистема — это ошибка с точки зрения криптографической защиты.

Последним штрихом для создания полноценной картины явилось опубликование 18 октября 2005 г. исследования « An Assessment of the Oracle Password Hashing Algorithm » авторов Joshua Wright и Carlos Cid, в котором описан алгоритм шифрования паролей в СУБД Oracle.

Можно сделать вывод, что реальной уязвимости на сегодняшний день Oracle не продемонстрировано. Каких-либо уязвимостей в криптографической конструкции не предъявлено. Новых теоретических результатов по вопросу получения несанкционированного доступа к СУБД Oracle тоже нет. Результаты по подбору паролей в [1,3] получены за счет эффективного применения вычислительных средств и осуществляют банальную силовую атаку на хеш. При отсутствии специализированного ПО либо специализированных аппаратных средств, осуществить такую атаку за разумное время невозможно, точнее вероятность успеха ничтожно мала, а время атаки космически велико.

это подтверждается самими авторами [1], которые не нашли уязвимость в криптосхеме или ее реализации, а всего лишь продемонстрировали очередной силовой вариант. Надо отдать им должное, они честно признают этот факт: «…нельзя сразу указать криптографическую слабость конструкции хеш – функции в СУБД Oracle …» Фактически они подтвердили, что единственный способ на сегодняшний день узнать пароль – это силовая атака (полный перебор).

стойкость парольной защиты Oracle также подтверждается и известным сайтом, посвященном уязвимостям в СУБД Oracle: « It is not possible to decrypt a hashstring … »
тем не менее, стоит подчеркнуть, что в системах с повышенными требованиями к безопасности для обеспечения надежной аутентификации следует использовать более сильные средства, чем стандартная парольная защита СУБД Oracle.

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

Литература:

1. Wright Joshua. An Assessment of the Oracle Password Hashing Algorithm / Joshua Wright, Cid Carlos. – 18 oct., – 2005.
2. Брюс Шнайер, Прикладная криптография. – М.: Издательство «Триумф, 2003. – 816 с.
3. Morris R. Password security: A case history / R. Morris, K. Thompson, Communications of ACM. – v.22. – n. 11. – Nov. 1979. – pp. 594-597.
4. Хоффман Л. Дж. Современные методы защиты информации. – М.: Сов. радио, 1980. – 264 с.
5. Э. Танненбаум. Современные операционные системы. – М. СПб.: Питер, 2002. – 1040 с.

Опубликовать в twitter.com

Обсуждения закрыты для данной страницы