Retbleed Intel اور AMD CPUs کے قیاس آرائی پر عملدرآمد کے طریقہ کار پر ایک نیا حملہ ہے۔

ای ٹی ایچ زیورخ کے محققین کے ایک گروپ نے سی پی یو میں بالواسطہ ٹرانزیشن کے قیاس آرائی کے طریقہ کار پر ایک نئے حملے کی نشاندہی کی ہے، جس سے کرنل میموری سے معلومات نکالنا یا ورچوئل مشینوں سے میزبان سسٹم پر حملے کو منظم کرنا ممکن ہو جاتا ہے۔ خطرات کو Retbleed (CVE-2022-29900, CVE-2022-29901) کا نام دیا گیا ہے اور یہ Specter-v2 حملوں کے فطرت میں قریب ہیں۔ فرق صوابدیدی کوڈ کے قیاس آرائی پر عمل درآمد کی تنظیم میں آتا ہے جب "ریٹ" (واپسی) ہدایات پر کارروائی کرتے ہیں، جو "jmp" ہدایات کا استعمال کرتے ہوئے بالواسطہ چھلانگ کے بجائے اسٹیک سے چھلانگ لگانے کے لئے پتہ لاتا ہے، ایڈریس لوڈ کر رہا ہے۔ میموری یا سی پی یو رجسٹر۔

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

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

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

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

تحقیق کے دوران، ایک ورکنگ ایکسپلائٹ تیار کیا گیا تھا جو Intel CPUs والے سسٹمز پر، 219 بائٹس فی سیکنڈ کی رفتار اور 98% درستگی سے یوزر اسپیس میں غیر مراعات یافتہ عمل سے کرنل میموری سے من مانی ڈیٹا نکالنے کی اجازت دیتا ہے۔ AMD پروسیسرز پر، استحصال کی کارکردگی بہت زیادہ ہے — لیک کی شرح 3.9 KB فی سیکنڈ ہے۔ ایک عملی مثال کے طور پر، ہم دکھاتے ہیں کہ /etc/shadow فائل کے مواد کا تعین کرنے کے لیے مجوزہ استحصال کو کیسے استعمال کیا جائے۔ Intel CPUs والے سسٹمز پر، روٹ یوزر پاس ورڈ ہیش کا تعین کرنے کے لیے حملہ 28 منٹ میں کیا گیا، اور AMD CPUs والے سسٹمز پر - 6 منٹ میں۔

حملے کی تصدیق انٹیل پروسیسرز کی 6-8 نسلوں کے لیے کی گئی ہے جو Q3 2019 (بشمول Skylake) سے پہلے جاری کیے گئے تھے، اور Zen 1، Zen 1+ اور Zen 2 مائیکرو آرکیٹیکچرز پر مبنی AMD پروسیسرز جو Q2021 3 سے پہلے جاری کیے گئے تھے۔ نئے پروسیسر ماڈلز جیسے کہ AMD ZenXNUMX اور Intel Alder Lake کے ساتھ ساتھ ARM پروسیسرز میں، موجودہ تحفظاتی میکانزم کے ذریعے مسئلہ مسدود ہے۔ مثال کے طور پر، IBRS (Indirect Branch Restricted Speculation) ہدایات کا استعمال حملوں سے حفاظت میں مدد کرتا ہے۔

لینکس کرنل اور Xen ہائپر وائزر کے لیے تبدیلیوں کا ایک سیٹ تیار کیا گیا ہے، جو پرانے CPUs پر سافٹ ویئر میں مسئلہ کو روک دے گا۔ لینکس کرنل کے لیے مجوزہ پیچ 68 فائلوں کو تبدیل کرتا ہے، 1783 لائنوں کا اضافہ کرتا ہے، اور 387 لائنوں کو حذف کرتا ہے۔ بدقسمتی سے، تحفظ اہم اوور ہیڈ اخراجات کا باعث بنتا ہے - AMD اور Intel پروسیسرز پر کی جانے والی تحریروں میں، کارکردگی میں کمی کا تخمینہ 14% سے 39% تک لگایا گیا ہے۔ IBRS ہدایات کی بنیاد پر تحفظ کا استعمال کرنا زیادہ بہتر ہے، جو Intel CPUs کی نئی نسلوں میں دستیاب ہے اور لینکس کرنل 4.19 سے شروع ہونے میں معاون ہے۔

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

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

مزید برآں، فرضی شاخوں کے نفاذ سے متعلق AMD CPUs (CVE-2022-23825، برانچ ٹائپ کنفیوژن) میں ایک اور مسئلے کی بھی نشاندہی کی گئی ہے - برانچ کی پیشین گوئی کے حالات ضروری برانچ ہدایات کے بغیر بھی ہو سکتے ہیں، جو برانچ پریڈیکشن بفر کو متاثر کرنے کی اجازت دیتا ہے۔ ہدایت کے بغیر "ret". یہ خصوصیت تحفظ کے نفاذ کو نمایاں طور پر پیچیدہ بناتی ہے اور برانچ پیشن گوئی بفر کی زیادہ فعال صفائی کی ضرورت ہوتی ہے۔ دانا میں مکمل تحفظ شامل کرنے سے اوور ہیڈ میں 209% اضافہ متوقع ہے۔

ماخذ: opennet.ru

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