Программирование >>  Статьи 

Как обойти защиту в Oracle?

Пользователи Oracle используют традиционное средство аутентификации – парольную защиту. Выполнение соединения с СУБД сопровождается указанием пароля. Как хранится пароль? Заданный командой пароль преобразовывается и хранится в словаре-справочнике в свернутом виде. В момент соединения с СУБД Oracle вычисляет свертку и сравнивает ее с той, что хранится в БД.

Oracle: основные сведения

Наряду с другими системами, Oracle является одной из самых давних. Эта СУБД отличается множеством конструктивных решений, которые принимались наспех, а впоследствии стали ошибочными. Некоторые моменты удалось усовершенствовать, к примеру, буферизацию блоков данных, доступ к ресурсам СУБД. Одним из неразвитых механизмов системы Oracle является парольная защита ролей и пользователей. Подробнее о системе Oracle и других особенностях программирования можно узнать на http://pmbk.ru.

Oracle Label Security – набор ограничений целостности и набор определенных процедур, который обеспечивают контроль доступа на уровне строк схемы или таблицы. Если организации требуется построчный низкоуровневый контроль доступа для конфиденциальности информации, то можно использовать подобную опцию. OLS – способ сохранения в БД информации, при этом доступ к данным ограничен различными категориями допуска. В соответствии с функциональными обязанностями, пользователь получает метку в СУБД. В результате пользователь может оперировать только теми данными, которые соответствуют его метке.



Алгоритм парольной защиты: особенности

1. Используется шифр DES

2. Свертка не связана с БД

3. Склеенные пары имени пользователя и пароля всегда образуют одинаковую свертку

4. Свертка не зависит от буквенного регистра

Как обойти парольную защиту?

Подсоединиться к базе данных можно без проверки подлинности пароля. К примеру, в доверительное подключение пользователя в Windows, который входит в группу ORA_DBA, возможно без указания пароля. Правда, существует дополнительное условие: на машине клиента и сервере имеется значение NTS для параметра S.A.S. В Oracle можно подключиться к СУБД без пароля при условии, что имена пользователей имеются в справочника LDAP.



Алгоритм вычисления свертки пароля

Алгоритм вычисления пароля – свертки отличается следующими действиями:

• Текст пароля приклеен к имени пользователя с правой стороны

• В строке буквы обозначаются повышенным регистром

• Символы строки отображаются в двухбайтовом формате: перевод осуществляется путем дополнения нулевым значением слева, а справа строка дополняется нулевыми байтами до длины 80

• Строка шифруется алгоритмом DES

• Из блока результатов удаляют разряды четности

• Полученная строка состоит из 56 разрядов и используется для новой шифровки исходника подобным способом

• Последний блок переводится в знаки с помощью шестнадцатеричной арифметики: конечный результат и есть свертка-пароль

Возможен ли взлом пароля?

Чтобы подобрать пароль в Oracle, можно просто воспользоваться алгоритмом вычисления свертки.

• Алфавит сводится только к большим буквам, что упрощает перебор возможных знаков

• Значение свертки и имени пользователя делает возможным сокращение перебора вариантов

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

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

• Чтобы взломать пароль, используется грубый перебор и список распространенных паролей
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика