کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت

جب آپ لفظ "کرپٹوگرافی" سنتے ہیں تو کچھ لوگوں کو اپنا وائی فائی پاس ورڈ، ان کی پسندیدہ ویب سائٹ کے ایڈریس کے آگے سبز پیڈلاک، اور کسی اور کے ای میل میں جانا کتنا مشکل ہوتا ہے یاد رہتا ہے۔ دوسرے حالیہ برسوں میں مخففات (DROWN, FREAK, POODLE...)، سجیلا لوگو اور اپنے براؤزر کو فوری طور پر اپ ڈیٹ کرنے کی وارننگ کے ساتھ کمزوریوں کا ایک سلسلہ یاد کرتے ہیں۔

خفیہ نگاری اس سب کا احاطہ کرتی ہے، لیکن جوہر دوسرے میں نقطہ یہ ہے کہ سادہ اور پیچیدہ کے درمیان ایک عمدہ لکیر ہے۔ کچھ چیزیں کرنا آسان ہیں، لیکن ایک ساتھ رکھنا مشکل، جیسے انڈے توڑنا۔ دوسری چیزیں کرنا آسان ہیں لیکن جب کوئی چھوٹا، اہم، اہم حصہ غائب ہو تو واپس حاصل کرنا مشکل ہے: مثال کے طور پر، جب "اہم حصہ" کلید ہو تو بند دروازہ کھولنا۔ کرپٹوگرافی ان حالات کا مطالعہ کرتی ہے اور انہیں عملی طور پر کیسے استعمال کیا جا سکتا ہے۔

حالیہ برسوں میں، کرپٹوگرافک حملوں کا مجموعہ چمکدار لوگو کے چڑیا گھر میں تبدیل ہو گیا ہے، جو سائنسی کاغذات کے فارمولوں سے بھرا ہوا ہے، اور اس نے ایک عام اداس احساس کو جنم دیا ہے کہ سب کچھ ٹوٹ گیا ہے۔ لیکن درحقیقت، بہت سے حملے چند عام اصولوں پر مبنی ہوتے ہیں، اور فارمولوں کے لامتناہی صفحات کو اکثر آسانی سے سمجھے جانے والے خیالات کے لیے اُبال دیا جاتا ہے۔

مضامین کے اس سلسلے میں، ہم بنیادی اصولوں پر زور دیتے ہوئے مختلف قسم کے کرپٹوگرافک حملوں کو دیکھیں گے۔ عام اصطلاحات میں اور بالکل اس ترتیب میں نہیں، لیکن ہم درج ذیل کا احاطہ کریں گے:

  • بنیادی حکمت عملی: بریٹ فورس، فریکوئنسی تجزیہ، انٹرپولیشن، ڈاون گریڈنگ اور کراس پروٹوکول۔
  • برانڈڈ کمزوریاں: فریک، کرائم، پوڈل، ڈوبنا، لاگجام۔
  • اعلی درجے کی حکمت عملی: اوریکل حملے (Vodenet حملہ، Kelsey حملہ)؛ میٹ-ان-دی-درمیانی طریقہ، سالگرہ کا حملہ، شماریاتی تعصب (تفرقی خفیہ تجزیہ، انٹیگرل کرپٹی تجزیہ، وغیرہ)۔
  • سائیڈ چینل حملے اور ان کے قریبی رشتہ دار، ناکامی کے تجزیہ کی تکنیک۔
  • عوامی کلیدی خفیہ نگاری پر حملے: کیوب روٹ، براڈکاسٹ، متعلقہ پیغام، کاپرسمتھ حملہ، پوہلیگ-ہیل مین الگورتھم، نمبر چھلنی، وینر حملہ، بلیچین باکر حملہ۔

اس خاص مضمون میں کیلسی کے حملے تک مندرجہ بالا مواد کا احاطہ کیا گیا ہے۔

بنیادی حکمت عملی

مندرجہ ذیل حملے اس لحاظ سے آسان ہیں کہ ان کی تقریباً مکمل طور پر تکنیکی تفصیل کے بغیر وضاحت کی جا سکتی ہے۔ آئیے پیچیدہ مثالوں یا جدید استعمال کے معاملات میں جانے کے بغیر، ہر قسم کے حملے کو آسان ترین الفاظ میں بیان کرتے ہیں۔

ان حملوں میں سے کچھ بڑی حد تک متروک ہو چکے ہیں اور کئی سالوں سے استعمال نہیں ہو رہے ہیں۔ دوسرے پرانے وقت والے ہیں جو 21ویں صدی میں اب بھی باقاعدگی سے غیر مشتبہ کرپٹو سسٹم ڈویلپرز کو تلاش کرتے ہیں۔ جدید خفیہ نگاری کا دور IBM DES کی آمد کے ساتھ شروع ہوا سمجھا جا سکتا ہے، اس فہرست پر ہر حملے کا مقابلہ کرنے والا پہلا سائفر۔

سادہ وحشی قوت

کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحتانکرپشن اسکیم دو حصوں پر مشتمل ہے: 1) ایک انکرپشن فنکشن جو کلید کے ساتھ مل کر ایک پیغام (سادہ متن) لیتا ہے اور پھر ایک خفیہ کردہ پیغام تیار کرتا ہے — سائفر ٹیکسٹ؛ 2) ایک ڈکرپشن فنکشن جو سائفر ٹیکسٹ اور کلید کو لیتا ہے اور سادہ متن تیار کرتا ہے۔ انکرپشن اور ڈکرپشن دونوں کو کلید کے ساتھ حساب کرنا آسان ہونا چاہیے — اور اس کے بغیر پتہ لگانا مشکل ہے۔

آئیے فرض کریں کہ ہم سائفر ٹیکسٹ دیکھتے ہیں اور بغیر کسی اضافی معلومات کے اسے ڈکرپٹ کرنے کی کوشش کرتے ہیں (اسے صرف سائفر ٹیکسٹ حملہ کہا جاتا ہے)۔ اگر ہمیں کسی طرح جادوئی طور پر صحیح کلید مل جاتی ہے، تو ہم آسانی سے تصدیق کر سکتے ہیں کہ اگر نتیجہ ایک معقول پیغام ہے تو یہ واقعی درست ہے۔

نوٹ کریں کہ یہاں دو مفروضے ہیں۔ سب سے پہلے، ہم جانتے ہیں کہ ڈکرپشن کیسے کرنا ہے، یعنی کرپٹو سسٹم کیسے کام کرتا ہے۔ خفیہ نگاری پر بحث کرتے وقت یہ ایک معیاری مفروضہ ہے۔ حملہ آوروں سے سائفر کے نفاذ کی تفصیلات کو چھپانا ایک اضافی حفاظتی اقدام کی طرح لگتا ہے، لیکن حملہ آور کے ان تفصیلات کا پتہ لگانے کے بعد، یہ اضافی سیکیورٹی خاموشی سے اور ناقابل واپسی طور پر ضائع ہو جاتی ہے۔ اس طرح Kerchhoffs اصول: دشمن کے ہاتھ میں آنے والا نظام تکلیف کا باعث نہ ہو۔

دوسرا، ہم فرض کرتے ہیں کہ صحیح کلید واحد کلید ہے جو ایک معقول ڈکرپشن کا باعث بنے گی۔ یہ بھی ایک معقول مفروضہ ہے۔ یہ مطمئن ہے اگر سائفر ٹیکسٹ کلید سے زیادہ لمبا ہے اور پڑھنے کے قابل ہے۔ یہ عام طور پر حقیقی دنیا میں ہوتا ہے، سوائے اس کے بڑی ناقابل عمل چابیاں یا دوسرے شینیگنز جو بہترین طور پر ایک طرف رہ جاتے ہیں۔ (اگر آپ کو ہماری وضاحتوں کی برخاستگی پسند نہیں ہے، تو براہ کرم نظریہ 3.8 دیکھیں یہاں).

مندرجہ بالا کو دیکھتے ہوئے، ایک حکمت عملی پیدا ہوتی ہے: ہر ممکنہ کلید کو چیک کریں۔ اسے بروٹ فورس کہا جاتا ہے، اور اس طرح کے حملے کے تمام عملی سائفرز کے خلاف کام کرنے کی ضمانت دی جاتی ہے - آخر کار۔ مثال کے طور پر، بروٹ فورس ہیک کرنے کے لیے کافی ہے۔ سیزر سیفر، ایک قدیم سائفر جہاں کلید حروف تہجی کا ایک حرف ہے، جس کا مطلب صرف 20 سے زیادہ ممکنہ کلیدیں ہیں۔

بدقسمتی سے کرپٹ تجزیہ کاروں کے لیے، کلیدی سائز کو بڑھانا وحشی قوت کے خلاف ایک اچھا دفاع ہے۔ جیسے جیسے کلید کا سائز بڑھتا ہے، ممکنہ چابیاں کی تعداد تیزی سے بڑھ جاتی ہے۔ جدید کلیدی سائز کے ساتھ، سادہ بروٹ فورس مکمل طور پر ناقابل عمل ہے۔ یہ سمجھنے کے لیے کہ ہمارا کیا مطلب ہے، آئیے 2019 کے وسط تک کے سب سے تیز رفتار سپر کمپیوٹر کو لیتے ہیں: سربراہی کانفرنس IBM سے، تقریباً 1017 آپریشنز فی سیکنڈ کی اعلیٰ کارکردگی کے ساتھ۔ آج، عام کلید کی لمبائی 128 بٹس ہے، جس کا مطلب ہے 2128 ممکنہ امتزاج۔ تمام کلیدوں کو تلاش کرنے کے لیے، سمٹ سپر کمپیوٹر کو وقت درکار ہوگا جو کائنات کی عمر سے تقریباً 7800 گنا زیادہ ہے۔

کیا وحشیانہ طاقت کو تاریخی تجسس سمجھا جانا چاہیے؟ بالکل نہیں: یہ کرپٹ اینالیسس کک بک میں ایک ضروری جزو ہے۔ شاذ و نادر ہی سائفرز اتنے کمزور ہوتے ہیں کہ انہیں صرف ایک ہوشیار حملے سے توڑا جا سکتا ہے، بغیر کسی حد تک طاقت کے استعمال کے۔ بہت سے کامیاب ہیکس پہلے ٹارگٹ سائفر کو کمزور کرنے کے لیے الگورتھمک طریقہ استعمال کرتے ہیں، اور پھر بروٹ فورس حملہ کرتے ہیں۔

تعدد کا تجزیہ

کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحتزیادہ تر نصوص فضول نہیں ہیں۔ مثال کے طور پر، انگریزی متن میں بہت سے حروف 'e' اور مضامین 'the' ہیں؛ بائنری فائلوں میں معلومات کے ٹکڑوں کے درمیان پیڈنگ کے طور پر بہت سارے null بائٹس ہوتے ہیں۔ تعدد تجزیہ کوئی بھی حملہ ہے جو اس حقیقت کا فائدہ اٹھاتا ہے۔

اس حملے کے خطرے سے دوچار سائفر کی کینونیکل مثال سادہ متبادل سائفر ہے۔ اس سائفر میں، کلید ایک ٹیبل ہے جس میں تمام حروف کو تبدیل کیا گیا ہے۔ مثال کے طور پر، 'g' کی جگہ 'h'، 'o' کی جگہ j، تو لفظ 'go' 'hj' بن جاتا ہے۔ اس سائفر کو بروٹ فورس کرنا مشکل ہے کیونکہ بہت ساری ممکنہ تلاش کی میزیں ہیں۔ اگر آپ ریاضی میں دلچسپی رکھتے ہیں تو، مؤثر کلید کی لمبائی تقریباً 88 بٹس ہے: یہ
کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت. لیکن تعدد تجزیہ عام طور پر کام کو تیزی سے انجام دیتا ہے۔

ایک سادہ متبادل سائفر کے ساتھ درج ذیل سائفر ٹیکسٹ پر غور کریں:

XDYLY ALY UGLY XDWNKE WN DYAJYN ANF YALXD DGLAXWG XDAN ALY FLYAUX GR WN OGQL ZDWBGEGZDO

چونکہ Y اکثر ہوتا ہے، بشمول بہت سے الفاظ کے آخر میں، ہم عارضی طور پر یہ فرض کر سکتے ہیں کہ یہ حرف ہے e:

XDeLe ALe UGLe XDWNKE WN DeAJeN ANF eALXD DGLAXWG XDAN ALe FLeAUX GR WN OGQL ZDWBGEGZDO

دمپتی XD کئی الفاظ کے شروع میں دہرایا گیا۔ خاص طور پر، مجموعہ XDeLe واضح طور پر لفظ کی تجویز کرتا ہے۔ these یا there، تو آئیے جاری رکھیں:

TheLe ALe UGLe thWNKE WN heAJeN ANF eALth DGLAtWG سے ALe FLeAUt GR WN OGQL ZDWBGEGZDO

