John the Ripper 1.9.0-jumbo-1 pẹlu FPGA support

Tu silẹ titun version of Atijọ atilẹyin ọrọigbaniwọle lafaimo eto John the Ripper 1.9.0-jumbo-1. (The project has been develop since 1996.) Lori ise agbese iwe Awọn orisun wa fun igbasilẹ, bakanna bi awọn apejọ ti a ti ṣetan fun Windows.

O ṣe akiyesi pe awọn ọdun 1.8.0 ti kọja lati itusilẹ ti ikede 1-jumbo-4.5, lakoko eyiti diẹ sii ju awọn ayipada 6000 (git ṣẹ) ṣe lati diẹ sii ju awọn oludasilẹ 80. Lakoko yii, awọn olupilẹṣẹ ṣeduro lilo lọwọlọwọ àtúnse lati GitHub, ipo ti o ti wa ni iduroṣinṣin pelu awọn iyipada ti a ṣe ọpẹ si lemọlemọfún Integration, eyiti o pẹlu ijẹrisi alakoko ti iyipada kọọkan (fa ibeere) lori ọpọlọpọ awọn iru ẹrọ. Ẹya pataki ti ẹya tuntun ni irisi atilẹyin fun FPGA (FPGA) ni afikun si Sipiyu, GPU ati Xeon Phi.


Fun awọn igbimọ ZTEX 1.15y, pẹlu awọn eerun FPGA 4 ati ni akọkọ ti a lo fun iwakusa Bitcoin, awọn oriṣi 7 ti awọn hashes ọrọ igbaniwọle ti wa ni imuse: bcrypt, descrypt Ayebaye (pẹlu bigcrypt), sha512crypt, sha256crypt, md5crypt (pẹlu Apache apr1 ati AIX smd5), Drupal7 ati phpass (lo) , ni pataki ni Wodupiresi). Diẹ ninu wọn ni imuse lori FPGA fun igba akọkọ. Fun bcrypt, iṣẹ aṣeyọri ti ~ 119k c/s pẹlu awọn aṣetunṣe 2 ^ 5 (“$2b$05”) pẹlu agbara agbara ti o to 27 wattis ni pataki ju awọn abajade fun awọn GPU tuntun fun igbimọ kan, fun idiyele ohun elo ati fun watt kan. Tun ṣe atilẹyin awọn iṣupọ ti awọn lọọgan ti yi iru, eyi ti a ti ni idanwo soke 16 ọkọ (64 FPGAs) dari lati kan nikan rasipibẹri Pi 2. Awọn ibùgbé John awọn Ripper iṣẹ ni atilẹyin, pẹlu gbogbo awọn ọrọigbaniwọle lafaimo igbe ati igbakana downloading ti kan ti o tobi nọmba ti hashes. Lati yara iṣẹ naa, a ṣe imuse lilo iboju-boju (ipo “--boju”, pẹlu ni apapo pẹlu awọn ipo miiran) ati lafiwe ti awọn hashes iṣiro pẹlu awọn ti kojọpọ ni ẹgbẹ FPGA. Lati irisi imuse, ọpọlọpọ awọn apẹrẹ (fun apẹẹrẹ. sha512crypt ati Drupal7) ohun amorindun ti o ni awọn ohun kohun ero isise olona-asapo (awọn ohun kohun Sipiyu asọ) ibaraenisepo pẹlu awọn ohun kohun cryptographic ti lo. Idagbasoke iṣẹ ṣiṣe yii jẹ oludari nipasẹ Denis Burykin ni isọdọkan pẹlu awọn olupilẹṣẹ jumbo miiran.

