Ҷон Риппер 1.9.0-jumbo-1 бо дастгирии FPGA

Озод карда шуд версияи нави қадимтарин барномаи тахминии парол Ҷон Риппер 1.9.0-jumbo-1. (Лоиҳа аз соли 1996 таҳия карда мешавад.) Дар бораи саҳифаи лоиҳа Сарчашмаҳо барои зеркашӣ ва инчунин анҷуманҳои омода барои Windows дастрасанд.

Қайд карда мешавад, ки аз нашри версияи 1.8.0-jumbo-1 4.5 сол сипарӣ шуд, ки дар тӯли он аз беш аз 6000 таҳиягар беш аз 80 тағйирот (git commits) ворид карда шуданд. Дар ин давра, таҳиягарон тавсия доданд, ки истифода баранд нашри ҷорӣ аз GitHub, ки вазъияти он сарфи назар аз дигаргунихои ба шарофати ба амаломада муътадил нигох дошта шуд муттаҳидсозии доимӣ, ки санҷиши пешакии ҳар як тағиротро дар бар мегирад (дархости кашидан) дар бисёр платформаҳо. Хусусияти махсуси версияи нав пайдоиши дастгирии FPGA (FPGA) ба ғайр аз CPU, GPU ва Xeon Phi мебошад.


Барои тахтахо ZTEX 1.15y, аз ҷумла 4 микросхемаҳои FPGA ва аслан барои истихроҷи Bitcoin истифода мешуданд, ҳоло 7 намуди хэшҳои парол татбиқ карда мешаванд: bcrypt, descrypt классикӣ (аз ҷумла bigcrypt), sha512crypt, sha256crypt, md5crypt (аз ҷумла Apache apr1 ва AIX smd5), Drupal7 ва phpass (истифода бурда мешавад) , махсусан дар WordPress). Баъзеи онҳо бори аввал дар FPGA амалӣ карда мешаванд. Барои bcrypt, иҷрои ҳосилшудаи ~119к c/s бо 2^5 итератсия («$2б$05») бо истеъмоли қувваи тақрибан 27 ватт аз натиҷаҳои GPU-ҳои навтарин барои як тахта, нархи сахтафзор ва як ватт ба таври назаррас зиёдтар аст. Инчунин дастгирӣ карда мешавад кластерҳо аз тахтаҳои ин намуд, ки то 16 тахта (64 FPGA) санҷида шудааст, ки аз як Raspberry Pi 2 идора карда мешавад. Функсияи муқаррарии Ҷон Риппер дастгирӣ карда мешавад, аз ҷумла ҳама шеваҳои тахминии парол ва зеркашии ҳамзамон шумораи зиёди hashes. Барои суръат бахшидан ба кор, мо истифодаи ниқобро (режими "--mask", аз ҷумла дар якҷоягӣ бо дигар режимҳо) ва муқоисаи хэшҳои ҳисобшударо бо онҳое, ки дар тарафи FPGA бор карда шудаанд, амалӣ кардем. Аз нуқтаи назари татбиқ, бисёре аз тарҳҳо (масалан. sha512crypt ва Drupal7) блокҳое истифода мешаванд, ки аз ядроҳои протсессори чанд ришта (ядроҳои CPU нарм), ки бо ядроҳои криптографӣ ҳамкорӣ мекунанд. Рушди ин функсия аз ҷониби Денис Бурикин дар ҳамоҳангӣ бо дигар таҳиягарони jumbo роҳбарӣ карда шуд.