آئیے مزید یہ مان لیتے ہیں۔ L سے مساوی r, A - a اور اسی طرح. اس میں شاید کچھ کوششیں لگیں گی، لیکن ایک مکمل طاقت کے حملے کے مقابلے میں، یہ حملہ کسی بھی وقت میں اصل متن کو بحال کر دیتا ہے:

آپ کے فلسفہ میں اس سے کہیں زیادہ چیزیں آسمان اور زمین کے ہوریشن میں ہیں۔

کچھ لوگوں کے لیے، ایسے "کرپٹوگرام" کو حل کرنا ایک دلچسپ مشغلہ ہے۔

تعدد تجزیہ کا خیال اس سے کہیں زیادہ بنیادی ہے جتنا یہ پہلی نظر میں لگتا ہے۔ اور یہ بہت زیادہ پیچیدہ سائفرز پر لاگو ہوتا ہے۔ پوری تاریخ میں، مختلف سائفر ڈیزائنوں نے "پولیلفبیٹک متبادل" کا استعمال کرتے ہوئے اس طرح کے حملے کا مقابلہ کرنے کی کوشش کی ہے۔ یہاں، انکرپشن کے عمل کے دوران، لیٹر متبادل جدول کو پیچیدہ لیکن قابل قیاس طریقوں سے تبدیل کیا جاتا ہے جو کلید پر منحصر ہے۔ ان تمام سائفرز کو ایک وقت میں توڑنا مشکل سمجھا جاتا تھا۔ اور پھر بھی معمولی تعدد کے تجزیے نے بالآخر ان سب کو شکست دے دی۔

تاریخ کا سب سے زیادہ مہتواکانکشی پولی الفبیٹک سائفر، اور شاید سب سے زیادہ مشہور، دوسری جنگ عظیم کا اینیگما سائفر تھا۔ یہ اپنے پیشروؤں کے مقابلے نسبتاً پیچیدہ تھا، لیکن کافی محنت کے بعد، برطانوی کرپٹ تجزیہ کاروں نے فریکوئنسی تجزیہ کا استعمال کرتے ہوئے اسے توڑا۔ بلاشبہ، وہ اوپر دکھایا گیا ایک خوبصورت حملہ تیار نہیں کر سکے۔ انہیں سادہ متن اور سائفر ٹیکسٹ کے معروف جوڑوں کا موازنہ کرنا پڑا (نام نہاد "سادہ ٹیکسٹ حملہ")، یہاں تک کہ اینیگما صارفین کو کچھ پیغامات کو خفیہ کرنے اور نتیجہ کا تجزیہ کرنے پر اکسانا تھا ("منتخب کردہ سادہ متن حملہ")۔ لیکن اس سے شکست خوردہ دشمن کی فوجوں اور ڈوبی آبدوزوں کی قسمت آسان نہیں ہوئی۔

اس فتح کے بعد، فریکوئنسی تجزیہ خفیہ تجزیہ کی تاریخ سے غائب ہو گیا۔ جدید ڈیجیٹل دور میں سائفرز کو بٹس کے ساتھ کام کرنے کے لیے ڈیزائن کیا گیا ہے، نہ کہ حروف سے۔ زیادہ اہم بات یہ ہے کہ یہ سائفرز اس تاریک فہم کے ساتھ ڈیزائن کیے گئے تھے جو بعد میں مشہور ہوئے۔ شنیئر کا قانون: کوئی بھی ایک انکرپشن الگورتھم بنا سکتا ہے جسے وہ خود توڑ نہیں سکتا۔ یہ خفیہ کاری کے نظام کے لیے کافی نہیں ہے۔ لگ رہا تھا مشکل: اپنی قابلیت کو ثابت کرنے کے لیے، اسے بہت سے کرپٹ تجزیہ کاروں کی طرف سے بے رحمانہ حفاظتی جائزے سے گزرنا ہوگا جو سائفر کو توڑنے کی پوری کوشش کریں گے۔

ابتدائی حسابات

کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحتآئیے فرضی شہر Precom Heights کو لیں، آبادی 200۔ شہر کے ہر گھر میں اوسطاً $000 مالیت کا قیمتی سامان ہوتا ہے، لیکن $30 سے زیادہ کا قیمتی سامان نہیں ہوتا۔ Precom میں سیکیورٹی مارکیٹ پر ACME انڈسٹریز کی اجارہ داری ہے، جو مشہور Coyote™ دروازے کے تالے تیار کرتی ہے۔ ماہرین کے تجزیے کے مطابق، Coyote کلاس کے تالا کو صرف ایک انتہائی پیچیدہ فرضی مشین سے توڑا جا سکتا ہے، جس کی تخلیق میں تقریباً پانچ سال اور $000 کی سرمایہ کاری درکار ہوگی۔ کیا شہر محفوظ ہے؟

زیادہ تر امکان نہیں بالآخر، ایک کافی مہتواکانکشی مجرم ظاہر ہو جائے گا. وہ اس طرح استدلال کرے گا: "ہاں، میں پہلے سے زیادہ اخراجات اٹھاؤں گا۔ مریض کے پانچ سال انتظار، اور $50۔ لیکن جب میرا کام ختم ہو جائے گا، مجھے اس تک رسائی حاصل ہو جائے گی۔ اس شہر کی تمام دولت. اگر میں اپنے کارڈ صحیح طریقے سے کھیلتا ہوں، تو یہ سرمایہ کاری کئی گنا زیادہ خود ادا کرے گی۔

کرپٹوگرافی میں بھی ایسا ہی ہے۔ کسی خاص سائفر کے خلاف حملے ایک بے رحم لاگت کے فائدہ کے تجزیہ کے تابع ہوتے ہیں۔ اگر تناسب سازگار ہو تو حملہ نہیں ہو گا۔ لیکن ایک ہی وقت میں بہت سے ممکنہ متاثرین کے خلاف کام کرنے والے حملے تقریباً ہمیشہ ہی نتیجہ خیز ہوتے ہیں، ایسی صورت میں ڈیزائن کی بہترین مشق یہ ہے کہ وہ پہلے دن سے شروع ہوئے ہوں۔ ہمارے پاس بنیادی طور پر مرفی کے قانون کا ایک خفیہ نسخہ ہے: "کوئی بھی چیز جو حقیقت میں نظام کو توڑ سکتی ہے وہ نظام کو توڑ دے گی۔"

ایک کرپٹو سسٹم کی سب سے آسان مثال جو پری کمپیوٹیشن اٹیک کا شکار ہے ایک مستقل کلیدی سائفر ہے۔ کے ساتھ یہی معاملہ تھا۔ قیصر کا اشارہ, جو کہ صرف حروف تہجی کے ہر حرف کو تین حروف کو آگے منتقل کرتا ہے (ٹیبل لوپ ہے، لہذا حروف تہجی میں آخری حرف تیسرے کو خفیہ کیا گیا ہے)۔ یہاں ایک بار پھر Kerchhoffs کا اصول عمل میں آتا ہے: ایک بار جب کوئی سسٹم ہیک ہو جاتا ہے تو اسے ہمیشہ کے لیے ہیک کر لیا جاتا ہے۔

تصور سادہ ہے۔ یہاں تک کہ ایک نیا کرپٹو سسٹم ڈویلپر بھی ممکنہ طور پر خطرے کو پہچان لے گا اور اس کے مطابق تیاری کرے گا۔ کرپٹوگرافی کے ارتقاء کو دیکھتے ہوئے، اس طرح کے حملے زیادہ تر سائفرز کے لیے نامناسب تھے، سیزر سائفر کے پہلے بہتر ورژن سے لے کر پولی الفبیٹک سائفرز کے زوال تک۔ اس طرح کے حملے صرف خفیہ نگاری کے جدید دور کی آمد کے ساتھ واپس آئے۔

یہ واپسی دو عوامل کی وجہ سے ہے۔ سب سے پہلے، کافی پیچیدہ کرپٹو سسٹم آخر کار نمودار ہوئے، جہاں ہیکنگ کے بعد استحصال کا امکان واضح نہیں تھا۔ دوسرا، خفیہ نگاری اس قدر پھیل گئی کہ لاکھوں عام لوگ ہر روز یہ فیصلے کرتے ہیں کہ خفیہ نگاری کے کہاں اور کن حصوں کو دوبارہ استعمال کرنا ہے۔ ماہرین کو خطرات کا ادراک کرنے اور خطرے کی گھنٹی بجانے میں کچھ وقت لگا۔

پری کمپیوٹیشن حملے کو یاد رکھیں: مضمون کے آخر میں ہم دو حقیقی زندگی کی کرپٹوگرافک مثالیں دیکھیں گے جہاں اس نے اہم کردار ادا کیا ہے۔

رکاوٹ

یہ ہے مشہور جاسوس شرلاک ہومز، جو ڈاکٹر واٹسن پر ایک انٹرپولیشن حملہ کر رہا ہے:

میں نے فوراً اندازہ لگایا کہ آپ افغانستان سے آئے ہیں... میری سوچ کی ٹریننگ کچھ یوں تھی: "یہ آدمی قسم کے لحاظ سے ڈاکٹر ہے، لیکن اس کے پاس فوجی طاقت ہے۔ تو، ایک فوجی ڈاکٹر. وہ ابھی اشنکٹبندیی سے آیا ہے - اس کا چہرہ سیاہ ہے، لیکن یہ اس کی جلد کا قدرتی سایہ نہیں ہے، کیونکہ اس کی کلائیاں زیادہ سفید ہیں۔ چہرہ خستہ حال ہے — ظاہر ہے، اس نے بہت تکلیفیں برداشت کی ہیں اور بیماری میں مبتلا ہیں۔ اس کے بائیں ہاتھ میں زخم تھا - اس نے اسے بے حرکت اور قدرے غیر فطری طور پر تھام رکھا تھا۔ اشنکٹبندیی علاقوں میں ایک انگریز فوجی ڈاکٹر کہاں تک مشکلات برداشت کر سکتا ہے اور زخمی ہو سکتا ہے؟ یقیناً افغانستان میں۔" سوچ کی پوری ٹرین نے ایک سیکنڈ بھی نہیں لیا تھا۔ اور تو میں نے کہا کہ آپ افغانستان سے آئے ہیں، اور آپ حیران ہوئے۔

ہومز انفرادی طور پر ثبوت کے ہر ٹکڑے سے بہت کم معلومات نکال سکتا تھا۔ وہ ان سب کو ایک ساتھ سوچ کر ہی اپنے نتیجے پر پہنچ سکتا تھا۔ ایک انٹرپولیشن حملہ ایک ہی کلید کے نتیجے میں معلوم سادہ متن اور سائفر ٹیکسٹ جوڑوں کی جانچ کرکے اسی طرح کام کرتا ہے۔ ہر جوڑے سے، انفرادی مشاہدات نکالے جاتے ہیں جو کلید کے بارے میں ایک عمومی نتیجہ اخذ کرنے کی اجازت دیتے ہیں۔ یہ تمام نتائج مبہم ہیں اور اس وقت تک بیکار لگتے ہیں جب تک کہ وہ اچانک ایک اہم بڑے پیمانے پر نہ پہنچ جائیں اور واحد ممکنہ نتیجے پر نہ پہنچ جائیں: چاہے یہ کتنا ہی ناقابل یقین کیوں نہ ہو، یہ سچ ہونا چاہیے۔ اس کے بعد، یا تو کلید ظاہر ہو جاتی ہے، یا ڈکرپشن کا عمل اتنا بہتر ہو جاتا ہے کہ اسے نقل کیا جا سکتا ہے۔

آئیے ایک سادہ سی مثال سے واضح کرتے ہیں کہ انٹرپولیشن کیسے کام کرتا ہے۔ ہم کہتے ہیں کہ ہم اپنے دشمن باب کی ذاتی ڈائری پڑھنا چاہتے ہیں۔ وہ اپنی ڈائری میں ہر نمبر کو ایک سادہ کرپٹو سسٹم کا استعمال کرتے ہوئے انکرپٹ کرتا ہے جس کے بارے میں اس نے میگزین "A Mock of Cryptography" کے اشتہار سے سیکھا تھا۔ سسٹم اس طرح کام کرتا ہے: باب دو نمبروں کا انتخاب کرتا ہے جو اسے پسند ہیں: کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت и کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت. اب سے، کسی بھی نمبر کو خفیہ کرنے کے لیے کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت، یہ حساب کرتا ہے۔ کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت. مثال کے طور پر، اگر باب نے انتخاب کیا۔ کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت и کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت، پھر نمبر کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت کے طور پر انکرپٹ کیا جائے گا۔ کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت.

بتاتے چلیں کہ 28 دسمبر کو ہم نے دیکھا کہ باب اپنی ڈائری میں کچھ کھرچ رہا ہے۔ جب وہ ختم ہو جائے گا، ہم خاموشی سے اسے اٹھا لیں گے اور آخری اندراج دیکھیں گے:

تاریخ: 235/520

عزیز ڈائری،

آج کا دن اچھا تھا۔ کے ذریعے 64 آج میری الیسا کے ساتھ ملاقات ہے، جو ایک اپارٹمنٹ میں رہتی ہے۔ 843. مجھے واقعی لگتا ہے کہ وہ ہو سکتی ہے۔ 26!

