Эксперты-криминалисты и специалисты по восстановлению паролей добились высокого показателя скорости проверки хэшей от популярного менеджера паролей 1Password. Это стало возможным в том числе благодаря не очень грамотной реализации алгоритмов в приложении 1Password.
Программа 1Password использует алгоритм PBKDF2-HMAC-SHA1 для генерации 320-битного ключа, который потом сокращается до 256-битного. В этом нет ничего странного, так делают многие алгоритмы, вроде WPA. Схема PBKDF2-HMAC-SHA1 спроектирована таким образом, чтобы затруднить вычисления. Каждая итерация PBKDF2-HMAC-SHA1 требует восемь вызовов SHA1, чтобы сгенерировать 320-битный ключ.
Специалистам удалось оптимизировать процедуру брутфорса. Помогло ещё и то, что при брутфорсе 1Password для проверки хэша достаточно сгенерировать всего 160 бит вместо 320 бит, и проверка осуществляется по небольшому фрагменту блока. Это объясняется использованием AES-128 в режиме CBC. Из-за упомянутого бага и благодаря оптимизациям получается, что тысяча итераций PBKDF2-HMAC-SHA1 требуют не 8000 вызовов SHA1, как должно быть в теории, а всего 2002.
Как результат, программа для взлома паролей oclHashcat-plus способна проверять почти 3 миллиона парольных хэшей 1Password в секунду на двух графических картах HD6990.
root@sf:~/oclHashcat# ./oclHashcat-plus64.bin -m 6600 testhash2 -a 3 ?l?l?l?l?l?l?l! -u 1000 -n 128 oclHashcat-plus v0.15 by atom starting... Session.Name...: oclHashcat-plus Status.........: Cracked Input.Mode.....: Mask (?l?l?l?l?l?l?l!) Hash.Target....: File (testhash2) Hash.Type......: 1Password Agile Keychain Time.Started...: Tue Apr 16 15:30:55 2013 (7 mins, 3 secs) Speed.GPU.#1...: 744.0k/s Speed.GPU.#2...: 744.0k/s Speed.GPU.#3...: 743.9k/s Speed.GPU.#4...: 743.5k/s Speed.GPU.#*...: 2975.5k/s Recovered......: 1/1 (100.00%) Digests, 1/1 (100.00%) Salts Progress.......: 1257111552/8031810176 (15.65%) Rejected.......: 0/1257111552 (0.00%) HWMon.GPU.#1...: 99% Util, 59c Temp, 29% Fan HWMon.GPU.#2...: 99% Util, 64c Temp, N/A Fan HWMon.GPU.#3...: 99% Util, 58c Temp, 29% Fan HWMon.GPU.#4...: 99% Util, 55c Temp, N/A Fan Started: Tue Apr 16 15:30:55 2013 Stopped: Tue Apr 16 15:38:00 2013
Подробнее о концептуальных уязвимостях дизайна 1Password и других парольных менеджеров см. здесь.