Силовая атака
Если аналитическим путем найти уязвимую точку не удастся, то всегда существует метод, называемый силовая атака.
Так, можно, игнорировав значение H, непосредственно приступить к вычислениям X=DES-1(K',K), взяв генератор случайных чисел в качестве источника K'(расшифровываем некоторое случайное значение K' на ключе K, затем сравниваем результат с Х). Эта атака позволяет сэкономить на операции Х = DES-1 (H, K') и таким образом ускорить процесс.
По данным [], программные реализации силовой атаки дают на сегодняшний день скорость 830 тыс. хешей в секунду, используя стандартный Pentium-4 с частотой 2.8 ГГц. Если длина пароля 8 знаков и имя пользователя 8 знаков, то злоумышленник вычислит все возможные пароли приблизительно за 39,3 суток, при этом в среднем он будет обнаруживать пароли на 20-день. Следует подчеркнуть, что скорость в 830 тыс. хешей относится только к 8-байтовым паролям. Более длинные пароли требуют большего времени и больших вычислительных ресурсов.
На сайте http://www.red-database-security.com сравниваются несколько инструментов для силовой атаки на пароли Oracle. Каждый из этих программ шифруют username/password и сравнивают с хеш-значением. Разброс значений скорости перебора на Pentium-4 с частотой 3 GHz такой: код SQL генерирует до 500 паролей в секунду, код на С до 1.100.000 паролей в секунду (наилучший результат). При этом, время, необходимое для полного перебора паролей распределяется так:
5-символьные пароли - 10 секунд
6-символьные пароли - 5 минут
7-символьные пароли - 2 часа
8-символьные пароли - 2,1 дня
9-символьные пароли - 57 дней
10-символьные пароли - 4 года
Еще более интересна разработка аппаратного устройства для подбора паролей Oracle. Поскольку базы данных концентрируют в одном месте множество информации, то затраты на разработку специализированных аппаратных средств могут оказаться экономически оправданными.
Еще в 1998 г. была запущена в эксплуатацию специализированная ЭВМ для подбора ключей DES, развивающая производительность до 92 миллиардов ключей в секунду. Она способна найти подходящий ключ DES за несколько десятков часов. Стоимость такого устройства около 250 тыс. долларов. Более подробную информацию можно получить по адресу.
В данном аспекте следует подчеркнуть, что значение 92 миллиарда относится именно к перебору ключей DES, а не к подбору паролей Oracle. Расшифровка хеша Oracle будет происходить немного медленнее, поскольку требует большего числа операций, но, тем не менее, это значение позволяет оценить потенциальную мощность аппаратных средств.