John the Ripper 1.9.0-jumbo-1 release mei FPGA-stipe

Released nije ferzje fan de âldste stipe wachtwurd cracker John de Ripper 1.9.0-jumbo-1 (it projekt is ûntwikkele sûnt 1996). 1.8.0 jier binne ferrûn sûnt de frijlitting fan 'e foarige ferzje 1-jumbo-4.5, wêrby't mear as 6000 wizigingen (git-commits) fan mear as 80 ûntwikkelders waarden makke. Mei tank oan trochgeande yntegraasje, dy't in foarriedige kontrôle omfettet fan elke feroaring (pull request) op in protte platfoarms, yn dizze perioade advisearje de ûntwikkelders it brûken aktuele revyzje fan GitHub, wêrfan de steat nettsjinsteande de makke wizigingen stabyl hâlden waard. Main projekt koade ferspraat troch ûnder de GPLv2+ lisinsje, en de koade fan guon komponinten ûnder de BSD lisinsje.

In skaaimerk fan 'e nije ferzje is it uterlik fan FPGA-stipe (neist CPU, GPU en Xeon Phi). Foar boards Ztex 1.15y. (brûkt, benammen yn WordPress). Guon fan harren wurde foar it earst ymplementearre op FPGA.

Foar bcrypt prestearret de berikke prestaasjes fan ~119k c/s by 2^5 iteraasjes ("$2b $05") mei in enerzjyferbrûk fan sawat ~27 watt de lêste GPU's per boerd, per hardwarepriis en per watt signifikant better. Ek stipe klusters fan boards fan dit type, dy't hifke oant 16 boards (64 FPGA-chips) regele út in inkele Raspberry Pi 2. De wenstige John de Ripper funksjonaliteit wurdt stipe, ynklusyf alle wachtwurd rieden modes en simultane download fan in grut oantal hashes.

Om it wurk te fersnellen, hawwe wy it gebrûk fan in masker ymplementearre ("--masker" modus, ynklusyf yn kombinaasje mei oare modi) en in fergeliking fan 'e berekkene hashes mei dy laden op' e FPGA-kant. Yn termen fan ymplemintaasje, yn in protte fan 'e ûntwerpen (bygelyks foar sha512crypt en Drupal7) brûkte blokken besteande út multi-threaded prosessor kearnen (sêfte CPU kearnen) ynteraksje mei kryptografyske kearnen. De ûntwikkeling fan dizze funksjonaliteit waard laat troch Denis Burykin yn koördinaasje mei oare jumbo-ûntwikkelders.

