AMD نے سپیکٹر-STL حملے میں AMD Zen 3 CPUs کے ممکنہ خطرے کی تصدیق کی ہے۔

AMD نے Zen 3 سیریز کے پروسیسرز میں لاگو کی گئی PSF (Predictive Store Forwarding) آپٹیمائزیشن ٹیکنالوجی کی سیکورٹی کا تجزیہ کرنے والی ایک رپورٹ شائع کی ہے، مطالعہ نے نظریاتی طور پر Spectre-STL (Spectre-v4) حملے کے طریقہ کار کے اطلاق کی تصدیق کی ہے، جس کی نشاندہی مئی 2018 میں کی گئی تھی۔ PSF ٹیکنالوجی، لیکن عملی طور پر، ابھی تک کوئی کوڈ ٹیمپلیٹس نہیں ملے جو حملے کا باعث بن سکیں اور مجموعی خطرے کو غیر معمولی سمجھا جاتا ہے۔

ہمیں یاد کرنا چاہیے کہ Specter-v4 (Speculative Store Bypass) اٹیک ڈیٹا کو بحال کرنے پر مبنی ہے جو بالواسطہ ایڈریسنگ کا استعمال کرتے ہوئے متبادل رائٹ اور ریڈ آپریشنز پر کارروائی کرتے وقت آپریشنز کے قیاس آرائی کے نتیجے کو ضائع کرنے کے بعد پروسیسر کیشے میں بس گیا ہے۔ جب پڑھنے کا عمل رائٹ آپریشن کے بعد ہوتا ہے (مثال کے طور پر، mov [rbx + rcx], 0x0; mov rax, [rdx + rsi])، اسی طرح کی کارروائیوں کی وجہ سے پڑھے جانے والے ایڈریس کا آفسیٹ پہلے سے معلوم ہوسکتا ہے (پڑھنے کے آپریشنز زیادہ کثرت سے کارکردگی کا مظاہرہ کیا جاتا ہے اور کیشے سے پڑھا جاسکتا ہے) اور پروسیسر قیاس آرائی کے ساتھ لکھنے سے پہلے پڑھنے کو انجام دے سکتا ہے بغیر تحریر کے انڈائرکشن آفسیٹ کا حساب لگائے جانے کا انتظار کیے بغیر۔

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

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

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

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

ماخذ: opennet.ru

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