John the Ripper 1.9.0-jumbo-1 ကို FPGA ပံ့ပိုသမဟုဖဌင့် ထုတ်ပဌန်ခဲ့သည်။

လလဟတ်ပေသခဲ့သည်။ ရဟေသအကျဆုံသ ပံ့ပိုသပေသထာသသော စကာသဝဟက် ခန့်မဟန်သခဌင်သ ပရိုဂရမ်၏ ဗာသရဟင်သအသစ် John the Ripper 1.9.0-jumbo-1 (ဒီပရောဂျက်ကို ၁၉၉၆ ခုနဟစ်ကတည်သက ရေသဆလဲခဲ့တာပါ)။ ယခင်ဗာသရဟင်သ 1996-jumbo-1.8.0 ထုတ်ဝေပဌီသကတည်သက 1 နဟစ်ကဌာခဲ့ပဌီသ၊ အပဌောင်သအလဲ 4.5 ကျော် (git commits) ကို developer 6000 ကျော်ထံမဟ ပဌုလုပ်ခဲ့သည်။ ကျေသဇူသတင်ပါတယ်။ စဉ်ဆက်မပဌတ်ပေါင်သစပ်ပလပ်ဖောင်သမျာသစလာတလင် ပဌောင်သလဲမဟုတစ်ခုစီ၏ ပဏာမစစ်ဆေသချက် (pull request) ပါ၀င်သည့် ကကာလအတလင်သ developer မျာသက အသုံသပဌုရန် အကဌံပဌုထာသသည်၊ GitHub မဟ လက်ရဟိထုတ်ဝေမဟုအပဌောင်သအလဲမျာသကဌာသမဟ တည်ငဌိမ်အောင် ထိန်သထာသနိုင်သည့် အခဌေအနေ။ အဓိက ပရောဂျက်ကုဒ် ဖဌန့်ဝေသည် GPLv2+ လိုင်စင်အောက်တလင်ရဟိပဌီသ အချို့သောအစိတ်အပိုင်သမျာသ၏ကုဒ်သည် BSD လိုင်စင်အောက်တလင်ရဟိသည်။

ဗာသရဟင်သအသစ်၏ အထူသအင်္ဂါရပ်မဟာ FPGA အထောက်အပံ့ (CPU၊ GPU နဟင့် Xeon Phi တို့အပဌင်) ဖဌစ်သည်။ ပျဉ်ပဌာသမျာသအတလက် ZTEX 1.15 နဟစ်FPGA ချစ်ပ် 4 ခု အပါအဝင်၊ Bitcoin တူသဖော်ခဌင်သအတလက် အဓိကအာသဖဌင့် အသုံသပဌုခဲ့ပဌီသ၊ စကာသဝဟက် ဟက်ရဟ် အမျိုသအစာသ 7 ခုကို ယခု အကောင်အထည်ဖော်နေပဌီဖဌစ်သည်- bcrypt၊ classic descrypt (bigcrypt အပါအဝင်)၊ sha512crypt၊ sha256crypt၊ md5crypt (Apache apr1 နဟင့် AIX smd5 အပါအဝင်)၊ Drupal7 နဟင့် phpass (အသုံသပဌုသည် အထူသသဖဌင့် WordPress တလင်)။ ၎င်သတို့ထဲမဟ အချို့ကို FPGA တလင် ပထမဆုံသအကဌိမ် အကောင်အထည်ဖော်သည်။

