John the Ripper 1.9.0-jumbo-1 miaraka amin'ny fanohanan'ny FPGA

navoaka dikan-teny vaovao amin'ny programa faminavina tenimiafina tohanana tranainy indrindra John the Ripper 1.9.0-jumbo-1. (Ny tetikasa dia nivoatra nanomboka tamin'ny 1996.) On pejy tetikasa Misy loharano azo alaina, ary koa ireo fivoriambe efa vita ho an'ny Windows.

Marihina fa 1.8.0 taona no lasa hatramin'ny nivoahan'ny version 1-jumbo-4.5, izay nahitana fanovana maherin'ny 6000 (git commits) natao tamin'ny mpamorona 80 mahery. Nandritra io vanim-potoana io, ny mpamorona dia nanoro hevitra ny hampiasa fanontana ankehitriny avy amin'ny GitHub, izay nitazona ny filaminana na dia teo aza ny fanovana natao noho ny fampidirana mitohy, izay ahitana fanamarinana mialoha ny fanovana tsirairay (fangatahana fisarihana) amin'ny sehatra maro. Ny endri-javatra manokana amin'ny dikan-teny vaovao dia ny fisehoan'ny fanohanana ny FPGA (FPGA) ankoatry ny CPU, GPU ary Xeon Phi.


Ho an'ny boards ZTEX 1.15y, anisan'izany ny 4 FPGA chips ary nampiasaina indrindra indrindra ho an'ny fitrandrahana Bitcoin, karazana tenimiafina 7 no ampiharina ankehitriny: bcrypt, descrypt mahazatra (anisan'izany ny bigcrypt), sha512crypt, sha256crypt, md5crypt (anisan'izany ny Apache apr1 sy AIX smd5), Drupal7 ary phpass (ampiasaina). , indrindra amin'ny WordPress). Ny sasany amin'izy ireo dia ampiharina amin'ny FPGA voalohany. Ho an'ny bcrypt, ny fahombiazan'ny ~ 119k c / s miaraka amin'ny 2 ^ 5 iterations ("$ 2b $ 05") miaraka amin'ny fanjifana herinaratra eo amin'ny 27 watts dia mihoatra lavitra noho ny vokatra ho an'ny GPU farany isaky ny board, isaky ny vidin'ny fitaovana ary isaky ny watt. Tohanana koa sampahony amin'ny boards amin'ity karazana ity, izay nosedraina hatramin'ny 16 boards (64 FPGAs) voafehy avy amin'ny Raspberry Pi 2. Ny fampiasa mahazatra an'i John the Ripper dia tohanana, ao anatin'izany ny maodely maminavina ny tenimiafina rehetra sy ny fampidinana miaraka amin'ny hashes marobe. Mba hanafainganana ny asa dia nampiharina ny fampiasana saron-tava (ny maodely "--mask", ao anatin'izany miaraka amin'ny maodely hafa) sy ny fampitahana ny hash kajy miaraka amin'ireo entana amin'ny lafiny FPGA. Amin'ny fomba fijery fampiharana, maro amin'ireo endrika (oh. sha512crypt sy Drupal7) blocs ahitana cores processeur maromaro (cores CPU malefaka) mifandray amin'ny cores cryptographic no ampiasaina. Ny fampandrosoana an'io fampiasa io dia notarihin'i Denis Burykin tamin'ny fiaraha-miasa tamin'ireo mpamorona jumbo hafa.

