John the Ripper 1.9.0-jumbo-1 ከFPGA ድጋፍ ጋር

ተለቋል አዲሱ ስሪት በጣም የሚደገፍ የይለፍ ቃል መገመቻ ፕሮግራም John the Ripper 1.9.0-jumbo-1. (ፕሮጀክቱ ከ 1996 ጀምሮ እያደገ ነው.) በርቷል የፕሮጀክት ገጽ ምንጮች ለማውረድ ይገኛሉ, እንዲሁም ለዊንዶውስ ዝግጁ የሆኑ ስብሰባዎች.

ስሪት 1.8.0-jumbo-1 ከወጣ 4.5 ዓመታት እንዳለፉ ተጠቁሟል፣ በዚህ ጊዜ ከ6000 በላይ ለውጦች (ጂት መፈጸም) ከ80 በላይ ገንቢዎች ተደርገዋል። በዚህ ጊዜ ውስጥ ገንቢዎቹ እንዲጠቀሙ ይመክራሉ የአሁኑ እትም ከ GitHubምስጋናዎች የተደረጉ ለውጦች ቢኖሩም የተረጋጋ ሁኔታው ​​ተጠብቆ ቆይቷል ቀጣይነት ያለው ውህደትበብዙ መድረኮች ላይ የእያንዳንዱ ለውጥ (የመጎተት ጥያቄ) የመጀመሪያ ማረጋገጫን ያካትታል። የአዲሱ ስሪት ልዩ ባህሪ ከሲፒዩ፣ ጂፒዩ እና Xeon Phi በተጨማሪ ለFPGA (FPGA) የድጋፍ መልክ ነው።


ለቦርዶች ZTEX 1.15y, 4 FPGA ቺፖችን ጨምሮ እና በመጀመሪያ በዋናነት ለ Bitcoin ማዕድን ጥቅም ላይ የሚውሉ, 7 አይነት የይለፍ ቃል hashes አሁን ተግባራዊ ሆነዋል: bcrypt, classic descrypt ( bigcrypt ን ጨምሮ), sha512crypt, sha256crypt, md5crypt (Apache apr1 እና AIX smd5 ጨምሮ), Drupal7 እና phpass (ያገለገሉ) , በተለይም በ WordPress). አንዳንዶቹ በ FPGA ላይ ለመጀመሪያ ጊዜ ተተግብረዋል. ለቢክሪፕት የ~119k c/s ከ2^5 ድግግሞሾች (“$2b$05”) ጋር ወደ 27 ዋት የሚጠጋ የሃይል ፍጆታ ለቅርብ ጊዜ ጂፒዩዎች በቦርድ፣ በሃርድዌር ዋጋ እና በዋት ከተገኘው ውጤት በእጅጉ ይበልጣል። እንዲሁም ይደገፋል ዘለላዎች የዚህ አይነት ቦርዶች፣ ከአንድ Raspberry Pi 16 የሚቆጣጠሩት እስከ 64 ቦርዶች (2 FPGAs) የተፈተነ ነው። የተለመደው የጆን ዘ ሪፐር ተግባር ይደገፋል፣ ሁሉንም የይለፍ ቃል መገመቻ ሁነታዎች እና በአንድ ጊዜ ብዙ ሃሽ ማውረድን ይጨምራል። ስራውን ለማፋጠን ጭምብል መጠቀምን (የ "--mask" ሁነታን, ከሌሎች ሁነታዎች ጋር በማጣመር) እና በ FPGA ጎን ላይ ከተጫኑት ጋር የተሰላውን ሃሽ ማወዳደር ተግብረናል. ከትግበራ አንፃር፣ ብዙዎቹ ዲዛይኖች (ለምሳሌ፦ sha512crypt እና Drupal7) ባለ ብዙ ባለ ክር ፕሮሰሰር ኮሮች (ለስላሳ ሲፒዩ ኮር) ከክሪፕቶግራፊክ ኮሮች ጋር የሚገናኙ ብሎኮች ጥቅም ላይ ይውላሉ። የዚህ ተግባር እድገት ከሌሎች የጃምቦ ገንቢዎች ጋር በመተባበር በዴኒስ ቡሪኪን ተመርቷል።