چونکہ ہم باب کو اس کی تاریخ پر فالو کرنے میں بہت سنجیدہ ہیں (اس منظر نامے میں ہم دونوں 15 سال کے ہیں)، اس لیے تاریخ کے ساتھ ساتھ ایلس کا پتہ جاننا بھی ضروری ہے۔ خوش قسمتی سے، ہم نے محسوس کیا کہ باب کا کرپٹو سسٹم انٹرپولیشن حملے کا شکار ہے۔ ہو سکتا ہے ہمیں معلوم نہ ہو۔ کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت и کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت، لیکن ہم آج کی تاریخ جانتے ہیں، اس لیے ہمارے پاس دو سادہ متن کے جوڑے ہیں۔ یعنی ہم یہ جانتے ہیں۔ کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت میں خفیہ کردہ کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحتاور کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت - کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت. یہ وہی ہے جو ہم لکھیں گے:

کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت

کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت

چونکہ ہماری عمر 15 سال ہے، ہم پہلے سے ہی دو مساوات کے نظام کے بارے میں جانتے ہیں جس میں دو نامعلوم ہیں، جو اس صورت حال میں تلاش کرنے کے لیے کافی ہے۔ کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت и کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت بغیر کسی پریشانی کے۔ ہر سادہ متن-سائپر ٹیکسٹ جوڑا باب کی کلید پر ایک رکاوٹ ڈالتا ہے، اور دونوں رکاوٹیں کلید کو مکمل طور پر بحال کرنے کے لیے کافی ہیں۔ ہماری مثال میں جواب ہے۔ کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت и کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت (پر کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت، تو 26 ڈائری میں لفظ 'ایک' سے مطابقت رکھتا ہے، یعنی "وہی ایک" - تقریباً۔ لین)۔

انٹرپولیشن حملے یقیناً ایسی سادہ مثالوں تک محدود نہیں ہیں۔ ہر ایک کرپٹو سسٹم جو ایک اچھی طرح سے سمجھی جانے والی ریاضیاتی چیز اور پیرامیٹرز کی فہرست تک کم ہو جاتا ہے ایک انٹرپولیشن اٹیک کا خطرہ ہوتا ہے — جتنا زیادہ قابل فہم چیز اتنا ہی زیادہ خطرہ ہوتا ہے۔

نئے آنے والے اکثر شکایت کرتے ہیں کہ خفیہ نگاری "چیزوں کو ممکنہ حد تک بدصورت بنانے کا فن ہے۔" انٹرپولیشن حملے شاید زیادہ تر ذمہ دار ہیں۔ باب یا تو ایک خوبصورت ریاضیاتی ڈیزائن استعمال کر سکتا ہے یا اپنی تاریخ کو ایلس کے ساتھ نجی رکھ سکتا ہے — لیکن افسوس، آپ کے پاس عام طور پر یہ دونوں طریقوں سے نہیں ہو سکتا۔ جب ہم آخرکار عوامی کلیدی خفیہ نگاری کے موضوع پر پہنچیں گے تو یہ کافی حد تک واضح ہو جائے گا۔

کراس پروٹوکول/ڈاؤن گریڈ

کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحتناؤ یو سی می (2013) میں، وہم پرستوں کا ایک گروپ کرپٹ انشورنس میگنیٹ آرتھر ٹریسلر کو اس کی پوری قسمت سے دھوکہ دینے کی کوشش کرتا ہے۔ آرتھر کے بینک اکاؤنٹ تک رسائی حاصل کرنے کے لیے، وہم پرستوں کو یا تو اس کا صارف نام اور پاس ورڈ فراہم کرنا ہوگا یا اسے بینک میں ذاتی طور پر حاضر ہونے اور اسکیم میں حصہ لینے پر مجبور کرنا ہوگا۔

دونوں اختیارات بہت مشکل ہیں۔ لڑکے اسٹیج پر پرفارم کرنے کے عادی ہیں، اور انٹیلی جنس آپریشنز میں حصہ نہیں لیتے۔ اس لیے وہ تیسرے ممکنہ آپشن کا انتخاب کرتے ہیں: ان کا ساتھی بینک کو کال کرتا ہے اور آرتھر ہونے کا بہانہ کرتا ہے۔ بینک شناخت کی تصدیق کے لیے کئی سوالات پوچھتا ہے، جیسے چچا کا نام اور پہلے پالتو جانور کا نام؛ ہمارے ہیروز پیشگی وہ ہوشیار سوشل انجینئرنگ کا استعمال کرتے ہوئے آرتھر سے یہ معلومات آسانی سے نکال لیتے ہیں۔. اس مقام سے، پاس ورڈ کی بہترین حفاظت اب کوئی اہمیت نہیں رکھتی۔

(ایک شہری لیجنڈ کے مطابق جس کی ہم نے ذاتی طور پر تصدیق اور تصدیق کی ہے، خفیہ نگار ایلی بیہام کا ایک بار ایک بینک ٹیلر سے سامنا ہوا جس نے سیکیورٹی سوال طے کرنے پر اصرار کیا۔ جب ٹیلر نے اپنی نانی کا نام پوچھا تو بیہام نے یہ حکم دینا شروع کیا: "کیپٹل ایکس، چھوٹا y، تین...")۔

یہ کرپٹوگرافی میں بھی ایسا ہی ہے، اگر ایک ہی اثاثہ کی حفاظت کے لیے دو کرپٹوگرافک پروٹوکول متوازی طور پر استعمال کیے جائیں، اور ایک دوسرے سے بہت کمزور ہے۔ نتیجے میں آنے والا نظام کراس پروٹوکول حملے کا شکار ہو جاتا ہے، جہاں ایک کمزور پروٹوکول پر حملہ کیا جاتا ہے تاکہ مضبوط کو چھوئے بغیر انعام حاصل کیا جا سکے۔

کچھ پیچیدہ معاملات میں، صرف ایک کمزور پروٹوکول کا استعمال کرتے ہوئے سرور سے رابطہ کرنا کافی نہیں ہے، بلکہ اس کے لیے ایک جائز کلائنٹ کی غیرضروری شرکت کی ضرورت ہوتی ہے۔ اسے نام نہاد ڈاؤن گریڈ اٹیک کا استعمال کرتے ہوئے منظم کیا جا سکتا ہے۔ اس حملے کو سمجھنے کے لیے مان لیتے ہیں کہ ہمارے وہم پرستوں کے پاس فلم سے زیادہ مشکل کام ہے۔ آئیے فرض کریں کہ ایک بینک ملازم (کیشیئر) اور آرتھر کو کچھ غیر متوقع حالات کا سامنا کرنا پڑا، جس کے نتیجے میں درج ذیل مکالمہ ہوا:

چور: ہیلو؟ یہ آرتھر ٹریسلر ہے۔ میں اپنا پاس ورڈ دوبارہ ترتیب دینا چاہوں گا۔

کیشئیر: زبردست. براہ کرم اپنی ذاتی خفیہ کوڈ بک، صفحہ 28، لفظ 3 پر ایک نظر ڈالیں۔ مندرجہ ذیل تمام پیغامات اس مخصوص لفظ کو بطور کلید استعمال کرتے ہوئے خفیہ کیے جائیں گے۔ پی کیو جے جی ایچ۔ LOTJNAM PGGY MXVRL ZZLQ SRIU HHNMLPPPV…

چور: ارے، ارے، انتظار کرو، انتظار کرو. کیا یہ واقعی ضروری ہے؟ کیا ہم عام لوگوں کی طرح بات نہیں کر سکتے؟

کیشئیر: میں ایسا کرنے کی سفارش نہیں کرتا ہوں۔

چور: میں بس... دیکھو، میرا دن خراب تھا، ٹھیک ہے؟ میں ایک VIP کلائنٹ ہوں اور میں ان احمقانہ کوڈ کتابوں کو کھودنے کے موڈ میں نہیں ہوں۔

کیشئیر: ٹھیک. اگر آپ اصرار کرتے ہیں، مسٹر Tressler. تم کیا چاہتے ہو؟

چور: براہ کرم، میں اپنی تمام رقم آرتھر ٹریسلر نیشنل وکٹمز فنڈ میں عطیہ کرنا چاہوں گا۔

(توقف)۔

کیشئیر: کیا اب واضح ہے؟ براہ کرم بڑے لین دین کے لیے اپنا PIN فراہم کریں۔

چور: میرا کیا؟

کیشئیر: آپ کی ذاتی درخواست پر، اس سائز کے لین دین کے لیے بڑے لین دین کے لیے PIN کی ضرورت ہوتی ہے۔ یہ کوڈ آپ کو اس وقت دیا گیا جب آپ نے اپنا اکاؤنٹ کھولا۔

چور:... میں نے اسے کھو دیا. کیا یہ واقعی ضروری ہے؟ کیا آپ صرف معاہدے کی منظوری نہیں دے سکتے؟

کیشئیر: نہیں. مجھے افسوس ہے مسٹر ٹریسلر۔ ایک بار پھر، یہ وہ حفاظتی اقدام ہے جس کے لیے آپ نے پوچھا تھا۔ اگر آپ چاہیں تو ہم آپ کے میل باکس میں ایک نیا پن کوڈ بھیج سکتے ہیں۔

ہمارے ہیروز نے آپریشن ملتوی کر دیا۔ وہ ٹریسلر کے کئی بڑے لین دین کو سنتے ہیں، PIN سننے کی امید میں؛ لیکن جب بھی کوئی دلچسپ بات کہے جانے سے پہلے بات چیت کوڈڈ گببرش میں بدل جاتی ہے۔ آخر میں، ایک اچھا دن، منصوبہ عمل میں لایا جاتا ہے۔ وہ صبر سے اس لمحے کا انتظار کرتے ہیں جب ٹریسلر کو فون پر ایک بڑا لین دین کرنا ہوتا ہے، وہ لائن پر آتا ہے، اور پھر...

ٹریسلر: ہیلو. براہ کرم، میں ایک ریموٹ ٹرانزیکشن مکمل کرنا چاہوں گا۔

کیشئیر: زبردست. براہ کرم اپنی ذاتی خفیہ کوڈ بک، صفحہ پر ایک نظر ڈالیں...

(چور بٹن دباتا ہے؛ کیشئر کی آواز ناقابل فہم شور میں بدل جاتی ہے)۔

کیشئیر: - #@$#@$#*@$$@#* کو کلید کے طور پر اس لفظ کے ساتھ انکرپٹ کیا جائے گا۔ AAAYRR PLRQRZ MMNJK LOJBAN…

ٹریسلر: معذرت، میں بالکل سمجھ نہیں پایا۔ دوبارہ؟ کس صفحے پر؟ کون سا لفظ؟

کیشئیر: یہ صفحہ ہے @#$@#*$)#*#@()#@$(#@*$(#@*.

ٹریسلر: کیا؟

کیشئیر: لفظ نمبر بیس @$#@$#%#$۔

ٹریسلر: سنجیدگی سے! پہلے سے ہی کافی! آپ اور آپ کا سیکیورٹی پروٹوکول تھوڑا سا سرکس ہیں۔ میں جانتا ہوں کہ آپ مجھ سے معمول کے مطابق بات کر سکتے ہیں۔

کیشئیر: میں سفارش نہیں کرتا…

ٹریسلر: اور میں تمہیں اپنا وقت ضائع کرنے کا مشورہ نہیں دیتا۔ میں اس کے بارے میں مزید نہیں سننا چاہتا جب تک کہ آپ اپنے فون لائن کے مسائل کو ٹھیک نہیں کر لیتے۔ کیا ہم اس معاہدے کو حتمی شکل دے سکتے ہیں یا نہیں؟

کیشئیر:… جی ہاں. ٹھیک. تم کیا چاہتے ہو؟

ٹریسلر: میں لارڈ بزنس انویسٹمنٹ، اکاؤنٹ نمبر... میں $20 منتقل کرنا چاہتا ہوں۔

کیشئیر: براہ مہربانی ایک منٹ. یہ بہت بڑی بات ہے۔ براہ کرم بڑے لین دین کے لیے اپنا PIN فراہم کریں۔

ٹریسلر: کیا؟ اوہ، بالکل. 1234.

یہاں ایک نیچے کی طرف حملہ ہے۔ کمزور پروٹوکول "صرف براہ راست بات کریں" کے طور پر تصور کیا گیا تھا آپشن ایمرجنسی کی صورت میں. اور پھر بھی ہم یہاں ہیں۔

آپ حیران ہوسکتے ہیں کہ کون اپنے صحیح دماغ میں ایک حقیقی "محفوظ جب تک کہ دوسری صورت میں نہ پوچھے" سسٹم ڈیزائن کرے گا جیسا کہ اوپر بیان کیا گیا ہے۔ لیکن جس طرح ایک خیالی بینک ان صارفین کو برقرار رکھنے کے لیے خطرہ مول لیتا ہے جو خفیہ نگاری کو پسند نہیں کرتے ہیں، عام طور پر سسٹمز اکثر ایسی ضروریات کی طرف متوجہ ہوتے ہیں جو لاتعلق ہیں یا حتیٰ کہ سیکورٹی کے خلاف بالکل مخالف ہیں۔

