John the Ripper 1.9.0-jumbo-1 ka tšehetso ea FPGA

E lokollotsoe mofuta o mocha oa lenaneo la khale ka ho fetesisa la ho hakanya phasewete John the Ripper 1.9.0-jumbo-1. (Projeke esale e tsoela pele ho tloha ka 1996.) Tsoela pele leqephe la morero Mehloli e teng bakeng sa ho khoasolla, hammoho le likopano tse seng li entsoe tsa Windows.

Hoa hlokomeloa hore ho se ho fetile lilemo tse 1.8.0 ho tloha ha ho lokolloa phetolelo ea 1-jumbo-4.5, moo liphetoho tse fetang 6000 (git commits) li entsoeng ho tsoa ho baetsi ba fetang 80. Nakong ena, bahlahisi ba khothalelitse ho sebelisa khatiso ea hajoale ho tsoa ho GitHub, boemo ba eona bo ile ba lula bo tsitsitse ho sa tsotellehe liphetoho tse entsoeng liteboho ho kopanyo e tsoelang pele, e kenyelletsang netefatso ea pele ea phetoho e 'ngoe le e' ngoe (ho hula kopo) ho li-platform tse ngata. Karolo e ikhethang ea mofuta o mocha ke ponahalo ea tšehetso bakeng sa FPGA (FPGA) ho kenyelletsa CPU, GPU le Xeon Phi.


Bakeng sa mapolanka ZTEX 1.15y, ho kenyelletsa le li-chips tsa 4 FPGA 'me qalong e ne e sebelisoa haholo-holo bakeng sa merafo ea Bitcoin, mefuta e 7 ea li-password hashes e se e sebelisoa: bcrypt, classic descrypt (ho akarelletsa le bigcrypt), sha512crypt, sha256crypt, md5crypt (ho akarelletsa le Apache apr1 le AIX smd5), Drupal7 le phpass (e sebelisitsoeng). , haholo-holo ka WordPress). Tse ling tsa tsona li kengoa ts'ebetsong ho FPGA lekhetlo la pele. Bakeng sa bcrypt, ts'ebetso e fihletsoeng ea ~ 119k c/s ka 2^ 5 iterations ("$ 2b $ 05") ka tšebeliso ea matla e ka bang 27 watts e feta haholo liphetho tsa li-GPU tsa morao-rao ka boto, ka theko ea hardware le watt ka 'ngoe. E boetse e tšehetsoa lihlopha ea mapolanka a mofuta ona, a lekiloeng ho fihlela ho mapolanka a 16 (64 FPGAs) a laoloang ho tloha ho Raspberry Pi 2 e le 'ngoe. Ts'ebetso e tloaelehileng ea John the Ripper e tšehetsoa, ​​ho kenyelletsa le mekhoa eohle ea ho nahana ka password le ho kopitsa ka nako e le 'ngoe ea palo e kholo ea li-hashes. Ho potlakisa mosebetsi, re kentse ts'ebeliso ea mask (mokhoa oa "--mask", ho kenyeletsoa hammoho le mekhoa e meng) le ho bapisa li-hashes tse baloang le tse jereng lehlakoreng la FPGA. Ho latela pono ea ts'ebetsong, meralo e mengata (mohlala. sha512crypt le Drupal7) li-blocks tse nang le li-processor cores tse nang le likhoele tse ngata (li-soft CPU cores) tse sebelisanang le li-cryptographic cores li sebelisoa. Nts'etsopele ea ts'ebetso ena e etelletsoe pele ke Denis Burykin ka tšebelisano le bahlahisi ba bang ba jumbo.