Дигар тағйироти асосӣ:

  • Дастгирии шумораи зиёди намудҳои иловагии хэшҳо, рамзҳо ва ғайра, аз ҷумла ҳам хэшҳои пароли классикӣ (масалан, аз версияҳои нави QNX), инчунин ҳамёнҳои криптовалютӣ, бойгониҳои рамзгузоришуда ва системаҳои файлии рамзгузорӣ (масалан, Bitlocker ва FreeBSD geli), инчунин дастгирии намудҳои нави форматҳои қаблан дастгирӣшуда (масалан, дастгирии иловагии bcrypt-pbkdf барои нармафзори OpenBSD) ва ғайра. Дар маҷмӯъ, дар CPU 80 формат ва дар OpenCL 47 формат илова карда шуданд (ва шумораи ками форматҳои кӯҳна ҳамчун ҳамгироӣ ба форматҳои нав ва кӯҳна хориҷ карда шуданд). Шумораи умумии форматҳо ҳоло дар CPU 407 (ё 262 форматҳои "динамикӣ"-ро аз файлҳои конфигуратсияшуда дар бар намегиранд) ва 88 дар OpenCL аст.
  • Рад кардани дастгирии забони CUDA ба манфиати OpenCL, ки ба ҳеҷ ваҷҳ ба истифодаи пурраи GPU-ҳои NVIDIA халал намерасонад (ва ҳатто ба шарофати тамаркузи рушд ва оптимизатсия ба як татбиқи ҳар як формат барои GPU ба ҷои ду татбиқи қаблӣ кӯмак мекунад).
  • Дастгирии маҷмӯи дастурҳои нави SIMD - AVX2, AVX-512 (аз ҷумла барои насли дуюм Xeon Phi) ва MIC (барои насли аввал) - инчунин истифодаи универсалӣ ва пурраи SIMD дар татбиқи форматҳои бисёр, аз ҷумла истифодаи Дастурҳои қаблан дастгирӣшаванда то AVX ва XOP дар x86(-64) ва
    NEON, ASIMD ва AltiVec дар ARM, Aarch64 ва POWER мутаносибан. (Қисман ҳамчун як қисми GSoC 2015.)
  • Оптимизатсияҳои сершумор барои CPU ва OpenCL, ҳарду барои самараноктар кор кардан бо шумораи зиёди hashes ҳамзамон (масалан, боркунии 320 миллион hashes SHA-1 дар GPU санҷида шуд) ва баланд бардоштани суръати ҳисобҳои hash. Баъзе аз ин оптимизатсияҳо универсалӣ мебошанд, баъзеҳо зергурӯҳҳои гуногуни форматҳоро дар бар мегиранд ва бисёриҳо ба форматҳои инфиродӣ хосанд.
  • (Авто) конфигуратсияи буферии оптималии паролҳои санҷидашуда дар CPU (“—танзимкунӣ=авто —вербосият=5”) ва андозаи оптималии кор дар OpenCL (бо нобаёнӣ фаъол аст), аз ҷумла бо назардошти суръати сусти NVIDIA GTX силсилаи GPUs ба басомади пурраи корӣ 10xx ва навтар. Истифодаи хэшҳои воқеан боршуда ва дарозии воқеии паролҳои тафтишшаванда (вақте ки он пешакӣ маълум аст) барои чунин танзими худкор.
  • Илова кардани компилятор барои "ифодаҳои динамикӣ" мустақиман дар сатри фармон нишондодашуда ва татбиқи навъҳои нави гибридии хэш, масалан "-format=dynamic='sha1(md5($p).$s)'", ки дар CPU бо истифода аз SIMD ҳисоб карда шудааст . Ҳамчун ҷузъҳои чунин ифодаҳо, даҳҳо хэшҳои зуд дастгирӣ карда мешаванд (аз MD5 ба таври мӯътадил экзотикӣ ба монанди Whirlpool), пайвасткунии зерсатри, рамзгузорӣ ва рамзкушоӣ, табдили ҳарфҳои ҳарфҳо, истинод ба парол, намак, номи корбар ва константаҳои сатр.
  • Бартараф кардани фарқиятҳои номатлуб аз hashcat, аз ҷумла дастгирии қоидаҳои қаблан хоси hashcat (фармонҳои қоидаҳои рӯйхати калима), гузариш ба рақамгузории дастгоҳи OpenCL аз 1, истифодаи пешфарз аз ҳамон дарозии парол (одатан дарозии 7) барои санҷишҳои иҷроиш.
  • Усулҳои нави тавлиди паролҳои тасдиқшаванда (режимҳои крекинг), аз ҷумла PRINCE аз hashcat ("ибораҳо" -ро бо якҷоя кардани якчанд калимаҳо бо тартиби афзоиши дарозии умумӣ), зермаҷмӯаҳо (паролҳоро бо шумораи нокифояи аломатҳои гуногун меоранд, ҳатто агар ин аломатҳо омада бошанд ҳам. аз маҷмӯи зиёди имконоти имконпазир) ва гибридии беруна (ба режимҳои беруна, ки дар файлҳои конфигуратсия бо забони C монанд тавсиф шудаанд, имкон медиҳад, ки паролҳои зиёди тафтишшавандаро дар асоси ҳар як "калимаи" аз режими дигар гирифташуда тавлид кунанд). Инчунин, якчанд намуди нави пешакӣ муайяншудаи беруна.
  • Хусусиятҳои иловагӣ барои истифодаи якчанд шеваҳои ҳамзамон (як ба болои дигар - stacking), инчунин барои истифодаи маҷмӯи қоидаҳо (стекинги қоидаҳои рӯйхати калимаҳо).
  • Такмили режимҳои ниқоб (таҳриҷи дарозии ниқоб дар доираи муайяни дарозӣ, татбиқи ниқоб дар паҳлӯи дастгоҳи OpenCL ё тахтаи FPGA) ва креки ягона (рафтори оқилона дар дастгоҳҳое, ки миқдори зиёди хэшҳоро дар баробари ҳисоб мекунанд) , ки қаблан барои онҳо дар ин режим гузарвожаҳои тасдиқшаванда кофӣ набуданд ва инчунин маҳдудиятҳои истеъмоли хотира).
  • Бисёр такмилҳо барои дастгирии Юникод ва рамзгузории дигар дар зерсистемаҳои гуногун.
  • Бисёр такмил додани барномаҳои *2john (ки файлҳои форматҳои гуногунро барои
    бо Ҷон истифода баред), махсусан wpapcap2john (трафики WiFi-ро идора мекунад).
  • Бисёр имконоти нави сатри фармон, танзимот дар john.conf, танзим кардани имконоти скрипт ва хусусиятҳои нави мувофиқ мавҷуданд, ки на ҳама дар ин ҷо зикр шудаанд.
  • Баланд бардоштани сифати код ба шарофати дастгирии дарунсохт барои сохтани дебагҳо бо AddressSanitizer (қаблан) ва UndefinedBehaviorSanitizer (иловашуда), илова кардани fuzzer формати дарунсохт (ҳамчун қисми GSoC 2015), бо истифода аз ҳамгироии муттасил (барои даҳҳо системаи амалиётӣ ва компилятор сохта мешавад) комбинатсияҳо ва санҷиши онҳо барои дастгирии дуруст барои ҳама форматҳо).

Манбаъ: linux.org.ru

Илова Эзоҳ