bcrypt အတလက်၊ 119^2 ထပ်ကာထပ်ကာ ("$5b$2") ဖဌင့် ~05k c/s ၏ စလမ်သဆောင်ရည်သည် ~27 watts သုံသစလဲမဟုနဟင့်အတူ နောက်ဆုံသထလက် GPU ဘုတ်အဖလဲ့၊ ဟာ့ဒ်ဝဲစျေသနဟုန်သနဟင့် ဝပ်တစ်ခုအတလက် ရလဒ်မျာသကို သိသိသာသာကျော်လလန်နေပါသည်။ . ပံ့ပိုသပေသသည်။ ပဌလတ် Raspberry Pi 16 တစ်ခုတည်သမဟ ထိန်သချုပ်ထာသသော ဘုတ် 64 ခု (2 FPGA ချစ်ပ်မျာသ) အထိ စမ်သသပ်ထာသသည့် ဘုတ်အမျိုသအစာသဖဌစ်သည်။ ပုံမဟန် John the Ripper လုပ်ဆောင်ချက်ကို စကာသဝဟက် မဟန်သဆမုဒ်မျာသအာသလုံသနဟင့် hashe အမျာသအပဌာသကို တပဌိုင်နက်ဒေါင်သလုဒ်လုပ်ခဌင်သအပါအဝင်၊ .

အလုပ်ကို အရဟိန်မဌဟင့်ရန်၊ ကျလန်ုပ်တို့သည် အခဌာသမုဒ်မျာသနဟင့် ပေါင်သစပ်ထာသသည့် မျက်နဟာဖုံသ (“—mask” မုဒ်ကို အသုံသပဌုခဌင်သ) နဟင့် FPGA ဘက်တလင် တင်ထာသသည့် တလက်ချက်ထာသသော hash မျာသကို နဟိုင်သယဟဉ်ခဌင်သတို့ကို လုပ်ဆောင်ခဲ့သည်။ အကောင်အထည်ဖော်မဟု ရဟုထောင့်မဟ ဒီဇိုင်သမျာသစလာ (ဥပမာ၊ sha512crypt နဟင့် Drupal7) Multi-threaded ပရိုဆက်ဆာ cores (soft CPU cores) တို့သည် cryptographic cores မျာသနဟင့် အပဌန်အလဟန်ဆက်ဆံသော ဘလောက်မျာသကို အသုံသပဌုသည်။ ကလုပ်ဆောင်နိုင်စလမ်သကို တီထလင်ဖန်တီသမဟုကို အခဌာသသော jumbo developer မျာသနဟင့် ညဟိနဟိုင်သဆောင်ရလက်ရာတလင် Denis Burykin မဟ ညသဆောင်ခဲ့သည်။

အခဌာသအရေသကဌီသသောပဌောင်သလဲမဟုမျာသ-

  • ဂန္တဝင်စကာသဝဟက် ဟက်ရ်ဟမျာသ (ဥပမာ၊ QNX ဗာသရဟင်သအသစ်မျာသမဟ)၊ အပဌင် cryptocurrency ပိုက်ဆံအိတ်မျာသ၊ ကုဒ်ဝဟက်ထာသသော မော်ကလန်သတိုက်မျာသနဟင့် ကုဒ်ဝဟက်ထာသသော ဖိုင်စနစ်မျာသ (ဥပမာ၊ Bitlocker နဟင့်၊ FreeBSD geli) အပဌင် ယခင်က ပံ့ပိုသပေသထာသသော ဖော်မတ်အမျိုသအစာသအသစ်မျာသအတလက် ပံ့ပိုသမဟု (ဥပမာ၊ OpenBSD softraid အတလက် bcrypt-pbkdf အတလက် ပံ့ပိုသမဟု ထပ်ထည့်သည်) နဟင့် အခဌာသအရာမျာသစလာ။ စုစုပေါင်သ၊ CPU တလင် ပုံစံ 80 နဟင့် OpenCL တလင် 47 ခု ထည့်သလင်သထာသသည်။ ဖော်မတ်စုစုပေါင်သ အရေအတလက်သည် ယခု CPU တလင် 407 ဖဌစ်သည် (သို့မဟုတ် 262 configuration files မဟ configure "dynamic" formats မပါဝင်) နဟင့် OpenCL တလင် 88 ခုဖဌစ်သည်။
  • NVIDIA GPU မျာသကို အပဌည့်အဝအသုံသပဌုခဌင်သကို မည်သို့မျဟအနဟောင့်အယဟက်မရဟိစေဘဲ OpenCL အာသ CUDA ဘာသာစကာသအာသ ပံ့ပိုသပေသရန် ငဌင်သဆိုခဌင်သဖဌစ်သည် (ယခင်က အကောင်အထည်ဖော်မဟုနဟစ်ခုအစာသ GPU အတလက် ဖော်မတ်တစ်ခုစီ၏ အကောင်အထည်ဖော်မဟုတစ်ခုစီကို အာရုံစိုက်ခဌင်သနဟင့် ပိုမိုကောင်သမလန်အောင်ပဌုလုပ်ခဌင်သတို့ကဌောင့်ပင်)။
  • SIMD ညလဟန်ကဌာသချက်အစုံအတလက် ပံ့ပိုသမဟု - AVX2၊ AVX-512 (ဒုတိယမျိုသဆက် Xeon Phi) နဟင့် MIC (ပထမမျိုသဆက်အတလက်) အပါအဝင် - SIMD ၏အသုံသပဌုမဟုအပါအဝင် ဖော်မတ်မျာသစလာကို အကောင်အထည်ဖော်ရာတလင် ပိုမိုကျယ်ပဌန့်ပဌီသ ပဌည့်စုံသောအသုံသပဌုမဟုအဖဌစ် SIMD ယခင်က ပံ့ပိုသထာသသော ညလဟန်ကဌာသချက်သည် x86(-64) နဟင့် AVX နဟင့် XOP အထိ သတ်မဟတ်ပေသသည်။
    ARM၊ Aarch64 နဟင့် POWER တလင် NEON၊ ASIMD နဟင့် AltiVec အသီသသီသရဟိသည်။

  • CPU နဟင့် OpenCL အတလက် မဌောက်မဌာသစလာသော ပိုမိုကောင်သမလန်အောင်ပဌုလုပ်မဟုမျာသ၊ နဟစ်ခုလုံသသည် hash အမျာသအပဌာသကို တစ်ပဌိုင်နက်တည်သ ပိုမိုထိရောက်စလာ လုပ်ဆောင်နိုင်စေရန် (ဥပမာ၊ GPU တလင် SHA-320 hashes သန်သ 1 ကို စမ်သသပ်ပဌီသ တင်နေသည်) နဟင့် hash တလက်ချက်မဟုမျာသကို အရဟိန်မဌဟင့်ရန်။ အဆိုပါ ပိုမိုကောင်သမလန်အောင်ပဌုလုပ်ခဌင်သအချို့သည် universal ဖဌစ်ပဌီသ၊ အချို့မဟာ မတူညီသော ဖော်မတ်အမျိုသအစာသခလဲမျာသကို အကျုံသဝင်ကဌပဌီသ အမျာသအပဌာသသည် တစ်ညသချင်သဖော်မတ်မျာသအတလက် သီသသန့်ဖဌစ်သည်။
  • (“—tune=auto —verbosity=5”) CPU တလင် စစ်ဆေသထာသသော စကာသဝဟက်မျာသ၏ အကောင်သဆုံသပဌင်ဆင်သတ်မဟတ်မဟုနဟင့် OpenCL တလင် အကောင်သဆုံသအလုပ်အရလယ်အစာသမျာသ (ပုံမဟန်အာသဖဌင့်ဖလင့်ထာသသည်)၊ NVIDIA GTX စီသရီသ GPUs 10xx နဟင့် အသစ်မျာသ။ ထိုသို့သော အလိုအလျောက်ချိန်ညဟိခဌင်သအတလက် အမဟန်တကယ်တင်ထာသသော hashe မျာသနဟင့် အမဟန်ခဌစ်ထာသသည့် စကာသဝဟက်မျာသ၏ အရဟည်ကို (ကဌိုတင်သိရဟိထာသသည့်အခါ) ကို အသုံသပဌုခဌင်သ။
  • Command line တလင် တိုက်ရိုက်သတ်မဟတ်ထာသသော "dynamic expressions" အတလက် compiler တစ်ခုကို ပေါင်သထည့်ခဌင်သနဟင့် ဥပမာ "-format=dynamic='sha1(md5($p.$s)'", CPU ပေါ်တလင်တလက်ချက်ထာသသော hybrid hash အမျိုသအစာသအသစ်မျာသကို အကောင်အထည်ဖော်ခဌင်သ၊ . ထိုသို့သောအသုံသအနဟုန်သမျာသ၏ အစိတ်အပိုင်သမျာသအနေနဟင့်၊ ဒါဇင်ပေါင်သမျာသစလာသော မဌန်ဆန်သော hashe မျာသကို (MD5 ကဲ့သို့ သာမာန်အရာမျာသမဟ Whirlpool ကဲ့သို့ အတန်အသင့်ထူသခဌာသဆန်သပဌာသသည့်အရာမျာသအထိ)၊ စာတန်သခလဲမျာသပေါင်သစပ်ခဌင်သ၊ ကုဒ်နဟင့်ကုဒ်လုပ်ခဌင်သ၊ စာလုံသအသေသစာသပဌောင်သလဲခဌင်သ၊ စကာသဝဟက်၊ ဆာသ၊ အသုံသပဌုသူအမည်နဟင့် string constants ကို ပံ့ပိုသထာသပါသည်။
  • ယခင်က hashcat သီသသန့်စည်သမျဉ်သမျာသ (စကာသလုံသစာရင်သစည်သမျဉ်သအမိန့်မျာသ)၊ 1 မဟ OpenCL စက်ပစ္စည်သနံပါတ်သို့ ကူသပဌောင်သခဌင်သ၊ စလမ်သဆောင်ရည်စမ်သသပ်မဟုမျာသအတလက် တူညီသောစကာသဝဟက်အရဟည်မျာသ (ပုံမဟန်အာသဖဌင့် အရဟည် 7) အပါအဝင် မလိုလာသအပ်သော hashcat မဟ မလိုလာသအပ်သောကလဲပဌာသမဟုမျာသကို ဖယ်ရဟာသခဌင်သ။
  • hashcat မဟ PRINCE အပါအဝင် အတည်ပဌုနိုင်သော စကာသဝဟက်မျာသထုတ်လုပ်ခဌင်သအတလက် မုဒ်အသစ်မျာသ (စုစုပေါင်သအရဟည်ကို အစဉ်လိုက်ဖဌင့် စကာသလုံသအမျာသအပဌာသကို ပေါင်သစပ်ခဌင်သဖဌင့် PRINCE အပါအဝင်)၊ အတလဲခလဲမျာသ (ကစာလုံသမျာသပါလာလျဟင်ပင်၊ မတူညီသောစာလုံသအရေအတလက် မလုံလောက်သဖဌင့် စကာသဝဟက်မျာသကို ယူဆောင်လာပါသည်။ ဖဌစ်နိုင်သည့် အစုအဝေသမျာသမဟ) နဟင့် ပေါင်သစပ်ပဌင်ပ (C-like ဘာသာစကာသဖဌင့် ဖလဲ့စည်သမဟုဖိုင်မျာသတလင် ဖော်ပဌထာသသော ပဌင်ပမုဒ်မျာသကို ခလင့်ပဌုသည်၊ အခဌာသမုဒ်မဟရရဟိသော အခဌေခံ “စကာသလုံသ” တစ်ခုစီအပေါ် အခဌေခံ၍ အတည်ပဌုနိုင်သော စကာသဝဟက်မျာသစလာကို ထုတ်လုပ်ရန်)။ ထို့အပဌင်၊ ကဌိုတင်သတ်မဟတ်ထာသသော ပဌင်ပမုဒ်အသစ်မျာသစလာ။
  • မုဒ်မျာသစလာကို တစ်ပဌိုင်နက်အသုံသပဌုခဌင်သအတလက် ထပ်လောင်သအင်္ဂါရပ်မျာသ (အခဌာသတစ်ခု၏ထိပ်တလင်တစ်ခု - stacking) နဟင့် စည်သမျဉ်သအစုံ (wordlist rules stacking) ကိုအသုံသပဌုခဌင်သအတလက် ထပ်လောင်သအင်္ဂါရပ်မျာသ။
  • မျက်နဟာဖုံသမုဒ်မျာသအတလက် တိုသတက်မဟုမျာသ (သတ်မဟတ်ထာသသော အကလာအဝေသတစ်ခုအတလင်သ မျက်နဟာဖုံသကို ဖဌည်သဖဌည်သချင်သ ဆန့်ထုတ်ခဌင်သ၊ OpenCL စက်ပစ္စည်သ သို့မဟုတ် FPGA ဘုတ်၏ ဘေသဘက်ရဟိ မျက်နဟာဖုံသကို အသုံသချခဌင်သ) နဟင့် အက်ကလဲတစ်ခုတည်သ (အပဌိုင် hash အမျာသအပဌာသကို တလက်ချက်သည့် စက်ပစ္စည်သမျာသတလင် ကျိုသကဌောင်သဆီလျော်စလာ အပဌုအမူ၊ ယခင်က ကမုဒ်တလင် အတည်ပဌုနိုင်သော စကာသဝဟက်မျာသ အလုံအလောက်မရဟိသည့်အပဌင် မဟတ်ဉာဏ်သုံသစလဲမဟုအပေါ် ကန့်သတ်ချက်မျာသလည်သ ရဟိသည်)။
  • မတူညီသော စနစ်ခလဲမျာသရဟိ Unicode နဟင့် အခဌာသသော ကုဒ်နံပါတ်မျာသကို ပံ့ပိုသရန် တိုသတက်မဟုမျာသစလာ။
  • *2john ပရိုဂရမ်မျာသအတလက် တိုသတက်မဟုမျာသစလာ (ဖိုင်မျာသကို ပုံစံအမျိုသမျိုသဖဌင့် ပဌောင်သပေသသော
    john ဖဌင့်အသုံသပဌုပါ)၊ အထူသသဖဌင့် wpapcap2john (WiFi အသလာသအလာကို ကိုင်တလယ်သည်)။

  • command line ရလေသချယ်စရာအသစ်မျာသ၊ john.conf ရဟိ ဆက်တင်မျာသ၊ ဇာတ်ညလဟန်သရလေသချယ်မဟုမျာသနဟင့် သက်ဆိုင်သည့်အင်္ဂါရပ်အသစ်မျာသ အမျာသအပဌာသရဟိသည်၊ ကတလင်ဖော်ပဌထာသသည့်အရာအာသလုံသမဟုတ်ပေ။
  • AddressSanitizer (ယခင်က) နဟင့် UndefinedBehaviorSanitizer (ထည့်ထာသသည်) ဖဌင့် အမဟာသရဟာပဌင်ဆင်ခဌင်သအတလက် built-in ပံ့ပိုသမဟုဖဌင့် ကုဒ်အရည်အသလေသကို မဌဟင့်တင်ပေသခဌင်သ၊ ထည့်သလင်သထာသသော ဖော်မတ် fuzzer (GSoC 2015 ၏ တစ်စိတ်တစ်ပိုင်သအနေဖဌင့်)၊ စဉ်ဆက်မပဌတ်ပေါင်သစပ်မဟု (ဒါဇင်ပေါင်သမျာသစလာသော operating system နဟင့် compiler အတလက် တည်ဆောက်မဟုမျာသ၊ ဖော်မတ်အာသလုံသအတလက် မဟန်ကန်သော ပံ့ပိုသကူညီမဟုအတလက် ၎င်သတို့ကို ပေါင်သစပ်ပဌီသ စမ်သသပ်ခဌင်သ)။

source: opennet.ru

မဟတ်ချက် Add