John the Ripper 1.9.0-jumbo-1 nwere nkwado FPGA

Ewepụtara ya ụdị ọhụrụ nke mmemme ịkọ nkọ paswọọdụ kacha ochie akwadoro John the Ripper 1.9.0-jumbo-1. (Oru ngo a na-emepe emepe kemgbe 1996.) Na ibe oru ngo Isi mmalite dị maka nbudata, yana mgbakọ emebere maka Windows.

Achọpụtara na afọ 1.8.0 agafeela kemgbe mwepụta nke ụdị 1-jumbo-4.5, n'oge nke ihe karịrị mgbanwe 6000 (git na-eme) sitere n'aka ndị nrụpụta 80 karịa. N'ime oge a, ndị mmepe tụrụ aro iji mbipụta dị ugbu a sitere na GitHub, steeti nke a nọgidere na-akwụsi ike n'agbanyeghị mgbanwe ndị e mere ekele na-aga n'ihu mwekota, nke na-agụnye nkwenye mbido nke mgbanwe ọ bụla (arịrịọ ịdọrọ) ​​n'ọtụtụ nyiwe. Akụkụ pụrụ iche nke ụdị ọhụrụ a bụ ọdịdị nkwado FPGA (FPGA) na mgbakwunye na CPU, GPU na Xeon Phi.


Maka mbadamba ZTEX 1.15y, gụnyere 4 FPGA ibe na nke a na-ejikarị eme ihe maka Bitcoin mining, 7 ụdị okwuntughe hashes ugbu a emejuputa: bcrypt, classic descrypt (gụnyere bigcrypt), sha512crypt, sha256crypt, md5crypt (gụnyere Apache apr1 na AIX smd5), Drupal7 na phpass (ejiri). , karịsịa na WordPress). A na-emejuputa ụfọdụ n'ime ha na FPGA nke mbụ. Maka bcrypt, arụmọrụ enwetara nke ~ 119k c/s nwere 2 ^ 5 iterations (“$2b$05”) na ike oriri nke ihe dịka 27 watts karịrị nsonaazụ maka GPU ọhụrụ n'otu bọọdụ, kwa ọnụahịa ngwaike na kwa watt. akwadokwara ụyọkọ nke mbadamba ụdị nke a, nke a nwalere ruo 16 mbadamba (64 FPGAs) na-achịkwa site na otu Raspberry Pi 2. A na-akwado ọrụ John the Ripper na-emekarị, gụnyere ụdịdị njirimara okwuntughe niile na nbudata n'otu oge nke ọnụ ọgụgụ buru ibu nke hashes. Iji mee ka ọrụ ahụ dị ngwa, anyị mebere iji ihe nkpuchi (ụdị "--mask", gụnyere yana nchikota ya na ụdịdị ndị ọzọ) yana ntụnyere hashes gbakọrọ na ndị a na-ebu n'akụkụ FPGA. Site n'echiche mmejuputa, ọtụtụ n'ime atụmatụ (dịka. sha512crypt na Drupal7) blocks nke nwere multi-threaded processor cores (soft CPU cores) na-emekọrịta ihe na cores cryptographic na-eji. Ọ bụ Denis Burykin duziri mmepe nke ọrụ a na nhazi ya na ndị mmepe jumbo ndị ọzọ.

