John the Ripper 1.9.0-jumbo-1 með FPGA stuðningi

Gefin út ný útgáfa af elsta studdu forritinu til að giska á lykilorð John the Ripper 1.9.0-jumbo-1. (Verkefnið hefur verið í þróun síðan 1996.) Á verkefnasíðu Heimildir eru tiltækar til niðurhals, sem og tilbúnar samsetningar fyrir Windows.

Það er tekið fram að 1.8.0 ár eru liðin frá útgáfu útgáfu 1-jumbo-4.5, þar sem meira en 6000 breytingar (git commits) voru gerðar frá meira en 80 forriturum. Á þessu tímabili mæltu verktaki með notkun núverandi útgáfa frá GitHub, þar sem ástandið var haldið stöðugu þrátt fyrir breytingar sem gerðar voru þökk sé stöðug samþætting, sem felur í sér bráðabirgðasannprófun á hverri breytingu (pull request) á mörgum kerfum. Sérstakur eiginleiki nýju útgáfunnar er útlit stuðnings fyrir FPGA (FPGA) auk CPU, GPU og Xeon Phi.


Fyrir borð ZTEX 1.15y, þar á meðal 4 FPGA flögur og upphaflega notaðar aðallega fyrir Bitcoin námuvinnslu, eru 7 tegundir af lykilorðahassum nú útfærðar: bcrypt, klassískt descrypt (þar á meðal bigcrypt), sha512crypt, sha256crypt, md5crypt (þar á meðal Apache apr1 og AIX smd5), Drupal7 og phpass (notað , sérstaklega í WordPress). Sum þeirra eru innleidd á FPGA í fyrsta skipti. Fyrir bcrypt er frammistaðan sem náðst hefur upp á ~119k c/s með 2^5 endurtekningar ("$2b$05") með orkunotkun um 27 wött verulega umfram niðurstöður fyrir nýjustu GPU á borð, fyrir hvert vélbúnaðarverð og á watt. Einnig stutt klasa af borðum af þessari gerð, sem hefur verið prófað allt að 16 borð (64 FPGA) stjórnað frá einum Raspberry Pi 2. Venjuleg John the Ripper virkni er studd, þar á meðal allar stillingar til að giska á lykilorð og samtímis niðurhal á miklum fjölda kjötkássa. Til að flýta fyrir verkinu innleiddum við notkun á grímu („--mask“ haminn, þar á meðal í samsetningu með öðrum stillingum) og samanburð á reiknuðum kjötkássa við þá sem hlaðnir voru á FPGA hliðinni. Frá útfærslusjónarmiði, margar af hönnununum (t.d. sha512crypt og Drupal7) kubbar sem samanstanda af fjölþráðum örgjörvakjarna (mjúkum CPU kjarna) sem hafa samskipti við dulmálskjarna eru notaðir. Þróun þessarar virkni var stýrt af Denis Burykin í samráði við aðra jumbo hönnuði.

