John the Ripper 1.9.0-jumbo-1 FPGA سپورٹ کے ساتھ جاری کیا گیا۔

جاری کیا گیا۔ سب سے پرانے تعاون یافتہ پاس ورڈ کا اندازہ لگانے والے پروگرام کا نیا ورژن جان دی ریپر 1.9.0-jumbo-1 (یہ منصوبہ 1996 سے ترقی کر رہا ہے)۔ پچھلے ورژن 1.8.0-jumbo-1 کی ریلیز کو 4.5 سال گزر چکے ہیں، اس دوران 6000 سے زیادہ ڈویلپرز سے 80 سے زیادہ تبدیلیاں (گٹ کمٹ) کی گئیں۔ کا شکریہ مسلسل انضمام، جس میں بہت سے پلیٹ فارمز پر ہر تبدیلی (پل کی درخواست) کی ابتدائی جانچ شامل ہے، اس مدت کے دوران ڈویلپرز نے استعمال کرنے کی سفارش کی GitHub سے موجودہ ایڈیشن، جس کی حالت تبدیلیوں کے باوجود مستحکم رکھی گئی۔ مرکزی پروجیکٹ کوڈ نے بانٹا GPLv2+ لائسنس کے تحت، اور کچھ اجزاء کا کوڈ BSD لائسنس کے تحت ہے۔

نئے ورژن کی ایک خاص خصوصیت FPGA سپورٹ (CPU، GPU اور Xeon Phi کے علاوہ) کی ظاہری شکل ہے۔ بورڈز کے لیے ZTEX 1.15yجس میں 4 FPGA چپس شامل ہیں اور بنیادی طور پر بٹ کوائن مائننگ کے لیے استعمال ہوتے ہیں، 7 قسم کے پاس ورڈ ہیش اب لاگو کیے گئے ہیں: bcrypt، کلاسک ڈسکرپٹ (بشمول bigcrypt)، sha512crypt، sha256crypt، md5crypt (بشمول Apache apr1 اور AIXspussalm)، Dr. ، خاص طور پر ورڈپریس میں)۔ ان میں سے کچھ کو پہلی بار ایف پی جی اے پر لاگو کیا گیا ہے۔

bcrypt کے لیے، 119^2 تکرار ("$5b$2") کے ساتھ ~05k c/s کی حاصل کردہ کارکردگی ~27 واٹ کی بجلی کی کھپت کے ساتھ نمایاں طور پر تازہ ترین GPUs فی بورڈ، فی ہارڈ ویئر کی قیمت، اور فی واٹ کے نتائج سے زیادہ ہے۔ . حمایت بھی کی۔ جھرمٹ اس قسم کے بورڈز، جن کا تجربہ 16 بورڈز (64 FPGA چپس) تک کیا گیا ہے جو کہ ایک Raspberry Pi 2 سے کنٹرول کیا جاتا ہے۔ معمول کی جان دی ریپر فعالیت کو سپورٹ کیا جاتا ہے، بشمول پاس ورڈ کا اندازہ لگانے کے تمام موڈز اور بیک وقت ہیشز کی ایک بڑی تعداد کو ڈاؤن لوڈ کرنا۔ .

