John the Ripper 1.9.0-jumbo-1 ine FPGA rutsigiro

Yakasunungurwa vhezheni itsva yekare yakatsigirwa password yekufungidzira chirongwa John the Ripper 1.9.0-jumbo-1. (Chirongwa ichi chave kugadzirwa kubva 1996.) On peji yeprojekiti Zvinyorwa zviripo zvekurodha, pamwe nemagungano akagadzirira eWindows.

Zvinocherechedzwa kuti makore 1.8.0 apfuura kubva pakaburitswa vhezheni 1-jumbo-4.5, panguva iyo inodarika zviuru zvitanhatu shanduko (git commits) yakagadzirwa kubva kune vanopfuura makumi masere vanogadzira. Munguva iyi, vagadziri vanokurudzira kushandisa yazvino edition kubva kuGitHub, iyo mamiriro ayo akachengetwa akagadzikana kunyangwe shanduko dzakaitwa kutenda kuenderera mberi kubatanidzwa, iyo inosanganisira yekutanga kuongororwa kweshanduko yega yega (kudhonza chikumbiro) pamapuratifomu mazhinji. Chinhu chakakosha cheiyo vhezheni itsva kutaridzika kwerutsigiro rweFPGA (FPGA) mukuwedzera kune CPU, GPU uye Xeon Phi.


Zvemapuranga ZTEX 1.15y, kusanganisira 4 FPGA chips uye yakatanga kushandiswa kunyanya kuBitcoin mining, 7 marudzi e password hashes ave kushandiswa: bcrypt, classic descrypt (kusanganisira bigcrypt), sha512crypt, sha256crypt, md5crypt (kusanganisira Apache apr1 uye AIX smd5), Drupal7 uye phpass (yakashandiswa , kunyanya muWordPress). Mamwe acho anoitwa paFPGA kekutanga. Kune bcrypt, kuita kwaitwa kwe ~ 119k c/s ne 2 ^ 5 iterations ("$ 2b $ 05") ine simba rekushandisa rinosvika makumi maviri nenomwe watts rinopfuura zvakanyanya mhedzisiro yeazvino maGPU pabhodhi, pamutengo wehardware uye pawatt. Uyewo inotsigirwa masumbu yemapuranga emhando iyi, iyo yakaedzwa kusvika kumapuranga e16 (64 FPGAs) inodzorwa kubva kune imwe chete Raspberry Pi 2. Izvo zvinowanzoitwa naJohn the Ripper kushanda kunotsigirwa, kusanganisira nzira dzose dzekufungidzira password uye panguva imwe chete kurodha kwenhamba yakawanda yehashi. Kuti tikurumidze basa, takaita kushandiswa kwemask (iyo "--mask" modhi, kusanganisira musanganiswa nemamwe modhi) uye kuenzanisa kweakaverengerwa hashes neaya akaiswa padivi reFPGA. Kubva pakuona kwekuita, akawanda emagadzirirwo (e.g. sha512crypt uye Drupal7) zvidhinha zvinosanganisira multi-threaded processor cores (soft CPU cores) inopindirana nekriptographic cores inoshandiswa. Kuvandudzwa kwekushanda uku kwakatungamirirwa naDenis Burykin mukubatana nevamwe vanogadzira jumbo.

