John the Ripper 1.9.0-jumbo-1 cù supportu FPGA

Liberatu nova versione di u più anticu prugramma di guessing password supportatu John the Ripper 1.9.0-jumbo-1. (U prughjettu si sviluppa dapoi u 1996.) On pagina di prughjettu I fonti sò dispunibuli per scaricà, è ancu assemblei pronti per Windows.

Hè nutatu chì 1.8.0 anni sò passati da a liberazione di a versione 1-jumbo-4.5, durante a quale più di 6000 80 cambiamenti (git commits) sò stati fatti da più di sviluppatori XNUMX. Duranti stu periodu, i sviluppatori ricumandenu l'usu edizione attuale da GitHub, u statu di quale hè statu mantinutu stabile malgradu i cambiamenti fatti grazia à integrazione cuntinua, chì include a verificazione preliminare di ogni cambiamentu (pull request) in parechje piattaforme. Una caratteristica speciale di a nova versione hè l'apparizione di supportu per FPGA (FPGA) in più di CPU, GPU è Xeon Phi.


Per tavule ZTEX 1.15y, cumprese 4 chips FPGA è inizialmente utilizati principalmente per a minazione di Bitcoin, 7 tipi di hash di password sò avà implementati: bcrypt, classic descrypt (cumpresu bigcrypt), sha512crypt, sha256crypt, md5crypt (cumpresu Apache apr1 è AIX smd5), Drupal7 è phpass (usatu). , in particulare in WordPress). Certi di elli sò implementati nantu à FPGA per a prima volta. Per bcrypt, a prestazione ottenuta di ~ 119k c / s cù 2 ^ 5 iterazioni ("$ 2b $ 05") cun un cunsumu di energia di circa 27 watts supera significativamente i risultati per l'ultime GPU per scheda, per prezzu di hardware è per watt. Ancu supportatu clusters di tavulini di stu tipu, chì hè statu pruvatu à 16 boards (64 FPGAs) cuntrullati da una sola Raspberry Pi 2. U solitu John the Ripper funziunalità hè supportatu, cumprese tutti i modi di guessing password è scaricamentu simultanea di un gran numaru di hashes. Per accelerà u travagliu, avemu implementatu l'usu di una maschera (u modu "--mask", cumpresu in cumminazione cù altri modi) è a comparazione di i hashes calculati cù quelli caricati in u latu FPGA. Da una perspettiva di implementazione, parechji di i disinni (per es. sha512crypt è Drupal7) i blocchi custituiti da nuclei di processore multi-threaded (cores CPU soft) chì interagiscenu cù nuclei criptografici sò usati. U sviluppu di sta funziunalità hè stata guidata da Denis Burykin in coordinazione cù altri sviluppatori jumbo.