کام کو تیز کرنے کے لیے، ہم نے ماسک کے استعمال کو لاگو کیا ("—ماسک" موڈ، بشمول دیگر طریقوں کے ساتھ) اور حسابی ہیشز کا FPGA سائیڈ پر بھری ہوئی چیزوں کے ساتھ موازنہ کیا۔ نفاذ کے نقطہ نظر سے، بہت سے ڈیزائن (جیسے sha512crypt اور Drupal7کرپٹوگرافک کور کے ساتھ تعامل کرنے والے ملٹی تھریڈڈ پروسیسر کور (سافٹ سی پی یو کور) پر مشتمل بلاکس استعمال کیے جاتے ہیں۔ دیگر جمبو ڈویلپرز کے ساتھ ہم آہنگی میں اس فعالیت کی ترقی کی قیادت ڈینس بریکن نے کی۔

دیگر اہم تبدیلیاں:

  • بڑی تعداد میں اضافی اقسام کی ہیشز، سائفرز وغیرہ کے لیے سپورٹ، بشمول کلاسک پاس ورڈ ہیش (مثال کے طور پر QNX کے نئے ورژن سے)، نیز کریپٹو کرنسی والیٹس، انکرپٹڈ آرکائیوز اور انکرپٹڈ فائل سسٹمز (مثال کے طور پر، بٹ لاکر اور فری بی ایس ڈی جیلی) کے ساتھ ساتھ نئی قسم کے فارمیٹس کے لیے سپورٹ جو پہلے سپورٹ کیے گئے تھے (مثال کے طور پر، اوپن بی ایس ڈی سافٹ ٹریڈ کے لیے bcrypt-pbkdf کے لیے شامل کردہ سپورٹ) اور بہت کچھ۔ مجموعی طور پر، CPU پر 80 اور OpenCL پر 47 فارمیٹس شامل کیے گئے ہیں۔ CPU پر فارمیٹس کی کل تعداد اب 407 ہے (یا 262 جن میں کنفیگریشن فائلوں سے تشکیل شدہ "متحرک" فارمیٹس شامل نہیں ہیں) اور OpenCL پر 88 ہیں۔
  • OpenCL کے حق میں CUDA زبان کی حمایت کرنے سے انکار، جو NVIDIA GPUs کے مکمل استعمال میں کسی بھی طرح سے مداخلت نہیں کرتا ہے (اور یہاں تک کہ مدد کرتا ہے، GPU کے لیے پہلے دو نفاذ کے بجائے ہر ایک فارمیٹ کے ایک نفاذ پر توجہ مرکوز کرنے اور ترقی اور اصلاح کرنے کی بدولت)۔
  • نئے SIMD انسٹرکشن سیٹس کے لیے سپورٹ - AVX2، AVX-512 (بشمول دوسری جنریشن Xeon Phi کے لیے) اور MIC (پہلی جنریشن کے لیے) - نیز بہت سے فارمیٹس کے نفاذ میں SIMD کا زیادہ آفاقی اور مکمل استعمال، بشمول استعمال x86(-64) اور پر AVX اور XOP تک پہلے سے معاون ہدایات سیٹ کرتی ہیں۔
    NEON، ASIMD اور AltiVec بالترتیب ARM، Aarch64 اور POWER پر۔

  • سی پی یو اور اوپن سی ایل کے لیے متعدد اصلاحیں، دونوں ایک ساتھ بڑی تعداد میں ہیشز کے ساتھ زیادہ مؤثر طریقے سے کام کرنے کے لیے (مثال کے طور پر، GPU پر 320 ملین SHA-1 ہیشز کو لوڈ کرنے کا تجربہ کیا گیا تھا)، اور ہیش کیلکولیشن کی رفتار کو بڑھانے کے لیے۔ ان میں سے کچھ اصلاحات عالمگیر ہیں، کچھ فارمیٹس کے مختلف ذیلی سیٹوں کا احاطہ کرتی ہیں، اور بہت سے انفرادی فارمیٹس کے لیے مخصوص ہیں۔
  • سی پی یو (“—tune=auto —verbosity=5”) پر چیک شدہ پاس ورڈز کی زیادہ سے زیادہ بفرنگ کی ترتیب اور OpenCL (بذریعہ ڈیفالٹ فعال) پر کام کے بہترین سائز کی ترتیب، بشمول مکمل آپریٹنگ فریکوئنسی تک سست ریمپ کو مدنظر رکھنا۔ NVIDIA GTX سیریز کے GPUs 10xx اور جدید تر۔ ایسی آٹو ٹیوننگ کے لیے درحقیقت بھری ہوئی ہیشز اور پاس ورڈز کی اصل لمبائی کی جانچ کرنا (جب یہ پہلے سے معلوم ہو)۔
  • براہ راست کمانڈ لائن پر متعین "متحرک اظہار" کے لیے ایک کمپائلر کو شامل کرنا اور نئی ہائبرڈ ہیش اقسام کو نافذ کرنا، مثال کے طور پر "-format=dynamic='sha1(md5($p).$s)'"، جس کا حساب SIMD کا استعمال کرتے ہوئے CPU پر کیا جاتا ہے۔ . اس طرح کے تاثرات کے اجزاء کے طور پر، درجنوں تیز ہیش سپورٹ کیے جاتے ہیں (عام سے MD5 جیسے بھنور جیسے اعتدال پسند غیر ملکی تک)، سب اسٹرنگ کنکٹنیشن، انکوڈنگ اور ڈی کوڈنگ، کریکٹر کیس کنورژن، پاس ورڈ کے حوالے، نمک، صارف نام اور سٹرنگ مستقل۔
  • ہیش کیٹ سے ناپسندیدہ اختلافات کا خاتمہ، بشمول سابقہ ​​ہیش کیٹ کے مخصوص اصولوں (ورڈ لسٹ رول کمانڈز) کے لیے سپورٹ، 1 سے اوپن سی ایل ڈیوائس نمبرنگ میں منتقلی، کارکردگی ٹیسٹ کے لیے اسی پاس ورڈ کی لمبائی (عموماً لمبائی 7) کا ڈیفالٹ استعمال۔
  • قابل تصدیق پاس ورڈز (کریکنگ موڈز) بنانے کے نئے موڈز، بشمول ہیش کیٹ سے PRINCE (کئی الفاظ کو ملا کر کل لمبائی کے بڑھتے ہوئے ترتیب میں "جملے" بناتا ہے)، سب سیٹ (مختلف حروف کی ناکافی تعداد کے ساتھ پاس ورڈ سامنے لاتا ہے، چاہے یہ حروف ہی کیوں نہ ہوں۔ ممکنہ کے ایک بڑے سیٹ سے) اور ہائبرڈ ایکسٹرنل (کسی دوسرے موڈ سے موصول ہونے والے ہر بنیادی "لفظ" کی بنیاد پر بہت سے قابل تصدیق پاس ورڈ تیار کرنے کے لیے C- جیسی زبان میں کنفیگریشن فائلوں میں بیان کردہ بیرونی طریقوں کی اجازت دیتا ہے)۔ نیز، کئی نئے پہلے سے طے شدہ بیرونی موڈز۔
  • متعدد طریقوں کو بیک وقت استعمال کرنے کے لیے اضافی صلاحیتیں (ایک دوسرے کے اوپر - اسٹیکنگ)، اور ساتھ ہی قواعد کے سیٹ استعمال کرنے کے لیے (ورڈ لسٹ رولز اسٹیکنگ)۔
  • ماسک کے طریقوں میں بہتری (مخصوص لمبائی میں ماسک کا بتدریج کھینچنا، اوپن سی ایل ڈیوائس یا ایف پی جی اے بورڈ کے اطراف میں ماسک لگانا) اور سنگل کریک (ان آلات پر معقول رویہ جو متوازی طور پر بڑی تعداد میں ہیش کا حساب لگاتے ہیں۔ ، جس کے لیے پہلے اس موڈ میں کافی قابل تصدیق پاس ورڈ نہیں تھے، اور میموری کی کھپت پر بھی پابندیاں)۔
  • مختلف ذیلی نظاموں میں یونیکوڈ اور دیگر انکوڈنگز کے لیے بہت ساری اصلاحات۔
  • *2john پروگراموں میں بہت سی بہتری (جو مختلف فارمیٹس کی فائلوں کو تبدیل کرتے ہیں۔
    جان کے ساتھ استعمال کریں)، خاص طور پر wpapcap2john (وائی فائی ٹریفک کو ہینڈل کرتا ہے۔

  • بہت سے نئے کمانڈ لائن آپشنز ہیں، john.conf میں سیٹنگز، اسکرپٹ آپشنز کو کنفیگر کریں اور متعلقہ نئی خصوصیات، جن میں سے سبھی کا یہاں ذکر نہیں کیا گیا۔
  • ایڈریس سنیٹائزر (پہلے) اور UndefinedBehaviorSanitizer (شامل) کے ساتھ ڈیبگ بلڈز کے لیے بلٹ ان سپورٹ کی بدولت کوڈ کے معیار کو بہتر بنانا، بلٹ ان فارمیٹ فزر (GSoC 2015 کے حصے کے طور پر) شامل کرنا، مسلسل انضمام کا استعمال کرتے ہوئے (درجنوں آپریٹنگ سسٹم اور کمپائلر کے لیے بناتا ہے۔ تمام فارمیٹس کے لیے درست تعاون کے لیے امتزاج اور ان کی جانچ کرنا)۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں