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

Released nije ferzje fan it âldste stipe wachtwurd rieden programma John the Ripper 1.9.0-jumbo-1. (It projekt is ûntwikkele sûnt 1996.) On projekt side Boarnen binne beskikber om te downloaden, lykas klearmakke gearkomsten foar Windows.

It wurdt opmurken dat 1.8.0 jier binne ferrûn sûnt de frijlitting fan ferzje 1-jumbo-4.5, wêrby't mear as 6000 wizigingen (git-commits) waarden makke fan mear as 80 ûntwikkelders. Yn dizze perioade riede de ûntwikkelders oan om te brûken aktuele revyzje fan GitHub, de steat fan dat waard hâlden stabyl nettsjinsteande de feroarings makke tank oan trochgeande yntegraasje, dy't foarriedige ferifikaasje fan elke feroaring (pull request) op in protte platfoarms omfettet. In spesjale eigenskip fan 'e nije ferzje is it uterlik fan stipe foar FPGA (FPGA) neist CPU, GPU en Xeon Phi.


Foar boards Ztex 1.15y. , benammen yn WordPress). Guon fan harren wurde foar it earst ymplementearre op FPGA. Foar bcrypt is de berikke prestaasjes fan ~4k c/s mei 7^512 iteraasjes ("$256b$5") mei in enerzjyferbrûk fan sawat 1 watt de resultaten foar de lêste GPU's per boerd, per hardwarepriis en per watt signifikant grutter. Ek stipe klusters fan boards fan dit type, dat is hifke oant 16 boards (64 FPGAs) 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 (de "--masker" modus, ynklusyf yn kombinaasje mei oare modi) en fergeliking fan 'e berekkene hashes mei dy laden op' e FPGA-kant. Fanút in ymplemintaasjeperspektyf binne in protte fan 'e ûntwerpen (bgl. 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 grutte feroarings:

  • Stipe foar in grut oantal ekstra soarten hashes, sifers, ensfh., ynklusyf sawol klassike wachtwurdhashes (bygelyks fan nije ferzjes fan QNX), lykas cryptocurrency wallets, fersifere argiven en fersifere bestânsystemen (bygelyks Bitlocker en FreeBSD geli), lykas ek stipe foar nije soarten formaten dy't earder stipe binne (bygelyks tafoege stipe foar bcrypt-pbkdf foar OpenBSD softraid) en folle mear. Yn totaal binne 80 formaten tafoege oan CPU en 47 op OpenCL (en in lyts oantal âlde binne fuortsmiten as yntegreare yn nije en ferâldere). 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. (Parels as ûnderdiel fan GSoC 2015.)
  • 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-) konfiguraasje fan optimale buffering fan kontrolearre wachtwurden op 'e CPU ("—tune=auto —verbosity=5") en optimale taakgrutte op OpenCL (standert ynskeakele), ynklusyf rekken hâldend mei de stadige opmars fan NVIDIA GTX rige GPUs nei folsleine bestjoeringssysteem frekwinsje 10xx en nijer. It brûken fan feitlik laden hashes en de werklike lingte fan de wachtwurden dy't wurde kontrolearre (as it fan tefoaren bekend is) foar sa'n auto-tuning.
  • It tafoegjen fan in kompilator foar "dynamyske útdrukkingen" dy't direkt op 'e kommandorigel oantsjutte wurde en nije hybride hashtypen ymplementearje, bygelyks "-format=dynamic='sha1(md5($p).$s)'", berekkene op de CPU mei SIMD . As komponinten fan sokke útdrukkingen wurde tsientallen snelle hashes stipe (fan gewoane lykas MD5 oant matig eksoatyske lykas Whirlpool), substring-konkatenaasje, kodearring en dekodearring, konverzje fan karakters, ferwizings nei wachtwurd, sâlt, brûkersnamme en stringkonstanten.
  • 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: linux.org.ru

Add a comment