Јохн тхе Риппер 1.9.0-јумбо-1 објављен са ФПГА подршком

Ослобођен нова верзија најстаријег подржаног програма за погађање лозинке Јохн тхе Риппер 1.9.0-јумбо-1 (пројекат се развија од 1996. године). Прошло је 1.8.0 године од објављивања претходне верзије 1-јумбо-4.5, током којих је направљено више од 6000 измена (гит урезивања) од више од 80 програмера. Захваљујући континуирано интеграција, који укључује прелиминарну проверу сваке промене (пулл захтев) на многим платформама, током овог периода програмери су препоручили коришћење тренутну ревизију са ГитХуб-а, чије је стање одржано стабилно упркос извршеним променама. Главни код пројекта дистрибуира под ГПЛв2+ лиценцом, а код неких компоненти је под БСД лиценцом.

Посебност нове верзије је појава ФПГА подршке (поред ЦПУ, ГПУ и Ксеон Пхи). За даске Зтек 1.15и, укључујући 4 ФПГА чипа и првобитно коришћени углавном за рударење биткоина, сада је имплементирано 7 типова хешева лозинки: бцрипт, цлассиц десцрипт (укључујући бигцрипт), сха512црипт, сха256црипт, мд5црипт (укључујући Апацхе апр1 и АИКС смд5), Друпал7 и пхпасс (користи се , посебно у ВордПресс-у). Неки од њих су први пут имплементирани на ФПГА.

За бцрипт, постигнуте перформансе од ~119к ц/с са 2^5 итерација („$2б$05”) са потрошњом енергије од ~27 вати значајно премашују резултате за најновије ГПУ по плочи, по цени хардвера и по вату . Такође подржано кластери плоча овог типа, која је тестирана до 16 плоча (64 ФПГА чипа) контролисаних из једног Распберри Пи 2. Подржана је уобичајена функционалност Џона Трбосека, укључујући све режиме погађања лозинке и истовремено преузимање великог броја хешова .

Да бисмо убрзали рад, имплементирали смо употребу маске (режим „—маска“, укључујући у комбинацији са другим режимима) и поређење израчунатих хеша са онима учитаним на страни ФПГА. Са становишта имплементације, многи дизајни (нпр. сха512црипт и Друпал7) коришћени блокови који се састоје од вишенитних процесорских језгара (меких ЦПУ језгара) у интеракцији са криптографским језграма. Развој ове функционалности водио је Денис Бурикин у сарадњи са другим јумбо програмерима.

Остале важне промене:

  • Подршка за велики број додатних типова хешова, шифара итд., укључујући и класичне хешове лозинки (на пример, из нових верзија КНКС-а), као и новчанике криптовалута, шифроване архиве и шифроване системе датотека (на пример, Битлоцкер и ФрееБСД гели), као и подршка за нове типове формата који су претходно били подржани (на пример, додата подршка за бцрипт-пбкдф за ОпенБСД софтраид) и још много тога. Укупно је додато 80 формата на ЦПУ и 47 на ОпенЦЛ. Укупан број формата је сада 407 на ЦПУ-у (или 262 не укључујући „динамичке“ формате конфигурисане из конфигурационих датотека) и 88 на ОпенЦЛ-у.
  • Уклањање ЦУДА језичке подршке у корист ОпенЦЛ-а, што ни најмање не омета пуно коришћење НВИДИА ГПУ-а (а чак и помаже, захваљујући фокусу развоја и оптимизације на једној имплементацији сваког формата под ГПУ-ом уместо два имплементације пре).
  • Подршка за нове СИМД скупове инструкција - АВКС2, АВКС-512 (укључујући другу генерацију Ксеон Пхи) и МИЦ (за прву генерацију) - као и универзалнију и потпунију употребу СИМД-а у имплементацијама многих формата, укључујући употребу претходно подржаних скупова инструкција до АВКС и КСОП на к86(-64) и
    НЕОН, АСИМД и АлтиВец на АРМ, Аарцх64 и ПОВЕР, респективно.

  • Бројне оптимизације за ЦПУ и ОпенЦЛ, за ефикаснији рад са великим бројем хешова у исто време (на пример, учитавање 320 милиона СХА-1 хеша на ГПУ) и за повећање брзине израчунавања хеша. Неке од ових оптимизација су универзалне, неке покривају различите подскупове формата, а многе су специфичне за формат.
  • (Ауто-)конфигурација оптималног баферовања проверених лозинки на ЦПУ-у (“—туне=ауто —вербосити=5”) и оптималне величине послова на ОпенЦЛ-у (подразумевано омогућено), укључујући узимање у обзир спорог пораста до пуне радне фреквенције графичких процесора НВИДИА ГТКС серије 10кк и новијих. Коришћење стварно учитаних хешова и стварне дужине лозинки која се проверава (када је то унапред познато) за такво аутоматско подешавање.
  • Додавање компајлера за „динамичке изразе“ специфицираног директно на командној линији и имплементација нових хибридних типова хеша, на пример „-формат=динамиц='сха1(мд5($п).$с)'", израчунатих на ЦПУ-у користећи СИМД . Као компоненте таквих израза, подржане су десетине брзих хешова (од уобичајених попут МД5 до умерено егзотичних попут Вхирлпоол), конкатенација подстрингова, кодирање и декодирање, конверзија великих и малих слова, референце на лозинку, соли, корисничко име и стринг константе.
  • Елиминација непожељних разлика у односу на хасхцат, укључујући подршку за претходно специфичне команде правила листе речи за хасхцат, прелазак на нумерисање ОпенЦЛ уређаја са 1, коришћење истих подразумеваних дужина лозинки (обично дужине 7) за тестове перформанси.
  • Нови режими разбијања, укључујући ПРИНЦЕ из хасхцат-а (генерише „фразе“ спајањем више речи у растућем редоследу укупне дужине), подскупове (доноси лозинке са недовољно различитих знакова чак и ако ти карактери потичу из великог скупа могућих) и хибридне екстерне (омогућава спољним режимима, описаним у конфигурационим датотекама на језику сличном Ц, да генеришу многе проверљиве лозинке на основу сваке основне „речи“ примљене из другог режима). Такође, неколико нових унапред дефинисаних екстерних режима.
  • Додатне могућности за истовремено коришћење неколико режима (један на другом - слагање), као и за такву употребу скупова правила (слагање правила листе речи).
  • Побољшања у режимима маске (постепено истезање маске у одређеном опсегу дужина, примена маске на страну ОпенЦЛ уређаја или ФПГА плоче) и једнострука пукотина (разумно понашање на уређајима који паралелно рачунају велики број хешова, што је претходно у овом режиму недостајале су лозинке за проверу, као и ограничења потрошње меморије).
  • Многа побољшања у подршци за Уницоде и друга кодирања у различитим подсистемима.
  • Многа побољшања *2јохн програма (конвертовање датотека различитих формата у
    користите са јохн-ом), посебно впапцап2јохн (управља ВиФи саобраћајем).

  • Многе нове опције командне линије, подешавања јохн.цонф, опције конфигурисања скрипте и њихове одговарајуће нове функције, од којих нису све поменуте овде.
  • Побољшање квалитета кода захваљујући уграђеној подршци за дебуг буилдове са АддрессСанитизер (претходно) и УндефинедБехавиорСанитизер (додато), додавањем уграђеног фуззер формата (унутар ГСоЦ 2015), коришћењем континуиране интеграције (градње за десетине комбинација оперативног система и компајлера и тестирајући их за исправну подршку свих формата).

Извор: опеннет.ру

Додај коментар