Liphetoho tse ling tse kholo:

  • Ts'ehetso bakeng sa palo e kholo ea mefuta e meng ea li-hashes, li-ciphers, joalo-joalo, ho kenyelletsa le li-hashes tsa khale tsa khale (mohlala, ho tsoa liphetolelong tse ncha tsa QNX), hammoho le li-wallet tsa cryptocurrency, li-archives tse patiloeng le litsamaiso tsa faele tse patiloeng (mohlala, Bitlocker le FreeBSD geli), hammoho le ts'ehetso ea mefuta e mecha ea liforomo tse neng li tšehelitsoe pele (mohlala, tšehetso e ekelitsoeng bakeng sa bcrypt-pbkdf bakeng sa OpenBSD softraid) le tse ling tse ngata. Ka kakaretso, liforomo tse 80 li kentsoe ho CPU le 47 ho OpenCL ('me palo e nyane ea khale e tlositsoe e kopantsoe le tse ncha le tse sa sebetseng). Palo eohle ea lifomate e se e le 407 ho CPU (kapa 262 e sa kenyelletse lifomate tse "dynamic" tse hlophisitsoeng ho tsoa lifaeleng tsa tlhophiso) le 88 ho OpenCL.
  • Ho hana ho ts'ehetsa puo ea CUDA molemong oa OpenCL, eo ho hang ha e sitise ts'ebeliso e felletseng ea NVIDIA GPUs (ebile e thusa, ka lebaka la ho tsepamisa maikutlo ho nts'etsopele le ntlafatso ts'ebetsong e le 'ngoe ea sebopeho ka seng bakeng sa GPU ho fapana le ts'ebetsong tse peli tse fetileng).
  • Ts'ehetso bakeng sa lisebelisoa tse ncha tsa litaelo tsa SIMD - AVX2, AVX-512 (ho kenyeletsoa moloko oa bobeli Xeon Phi) le MIC (bakeng sa moloko oa pele) - hammoho le ts'ebeliso e felletseng le e felletseng ea SIMD ts'ebetsong ea liforomo tse ngata, ho kenyelletsa ts'ebeliso ea taeo e neng e tšehetsoa pele e theha ho AVX le XOP ho x86 (-64) le
    NEON, ASID le AltiVec ho ARM, Aarch64 le POWER, ka ho latellana. (Harolo e le karolo ea GSoC 2015.)
  • Lintlafatso tse ngata bakeng sa CPU le OpenCL, ka bobeli ho sebetsa ka katleho le palo e kholo ea li-hashe ka nako e le 'ngoe (mohlala, ho lekoa ho kenya li-hashe tse limilione tse 320 ho GPU), le ho eketsa lebelo la lipalo tsa hash. Tse ling tsa lintlafatso tsena ke tsa bokahohleng, tse ling li koahela liforomo tse fapaneng, 'me tse ngata li tobane le lifomate tsa motho ka mong.
  • (Auto-) tlhophiso ea ho boloka li-password tse hlahlobiloeng ho CPU (“—tune=auto —verbosity=5”) le boholo bo nepahetseng ba mosebetsi ho OpenCL (e nolofalitsoeng ke kamehla), ho kenyeletsoa ho ela hloko ho nyoloha butle ha NVIDIA GTX. letoto la li-GPU ho isa maqhubu a ts'ebetso a 10xx le ho feta. Ho sebelisa li-hashes tse laetsoeng le bolelele ba 'nete ba li-password tse hlahlojoang (ha li tsejoa esale pele) bakeng sa tokiso e joalo ea boiketsetso.
  • Ho kenya sekopanyi bakeng sa "dynamic expressions" e boletsoeng ka kotloloho moleng oa taelo le ho kenya tšebetsong mefuta e mecha ea li-hash, mohlala "-format=dynamic='sha1(md5($p).$s)'", e baloang ho CPU ho sebelisoa SIMD. . E le likarolo tsa lipolelo tse joalo, li-hashes tse ngata tse potlakileng li tšehetsoa (ho tloha ho tse tloaelehileng tse kang MD5 ho ea ho tse sa tloaelehang tse kang Whirlpool), concatenation ea substring, encoding le decoding, phetolelo ea litlhaku, litemana tsa password, letsoai, lebitso la mosebedisi le likhoele tse tsitsitseng.
  • Ho felisoa ha liphapang tse sa batleheng ho tloha ho hashcat, ho kenyelletsa le ts'ehetso bakeng sa melao e tobileng ea hashcat (litaelo tsa melao ea mantsoe), ho fetela ho nomoro ea sesebelisoa sa OpenCL ho tloha ho 1, tšebeliso ea kamehla ea bolelele bo tšoanang ba password (hangata bolelele ba 7) bakeng sa liteko tsa ts'ebetso.
  • Mekhoa e mecha ea ho hlahisa li-passwords tse netefalitsoeng (mekhoa ea ho qhekella), ho kenyelletsa le PRINCE ho tloha hashcat (liforomo "lipoleloana" ka ho kopanya mantsoe a 'maloa ka tatellano e ntseng e eketseha ea bolelele bohle), li-subsets (ho hlahisa li-password tse nang le palo e sa lekaneng ea litlhaku tse fapaneng, leha litlhaku tsena li tla. ho tloha sehlopheng se seholo sa tse ka khonehang) le lebasetere la ka ntle (e lumella mekhoa ea ka ntle, e hlalositsoeng lifaeleng tsa tlhophiso ka puo e kang C, ho hlahisa li-passwords tse ngata tse ka netefatsoang ho latela "lentsoe" le leng le le leng la motheo le amoheloang ho tsoa mokhoeng o mong). Hape, mekhoa e mengata e mecha e hlalositsoeng esale pele.
  • Likarolo tse eketsehileng bakeng sa ho sebelisa mekhoa e mengata ka nako e le 'ngoe (e' ngoe ka holim'a e 'ngoe - stacking), hammoho le ho sebelisa lihlopha tsa melao (lenane la mantsoe la melao ea stacking).
  • Lintlafatso tsa mekhoa ea mask (ho otlolla mask butle-butle ka bolelele bo itseng, ts'ebeliso ea mask ka lehlakoreng la sesebelisoa sa OpenCL kapa boto ea FPGA) le crack e le 'ngoe (boitšoaro bo loketseng ho lisebelisoa tse balang palo e kholo ea li-hashes ka ho tšoana. , eo pele ho moo ho neng ho se na li-passwords tse netefalitsoeng ka mokhoa ona, hammoho le lithibelo tsa tšebeliso ea memori).
  • Lintlafatso tse ngata ho ts'ehetsa Unicode le li-encodings tse ling lits'ebetsong tse fapaneng tse fapaneng.
  • Lintlafatso tse ngata ho mananeo a *2john (a fetolelang lifaele tsa lifomate tse fapaneng bakeng sa
    sebelisa le john), haholo-holo wpapcap2john (e sebetsana le sephethephethe sa WiFi).
  • Ho na le likhetho tse ngata tse ncha tsa taelo, litlhophiso ho john.conf, lokisa likhetho tsa script le likarolo tse ncha tse tsamaisanang, eseng kaofela tse boletsoeng mona.
  • Ho ntlafatsa boleng ba khoutu ka lebaka la ts'ehetso e hahelletsoeng bakeng sa meaho ea debug e nang le AddressSanitizer (pele) le UndefinedBehaviorSanitizer (e kenyellelitsoe), e kenyelletsa fuzzer e hahelletsoeng kahare (e le karolo ea GSoC 2015), e sebelisa khokahano e tsoelang pele (e hahela lits'ebetso tse ngata tsa ts'ebetso le komporo. kopanya le ho li leka bakeng sa tšehetso e nepahetseng bakeng sa lifomate tsohle).

Source: linux.org.ru

Eketsa ka tlhaloso