O John the Ripper 1.9.0-jumbo-1 na faʻatuina ma le lagolago FPGA

Fa'asa'oloto fa'afou fou ole polokalame ole matemateina ole fa'aupuga Ioane le Ripper 1.9.0-jumbo-1 (o le poloketi ua atiaʻe talu mai le 1996). 1.8.0 tausaga ua mavae talu mai le tatalaina o le lomiga muamua 1-jumbo-4.5, lea na sili atu i le 6000 suiga (git commits) na faia mai le sili atu i le 80 developers. Faafetai i tuufaatasia faifaipea, lea e aofia ai se siaki muamua o suiga taitasi (toso talosaga) i luga o le tele o tulaga, i lenei vaitau ua fautuaina e le au atinaʻe le faʻaaogaina lomiga nei mai GitHub, o le tulaga sa tumau pea le mautu e ui lava i suiga na faia. Fa'ailoga autu o le poloketi tufatufaina e i lalo ole laisene GPLv2+, ma o le code o nisi vaega o loʻo i lalo ole laisene BSD.

O se vaega faʻapitoa o le lomiga fou o le faʻaalia o le lagolago FPGA (faʻaopoopo i le PPU, GPU ma Xeon Phi). Mo laupapa ZTEX 1.15y, e aofia ai le 4 FPGA meataalo ma muamua faʻaaogaina mo Bitcoin mining, 7 ituaiga o upu faʻaupuga faʻapipiʻi ua faʻatinoina nei: bcrypt, descrypt masani (e aofia ai le bigcrypt), sha512crypt, sha256crypt, md5crypt (e aofia ai Apache apr1 ma AIX smd5), Drupal7 ma phpass (faʻaaogaina). , aemaise ile WordPress). O nisi oi latou o loʻo faʻatinoina ile FPGA mo le taimi muamua.

Mo le bcrypt, o le ausiaina o le ~ 119k c / s ma le 2 ^ 5 iterations ("$ 2b $ 05") faʻatasi ai ma le faʻaaogaina o le eletise o le ~ 27 watts e sili atu nai lo taunuuga mo GPU lata mai i le laupapa, tau meafaigaluega, ma le watt. . E lagolagoina foi fuifui o laupapa o lenei ituaiga, lea ua tofotofoina e oo atu i le 16 laupapa (64 FPGA tupe meataalo) pulea mai le tasi Raspberry Pi 2. O le masani John le Ripper functionality e lagolagoina, e aofia ai upu uma matemateina modes ma le taimi e tasi downloading o se numera tele o hashes.

Ina ia faʻavaveina le galuega, matou te faʻaogaina le faʻaogaina o se matapulepule (o le "-mask" mode, e aofia ai le tuʻufaʻatasia ma isi auala) ma le faʻatusatusaina o faʻamau faʻatatau ma i latou o loʻo utaina i le itu FPGA. Mai se vaaiga faʻatinoga, o le tele o mamanu (eg. sha512crypt ma Drupal7) poloka e aofia ai le tele-filo processor cores (cores CPU malu) fegalegaleai ma cryptographic cores o loo faaaogaina. O le atinaʻeina o lenei faʻatinoga na taʻitaʻia e Denis Burykin i le faʻamaopoopoina ma isi atinaʻe jumbo.

