John Ripper 1.9.0-jumbo-1 lage ak sipò FPGA

Lage nouvo vèsyon pi ansyen pwogram devine modpas sipòte Jan Ripper a 1.9.0-jumbo-1 (pwojè a ap devlope depi 1996). 1.8.0 ane pase depi lage vèsyon anvan an 1-jumbo-4.5, pandan ki plis pase 6000 chanjman (git commits) te fè soti nan plis pase 80 devlopè. Gras a entegrasyon kontinyèl, ki gen ladann yon chèk preliminè nan chak chanjman (rale demann) sou anpil platfòm, pandan peryòd sa a devlopè yo rekòmande pou itilize edisyon aktyèl soti nan GitHub, eta a nan ki te kenbe ki estab malgre chanjman yo te fè. Kòd pwojè prensipal la distribiye pa anba lisans GPLv2+, epi kòd kèk eleman yo anba lisans BSD.

Yon karakteristik espesyal nan nouvo vèsyon an se aparans nan sipò FPGA (anplis CPU, GPU ak Xeon Phi). Pou ankadreman ZTEX 1.15y, ki gen ladan 4 chips FPGA ak orijinèlman itilize sitou pou Bitcoin min, 7 kalite hashes modpas yo kounye a se aplike: bcrypt, klasik decrypt (ki gen ladan bigcrypt), sha512crypt, sha256crypt, md5crypt (ki gen ladan Apache apr1 ak AIX smd5), Drupal7 ak phpass (itilize). , an patikilye nan WordPress). Kèk nan yo aplike sou FPGA pou premye fwa.

Pou bcrypt, pèfòmans reyalize nan ~ 119k c / s ak 2 ^ 5 iterasyon ("$ 2b $ 05") ak yon konsomasyon pouvwa nan ~ 27 watt siyifikativman depase rezilta yo pou dènye GPU yo pou chak tablo, pou chak pri pyès ki nan konpitè, ak pou chak watt. . Epitou sipòte grap nan ankadreman nan kalite sa a, ki te teste jiska 16 ankadreman (64 chips FPGA) kontwole soti nan yon sèl Franbwaz Pi 2. Se abityèl John fonksyonalite a Ripper sipòte, ki gen ladan tout mòd devine modpas ak telechaje similtane nan yon gwo kantite hashes. .

Pou pi vit travay la, nou te aplike pou sèvi ak yon mask (mòd "-mask", ki gen ladan nan konbinezon ak lòt mòd) ak konparezon nan hashes yo kalkile ak sa yo ki chaje sou bò a FPGA. Soti nan yon pèspektiv aplikasyon, anpil nan desen yo (egzanp. sha512crypt ak Drupal7) yo itilize blòk ki fòme ak nwayo processeur milti-threaded (mou CPU nwayo) ki kominike avèk nwayo kriptografik. Devlopman nan fonksyonalite sa a te dirije pa Denis Burykin nan kowòdinasyon ak lòt devlopè jumbo.

Lòt chanjman enpòtan:

  • Sipò pou yon gwo kantite lòt kalite hashes, chifreman, elatriye, ki gen ladan tou de hashes modpas klasik (pa egzanp, ki soti nan nouvo vèsyon QNX), osi byen ke bous cryptocurrency, achiv chiffres ak sistèm fichye chiffres (pa egzanp, Bitlocker ak FreeBSD geli), osi byen ke sipò pou nouvo kalite fòma deja sipòte (pa egzanp, te ajoute sipò pou bcrypt-pbkdf pou OpenBSD softraid) ak plis ankò. An total, 80 fòma yo te ajoute sou CPU ak 47 sou OpenCL. Kantite total fòma yo kounye a se 407 sou CPU a (oswa 262 san yo pa enkli fòma "dinamik" configuré nan dosye konfigirasyon) ak 88 sou OpenCL.
  • Refize sipòte langaj CUDA an favè OpenCL, ki nan okenn fason entèfere ak itilizasyon konplè nan GPU NVIDIA (e menm ede, gras a konsantre devlopman ak optimize sou yon aplikasyon nan chak fòma pou GPU a olye pou yo de aplikasyon deja).
  • Sipò pou nouvo seri enstriksyon SIMD - AVX2, AVX-512 (ki gen ladan pou dezyèm jenerasyon Xeon Phi) ak MIC (pou premye jenerasyon an) - ak plis inivèsèl ak konplè itilizasyon SIMD nan aplikasyon plizyè fòma, ki gen ladan itilizasyon deja sipòte ansanm enstriksyon jiska AVX ak XOP sou x86 (-64) ak
    NEON, ASIMD ak AltiVec sou ARM, Aarch64 ak POWER, respektivman.

  • Anpil optimize pou CPU ak OpenCL, tou de pou pi efikas travay ak yon gwo kantite hashes ansanm (pa egzanp, chaje 320 milyon SHA-1 hashes sou GPU a), ak ogmante vitès la nan kalkil hash. Gen kèk nan optimize sa yo inivèsèl, gen kèk ki kouvri diferan fòma, e anpil yo espesifik pou fòma endividyèl yo.
  • (Oto-) konfigirasyon nan tanpon optimal nan modpas tcheke sou CPU a ("-melodi = oto -verbosity = 5") ak gwosè travay optimal sou OpenCL (pèmèt pa default), ki gen ladan pran an kont ranp lan dousman jiska frekans opere konplè. nan seri GPU NVIDIA GTX 10xx ak pi nouvo. Sèvi ak hash aktyèlman chaje ak longè aktyèl modpas yo tcheke (lè yo konnen li davans) pou oto-akor sa yo.
  • Ajoute yon du pou "ekspresyon dinamik" ki espesifye dirèkteman sou liy lòd la epi mete ann aplikasyon nouvo kalite ibrid hash, pou egzanp "-format=dynamic='sha1(md5($p).$s)'", kalkile sou CPU a lè l sèvi avèk SIMD. . Kòm eleman nan ekspresyon sa yo, plizyè douzèn hashes rapid yo sipòte (soti nan sa ki komen tankou MD5 nan sa ki modera ekzotik tankou Whirlpool), konkatènasyon substring, kodaj ak dekodaj, konvèsyon ka karaktè, referans a modpas, sèl, non itilizatè ak konstan fisèl.
  • Eliminasyon diferans ki pa vle soti nan hashcat, ki gen ladan sipò pou règ espesifik hashcat deja (kòmand règ lis mo), tranzisyon nan nimewote aparèy OpenCL soti nan 1, itilizasyon default menm longè modpas yo (anjeneral longè 7) pou tès pèfòmans.
  • Nouvo mòd pou jenere modpas ki verifye (mòd krak), ki gen ladan PRINCE soti nan hashcat (fòme "fraz" lè yo konbine plizyè mo nan lòd ogmante longè total), sou-ansanm (pote modpas ak yon kantite ensifizan karaktè diferan, menm si karaktè sa yo vini. soti nan yon seri gwo sa ki posib) ak ibrid ekstèn (pèmèt mòd ekstèn, ki dekri nan dosye konfigirasyon nan yon lang ki sanble ak C, jenere anpil modpas verifyab ki baze sou chak "mo" debaz yo resevwa nan men yon lòt mòd). Epitou, plizyè nouvo mòd ekstèn predefini.
  • Kapasite adisyonèl pou itilize plizyè mòd ansanm (youn sou tèt yon lòt - anpile), osi byen ke pou sèvi ak seri règ (woullist règ anpile).
  • Amelyorasyon nan mòd mask yo (gradyèlman etann mask la nan yon seri longè espesifik, aplikasyon mask la sou bò a nan aparèy la OpenCL oswa tablo FPGA) ak yon sèl krak (konpòtman rezonab sou aparèy ki kalkile yon gwo kantite hashes an paralèl). , pou ki deja pa te gen ase modpas verifyab nan mòd sa a, epi tou restriksyon sou konsomasyon memwa).
  • Anpil amelyorasyon pou sipòte Unicode ak lòt kodaj nan diferan subsistèm.
  • Anpil amelyorasyon nan pwogram *2john (ki konvèti fichye diferan fòma pou
    itilize ak John), espesyalman wpapcap2john (jere trafik WiFi).

  • Gen anpil nouvo opsyon liy kòmand, paramèt nan john.conf, konfigirasyon opsyon script ak nouvo karakteristik ki koresponn yo, se pa tout yo ki te mansyone isit la.
  • Amelyore bon jan kalite kòd gras a sipò entegre pou bati debug ak AddressSanitizer (anvan) ak UndefinedBehaviorSanitizer (te ajoute), ajoute yon fuzzer fòma entegre (kòm yon pati nan GSoC 2015), lè l sèvi avèk entegrasyon kontinyèl (bati pou plizyè douzèn sistèm opere ak konpilatè). konbinezon ak tès yo pou sipò kòrèk pou tout fòma).

Sous: opennet.ru

Add nouvo kòmantè