یہ بالکل وہی ہے جو 2 میں SSLv1995 پروٹوکول کے ساتھ ہوا تھا۔ امریکی حکومت نے طویل عرصے سے خفیہ نگاری کو ایک ایسے ہتھیار کے طور پر دیکھنا شروع کر دیا ہے جسے بیرونی اور ملکی دشمنوں سے دور رکھا جائے۔ کوڈ کے ٹکڑوں کو انفرادی طور پر ریاستہائے متحدہ سے برآمد کرنے کی منظوری دی گئی تھی، اکثر اس شرط کے ساتھ کہ الگورتھم کو جان بوجھ کر کمزور کیا گیا تھا۔ Netscape، سب سے زیادہ مقبول براؤزر، Netscape Navigator کے ڈویلپر کو SSLv2 کے لیے صرف فطری طور پر کمزور 512-bit RSA کلید (اور RC40 کے لیے 4 بٹ) کے ساتھ اجازت دی گئی تھی۔

ہزار سال کے اختتام تک، قوانین میں نرمی آگئی اور جدید خفیہ کاری تک رسائی وسیع پیمانے پر دستیاب ہوگئی۔ تاہم، کلائنٹس اور سرورز نے برسوں سے کمزور "برآمد" کرپٹوگرافی کو اسی جڑت کی وجہ سے سپورٹ کیا ہے جو کسی بھی میراثی نظام کے لیے حمایت کو برقرار رکھتا ہے۔ کلائنٹس کا خیال تھا کہ ان کا سامنا کسی ایسے سرور سے ہو سکتا ہے جو کسی اور چیز کی حمایت نہیں کرتا ہے۔ سرورز نے بھی ایسا ہی کیا۔ بلاشبہ، SSL پروٹوکول حکم دیتا ہے کہ کلائنٹس اور سرورز کو کبھی بھی کمزور پروٹوکول استعمال نہیں کرنا چاہیے جب کوئی بہتر دستیاب ہو۔ لیکن اسی بنیاد کا اطلاق ٹریسلر اور اس کے بینک پر ہوا۔

اس نظریہ نے دو ہائی پروفائل حملوں میں اپنا راستہ تلاش کیا جنہوں نے 2015 میں SSL پروٹوکول کی حفاظت کو ہلا کر رکھ دیا، دونوں کو مائیکروسافٹ کے محققین نے دریافت کیا اور INRIA. سب سے پہلے، FREAK حملے کی تفصیلات فروری میں سامنے آئیں، اس کے بعد تین ماہ بعد Logjam نامی ایک اور حملہ ہوا، جس پر ہم مزید تفصیل سے بات کریں گے جب ہم عوامی کلیدی خفیہ نگاری پر حملوں کی طرف بڑھیں گے۔

کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحتکمزوری FREAK ("Smack TLS" کے نام سے بھی جانا جاتا ہے) اس وقت منظر عام پر آیا جب محققین نے TLS کلائنٹ/سرور کے نفاذ کا تجزیہ کیا اور ایک دلچسپ بگ دریافت کیا۔ ان نفاذ میں، اگر کلائنٹ کمزور ایکسپورٹ کریپٹوگرافی کو استعمال کرنے کے لیے بھی نہیں کہتا، لیکن سرور پھر بھی ایسی کلیدوں کے ساتھ جواب دیتا ہے، تو کلائنٹ "اوہ اچھا" کہتا ہے اور کمزور سائفر سویٹ پر سوئچ کرتا ہے۔

اس وقت، برآمدی خفیہ نگاری کو بڑے پیمانے پر فرسودہ اور حد سے باہر سمجھا جاتا تھا، لہذا یہ حملہ ایک مکمل جھٹکے کے طور پر آیا اور اس نے وائٹ ہاؤس، IRS، اور NSA سائٹس سمیت بہت سے اہم ڈومینز کو متاثر کیا۔ اس سے بھی بدتر، یہ پتہ چلتا ہے کہ بہت سے کمزور سرورز ہر سیشن کے لیے نئی چابیاں بنانے کے بجائے ایک ہی کیز کو دوبارہ استعمال کرکے کارکردگی کو بہتر بنا رہے تھے۔ اس نے پروٹوکول کو گھٹانے کے بعد، پری کمپیوٹیشن حملہ کرنا ممکن بنایا: ایک کلید کو کریک کرنا نسبتاً مہنگا رہا (اشاعت کے وقت $100 اور 12 گھنٹے)، لیکن کنکشن پر حملہ کرنے کی عملی لاگت نمایاں طور پر کم ہوگئی۔ ایک بار سرور کلید کا اندازہ لگانا اور اس لمحے سے بعد کے تمام کنکشنز کے لیے انکرپشن کو کریک کرنا کافی ہے۔

اور اس سے پہلے کہ ہم آگے بڑھیں، ایک جدید حملہ ہے جس کا ذکر ضروری ہے...

اوریکل حملہ

کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحتموکسی مارلن اسپائک کراس پلیٹ فارم کرپٹو میسجنگ ایپ سگنل کے والد کے طور پر مشہور ہے۔ لیکن ہم ذاتی طور پر ان کی ایک غیر معروف اختراع سے محبت کرتے ہیں: کرپٹوگرافک عذاب کا اصول (Cryptographic Doom Principle)۔ تھوڑا سا بیان کرنے کے لئے، ہم یہ کہہ سکتے ہیں: "اگر پروٹوکول کارکردگی کا مظاہرہ کرتا ہے۔ کسی بھی ممکنہ طور پر بدنیتی پر مبنی ذریعہ کے پیغام پر ایک کرپٹوگرافک آپریشن کرتا ہے اور نتیجہ کے لحاظ سے مختلف طریقے سے برتاؤ کرتا ہے، یہ برباد ہے۔" یا ایک تیز شکل میں: "پراسیسنگ کے لئے دشمن سے معلومات نہ لیں، اور اگر آپ کو کرنا پڑے تو کم از کم نتیجہ نہ دکھائیں۔"

آئیے ایک طرف بفر اوور فلو، کمانڈ انجیکشن، اور اسی طرح چھوڑ دیں۔ وہ اس بحث کے دائرہ سے باہر ہیں۔ "عذاب کے اصول" کی خلاف ورزی اس حقیقت کی وجہ سے سنگین خفیہ نگاری کی ہیک کا باعث بنتی ہے کہ پروٹوکول بالکل توقع کے مطابق برتاؤ کرتا ہے۔

مثال کے طور پر، آئیے ایک غیر محفوظ متبادل سائفر کے ساتھ ایک فرضی ڈیزائن لیں، اور پھر ممکنہ حملے کا مظاہرہ کریں۔ اگرچہ ہم نے پہلے ہی تعدد تجزیہ کا استعمال کرتے ہوئے متبادل سائفر پر حملہ دیکھا ہے، یہ صرف "اسی سائفر کو توڑنے کا دوسرا طریقہ نہیں ہے۔" اس کے برعکس، اوریکل حملے بہت زیادہ جدید ایجاد ہیں جو بہت سے حالات پر لاگو ہوتے ہیں جہاں فریکوئنسی تجزیہ ناکام ہو جاتا ہے، اور ہم اگلے حصے میں اس کا مظاہرہ دیکھیں گے۔ یہاں سادہ سیفر کا انتخاب صرف مثال کو واضح کرنے کے لیے کیا گیا ہے۔

لہذا ایلس اور باب ایک سادہ متبادل سائفر کا استعمال کرتے ہوئے ایک کلید کا استعمال کرتے ہوئے بات چیت کرتے ہیں جو صرف انہیں معلوم ہے۔ وہ پیغامات کی لمبائی کے بارے میں بہت سخت ہیں: وہ بالکل 20 حروف طویل ہیں۔ اس لیے انہوں نے اس بات پر اتفاق کیا کہ اگر کوئی چھوٹا پیغام بھیجنا چاہتا ہے، تو اسے پیغام کے آخر میں کچھ ڈمی ٹیکسٹ شامل کرنا چاہیے تاکہ یہ بالکل 20 حروف کا ہو جائے۔ کچھ بحث کے بعد، انہوں نے فیصلہ کیا کہ وہ صرف درج ذیل نقلی تحریروں کو قبول کریں گے: a, bb, ccc, dddd اس طرح، کسی بھی مطلوبہ لمبائی کا ایک ڈمی متن جانا جاتا ہے۔

جب ایلس یا باب کو کوئی پیغام موصول ہوتا ہے، تو وہ سب سے پہلے یہ چیک کرتے ہیں کہ پیغام کی لمبائی درست ہے (20 حروف) اور لاحقہ درست ڈمی ٹیکسٹ ہے۔ اگر یہ معاملہ نہیں ہے، تو وہ ایک مناسب غلطی کے پیغام کے ساتھ جواب دیتے ہیں۔ اگر متن کی لمبائی اور ڈمی متن ٹھیک ہے تو، وصول کنندہ خود پیغام پڑھتا ہے اور ایک خفیہ جواب بھیجتا ہے۔

حملے کے دوران، حملہ آور باب کی نقالی کرتا ہے اور ایلس کو جعلی پیغامات بھیجتا ہے۔ پیغامات مکمل بکواس ہیں - حملہ آور کے پاس چابی نہیں ہے اور اس لیے کوئی معنی خیز پیغام نہیں بنا سکتا۔ لیکن چونکہ پروٹوکول عذاب کے اصول کی خلاف ورزی کرتا ہے، ایک حملہ آور اب بھی ایلس کو کلیدی معلومات کو ظاہر کرنے میں پھنس سکتا ہے، جیسا کہ ذیل میں دکھایا گیا ہے۔

چور: PREWF ZHJKL MMMN. LA

ایلس: غلط ڈمی متن۔

چور: PREWF ZHJKL MMMN. LB

ایلس: غلط ڈمی متن۔

چور: PREWF ZHJKL MMMN. LC

ایلس: ILCT? TLCT RUWO PUT KCAW CPS OWPOW!

چور کو اندازہ نہیں ہے کہ ایلس نے ابھی کیا کہا، لیکن نوٹ کرتا ہے کہ علامت C کے مطابق ہونا ضروری ہے a, چونکہ ایلس نے ڈمی متن کو قبول کیا ہے۔

چور: REWF ZHJKL MMMN. LAA

ایلس: غلط ڈمی متن۔

چور: REWF ZHJKL MMMN. LBB

ایلس: غلط ڈمی متن۔

کئی کوششوں کے بعد...

چور: REWF ZHJKL MMMN. LGG

ایلس: غلط ڈمی متن۔

چور: REWF ZHJKL MMMN. LHH

ایلس: TLQO JWCRO FQAW SUY LCR C OWQXYJW. IW PWWR TU TCFA CHUYT TLQO JWFCTQUPOLQZ.

ایک بار پھر، حملہ آور کو پتہ نہیں ہے کہ ایلس نے ابھی کیا کہا، لیکن نوٹ کرتا ہے کہ H کو b سے مماثل ہونا چاہیے کیونکہ ایلس نے ڈمی متن کو قبول کیا ہے۔

اور اسی طرح اس وقت تک جب تک حملہ آور ہر کردار کا مطلب نہ جان لے۔

پہلی نظر میں، طریقہ منتخب سادہ ٹیکسٹ حملے سے مشابہت رکھتا ہے۔ آخر میں، حملہ آور سائفر ٹیکسٹس کو منتخب کرتا ہے، اور سرور فرمانبرداری کے ساتھ ان پر کارروائی کرتا ہے۔ اصل فرق جو ان حملوں کو حقیقی دنیا میں قابل عمل بناتا ہے وہ یہ ہے کہ حملہ آور کو اصل نقل تک رسائی کی ضرورت نہیں ہے — سرور کا جواب، یہاں تک کہ ایک "غلط ڈمی ٹیکسٹ" جیسا بے ضرر بھی کافی ہے۔

اگرچہ یہ خاص حملہ سبق آموز ہے، لیکن "ڈمی ٹیکسٹ" اسکیم، استعمال شدہ مخصوص کرپٹو سسٹم، یا حملہ آور کی طرف سے بھیجے گئے پیغامات کی قطعی ترتیب کے بارے میں بہت زیادہ توجہ نہ دیں۔ بنیادی خیال یہ ہے کہ ایلس سادہ متن کی خصوصیات کی بنیاد پر کس طرح مختلف رد عمل ظاہر کرتی ہے، اور اس بات کی تصدیق کیے بغیر کہ متعلقہ سائفر ٹیکسٹ درحقیقت کسی قابل اعتماد فریق سے آیا ہے۔ اس طرح، ایلس حملہ آور کو اپنے جوابات میں سے خفیہ معلومات کو نچوڑنے کی اجازت دیتی ہے۔

