John the Ripper 1.9.0-jumbo-1 le taic FPGA

Air fhoillseachadh tionndadh ùr den cracker facal-faire as sine le taic John the Ripper 1.9.0-jumbo-1. (Tha am pròiseact air a bhith a’ leasachadh bho 1996.) duilleag pròiseict tha stòran rim faighinn airson an luchdachadh sìos, a bharrachd air co-chruinneachaidhean deiseil airson Windows.

Thathas a’ toirt fa-near gu bheil 1.8.0 bliadhna air a dhol seachad bho chaidh dreach 1-jumbo-4.5 a leigeil ma sgaoil, nuair a chaidh còrr air 6000 atharrachadh (git gealltanas) bho barrachd air luchd-leasachaidh 80 a dhèanamh. Rè na h-ùine seo, mhol an luchd-leasachaidh cleachdadh ath-sgrùdadh gnàthach bho GitHub, agus chaidh an staid sin a chumail seasmhach a dh’ aindeoin na h-atharrachaidhean a chaidh a dhèanamh le taing dha amalachadh leantainneach, a tha a’ toirt a-steach sgrùdadh tòiseachaidh air gach atharrachadh (iarrtas tarraing) air iomadh àrd-ùrlar. Is e feart den dreach ùr nochdadh taic airson FPGA (FPGA) a bharrachd air an CPU, GPU agus Xeon Phi.