Nnukwu mgbanwe ndị ọzọ:

  • Nkwado maka ọnụ ọgụgụ buru ibu nke ụdị hashes, ciphers, wdg, gụnyere ma hashes paswọọdụ kpochapụwo (dịka ọmụmaatụ, site na ụdị QNX ọhụrụ), yana obere akpa cryptocurrency, ebe nchekwa ezoro ezo na sistemụ faịlụ ezoro ezo (dịka ọmụmaatụ, Bitlocker na FreeBSD geli), yana nkwado maka ụdị usoro ọhụrụ akwadoburu (dịka ọmụmaatụ, nkwado agbakwunyere maka bcrypt-pbkdf maka OpenBSD softraid) na ọtụtụ ndị ọzọ. Na mkpokọta, agbakwunyere usoro 80 na CPU yana 47 na OpenCL (ma wepụrụ ọnụ ọgụgụ dị nta nke ochie dị ka etinyere n'ime ndị ọhụrụ na nke ochie). Ngụkọta ọnụ ọgụgụ nke usoro bụ 407 ugbu a na CPU (ma ọ bụ 262 agụnyeghị ụdị "dị ike" ahaziri site na faịlụ nhazi) yana 88 na OpenCL.
  • Ọjụjụ ịkwado asụsụ CUDA na-akwado OpenCL, nke na-enweghị ụzọ ọ bụla na-egbochi iji NVIDIA GPUs zuru ezu (na ọbụna na-enyere aka, ekele maka ilekwasị anya mmepe na njikarịcha na otu mmejuputa usoro nke ọ bụla maka GPU kama ịme ihe abụọ na mbụ).
  • Nkwado maka usoro ntụziaka SIMD ọhụrụ - AVX2, AVX-512 (gụnyere ọgbọ nke abụọ Xeon Phi) na MIC (maka ọgbọ mbụ) - yana iji SIMD zuru ụwa ọnụ na nke zuru oke na mmejuputa ọtụtụ usoro, gụnyere iji Ntụzịaka akwadoro na mbụ ga-etolite ruo AVX na XOP na x86(-64) na
    NEON, ASIMD na AltiVec na ARM, Aarch64 na POWER, n'otu n'otu. (akụkụ dị ka akụkụ nke GSoC 2015.)
  • Ọtụtụ njikarịcha maka CPU na OpenCL, ha abụọ iji rụọ ọrụ nke ọma na ọnụ ọgụgụ hashes n'otu oge (dịka ọmụmaatụ, a nwalere 320 nde SHA-1 hashes na GPU), yana ịbawanye ọsọ nke mgbako hash. Ụfọdụ n'ime njikarịcha ndị a bụ nke zuru ụwa ọnụ, ụfọdụ na-ekpuchi usoro dị iche iche nke usoro, na ọtụtụ ndị kpọmkwem maka usoro nke onye ọ bụla.
  • (Auto-) nhazi nke ezigbo nchekwa nke okwuntughe enyocha na CPU ("-tune = auto -verbosity=5") na nha ọrụ kacha mma na OpenCL (nke ndabara kwadoro), gụnyere iburu n'uche ngwa ngwa nke NVIDIA GTX. usoro GPU ruo ugboro 10xx zuru oke yana nke ọhụrụ. Iji n'ezie loaded hashes na n'ezie ogologo nke okwuntughe a na-enyocha (mgbe a mara ya n'ihu) maka ntugharị akpaaka dị otú ahụ.
  • Na-agbakwụnye ihe nchịkọta maka "okwu ike" akọwapụtara kpọmkwem na ahịrị iwu yana mmejuputa ụdị hash ngwakọ ọhụrụ, dịka ọmụmaatụ "-format=dynamic='sha1(md5($p).$s)'", gbakọọ na CPU site na iji SIMD. . Dị ka akụkụ nke okwu ndị dị otú ahụ, a na-akwado ọtụtụ hashes ngwa ngwa (site na nke a na-ahụkarị dị ka MD5 ruo na nke dị nro dị ka Whirlpool), nchịkọta substring, ntinye koodu na ngbanwe, ntụgharị okwu ikpe, ntụaka na paswọọdụ, nnu, aha njirimara na eriri.
  • Mwepụ nke esemokwu na-achọghị na hashcat, gụnyere nkwado maka iwu hashcat-kpọmkwem na mbụ (iwu iwu okwu okwu), ntụgharị gaa na nọmba ngwaọrụ OpenCL site na 1, iji ndabara nke otu ogologo okwuntughe (na-abụkarị ogologo 7) maka ule arụmọrụ.
  • Ụdị ọhụrụ maka ịmepụta okwuntughe a na-enyocha (ụdị mgbawa), gụnyere PRINCE sitere na hashcat (ụdị "okwu okwu" site na ijikọta ọtụtụ okwu n'usoro na-abawanye ogologo nke ngụkọta ogologo), subsets (welite okwuntughe na ọnụ ọgụgụ na-ezughị ezu nke mkpụrụedemede dị iche iche, ọ bụrụgodị na mkpụrụedemede ndị a abịa. site na nnukwu usoro nke enwere ike) na mpụga ngwakọ (na-enye ohere ụdịdị mpụga, nke akọwapụtara na faịlụ nhazi n'asụsụ C, iji mepụta ọtụtụ okwuntughe ga-ekwe omume dabere na “okwu” ọ bụla enwetara site na ọnọdụ ọzọ). Ọzọkwa, ọtụtụ ụdị mpụga agbagoro agbapụta ọhụrụ.
  • Atụmatụ ndị ọzọ maka iji ọtụtụ ụdịdị n'otu oge (otu n'elu nke ọzọ - stacking), yana maka iji usoro iwu (wordlist law stacking).
  • Mmelite na ụdịdị ihe nkpuchi (iji nwayọọ na-agbatị ihe nkpuchi n'ogologo ogologo, itinye nkpuchi n'akụkụ ngwaọrụ OpenCL ma ọ bụ bọọdụ FPGA) na otu mgbape (omume ezi uche dị na ngwaọrụ ndị na-agbakọ ọnụ ọgụgụ buru ibu nke hashes n'otu n'otu). , nke na mbụ enweghi okwuntughe enwere ike ịnwapụta na ọnọdụ a, yana mgbochi na oriri ebe nchekwa).
  • Ọtụtụ nkwalite iji kwado Unicode na ntinye koodu ndị ọzọ na sistemụ ala dị iche iche.
  • Ọtụtụ ndozi na mmemme * 2john (nke na-atụgharị faịlụ nke ụdị dị iche iche maka
    jiri john mee ihe), ọkachasị wpapcap2john (na-ejikwa okporo ụzọ WiFi).
  • Enwere ọtụtụ nhọrọ ahịrị iwu ọhụrụ, ntọala dị na john.conf, hazie nhọrọ edemede yana njirimara ọhụrụ kwekọrọ, ọ bụghị ha niile ka akpọtụrụ ebe a.
  • Ịkwalite ogo koodu ekele maka nkwado arụnyere n'ime ya maka debug na-eji AddressSanitizer (nke gara aga) na UndefinedBehaviorSanitizer (agbakwunyere), na-agbakwunye fuzzer usoro arụnyere arụnyere (dịka akụkụ nke GSoC 2015), na-eji ntinye aka na-aga n'ihu (na-ewu maka ọtụtụ sistemụ arụmọrụ na nchịkọta). njikọta na ịnwale ha maka nkwado ziri ezi maka ụdị niile).

isi: linux.org.ru

Tinye a comment