AMD پروسیسرز کے قیاس آرائی پر عملدرآمد کے طریقہ کار میں کمزوری۔

Grsecurity پروجیکٹ نے AMD پروسیسرز میں ایک نئی کمزوری (CVE-2021-26341) کے لیے حملے کے طریقہ کار کی تفصیلات اور ایک مظاہرہ شائع کیا ہے جو کہ غیر مشروط آگے کی کارروائیوں کے بعد ہدایات پر قیاس آرائی سے متعلق ہے۔ اگر حملہ کامیاب ہوتا ہے تو، کمزوری صوابدیدی میموری والے علاقوں کے مواد کا تعین کرنے کی اجازت دیتی ہے۔ مثال کے طور پر، محققین نے ایک استحصال تیار کیا ہے جو انہیں ایڈریس لے آؤٹ کا تعین کرنے اور KASLR (کرنل میموری رینڈمائزیشن) کے تحفظ کے طریقہ کار کو ePBF کرنل سب سسٹم میں غیر مراعات یافتہ کوڈ پر عمل درآمد کرنے کی اجازت دیتا ہے۔ دوسرے حملے کے منظرناموں کو مسترد نہیں کیا جا سکتا جو کرنل میموری کے مواد کو لیک کرنے کا باعث بن سکتے ہیں۔

کمزوری آپ کو ایسے حالات پیدا کرنے کی اجازت دیتی ہے جس کے تحت پروسیسر، قبل از وقت عملدرآمد کے دوران، میموری میں جمپ انسٹرکشن (SLS، Straight Line Speculation) کے فوراً بعد ہدایات پر قیاس آرائی سے عمل کرتا ہے۔ مزید یہ کہ، اس طرح کی اصلاح نہ صرف مشروط جمپ آپریٹرز کے لیے کام کرتی ہے، بلکہ ان ہدایات کے لیے بھی کام کرتی ہے جو براہ راست غیر مشروط چھلانگ کو ظاہر کرتی ہیں، جیسے JMP، RET اور CALL۔ غیر مشروط چھلانگ کی ہدایات کے بعد، صوابدیدی ڈیٹا رکھا جا سکتا ہے جو عمل درآمد کے لیے نہیں ہے۔ اس بات کا تعین کرنے کے بعد کہ کسی برانچ میں اگلی ہدایات پر عمل درآمد شامل نہیں ہے، پروسیسر صرف ریاست کو رول بیک کرتا ہے اور قیاس آرائیوں پر عمل درآمد کو نظر انداز کرتا ہے، لیکن ہدایات پر عمل درآمد کا سراغ مشترکہ کیشے میں رہتا ہے اور سائیڈ چینل بازیافت تکنیک کا استعمال کرتے ہوئے تجزیہ کے لیے دستیاب ہے۔

جیسا کہ Specter-v1 کمزوری کے استحصال کے ساتھ، حملے کے لیے دانا میں ہدایات کے کچھ سلسلے (گیجٹس) کی موجودگی کی ضرورت ہوتی ہے جو قیاس آرائی پر عمل درآمد کا باعث بنتے ہیں۔ اس معاملے میں کمزوری کو مسدود کرنا کوڈ میں ایسے گیجٹس کی نشاندہی کرنے اور ان میں اضافی ہدایات شامل کرنے پر آتا ہے جو قیاس آرائیوں پر عمل درآمد کو روکتی ہیں۔ eBPF ورچوئل مشین میں چلنے والے غیر مراعات یافتہ پروگراموں کے ذریعہ بھی قیاس آرائی پر عمل درآمد کی شرائط پیدا کی جاسکتی ہیں۔ eBPF کا استعمال کرتے ہوئے گیجٹ بنانے کی صلاحیت کو روکنے کے لیے، سسٹم میں eBPF تک غیر مراعات یافتہ رسائی کو غیر فعال کرنے کی سفارش کی جاتی ہے ("sysctl -w kernel.unprivileged_bpf_disabled=1")۔

کمزوری Zen1 اور Zen2 مائیکرو آرکیٹیکچر پر مبنی پروسیسرز کو متاثر کرتی ہے، بشمول AMD EPYC اور AMD Ryzen Threadripper پروسیسرز کی پہلی اور دوسری نسلوں کے ساتھ ساتھ AMD Ryzen 2000/3000/4000/5000، AMD Athlon، AMD Athlon X، AMD Ryzen Threadypper PRO اور APU سیریز کے پروسیسرز A. ہدایات پر قیاس آرائی پر عملدرآمد کو روکنے کے لیے، برانچ آپریشنز (RET, JMP, CALL) کے بعد INT3 یا LFENCE ہدایات پر کال کرنے کی سفارش کی جاتی ہے۔

ماخذ: opennet.ru

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