John the Ripper 1.9.0-jumbo-1 නිකුතුව FPGA සහාය ඇතිව

නිදහස් කළා පැරණිතම සහය දක්වන මුරපද අනුමාන කිරීමේ වැඩසටහනේ නව අනුවාදය ජෝන් ද රිපර් 1.9.0-ජම්බෝ-1 (ව්‍යාපෘතිය 1996 සිට සංවර්ධනය වෙමින් පවතී). පෙර අනුවාදය 1.8.0-jumbo-1 නිකුත් කර වසර 4.5 ක් ගතවී ඇත, එම කාලය තුළ සංවර්ධකයින් 6000 කට වැඩි ගණනකින් වෙනස්කම් 80 කට වඩා (git කැපවීම්) සිදු කරන ලදී. ස්තුති වන්නට අඛණ්ඩ ඒකාබද්ධතාවය, බොහෝ වේදිකා වල එක් එක් වෙනස් කිරීම (අදින්න ඉල්ලීම) පිළිබඳ මූලික පරීක්ෂාවක් ඇතුළත් වේ, මෙම කාල සීමාව තුළ සංවර්ධකයින් භාවිතා කිරීම නිර්දේශ කර ඇත GitHub වෙතින් වත්මන් සංස්කරණය, සිදු කරන ලද වෙනස්කම් නොතකා එහි තත්වය ස්ථාවරව පැවතුනි. ප්රධාන ව්යාපෘති කේතය විසින් බෙදා හරිනු ලැබේ GPLv2+ බලපත්‍රය යටතේ, සහ සමහර සංරචකවල කේතය BSD බලපත්‍රය යටතේ ඇත.

නව අනුවාදයේ විශේෂ ලක්ෂණය වන්නේ FPGA සහාය පෙනුමයි (CPU, GPU සහ Xeon Phi වලට අමතරව). පුවරු සඳහා ZTEX 1.15y, FPGA චිප් 4 ක් ඇතුළුව සහ මුලින් ප්‍රධාන වශයෙන් Bitcoin පතල් කැණීම සඳහා භාවිතා කරන ලද, මුරපද හැෂ් වර්ග 7 ක් දැන් ක්‍රියාත්මක කර ඇත: bcrypt, Classic descrypt (bigcrypt ඇතුළුව), sha512crypt, sha256crypt, md5crypt (Apache apr1 සහ AIX ඇතුළුව), , විශේෂයෙන් WordPress හි). ඒවායින් සමහරක් පළමු වරට FPGA මත ක්‍රියාත්මක වේ.

bcrypt සඳහා, වොට් 119 ක බල පරිභෝජනයක් සහිත 2^5 පුනරාවර්තන (“$2b$05”) සමඟ ~27k c/s හි සාක්ෂාත් කර ගත් කාර්ය සාධනය පුවරුවකට, දෘඪාංග මිලකට සහ වොට් එකකට නවතම GPU සඳහා ප්‍රතිඵල සැලකිය යුතු ලෙස ඉක්මවයි. . සහාය ද ලබා දී ඇත පොකුරු තනි Raspberry Pi 16 එකකින් පාලනය වන පුවරු 64ක් (FPGA චිප් 2ක්) දක්වා පරීක්‍ෂා කර ඇති මෙම වර්ගයේ පුවරු වල සාමාන්‍ය John the Ripper ක්‍රියාකාරීත්වයට සහය දක්වයි, මුරපද අනුමාන කිරීමේ ක්‍රම සහ හෑෂ් විශාල සංඛ්‍යාවක් එකවර බාගත කිරීම ඇතුළුව. .

කාර්යය වේගවත් කිරීම සඳහා, වෙස්මුහුණක් භාවිතා කිරීම ("-මාස්ක්" මාදිලිය, අනෙකුත් මාතයන් සමඟ ඒකාබද්ධව) සහ FPGA පැත්තේ පටවා ඇති අය සමඟ ගණනය කළ හෑෂ් සංසන්දනය කර ඇත. ක්‍රියාත්මක කිරීමේ දෘෂ්ටිකෝණයකින්, බොහෝ සැලසුම් (උදා. sha512crypt සහ Drupal7) ගුප්තකේතන මධ්‍ය සමඟ අන්තර්ක්‍රියා කරන බහු-නූල් ප්‍රොසෙසර් කෝර් (මෘදු CPU කෝර්) වලින් සමන්විත බ්ලොක් භාවිතා වේ. මෙම ක්‍රියාකාරීත්වයේ වර්ධනය අනෙකුත් ජම්බෝ සංවර්ධකයින් සමඟ සම්බන්ධීකරණයෙන් ඩෙනිස් බුරිකින් විසින් මෙහෙයවන ලදී.