Aðrar helstu breytingar:

  • Stuðningur við fjölda viðbótartegunda kjötkássa, dulmáls o.s.frv., þar á meðal bæði klassískt lykilorðahass (til dæmis frá nýjum útgáfum af QNX), sem og dulritunargjaldmiðilsveski, dulkóðuð skjalasafn og dulkóðuð skráarkerfi (til dæmis Bitlocker og FreeBSD geli), sem og stuðning fyrir nýjar tegundir af sniðum sem áður voru studd (til dæmis bætt við stuðningi við bcrypt-pbkdf fyrir OpenBSD softraid) og margt fleira. Alls hefur 80 sniðum verið bætt við á CPU og 47 á OpenCL (og lítill fjöldi gamalla hefur verið fjarlægður sem samþættur í ný og úrelt). Heildarfjöldi sniða er nú 407 á örgjörvanum (eða 262 án "dýnamískra" sniða sem stillt eru út frá stillingarskrám) og 88 á OpenCL.
  • Neitun um að styðja CUDA tungumálið í þágu OpenCL, sem truflar á engan hátt fulla notkun NVIDIA GPUs (og hjálpar jafnvel, þökk sé því að einbeita þróun og hagræðingu á eina útfærslu hvers sniðs fyrir GPU í stað tveggja útfærslu áður).
  • Stuðningur við ný SIMD leiðbeiningasett - AVX2, AVX-512 (þar á meðal fyrir aðra kynslóð Xeon Phi) og MIC (fyrir fyrstu kynslóð) - sem og alhliða og fullkomnari notkun SIMD í útfærslum á mörgum sniðum, þar á meðal notkun á áður studd leiðbeiningasett upp á AVX og XOP á x86(-64) og
    NEON, ASIMD og AltiVec á ARM, Aarch64 og POWER, í sömu röð. (Að hluta til sem hluti af GSoC 2015.)
  • Fjölmargar fínstillingar fyrir CPU og OpenCL, bæði til að vinna á skilvirkari hátt með fjölda kjötkássa samtímis (til dæmis var prófað að hlaða 320 milljón SHA-1 kjötkássa á GPU), og til að auka hraða útreikninga á kjötkássa. Sumar þessara hagræðinga eru alhliða, sumar ná yfir mismunandi undirmengi sniða og margar eru sértækar fyrir einstök snið.
  • (Sjálfvirk) stilling á ákjósanlegri biðmögnun á könnuðum lykilorðum á örgjörvanum (“—tune=auto —verbosity=5”) og ákjósanlegri vinnustærðum á OpenCL (virkjað sjálfgefið), þar á meðal að taka tillit til hægfara uppbyggingar NVIDIA GTX röð GPUs að fullri notkunartíðni 10xx og nýrri. Notkun í raun hlaðinn kjötkássa og raunverulega lengd lykilorðanna sem verið er að athuga (þegar það er vitað fyrirfram) fyrir slíka sjálfvirka stillingu.
  • Bæta við þýðanda fyrir „dýnamísk tjáning“ sem tilgreind er beint á skipanalínunni og innleiða nýjar blendinga kjötkássategundir, til dæmis „-format=dynamic='sha1(md5($p).$s)'“, reiknað á örgjörvanum með SIMD . Sem hluti af slíkum tjáningum eru heilmikið af hröðum kjötkássa studd (frá algengum eins og MD5 til í meðallagi framandi eins og Whirlpool), samtengingu undirstrengs, kóðun og afkóðun, umbreytingu stafa stafa, tilvísanir í lykilorð, salt, notandanafn og strengjafasta.
  • Útrýming óæskilegra muna frá hashcat, þar á meðal stuðningi við áður hashcat-sértækar reglur (orðalistaregluskipanir), umskipti yfir í OpenCL tækisnúmer frá 1, sjálfgefin notkun sömu lykilorðalengda (venjulega lengd 7) fyrir frammistöðupróf.
  • Nýjar stillingar til að búa til sannreynanleg lykilorð (sprunguhamir), þar á meðal PRINCE frá hashcat (myndar „setningar“ með því að sameina nokkur orð í vaxandi röð eftir heildarlengd), undirmengi (talar upp lykilorð með ófullnægjandi fjölda mismunandi stafa, jafnvel þótt þessir stafir komi úr stóru safni mögulegra) og blendingur ytri (gerir ytri stillingum, sem lýst er í stillingarskrám á C-líku tungumáli, að búa til mörg sannanleg lykilorð byggð á hverju grunnorði sem berast frá öðrum ham). Einnig nokkrir nýjar fyrirfram skilgreindar ytri stillingar.
  • Viðbótaraðgerðir til að nota nokkrar stillingar samtímis (einn ofan á annan - stöflun), sem og til að nota sett af reglum (orðlistareglur stöflun).
  • Endurbætur á grímustillingunum (smám saman teygja grímuna á tilteknu lengdarsviði, beiting grímu á hlið OpenCL tækisins eða FPGA borðsins) og ein sprunga (sanngjarn hegðun á tækjum sem reikna mikinn fjölda kjötkássa samhliða , sem áður voru ekki næg sannanleg lykilorð fyrir í þessum ham, og einnig takmarkanir á minnisnotkun).
  • Margar endurbætur á stuðningi við Unicode og aðrar kóðun í mismunandi undirkerfum.
  • Margar endurbætur á *2john forritum (sem umbreyta skrám af mismunandi sniðum fyrir
    nota með john), sérstaklega wpapcap2john (sér um WiFi umferð).
  • Það eru margir nýir skipanalínuvalkostir, stillingar í john.conf, stilla forskriftarvalkosti og samsvarandi nýja eiginleika, sem ekki voru allir nefndir hér.
  • Bætir kóðagæði þökk sé innbyggðum stuðningi við villuleit með AddressSanitizer (áður) og UndefinedBehaviorSanitizer (bætt við), bætir við innbyggðu sniði fuzzer (sem hluti af GSoC 2015), með samfelldri samþættingu (smíðar fyrir heilmikið af stýrikerfum og þýðanda samsetningar og prófa þær fyrir réttan stuðning fyrir öll snið).

Heimild: linux.org.ru

Bæta við athugasemd