اس منظر نامے میں بہت کچھ بدلا جا سکتا ہے۔ وہ علامتیں جن پر ایلس رد عمل ظاہر کرتی ہے، یا اس کے رویے میں بہت فرق، یا یہاں تک کہ استعمال شدہ کرپٹو سسٹم۔ لیکن اصول وہی رہے گا، اور مجموعی طور پر حملہ کسی نہ کسی شکل میں قابل عمل رہے گا۔ اس حملے کے بنیادی نفاذ سے کئی حفاظتی کیڑے نکالنے میں مدد ملی، جنہیں ہم جلد ہی دیکھیں گے۔ لیکن پہلے کچھ نظریاتی اسباق سیکھنے ہیں۔ اس فرضی "ایلس اسکرپٹ" کو کسی حملے میں کیسے استعمال کیا جائے جو ایک حقیقی جدید سائفر پر کام کر سکے؟ کیا یہ نظریہ میں بھی ممکن ہے؟

1998 میں، سوئس کرپٹوگرافر ڈینیل بلیچین باکر نے اس سوال کا اثبات میں جواب دیا۔ اس نے ایک مخصوص پیغام اسکیم کا استعمال کرتے ہوئے وسیع پیمانے پر استعمال ہونے والے عوامی کلیدی کرپٹو سسٹم RSA پر اوریکل حملے کا مظاہرہ کیا۔ کچھ RSA کے نفاذ میں، سرور اس بات پر منحصر ہے کہ آیا سادہ متن اسکیم سے میل کھاتا ہے یا نہیں؛ مختلف خرابی کے پیغامات کے ساتھ جواب دیتا ہے۔ یہ حملہ کرنے کے لیے کافی تھا۔

چار سال بعد، 2002 میں، فرانسیسی کرپٹوگرافر Serge Vaudenay نے ایک اوریکل حملے کا مظاہرہ کیا جو تقریباً اوپر ایلس کے منظر نامے میں بیان کردہ سے ملتا جلتا ہے - سوائے اس کے کہ ایک فرضی سائفر کے بجائے، اس نے جدید سائفروں کے ایک پورے قابل احترام طبقے کو توڑ دیا جسے لوگ درحقیقت استعمال کرتے ہیں۔ خاص طور پر، Vaudenay کا حملہ فکسڈ ان پٹ سائز سائفرز ("بلاک سائفرز") کو نشانہ بناتا ہے جب وہ نام نہاد "CBC انکرپشن موڈ" میں اور ایک مخصوص مقبول پیڈنگ اسکیم کے ساتھ استعمال ہوتے ہیں، جو بنیادی طور پر ایلس منظر نامے کے مساوی ہے۔

2002 میں بھی، امریکی کرپٹوگرافر جان کیلسی نے شریک تصنیف کی۔ ٹووفش - نے ایسے سسٹمز پر مختلف اوریکل حملوں کی تجویز پیش کی جو پیغامات کو کمپریس کرتے ہیں اور پھر ان کو انکرپٹ کرتے ہیں۔ ان میں سب سے زیادہ قابل ذکر ایک حملہ تھا جس نے اس حقیقت کا فائدہ اٹھایا کہ سائفر ٹیکسٹ کی لمبائی سے سادہ متن کی اصل لمبائی کا اندازہ لگانا اکثر ممکن ہوتا ہے۔ نظریہ میں، یہ ایک اوریکل حملے کی اجازت دیتا ہے جو اصل سادہ متن کے کچھ حصوں کو بازیافت کرتا ہے۔

ذیل میں ہم Vaudenay اور Kelsey حملوں کی مزید تفصیلی وضاحت فراہم کرتے ہیں (جب ہم عوامی کلیدی خفیہ نگاری پر حملوں کی طرف بڑھیں گے تو ہم Bleichenbacher حملے کی مزید تفصیل دیں گے)۔ ہماری پوری کوششوں کے باوجود، متن کچھ تکنیکی ہو جاتا ہے۔ لہذا اگر اوپر آپ کے لیے کافی ہے تو اگلے دو حصوں کو چھوڑ دیں۔

ووڈین کا حملہ

Vaudenay حملے کو سمجھنے کے لیے، ہمیں پہلے بلاک سائفرز اور انکرپشن موڈز کے بارے میں کچھ اور بات کرنے کی ضرورت ہے۔ ایک "بلاک سائفر"، جیسا کہ ذکر کیا گیا ہے، ایک سائفر ہے جو ایک مخصوص لمبائی ("بلاک کی لمبائی") کی کلید اور ان پٹ لیتا ہے اور اسی لمبائی کا ایک انکرپٹڈ بلاک تیار کرتا ہے۔ بلاک سائفرز بڑے پیمانے پر استعمال ہوتے ہیں اور نسبتاً محفوظ سمجھے جاتے ہیں۔ اب ریٹائرڈ DES، جسے پہلا جدید سائفر سمجھا جاتا ہے، ایک بلاک سائفر تھا۔ جیسا کہ اوپر ذکر کیا گیا ہے، AES کے لیے بھی ایسا ہی ہے، جو آج کل بڑے پیمانے پر استعمال ہوتا ہے۔

بدقسمتی سے، بلاک سائفرز میں ایک واضح کمزوری ہے۔ عام بلاک کا سائز 128 بٹس یا 16 حروف ہے۔ ظاہر ہے، جدید کرپٹوگرافی کو بڑے ان پٹ ڈیٹا کے ساتھ کام کرنے کی ضرورت ہوتی ہے، اور یہیں سے خفیہ کاری کے طریقے کام میں آتے ہیں۔ انکرپشن موڈ بنیادی طور پر ایک ہیک ہے: یہ کسی نہ کسی طرح بلاک سائفر کو لاگو کرنے کا ایک طریقہ ہے جو کسی صوابدیدی لمبائی کے ان پٹ کے لیے صرف ایک خاص سائز کے ان پٹ کو قبول کرتا ہے۔

ووڈین کا حملہ مقبول CBC (Cipher Block Chaining) موڈ آف آپریشن پر مرکوز ہے۔ یہ حملہ بنیادی بلاک سائفر کو جادوئی، ناقابل تسخیر بلیک باکس سمجھتا ہے اور اس کی حفاظت کو مکمل طور پر نظرانداز کرتا ہے۔

یہاں ایک خاکہ ہے جو دکھاتا ہے کہ سی بی سی موڈ کیسے کام کرتا ہے:

کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت

کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت

سرکلڈ پلس XOR (خصوصی OR) آپریشن کی نشاندہی کرتا ہے۔ مثال کے طور پر، سائفر ٹیکسٹ کا دوسرا بلاک موصول ہوا ہے:

  1. پہلے سائفر ٹیکسٹ بلاک کے ساتھ دوسرے سادہ ٹیکسٹ بلاک پر ایک XOR آپریشن کر کے۔
  2. کلید کا استعمال کرتے ہوئے بلاک سائفر کے ساتھ نتیجے میں بلاک کو خفیہ کرنا۔

چونکہ CBC بائنری XOR آپریشن کا اتنا بھاری استعمال کرتا ہے، آئیے اس کی کچھ خصوصیات کو یاد کرنے کے لیے تھوڑا وقت نکالیں:

  • بے حسی: کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت
  • تبادلہ خیال: کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت
  • ایسوسی ایٹیویٹی: کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت
  • خود کو تبدیل کرنے کی صلاحیت: کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت
  • بائٹ سائز: بائٹ این کا کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت = (بائٹ این کا کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت) کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت (بائٹ این کا کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت)

عام طور پر، ان خصوصیات کا مطلب یہ ہے کہ اگر ہمارے پاس ایک مساوات ہے جس میں XOR آپریشنز شامل ہیں اور ایک نامعلوم ہے، تو اسے حل کیا جا سکتا ہے۔ مثال کے طور پر، اگر ہم جانتے ہیں کہ کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت نامعلوم کے ساتھ کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت اور مشہور کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت и کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت، پھر ہم مساوات کو حل کرنے کے لیے اوپر دی گئی خصوصیات پر انحصار کر سکتے ہیں۔ کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت. کے ساتھ مساوات کے دونوں اطراف میں XOR لگا کر کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت، ہم حاصل کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت. یہ سب کچھ ایک لمحے میں بہت متعلقہ ہو جائے گا۔

ہمارے ایلس منظر نامے اور واؤڈینے کے حملے میں دو معمولی فرق اور ایک بڑا فرق ہے۔ دو نابالغ:

  • اسکرپٹ میں، ایلس کو توقع تھی کہ سادہ متن کرداروں کے ساتھ ختم ہوگا۔ a, bb, ccc اور اسی طرح. Wodene حملے میں، شکار اس کے بجائے توقع کرتا ہے کہ سادہ متن N بار کے ساتھ N بار ختم ہو جائے گا (یعنی ہیکساڈیسیمل 01 یا 02 02، یا 03 03 03، وغیرہ)۔ یہ خالصتاً کاسمیٹک فرق ہے۔
  • ایلس کے منظر نامے میں، یہ بتانا آسان تھا کہ آیا ایلس نے پیغام کو "غلط ڈمی ٹیکسٹ" کے جواب سے قبول کیا تھا۔ ووڈین کے حملے میں، مزید تجزیے کی ضرورت ہوتی ہے اور متاثرہ کی جانب سے درست طریقے سے عمل درآمد ضروری ہے۔ لیکن اختصار کی خاطر، آئیے اسے بطور پیش نظر لیں کہ یہ تجزیہ اب بھی ممکن ہے۔

اہم فرق:

  • چونکہ ہم ایک ہی کرپٹو سسٹم استعمال نہیں کر رہے ہیں، اس لیے حملہ آور کے زیر کنٹرول سائفر ٹیکسٹ بائٹس اور رازوں (کلید اور سادہ متن) کے درمیان تعلق واضح طور پر مختلف ہوگا۔ لہذا، حملہ آور کو سائفر ٹیکسٹس بناتے وقت اور سرور کے جوابات کی ترجمانی کرتے وقت ایک مختلف حکمت عملی استعمال کرنی ہوگی۔

یہ بڑا فرق Vaudenay حملے کو سمجھنے کے لیے پہیلی کا آخری حصہ ہے، تو آئیے ایک لمحے کے لیے سوچتے ہیں کہ CBC پر اوریکل حملہ کیوں اور کیسے ممکن ہے۔

فرض کریں کہ ہمیں 247 بلاکس کا سی بی سی سیفر ٹیکسٹ دیا گیا ہے، اور ہم اسے ڈکرپٹ کرنا چاہتے ہیں۔ ہم سرور کو جعلی پیغامات بھیج سکتے ہیں، جیسا کہ ہم پہلے ایلس کو جعلی پیغامات بھیج سکتے تھے۔ سرور ہمارے لیے پیغامات کو ڈکرپٹ کرے گا، لیکن ڈکرپشن نہیں دکھائے گا - اس کے بجائے، دوبارہ، ایلس کی طرح، سرور صرف ایک چھوٹی سی معلومات کی اطلاع دے گا: آیا سادہ متن میں درست پیڈنگ ہے یا نہیں۔

غور کریں کہ ایلس کے منظر نامے میں ہمارے درج ذیل تعلقات تھے:

$$display$$text{SIMPLE_SUBSTITUTION}(text{ciphertext},text{key}) = text{plaintext}$$display$$

آئیے اسے "ایلس کی مساوات" کہتے ہیں۔ ہم نے سائفر ٹیکسٹ کو کنٹرول کیا۔ سرور (ایلس) نے موصول ہونے والے سادہ متن کے بارے میں مبہم معلومات کو لیک کیا۔ اور اس نے ہمیں آخری عنصر - کلید کے بارے میں معلومات حاصل کرنے کی اجازت دی۔ تشبیہ کے مطابق، اگر ہم CBC اسکرپٹ کے لیے ایسا کوئی تعلق تلاش کر سکتے ہیں، تو ہم وہاں سے کچھ خفیہ معلومات بھی نکال سکتے ہیں۔

خوش قسمتی سے، وہاں واقعی ایسے رشتے ہیں جنہیں ہم استعمال کر سکتے ہیں۔ بلاک سائفر کو ڈکرپٹ کرنے کے لیے حتمی کال کے آؤٹ پٹ پر غور کریں اور اس آؤٹ پٹ کو بطور ڈیکریٹ کریں کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت. ہم سادہ متن کے بلاکس کی بھی نشاندہی کرتے ہیں۔ کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت اور سائفر ٹیکسٹ بلاکس کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت. CBC ڈایاگرام پر ایک اور نظر ڈالیں اور دیکھیں کہ کیا ہوتا ہے:

کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت

آئیے اسے "CBC مساوات" کہتے ہیں۔