Altri cambiamenti maiò:

  • Supportu per un gran numaru di tippi supplementari di hash, cipher, etc., cumpresi tramindui i classici hash di password (per esempiu, da e novi versioni di QNX), è ancu i portafogli di criptovaluta, l'archivi criptati è i sistemi di schedari criptati (per esempiu, Bitlocker è FreeBSD geli), è ancu supportu per novi tipi di formati supportati prima (per esempiu, aghjustatu supportu per bcrypt-pbkdf per OpenBSD softraid) è assai di più. In totale, 80 furmati sò stati aghjunti nantu à CPU è 47 in OpenCL (è un picculu numeru di vechji sò stati eliminati cum'è integrati in novi è obsoleti). U numeru tutale di furmati hè avà 407 nantu à u CPU (o 262 senza include furmati "dinamici" cunfigurati da i schedarii di cunfigurazione) è 88 in OpenCL.
  • Rifiuta di sustene a lingua CUDA in favore di l'OpenCL, chì in alcun modu interferiscenu cù l'usu pienu di GPU NVIDIA (è ancu aiuta, grazia à u sviluppu è l'ottimisazione di cuncentrazione nantu à una implementazione di ogni formatu per a GPU invece di duie implementazioni prima).
  • Supportu per novi setti di struzzioni SIMD - AVX2, AVX-512 (cumpresu per a seconda generazione Xeon Phi) è MIC (per a prima generazione) - è ancu un usu più universale è cumpletu di SIMD in implementazioni di parechji formati, cumpresu l'usu di set di struzzioni supportati prima à AVX è XOP nantu à x86 (-64) è
    NEON, ASIMD è AltiVec nantu à ARM, Aarch64 è POWER, rispettivamente. (In parte cum'è parte di GSoC 2015.)
  • Numerose ottimisazioni per CPU è OpenCL, tramindui per travaglià in modu più efficace cù un gran numaru di hashes simultaneamente (per esempiu, carica 320 million SHA-1 hashes in a GPU hè statu pruvatu), è per aumentà a velocità di calculi di hash. Alcune di queste ottimisazioni sò universali, alcune coprenu diverse sottogruppi di formati, è parechji sò specifichi per formati individuali.
  • (Auto-)configurazione di buffering ottimali di e password verificate nantu à u CPU ("-tune = auto -verbosity = 5") è dimensioni ottimali di travagliu nantu à OpenCL (attivatu per difettu), cumpresu tenendu in contu a lenta rampa di NVIDIA GTX serie GPU à a frequenza operativa piena 10xx è più recente. Utilizà i hashes veramente caricati è a durata reale di e password chì sò verificate (quandu hè cunnisciutu in anticipu) per tali auto-tuning.
  • Aghjunghjendu un compilatore per "espressioni dinamiche" specificate direttamente nantu à a linea di cummanda è implementendu novi tipi di hash hibridi, per esempiu "-format=dynamic='sha1(md5($p).$s)'", calculatu nantu à u CPU cù SIMD. . Cum'è cumpunenti di tali espressioni, decine di hashes veloci sò supportati (da quelli cumuni cum'è MD5 à quelli moderatamente esotici cum'è Whirlpool), concatenazione di substring, codificazione è decodificazione, cunversione di casu di caratteri, riferimenti à password, sal, username è string constants.
  • Eliminazione di differenze indesiderate da l'hashcat, cumpresu u supportu per e regule specifiche di l'hashcat prima (cumandamenti di regula di lista di parole), a transizione à a numerazione di u dispositivu OpenCL da 1, l'usu predeterminatu di e stesse lunghezze di password (di solitu lunghezza 7) in teste di rendiment.
  • Modi novi per generà password verificabili (modi di cracking), cumpresu PRINCE da hashcat (forma "frasi" cumminendu parechje parolle in ordine crescente di lunghezza tutale), sottogruppi (porta password cù un numeru insufficiente di caratteri diffirenti, ancu s'ellu venenu sti caratteri). da un grande gruppu di pussibuli) è ibridi esterni (permette à i modi esterni, descritti in i schedarii di cunfigurazione in una lingua C-like, per generà parechje password verificabili basatu annantu à ogni "parola" basica ricevuta da un altru modu). Inoltre, parechji novi modi esterni predefiniti.
  • Funzioni supplementari per aduprà parechje modi simultaneamente (una sopra à l'altru - stacking), è ancu per aduprà set di regule (stacking di reguli di lista di parole).
  • Migliuramentu di i modi di maschera (allungamentu graduale di a maschera in una gamma specifica di lunghezze, applicazione di una maschera à u latu di u dispositivu OpenCL o FPGA) è un crack unicu (cumportamentu raghjone nantu à i dispositi chì calculanu un gran numaru di hashes in parallelu). , per quale prima ùn ci era micca abbastanza password verificabile in questu modu, è ancu restrizioni à u cunsumu di memoria).
  • Molte migliure per supportà Unicode è altre codificazioni in diversi sottosistemi.
  • Parechje migliure à i prugrammi *2john (chì cunverte i fugliali di diversi formati per
    aduprà cù John), in particulare wpapcap2john (maneggia u trafficu WiFi).
  • Ci sò parechje novi opzioni di linea di cummanda, paràmetri in john.conf, cunfigurà l'opzioni di scrittura è e funzioni novi currispundenti, micca tutti quelli chì sò stati citati quì.
  • Migliurà a qualità di u codice grazia à u supportu integratu per e custruzzioni di debug cù AddressSanitizer (precedentemente) è UndefinedBehaviorSanitizer (aghjuntu), aghjunghjendu un fuzzer di furmatu integratu (cum'è parte di GSoC 2015), utilizendu integrazione continua (custruisce per decine di sistema operatore è compilatore). cumminazzioni è pruvà per un supportu currettu per tutti i formati).

Source: linux.org.ru

Add a comment