John the Ripper 1.9.0-jumbo-1 ከFPGA ድጋፍ ጋር ይለቀቃል

ተለቋል новая версия старейшей поддерживаемой программы для подбора паролей John the Ripper 1.9.0-jumbo-1 (проект развивается с 1996 года). C выхода прошлой версии 1.8.0-jumbo-1 прошло 4.5 года, за которые было внесено более 6000 изменений (git commits) от более 80 разработчиков. Благодаря ቀጣይነት ያለው ውህደት, включающей предварительную проверку каждого изменения (pull request) на многих платформах, в течение этого срока разработчики рекомендовали использовать የአሁኑ እትም ከ GitHub, состояние которой поддерживалось стабильным несмотря на вносимые изменения. Основной код проекта የተሰራጨው በ под лицензией 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 в расчете на плату, на цену оборудования и на ватт. Также поддерживаются ዘለላዎች из плат этого типа, что проверено вплоть до 16 плат (64 чипа FPGA), контролируемых с одного Raspberry Pi 2. Поддерживается обычная функциональность John the Ripper, включая все режимы подбора паролей и одновременную загрузку большого количества хешей.

Для ускорения работы реализовано применение маски (режим «—mask», в том числе в комбинации с другими режимами) и сравнение вычисленных хешей с загруженными на стороне FPGA. С точки зрения реализации, во многих из дизайнов (например, для sha512crypt እና Drupal7) ባለ ብዙ ባለ ክር ፕሮሰሰር ኮሮች (ለስላሳ ሲፒዩ ኮር) ከክሪፕቶግራፊክ ኮሮች ጋር የሚገናኙ ብሎኮች ጥቅም ላይ ይውላሉ። የዚህ ተግባር እድገት ከሌሎች የጃምቦ ገንቢዎች ጋር በመተባበር በዴኒስ ቡሪኪን ተመርቷል።

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

  • Поддержка большого количества дополнительных типов хешей, шифров и т.п., включая как классические хеши паролей (например, от новых версий QNX), так и кошельки криптовалют, шифрованные архивы и шифрованные файловые системы (например, Bitlocker и FreeBSD geli), а также поддержку новых разновидностей форматов, поддерживаемых ранее (например, добавлена поддержка bcrypt-pbkdf для OpenBSD softraid) и многое другое. В общей сложности, добавлено 80 форматов на CPU и 47 на OpenCL. Общее количество форматов теперь 407 на CPU (или 262 не включая «dynamic» форматы, настраиваемые из файлов конфигурации) и 88 на OpenCL.
  • የ CUDA ቋንቋን ለOpenCL ድጋፍ ለመስጠት ፈቃደኛ አለመሆን፣ ይህም በምንም መንገድ የNVDIA ጂፒዩዎችን ሙሉ በሙሉ መጠቀም ላይ ጣልቃ የማይገባ (እና ሌላው ቀርቶ ቀደም ሲል ከሁለት ትግበራዎች ይልቅ በእያንዳንዱ ቅርጸት ለጂፒዩ አንድ አተገባበር ላይ በማተኮር ልማት እና ማመቻቸት ላይ በማተኮር ይረዳል)።
  • ለአዲሱ የሲምዲ ማስተማሪያ ስብስቦች ድጋፍ - AVX2 ፣ AVX-512 (ለሁለተኛው ትውልድ Xeon Phi) እና MIC (ለመጀመሪያው ትውልድ) - እንዲሁም በብዙ ቅርፀቶች አተገባበር ውስጥ ሲምዲ የበለጠ ሁለንተናዊ እና የተሟላ አጠቃቀም ፣ ከዚህ ቀደም የተደገፈ መመሪያ እስከ AVX እና XOP በ x86(-64) እና
    NEON, ASIMD и AltiVec на ARM, Aarch64 и POWER, соответственно.

  • ለሲፒዩ እና ለOpenCL ብዙ ማሻሻያዎች፣ ሁለቱም በብቃት ከብዙ ሃሽ ጋር በአንድ ጊዜ ለመስራት (ለምሳሌ፣ 320 ሚሊዮን SHA-1 hashes በጂፒዩ ላይ መጫን ተፈትኗል) እና የሃሽ ስሌቶችን ፍጥነት ለመጨመር። ከእነዚህ ማሻሻያዎች መካከል አንዳንዶቹ ሁለንተናዊ ናቸው፣ አንዳንዶቹ የተለያዩ የቅርጸት ስብስቦችን ይሸፍናሉ፣ እና ብዙዎቹ ለግለሰብ ቅርጸቶች የተለዩ ናቸው።
  • (Авто-)настройка оптимальной буферизации проверяемых паролей на CPU («—tune=auto —verbosity=5») и оптимальных размерностей задания на OpenCL (включена по умолчанию), в том числе с учетом медленного выхода на полную рабочую частоту GPU серии NVIDIA GTX 10xx и новее. Использование реально загруженных хешей и реальной длины проверяемых паролей (когда она известна заранее) для такой авто-настройки.
  • Добавление компилятора «динамических выражений», указываемых прямо на командной строке и реализующих новые гибридные типы хешей, например «—format=dynamic=’sha1(md5($p).$s)'», вычисляемые на CPU с использованием SIMD. В качестве компонентов таких выражений поддерживаются десятки быстрых хешей (от распространенных вроде MD5 до умеренно экзотических вроде Whirlpool), объединение подстрок, кодирование и декодирование, преобразование регистра символов, ссылки на пароль, соль, имя пользователя и строковые константы.
  • ከ hashcat የማይፈለጉ ልዩነቶችን ማስወገድ፣ ቀደም ሲል ሃሽካት-ተኮር ደንቦችን (የቃላት ዝርዝር ደንብ ትዕዛዞችን) ድጋፍን ጨምሮ፣ ወደ OpenCL መሣሪያ ቁጥር ከ 1 ሽግግር ፣ ለተመሳሳይ የይለፍ ቃል ርዝማኔዎች ነባሪ አጠቃቀም (ብዙውን ጊዜ ርዝመት 7) ለአፈፃፀም ሙከራዎች።
  • PRINCE ከ hashcat ጨምሮ (በአጠቃላይ ርዝመታቸው በቅደም ተከተል በርካታ ቃላትን በማጣመር “ሀረጎችን” ይመሰርታል)፣ ንዑስ ስብስቦች (የተለያዩ ቁምፊዎች በቂ ያልሆነ ቁጥር ያላቸውን የይለፍ ቃሎች ያመጣሉ፣ እነዚህ ቁምፊዎች ቢመጡም) ሊረጋገጡ የሚችሉ የይለፍ ቃሎችን (መሰንጠቅ ሁነታዎች)ን ጨምሮ። ከሚቻሉት ትልቅ ስብስብ) እና ድቅል ውጫዊ (ውጫዊ ሁነታዎች, በ C-like ቋንቋ ውስጥ በማዋቀር ፋይሎች ውስጥ የተገለጹት, ከሌላ ሁነታ በተቀበሉት በእያንዳንዱ መሰረታዊ "ቃል" ላይ ተመስርተው ብዙ የተረጋገጡ የይለፍ ቃሎችን ይፈቅዳል). እንዲሁም፣ በርካታ አዲስ አስቀድሞ የተገለጹ ውጫዊ ሁነታዎች።
  • ብዙ ሁነታዎችን በአንድ ጊዜ ለመጠቀም (አንዱ በሌላኛው ላይ - መደራረብ) እንዲሁም የሕጎች ስብስቦችን ለመጠቀም (የቃላት ዝርዝር ደንቦች መደራረብ) ተጨማሪ ባህሪያት.
  • የጭንብል ሁነታዎች ማሻሻያዎች (በተጠቀሰው ርዝመት ውስጥ ጭንብሉን ቀስ በቀስ መዘርጋት ፣ በ OpenCL መሣሪያ ወይም በ FPGA ሰሌዳ ላይ ጭንብል መተግበር) እና ነጠላ ስንጥቅ (ብዙ ቁጥር ያላቸውን hashes በትይዩ በሚያሰሉ መሳሪያዎች ላይ ምክንያታዊ ባህሪ) , ለዚህም ቀደም ሲል በዚህ ሁነታ በቂ የሚረጋገጡ የይለፍ ቃሎች አልነበሩም, እና እንዲሁም በማህደረ ትውስታ ፍጆታ ላይ ገደቦች).
  • በተለያዩ ንዑስ ስርዓቶች ውስጥ ለዩኒኮድ እና ለሌሎች ኢንኮዲንግ ለመደገፍ ብዙ ማሻሻያዎች።
  • ብዙ ማሻሻያዎች ወደ *2ጆን ፕሮግራሞች (የተለያዩ ቅርጸቶች ፋይሎችን ለ
    ከጆን ጋር ይጠቀሙ) በተለይም wpapcap2john (የዋይፋይ ትራፊክን ይቆጣጠራል)።

  • ብዙ አዳዲስ የትዕዛዝ መስመር አማራጮች አሉ፣ በ john.conf ውስጥ ያሉ ቅንብሮች፣ የስክሪፕት አማራጮችን ያዋቅሩ እና ተጓዳኝ አዲስ ባህሪያት፣ ሁሉም እዚህ የተጠቀሱ አይደሉም።
  • የኮድ ጥራትን ማሻሻል በአድራሻ ሳኒቲዘር (ከዚህ ቀደም) እና ያልተገለጸ ባህሪ ሳኒቲዘር (ተጨምሯል)፣ አብሮ የተሰራ ቅርጸት ፊውዘርን በመጨመር (እንደ GSoC 2015 አካል)፣ ቀጣይነት ያለው ውህደትን በመጠቀም ለስህተት ግንባታ አብሮ የተሰራ ድጋፍ ምስጋና ይግባውና ጥምረት እና ለሁሉም ቅርፀቶች ትክክለኛ ድጋፍ እነሱን መሞከር)።

ምንጭ: opennet.ru

አስተያየት ያክሉ