John the Ripper 1.9.0-jumbo-1 útgáfa með FPGA stuðningi

Gefin út новая версия старейшей поддерживаемой программы для подбора паролей John the Ripper 1.9.0-jumbo-1 (проект развивается с 1996 года). C выхода прошлой версии 1.8.0-jumbo-1 прошло 4.5 года, за которые было внесено более 6000 изменений (git commits) от более 80 разработчиков. Благодаря stöðug samþætting, включающей предварительную проверку каждого изменения (pull request) на многих платформах, в течение этого срока разработчики рекомендовали использовать núverandi útgáfa frá GitHub, состояние которой поддерживалось стабильным несмотря на вносимые изменения. Основной код проекта dreift af под лицензией GPLv2+, а код некоторых компонентов под лицензией BSD.

Особенностью новой версии является появление поддержки FPGA (в дополнение к CPU, GPU и Xeon Phi). Для плат ZTEX 1.15y, включающих по 4 чипа FPGA и исходно использовавшихся в основном для майнинга Bitcoin, теперь реализованы 7 типов хешей паролей: bcrypt, классический descrypt (включая bigcrypt), sha512crypt, sha256crypt, md5crypt (включая Apache apr1 и AIX smd5), Drupal7 и phpass (используется, в частности, в WordPress). Некоторые из них реализованы на FPGA впервые.

Для bcrypt, достигнутая производительность в ~119k c/s при 2^5 итераций («$2b$05») с потребляемой мощностью около ~27 ватт существенно превосходит результаты для новейших GPU в расчете на плату, на цену оборудования и на ватт. Также поддерживаются klasa из плат этого типа, что проверено вплоть до 16 плат (64 чипа FPGA), контролируемых с одного Raspberry Pi 2. Поддерживается обычная функциональность John the Ripper, включая все режимы подбора паролей и одновременную загрузку большого количества хешей.

Для ускорения работы реализовано применение маски (режим «—mask», в том числе в комбинации с другими режимами) и сравнение вычисленных хешей с загруженными на стороне FPGA. С точки зрения реализации, во многих из дизайнов (например, для sha512crypt og Drupal7) kubbar sem samanstanda af fjölþráðum örgjörvakjarna (mjúkum CPU kjarna) sem hafa samskipti við dulmálskjarna eru notaðir. Þróun þessarar virkni var stýrt af Denis Burykin í samráði við aðra jumbo hönnuði.