ሌሎች ዋና ለውጦች፡-

  • ሁለቱንም ክላሲክ የይለፍ ቃል hashes (ለምሳሌ ከ QNX አዲስ ስሪቶች) እንዲሁም የምስጠራ ቦርሳዎች፣ የተመሰጠሩ ማህደሮች እና የተመሰጠሩ የፋይል ስርዓቶችን (ለምሳሌ ቢትሎከር እና) ጨምሮ ለብዙ ብዛት ያላቸው ተጨማሪ የሃሽ፣ የምስጢር እና ሌሎች አይነቶች ድጋፍ። FreeBSD geli)፣ እንዲሁም ከዚህ ቀደም የሚደገፉ አዳዲስ የቅርጸት አይነቶች ድጋፍ (ለምሳሌ ለ bcrypt-pbkdf ለ OpenBSD softraid ተጨማሪ ድጋፍ) እና ሌሎችም። በአጠቃላይ 80 ቅርፀቶች በሲፒዩ እና 47 በ OpenCL ላይ ተጨምረዋል (እና ጥቂት ቁጥር ያላቸው አሮጌዎች ወደ አዲስ እና ጊዜ ያለፈባቸው እንደተዋሃዱ ተወግደዋል)። አጠቃላይ የቅርጸቶች ብዛት አሁን በሲፒዩ 407 ነው (ወይም 262 ከውቅረት ፋይሎች የተዋቀሩ "ተለዋዋጭ" ቅርጸቶችን ሳይጨምር) እና 88 በOpenCL ላይ።
  • የ CUDA ቋንቋን ለOpenCL ድጋፍ ለመስጠት ፈቃደኛ አለመሆን፣ ይህም በምንም መንገድ የNVDIA ጂፒዩዎችን ሙሉ በሙሉ መጠቀም ላይ ጣልቃ የማይገባ (እና ሌላው ቀርቶ ቀደም ሲል ከሁለት ትግበራዎች ይልቅ በእያንዳንዱ ቅርጸት ለጂፒዩ አንድ አተገባበር ላይ በማተኮር ልማት እና ማመቻቸት ላይ በማተኮር ይረዳል)።
  • ለአዲሱ የሲምዲ ማስተማሪያ ስብስቦች ድጋፍ - AVX2 ፣ AVX-512 (ለሁለተኛው ትውልድ Xeon Phi) እና MIC (ለመጀመሪያው ትውልድ) - እንዲሁም በብዙ ቅርፀቶች አተገባበር ውስጥ ሲምዲ የበለጠ ሁለንተናዊ እና የተሟላ አጠቃቀም ፣ ከዚህ ቀደም የተደገፈ መመሪያ እስከ AVX እና XOP በ x86(-64) እና
    NEON፣ ASIMD እና AltiVec በ ARM፣ Aarch64 እና POWER ላይ በቅደም ተከተል። (በከፊል እንደ GSoC 2015 አካል።)
  • ለሲፒዩ እና ለOpenCL ብዙ ማሻሻያዎች፣ ሁለቱም በብቃት ከብዙ ሃሽ ጋር በአንድ ጊዜ ለመስራት (ለምሳሌ፣ 320 ሚሊዮን SHA-1 hashes በጂፒዩ ላይ መጫን ተፈትኗል) እና የሃሽ ስሌቶችን ፍጥነት ለመጨመር። ከእነዚህ ማሻሻያዎች መካከል አንዳንዶቹ ሁለንተናዊ ናቸው፣ አንዳንዶቹ የተለያዩ የቅርጸት ስብስቦችን ይሸፍናሉ፣ እና ብዙዎቹ ለግለሰብ ቅርጸቶች የተለዩ ናቸው።
  • (ራስ-)የተመረጡ የይለፍ ቃሎችን በሲፒዩ ላይ ማዋቀር (“—tune=auto —verbosity=5”) እና በOpenCL ላይ ጥሩ የስራ መጠኖች (በነባሪነት የነቃ)፣ የNVDIA GTX ቀርፋፋ ፍጥነትን ግምት ውስጥ ማስገባትን ጨምሮ። ተከታታይ ጂፒዩዎች ወደ ሙሉ የአሠራር ድግግሞሽ 10xx እና አዲስ። ለእንዲህ ዓይነቱ ራስ-ማስተካከያ በተጨባጭ የተጫኑ ሃሽዎችን መጠቀም እና የሚፈተሹትን የይለፍ ቃሎች ትክክለኛ ርዝመት (በቅድሚያ በሚታወቅበት ጊዜ)።
  • በትዕዛዝ መስመሩ ላይ በቀጥታ ለተገለጸው “ተለዋዋጭ አገላለጾች” አጠናቃሪ ማከል እና አዲስ የተዳቀሉ የሃሽ አይነቶችን መተግበር ለምሳሌ “-format=dynamic='sha1(md5($p.$.$s)’”፣ሲምዲ በመጠቀም በሲፒዩ ላይ ይሰላል። . የእንደዚህ አይነት አገላለጾች አካላት እንደመሆናችን መጠን በደርዘን የሚቆጠሩ ፈጣን ሃሾች ይደገፋሉ (ከተለመዱት እንደ MD5 ካሉ እስከ መጠነኛ እንግዳ የሆኑ እንደ ዊርልፑል ያሉ)፣ የንዑስ ሕብረቁምፊ ትስስር፣ ኢንኮዲንግ እና ዲኮዲንግ፣ የቁምፊ ኬዝ ልወጣ፣ የይለፍ ቃል ማጣቀሻዎች፣ ጨው፣ የተጠቃሚ ስም እና የሕብረቁምፊ ቋሚዎች።
  • ከ hashcat የማይፈለጉ ልዩነቶችን ማስወገድ፣ ቀደም ሲል ሃሽካት-ተኮር ደንቦችን (የቃላት ዝርዝር ደንብ ትዕዛዞችን) ድጋፍን ጨምሮ፣ ወደ OpenCL መሣሪያ ቁጥር ከ 1 ሽግግር ፣ ለተመሳሳይ የይለፍ ቃል ርዝማኔዎች ነባሪ አጠቃቀም (ብዙውን ጊዜ ርዝመት 7) ለአፈፃፀም ሙከራዎች።
  • PRINCE ከ hashcat ጨምሮ (በአጠቃላይ ርዝመታቸው በቅደም ተከተል በርካታ ቃላትን በማጣመር “ሀረጎችን” ይመሰርታል)፣ ንዑስ ስብስቦች (የተለያዩ ቁምፊዎች በቂ ያልሆነ ቁጥር ያላቸውን የይለፍ ቃሎች ያመጣሉ፣ እነዚህ ቁምፊዎች ቢመጡም) ሊረጋገጡ የሚችሉ የይለፍ ቃሎችን (መሰንጠቅ ሁነታዎች)ን ጨምሮ። ከሚቻሉት ትልቅ ስብስብ) እና ድቅል ውጫዊ (ውጫዊ ሁነታዎች, በ C-like ቋንቋ ውስጥ በማዋቀር ፋይሎች ውስጥ የተገለጹት, ከሌላ ሁነታ በተቀበሉት በእያንዳንዱ መሰረታዊ "ቃል" ላይ ተመስርተው ብዙ የተረጋገጡ የይለፍ ቃሎችን ይፈቅዳል). እንዲሁም፣ በርካታ አዲስ አስቀድሞ የተገለጹ ውጫዊ ሁነታዎች።
  • ብዙ ሁነታዎችን በአንድ ጊዜ ለመጠቀም (አንዱ በሌላኛው ላይ - መደራረብ) እንዲሁም የሕጎች ስብስቦችን ለመጠቀም (የቃላት ዝርዝር ደንቦች መደራረብ) ተጨማሪ ባህሪያት.
  • የጭንብል ሁነታዎች ማሻሻያዎች (በተጠቀሰው ርዝመት ውስጥ ጭንብሉን ቀስ በቀስ መዘርጋት ፣ በ OpenCL መሣሪያ ወይም በ FPGA ሰሌዳ ላይ ጭንብል መተግበር) እና ነጠላ ስንጥቅ (ብዙ ቁጥር ያላቸውን hashes በትይዩ በሚያሰሉ መሳሪያዎች ላይ ምክንያታዊ ባህሪ) , ለዚህም ቀደም ሲል በዚህ ሁነታ በቂ የሚረጋገጡ የይለፍ ቃሎች አልነበሩም, እና እንዲሁም በማህደረ ትውስታ ፍጆታ ላይ ገደቦች).
  • በተለያዩ ንዑስ ስርዓቶች ውስጥ ለዩኒኮድ እና ለሌሎች ኢንኮዲንግ ለመደገፍ ብዙ ማሻሻያዎች።
  • ብዙ ማሻሻያዎች ወደ *2ጆን ፕሮግራሞች (የተለያዩ ቅርጸቶች ፋይሎችን ለ
    ከጆን ጋር ይጠቀሙ) በተለይም wpapcap2john (የዋይፋይ ትራፊክን ይቆጣጠራል)።
  • ብዙ አዳዲስ የትዕዛዝ መስመር አማራጮች አሉ፣ በ john.conf ውስጥ ያሉ ቅንብሮች፣ የስክሪፕት አማራጮችን ያዋቅሩ እና ተጓዳኝ አዲስ ባህሪያት፣ ሁሉም እዚህ የተጠቀሱ አይደሉም።
  • የኮድ ጥራትን ማሻሻል በአድራሻ ሳኒቲዘር (ከዚህ ቀደም) እና ያልተገለጸ ባህሪ ሳኒቲዘር (ተጨምሯል)፣ አብሮ የተሰራ ቅርጸት ፊውዘርን በመጨመር (እንደ GSoC 2015 አካል)፣ ቀጣይነት ያለው ውህደትን በመጠቀም ለስህተት ግንባታ አብሮ የተሰራ ድጋፍ ምስጋና ይግባውና ጥምረት እና ለሁሉም ቅርፀቶች ትክክለኛ ድጋፍ እነሱን መሞከር)።

ምንጭ: linux.org.ru

አስተያየት ያክሉ