انٹیل اور اے ایم ڈی پروسیسرز کے مائیکرو آرکیٹیکچرل ڈھانچے پر نیا حملہ

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

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

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

یہ طریقہ 2011 سے جاری ہونے والے Intel اور AMD پروسیسر ماڈلز کو متاثر کرتا ہے، بشمول Intel Skylake اور AMD Zen سیریز۔ جدید سی پی یوز پیچیدہ پروسیسر ہدایات کو آسان RISC جیسے مائیکرو آپریشنز میں توڑ دیتے ہیں، جو الگ کیش میں کیش ہوتے ہیں۔ یہ کیش بنیادی طور پر اعلیٰ سطحی کیشز سے مختلف ہے، براہ راست قابل رسائی نہیں ہے اور CISC ہدایات کو RISC مائیکرو انسٹرکشنز میں ڈی کوڈ کرنے کے نتائج تک فوری رسائی کے لیے ایک اسٹریم بفر کے طور پر کام کرتا ہے۔ تاہم، محققین نے ایسے حالات پیدا کرنے کا ایک طریقہ ڈھونڈ لیا ہے جب کیشے تک رسائی میں تنازعات پیدا ہوتے ہیں اور کسی کو کچھ کارروائیوں کے عمل کے وقت میں فرق کا تجزیہ کرکے مائیکرو آپریشن کیشے کے مواد کا فیصلہ کرنے کی اجازت دیتے ہیں۔

انٹیل اور اے ایم ڈی پروسیسرز کے مائیکرو آرکیٹیکچرل ڈھانچے پر نیا حملہ

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

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

مائیکرو آپریشن کیش کا استعمال کرتے ہوئے سپیکٹر اٹیک کے مختلف قسم کو منظم کرتے وقت، محققین 965.59 Kbps کی کارکردگی حاصل کرنے کے قابل تھے جس میں 0.22% کی خرابی کی شرح اور 785.56 Kbps غلطی کی اصلاح کا استعمال کرتے ہوئے، اسی ایڈریس کے اندر ایک لیک کو منظم کرنے کی صورت میں جگہ اور استحقاق کی سطح۔ مختلف استحقاق کی سطحوں (کرنل اور یوزر اسپیس کے درمیان) پر پھیلے ایک لیک کے ساتھ، کارکردگی 85.2 Kbps تھی جس میں غلطی کی اصلاح شامل کی گئی تھی اور 110.96% کی غلطی کی شرح کے ساتھ 4 Kbps تھی۔ AMD Zen پروسیسرز پر حملہ کرتے وقت، مختلف منطقی CPU cores کے درمیان ایک رساو پیدا کرتے ہوئے، کارکردگی 250% کی غلطی کی شرح کے ساتھ 5.59 Kbps تھی اور غلطی کی اصلاح کے ساتھ 168.58 Kbps تھی۔ کلاسک Specter v1 طریقہ کے مقابلے میں، نیا حملہ 2.6 گنا تیز تھا۔

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

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

ماخذ: opennet.ru

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