Shkëputja John the Ripper 1.9.0-jumbo-1 me mbështetje për FPGA

Lëshuar versionin e ri të programit më të vjetër të mbështetur për gjetjen e fjalëkalimeve John the Ripper 1.9.0-jumbo-1 (projekti është në zhvillim që nga viti 1996). Që nga dalja e versionit të kaluar 1.8.0-jumbo-1 kanë kaluar 4.5 vjet, gjatë të cilave janë bërë më shumë se 6000 ndryshime (git commits) nga mbi 80 zhvillues. Falë integrimit të vazhdueshëm, që përfshin kontrollin paraprak të çdo ndryshimi (pull request) në shumë platforma, gjatë kësaj periudhe zhvilluesit rekomanduan përdorimin e redaktimit current nga GitHub, i cili u mbajt stabil pavarësisht ndryshimeve të bëra. Kodi kryesor i projektit shpërndahet nën licencën GPLv2+, ndërsa kodet e disa komponentëve nën licencën BSD.

Karakteristika e re e versionit është mbështetje për FPGA (përveç CPU, GPU dhe Xeon Phi). Për kartat ZTEX 1.15y, të cilat përmbajnë nga 4 çipa FPGA dhe fillimisht janë përdorur kryesisht për minimin e Bitcoin, tani janë implementuar 7 lloje hash fjalëkalimesh: bcrypt, descrypt klasik (përfshirë bigcrypt), sha512crypt, sha256crypt, md5crypt (përfshirë Apache apr1 dhe AIX smd5), Drupal7 dhe phpass (përdoret, në veçanti, në WordPress). Disa prej tyre janë implementuar për herë të parë në FPGA.

Për bcrypt, performanca e arritur është ~119k c/s me 2^5 iteracione ("$2b$05") me një konsum të energjisë rreth ~27 watt që tejkalon ndjeshëm rezultatet për GPU më të reja në llogaritje për kartë, çmimin e pajisjeve dhe watt-in. Gjithashtu janë mbështetur klastere nga këto lloje kartash, e cila është testuar deri në 16 karta (64 çipa FPGA), të kontrolluar nga një Raspberry Pi 2. Funksionaliteti standard i John the Ripper mbështetet, duke përfshirë të gjitha modet e gjetjes së fjalëkalimeve dhe ngarkimin njëkohësisht të shumë hash-eve.

PĂ«r tĂ« pĂ«rshpejtuar punĂ«n Ă«shtĂ« implementuar pĂ«rdorimi i maskĂ«s (modi "—mask", pĂ«rfshirĂ« nĂ« kombinim me modet e tjera) dhe krahasimi i hash-eve tĂ« llogaritur me ato tĂ« ngarkuara nĂ« anĂ«n e FPGA. Nga pikĂ«pamja e implementimit, nĂ« shumĂ« nga dizajnet (pĂ«r shembull, pĂ«r sha512crypt dhe Drupal7) janĂ« pĂ«rdorur blloqe qĂ« pĂ«rbĂ«hen nga bĂ«rthama soft CPU tĂ« shumta, qĂ« bashkĂ«veprojnĂ« me bĂ«rthamat kriptografike. Zhvillimi i kĂ«tij funksionaliteti Ă«shtĂ« udhĂ«hequr nga Denis Burikin nĂ« koordinim me zhvillues tĂ« tjerĂ« jumbo.

