John the Ripper 1.9.0-jumbo-1 met FPGA-ondersteuning

Vrygestel nuwe weergawe van die oudste ondersteunde wagwoordkraker John the Ripper 1.9.0-jumbo-1. (Die projek ontwikkel sedert 1996.) projek bladsy bronne is beskikbaar vir aflaai, sowel as gereedgemaakte samestellings vir Windows.

Daar word kennis geneem dat 1.8.0 jaar verloop het sedert die vrystelling van weergawe 1-jumbo-4.5, waartydens meer as 6000 veranderinge (git commits) van meer as 80 ontwikkelaars gemaak is. Gedurende hierdie tydperk het die ontwikkelaars aanbeveel om huidige hersiening vanaf GitHub, waarvan die toestand stabiel gehandhaaf is ondanks die veranderinge wat gemaak is danksy deurlopende integrasie, wat 'n voorlopige kontrole van elke verandering (trekversoek) op baie platforms insluit. 'n Kenmerk van die nuwe weergawe is die opkoms van ondersteuning vir FPGA (FPGA) bykomend tot die SVE, GPU en Xeon Phi.


Vir planke Ztex 1.15j, wat 4 FPGA-skyfies ingesluit het en oorspronklik hoofsaaklik vir Bitcoin-mynbou gebruik is, word nou 7 tipes wagwoord-hashes geïmplementeer: bcrypt, classic descrypt (insluitend bigcrypt), sha512crypt, sha256crypt, md5crypt (insluitend Apache apr1 en AIX smd5), Drupal7 en phpass (gebruik, veral in WordPress). Sommige van hulle word vir die eerste keer op FPGA geïmplementeer. Vir bcrypt presteer die behaalde werkverrigting van ~119k c/s by 2^5 iterasies ("$2b$05") met 'n kragverbruik van ongeveer 27 watt aansienlik beter as die nuutste GPU's per bord, per hardewareprys en per watt. Ook ondersteun trosse van planke van hierdie tipe, wat tot 16 borde (64 FPGA's) getoets het wat vanaf een Raspberry Pi 2 beheer word. Die gewone John the Ripper-funksionaliteit word ondersteun, insluitend alle wagwoordraaimodusse en gelyktydige aflaai van 'n groot aantal hashes. Om die werk te bespoedig, het ons die gebruik van 'n masker ("--masker"-modus geïmplementeer, insluitend in kombinasie met ander modusse) en vergelyking van die berekende hashes met dié wat op die FPGA-kant gelaai is. In terme van implementering, in baie van die ontwerpe (byvoorbeeld, vir sha512crypt en Drupal7) gebruik blokke wat bestaan ​​uit multi-draad verwerker kerne (sagte CPU kerne) in wisselwerking met kriptografiese kerne. Die ontwikkeling van hierdie funksionaliteit is gelei deur Denis Burykin in samewerking met ander jumbo-ontwikkelaars.

Ander groot veranderinge:

  • Ondersteuning vir 'n groot aantal bykomende tipes hashes, syfers, ens., insluitend beide klassieke wagwoord-hashes (byvoorbeeld van nuwe weergawes van QNX), en cryptocurrency-beursies, geënkripteerde argiewe en geënkripteerde lêerstelsels (byvoorbeeld Bitlocker en FreeBSD geli ), sowel as ondersteuning vir nuwe variëteite van formate wat voorheen ondersteun is (byvoorbeeld, bcrypt-pbkdf ondersteuning vir OpenBSD softraid is bygevoeg) en nog baie meer. In totaal is 80 formate bygevoeg op die SVE en 47 op OpenCL (en 'n klein aantal oues is verwyder as geïntegreer in nuwe en verouderde). Die totale aantal formate is nou 407 op die SVE (of 262 sonder "dinamiese" formate wat vanaf konfigurasielêers opgestel is) en 88 op OpenCL.
  • Verwydering van CUDA-taalondersteuning ten gunste van OpenCL, wat nie in die minste inmeng met die volle gebruik van die NVIDIA GPU nie (en selfs help, danksy die fokus van ontwikkeling en optimalisering op een implementering van elke formaat onder die GPU in plaas van twee implementerings voorheen).
  • Ondersteuning vir nuwe SIMD-instruksiestelle - AVX2, AVX-512 (insluitend vir die tweede generasie Xeon Phi) en MIC (vir die eerste generasie) - sowel as meer universele en volledige gebruik van SIMD in implementering van baie formate, insluitend die gebruik van voorheen ondersteunde instruksiestelle tot AVX en XOP op x86(-64) en
    NEON, ASIMD en AltiVec op onderskeidelik ARM, Aarch64 en POWER. (Gedeeltelik binne GSoC 2015.)
  • Talle optimaliserings vir CPU en OpenCL, beide om meer doeltreffend te werk met 'n groot aantal hashes op dieselfde tyd (byvoorbeeld om 320 miljoen SHA-1 hashes op die GPU te laai) en om die spoed van hash-berekening te verhoog. Sommige van hierdie optimaliserings is universeel, sommige dek verskeie substelle formate, en baie is formaatspesifiek.
  • (Outo-)instelling van optimale buffering van gekontroleerde wagwoorde op die SVE ("-tune=auto --verbosity=5") en optimale werkdimensies op OpenCL (by verstek geaktiveer), insluitend die stadige herstel na die volle werking frekwensie van NVIDIA GTX reeks GPU's 10xx en nuwer. Gebruik van werklike gelaaide hashes en werklike lengte van gekontroleerde wagwoorde (wanneer dit vooraf bekend is) vir sulke outo-instelling.
  • Die byvoeging van 'n "dinamiese uitdrukkings" samesteller wat direk op die opdragreël gespesifiseer word en nuwe hibriede hash-tipes implementeer, byvoorbeeld "--format=dynamic='sha1(md5($p).$s)'", bereken op die SVE SIMD gebruik. Tientalle vinnige hashes (van gewones soos MD5 tot effens eksotiese soos Whirlpool), substring-aaneenskakeling, enkodering en dekodering, omskakeling van karakterletters, wagwoordverwysings, sout, gebruikernaam en stringkonstantes word as komponente van sulke uitdrukkings ondersteun.
  • Uitskakeling van ongewenste verskille van hashcat, insluitend ondersteuning vir voorheen hashcat-spesifieke woordlysreëlopdragte, oorskakeling na OpenCL-toestelnommering vanaf 1, met dieselfde verstekwagwoordlengtes (gewoonlik lengte 7) vir prestasietoetse.
  • Nuwe kraakmodusse, insluitend PRINCE van hashcat (genereer "frases" deur veelvuldige woorde in stygende volgorde van totale lengte aaneen te koppel), subversamelings (bring wagwoorde met nie genoeg verskillende karakters nie, selfs al kom daardie karakters uit 'n groot stel moontlikes) en hibriede eksterne (laat eksterne modusse, beskryf in konfigurasielêers in C-agtige taal, baie verifieerbare wagwoorde genereer gebaseer op elke basis "woord" wat van 'n ander modus ontvang word). Ook verskeie nuwe voorafbepaalde eksterne modusse.
  • Bykomende kenmerke vir die gebruik van verskeie modusse op dieselfde tyd (een bo-op die ander - stapeling), sowel as vir sulke gebruik van reëlstelle (woordlysreëls stapel).
  • Verbeterings aan die maskermodusse (geleidelike maskerstrek in die gespesifiseerde reeks lengtes, die toepassing van die masker aan die kant van 'n OpenCL-toestel of FPGA-bord) en enkele kraak (redelike gedrag op toestelle wat 'n groot aantal hashes in parallel bereken, wat voorheen in hierdie modus ontbreek wagwoorde om na te gaan, en ook beperkings op geheueverbruik).
  • Baie verbeterings in ondersteuning vir Unicode en ander enkoderings in verskeie substelsels.
  • Baie verbeterings aan *2john-programme (omskakeling van lêers van verskillende formate na
    gebruik saam met john), veral wpapcap2john (hanteer WiFi-verkeer).
  • Baie nuwe opdragreëlopsies, john.conf-instellings, konfigurasie van skripopsies en hul ooreenstemmende nuwe kenmerke, wat nie almal hier genoem is nie.
  • Verbetering van kodekwaliteit as gevolg van ingeboude ondersteuning vir ontfoutbou met AddressSanitizer (voorheen) en UndefinedBehaviorSanitizer (bygevoeg), voeg 'n ingeboude formaat fuzzer by (binne GSoC 2015), deur gebruik te maak van deurlopende integrasie (bou vir dosyne bedryfstelsel- en samestellerkombinasies en toets hulle vir korrekte ondersteuning van alle formate).

Bron: linux.org.ru

Voeg 'n opmerking