Oare wichtige feroarings:

  • Stipe foar in grut oantal ekstra soarten hashes, sifers, ensfh., ynklusyf sawol klassike wachtwurdhashes (bygelyks fan nije ferzjes fan QNX), en cryptocurrency wallets, fersifere argiven en fersifere bestânssystemen (bygelyks Bitlocker en FreeBSD geli ), lykas ek stipe foar nije farianten fan formaten dy't earder stipe binne (bygelyks bcrypt-pbkdf-stipe foar OpenBSD softraid is tafoege) en folle mear. Yn totaal binne 80 formaten tafoege oan CPU en 47 op OpenCL. It totale oantal formaten is no 407 op 'e CPU (of 262 net ynklusyf "dynamyske" formaten konfigureare út konfiguraasjebestannen) en 88 op OpenCL.
  • Ferwidering fan CUDA-taalstipe yn it foardiel fan OpenCL, dy't it folsleine gebrûk fan 'e NVIDIA GPU yn' t minste net bemuoit (en sels helpt, troch de fokus fan ûntwikkeling en optimisaasjes op ien ymplemintaasje fan elk formaat ûnder de GPU ynstee fan twa eardere ymplemintaasjes).
  • Stipe foar nije SIMD-ynstruksjesets - AVX2, AVX-512 (ynklusyf foar de twadde generaasje fan Xeon Phi) en MIC (foar de earste generaasje) - lykas ek mear universele en folsleine gebrûk fan SIMD yn ymplemintaasjes fan in protte formaten, ynklusyf it gebrûk fan earder stipe ynstruksje sets oant AVX en XOP op x86 (-64) en
    NEON, ASIMD en AltiVec op respektivelik ARM, Aarch64 en POWER.

  • Tal fan optimisaasjes foar CPU en OpenCL, sawol om effisjinter te wurkjen mei in grut oantal hashes tagelyk (bygelyks laden fan 320 miljoen SHA-1-hashes op 'e GPU) en om de snelheid fan hash-berekkening te ferheegjen. Guon fan dizze optimalisaasjes binne universele, guon dekke ferskate subsets fan formaten, en in protte binne opmaakspesifyk.
  • (Auto-) tuning fan optimale buffering fan kontrolearre wachtwurden op 'e CPU ("-tune=auto —verbosity=5") en optimale taakdimensjes op OpenCL (standert ynskeakele), ynklusyf rekken hâldend mei it stadige herstel nei de folsleine wurkfrekwinsje fan NVIDIA GTX rige GPUs 10xx en nijer. Gebrûk fan echte laden hashes en echte lingte fan kontrolearre wachtwurden (as it fan tefoaren bekend is) foar sa'n auto-tuning.
  • It tafoegjen fan in "dynamyske útdrukkingen" kompilator dy't direkt op 'e kommandorigel oantsjutte is en nije hybride hash-typen ymplemintearret, bygelyks "--format=dynamic='sha1(md5($p).$s)'", berekkene op de CPU mei help fan SIMD. Tsientallen rappe hashes (fan gewoane lykas MD5 oant myld eksoatyske lykas Whirlpool), substring-konkatenaasje, kodearring en dekodearring, konverzje fan tekens, wachtwurdferwizings, sâlt, brûkersnamme en tekenrige konstanten wurde stipe as komponinten fan sokke útdrukkingen.
  • Eliminaasje fan net winske ferskillen fan hashcat, ynklusyf stipe foar earder hashcat-spesifike wurdlist-regel-kommando's, oerskeakelje nei OpenCL-apparaatnûmering fan 1, mei deselde standertwachtwurdlingten (meastentiids lingte 7) foar prestaasjetests.
  • Nije kraakmodi, ynklusyf PRINCE fan hashcat (generearret "frases" troch meardere wurden yn opkommende folchoarder fan totale lingte oan te keppeljen), subsets (bringt wachtwurden mei net genôch ferskillende karakters, sels as dy karakters komme út in grutte set fan mooglike) en hybride eksterne (litit eksterne modi, beskreaun yn konfiguraasjetriemmen yn C-like taal, in protte ferifieare wachtwurden generearje op basis fan elk basis "wurd" ûntfongen fan in oare modus). Ek ferskate nije foardefinieare eksterne modi.
  • Oanfoljende funksjes foar it brûken fan ferskate modi tagelyk (ien boppe op 'e oare - stapeljen), lykas ek foar sa'n gebrûk fan regelsets (stapeljen fan regels foar wurdlist).
  • Ferbetterings oan 'e maskermodi (gradueel útwreidzjen fan masker yn it oantsjutte berik fan lingten, it oanbringen fan it masker oan 'e kant fan in OpenCL-apparaat as FPGA-boerd) en ienige crack (ferstannich gedrach op apparaten dy't in grut oantal hashes parallel berekkenje, wat earder yn dizze modus ûntbrekt wachtwurden om te kontrolearjen, en ek limiten op ûnthâldferbrûk).
  • In protte ferbetterings yn stipe foar Unicode en oare kodearrings yn ferskate subsystemen.
  • In protte ferbetterings oan * 2john-programma's (konvertearjen fan bestannen fan ferskate formaten nei
    brûke mei john), benammen wpapcap2john (hantearret WiFi-ferkear).

  • In protte nije kommandorigelopsjes, john.conf-ynstellingen, konfigurearje skriptopsjes, en har oerienkommende nije funksjes, dy't net allegear hjir neamd binne.
  • Ferbetterjen fan koade kwaliteit troch ynboude stipe foar debug builds mei AddressSanitizer (earder) en UndefinedBehaviorSanitizer (tafoege), it tafoegjen fan in ynboude opmaak fuzzer (binnen GSoC 2015), mei help fan trochgeande yntegraasje (bout foar tsientallen bestjoeringssysteem en kompilator kombinaasjes en se testen foar juste stipe fan alle formaten).

Boarne: opennet.ru

Add a comment