Airson bùird Ztex 1.15y, a bha a’ toirt a-steach chips 4 FPGA agus a chaidh a chleachdadh an toiseach airson mèinnearachd Bitcoin, a-nis tha 7 seòrsa de hashes facal-faire air an cur an gnìomh: bcrypt, descrypt clasaigeach (a ’toirt a-steach bigcrypt), sha512crypt, sha256crypt, md5crypt (a’ toirt a-steach Apache apr1 agus AIX smd5), Drupal7 agus phpass (air a chleachdadh, gu sònraichte ann an WordPress). Tha cuid dhiubh gan cur an gnìomh air FPGA airson a’ chiad uair. Airson bcrypt, tha an coileanadh a chaidh a choileanadh de ~ 119k c / s aig tionndaidhean 2 ^ 5 ("$ 2b $ 05") le caitheamh cumhachd de mu 27 watt gu mòr nas fheàrr na na GPUs as ùire gach bòrd, gach prìs bathar-cruaidh, agus gach watt. Cuideachd le taic cnuasaichean de bhùird den t-seòrsa seo, a rinn deuchainn air suas ri 16 bùird (64 FPGAn) fo smachd aon Raspberry Pi 2. Thathas a’ toirt taic do ghnìomhachd àbhaisteach John the Ripper, a ’toirt a-steach a h-uile modh tomhas facal-faire agus luchdachadh sìos àireamh mhòr de hashes aig an aon àm. Gus an obair a luathachadh, chuir sinn an gnìomh masg (modh "--mask", a 'gabhail a-steach an co-bhonn ri modhan eile) agus coimeas a dhèanamh eadar na hashes àireamhaichte leis an fheadhainn a tha air an luchdachadh air taobh FPGA. A thaobh buileachadh, ann am mòran de na dealbhaidhean (mar eisimpleir, airson sha512crypt agus Drupal7) blocaichean cleachdte anns a bheil coraichean pròiseasar ioma-snàthainn (coirean bog CPU) ag eadar-obrachadh le coraichean criptografach. Chaidh leasachadh na gnìomhachd seo a stiùireadh le Denis Burykin ann an co-òrdanachadh le luchd-leasachaidh jumbo eile.

Atharrachaidhean mòra eile:

  • Taic airson àireamh mhòr de sheòrsan a bharrachd de hashes, ciphers, msaa, a’ toirt a-steach an dà chuid hashes facal-faire clasaigeach (mar eisimpleir, bho dhreachan ùra de QNX), agus wallets cryptocurrency, tasglannan crioptaichte agus siostaman faidhle crioptaichte (mar eisimpleir, Bitlocker agus FreeBSD geli ), a bharrachd air taic airson seòrsachan ùra de chruthan a fhuair taic roimhe (mar eisimpleir, chaidh taic bcrypt-pbkdf airson OpenBSD softraid a chur ris) agus mòran a bharrachd. Gu h-iomlan, chaidh cruthan 80 a chuir ris air an CPU agus 47 air OpenCL (agus chaidh àireamh bheag de sheann fheadhainn a thoirt air falbh mar a bhith air am filleadh a-steach do fheadhainn ùra agus seann fheadhainn). Tha an àireamh iomlan de chruthan a-nis 407 air an CPU (no 262 gun a bhith a’ toirt a-steach cruthan “fiùghantach” air an rèiteachadh bho fhaidhlichean rèiteachaidh) agus 88 air OpenCL.
  • Thoir air falbh taic cànain CUDA airson fàbhar OpenCL, nach cuir bacadh air cleachdadh iomlan an NVIDIA GPU aig a ’char as lugha (agus eadhon a’ cuideachadh, le fòcas leasachaidh agus optimizations air aon bhuileachadh de gach cruth fon GPU an àite dhà buileachadh roimhe).
  • Taic airson seataichean stiùiridh SIMD ùra - AVX2, AVX-512 (a’ toirt a-steach an dàrna ginealach de Xeon Phi) agus MIC (airson a’ chiad ghinealach) - a bharrachd air cleachdadh nas cruinne agus nas coileanta de SIMD ann an cur an gnìomh iomadh cruth, a’ gabhail a-steach cleachdadh de sheataichean stiùiridh le taic roimhe suas gu AVX agus XOP air x86 (-64) agus
    NEON, ASIMD agus AltiVec air ARM, Aarch64 agus POWER, fa leth. (Gu ìre taobh a-staigh GSoC 2015.)
  • Iomadh optimizations airson CPU agus OpenCL, an dà chuid a bhith ag obair nas èifeachdaiche le àireamh mhòr de hashes aig an aon àm (mar eisimpleir, a 'luchdachadh 320 millean SHA-1 hashes air an GPU) agus gus àrdachadh air an astar àireamhachadh hash. Tha cuid de na optimizations sin uile-choitcheann, tha cuid a’ còmhdach diofar fo-sheata de chruthan, agus tha mòran dhiubh a’ buntainn ri cruth sònraichte.
  • (Auto-) gleusadh buffering as fheàrr de fhaclan-faire sgrùdaichte air an CPU ("-tune = auto --verbosity = 5") agus na tomhasan obrach as fheàrr air OpenCL (air a chomasachadh gu bunaiteach), a ’toirt a-steach a bhith a’ toirt aire don ath-bheothachadh slaodach chun làn obrachaidh tricead GPUs sreath NVIDIA GTX 10xx agus nas ùire. Cleachdadh hashes làn luchdaichte agus fìor fhaid de fhaclan-faire sgrùdaichte (nuair a tha fios ro-làimh air) airson gleusadh fèin-ghluasadach mar sin.
  • A’ cur ris a’ cho-chruinneachadh “seantansan fiùghantach” a tha air a shònrachadh gu dìreach air an loidhne-àithne agus a chuireas an gnìomh seòrsaichean hash hybrid ùra, mar eisimpleir “--format=dynamic=’sha1(md5($p).$s)’", air a thomhas air an CPU a 'cleachdadh SIMD. Thathas a’ toirt taic do dhusanan de hashes luath (bho fheadhainn cumanta leithid MD5 gu feadhainn a tha beagan annasach mar Whirlpool), fo-thalamh concatenation, còdachadh agus dì-chòdachadh, tionndadh cùis caractar, iomraidhean facal-faire, salann, ainm neach-cleachdaidh, agus comharran sreang mar phàirtean de dh’ abairtean mar sin.
  • Cur às do eadar-dhealachaidhean neo-mhiannach bho hashcat, a’ toirt a-steach taic airson òrdughan riaghailt liosta fhaclan a bha sònraichte do hashcat, ag atharrachadh gu àireamh inneal OpenCL bho 1, a’ cleachdadh na h-aon faid facal-faire bunaiteach (mar as trice fad 7) airson deuchainnean coileanaidh.
  • Modhan ùra airson faclan-faire sgàinte a ghineadh (modhan sgàineadh), a’ gabhail a-steach PRINCE bho hashcat (a’ gineadh “abairtean” le bhith a’ co-chruinneachadh grunn fhaclan ann an òrdugh dìreadh fad iomlan), fo-bhuidhnean (a’ toirt faclan-faire le àireamh gu leòr de charactaran eadar-dhealaichte, eadhon ged a thig na caractaran sin bho seata mòr de fheadhainn a dh’ fhaodadh a bhith ann) agus taobh a-muigh tar-chinealach (a’ ceadachadh modhan taobh a-muigh, air am mìneachadh ann am faidhlichean rèiteachaidh ann an cànan coltach ri C, gus mòran fhaclan-faire dearbhaidh a ghineadh stèidhichte air gach “facal” bunaiteach a gheibhear bho mhodh eile). Cuideachd, grunn mhodhan taobh a-muigh ro-mhìnichte.
  • Feartan a bharrachd airson a bhith a 'cleachdadh grunn mhodhan aig an aon àm (aon air mullach an eile - cruachadh), a bharrachd air a bhith a' cleachdadh seataichean riaghailtean mar sin (cruachadh riaghailtean liosta fhaclan).
  • Leasachaidhean air na modhan masg (mealladh mean air mhean a ’sìneadh anns an raon faid ainmichte, a’ cur a-steach masg air taobh inneal OpenCL no bòrd FPGA) agus sgàineadh singilte (giùlan reusanta air innealan a bhios a ’tomhas àireamh mhòr de hashes aig an aon àm, a bha roimhe seo anns a 'mhodh seo cha robh faclan-faire ann airson sgrùdadh, agus cuideachd crìochan air caitheamh cuimhne).
  • Mòran leasachaidhean ann an taic airson Unicode agus còdachadh eile ann an diofar fo-shiostaman.
  • Mòran leasachaidhean air prògraman *2john (ag atharrachadh fhaidhlichean de dhiofar chruthan gu
    cleachdadh le john), gu sònraichte wpapcap2john (a’ làimhseachadh trafaic WiFi).
  • Mòran roghainnean loidhne-àithne ùr, suidheachaidhean john.conf, rèiteachadh roghainnean sgriobt, agus na feartan ùra co-fhreagarrach aca, agus cha deach iomradh a thoirt air a h-uile gin dhiubh an seo.
  • Ag adhartachadh càileachd còd mar thoradh air taic togte airson togail deasbaid le AddressSanitizer (roimhe seo) agus UndefinedBehaviorSanitizer (air a chur ris), a’ cur fuzzer cruth togte a-steach (taobh a-staigh GSoC 2015), a’ cleachdadh amalachadh leantainneach (togail airson dusanan de shiostaman obrachaidh agus cothlamadh cruinneachaidh agus gan deuchainn airson taic cheart do gach cruth).

Source: linux.org.ru

Cuir beachd ann