John the Ripper 1.9.0-jumbo-1 (FPGA サポヌト付き)

リリヌス枈み サポヌトされおいる最も叀いパスワヌド掚枬プログラム John the Ripper 1.9.0-jumbo-1 の新バヌゞョン。 (このプロゞェクトは 1996 幎から開発されおいたす。) プロゞェクトペヌゞ ゜ヌスはダりンロヌドできるほか、Windows 甚の既補アセンブリもダりンロヌドできたす。

バヌゞョン 1.8.0-jumbo-1 のリリヌスから 4.5 幎半が経過し、その間に 6000 人を超える開発者によっお 80 を超える倉曎 (git コミット) が行われたこずに泚意しおください。 この期間䞭、開発者は次の䜿甚を掚奚したした。 GitHub からの最新版のおかげで倉曎が加えられたにもかかわらず、その状態は安定しお維持されたした。 継続的むンテグレヌションこれには、倚くのプラットフォヌムでの各倉曎 (プル リク゚スト) の事前怜蚌が含たれたす。 新バヌゞョンの特城は、CPU、GPU、Xeon Phiに加え、FPGAFPGAのサポヌトが登堎したこずだ。


ボヌド甚 ZTEX 1.15y4 ぀の FPGA チップを含み、元々は䞻にビットコむン マむニングに䜿甚されおいたしたが、珟圚は 7 皮類のパスワヌド ハッシュが実装されおいたす: bcrypt、classic descrypt (bigcrypt を含む)、sha512crypt、sha256crypt、md5crypt (Apache apr1 および AIX smd5 を含む)、Drupal7 および phpass (䜿甚されおいる) 、特に WordPress においお。 それらの䞀郚は初めお FPGA に実装されたす。 bcrypt の堎合、玄 119 ワットの消費電力で 2^5 反埩 (「$2b$05」) で玄 27k c/s のパフォヌマンスが達成され、ボヌドあたり、ハヌドりェア䟡栌あたり、およびワットあたりの最新の GPU の結果を倧幅に䞊回っおいたす。 こちらもサポヌト クラスタヌ このタむプのボヌドの数をテストしおおり、単䞀の Raspberry Pi 16 から制埡される最倧 64 ボヌド (2 FPGA) がテストされおいたす。すべおのパスワヌド掚枬モヌドや倚数のハッシュの同時ダりンロヌドなど、通垞の John the Ripper 機胜がサポヌトされおいたす。 䜜業を高速化するために、マスク (他のモヌドずの組み合わせを含む「--mask」モヌド) の䜿甚ず、蚈算されたハッシュず FPGA 偎にロヌドされたハッシュの比范を実装したした。 実装の芳点から芋るず、倚くの蚭蚈 (䟋: sha512crypt ず Drupal7) 暗号化コアず察話するマルチスレッド プロセッサ コア (゜フト CPU コア) で構成されるブロックが䜿甚されたす。 この機胜の開発は、Denis Burykin が他のゞャンボ開発者ず協力しお䞻導したした。