Awọn iyipada pataki miiran:

  • Atilẹyin fun nọmba nla ti awọn oriṣi afikun ti awọn hashes, ciphers, ati bẹbẹ lọ, pẹlu mejeeji hashes ọrọ igbaniwọle Ayebaye (fun apẹẹrẹ, lati awọn ẹya tuntun ti QNX), bakanna bi awọn apamọwọ cryptocurrency, awọn ile ifipamo ati awọn eto faili ti paroko (fun apẹẹrẹ, Bitlocker ati Geli FreeBSD), bakanna ati atilẹyin fun awọn oriṣi awọn ọna kika tuntun ni iṣaaju atilẹyin (fun apẹẹrẹ, atilẹyin afikun fun bcrypt-pbkdf fun OpenBSD softraid) ati pupọ diẹ sii. Ni apapọ, awọn ọna kika 80 ti ni afikun lori Sipiyu ati 47 lori OpenCL (ati pe nọmba kekere ti awọn atijọ ti yọ kuro bi a ti ṣepọ si awọn tuntun ati awọn ti o ti kọja). Nọmba apapọ awọn ọna kika ti wa ni bayi 407 lori Sipiyu (tabi 262 ko pẹlu awọn ọna kika “ìmúdàgba” ti a tunto lati awọn faili iṣeto ni) ati 88 lori OpenCL.
  • Kiko lati ṣe atilẹyin ede CUDA ni ojurere ti OpenCL, eyiti ko ṣe idiwọ pẹlu lilo kikun ti NVIDIA GPUs (ati paapaa iranlọwọ, o ṣeun si idojukọ idagbasoke ati iṣapeye lori imuse kan ti ọna kika kọọkan fun GPU dipo awọn imuse meji tẹlẹ).
  • Atilẹyin fun awọn eto itọnisọna SIMD tuntun - AVX2, AVX-512 (pẹlu fun iran keji Xeon Phi) ati MIC (fun iran akọkọ) - bakanna bi gbogbo agbaye ati lilo pipe ti SIMD ni awọn imuse ti ọpọlọpọ awọn ọna kika, pẹlu lilo ti Ilana atilẹyin tẹlẹ ṣeto to AVX ati XOP lori x86(-64) ati
    NEON, ASIMD ati AltiVec lori ARM, Aarch64 ati POWER, lẹsẹsẹ. (Ni apakan gẹgẹbi apakan ti GSoC 2015.)
  • Awọn iṣapeye lọpọlọpọ fun Sipiyu ati OpenCL, mejeeji lati ṣiṣẹ daradara siwaju sii pẹlu nọmba nla ti hashes nigbakanna (fun apẹẹrẹ, ikojọpọ 320 million SHA-1 hashes lori GPU ti ni idanwo), ati lati mu iyara awọn iṣiro hash pọ si. Diẹ ninu awọn iṣapeye wọnyi jẹ gbogbo agbaye, diẹ ninu awọn oriṣiriṣi awọn ipin ti awọn ọna kika, ati ọpọlọpọ ni pato si awọn ọna kika kọọkan.
  • (Aifọwọyi-) atunto ti ifipamọ ti o dara julọ ti awọn ọrọ igbaniwọle ti a ṣayẹwo lori Sipiyu (“—tune = auto —verbosity=5”) ati awọn iwọn iṣẹ ti o dara julọ lori OpenCL (ti ṣiṣẹ nipasẹ aiyipada), pẹlu gbigbe sinu akọọlẹ iyara rampu ti NVIDIA GTX GPUs jara si 10xx igbohunsafẹfẹ iṣẹ ni kikun ati tuntun. Lilo awọn hashes ti kojọpọ gangan ati gigun gangan ti awọn ọrọ igbaniwọle ti n ṣayẹwo (nigbati o ti mọ tẹlẹ) fun iru-atunṣe adaṣe.
  • Ṣafikun olupilẹṣẹ fun “awọn ikosile ti o ni agbara” ti o tọka taara lori laini aṣẹ ati imuse awọn iru hash arabara tuntun, fun apẹẹrẹ “-format=dynamic='sha1(md5($p).$s)'”, iṣiro lori Sipiyu nipa lilo SIMD . Gẹgẹbi awọn paati iru awọn ikosile bẹẹ, awọn dosinni ti awọn hashes iyara ni atilẹyin (lati awọn ti o wọpọ bii MD5 si awọn ajeji niwọntunwọnsi bii Whirlpool), isọdi okun, fifi koodu ati iyipada, iyipada ọran ihuwasi, awọn itọkasi si ọrọ igbaniwọle, iyọ, orukọ olumulo ati awọn iduro okun.
  • Imukuro awọn iyatọ ti aifẹ lati hashcat, pẹlu atilẹyin fun awọn ofin pato-hashcat tẹlẹ (awọn aṣẹ ofin ọrọ-ọrọ), iyipada si nọmba ẹrọ OpenCL lati 1, lilo aiyipada ti awọn ipari ọrọ igbaniwọle kanna (nigbagbogbo ipari 7) fun awọn idanwo iṣẹ.
  • Awọn ipo tuntun fun ṣiṣẹda awọn ọrọ igbaniwọle ti o le rii daju (awọn ipo fifọ), pẹlu PRINCE lati hashcat (awọn fọọmu “awọn gbolohun ọrọ” nipa apapọ awọn ọrọ pupọ ni ọna ti o pọ si ti ipari lapapọ), awọn ipin (mu awọn ọrọ igbaniwọle wa pẹlu nọmba ti ko to ti awọn kikọ oriṣiriṣi, paapaa ti awọn ohun kikọ wọnyi ba wa. lati titobi nla ti awọn ti o ṣeeṣe) ati ita arabara (faye gba awọn ipo ita, ti a ṣapejuwe ninu awọn faili iṣeto ni ede C, lati ṣe agbekalẹ ọpọlọpọ awọn ọrọ igbaniwọle ti o daju ti o da lori “ọrọ” ipilẹ kọọkan ti o gba lati ipo miiran). Paapaa, ọpọlọpọ awọn ipo ita ti a ti yan tẹlẹ.
  • Awọn ẹya afikun fun lilo awọn ipo pupọ nigbakanna (ọkan lori oke miiran - akopọ), ati fun lilo awọn ilana ti awọn ofin (awọn ofin atokọ ọrọ).
  • Awọn ilọsiwaju si awọn ipo boju-boju (na mimu iboju iboju ni iwọn gigun ti o yatọ, ohun elo iboju-boju ni ẹgbẹ ti ẹrọ OpenCL tabi igbimọ FPGA) ati kiraki ẹyọkan (iwa idi lori awọn ẹrọ ti o ṣe iṣiro nọmba nla ti hashes ni afiwe. , fun eyiti tẹlẹ ko si awọn ọrọ igbaniwọle ijẹrisi to ni ipo yii, ati tun awọn ihamọ lori agbara iranti).
  • Ọpọlọpọ awọn ilọsiwaju lati ṣe atilẹyin fun Unicode ati awọn koodu miiran ni oriṣiriṣi awọn ọna ṣiṣe abẹlẹ.
  • Ọpọlọpọ awọn ilọsiwaju si awọn eto * 2john (eyiti o ṣe iyipada awọn faili ti awọn ọna kika oriṣiriṣi fun
    lo pẹlu john), paapa wpapcap2john (kapa WiFi ijabọ).
  • Ọpọlọpọ awọn aṣayan laini aṣẹ tuntun wa, awọn eto ni john.conf, tunto awọn aṣayan iwe afọwọkọ ati awọn ẹya tuntun ti o baamu, kii ṣe gbogbo eyiti a mẹnuba nibi.
  • Imudara didara koodu ọpẹ si atilẹyin ti a ṣe sinu fun awọn kikọ yokokoro pẹlu AdirẹsiSanitizer (tẹlẹ) ati UndefinedBehaviorSanitizer (fi kun), fifi fuzzer ọna kika ti a ṣe sinu (gẹgẹbi apakan ti GSoC 2015), ni lilo iṣọpọ lemọlemọfún (awọn kọ fun awọn dosinni ti ẹrọ ṣiṣe ati alakojọ). awọn akojọpọ ati idanwo wọn fun atilẹyin ti o tọ fun gbogbo awọn ọna kika).

orisun: linux.org.ru

Fi ọrọìwòye kun