2016 کے پہلے دن ، موزیلا نے فائرفوکس ویب براؤزر میں SHA-1 نامی کمزور سیکیورٹی ٹیکنالوجی کی حمایت ختم کردی۔ تقریبا فوری طور پر ، انہوں نے اپنے فیصلے کو پلٹ دیا ، کیونکہ اس سے کچھ پرانی ویب سائٹوں تک رسائی کم ہوجائے گی۔ لیکن فروری 2017 میں ، آخر کار ان کا خوف درست ہوگیا: محققین نے تخلیق کرکے SHA-1 کو توڑ دیا پہلا حقیقی دنیا کا تصادم حملہ . اس کا مطلب یہ ہے۔
SHA-1 کیا ہے؟
SHA-1 میں SHA کا مطلب ہے محفوظ ہش الگورتھم ، اور ، آسان الفاظ میں ، آپ اس کو ریاضی کے مسئلے یا طریقہ کار کی طرح سوچ سکتے ہیں اس میں ڈالے جانے والے اعداد و شمار کو گھماتے ہیں . ریاستہائے متحدہ امریکہ NSA کے ذریعہ تیار کردہ ، یہ بہت ساری ٹکنالوجیوں کا بنیادی جز ہے جو انٹرنیٹ پر اہم ترسیل کو خفیہ کرنے کے لئے استعمال ہوتا ہے۔ خفیہ کاری کے عام طریقے ایس ایس ایل اور ٹی ایل ایس ، جس کے بارے میں آپ نے سنا ہوگا ، SHA-1 جیسے ہیش فنکشن کا استعمال آپ کے براؤزر کے ٹول بار میں نظر آنے والے دستخطی سرٹیفکیٹ بنانے کے ل can کرسکتے ہیں۔
ہم SHA کے کسی بھی فنکشن کی ریاضی اور کمپیوٹر سائنس میں مزید گہرائی میں نہیں جاسکیں گے ، لیکن یہاں بنیادی نظریہ ہے۔ ایک "ہیش" ہے کسی بھی ڈیٹا کی ان پٹ پر مبنی ایک انوکھا کوڈ . حتی کہ SHA-1 جیسے ہیش فنکشن میں حرفوں کی چھوٹی ، بے ترتیب تاریں حرفوں کی ایک لمبی ، سیٹ تعداد واپس کردیں گی ، جس سے حرفوں کی تار کو اصل اعداد و شمار میں واپس لانا ناممکن ہوجاتا ہے۔ اس طرح عام طور پر پاس ورڈ اسٹوریج کام کرتا ہے۔ جب آپ پاس ورڈ بناتے ہیں تو ، سرور کے ذریعہ آپ کا پاس ورڈ ان پٹ ہیش اور اسٹور ہوجاتا ہے۔ آپ کی واپسی پر ، جب آپ اپنا پاس ورڈ ٹائپ کریں گے ، تو پھر اس کو دوبارہ ختم کردیا جائے گا۔ اگر یہ اصل ہیش سے مماثل ہے تو ، ان پٹ ایک ہی سمجھا جاسکتا ہے ، اور آپ کو اپنے ڈیٹا تک رسائی دی جائے گی۔
بنیادی طور پر ہیش کے افعال کارآمد ہیں کیونکہ وہ یہ بتانا آسان بناتے ہیں کہ آیا ان پٹ ، مثال کے طور پر ، فائل یا پاس ورڈ تبدیل ہوا ہے یا نہیں۔ جب ان پٹ ڈیٹا خفیہ ہوتا ہے ، جیسے کسی پاس ورڈ کی طرح ، ہیش اصلی ڈیٹا (جسے "کلید" بھی کہا جاتا ہے) کو الٹا اور بازیافت کرنا قریب قریب ناممکن ہوتا ہے۔ یہ "انکرپشن" سے تھوڑا مختلف ہے ، جس کا مقصد اعداد و شمار کو بعد میں مسترد کرنے کے مقصد سے گھٹا رہا ہے ، سائفر اور خفیہ چابیاں کا استعمال کرتے ہوئے۔ ہیشز کا مقصد اعداد و شمار کی سالمیت کو یقینی بنانا ہے – اس بات کو یقینی بنانا کہ ہر چیز ایک جیسی ہے۔ اوپن سورس کوڈ کیلئے ورژن ، کنٹرول اور تقسیم سافٹ ویئر Git ، SHA-1 ہیش کو اسی وجہ سے استعمال کرتا ہے .
یہ تو بہت ساری تکنیکی معلومات ہے ، لیکن اسے سیدھے الفاظ میں بتانا: چونکہ ایک ہیش خفیہ کاری جیسی چیز نہیں ہے اس کی شناخت کے لئے استعمال کیا جاتا ہے اگر فائل بدلی ہے .
اس ٹکنالوجی نے مجھے کس طرح متاثر کیا؟
ہم کہتے ہیں کہ آپ کو نجی طور پر کسی ویب سائٹ پر جانے کی ضرورت ہے۔ آپ کا بینک ، آپ کا ای میل ، یہاں تک کہ آپ کا فیس بک اکاؤنٹ – سبھی آپ کو بھیجنے والے ڈیٹا کو نجی رکھنے کے لئے خفیہ کاری کا استعمال کرتے ہیں۔ ایک پیشہ ور ویب سائٹ کسی قابل اعتبار اتھارٹی یعنی تیسری پارٹی سے تصدیق نامہ حاصل کرکے انکرپشن فراہم کرے گی ، اس بات کا یقین کرنے کے لئے قابل اعتبار کہ خفیہ کاری سطح پر ہے ، ویب سائٹ اور صارف کے مابین نجی ہے ، اور کسی دوسری فریق کے ذریعہ جاسوسی نہیں کی جارہی ہے۔ کہا جاتا ہے کہ تیسری پارٹی کے ساتھ یہ رشتہ ہے سرٹیفکیٹ اتھارٹی ، یا وہ ، انتہائی ضروری ہے ، کیوں کہ کوئی بھی صارف "خود دستخط شدہ" سرٹیفکیٹ بنا سکتا ہے. یہاں تک کہ آپ کر سکتے ہیں اوپن ایس ایل والی لینکس چلانے والی مشین پر خود کریں . مثال کے طور پر سیمنٹیک اور ڈیجیسرٹ دو وسیع پیمانے پر مشہور سی اے کمپنیاں ہیں۔
آئیے ایک نظریاتی منظر نامے پر چلتے ہیں: کس طرح ٹو گیک صارفین کے سیشنوں کو خفیہ کاری کے ساتھ نجی رکھنا چاہتا ہے ، لہذا اس میں سیمنٹ کی طرح سی اے کی درخواست کی گئی ہے۔ سند پر دستخط کرنے کی درخواست ، یا CSR . وہ تخلیق کرتے ہیں a عوامی کلید اور نجی کلید انٹرنیٹ پر بھیجے گئے ڈیٹا کو خفیہ اور ڈکرپٹ کرنے کے ل۔ سی ایس آر کی درخواست عوامی کلید کو ویب سائٹ کے بارے میں معلومات کے ساتھ ساتھ سمنٹیک کو بھیجتی ہے۔ سیمنٹیک اس بات کی تصدیق کے ل the کلید کو جانچتا ہے کہ اس بات کی تصدیق کرنے کے لئے کہ تمام فریقوں کے ذریعہ ڈیٹا کوئی تبدیلی نہیں ہے ، کیونکہ اعداد و شمار میں کوئی چھوٹی سی تبدیلی ہیش کو یکسر مختلف بنا دیتی ہے۔
وہ عوامی چابیاں اور ڈیجیٹل سرٹیفکیٹ پر ہیش افعال کے ذریعہ دستخط کیے جاتے ہیں ، کیونکہ ان افعال کی آؤٹ پٹ دیکھنا آسان ہے۔ ایک عوامی کلید اور سرٹیفکیٹ ، سیمنٹیک سے تصدیق شدہ ہیش والا (ہماری مثال کے طور پر) ، ایک اتھارٹی ، ہاؤ ٹو گیک کے صارف کو یقین دہانی کراتا ہے کہ کلید کوئی تبدیلی نہیں ہے ، اور اسے کسی بدعنوان سے نہیں بھیجا گیا ہے۔
چونکہ ہیش کی نگرانی کرنا آسان ہے اور ناممکن ہے (کچھ کہتے ہیں "مشکل") الٹنا ، درست ، تصدیق شدہ ہیش دستخط کا مطلب ہے کہ سرٹیفکیٹ اور کنکشن پر اعتماد کیا جاسکتا ہے ، اور اعداد و شمار کو آخر سے آخر تک خفیہ بھیجنے پر اتفاق کیا جاسکتا ہے۔ . لیکن کیا ہے تو ہیش؟ دراصل انوکھا نہیں تھا ?
تصادم حملہ کیا ہے ، اور کیا حقیقی دنیا میں یہ ممکن ہے؟
آپ نے سنا ہوگا ریاضی میں "سالگرہ کا مسئلہ" ، اگرچہ آپ کو معلوم ہی نہیں ہوگا کہ اسے کیا کہتے ہیں۔ بنیادی خیال یہ ہے کہ اگر آپ لوگوں کے ایک بہت بڑے گروپ کو جمع کرتے ہیں تو ، امکانات بہت زیادہ ہوتے ہیں کہ دو یا زیادہ افراد کی سالگرہ ایک ہی ہوگی۔ آپ کی توقع سے زیادہ بلند ، در حقیقت - یہ اتنا ہی عجیب اتفاق ہے۔ 23 افراد جیسے گروپ میں ، 50 فیصد امکان ہے کہ دو سالگرہ کا اشتراک کریں۔
SHA-1 سمیت تمام ہیشوں میں یہ فطری کمزوری ہے۔ نظریاتی طور پر ، SHA فنکشن کو کسی بھی ڈیٹا کے لئے ایک انوکھا ہیش بنانا چاہئے جو اس میں ڈال دیا جاتا ہے ، لیکن جیسے ہیشوں کی تعداد بڑھتی جاتی ہے ، اس کا امکان زیادہ ہوجاتا ہے کہ مختلف جوڑے ڈیٹا ایک ہی ہیش بناسکتے ہیں۔ تو کوئی قابل اعتبار سرٹیفکیٹ میں ایک جیسی ہیش کے ساتھ غیر اعتماد شدہ سرٹیفکیٹ بنا سکتا ہے۔ اگر وہ آپ کو یہ عدم اعتماد والا سرٹیفکیٹ انسٹال کرنے کے ل got مل جاتے ہیں تو ، یہ قابل اعتماد کے طور پر بہانا اور بدنیتی پر مبنی ڈیٹا تقسیم کرسکتا ہے۔
دو فائلوں کے مابین مماثل ہیشز ڈھونڈنا a تصادم حملہ . کم سے کم ایک بڑے پیمانے پر تصادم کا حملہ MD5 ہیشوں کے لئے پہلے ہی ہوا ہے۔ لیکن 27 فروری ، 2017 کو ، گوگل نے اعلان کیا SHAttered ، SHA-1 کے لئے پہلی بار تیار کیا گیا تصادم۔ گوگل ایک پی ڈی ایف فائل بنانے میں کامیاب تھا جس میں مختلف مواد موجود ہونے کے باوجود ، ایک اور پی ڈی ایف فائل کی طرح ہی SHA-1 ہیش موجود تھی۔
SHAttered ایک پی ڈی ایف فائل پر انجام دیا گیا تھا۔ پی ڈی ایف نسبتا loose ڈھیلے فائل فارمیٹ ہیں۔ بہت ساری ، قدرے بڑی تبدیلیاں قارئین کو اسے کھولنے سے روکنے یا کسی بھی واضح اختلاف کو پیدا کیے بغیر روکے جاسکتی ہیں۔ میلویئر کی فراہمی کے لئے اکثر پی ڈی ایف کا استعمال بھی کیا جاتا ہے۔ اگرچہ SHAttered دوسری قسم کی فائلوں پر کام کرسکتا ہے ، جیسے آئی ایس او ، سرٹیفکیٹ کی سختی کے ساتھ وضاحت کی جاتی ہے ، اس طرح کے حملے کا امکان نہیں ہوتا ہے۔
تو یہ حملہ کس حد تک آسان ہے؟ SHAttered a پر مبنی تھا طریقہ مارک سٹیونس نے 2012 میں دریافت کیا جس کے لئے 2 ^ 60.3 (9.223 کوانٹیلین) ایس ایچ اے 1 آپریشنز کی ضرورت تھی۔ یہ ایک حیرت انگیز تعداد ہے۔ تاہم ، یہ طریقہ بروک قوت کے ساتھ اسی نتیجہ کو حاصل کرنے کے لئے درکار 100،000 گنا کم آپریشنز سے بھی زیادہ ہے۔ گوگل نے پایا ہے کہ متوازی طور پر کام کرنے والے 110 اعلی کے آخر میں گرافکس کارڈ کے ساتھ ، اس میں تصادم پیدا ہونے میں تقریبا ایک سال لگے گا۔ ایمیزون اے ڈبلیو ایس سے اس حساب کتاب کو کرایہ پر لینے میں لگ بھگ 110،000 ڈالر لاگت آئے گی۔ یہ بات ذہن میں رکھیں کہ جیسے جیسے کمپیوٹر کے پرزوں کی قیمتیں کم ہو رہی ہیں اور آپ کو کم سے زیادہ طاقت مل سکتی ہے ، اس طرح کے شاٹ ایٹٹرک حملے آسانی سے دور ہوجاتے ہیں۔
،000 110،000 بہت کچھ معلوم ہوسکتا ہے ، لیکن یہ کچھ تنظیموں کے ل afford برداشت کے دائرے میں ہے — جس کا مطلب ہے کہ حقیقی زندگی سے متعلق سائبر وائیلینز ڈیجیٹل دستاویز کے دستخطوں کو جعل سازی کرسکتے ہیں ، گٹ اور ایس وی این جیسے بیک اپ اور ورژن کنٹرول سسٹم میں مداخلت کرسکتے ہیں ، یا کسی بدنیتی پر مبنی لینکس ISO کو جائز ظاہر کرسکتے ہیں۔
خوش قسمتی سے ، ایسے حملوں کی روک تھام میں کمی لانے والے عوامل موجود ہیں۔ SHA-1 شاذ و نادر ہی ڈیجیٹل دستخطوں کے لئے استعمال ہوتا ہے۔ سرٹیفیکیٹ اتھارٹیز اب SHA-1 کے ساتھ دستخط شدہ سرٹیفکیٹ فراہم نہیں کرتے ہیں ، اور کروم اور فائر فاکس دونوں نے ان کی حمایت چھوڑ دی ہے۔ عام طور پر لینکس کی تقسیم ہر سال میں ایک سے زیادہ مرتبہ جاری ہوتی ہے ، جس سے یہ حملہ آور کے لئے بدنیتی پر مبنی ورژن بنانا غیر عملی ہوتا ہے اور پھر وہی پی ایچ ڈی تیار کرتا ہے جو ایک ہی SHA-1 ہیش رکھتا ہے۔
دوسری طرف ، SHAttered پر مبنی کچھ حملے پہلے ہی حقیقی دنیا میں ہو رہے ہیں۔ SVN ورژن کنٹرول سسٹم SHA-1 استعمال کرتے ہیں۔ ایک SVN مخزن میں ایک جیسے SHA-1 ہیشوں کے ساتھ دو پی ڈی ایف اپ لوڈ کرنا اس کا سبب بنے گا خراب کرنا .
میں SHA-1 حملوں سے اپنے آپ کو کیسے بچا سکتا ہوں؟
عام صارف کے لئے بہت کچھ کرنے کی ضرورت نہیں ہے۔ اگر آپ فائلوں کا موازنہ کرنے کے لئے چیکمس استعمال کررہے ہیں تو ، آپ کو SHA-1 یا MD5 کی بجائے SHA-2 (SHA-256) یا SHA-3 استعمال کرنا چاہئے۔ اسی طرح ، اگر آپ ایک ڈویلپر ہیں تو ، یقینی بنائیں کہ زیادہ جدید ہیشنگ الگورتھم جیسے SHA-2 ، SHA-3 ، یا bcrypt استعمال کریں۔ اگر آپ پریشان ہیں کہ SHAttered کو دو ہی الگ فائلوں کو ایک ہی ہیش دینے کے لئے استعمال کیا گیا ہے تو ، گوگل نے اس پر ایک ٹول جاری کیا SHAttered سائٹ جو آپ کے لئے جانچ پڑتال کرسکتا ہے۔
تصویری کریڈٹ: لیگو فائر فاکس , بہت ساری ہیش ، براہ کرم نامعلوم ویب مصنف کو تکلیف نہ پہنچائیں ، گوگل .