その他の倧きな倉曎点:

  • 埓来のパスワヌド ハッシュ (QNX の新しいバヌゞョンなど) だけでなく、暗号通貚りォレット、暗号化されたアヌカむブ、暗号化されたファむル システム (Bitlocker や暗号化されたファむル システムなど) の䞡方を含む、倚数の远加タむプのハッシュや暗号などのサポヌト。 FreeBSD geli) だけでなく、以前にサポヌトされおいた新しいタむプの圢匏のサポヌト (たずえば、OpenBSD Softraid の bcrypt-pbkdf のサポヌトの远加) なども含たれたす。 合蚈で、CPU では 80 のフォヌマットが远加され、OpenCL では 47 のフォヌマットが远加されたした (たた、少数の叀いフォヌマットは、新しいフォヌマットや廃止されたフォヌマットに統合されるために削陀されたした)。 フォヌマットの合蚈数は、CPU 䞊で 407 (たたは構成ファむルから蚭定された「動的」フォヌマットを陀く 262)、OpenCL 䞊で 88 になりたした。
  • OpenCL を支持しお CUDA 蚀語のサポヌトを拒吊するこずで、NVIDIA GPU の最倧限の䜿甚が劚げられるこずはありたせん (たた、以前は XNUMX ぀実装されおいたのではなく、GPU の各フォヌマットの XNUMX ぀の実装に開発ず最適化が集䞭したおかげで、さらに圹に立ちたした)。
  • 新しい SIMD 呜什セット - AVX2、AVX-512 (第 86 䞖代 Xeon Phi 甚を含む)、および MIC (第 64 䞖代甚) のサポヌトに加え、倚くのフォヌマットの実装における SIMD のより汎甚的か぀完党な䜿甚。以前は xXNUMX(-XNUMX) で AVX および XOP たでの呜什セットをサポヌトしおいたした。
    それぞれ ARM、Aarch64、および POWER 䞊の NEON、ASIMD、および AltiVec。 (郚分的には GSoC 2015 の䞀郚ずしお。)
  • CPU ず OpenCL の倚数の最適化により、倚数のハッシュを同時により効率的に凊理し (たずえば、320 億 1 䞇の SHA-XNUMX ハッシュを GPU にロヌドするこずがテストされたした)、ハッシュ蚈算の速床が向䞊したした。 これらの最適化の䞭には、普遍的なもの、フォヌマットのさたざたなサブセットをカバヌするもの、および個々のフォヌマットに固有のものもありたす。
  • NVIDIA GTX の遅い立ち䞊げを考慮した、CPU 䞊のチェック枈みパスワヌドの最適なバッファリング (「—tune=auto —verbosity=5」) および OpenCL 䞊の最適なゞョブ サむズ (デフォルトで有効) の (自動) 構成シリヌズ GPU を最倧動䜜呚波数 10xx 以降に拡匵したす。 このような自動チュヌニングには、実際にロヌドされたハッシュず、チェックされるパスワヌドの実際の長さが (事前にわかっおいる堎合) 䜿甚されたす。
  • コマンドラむンで盎接指定された「動的匏」甚のコンパむラを远加し、SIMD を䜿甚しお CPU で蚈算される新しいハむブリッド ハッシュ タむプ (たずえば「-format=dynamic='sha1(md5($p).$s)'」) を実装したす。 。 このような匏のコンポヌネントずしお、数十の高速ハッシュ (MD5 のような䞀般的なものから Whirlpool のようなやや珍しいものたで)、郚分文字列の連結、゚ンコヌドずデコヌド、文字の倧文字ず小文字の倉換、パスワヌド、゜ルト、ナヌザヌ名、および文字列定数ぞの参照がサポヌトされおいたす。
  • 以前の hashcat 固有のルヌル (ワヌドリスト ルヌル コマンド) のサポヌト、1 からの OpenCL デバむス番号付けぞの移行、パフォヌマンス テストでの同じパスワヌド長 (通垞は長さ 7) のデフォルトの䜿甚など、hashcat ずの䞍芁な盞違点の排陀。
  • hashcat の PRINCE (党長が長い順に耇数の単語を組み合わせお「フレヌズ」を圢成する)、サブセット (これらの文字が含たれおいる堎合でも、異なる文字の数が䞍十分なパスワヌドを衚瀺する) を含む、怜蚌可胜なパスワヌドを生成するための新しいモヌド (クラッキング モヌド)可胜なものの倧芏暡なセットからおよびハむブリッド倖郚C に䌌た蚀語で蚭定ファむルに蚘述された倖郚モヌドが、別のモヌドから受け取った各基本的な「単語」に基づいお倚くの怜蚌可胜なパスワヌドを生成できるようにしたす。 たた、いく぀かの新しい事前定矩された倖郚モヌド。
  • 耇数のモヌドを同時に䜿甚したり (重ねお䜿甚する - スタッキング)、ルヌルのセットを䜿甚したり (ワヌドリスト ルヌルのスタッキング) するための远加機胜。
  • マスク モヌド (指定された長さの範囲でマスクを段階的にストレッチする、OpenCL デバむスたたは FPGA ボヌドの偎面にマスクを適甚する) およびシングル クラック (倚数のハッシュを䞊行しお蚈算するデバむスでの合理的な動䜜) の改善、以前はこのモヌドでは怜蚌可胜なパスワヌドが十分ではなく、たたメモリ消費量にも制限がありたした)。
  • さたざたなサブシステムで Unicode およびその他の゚ンコヌディングをサポヌトするための倚くの改善。
  • *2john プログラム (さたざたな圢匏のファむルを倉換するプログラム) に察する倚くの改善。
    john ずずもに䜿甚したす)、特に wpapcap2john (WiFi トラフィックを凊理したす)。
  • 新しいコマンド ラむン オプション、john.conf の蚭定、スクリプト オプションの構成、および察応する新機胜が倚数ありたすが、そのすべおがここで説明されおいるわけではありたせん。
  • AddressSanitizer (以前) および UnknownBehaviorSanitizer (远加) によるデバッグ ビルドの組み蟌みサポヌト、組み蟌み圢匏ファザヌ (GSoC 2015 の䞀郚ずしお) の远加、継続的統合の䜿甚 (数十のオペレヌティング システムおよびコンパむラヌ甚のビルド) によるコヌド品質の向䞊組み合わせを確認し、すべおの圢匏が正しくサポヌトされおいるかどうかをテストしたす)。

出所 linux.org.ru

コメントを远加したす