Dzimwe shanduko huru:

  • Tsigiro yehuwandu hukuru hwemamwe marudzi ehashes, ciphers, nezvimwewo, kusanganisira ese ari maviri echinyakare password hashes (semuenzaniso, kubva kushanduro itsva dzeQNX), pamwe nekriptocurrency wallet, encrypted archives uye encrypted file system (semuenzaniso, Bitlocker uye. FreeBSD geli), pamwe nerutsigiro rwemhando nyowani dzefomati dzakambotsigirwa (semuenzaniso, yakawedzera rutsigiro rwebcrypt-pbkdf yeOpenBSD softraid) nezvimwe zvakawanda. Pakazara, 80 mafomati akawedzerwa paCPU uye makumi mana nenomwe paOpenCL (uye nhamba diki yekare yakabviswa sekubatanidzwa mune itsva uye isingachashandiswi). Huwandu hwemafomati hwave 47 paCPU (kana 407 isingasanganisire "simba" mafomati akagadziriswa kubva kumafaira ekugadzirisa) uye 262 paOpenCL.
  • Kuramba kutsigira mutauro weCUDA uchifarira OpenCL, iyo isingakanganise kushandiswa kwakazara kweNVIDIA GPUs (uye inotobatsira, nekuda kwekutarisa kusimudzira uye optimization pane imwe chete yekuitwa kwega rega fomati yeGPU pane maviri ekuita kare).
  • Tsigiro yemaseti matsva emirairo yeSIMD - AVX2, AVX-512 (kusanganisira yechizvarwa chechipiri Xeon Phi) uye MIC (yechizvarwa chekutanga) - pamwe nekushandiswa kwepasirese uye kwakazara kweSIMD mukuita mafomati akawanda, kusanganisira kushandiswa kwe. raimbo rakatsigirwa rairo rinoisa kuAVX uye XOP pa x86 (-64) uye
    NEON, ASID uye AltiVec paARM, Aarch64 uye POWER, zvichiteerana. (Zvimwe sechikamu cheGSoC 2015.)
  • Kwakawanda optimizations yeCPU neOpenCL, zvese kushanda nesimba nehuwandu hukuru hwehashi panguva imwe chete (semuenzaniso, kurodha 320 miriyoni SHA-1 hashes paGPU yakaedzwa), uye kuwedzera kukurumidza kwekuverenga hashi. Mamwe eaya ma optimizations ari epasirese, mamwe anovhara akasiyana mafomati mafomati, uye mazhinji akananga kune ega mafomati.
  • (Otomatiki-) gadziriso yeyakakwana buffering yemapassword akatariswa paCPU (β€œ-tune=auto-verbosity=5”) uye akakwana saizi yebasa paOpenCL (inogoneswa neiyo default), kusanganisira kurangarira kunonoka-up kweNVIDIA GTX. akatevedzana maGPU kusvika kuzere kushanda frequency 10xx uye nyowani. Kushandisa maheshi akaremerwa uye hurefu chaihwo hwemapassword ari kutariswa (kana achinge azivikanwa pachine nguva) kune akadaro auto-tuning.
  • Kuwedzera compiler ye "dynamic expressions" inotsanangurwa zvakananga pamutsara wekuraira uye kushandisa mhando nyowani dzehybrid hashi, semuenzaniso "-format=dynamic='sha1(md5($p).$s)'", yakaverengerwa paCPU uchishandisa SIMD. . Sezvikamu zvekutaura kwakadaro, akawanda ekukurumidza hashe anotsigirwa (kubva kune akajairwa seMD5 kune ane mwero ekunze seWhirlpool), substring concatenation, encoding uye decoding, hunhu kutendeuka, mareferensi password, munyu, zita rekushandisa uye tambo zvinoramba.
  • Kubvisa misiyano isingadikanwi kubva kuhashcat, kusanganisira tsigiro yeyaimbova hashcat-yakananga mitemo (wordlist mutemo mirairo), shanduko kuenda kuOpenCL mudziyo wenhamba kubva pa1, default kushandiswa kwehurefu hwepasiwedhi imwechete (kazhinji kureba 7) yebvunzo dzekuita.
  • Mamiriro matsva ekugadzira mapassword anovimbiswa (mamodhi ekupwanya), kusanganisira PRINCE kubva kuhashcat (mafomu "mitsara" nekubatanidza mazwi akati wandei mukuwedzera kurongeka kwehurefu hwakazara), subsets (inounza mapassword ane nhamba isina kukwana yemavara akasiyana, kunyangwe mavara aya akauya. kubva kune yakakura seti yezvinogona kuitika) uye yakasanganiswa yekunze (inobvumira ekunze modhi, inotsanangurwa mumafaira ekugadzirisa mumutauro wakafanana neC, kuburitsa akawanda evhavhavha anovimbika zvichibva pane imwe neimwe yekutanga "izwi" rinogamuchirwa kubva kune imwe modhi). Zvakare, akati wandei matsva akafanotsanangurwa ekunze modhi.
  • Kuwedzera masimba ekushandisa akawanda modes panguva imwe chete (imwe pamusoro peimwe - stacking), pamwe nekushandisa seti yemitemo (wordlist mitemo stacking).
  • Kuvandudzwa kwemasiki modhi (zvishoma nezvishoma kutambanudza mask mune yakatarwa huwandu hwehurefu, kushandiswa kwemask padivi peOpenCL mudziyo kana FPGA bhodhi) uye kutsemuka kamwe chete (kune musoro maitiro pamidziyo inoverenga nhamba huru yehashi zvakafanana. , iyo yaimbove isina mapassword akakwana anogoneka mune iyi modhi, uye zvakare kurambidzwa pakushandisa ndangariro).
  • Mazhinji kuvandudzwa kutsigira Unicode uye mamwe encodings mune akasiyana subsystems.
  • Magadzirirwo mazhinji kune *2john zvirongwa (zvinoshandura mafaera emhando dzakasiyana dze
    shandisa naJohn), kunyanya wpapcap2john (inobata WiFi traffic).
  • Kune mitsva mitsva yemirairo sarudzo, marongero mujohn.conf, gadzirisa script sarudzo uye inoenderana maitiro matsva, kwete ese akataurwa pano.
  • Kuvandudza kodhi yemhando yekutenda kune yakavakirwa-mukati tsigiro yedebug inovaka neAddressSanitizer (yaimbova) uye UndefinedBehaviorSanitizer (yakawedzerwa), ichiwedzera yakavakirwa-mukati fomati fuzzer (sechikamu cheGSoC 2015), uchishandisa inoenderera kubatanidzwa (inovaka akawanda ekushandisa system uye compiler. kusanganisa uye kudziyedza kuti iwane rutsigiro rwakakwana kune ese mafomati).

Source: linux.org.ru

Voeg