Fiovana lehibe hafa:

  • Fanohanana karazana hashes, ciphers, sns., anisan'izany ny hash tenimiafina mahazatra (ohatra, avy amin'ny dikan-teny vaovao amin'ny QNX), ary koa ny kitapom-bola crypto, arisiva miafina ary rafi-drakitra misy miafina (ohatra, Bitlocker sy FreeBSD geli), ary koa ny fanohanana ireo karazana endrika vaovao notohanana teo aloha (ohatra, fanampiana fanampiny ho an'ny bcrypt-pbkdf ho an'ny OpenBSD softraid) sy ny maro hafa. Amin'ny fitambarany, endrika 80 no nampiana tamin'ny CPU ary 47 tamin'ny OpenCL (ary vitsy ny taloha no nesorina ho tafiditra ao anaty vaovao sy lany andro). Ny totalin'ny format dia 407 amin'izao fotoana izao ao amin'ny CPU (na 262 tsy tafiditra ao anatin'izany ny endrika "dynamique" namboarina avy amin'ny rakitra fanamafisana) ary 88 amin'ny OpenCL.
  • Ny fandavana ny hanohana ny fiteny CUDA ho fanohanana ny OpenCL, izay tsy manelingelina velively ny fampiasana feno ny NVIDIA GPUs (ary manampy mihitsy aza, noho ny fifantohana amin'ny fampandrosoana sy ny fanatsarana amin'ny fampiharana iray isaky ny endrika ho an'ny GPU fa tsy fampiharana roa teo aloha).
  • Fanohanana ireo andiana torolàlana SIMD vaovao - AVX2, AVX-512 (anisan'izany ny Xeon Phi taranaka faharoa) sy MIC (ho an'ny taranaka voalohany) - ary koa ny fampiasana SIMD amin'ny ankapobeny sy feno amin'ny fampiharana endrika maro, anisan'izany ny fampiasana toromarika tohanan'ny teo aloha dia mametraka ny AVX sy XOP amin'ny x86(-64) ary
    NEON, ASIMD ary AltiVec amin'ny ARM, Aarch64 ary POWER. (Ampahany amin'ny GSoC 2015.)
  • Fanatsarana be dia be ho an'ny CPU sy OpenCL, samy miasa tsara kokoa miaraka amin'ny hash marobe miaraka (ohatra, ny fametrahana 320 tapitrisa SHA-1 hashes amin'ny GPU dia nosedraina), ary mba hampitombo ny hafainganam-pandehan'ny kajy hash. Ny sasany amin'ireo fanatsarana ireo dia manerana izao rehetra izao, ny sasany dia mandrakotra ny ampahany amin'ny endrika samihafa, ary ny maro dia manokana ho an'ny endrika tsirairay.
  • (Auto-) configuration amin'ny buffering tsara indrindra amin'ny tenimiafina voamarina ao amin'ny CPU (“—tune=auto —verbosity=5”) sy ny haben'ny asa tsara indrindra amin'ny OpenCL (azo atao amin'ny alàlan'ny default), ao anatin'izany ny fijerena ny fiakaran'ny NVIDIA GTX miadana. GPU andiany amin'ny fampandehanana feno 10xx ary vao haingana. Mampiasa tenifototra tena feno entana sy ny tena halavan'ny tenimiafina voamarika (rehefa fantatra mialoha izany) ho an'ny fanitsiana mandeha ho azy.
  • Mampiditra compiler ho an'ny "expression dynamique" voafaritra mivantana amin'ny baikon'ny baiko sy fampiharana karazana hash hybrid vaovao, ohatra "-format=dynamic='sha1(md5($p).$s)'", kajy amin'ny CPU mampiasa SIMD . Amin'ny maha singa amin'ny fitenenana toy izany dia tohanana am-polony haingana no tohanana (avy amin'ny mahazatra toa ny MD5 ka hatramin'ny exotic antonony toa an'i Whirlpool), concatenation substring, encoding sy decoding, fiovam-po amin'ny endri-tsoratra, references amin'ny tenimiafina, sira, solonanarana ary tsy tapaka ny string.
  • Fanafoanana ny fahasamihafana tsy ilaina amin'ny hashcat, ao anatin'izany ny fanohanana ireo fitsipika manokana hashcat teo aloha (baiko fitsipiky ny lisitry ny teny), ny fifindrana mankany amin'ny fitaovana OpenCL misy laharan'ny 1, ny fampiasana ny halavan'ny tenimiafina mitovy (matetika 7) amin'ny fitsapana fampisehoana.
  • Fomba vaovao hamoronana tenimiafina azo hamarinina (mode mivaky), ao anatin'izany ny PRINCE avy amin'ny hashcat (mamorona "andininy" amin'ny fampifangaroana teny maromaro amin'ny filaharan'ny halavan'ny totaliny), zana-tsipìka (mivoaka ny tenimiafina misy tarehintsoratra tsy ampy, na dia tonga aza ireo endri-tsoratra ireo. avy amin'ny andiana maro azo atao) sy ny hybrid ivelany (mamela ny maodely ivelany, voalaza ao amin'ny rakitra fanamafisana amin'ny fiteny mitovy amin'ny C, hamokatra tenimiafina maro azo hamarinina mifototra amin'ny "teny" fototra tsirairay azo avy amin'ny fomba hafa). Ankoatra izany, maro ny fomba ivelany efa voafaritra mialoha.
  • Fahaizana fanampiny amin'ny fampiasana maody maromaro miaraka (ny iray ambonin'ny iray hafa - stacking), ary koa amin'ny fampiasana andian-dalàna (fitsipika lisitry ny teny stacking).
  • Fanatsarana ny maody saron-tava (fanenjanana tsikelikely ny saron-tava amin'ny halavany voafaritra, fampiharana saron-tava eo amin'ny sisin'ny fitaovana OpenCL na birao FPGA) ary vaky tokana (fitondran-tena mety amin'ny fitaovana izay mikajy hash marobe mifanitsy. , izay teo aloha dia tsy ampy ny tenimiafina azo hamarinina amin'ity fomba ity, ary koa ny famerana ny fanjifana fahatsiarovana).
  • Fanatsarana maro hanohanana ny Unicode sy ny fanovàna hafa amin'ny subsystem isan-karazany.
  • Fanatsarana maro amin'ny programa *2john (izay mamadika rakitra amin'ny endrika samihafa ho an'ny
    ampiasao miaraka amin'i john), indrindra fa ny wpapcap2john (mitantana ny fifamoivoizana WiFi).
  • Betsaka ny safidy andalana baiko vaovao, fikandrana ao amin'ny john.conf, amboary ny safidy script ary ireo endri-javatra vaovao mifanaraka amin'izany, fa tsy ny rehetra no voalaza eto.
  • Fanatsarana ny kalitaon'ny kaody noho ny fanohanana naorina ho an'ny fananganana debug miaraka amin'ny AddressSanitizer (teo aloha) sy UndefinedBehaviorSanitizer (ampiana), manampy fuzzer endrika namboarina (amin'ny ampahany amin'ny GSoC 2015), amin'ny fampiasana fampidirana mitohy (manorina ho an'ny rafitra miasa sy mpamoron-javatra am-polony. fitambarana ary andramana azy ireo mba hahazoana fanohanana marina amin'ny endrika rehetra).

Source: linux.org.ru

Add a comment