ایلس کے منظر نامے میں، سائفر ٹیکسٹ کی نگرانی کرکے اور متعلقہ سادہ متن کے لیک کو دیکھ کر، ہم ایک ایسا حملہ کرنے میں کامیاب ہوئے جس نے مساوات میں تیسری اصطلاح کو بحال کیا۔ CBC منظر نامے میں، ہم سائفر ٹیکسٹ کی بھی نگرانی کرتے ہیں اور متعلقہ سادہ متن پر معلومات کے لیک ہونے کا مشاہدہ کرتے ہیں۔ اگر مشابہت برقرار ہے تو ہم اس کے بارے میں معلومات حاصل کر سکتے ہیں۔ کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت.

آئیے فرض کریں کہ ہم واقعی بحال ہو گئے ہیں۔ کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت، پھر کیا؟ ٹھیک ہے، پھر ہم سادہ متن کے پورے آخری بلاک کو ایک ساتھ پرنٹ کر سکتے ہیں (کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت) صرف داخل کرکے کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت (جو ہمارے پاس ہے) اور
موصول کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت CBC مساوات میں

اب جب کہ ہم حملے کے مجموعی منصوبے کے بارے میں پرامید ہیں، یہ تفصیلات پر کام کرنے کا وقت ہے۔ براہ کرم اس بات پر توجہ دیں کہ سرور پر سادہ متن کی معلومات کیسے لیک ہوتی ہے۔ ایلس کے اسکرپٹ میں، لیک اس لیے ہوا کیونکہ ایلس صرف درست پیغام کے ساتھ جواب دے گی اگر $inline$text{SIMPLE_SUBSTITUTION}(text{ciphertext},text{key})$inline$ لائن کے ساتھ ختم ہو a (یا bb، اور اسی طرح، لیکن اتفاق سے ان حالات کے پیدا ہونے کے امکانات بہت کم تھے)۔ سی بی سی کی طرح، سرور پیڈنگ کو قبول کرتا ہے اگر اور صرف اس صورت میں کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت ہیکساڈیسیمل میں ختم ہوتا ہے۔ 01. تو آئیے ایک ہی چال آزماتے ہیں: ہماری اپنی جعلی اقدار کے ساتھ جعلی سائفر ٹیکسٹس بھیجنا کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحتجب تک سرور بھرنے کو قبول نہیں کرتا۔

جب سرور ہمارے جعلی پیغامات میں سے کسی کے لیے پیڈنگ قبول کرتا ہے، تو اس کا مطلب ہے:

کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت

اب ہم بائٹ بائٹ XOR پراپرٹی استعمال کرتے ہیں:

کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت

ہم پہلی اور تیسری اصطلاحات جانتے ہیں۔ اور ہم پہلے ہی دیکھ چکے ہیں کہ یہ ہمیں بقیہ اصطلاح - آخری بائٹ سے بازیافت کرنے کی اجازت دیتا ہے۔ کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت:

کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت

یہ ہمیں CBC مساوات اور بائٹ بائی بائٹ پراپرٹی کے ذریعے حتمی سادہ متن بلاک کا آخری بائٹ بھی دیتا ہے۔

ہم اسے اسی پر چھوڑ سکتے ہیں اور مطمئن ہو سکتے ہیں کہ ہم نے نظریاتی طور پر مضبوط سائفر پر حملہ کیا ہے۔ لیکن درحقیقت ہم بہت کچھ کر سکتے ہیں: ہم اصل میں تمام متن کو بازیافت کر سکتے ہیں۔ اس کے لیے ایک ایسی چال کی ضرورت ہے جو ایلس کے اصل اسکرپٹ میں نہیں تھی اور اوریکل حملے کے لیے اس کی ضرورت نہیں ہے، لیکن یہ اب بھی سیکھنے کے قابل ہے۔

اس کو سمجھنے کے لیے پہلے نوٹ کریں کہ آخری بائٹ کی صحیح ویلیو آؤٹ پٹ کرنے کا نتیجہ ہے۔ کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت ہمارے پاس ایک نئی صلاحیت ہے. اب، جعل سازی کرتے وقت، ہم متعلقہ سادہ متن کے آخری بائٹ کو جوڑ سکتے ہیں۔ ایک بار پھر، اس کا تعلق CBC مساوات اور بائٹ بائی بائٹ پراپرٹی سے ہے:

کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت

چونکہ اب ہم دوسری اصطلاح کو جانتے ہیں، اس لیے ہم تیسرے کو کنٹرول کرنے کے لیے پہلے پر اپنا کنٹرول استعمال کر سکتے ہیں۔ ہم صرف حساب لگاتے ہیں:

کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت

ہم یہ پہلے نہیں کر سکتے تھے کیونکہ ہمارے پاس ابھی آخری بائٹ نہیں تھا۔ کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت.

یہ ہماری مدد کیسے کرے گا؟ فرض کریں کہ اب ہم تمام سائفر ٹیکسٹ اس طرح بناتے ہیں کہ متعلقہ سادہ متن میں آخری بائٹ برابر ہو 02. سرور اب صرف پیڈنگ کو قبول کرتا ہے اگر سادہ متن کے ساتھ ختم ہو۔ 02 02. چونکہ ہم نے آخری بائٹ کو درست کیا ہے، یہ صرف اس صورت میں ہو گا جب سادہ متن کا اختتامی بائٹ بھی 02 ہو۔ ہم جعلی سائفر ٹیکسٹ بلاکس بھیجتے رہتے ہیں، قلمی بائٹ کو تبدیل کرتے ہوئے، جب تک کہ سرور ان میں سے کسی ایک کے لیے پیڈنگ قبول نہ کر لے۔ اس مقام پر ہمیں ملتا ہے:

کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت

اور ہم اختتامی بائٹ کو بحال کرتے ہیں۔ کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت بالکل اسی طرح جیسے آخری کو بحال کیا گیا تھا۔ ہم اسی جذبے سے جاری رکھتے ہیں: ہم سادہ متن کے آخری دو بائٹس کو درست کرتے ہیں۔ 03 03، ہم اس حملے کو آخر سے تیسرے بائٹ کے لیے دہراتے ہیں اور اسی طرح، بالآخر مکمل طور پر بحال ہو جاتا ہے۔ کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت.

باقی متن کے بارے میں کیا خیال ہے؟ براہ کرم نوٹ کریں کہ قدر کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت دراصل $inline$text{BLOCK_DECRYPT}(text{key},C_{247})$inline$ ہے۔ ہم اس کے بجائے کوئی اور بلاک لگا سکتے ہیں۔ کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت، اور حملہ اب بھی کامیاب رہے گا۔ درحقیقت، ہم سرور سے کسی بھی ڈیٹا کے لیے $inline$text{BLOCK_DECRYPT}$inline$ کرنے کو کہہ سکتے ہیں۔ اس وقت، یہ کھیل ختم ہو گیا ہے - ہم کسی بھی سائفر ٹیکسٹ کو ڈکرپٹ کر سکتے ہیں (اسے دیکھنے کے لیے CBC ڈکرپشن ڈایاگرام پر ایک اور نظر ڈالیں؛ اور نوٹ کریں کہ IV عوامی ہے)۔

یہ خاص طریقہ اوریکل حملے میں ایک اہم کردار ادا کرتا ہے جس کا ہم بعد میں سامنا کریں گے۔

کیلسی کا حملہ

ہمارے پیدائشی جان کیلسی نے بہت سے ممکنہ حملوں کے بنیادی اصول وضع کیے، نہ صرف مخصوص سائفر پر مخصوص حملے کی تفصیلات۔ اس کا سال کا 2002 مضمون انکرپٹڈ کمپریسڈ ڈیٹا پر ممکنہ حملوں کا مطالعہ ہے۔ کیا آپ کو لگتا ہے کہ خفیہ کاری سے پہلے ڈیٹا کو کمپریس کرنے والی معلومات حملہ کرنے کے لیے کافی نہیں تھیں؟ پتہ چلتا ہے کہ کافی ہے۔

یہ حیران کن نتیجہ دو اصولوں کی وجہ سے ہے۔ سب سے پہلے، سادہ متن کی لمبائی اور سائفر ٹیکسٹ کی لمبائی کے درمیان ایک مضبوط تعلق ہے؛ بہت سے سائفرز کے لیے عین مساوات۔ دوسرا، جب کمپریشن انجام دیا جاتا ہے، تو کمپریسڈ میسج کی لمبائی اور سادہ متن کے "شور" کی ڈگری کے درمیان بھی ایک مضبوط تعلق ہوتا ہے، یعنی نہ دہرائے جانے والے حروف کا تناسب (تکنیکی اصطلاح "ہائی اینٹروپی" ہے۔ )۔

عمل میں اصول کو دیکھنے کے لیے، دو سادہ متن پر غور کریں:

سادہ متن 1: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

سادہ متن 2: ATVXCAGTRSVPTVVULSJQHGEYCMQPCRQBGCYIXCFJGJ

آئیے فرض کریں کہ دونوں سادہ متن کو کمپریسڈ اور پھر انکرپٹ کیا گیا ہے۔ آپ کو دو نتیجے میں سائفر ٹیکسٹ ملتے ہیں اور اندازہ لگانا ہوگا کہ کون سا سائفر ٹیکسٹ کس سادہ متن سے ملتا ہے:

سیفر ٹیکسٹ 1: PVOVEYBPJDPVANEAWVGCIUWAABCIYIKOOURMYDTA

سیفر ٹیکسٹ 2: DWKJZXYU

جواب واضح ہے۔ سادہ متن میں، صرف سادہ متن 1 کو دوسرے سائفر ٹیکسٹ کی معمولی لمبائی میں کمپریس کیا جا سکتا ہے۔ ہم نے کمپریشن الگورتھم، انکرپشن کلید، یا یہاں تک کہ خود سائفر کے بارے میں کچھ جانے بغیر اس کا پتہ لگایا۔ ممکنہ خفیہ نگاری کے حملوں کے درجہ بندی کے مقابلے میں، یہ پاگل کی طرح ہے۔

کیلسی مزید بتاتے ہیں کہ بعض غیر معمولی حالات میں اس اصول کو اوریکل حملہ کرنے کے لیے بھی استعمال کیا جا سکتا ہے۔ خاص طور پر، یہ بیان کرتا ہے کہ حملہ آور کس طرح خفیہ سادہ متن کو بازیافت کرسکتا ہے اگر وہ سرور کو فارم ڈیٹا کو خفیہ کرنے پر مجبور کرسکتا ہے (سادہ متن اس کے بعد کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحتجب وہ کنٹرول میں ہے کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت اور کسی نہ کسی طرح انکرپٹڈ رزلٹ کی لمبائی کو چیک کر سکتے ہیں۔

ایک بار پھر، دوسرے اوریکل حملوں کی طرح، ہمارا تعلق ہے:

کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت

ایک بار پھر، ہم ایک اصطلاح کو کنٹرول کرتے ہیں (کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت)، ہم کسی دوسرے رکن (سائپر ٹیکسٹ) کے بارے میں معلومات کا ایک چھوٹا سا لیک دیکھتے ہیں اور آخری (سادہ متن) کو بازیافت کرنے کی کوشش کرتے ہیں۔ مشابہت کے باوجود، یہ دوسرے اوریکل حملوں کے مقابلے میں ایک غیر معمولی صورتحال ہے جو ہم نے دیکھے ہیں۔

یہ بتانے کے لیے کہ اس طرح کا حملہ کیسے کام کر سکتا ہے، آئیے ایک فرضی کمپریشن اسکیم استعمال کریں جس کے ساتھ ہم ابھی آئے ہیں: TOYZIP۔ یہ متن کی لائنوں کو تلاش کرتا ہے جو پہلے متن میں نمودار ہو چکے ہیں اور ان کی جگہ تین پلیس ہولڈر بائٹس لگاتے ہیں جو اس بات کی نشاندہی کرتے ہیں کہ لائن کی ابتدائی مثال کہاں تلاش کی جائے اور یہ وہاں کتنی بار ظاہر ہوتی ہے۔ مثال کے طور پر، لائن helloworldhello میں کمپریس کیا جا سکتا ہے helloworld[00][00][05] اصل 13 بائٹس کے مقابلے 15 بائٹس لمبا۔

فرض کریں کہ ایک حملہ آور فارم کے سادہ متن کو بازیافت کرنے کی کوشش کرتا ہے۔ password=...جہاں پاس ورڈ خود نامعلوم ہے۔ کیلسی کے حملے کے ماڈل کے مطابق، حملہ آور سرور سے پیغامات کو کمپریس کرنے اور پھر انکرپٹ کرنے کے لیے کہہ سکتا ہے (سادہ متن کے بعد کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت)، کہاں کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت - مفت متن۔ جب سرور کام ختم کر لیتا ہے، تو یہ نتیجہ کی لمبائی کی اطلاع دیتا ہے۔ حملہ اس طرح ہوتا ہے:

چور: براہ کرم بغیر کسی پیڈنگ کے سادہ متن کو کمپریس اور انکرپٹ کریں۔

سرور: نتائج کی لمبائی 14۔

چور: براہ کرم اس سادہ متن کو کمپریس اور انکرپٹ کریں جس میں شامل کیا گیا ہے۔ password=a.

سرور: نتائج کی لمبائی 18۔

کریکر نوٹ کرتا ہے: [اصل 14] + [تین بائٹس جو بدل گئے۔ password=] +۔ a

چور: براہ کرم اس سادہ متن کو کمپریس اور انکرپٹ کریں جس میں شامل کیا گیا ہے۔ password=b.

سرور: نتائج کی لمبائی 18۔

چور: براہ کرم اس سادہ متن کو کمپریس اور انکرپٹ کریں جس میں شامل کیا گیا ہے۔ password=с.

سرور: نتائج کی لمبائی 17۔

کریکر نوٹ کرتا ہے: [اصل 14] + [تین بائٹس جو بدل گئے۔ password=c] یہ فرض کرتا ہے کہ اصل سادہ متن میں سٹرنگ ہے۔ password=c. یعنی پاس ورڈ ایک حرف سے شروع ہوتا ہے۔ c

چور: براہ کرم اس سادہ متن کو کمپریس اور انکرپٹ کریں جس میں شامل کیا گیا ہے۔ password=сa.

سرور: نتائج کی لمبائی 18۔

کریکر نوٹ کرتا ہے: [اصل 14] + [تین بائٹس جو بدل گئے۔ password=с] +۔ a

چور: براہ کرم اس سادہ متن کو کمپریس اور انکرپٹ کریں جس میں شامل کیا گیا ہے۔ password=сb.

سرور: نتائج کی لمبائی 18۔

(… کچھ وقت کے بعد…)

چور: براہ کرم اس سادہ متن کو کمپریس اور انکرپٹ کریں جس میں شامل کیا گیا ہے۔ password=со.

سرور: نتائج کی لمبائی 17۔

کریکر نوٹ کرتا ہے: [اصل 14] + [تین بائٹس جو بدل گئے۔ password=co] اسی منطق کا استعمال کرتے ہوئے، حملہ آور یہ نتیجہ اخذ کرتا ہے کہ پاس ورڈ حروف سے شروع ہوتا ہے۔ co

اور اسی طرح جب تک کہ پورا پاس ورڈ بحال نہ ہو جائے۔

قارئین کو یہ سوچ کر معاف کر دیا جائے گا کہ یہ ایک خالصتاً علمی مشق ہے اور اس طرح کے حملے کا منظر حقیقی دنیا میں کبھی پیدا نہیں ہوگا۔ افسوس، جیسا کہ ہم جلد ہی دیکھیں گے، بہتر ہے کہ خفیہ نگاری کو ترک نہ کیا جائے۔

برانڈ کی کمزوریاں: جرم، POODLE، DROWN

آخر میں، تھیوری کا تفصیل سے مطالعہ کرنے کے بعد، ہم دیکھ سکتے ہیں کہ یہ تکنیکیں حقیقی زندگی کے کرپٹوگرافک حملوں میں کس طرح لاگو ہوتی ہیں۔

CRIME

کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحتاگر حملہ شکار کے براؤزر اور نیٹ ورک کو نشانہ بناتا ہے، تو کچھ چیزیں آسان ہوں گی اور کچھ زیادہ مشکل۔ مثال کے طور پر، شکار کی ٹریفک کو دیکھنا آسان ہے: بس اسی کیفے میں WiFi کے ساتھ اس کے ساتھ بیٹھیں۔ اس وجہ سے، ممکنہ متاثرین (یعنی ہر ایک) کو عام طور پر ایک خفیہ کنکشن استعمال کرنے کا مشورہ دیا جاتا ہے۔ متاثرہ کی جانب سے کسی فریق ثالث کی سائٹ (مثال کے طور پر، گوگل) پر HTTP درخواستیں کرنا زیادہ مشکل، لیکن پھر بھی ممکن ہوگا۔ حملہ آور کو متاثرہ کو اسکرپٹ کے ساتھ ایک بدنیتی پر مبنی ویب صفحہ کی طرف راغب کرنا چاہیے جو درخواست کرتا ہے۔ ویب براؤزر خود بخود مناسب سیشن کوکی فراہم کرے گا۔

یہ حیرت انگیز لگتا ہے۔ اگر باب کے پاس گیا۔ evil.com، کیا اس سائٹ پر اسکرپٹ گوگل سے باب کا پاس ورڈ ای میل کرنے کے لیے کہہ سکتا ہے۔ [email protected]? ٹھیک ہے، نظریہ میں ہاں، لیکن حقیقت میں نہیں۔ اس منظر نامے کو ایک کراس سائٹ درخواست جعل سازی کا حملہ کہا جاتا ہے (کراس سائٹ کی درخواست جعلسازی، CSRF)، اور یہ 90 کی دہائی کے وسط میں مقبول تھا۔ آج اگر evil.com اس چال کو آزماتے ہیں، گوگل (یا کوئی بھی عزت دار ویب سائٹ) عام طور پر اس کے ساتھ جواب دے گی، "بہت اچھا، لیکن اس لین دین کے لیے آپ کا CSRF ٹوکن ہوگا... ام... три триллиона и семь. براہ کرم اس نمبر کو دہرائیں۔" جدید براؤزرز میں "ایک ہی اصل کی پالیسی" کہلاتی ہے جس کے تحت سائٹ A پر موجود اسکرپٹ کو ویب سائٹ B کے ذریعے بھیجی گئی معلومات تک رسائی حاصل نہیں ہوتی ہے۔ evil.com کو درخواستیں بھیج سکتے ہیں۔ google.com، لیکن جوابات نہیں پڑھ سکتے یا اصل میں لین دین مکمل نہیں کر سکتے۔

ہمیں اس بات پر زور دینا چاہیے کہ جب تک باب ایک انکرپٹڈ کنکشن استعمال نہیں کرتا، یہ تمام تحفظات بے معنی ہیں۔ حملہ آور آسانی سے باب کی ٹریفک کو پڑھ سکتا ہے اور گوگل کی سیشن کوکی کو بازیافت کرسکتا ہے۔ اس کوکی کے ساتھ، وہ اپنے براؤزر کو چھوڑے بغیر صرف ایک نیا Google ٹیب کھولے گا اور پریشان کن ایک جیسی پالیسیوں کا سامنا کیے بغیر باب کی نقالی کرے گا۔ لیکن، بدقسمتی سے چور کے لیے، یہ کم سے کم عام ہوتا جا رہا ہے۔ انٹرنیٹ نے مجموعی طور پر طویل عرصے سے غیر خفیہ کردہ کنکشنز کے خلاف جنگ کا اعلان کیا ہے، اور باب کی باہر جانے والی ٹریفک کو شاید خفیہ کردہ ہے، چاہے وہ اسے پسند کرے یا نہ کرے۔ اس کے علاوہ پروٹوکول کے نفاذ کے آغاز سے ہی ٹریفک بھی تھی۔ سکڑ خفیہ کاری سے پہلے؛ تاخیر کو کم کرنے کے لیے یہ عام رواج تھا۔

یہ وہ جگہ ہے جہاں یہ کھیل میں آتا ہے۔ CRIME (کمپریشن ریشو انفولیک کو کمپریشن ریشو کے ذریعے آسان، سادہ رساو بنایا گیا)۔ اس خطرے کا انکشاف ستمبر 2012 میں سیکیورٹی محققین جولیانو ریززو اور تھائی ڈونگ نے کیا تھا۔ ہم نے پہلے ہی پوری نظریاتی بنیاد کا جائزہ لیا ہے، جو ہمیں یہ سمجھنے کی اجازت دیتا ہے کہ انہوں نے کیا اور کیسے کیا۔ حملہ آور باب کے براؤزر کو مجبور کر سکتا ہے کہ وہ گوگل کو درخواستیں بھیجے اور پھر مقامی نیٹ ورک پر جوابات کو کمپریسڈ، انکرپٹڈ شکل میں سن سکے۔ لہذا ہمارے پاس ہے:

کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحت

یہاں حملہ آور درخواست کو کنٹرول کرتا ہے اور اسے پیکٹ کے سائز سمیت ٹریفک سنیفر تک رسائی حاصل ہوتی ہے۔ کیلسی کا خیالی منظر نامہ زندہ ہو گیا۔

تھیوری کو سمجھتے ہوئے، CRIME کے مصنفین نے ایک ایسا استحصال بنایا جو Gmail، Twitter، Dropbox اور Github سمیت وسیع پیمانے پر سائٹس کے لیے سیشن کوکیز چرا سکتا ہے۔ کمزوری نے زیادہ تر جدید ویب براؤزرز کو متاثر کیا، جس کے نتیجے میں پیچ جاری کیے گئے جنہوں نے SSL میں کمپریشن فیچر کو خاموشی سے دفن کر دیا تاکہ یہ بالکل استعمال نہ ہو۔ خطرے سے محفوظ صرف ایک قابل احترام انٹرنیٹ ایکسپلورر تھا، جس نے کبھی بھی SSL کمپریشن کا استعمال نہیں کیا۔

پودل

کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحتاکتوبر 2014 میں، Google سیکورٹی ٹیم نے سیکورٹی کمیونٹی میں لہریں پیدا کیں۔ وہ SSL پروٹوکول میں اس کمزوری کا فائدہ اٹھانے کے قابل تھے جسے دس سال سے بھی زیادہ عرصہ پہلے بنایا گیا تھا۔

یہ پتہ چلتا ہے کہ جب سرورز چمکدار نیا TLSv1.2 چلا رہے ہیں، تو بہت سے لوگوں نے Internet Explorer 3 کے ساتھ پسماندہ مطابقت کے لیے SSLv6 کی حمایت چھوڑ دی ہے۔ ہم نے پہلے ہی حملوں کو ڈاؤن گریڈ کرنے کے بارے میں بات کی ہے، لہذا آپ تصور کر سکتے ہیں کہ کیا ہو رہا ہے۔ ہینڈ شیک پروٹوکول کی ایک اچھی طرح سے تخریب کاری اور سرورز اچھے پرانے SSLv3 پر واپس آنے کے لیے تیار ہیں، بنیادی طور پر پچھلے 15 سالوں کی سیکیورٹی ریسرچ کو کالعدم کرتے ہوئے۔

تاریخی تناظر کے لیے، یہاں میتھیو گرین سے ورژن 2 تک SSL کی تاریخ کا ایک مختصر خلاصہ ہے۔:

ٹرانسپورٹ لیئر سیکیورٹی (TLS) انٹرنیٹ پر سب سے اہم سیکیورٹی پروٹوکول ہے۔ انٹرنیٹ پر آپ کی تقریباً ہر لین دین کا انحصار TLS پر ہوتا ہے۔ [..] لیکن TLS ہمیشہ TLS نہیں تھا۔ پروٹوکول نے اپنی زندگی کا آغاز میں کیا۔ نیٹ اسکیپ مواصلات "Secure Sockets Layer" یا SSL کہلاتا ہے۔ افواہ یہ ہے کہ SSL کا پہلا ورژن اتنا خوفناک تھا کہ ڈویلپرز نے کوڈ کے تمام پرنٹ آؤٹ اکٹھے کر لیے اور انھیں نیو میکسیکو میں ایک خفیہ لینڈ فل میں دفن کر دیا۔ نتیجے کے طور پر، SSL کا پہلا عوامی طور پر دستیاب ورژن دراصل ہے۔ ورژن SSL 2. یہ کافی خوفناک ہے، اور [..] یہ 90 کی دہائی کے وسط کی پیداوار تھی، جسے جدید کرپٹوگرافر "خفیہ نگاری کا تاریک دور" بہت سے انتہائی گھناؤنے کرپٹوگرافک حملے جن کے بارے میں ہم آج جانتے ہیں ابھی تک دریافت نہیں ہو سکے ہیں۔ نتیجے کے طور پر، SSLv2 پروٹوکول کے ڈویلپرز کو بنیادی طور پر اندھیرے میں اپنی راہ میں الجھنے کے لیے چھوڑ دیا گیا، اور انہیں اس کا سامنا کرنا پڑا۔ بہت سارے خوفناک راکشس - ان کی پریشانی اور ہمارے فائدے کے لیے، چونکہ SSLv2 پر حملوں نے پروٹوکول کی اگلی نسل کے لیے انمول اسباق چھوڑے ہیں۔

ان واقعات کے بعد، 1996 میں، ایک مایوس نیٹ اسکیپ نے شروع سے SSL پروٹوکول کو دوبارہ ڈیزائن کیا۔ نتیجہ SSL ورژن 3 تھا، جو اپنے پیشرو کے کئی معلوم سیکیورٹی مسائل کو طے کیا۔.

خوش قسمتی سے چوروں کے لیے، "چند" کا مطلب "سب" نہیں ہے۔ مجموعی طور پر، SSLv3 نے ووڈین حملہ شروع کرنے کے لیے تمام ضروری بلڈنگ بلاکس فراہم کیے ہیں۔ پروٹوکول میں سی بی سی موڈ بلاک سائفر اور ایک غیر محفوظ پیڈنگ اسکیم کا استعمال کیا گیا تھا (اس کو TLS میں درست کیا گیا تھا؛ اس لیے ڈاؤن گریڈ حملے کی ضرورت)۔ اگر آپ کو Vaudenay حملے کی ہماری اصل تفصیل میں پیڈنگ اسکیم یاد ہے تو SSLv3 اسکیم بہت ملتی جلتی ہے۔

لیکن، بدقسمتی سے چوروں کے لیے، "مماثل" کا مطلب "ایک جیسا" نہیں ہے۔ SSLv3 پیڈنگ اسکیم "N بے ترتیب بائٹس کے بعد نمبر N" ہے۔ ان شرائط کے تحت، سائفر ٹیکسٹ کے ایک خیالی بلاک کو منتخب کرنے کی کوشش کریں اور Vaudene کی اصل اسکیم کے تمام مراحل سے گزریں: آپ دیکھیں گے کہ حملہ کامیابی سے سادہ متن کے متعلقہ بلاک سے آخری بائٹ نکالتا ہے، لیکن آگے نہیں بڑھتا ہے۔ سائفر ٹیکسٹ کے ہر 16ویں بائٹ کو ڈکرپٹ کرنا ایک زبردست چال ہے، لیکن یہ جیت نہیں ہے۔

ناکامی کا سامنا کرتے ہوئے، گوگل کی ٹیم نے آخری حربے کا سہارا لیا: انہوں نے ایک زیادہ طاقتور خطرے کے ماڈل پر سوئچ کیا - جو کہ CRIME میں استعمال ہوتا ہے۔ یہ فرض کرتے ہوئے کہ حملہ آور شکار کے براؤزر کے ٹیب میں چلنے والا اسکرپٹ ہے اور سیشن کوکیز نکال سکتا ہے، حملہ اب بھی متاثر کن ہے۔ اگرچہ وسیع تر خطرہ ماڈل کم حقیقت پسندانہ ہے، ہم نے پچھلے حصے میں دیکھا کہ یہ مخصوص ماڈل قابل عمل ہے۔

حملہ آور کی ان زیادہ طاقتور صلاحیتوں کو دیکھتے ہوئے، حملہ اب جاری رہ سکتا ہے۔ نوٹ کریں کہ حملہ آور جانتا ہے کہ ہیڈر میں خفیہ کردہ سیشن کوکی کہاں ظاہر ہوتی ہے اور اس سے پہلے کی HTTP درخواست کی لمبائی کو کنٹرول کرتا ہے۔ لہذا، یہ HTTP درخواست میں ہیرا پھیری کرنے کے قابل ہے تاکہ کوکی کا آخری بائٹ بلاک کے اختتام کے ساتھ منسلک ہو۔ اب یہ بائٹ ڈکرپشن کے لیے موزوں ہے۔ آپ درخواست میں صرف ایک حرف شامل کر سکتے ہیں، اور کوکی کا آخری بائٹ اسی جگہ پر رہے گا اور اسی طریقہ کو استعمال کرتے ہوئے انتخاب کے لیے موزوں ہے۔ کوکی فائل مکمل طور پر بحال ہونے تک حملہ اسی طرح جاری رہتا ہے۔ اسے POODLE: Padding Oracle on Downgraded Legacy Encryption کہتے ہیں۔

ڈوبنا

کرپٹوگرافک حملے: الجھے ہوئے ذہنوں کے لیے ایک وضاحتجیسا کہ ہم نے ذکر کیا، SSLv3 میں اپنی خامیاں تھیں، لیکن یہ اپنے پیشرو سے بنیادی طور پر مختلف تھا، کیونکہ لیک ہونے والا SSLv2 ایک مختلف دور کی پیداوار تھا۔ وہاں آپ بیچ میں پیغام کو روک سکتے ہیں: соглашусь на это только через мой труп میں تبدیل کر دیا соглашусь на это; کلائنٹ اور سرور آن لائن مل سکتے ہیں، اعتماد قائم کر سکتے ہیں اور حملہ آور کے سامنے راز کا تبادلہ کر سکتے ہیں، جو پھر آسانی سے دونوں کی نقالی کر سکتا ہے۔ ایکسپورٹ کریپٹوگرافی میں بھی مسئلہ ہے، جس کا ذکر ہم نے FREAK پر غور کرتے وقت کیا۔ یہ خفیہ نگاری سدوم اور عمورہ تھے۔

مارچ 2016 میں، مختلف تکنیکی شعبوں سے تعلق رکھنے والے محققین کی ایک ٹیم اکٹھی ہوئی اور ایک چونکا دینے والی دریافت کی: SSLv2 اب بھی سیکیورٹی سسٹمز میں استعمال ہوتا ہے۔ ہاں، حملہ آور اب جدید TLS سیشنز کو SSLv2 میں نہیں کر سکتے ہیں کیونکہ یہ سوراخ FREAK اور POODLE کے بعد بند ہو گیا تھا، لیکن وہ پھر بھی سرورز سے منسلک ہو سکتے ہیں اور خود SSLv2 سیشن شروع کر سکتے ہیں۔

آپ پوچھ سکتے ہیں، ہمیں کیوں پرواہ ہے کہ وہ وہاں کیا کرتے ہیں؟ ان کے پاس ایک کمزور سیشن ہے، لیکن اس سے دوسرے سیشنز یا سرور کی سیکیورٹی کو متاثر نہیں کرنا چاہیے - ٹھیک ہے؟ ٹھیک ہے، بالکل نہیں. جی ہاں، نظریہ میں ایسا ہی ہونا چاہیے۔ لیکن نہیں - کیونکہ SSL سرٹیفکیٹس بنانے سے ایک خاص بوجھ پڑتا ہے، جس کے نتیجے میں بہت سے سرور ایک جیسے سرٹیفکیٹ استعمال کرتے ہیں اور نتیجے کے طور پر، TLS اور SSLv2 کنکشنز کے لیے وہی RSA کلیدیں۔ معاملات کو مزید خراب کرنے کے لیے، ایک OpenSSL بگ کی وجہ سے، اس مقبول SSL نفاذ میں "SSLv2 کو غیر فعال کریں" کا اختیار حقیقت میں کام نہیں کرتا تھا۔

اس نے TLS پر کراس پروٹوکول حملہ ممکن بنایا، جسے کہا جاتا ہے۔ ڈوبنا (فرسودہ اور کمزور اینکرپشن کے ساتھ RSA کو ڈکرپٹ کرنا، RSA کو فرسودہ اور کمزور انکرپشن کے ساتھ ڈکرپٹ کرنا)۔ یاد رکھیں کہ یہ ایک مختصر حملے کے مترادف نہیں ہے۔ حملہ آور کو "درمیان میں آدمی" کے طور پر کام کرنے کی ضرورت نہیں ہے اور اسے غیر محفوظ سیشن میں شرکت کے لیے کلائنٹ کو شامل کرنے کی ضرورت نہیں ہے۔ حملہ آور صرف سرور کے ساتھ ایک غیر محفوظ SSLv2 سیشن شروع کرتے ہیں، کمزور پروٹوکول پر حملہ کرتے ہیں، اور سرور کی RSA نجی کلید کو بازیافت کرتے ہیں۔ یہ کلید TLS کنکشنز کے لیے بھی درست ہے، اور اس وقت سے، TLS سیکیورٹی کی کوئی مقدار اسے سمجھوتہ کرنے سے نہیں روکے گی۔

لیکن اسے کریک کرنے کے لیے، آپ کو SSLv2 کے خلاف ایک ورکنگ اٹیک کی ضرورت ہے، جو آپ کو نہ صرف مخصوص ٹریفک بلکہ خفیہ RSA سرور کی کو بھی بحال کرنے کی اجازت دیتا ہے۔ اگرچہ یہ ایک پیچیدہ سیٹ اپ ہے، محققین کسی بھی خطرے کا انتخاب کر سکتے ہیں جو SSLv2 کے بعد مکمل طور پر بند ہو گیا تھا۔ آخرکار انہیں ایک مناسب آپشن مل گیا: Bleichenbacher حملہ، جس کا ہم نے پہلے ذکر کیا تھا اور جس کی تفصیل ہم اگلے مضمون میں بیان کریں گے۔ ایس ایس ایل اور ٹی ایل ایس اس حملے سے محفوظ ہیں، لیکن ایس ایس ایل کی کچھ بے ترتیب خصوصیات، ایکسپورٹ گریڈ کرپٹوگرافی میں شارٹ کیز کے ساتھ مل کر، اسے ممکن بنایا۔ DROWN کا ایک مخصوص نفاذ.

اشاعت کے وقت، انٹرنیٹ کی 25% سرفہرست سائٹس DROWN خطرے سے متاثر ہوئی تھیں، اور یہ حملہ معمولی وسائل کے ساتھ کیا جا سکتا تھا جو شرارتی تنہا ہیکرز کے لیے بھی دستیاب تھے۔ سرور کی RSA کلید کو بازیافت کرنے کے لیے آٹھ گھنٹے کی گنتی اور $440 کی ضرورت تھی، اور SSLv2 متروک سے تابکار ہو گیا۔

رکو، ہارٹ بلیڈ کے بارے میں کیا خیال ہے؟

یہ اوپر بیان کردہ معنوں میں خفیہ نگاری کا حملہ نہیں ہے۔ یہ ایک بفر اوور فلو ہے۔

چلیے ایک وقفہ لیتے ہیں

ہم نے کچھ بنیادی تکنیکوں کے ساتھ شروعات کی: بروٹ فورس، انٹرپولیشن، ڈاون گریڈنگ، کراس پروٹوکول، اور پری کمپیمپوٹیشن۔ پھر ہم نے ایک جدید تکنیک کو دیکھا، جو شاید جدید کرپٹوگرافک حملوں کا بنیادی جزو ہے: اوریکل حملہ۔ ہم نے اس کا پتہ لگانے میں کافی وقت صرف کیا - اور نہ صرف بنیادی اصول بلکہ دو مخصوص نفاذ کی تکنیکی تفصیلات کو بھی سمجھا: CBC انکرپشن موڈ پر Vaudenay حملہ اور پری کمپریشن انکرپشن پروٹوکولز پر Kelsey حملہ۔

ڈاؤن گریڈ اور پری کمپیوٹیشن حملوں کا جائزہ لیتے ہوئے، ہم نے مختصراً FREAK اٹیک کا خاکہ پیش کیا، جس میں دونوں طریقوں کو استعمال کیا جاتا ہے تاکہ ٹارگٹ سائٹس کو کمزور کیز پر ڈاؤن گریڈ کیا جائے اور پھر وہی کیز دوبارہ استعمال کی جائیں۔ اگلے مضمون کے لیے، ہم لاگجام حملے کو محفوظ کریں گے، جو عوامی کلیدی الگورتھم کو نشانہ بناتا ہے۔

پھر ہم نے ان اصولوں کے اطلاق کی مزید تین مثالوں کو دیکھا۔ سب سے پہلے، جرم اور پوڈل: دو حملے جو حملہ آور کی ہدف کے سادہ متن کے ساتھ صوابدیدی سادہ متن لگانے کی صلاحیت پر انحصار کرتے ہیں، پھر سرور کے جوابات کی جانچ پڑتال کرتے ہیں اور پھر,اوریکل اٹیک کے طریقہ کار کا استعمال کرتے ہوئے، سادہ متن کو جزوی طور پر بازیافت کرنے کے لیے اس کم معلومات کو استعمال کریں۔ CRIME نے SSL کمپریشن پر Kelsey کے حملے کا راستہ اختیار کیا، جبکہ POODLE نے اس کے بجائے اسی اثر کے ساتھ CBC پر Vaudenay کے حملے کی ایک قسم کا استعمال کیا۔

اس کے بعد ہم نے اپنی توجہ کراس پروٹوکول DROWN اٹیک کی طرف مبذول کرائی، جو لیگیسی SSLv2 پروٹوکول کا استعمال کرتے ہوئے سرور سے ایک کنکشن قائم کرتا ہے اور پھر Bleichenbacher حملے کا استعمال کرتے ہوئے سرور کی خفیہ کلیدوں کو بازیافت کرتا ہے۔ ہم نے اس حملے کی تکنیکی تفصیلات کو ابھی کے لیے چھوڑ دیا ہے۔ Logjam کی طرح، اسے اس وقت تک انتظار کرنا پڑے گا جب تک کہ ہمیں عوامی کلیدی کرپٹو سسٹمز اور ان کی کمزوریوں کی اچھی طرح سمجھ نہ آجائے۔

اگلے آرٹیکل میں ہم ایڈوانسڈ حملوں کے بارے میں بات کریں گے جیسے میٹ ان دی مڈل، ڈیفرینشل کرپٹ اینالیسس اور برتھ ڈے اٹیک۔ آئیے سائیڈ چینل حملوں میں ایک تیز قدم اٹھاتے ہیں، اور پھر اس معاملے کی طرف آتے ہیں: عوامی کلیدی کرپٹو سسٹم۔

ماخذ: www.habr.com

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