Sortie de John the Ripper 1.9.0-jumbo-1 avec support FPGA

Lancée nouvelle version du programme le plus ancien toujours pris en charge pour le craquage de mots de passe John the Ripper 1.9.0-jumbo-1 (le projet est en développement depuis 1996). Il s'est écoulé 4,5 ans depuis la sortie de la version précédente 1.8.0-jumbo-1, durant lesquels plus de 6000 modifications (commits git) ont été apportées par plus de 80 développeurs. Grùce à l'intégration continue, qui inclut une vérification préalable de chaque modification (pull request) sur de nombreuses plateformes, durant cette période, les développeurs ont recommandé d'utiliser la version actuelle sur GitHub, dont l'état est resté stable malgré les modifications apportées. Le code principal du projet est distribué est sous licence GPLv2+, tandis que le code de certains composants est sous licence BSD.

La nouveauté de cette version est l'ajout du support FPGA (en plus du CPU, GPU et Xeon Phi). Pour les cartes ZTEX 1.15y, comprenant 4 puces FPGA et initialement utilisées principalement pour le minage de Bitcoin, 7 types de hachages de mots de passe sont désormais pris en charge : bcrypt, le descrypt classique (y compris bigcrypt), sha512crypt, sha256crypt, md5crypt (y compris Apache apr1 et AIX smd5), Drupal7 et phpass (utilisé notamment dans WordPress). Certains d'entre eux sont implémentés sur FPGA pour la premiÚre fois.

