Новости → Вышел John the Ripper 1.7.6 с поддержкой параллелизации

Вышла новая версия John the Ripper — программы для подбора/аудита Unix-паролей (и не только Unix) по их хешам — впервые с официальной поддержкой параллелизации, реализованной с помощью директив OpenMP (требуется GCC 4.2+, Sun Studio или другой компилятор с поддержкой OpenMP). На данном этапе, OpenMP-параллелизация поддерживается и эффективно работает для «медленных» типов хешей — OpenBSD-подобных на основе Blowfish (алгоритм bcrypt), glibc 2.7+ SHA-crypt, Solaris SunMD5. Для bcrypt используется встроенный в JtR оптимизированный код (на x86–64 вычисляет по два хеша параллельно на каждый thread). Для SHA-crypt и SunMD5 пока что используется системная функция crypt_r (3) на glibc или поддерживающая многопоточность crypt (3C) на Solaris (причем SHA-crypt там поддерживается тоже).

Эффективность этого подхода была проверена еще до релиза на 4- и 8-ядерных x86–64 и на UltraSPARC T2 (4 ядра, 32 потока). Для bcrypt, на 4-ядерных Core i7 и UltraSPARC T2 ускорение (по сравнению с одним процессом, не поддерживающим параллелизацию) составило от 5.3 до 5.5 раз (оно превышает 4 раза благодаря SMT). На 8-ядерной системе (без SMT), ускорение составило 7.9 раза. Для SHA-crypt на Linux и Solaris и для SunMD5 на Solaris результаты чуть хуже — ускорение около 3.7 раз на 4-ядерных системах. Для обсуждаемых типов хешей и их типичных настроек (количество итераций, которое регулируется системным администратором) речь может идти об ускорении примерно от 200 до 700–1600 проверяемых комбинаций {пользователь, пароль} в секунду. Дальнейшая параллелизация на несколько машин пока что может осуществляться по-старинке (вручную или с MPI).

Одно из основных преимуществ OpenMP-подхода — простота в сборке, установке и использовании программы — причем использование ничем не отличается от традиционного — JtR работает как обычно (включая возможность прервать и продолжить работу с прежнего места), только быстрее. Один из основных недостатков — необходимость реализации поддержки для каждого типа хешей или интерфейса отдельно.

В будущих версиях JtR ожидается расширение поддержки параллелизации и на другие типы хешей — с использованием встроенного оптимизированного кода. Через crypt_r (3) или crypt (3C) такая параллелизация уже работает и для других типов хешей, но для них использовать ее оказывается нерационально из-за низкой эффективности системных реализаций, сводящей на нет преимущество от параллелизации на «всего лишь» 4–8 потоков в сравнении с оптимизированным кодом в JtR, достигающим той же или лучшей скорости на одном потоке. Так что на данный момент эффективная параллелизация доступна лишь для перечисленных: bcrypt, SHA-crypt, SunMD5.
#1 написал: Zorro
Группа: Посетители
16 июня 2010, 15:44
хмм... на SECURRITY.ru
John the Ripper
hack-soft

        
#2 написал: Administrator
Группа: SysOp
16 июня 2010, 16:59
@Zorro,
Проблема в том, что в большинство случаев легальные программы используется злоумышленниками, и, John the Ripper не исключение, несмотря на то что, основное назначение этого программного продукта — «аудит слабых паролей» в операционных системах.

Как правило, администраторы выбирают сложные пароли, а вот обычные пользователи — нет, и таким образом, например многопользовательская ОС становиться уязвимой для хакерских-атак. Хороший админ должен проверить/изменить нестойкие пароли, чтобы предотвратить несанкционированные вторжения, а John the Ripper отлично справляется с этой задачей.


--------------------
Давайте попробуем сделать окружающий нас мир лучше!
        
#3 написал: Zorro
Группа: Посетители
16 июня 2010, 19:12
тогда и для комплекта - Cain & Abel
        

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.