На главную страницу
О журнале План выхода Подписка Интернет-Магазин Реклама Контакты и реквизиты English На главную страницу Карта сайта Поиск по сайту Обратная связь

перейти к Содержанию номера

№ 6 ноябрь-декабрь 2006 г.
Тема номера:
СОЦИАЛЬНАЯ ИНЖЕНЕРИЯ


О ШИФРОВАНИИ ПАРОЛЕЙ В СУБД ORACLE

Ю. Е. Пудовченко, к. ф. м. н.
Компания «Открытые технологии»


Предыдущая статьяСледующая статья

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

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

О подсистеме шифрования паролей в СУБД Oracle до определенного момента вообще не было ничего известно, несмотря на то, что ее система шифрования не может быть секретной, поскольку эта СУБД эксплуа-тируется во всем мире, а не только в защищенных ВЦ США.

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

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

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

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

< ... >


 

Полную версию статьи смотрите на страницах журнала «Защита информации. Инсайд»


Обращайтесь!!!
e-mail:    magazine@inside-zi.ru
тел.:        +7 (921) 958-25-50, +7 (911) 921-68-24


Предыдущая статья    СОДЕРЖАНИЕ НОМЕРА    Следующая статья

 

| Начало | О журнале | План выхода | Подписка | Интернет-магазин | Реклама | Координаты |

Copyright © 2004-2013 «Защита информации. Инсайд». Все права защищены
webmaster@inside-zi.ru

Rambler's Top100