Ndryshime të tjera të rëndësishme:

  • MbĂ«shtetje pĂ«r njĂ« numĂ«r tĂ« madh tipash tĂ« tjerĂ« hash, algoritmesh, etj., duke pĂ«rfshirĂ« si hash tradicional tĂ« fjalĂ«kalimeve (p.sh., versione tĂ« reja tĂ« QNX), ashtu edhe portofolat kriptomonedhave, arkivat e enkriptuara dhe sistemet e dosjeve tĂ« enkriptuara (p.sh., Bitlocker dhe FreeBSD geli), si dhe mbĂ«shtetje pĂ«r lloje tĂ« reja tĂ« formateve qĂ« janĂ« mbĂ«shtetur mĂ« parĂ« (p.sh., mbĂ«shtetje pĂ«r bcrypt-pbkdf pĂ«r OpenBSD softraid) dhe shumĂ« tĂ« tjera. NĂ« total, janĂ« shtuar 80 formate nĂ« CPU dhe 47 nĂ« OpenCL. Numri i pĂ«rgjithshĂ«m i formateve tani Ă«shtĂ« 407 nĂ« CPU (ose 262 duke pĂ«rjashtuar format “dynamic” qĂ« pĂ«rshtaten nga skedarĂ«t e konfigurimit) dhe 88 nĂ« OpenCL.
  • Heqja e mbĂ«shtetjes pĂ«r gjuhĂ«n CUDA nĂ« favor tĂ« OpenCL, e cila nuk pengon nĂ« pĂ«rdorimin e plotĂ« tĂ« GPU-ve nga NVIDIA (pĂ«rkundrazi ndihmon falĂ« fokusi nĂ« zhvillim dhe optimizimin pĂ«r njĂ« implementim tĂ« vetĂ«m tĂ« secilit format pĂ«r GPU, nĂ« vend tĂ« dy implementimeve mĂ« pĂ«rpara).
  • MbĂ«shtetje pĂ«r grupe tĂ« reja tĂ« instrukcioneve SIMD — AVX2, AVX-512 (pĂ«rfshirĂ« pĂ«r gjeneratĂ«n e dytĂ« tĂ« Xeon Phi) dhe MIC (pĂ«r gjeneratĂ«n e parĂ«) — si dhe pĂ«rdorim mĂ« universale dhe tĂ« plotĂ« tĂ« SIMD nĂ« implementimet e shumĂ« formateve, duke pĂ«rfshirĂ« aplikimin e grupeve tĂ« instrukcioneve qĂ« ishin mbĂ«shtetur mĂ« parĂ« deri nĂ« AVX dhe XOP nĂ« x86(-64) dhe
    NEON, ASIMD dhe AltiVec në ARM, Aarch64 dhe POWER, përkatësisht.
  • Optimizime tĂ« shumta pĂ«r CPU dhe OpenCL, si pĂ«r njĂ« funksionim mĂ« efikas me njĂ« numĂ«r tĂ« madh hash-esh njĂ«kohĂ«sisht (p.sh., u testua ngarkesa e 320 milionĂ«ve hash SHA-1 nĂ« GPU), ashtu edhe pĂ«r rritjen e shpejtĂ«sisĂ« sĂ« llogaritjes sĂ« hash-eve. Disa nga kĂ«to optimizime janĂ« universale, disa pĂ«rfshijnĂ« nĂ«ngrupe tĂ« ndryshme formatesh, ndĂ«rsa shumĂ« janĂ« specifike pĂ«r formate tĂ« veçanta.
  • (Automatikisht) konfigurimi i optimizuar i buferit tĂ« fjalĂ«kalimeve tĂ« kontrolluara nĂ« CPU (“—tune=auto —verbosity=5”) dhe pĂ«rmasat optimale tĂ« detyrĂ«s nĂ« OpenCL (tĂ« aktivizuara si parazgjedhje), duke pĂ«rfshirĂ« mbajtjen parasysh tĂ« ngadalshĂ«m tĂ« daljes nĂ« frekuencĂ«n e plotĂ« tĂ« punĂ«s pĂ«r GPU-s nga seria NVIDIA GTX 10xx dhe mĂ« tĂ« reja. PĂ«rdorimi i hash-eve tĂ« ngarkuara realisht dhe gjatĂ« e fjalĂ«kalimeve tĂ« kontrolluara (kur ajo Ă«shtĂ« e njohur paraprakisht) pĂ«r kĂ«tĂ« konfigurim automatik.
  • Shtimi i kompilatorit tĂ« «shprehjeve dinamike», tĂ« specifikuara drejtpĂ«rdrejt nĂ« linjĂ«n e komandĂ«s dhe qĂ« realizojnĂ« lloje tĂ« reja hibride tĂ« hash-eve, pĂ«r shembull «—format=dynamic='sha1(md5($p).$s)'», tĂ« llogaritura nĂ« CPU duke pĂ«rdorur SIMD. Si komponentĂ« tĂ« kĂ«tyre shprehjeve mbĂ«shteten dhjetra hash-e tĂ« shpejtĂ« (nga ato tĂ« zakonshme si MD5 deri tek ato pak mĂ« ekzotike si Whirlpool), bashkimin e nĂ«nstruktura, kodimin dhe dekodimin, transformimin e regjistrit tĂ« simboleve, referencat pĂ«r fjalĂ«kalim, kripĂ«, emrin e pĂ«rdoruesit dhe konstantet e vargjeve.
  • Eliminimi i dallimeve tĂ« padĂ«shiruara nga hashcat, pĂ«rfshirĂ« mbĂ«shtetje pĂ«r rregulla qĂ« ishin specifike pĂ«r hashcat (komandat pĂ«r rregullat e listĂ«s sĂ« fjalĂ«ve), kalimi nĂ« numerimin e pajisjeve OpenCL nga 1, aplikimi automatik i tĂ« njĂ«jtave gjatĂ«si fjalĂ«shkalimi (zakonisht gjatĂ«si 7) gjatĂ« testeve tĂ« performancĂ«s.
  • Rejime tĂ« reja pĂ«r gjenerimin e fjalĂ«vekalimeve tĂ« kontrollueshme (reĆŸim krashimi), duke pĂ«rfshirĂ« PRINCE nga hashcat (formon «fraza» duke bashkuar disa fjalĂ« nĂ« rendin e rritjes sĂ« gjatĂ«si sĂ« pĂ«rgjithshme), subsets (pĂ«rzgjedh fjalĂ«kalime me njĂ« numĂ«r tĂ« pamjaftueshĂ«m tĂ« simboleve tĂ« ndryshme, edhe nĂ«se kĂ«to simbole kanĂ« ardhur nga njĂ« grup i madh tĂ« mundshĂ«m) dhe hybrid external (lejon rejimet eksternale, tĂ« pĂ«rshkruara nĂ« skedarĂ«t e konfigurarit nĂ« njĂ« gjuhĂ« tĂ« ngjashme me C, tĂ« formojnĂ« shumĂ« fjalĂ«kalime tĂ« kontrollueshme nĂ« bazĂ« tĂ« çdo «fjale» themelore qĂ« vjen nga njĂ« regjim tjetĂ«r). Gjithashtu, disa mĂ«nyra tĂ« reja tĂ« parapara nga jashtĂ«.
  • MundĂ«si tĂ« tjera pĂ«r pĂ«rdorimin e disa rejimeve njĂ«herĂ«sh (njĂ« mbi tjetĂ«r — stacking), si dhe pĂ«r kĂ«tĂ« pĂ«rdorim tĂ« grupeve tĂ« rregullave (stacking i rregullave tĂ« listĂ«s sĂ« fjalĂ«ve).
  • PĂ«rmirĂ«sime tĂ« rejimeve maskĂ« (zgjatja graduale e maskĂ«s nĂ« njĂ« gamĂ« tĂ« specifikuar tĂ« gjatĂ«si, aplikimi i maskĂ«s nĂ« pajisjet OpenCL ose plakat FPGA) dhe single crack (sjellje logjike nĂ« pajisjet qĂ« llogaritin shumĂ« hash-e paralelisht, pĂ«r tĂ« cilat nĂ« kĂ«tĂ« regjim pĂ«rpara kishte mungesĂ« tĂ« fjalĂ«vekalimeve tĂ« kontrollueshme, si dhe kufizime mbi pĂ«rdorimin e memories).
  • ShumĂ« pĂ«rmirĂ«sime tĂ« mbĂ«shtetjes Unicode dhe encoding-ut tĂ« tjerĂ« nĂ« sisteme tĂ« ndryshme.
  • ShumĂ« pĂ«rmirĂ«sime tĂ« programeve *2john (qĂ« transformojnĂ« skedarĂ«t e formateve tĂ« ndryshme pĂ«r
    përdorim me john), sidomos wpapcap2john (trajton trafikun WiFi).
  • ShumĂ« opsione tĂ« reja tĂ« komandave nĂ« rresht, konfigurimeve nĂ« john.conf, skenarĂ«ve tĂ« opsioneve tĂ« konfigurimit dhe mundĂ«sive tĂ« reja pĂ«rkatĂ«se, shumĂ« prej tĂ« cilave nuk arritĂ«m t'i pĂ«rmendim kĂ«tu.
  • PĂ«rmirĂ«simi i cilĂ«sisĂ« sĂ« kodit pĂ«rmes mbĂ«shtetjes sĂ« integruar pĂ«r ndĂ«rtimet e debug me AddressSanitizer (e cila Ă«shtĂ« ekzistuar mĂ« parĂ«) dhe UndefinedBehaviorSanitizer (shtuar), shtimit tĂ« njĂ« fuzzersi tĂ« integruar pĂ«r formate (nĂ« kuadĂ«r tĂ« GSoC 2015), aplikimi i integrimit tĂ« vazhdueshĂ«m (ndĂ«rtime pĂ«r dhjetĂ«ra kombinime tĂ« sistemit operativ dhe kompajlerit dhe testimi i mbĂ«shtetjes korrekte pĂ«r tĂ« gjitha formatet).

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster