|
Программирование >> Статьи Как обойти защиту в 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
При копировании материалов приветствуются ссылки. |