John the Ripper 1.9.0-jumbo-1 FPGA toe väljalaskmine

Välja antud uus versioon vanimast toetatud paroolide murdmise programmist John the Ripper 1.9.0-jumbo-1 (projekt on arenenud alates 1996. aastast). Alates eelmise versiooni 1.8.0-jumbo-1 väljatulekust on möödas 4,5 aastat, mille jooksul on tehtud rohkem kui 6000 muudatust (git commit'i) üle 80 arendaja poolt. Tänu katkematule integreerimisele, sealhulgas igas muudatuses (pull request) eelkontrollile paljudel platvormidel, on arendajad soovitanud kasutada praegust väljaannet GitHub'is, mille olekut on hoitud stabiilsena vaatamata muudatustele. Projekti põhikood GNU Üldine Avaliku litsentsi alusel. on litsentsitud GPLv2+ all, samas kui mõne komponendi kood on litsentsitud BSD all.

Uue versiooni eripära on FPGA toe lisandumine (kõrval CPU, GPU ja Xeon Phi). ZTEX 1.15y, mis hõlmab nelja FPGA kiipi ja mida algselt kasutati peamiselt Bitcoin'i kaevandamiseks, võimaldab nüüd 7 tüüpi paroolide räsi: bcrypt, klassikaline descrypt (sealhulgas bigcrypt), sha512crypt, sha256crypt, md5crypt (sealhulgas Apache apr1 ja AIX smd5), Drupal7 ja phpass (kasutatakse eriti WordPress'is). Mõned neist on FPGA-l esmakordselt teostatud.

bcrypt'i puhul saavutatud jõudlus on ~119k c/s 2^5 korduste („$2b$05”) juures, tarbides umbes ~27 vatti, mis ületab oluliselt uusimate GPU-de tulemusi võrreldes raadiosaatjaga, seadme hinnaga ja vattide kohta. Samuti toetatakse klastreid sellist tüüpi plaatidest, mille töökindlust on testitud kuni 16 plaadini (64 FPGA kiipi), mida juhitakse ühe Raspberry Pi 2 abil. Toetatakse tavalist funktsionaalsust John the Ripper, sealhulgas kõiki paroolide murdmise režiime ja suurt hulga hashide samasugust laadimist.

Töö kiirusel on rakendatud maski kasutamine (režiim „—mask”, sealhulgas koos teiste režiimidega) ja arvutatud hashide võrdlemine FPGA poolelaetud hashidega. Tehnilisest vaatepunktist on paljude disainide puhul (nt sha512crypt ja Drupal7) rakendatud plokke, mis koosnevad mitme lõime protsessorituumadest (soft CPU cores), mis suhtlevad krüptograafia tuumadega. Selle funktsionaalsuse arendust juhtis Denis Burikin koostöös teiste jumbo arendajatega.