Другие важные изменения:

  • Поддержка большого количества дополнительных типов хешей, шифров и т.п., включая как классические хеши паролей (например, от новых версий QNX), так и кошельки криптовалют, шифрованные архивы и шифрованные файловые системы (например, Bitlocker и FreeBSD geli), а также поддержку новых разновидностей форматов, поддерживаемых ранее (например, добавлена поддержка bcrypt-pbkdf для OpenBSD softraid) и многое другое. В общей сложности, добавлено 80 форматов на CPU и 47 на OpenCL. Общее количество форматов теперь 407 на CPU (или 262 не включая «dynamic» форматы, настраиваемые из файлов конфигурации) и 88 на OpenCL.
  • Neitun um að styðja CUDA tungumálið í þágu OpenCL, sem truflar á engan hátt fulla notkun NVIDIA GPUs (og hjálpar jafnvel, þökk sé því að einbeita þróun og hagræðingu á eina útfærslu hvers sniðs fyrir GPU í stað tveggja útfærslu áður).
  • Stuðningur við ný SIMD leiðbeiningasett - AVX2, AVX-512 (þar á meðal fyrir aðra kynslóð Xeon Phi) og MIC (fyrir fyrstu kynslóð) - sem og alhliða og fullkomnari notkun SIMD í útfærslum á mörgum sniðum, þar á meðal notkun á áður studd leiðbeiningasett upp á AVX og XOP á x86(-64) og
    NEON, ASIMD и AltiVec на ARM, Aarch64 и POWER, соответственно.

  • Fjölmargar fínstillingar fyrir CPU og OpenCL, bæði til að vinna á skilvirkari hátt með fjölda kjötkássa samtímis (til dæmis var prófað að hlaða 320 milljón SHA-1 kjötkássa á GPU), og til að auka hraða útreikninga á kjötkássa. Sumar þessara hagræðinga eru alhliða, sumar ná yfir mismunandi undirmengi sniða og margar eru sértækar fyrir einstök snið.
  • (Авто-)настройка оптимальной буферизации проверяемых паролей на CPU («—tune=auto —verbosity=5») и оптимальных размерностей задания на OpenCL (включена по умолчанию), в том числе с учетом медленного выхода на полную рабочую частоту GPU серии NVIDIA GTX 10xx и новее. Использование реально загруженных хешей и реальной длины проверяемых паролей (когда она известна заранее) для такой авто-настройки.
  • Добавление компилятора «динамических выражений», указываемых прямо на командной строке и реализующих новые гибридные типы хешей, например «—format=dynamic=’sha1(md5($p).$s)'», вычисляемые на CPU с использованием SIMD. В качестве компонентов таких выражений поддерживаются десятки быстрых хешей (от распространенных вроде MD5 до умеренно экзотических вроде Whirlpool), объединение подстрок, кодирование и декодирование, преобразование регистра символов, ссылки на пароль, соль, имя пользователя и строковые константы.
  • Útrýming óæskilegra muna frá hashcat, þar á meðal stuðningi við áður hashcat-sértækar reglur (orðalistaregluskipanir), umskipti yfir í OpenCL tækisnúmer frá 1, sjálfgefin notkun sömu lykilorðalengda (venjulega lengd 7) fyrir frammistöðupróf.
  • Nýjar stillingar til að búa til sannreynanleg lykilorð (sprunguhamir), þar á meðal PRINCE frá hashcat (myndar „setningar“ með því að sameina nokkur orð í vaxandi röð eftir heildarlengd), undirmengi (talar upp lykilorð með ófullnægjandi fjölda mismunandi stafa, jafnvel þótt þessir stafir komi úr stóru safni mögulegra) og blendingur ytri (gerir ytri stillingum, sem lýst er í stillingarskrám á C-líku tungumáli, að búa til mörg sannanleg lykilorð byggð á hverju grunnorði sem berast frá öðrum ham). Einnig nokkrir nýjar fyrirfram skilgreindar ytri stillingar.
  • Viðbótaraðgerðir til að nota nokkrar stillingar samtímis (einn ofan á annan - stöflun), sem og til að nota sett af reglum (orðlistareglur stöflun).
  • Endurbætur á grímustillingunum (smám saman teygja grímuna á tilteknu lengdarsviði, beiting grímu á hlið OpenCL tækisins eða FPGA borðsins) og ein sprunga (sanngjarn hegðun á tækjum sem reikna mikinn fjölda kjötkássa samhliða , sem áður voru ekki næg sannanleg lykilorð fyrir í þessum ham, og einnig takmarkanir á minnisnotkun).
  • Margar endurbætur á stuðningi við Unicode og aðrar kóðun í mismunandi undirkerfum.
  • Margar endurbætur á *2john forritum (sem umbreyta skrám af mismunandi sniðum fyrir
    nota með john), sérstaklega wpapcap2john (sér um WiFi umferð).

  • Það eru margir nýir skipanalínuvalkostir, stillingar í john.conf, stilla forskriftarvalkosti og samsvarandi nýja eiginleika, sem ekki voru allir nefndir hér.
  • Bætir kóðagæði þökk sé innbyggðum stuðningi við villuleit með AddressSanitizer (áður) og UndefinedBehaviorSanitizer (bætt við), bætir við innbyggðu sniði fuzzer (sem hluti af GSoC 2015), með samfelldri samþættingu (smíðar fyrir heilmikið af stýrikerfum og þýðanda samsetningar og prófa þær fyrir réttan stuðning fyrir öll snið).

Heimild: opennet.ru

Bæta við athugasemd