Pour bcrypt, les performances atteintes sont d'environ 119k c/s pour 2^5 itĂ©rations («$2b$05») avec une consommation d'Ă©nergie d'environ 27 watts, ce qui dĂ©passe de loin les rĂ©sultats des GPU les plus rĂ©cents en termes de coĂ»t par carte, de prix du matĂ©riel et de watts. Des cartes de ce type sont Ă©galement prises en charge, ce qui a Ă©tĂ© testĂ© jusqu'Ă  16 cartes (64 puces FPGA), contrĂŽlĂ©es par un seul Raspberry Pi 2. La fonctionnalitĂ© habituelle de John the Ripper est prise en charge, y compris tous les modes de craquage de mots de passe et le chargement simultanĂ© d'un grand nombre de hachages. Des clusters Pour amĂ©liorer les performances, l'utilisation de masques (mode «—mask», y compris en combinaison avec d'autres modes) et la comparaison des hachages calculĂ©s avec ceux chargĂ©s cĂŽtĂ© FPGA ont Ă©tĂ© mises en Ɠuvre. En termes de mise en Ɠuvre, dans de nombreux designs (par exemple, pour

D'autres changements importants : sha512crypt et Drupal7), des blocs composĂ©s de cƓurs de processeurs multithread (cƓurs CPU soft) interagissant avec des cƓurs cryptographiques ont Ă©tĂ© utilisĂ©s. Le dĂ©veloppement de cette fonctionnalitĂ© a Ă©tĂ© dirigĂ© par Denis Burykin en coordination avec d'autres dĂ©veloppeurs de jumbo.

D'autres changements importants :

  • Prise en charge d'un grand nombre de types de hachage, de chiffrages, etc., y compris Ă  la fois les hachages de mots de passe classiques (comme ceux des nouvelles versions de QNX) et les portefeuilles de cryptomonnaies, les archives chiffrĂ©es et les systĂšmes de fichiers chiffrĂ©s (par exemple, Bitlocker et FreeBSD geli), ainsi que le support de nouvelles variĂ©tĂ©s de formats prĂ©cĂ©demment pris en charge (par exemple, ajout du support bcrypt-pbkdf pour OpenBSD softraid) et bien plus encore. Au total, 80 formats ont Ă©tĂ© ajoutĂ©s pour le CPU et 47 pour OpenCL. Le nombre total de formats est dĂ©sormais de 407 pour le CPU (ou 262 sans les formats « dynamiques », configurables Ă  partir de fichiers de configuration) et 88 pour OpenCL.
  • Abandon du support du langage CUDA au profit d'OpenCL, ce qui n'entrave en rien l'utilisation complĂšte des GPU NVIDIA (et mĂȘme amĂ©liore les performances, grĂące Ă  la concentration du dĂ©veloppement et des optimisations sur une seule mise en Ɠuvre de chaque format pour le GPU au lieu de deux mises en Ɠuvre prĂ©cĂ©demment).
  • Prise en charge de nouveaux ensembles d'instructions SIMD — AVX2, AVX-512 (y compris pour la deuxiĂšme gĂ©nĂ©ration de Xeon Phi) et MIC (pour la premiĂšre gĂ©nĂ©ration) — ainsi qu'une utilisation plus universelle et complĂšte du SIMD dans les implĂ©mentations de nombreux formats, y compris l'utilisation d'ensembles d'instructions prĂ©cĂ©demment pris en charge jusqu'Ă  AVX et XOP sur x86(-64) et
    NEON, ASIMD et AltiVec sur ARM, Aarch64 et POWER, respectivement.
  • De nombreuses optimisations pour CPU et OpenCL, tant pour un traitement plus efficace d'un grand nombre de hachages simultanĂ©ment (par exemple, vĂ©rification de 320 millions de hachages SHA-1 sur GPU), que pour amĂ©liorer la vitesse de calcul des hachages. Certaines de ces optimisations sont universelles, d'autres couvrent diffĂ©rents sous-ensembles de formats, et beaucoup sont spĂ©cifiques Ă  des formats individuels.
  • (Auto-)ajustement du buffering optimal des mots de passe vĂ©rifiĂ©s sur CPU (« —tune=auto —verbosity=5 ») et des dimensions de tĂąche optimales sur OpenCL (activĂ© par dĂ©faut), y compris en tenant compte de la lente montĂ©e en frĂ©quence des GPU de la sĂ©rie NVIDIA GTX 10xx et plus rĂ©cents. Utilisation de hachages rĂ©ellement chargĂ©s et de la longueur rĂ©elle des mots de passe vĂ©rifiĂ©s (lorsqu'elle est connue Ă  l'avance) pour cet ajustement automatique.
  • Ajout d'un compilateur d'« expressions dynamiques », spĂ©cifiĂ© directement dans la ligne de commande et implĂ©mentant de nouveaux types de hachages hybrides, par exemple « —format=dynamic=’sha1(md5($p).$s) '», calculĂ©s sur CPU en utilisant le SIMD. En tant que composants de telles expressions, des dizaines de hachages rapides sont pris en charge (des plus courants comme MD5 aux plus modĂ©rĂ©ment exotiques comme Whirlpool), l'union de sous-chaĂźnes, l'encodage et le dĂ©codage, la conversion de la casse des caractĂšres, les rĂ©fĂ©rences au mot de passe, au sel, au nom d'utilisateur et aux constantes de chaĂźne.
  • Élimination des diffĂ©rences indĂ©sirables par rapport Ă  hashcat, y compris le support des rĂšgles spĂ©cifiques Ă  hashcat (commandes de rĂšgles de wordlist), le passage Ă  la numĂ©rotation des appareils OpenCL Ă  partir de 1, et l'application par dĂ©faut des mĂȘmes longueurs de mots de passe (gĂ©nĂ©ralement une longueur de 7) lors des tests de performance.
  • Nouveaux modes de gĂ©nĂ©ration de mots de passe vĂ©rifiables (modes de cracking), y compris PRINCE de hashcat (forme des « phrases » en combinant plusieurs mots par ordre croissant de longueur totale), subsets (trouve des mots de passe avec un nombre insuffisant de caractĂšres diffĂ©rents, mĂȘme si ces caractĂšres proviennent d'un grand ensemble de possibilitĂ©s) et hybrid external (permet Ă  des modes externes, dĂ©crits dans des fichiers de configuration en langage C-like, de gĂ©nĂ©rer plusieurs mots de passe vĂ©rifiables basĂ©s sur chaque « mot » de base en provenance d'un autre mode). Également, plusieurs nouveaux modes externes prĂ©dĂ©finis.
  • FonctionnalitĂ©s supplĂ©mentaires pour l'utilisation simultanĂ©e de plusieurs modes (l'un superposĂ© Ă  l'autre — empilement), ainsi que pour l'utilisation de tels ensembles de rĂšgles (empilement de rĂšgles de wordlist).
  • AmĂ©liorations des modes mask (Ă©tirement progressif du masque dans une plage de longueurs spĂ©cifiĂ©e, application du masque cĂŽtĂ© dispositif OpenCL ou carte FPGA) et single crack (comportement raisonnable sur des dispositifs calculant un grand nombre de hachages en parallĂšle, ce qui manquait prĂ©cĂ©demment de mots de passe vĂ©rifiables dans ce mode, ainsi que des limites sur la consommation de mĂ©moire).
  • De nombreuses amĂ©liorations du support Unicode et d'autres encodages dans divers sous-systĂšmes.
  • De nombreuses amĂ©liorations des programmes *2john (transformant des fichiers de diffĂ©rents formats pour
    utilisation avec john), en particulier wpapcap2john (gĂšre le trafic WiFi).
  • De nombreuses nouvelles options de ligne de commande, de paramĂštres dans john.conf, d'options de script configure et les nouvelles fonctionnalitĂ©s qui y correspondent, dont toutes ne peuvent ĂȘtre mentionnĂ©es ici.
  • AmĂ©lioration de la qualitĂ© du code grĂące au support intĂ©grĂ© des builds de dĂ©bogage avec AddressSanitizer (dĂ©jĂ  prĂ©sent auparavant) et UndefinedBehaviorSanitizer (ajoutĂ©), avec l'ajout d'un fuzzer intĂ©grĂ© pour les formats (dans le cadre de GSoC 2015), et l'utilisation de l'intĂ©gration continue (builds pour des dizaines de combinaisons de systĂšmes d'exploitation et de compilateurs et tests de leur prise en charge correcte de tous les formats).

Source : opennet.ru

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster