ʻO John the Ripper 1.9.0-jumbo-1 me ke kākoʻo FPGA

Hoʻokuʻu ʻia mana hou o ka polokalamu koho hua'ōlelo kahiko loa i kākoʻo ʻia ʻo John the Ripper 1.9.0-jumbo-1. (Ke ulu nei ka papahana mai ka makahiki 1996.) Ma ʻaoʻao papahana Loaʻa nā kumu no ka hoʻoiho ʻana, a me nā hui i hana ʻia no Windows.

Ua ʻike ʻia ua hala nā makahiki 1.8.0 mai ka hoʻokuʻu ʻia ʻana o ka mana 1-jumbo-4.5, kahi i ʻoi aku ma mua o 6000 mau hoʻololi (git commits) i hana ʻia mai nā mea hoʻomohala ʻoi aku ma mua o 80. I kēia manawa, ua ʻōlelo nā mea hoʻomohala e hoʻohana paʻi o kēia manawa mai GitHub, ka moku'āina i mālama 'ia me ka ho'ololi 'ana i ka mahalo hoʻohui mau, e pili ana i ka hōʻoia mua o kēlā me kēia hoʻololi (noi huki) ma nā paepae he nui. ʻO kahi hiʻohiʻona kūikawā o ka mana hou ke ʻano o ke kākoʻo no FPGA (FPGA) me ka CPU, GPU a me Xeon Phi.


No nā papa ZTEX 1.15y, me 4 FPGA chips a hoʻohana mua ʻia no ka mining Bitcoin, ua hoʻokō ʻia nā ʻano hashes 7 o ka password: bcrypt, descrypt maʻamau (me ka bigcrypt), sha512crypt, sha256crypt, md5crypt (me Apache apr1 a me AIX smd5), Drupal7 a me phpass (hoʻohana ʻia. , i loko o WordPress). Hoʻokomo ʻia kekahi o lākou ma FPGA no ka manawa mua. No ka bcrypt, ʻoi aku ka nui o ka hana i loaʻa o ~119k c/s me 2^5 iterations ("$2b$05") me ka hoʻohana ʻana i ka mana ma kahi o 27 watts i ʻoi aku ma mua o nā hopena no nā GPU hou loa i kēlā me kēia papa, no ke kumukūʻai lako a me ka watt. Kākoʻo pū ʻia pūʻulu o nā papa o kēia ʻano, i hoʻāʻo ʻia i nā papa 16 (64 FPGAs) i hoʻomalu ʻia mai kahi Raspberry Pi 2. Kākoʻo ʻia ka hana maʻamau ʻo John the Ripper, me nā ʻano ʻōlelo huna a pau a me ka hoʻoiho ʻana i ka nui o nā hashes. No ka wikiwiki i ka hana, ua hoʻokō mākou i ka hoʻohana ʻana i kahi mask (ʻo ke ʻano "--mask", me ka hui pū me nā ʻano ʻē aʻe) a me ka hoʻohālikelike ʻana i nā hashes i helu ʻia me nā mea i hoʻouka ʻia ma ka ʻaoʻao FPGA. Mai kahi hiʻohiʻona hoʻokō, nui nā hoʻolālā (e.g. sha512crypt a me Drupal7) nā poloka i hoʻohana ʻia me nā cores processor multi-threaded (nā cores CPU palupalu) e launa pū ana me nā cores cryptographic. Ua alakaʻi ʻia ka hoʻomohala ʻana o kēia hana e Denis Burykin i ka hui pū ʻana me nā mea hoʻomohala jumbo ʻē aʻe.

Nā hoʻololi nui ʻē aʻe:

  • Kākoʻo no ka nui o nā ʻano hashes, ciphers, a me nā mea ʻē aʻe, me nā hashes password maʻamau (no ka laʻana, mai nā mana hou o QNX), a me nā wallets cryptocurrency, nā waihona i hoʻopili ʻia a me nā ʻōnaehana faila i hoʻopili ʻia (no ka laʻana, Bitlocker a FreeBSD geli), a me ke kākoʻo no nā ʻano ʻano hou i kākoʻo mua ʻia (no ka laʻana, hoʻohui i ke kākoʻo no bcrypt-pbkdf no OpenBSD softraid) a ʻoi aku. Ma ka huina, ua hoʻohui ʻia nā ʻano 80 ma CPU a me 47 ma OpenCL (a ua wehe ʻia kahi helu liʻiliʻi o nā mea kahiko i hoʻohui ʻia i nā mea hou a kahiko). ʻO 407 ka nui o nā palapala i kēia manawa ma ka CPU (a i ʻole 262 ʻaʻole me nā ʻano "dynamic" i hoʻonohonoho ʻia mai nā faila hoʻonohonoho) a me 88 ma OpenCL.
  • ʻO ka hōʻole ʻana i ke kākoʻo ʻana i ka ʻōlelo CUDA no OpenCL, ʻaʻole ia e hoʻopilikia i ka hoʻohana piha ʻana o NVIDIA GPUs (a kōkua pū kekahi, mahalo i ka hoʻomohala ʻana a me ka hoʻonui ʻana i hoʻokahi hoʻokō o kēlā me kēia ʻano no ka GPU ma mua o ʻelua hoʻokō ma mua).
  • Kākoʻo no nā ʻōkuhi aʻo SIMD hou - AVX2, AVX-512 (me ka lua o ka hanauna Xeon Phi) a me MIC (no ka hanauna mua) - a me ka hoʻohana ʻana o ka SIMD i ka hoʻohana ʻana i nā ʻano he nui, me ka hoʻohana ʻana o i kākoʻo mua ʻia nā ʻōlelo aʻo i ka AVX a me XOP ma x86(-64) a
    NEON, ASIMD a me AltiVec ma ARM, Aarch64 a me POWER. (Ma ke ʻano he ʻāpana o GSoC 2015.)
  • Nui nā optimizations no CPU a me OpenCL, ʻelua e hana maikaʻi me ka nui o nā hashes i ka manawa like (no ka laʻana, hoʻāʻo ʻia ka hoʻouka ʻana i 320 miliona SHA-1 hashes ma ka GPU), a e hoʻonui i ka wikiwiki o ka helu hash. ʻO kekahi o kēia mau hoʻoponopono ʻana he ākea, uhi kekahi i nā ʻāpana ʻokoʻa o nā ʻano, a he nui nā mea kikoʻī i nā ʻano hoʻohālikelike.
  • (Auto-) ka hoʻonohonoho ʻana o ka hoʻopaʻa ʻana i nā ʻōlelo huna i nānā ʻia ma ka CPU (“—tune=auto —verbosity=5”) a me nā nui o ka hana maikaʻi loa ma OpenCL (hiki i ka paʻamau), me ka noʻonoʻo ʻana i ka piʻi lohi o NVIDIA GTX nā pūʻulu GPU i ka hana holoʻokoʻa 10xx a me ka mea hou. Ke hoʻohana nei i nā hashes i hoʻouka maoli ʻia a me ka lōʻihi maoli o nā ʻōlelo huna e nānā ʻia (ke ʻike ʻia ma mua) no ka hoʻoponopono ʻana.
  • Hoʻohui i kahi mea hōʻuluʻulu no "nā ʻōlelo ikaika" i kuhikuhi pololei ʻia ma ka laina kauoha a hoʻokō i nā ʻano hash hybrid hou, no ka laʻana "-format=dynamic='sha1(md5($p).$s)'", i helu ʻia ma ka CPU me ka hoʻohana ʻana iā SIMD . Ma ke ʻano he ʻāpana o ia mau ʻōlelo, kākoʻo ʻia ka nui o nā hashes wikiwiki (mai nā mea maʻamau e like me MD5 a i nā mea exotic moderately e like me Whirlpool), substring concatenation, encoding and decoding, character case conversion, references to password, salt, username and string constants.
  • Hoʻopau i nā ʻokoʻa i makemake ʻole ʻia mai ka hashcat, me ke kākoʻo ʻana i nā lula kikoʻī hashcat-specific (nā kauoha rulelist wordlist), ka hoʻololi ʻana i ka hāmeʻa OpenCL e helu ana mai ka 1, ka hoʻohana maʻamau o nā lōʻihi ʻōlelo huna like (maʻa mau ka lōʻihi 7) no nā hoʻokolohua hana.
  • Nā ʻano hana hou no ka hana ʻana i nā huaʻōlelo i hōʻoia ʻia (cracking modes), me ka PRINCE mai ka hashcat (e hana i nā "huaʻōlelo" ma ka hoʻohui ʻana i kekahi mau huaʻōlelo i ka hoʻonui ʻana i ka lōʻihi o ka lōʻihi), subsets (lawe mai i nā huaʻōlelo me ka lawa ʻole o nā huaʻōlelo like ʻole, ʻoiai inā hiki mai kēia mau huaʻōlelo. mai kahi pūʻulu nui o nā mea hiki) a me waho hybrid (ʻae i nā ʻano o waho, i wehewehe ʻia i nā faila hoʻonohonoho i ka ʻōlelo C-like, e hana i nā huaʻōlelo he nui i hōʻoia ʻia e pili ana i kēlā me kēia "huaʻōlelo" i loaʻa mai kahi ʻano ʻē aʻe). Eia kekahi, he mau ʻano hana waho i koho mua ʻia.
  • ʻO nā hiʻohiʻona hou no ka hoʻohana ʻana i kekahi mau ʻano i ka manawa like (hoʻokahi ma luna o kekahi - hoʻopaʻa ʻana), a me ka hoʻohana ʻana i nā pūʻulu o nā lula (wordlist rules stacking).
  • Nā hoʻomaikaʻi ʻana i nā ʻano mask (ka hoʻolōʻihi ʻana o ka mask ma kahi kikoʻī o ka lōʻihi, ka hoʻohana ʻana i kahi mask ma ka ʻaoʻao o ka hāmeʻa OpenCL a i ʻole ka papa FPGA) a me ka māwae hoʻokahi. , no ka mea, ʻaʻole i lawa nā ʻōlelo huna i hōʻoia ʻia ma kēia ʻano, a me nā palena o ka hoʻohana ʻana i ka hoʻomanaʻo).
  • Nui nā hoʻomaikaʻi i ke kākoʻo ʻana no Unicode a me nā hoʻopili ʻē aʻe ma nā ʻano subsystem like ʻole.
  • Nui nā hoʻomaikaʻi i nā polokalamu *2john (e hoʻololi i nā faila o nā ʻano like ʻole no
    hoʻohana me john), ʻoi aku ka wpapcap2john (hoʻohana i ka lele WiFi).
  • Nui nā koho laina kauoha hou, nā hoʻonohonoho ma john.conf, hoʻonohonoho i nā koho palapala a me nā hiʻohiʻona hou e pili ana, ʻaʻole i ʻōlelo ʻia nā mea a pau ma aneʻi.
  • Ke hoʻomaikaʻi nei i ka maikaʻi o ka code ma muli o ke kākoʻo i kūkulu ʻia no ka hana debug me AddressSanitizer (ma mua) a me UndefinedBehaviorSanitizer (hoʻohui ʻia), e hoʻohui ana i kahi fuzzer i kūkulu ʻia (ma ke ʻano o GSoC 2015), me ka hoʻohana ʻana i ka hoʻohui mau ʻana (kūkulu ʻia no ka nui o nā ʻōnaehana hana a me ka mea hoʻohui. hui a hoʻāʻo iā lākou no ke kākoʻo kūpono no nā ʻano āpau).

Source: linux.org.ru

Pākuʻi i ka manaʻo hoʻopuka