TLS میں کمزوری DH سائفرز کی بنیاد پر کنکشن کے لیے کلیدی تعین کی اجازت دیتی ہے۔

نازل کیا نئے کے بارے میں معلومات کمزوریاں (CVE-2020-1968) TLS پروٹوکول میں، کوڈ نام
ایک قسم کا جانور اور، غیر معمولی حالات میں، ایک ابتدائی بنیادی کلید (پری ماسٹر) کا تعین کرنے کی اجازت دیتا ہے، جسے ٹرانزٹ ٹریفک (MITM) کو روکتے وقت، HTTPS سمیت، TLS کنکشن کو ڈکرپٹ کرنے کے لیے استعمال کیا جا سکتا ہے۔ واضح رہے کہ یہ حملہ عملی نفاذ کے لیے بہت مشکل ہے اور یہ زیادہ نظریاتی نوعیت کا ہے۔ حملے کو انجام دینے کے لیے، TLS سرور کی ایک مخصوص ترتیب اور سرور کے پروسیسنگ کے وقت کو بہت درست طریقے سے ماپنے کی صلاحیت کی ضرورت ہوتی ہے۔

مسئلہ براہ راست TLS تفصیلات میں موجود ہے اور صرف DH کلیدی ایکسچینج پروٹوکول (Diffie-Hellman, TLS_DH_*") پر مبنی سائفرز کا استعمال کرتے ہوئے کنکشن کو متاثر کرتا ہے۔ ECDH سائفرز کے ساتھ مسئلہ پیدا نہیں ہوتا اور وہ محفوظ رہتے ہیں۔ ورژن 1.2 تک صرف TLS پروٹوکول ہی کمزور ہیں؛ TLS 1.3 مسئلہ سے متاثر نہیں ہوتا ہے۔ کمزوری TLS کے نفاذ میں ہوتی ہے جو DH خفیہ کلید کو مختلف TLS کنکشنز میں دوبارہ استعمال کرتے ہیں (یہ سلوک تقریباً 4.4% Alexa Top 1M سرورز پر ہوتا ہے)۔

OpenSSL 1.0.2e اور اس سے پہلے کی ریلیز میں، DH بنیادی کلید کو تمام سرور کنکشنز میں دوبارہ استعمال کیا جاتا ہے جب تک کہ SSL_OP_SINGLE_DH_USE آپشن واضح طور پر سیٹ نہ ہو۔ OpenSSL 1.0.2f کے بعد سے، DH بنیادی کلید صرف جامد DH سائفرز ("DH-*"، جیسے "DH-RSA-AES256-SHA") استعمال کرتے وقت دوبارہ استعمال ہوتی ہے۔ کمزوری OpenSSL 1.1.1 میں ظاہر نہیں ہوتی ہے، کیونکہ یہ برانچ DH بنیادی کلید استعمال نہیں کرتی ہے اور جامد DH سائفرز استعمال نہیں کرتی ہے۔

DH کلید کے تبادلے کا طریقہ استعمال کرتے وقت، کنکشن کے دونوں اطراف بے ترتیب نجی کلیدیں (اس کے بعد کلید "a" اور کلید "b") تیار کرتے ہیں، جن کی بنیاد پر عوامی کلیدیں (ga mod p اور gb mod p) کا حساب لگا کر بھیجی جاتی ہیں۔ ہر پارٹی کو عوامی چابیاں موصول ہونے کے بعد، ایک عام بنیادی کلید (gab mod p) کا حساب لگایا جاتا ہے، جو سیشن کیز بنانے کے لیے استعمال ہوتی ہے۔ ریکون حملہ آپ کو سائیڈ چینل تجزیہ کے ذریعے بنیادی کلید کا تعین کرنے کی اجازت دیتا ہے، اس حقیقت کی بنیاد پر کہ ورژن 1.2 تک کی TLS وضاحتیں اس بات کا تقاضہ کرتی ہیں کہ پرائمری کلید کے تمام اہم null بائٹس کو اس میں شامل حسابات سے پہلے ضائع کر دیا جائے۔

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

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

TLS میں کمزوری DH سائفرز کی بنیاد پر کنکشن کے لیے کلیدی تعین کی اجازت دیتی ہے۔

اوپن ایس ایس ایل کی کمزوریاں تفویض خطرے کی کم سطح، اور ریلیز 1.0.2w میں پریشانی والے سائفرز "TLS_DH_*" کو ناکافی سطح کے تحفظ ("کمزور-ssl-ciphers") کے ساتھ سائفرز کے زمرے میں منتقل کرنے کے لیے درست کیا گیا، جو بطور ڈیفالٹ غیر فعال ہے۔ . موزیلا ڈویلپرز نے بھی ایسا ہی کیا، بند کر دیا گیا فائر فاکس میں استعمال ہونے والی NSS لائبریری میں، DH اور DHE سائفر سویٹس۔ فائر فاکس 78 کے مطابق، دشواری والے سائفرز غیر فعال ہیں۔ ڈی ایچ کے لیے کروم سپورٹ کو 2016 میں واپس بند کر دیا گیا تھا۔ BearSSL, BoringSSL, Botan, Mbed TLS اور s2n لائبریریاں اس مسئلے سے متاثر نہیں ہوتیں کیونکہ وہ DH سائفرز یا DH سائفرز کی جامد مختلف حالتوں کو سپورٹ نہیں کرتی ہیں۔

اضافی مسائل کو الگ سے نوٹ کیا جاتا ہے (CVE-2020-5929) F5 BIG-IP آلات کے TLS اسٹیک میں، حملے کو مزید حقیقت پسندانہ بناتا ہے۔ خاص طور پر، پرائمری کلید کے شروع میں زیرو بائٹ کی موجودگی میں آلات کے رویے میں انحراف کی نشاندہی کی گئی ہے، جنہیں حساب کی درست تاخیر کی پیمائش کرنے کے بجائے استعمال کیا جا سکتا ہے۔

ماخذ: opennet.ru

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