O isi suiga taua:

  • Lagolago mo se numera tele o isi ituaiga o hashes, ciphers, ma isi mea, e aofia uma ai upu faʻamaonia faʻailoga (mo se faʻataʻitaʻiga, mai lomiga fou o le QNX), faʻapea foʻi ma pusa tupe, faʻamaufaʻailoga faila ma faila faila (mo se faʻataʻitaʻiga, Bitlocker ma FreeBSD geli), faʻapea foʻi ma le lagolago mo ituaiga fou o faʻasologa na lagolagoina muamua (mo se faʻataʻitaʻiga, faʻaopoopo lagolago mo bcrypt-pbkdf mo OpenBSD softraid) ma sili atu. I le aofaʻi, 80 faʻapipiʻi ua faʻaopoopoina ile PPU ma le 47 ile OpenCL. Ole aofa'iga o fa'asologa o lo'o 407 i luga ole PPU (po'o le 262 e le aofia ai fa'asologa "malosi" fa'atulagaina mai faila fa'atulagaina) ma le 88 ile OpenCL.
  • O le mumusu e lagolagoina le gagana CUDA e fiafia i le OpenCL, e leai se auala e faʻalavelave ai i le faʻaaogaina atoatoa o NVIDIA GPUs (ma e fesoasoani foi, faʻafetai i le taulaʻi atu o le atinaʻe ma le faʻamoemoeina i luga o le tasi faʻatinoga o faatulagaga taʻitasi mo le GPU nai lo le lua faʻatinoga muamua).
  • Lagolago mo seti fou a le SIMD - AVX2, AVX-512 (e aofia ai mo le lona lua o augatupulaga Xeon Phi) ma le MIC (mo le augatupulaga muamua) - faʻapea foʻi ma le faʻaogaina lautele ma le atoatoa o le SIMD i faʻatinoga o le tele o faʻatulagaga, e aofia ai le faʻaogaina o fa'atonuga na lagolagoina muamua ua setiina i le AVX ma le XOP ile x86(-64) ma
    NEON, ASIMD ma AltiVec i luga ole ARM, Aarch64 ma le POWER.

  • Le tele optimizations mo PPU ma OpenCL, e lua e sili atu ona lelei le galulue faatasi ma se numera tele o hashes i le taimi e tasi (mo se faataitaiga, utaina 320 miliona SHA-1 hashes i luga o le GPU na tofotofoina), ma ia faateleina le saoasaoa o le fuafuaina o hash. O nisi o nei su'esu'ega e lautele, o nisi e aofia ai vaega eseese o fa'atulagaga, ma o le tele e fa'apitoa i fa'atulagaga ta'itasi.
  • (Auto-) fetuutuunaiga o le puipuiga sili ona lelei o upu faataga siaki i luga o le PPU (“—tune=auto —verbosity=5”) ma le tele o galuega e sili ona lelei i luga o OpenCL (e mafai ona faaletonu), e aofia ai ma le amanaia o le faagesegese e oo atu i taimi uma e faagaoioia ai. o le NVIDIA GTX faasologa GPUs 10xx ma fou. Fa'aaogāina fa'ato'a utaina ma le umi moni o fa'aupuga o lo'o siaki (pe a iloa muamua) mo ia fa'alogo-auto.
  • Faʻaopoopoina o se tagata faʻapipiʻi mo "faʻamatalaga faʻamalosi" o loʻo faʻamaonia saʻo i luga o le laina o le faʻatonuga ma le faʻaogaina o ituaiga hash hybrid fou, mo se faʻataʻitaʻiga "-format=dynamic='sha1(md5($p).$s)'", fuafuaina i le PPU e faʻaaoga ai le SIMD . I le avea ai ma vaega o ia faʻaaliga, o le tele o faʻamatalaga vave e lagolagoina (mai i mea masani e pei o le MD5 i mea faʻapitoa e pei o Whirlpool), substring concatenation, encoding ma decoding, faʻaliliuga mataʻitusi, faʻasino i upu faʻamaonia, masima, igoa faʻaoga ma manoa tumau.
  • Ave'esea ese'esega e le mana'omia mai le hashcat, e aofia ai le lagolago mo tulafono fa'apitoa a hashcat (fa'atonu tulafono o le lisi o upu), suiga i le masini OpenCL fa'anumeraina mai le 1, fa'aaoga le fa'aoga tutusa le umi o upu (e masani lava le umi 7) mo su'ega fa'atinoga.
  • Faiga fou mo le fa'atupuina o fa'aupuga fa'amaonia (faiga ta'e), e aofia ai le PRINCE mai le hashcat (faiga "fuaiupu" e ala i le tu'ufa'atasia o ni upu i le fa'aopoopoina o le fa'asologa o le umi atoa), subsets (a'e upu fa'aulu e le lava le numera o mataitusi eseese, tusa lava pe o'o mai nei mataitusi. mai se seti tele o mea e mafai) ma hybrid fafo (fa'atagaina auala i fafo, faʻamatalaina i faila faʻatulagaina i se gagana C-pei, e faʻatupuina le tele o upu faʻamaonia e faʻavae i luga o "upu" faavae taʻitasi maua mai se isi faiga). E le gata i lea, o nisi o auala fou fa'apitoa i fafo.
  • Fa'aopoopo vaega mo le fa'aogaina o le tele o auala i le taimi e tasi (tasi i luga o le isi - fa'aputu), fa'apea fo'i ma le fa'aogaina o seti o tulafono (fa'apipi'i tulafono lisi o upu).
  • Faʻaleleia faiga faʻalelei (faʻasolosolo malie o le matapulepule i se laina faʻapitoa o umi, faʻaogaina o se matapulepule i le itu o le OpenCL masini poʻo le FPGA board) ma le taʻe tasi (amio talafeagai i luga o masini e faʻatatauina le tele o hashes i le tutusa. , lea sa leʻi lava faʻamaonia upu faʻamaonia i lenei faiga, faʻapea foʻi ma tapulaʻa i le taumafaina manatua).
  • Le tele o faʻaleleia e lagolago ai le Unicode ma isi faʻasologa i vaega laiti eseese.
  • Le tele o faʻaleleia i polokalame *2john (faaliliuina faila o faatulagaga eseese mo
    faʻaoga ma john), aemaise lava wpapcap2john (taulima le WiFi feʻaveaʻi).

  • E tele filifiliga fou laina, faʻatulagaina i john.conf, faʻatulagaina filifiliga o tusitusiga ma foliga fou e fetaui, e le o mea uma na taʻua iinei.
  • Faʻaleleia le faʻaogaina o le code faʻafetai i le lagolago faʻapipiʻiina mo le faʻapipiʻiina o le faʻaogaina ma le AddressSanitizer (muamua) ma le UndefinedBehaviorSanitizer (faʻaopoopoina), faʻaopoopoina se fuzzer faʻapipiʻiina (o se vaega o le GSoC 2015), faʻaaoga faʻaauau le tuʻufaʻatasia (fausia mo le tele o faiga faʻaogaina ma le tuʻufaʻatasia. tu'ufa'atasiga ma su'esu'e mo le lagolago sa'o mo fa'asologa uma).

puna: opennet.ru

Faaopoopo i ai se faamatalaga