අනෙකුත් වැදගත් වෙනස්කම්:

  • සම්භාව්‍ය මුරපද හැෂ් (උදාහරණයක් ලෙස, QNX හි නව අනුවාද වලින්), මෙන්ම cryptocurrency wallets, encrypted archives සහ encrypted ගොනු පද්ධති (උදාහරණයක් ලෙස, Bitlocker සහ FreeBSD geli), මෙන්ම කලින් සහාය දක්වන ලද නව ආකාරයේ ආකෘති සඳහා සහය (උදාහරණයක් ලෙස, OpenBSD softraid සඳහා bcrypt-pbkdf සඳහා සහය එක් කරන ලදී) සහ තවත් බොහෝ දේ. සමස්තයක් වශයෙන්, CPU හි ආකෘති 80 ක් සහ OpenCL හි 47 ​​ක් එකතු කර ඇත. CPU හි මුළු ආකෘති සංඛ්‍යාව දැන් 407 (හෝ වින්‍යාස ගොනු වලින් වින්‍යාස කර ඇති "ගතික" ආකෘති ඇතුළුව 262) සහ OpenCL හි 88 කි.
  • NVIDIA GPU වල පූර්ණ භාවිතයට කිසිඳු ආකාරයකින් බාධාවක් නොවන OpenCL සඳහා CUDA භාෂාවට සහය දැක්වීම ප්‍රතික්ෂේප කිරීම (සහ මීට පෙර ක්‍රියාත්මක කිරීම් දෙකක් වෙනුවට GPU සඳහා එක් එක් ආකෘතියක් එක් ක්‍රියාත්මක කිරීමකට සංවර්ධනය සහ ප්‍රශස්තිකරණය කෙරෙහි අවධානය යොමු කිරීමට පවා උපකාරී වේ).
  • නව SIMD උපදෙස් කට්ටල සඳහා සහය - AVX2, AVX-512 (දෙවන පරම්පරාවේ Xeon Phi ඇතුළුව) සහ MIC (පළමු පරම්පරාව සඳහා) - මෙන්ම භාවිතය ඇතුළුව බොහෝ ආකෘති ක්‍රියාත්මක කිරීමේදී SIMD වඩාත් විශ්වීය සහ සම්පූර්ණ භාවිතය. x86(-64) මත AVX සහ XOP දක්වා පෙර සහාය දක්වන ලද උපදෙස් සහ
    පිළිවෙලින් ARM, Aarch64 සහ POWER මත NEON, ASIMD සහ AltiVec.

  • CPU සහ OpenCL සඳහා බොහෝ ප්‍රශස්තිකරණයන්, දෙකම එකවර හෑෂ් විශාල සංඛ්‍යාවක් සමඟ වඩාත් කාර්යක්ෂමව ක්‍රියා කිරීමට (උදාහරණයක් ලෙස, GPU මත SHA-320 හැෂ් මිලියන 1 ක් පූරණය කිරීම පරීක්‍ෂා කරන ලදී), සහ හැෂ් ගණනය කිරීමේ වේගය වැඩි කිරීම. මෙම ප්‍රශස්තිකරණයන්ගෙන් සමහරක් විශ්වීය වේ, සමහරක් ආකෘතිවල විවිධ උප කුලක ආවරණය කරයි, සහ බොහෝ ඒවා තනි ආකෘති සඳහා විශේෂිත වේ.
  • (ස්වයං-) CPU (“—tune=auto —verbosity=5”) මත පරීක්ෂා කළ මුරපදවල ප්‍රශස්ත බෆරින් වින්‍යාස කිරීම සහ OpenCL හි ප්‍රශස්ත රැකියා ප්‍රමාණයන් (පෙරනිමියෙන් සක්‍රීය කර ඇත), සම්පූර්ණ මෙහෙයුම් සංඛ්‍යාතය දක්වා මන්දගාමී බෑවුම සැලකිල්ලට ගැනීම ඇතුළුව NVIDIA GTX ශ්‍රේණියේ GPUs 10xx සහ නවතම. එවැනි ස්වයංක්‍රීය සුසර කිරීම සඳහා සත්‍ය වශයෙන්ම පටවන ලද හෑෂ් භාවිතා කිරීම සහ මුරපදවල සත්‍ය දිග පරීක්ෂා කරනු ලැබේ (එය කල්තියා දන්නා විට).
  • විධාන රේඛාවේ සෘජුවම නිශ්චිතව දක්වා ඇති "ගතික ප්‍රකාශන" සඳහා සම්පාදකයක් එක් කිරීම සහ නව දෙමුහුන් හැෂ් වර්ග ක්‍රියාත්මක කිරීම, උදාහරණයක් ලෙස "-format=dynamic='sha1(md5($p).$s)'", SIMD භාවිතයෙන් CPU මත ගණනය කෙරේ. . එවැනි ප්‍රකාශනවල සංරචක ලෙස, වේගවත් හැෂ් දුසිම් ගණනකට සහය දක්වයි (MD5 වැනි සාමාන්‍ය ඒවා සිට වර්ල්පූල් වැනි මධ්‍යස්ථ විචිත්‍රවත් ඒවා දක්වා), උප තත්‍ව සංකලනය, කේතනය සහ විකේතනය, අක්ෂර කේත පරිවර්තනය, මුරපදය, ලුණු, පරිශීලක නාමය සහ තන්තු නියතයන් වෙත යොමු කිරීම්.
  • Hashcat වෙතින් අනවශ්‍ය වෙනස්කම් ඉවත් කිරීම, පෙර hashcat-විශේෂිත රීති සඳහා සහාය (wordlist රීති විධාන), 1 සිට OpenCL උපාංග අංකනය වෙත සංක්‍රමණය වීම, කාර්ය සාධන පරීක්ෂණ වලදී එකම මුරපද දිග (සාමාන්‍යයෙන් දිග 7) පෙරනිමියෙන් භාවිතා කිරීම.
  • හැෂ්කැට් වෙතින් PRINCE ඇතුළුව සත්‍යාපනය කළ හැකි මුරපද උත්පාදනය කිරීම සඳහා නව මාතයන් (මුළු දිග වැඩිවන අනුපිළිවෙලින් වචන කිහිපයක් එකතු කිරීමෙන් “වාක්‍ය ඛණ්ඩ” සාදයි), උප කුලක (මෙම අක්ෂර පැමිණියද, විවිධ අක්ෂර ප්‍රමාණවත් නොවන සංඛ්‍යාවක් සහිත මුරපද ගෙන එයි. හැකි ඒවා විශාල කට්ටලයකින්) සහ දෙමුහුන් බාහිර (වෙනත් මාදිලියකින් ලැබෙන එක් එක් මූලික "වචනය" මත පදනම්ව බොහෝ සත්‍යාපනය කළ හැකි මුරපද උත්පාදනය කිරීමට, C වැනි භාෂාවක වින්‍යාස ගොනු වල විස්තර කර ඇති බාහිර මාතයන්ට ඉඩ දෙයි). එසේම, නව පූර්ව නිශ්චිත බාහිර මාදිලි කිහිපයක්.
  • මාතයන් කිහිපයක් එකවර භාවිතා කිරීම සඳහා අමතර හැකියාවන් (එකක් උඩ එකක් - ගොඩගැසීම), මෙන්ම රීති කට්ටල භාවිතා කිරීම සඳහා (වචන ලැයිස්තු රීති ගොඩගැසීම).
  • වෙස් මුහුණු මාදිලිවල වැඩිදියුණු කිරීම් (නිශ්චිත දිග පරාසයක වෙස්මුහුණ ක්‍රමයෙන් දිගු කිරීම, OpenCL උපාංගයේ හෝ FPGA පුවරුවේ පැත්තේ වෙස් මුහුණක් යෙදීම) සහ තනි ක්‍රැක් (සමාන්තරව හෑෂ් විශාල සංඛ්‍යාවක් ගණනය කරන උපාංගවල සාධාරණ හැසිරීම , මීට පෙර මෙම ප්‍රකාරයේදී ප්‍රමාණවත් සත්‍යාපනය කළ හැකි මුරපද නොතිබූ අතර මතක පරිභෝජනය සඳහා සීමාවන් ද ඇත).
  • විවිධ උප පද්ධතිවල යුනිකෝඩ් සහ අනෙකුත් කේතීකරණ සඳහා සහය දැක්වීම සඳහා බොහෝ වැඩිදියුණු කිරීම්.
  • *2john වැඩසටහන් සඳහා බොහෝ වැඩි දියුණු කිරීම් (විවිධ හැඩතලවල ගොනු පරිවර්තනය කරන
    ජෝන් සමඟ භාවිතා කරන්න), විශේෂයෙන් wpapcap2john (WiFi ගමනාගමනය හසුරුවයි).

  • බොහෝ නව විධාන රේඛා විකල්ප ඇත, john.conf හි සැකසුම්, ස්ක්‍රිප්ට් විකල්ප වින්‍යාස කිරීම සහ අනුරූප නව විශේෂාංග, ඒ සියල්ල මෙහි සඳහන් කර නැත.
  • AddressSanitizer (පෙර) සහ UndefinedBehaviorSanitizer (එකතු කරන ලද) සමඟින් දෝශ නිරාකරණ සඳහා ගොඩනඟන ලද සහායට ස්තූතිවන්ත වෙමින් කේතයේ ගුණාත්මකභාවය වැඩිදියුණු කිරීම, අඛණ්ඩ ඒකාබද්ධ කිරීම (GSoC 2015 හි කොටසක් ලෙස) භාවිතා කරමින් (GSoC XNUMX හි කොටසක් ලෙස), මෙහෙයුම් පද්ධති දුසිම් ගනනක් සඳහා ගොඩනගා ඇත. සංයෝජන සහ සියලු ආකෘති සඳහා නිවැරදි සහාය සඳහා ඒවා පරීක්ෂා කිරීම).

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න