Teised olulised muudatused:

  • Toetab paljude lisahashide, krüptimiste jne tüüpe, sealhulgas klassikalised paroolihashid (nt QNX uued versioonid), krüptovaluutakotid, krüptitud arhiivid ja krüptitud failisüsteemid (nt Bitlocker ja FreeBSD geli), ning toetab uusi vormingute variante, mida varem toetati (nt OpenBSD softraid jaoks lisatud bcrypt-pbkdf toetus) ja palju muud. Kokku on lisatud 80 vormingut CPU-le ja 47 OpenCL-le. Kokku on nüüd 407 vormingut CPU-l (või 262, välja arvatud „dünaamilised” vormingud, mis on konfigureeritavad konfiguratsioonifailidest) ja 88 OpenCL-le.
  • CUDA keele toe loobumine avatud OpenCL-i kasuks ei takista NVIDIAt GPU täielikku kasutamist (ja isegi aitab, kuna arendusele ja optimeerimisele keskendumine ühele vormingu teostusele GPU-l on parem kui kaks eelmist rakendust).
  • Uute SIMD käskude komplektide tugi — AVX2, AVX-512 (sealhulgas teise põlvkonna Xeon Phi jaoks) ja MIC (esimese põlvkonna jaoks) — ning samuti laiem ja täielikum SIMD kasutamine paljude vormingute teostustes, sealhulgas varem toetatud käskude komplektide rakendamine kuni AVX ja XOP x86(-64) peal.
    NEON, ASIMD ja AltiVec ARM, Aarch64 ja POWER jaoks.
  • Palju optimeerimisi CPU ja OpenCL jaoks, et võimaldada tõhusamat töötlemist suure hulga hash'idega (näiteks testiti 320 miljoni SHA-1 hash'i laadimist GPU-l) ning kiirusede arvestamisel. Osa neist optimeerimisest on universaalsed, osa hõlmavad erinevaid formaate ja paljud on spetsiifilised teatud formaatidele.
  • (Auto-)süsteem optimaalse vahemälu seadistamiseks kontrollitavate paroolide puhul CPU-l („—tune=auto —verbosity=5”) ja optimaalsete tööde mõõtmete jaoks OpenCL-is (kaasa arvatud vaikesätetes), arvestades ka NVIDIA GTX 10xx seeria ja uuemate GPU-de aeglast täielikule sagedusele üleminekut. Kasutatakse reaalselt koormatud hash'e ja teadaolevaid paroolide tegelikke pikkusi (kui need on eelnevalt teada) sellise auto-sätte tegemiseks.
  • Dünaamiliste väljendite kompilaatori lisamine, mida saab otse käsurealt määrata ja mis rakendavad uusi hübriidsete hash-tüüpide vorme, näiteks "--format=dynamic='sha1(md5($p).$s)'", mis arvutatakse CPU abil SIMD-i kasutades. Selliste väljendite komponentide hulka kuuluvad kümned kiired hash'id (tavalistest nagu MD5 kuni mõõdukalt eksootilisteni nagu Whirlpool), alamstringide ühendamine, kodeerimine ja dekodeerimine, sümbolite registri muutmine, viidatud parool, sool, kasutajanimi ja stringikonstruktsioonid.
  • Ebameeldivate erinevuste kõrvaldamine hashcat'ist, sealhulgas varasemalt hashcat'ile spetsiifiliste reeglite (wordlist rule commands) tugi, OpenCL seadmete numbrite algus 1. numbrist, sama pikkade paroolide (tavaliselt 7 tähemärki) rakendamine vaikimisi toimivuse testide korral.
  • Uued paroolide genereerimise režiimid (cracking modes), sealhulgas PRINCE hashcatist (koostab 'fraase', ühendades mitu sõna kasvavas kogupikkuse järjekorras), subsets (valib paroolid, millel on ebapiisav arv erinevaid sümboleid, isegi kui need sümbolid pärinevad suurest võimalike hulkadest) ja hybrid external (lubab väliste režiimide kasutamist, mida kirjeldatakse C-sarnastes konfiguratsioonifailides, et luua palju kontrollitavaid paroole iga põhiasja kohta, mis tuleb teiselt režiimilt). Samuti on mitmeid uusi eelmääratud väliseid režiime.
  • Lisa võimalused mitme režiimi samaaegseks kasutamiseks (üks teise peal — stacking), samuti võimalused kasutada reeglite kogusid (wordlist rules stacking).
  • Täiendused mask režiimide jaoks (maski järkjärguline pikendamine määratud pikkuste vahemikus, maski rakendamine OpenCL-seadme või FPGA platvormi poolel) ja single crack (mõistlik käitumine seadmetes, mis arvutavad samaaegselt suurt hulka hash'e, millele eelnevalt ei olnud selle režiimi jaoks piisavalt kontrollitavaid paroole, samuti mälukulu piirangud).
  • Palju täiustusi Unicode'i ja teiste kodeeringute toe osas erinevates alamsüsteemides.
  • Palju täiustusi programmi *2john (failide erinevate formaatide konverteerimiseks john'iga),
    eriti wpapcap2john (WiFi liikluse töötlemiseks).
  • Palju uusi käsurea valikuid, seadistusi john.conf-is, configure-skripti valikuid ja vastavaid uusi võimalusi, millest kaugeltki mitte kõiki ei õnnestunud siin mainida.
  • Koodikvaliteedi tõus tänu sisseehitatud toetusele tõrkeotsingu ehitustele AddressSanitizer'iga (oli varem) ja UndefinedBehaviorSanitizer'iga (lisatud), vormingute sisseehitatud fuzzimise lisamine (GSoC 2015 raames), pideva integratsiooni kasutamine (ehitused kümnete operatsioonisüsteemi ja kompilaatori kombinatsioonide jaoks ning nende piisava vormingute toe testimine).

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster