Plundervolt Intel پروسیسرز پر حملہ کرنے کا ایک نیا طریقہ ہے جو SGX ٹیکنالوجی کو متاثر کرتا ہے۔

انٹیل جاری کیا مائکرو کوڈ اپ ڈیٹ جو ٹھیک کرتا ہے۔ کمزوری (CVE-2019-14607) ، اجازت دینا CPU میں متحرک وولٹیج اور فریکوئنسی کنٹرول میکانزم کی ہیرا پھیری کے ذریعے، ڈیٹا سیلز کے مواد کو نقصان پہنچانا، بشمول الگ تھلگ Intel SGX enclaves میں حساب کے لیے استعمال ہونے والے علاقوں میں۔ اس حملے کو Plundervolt کہا جاتا ہے، اور ممکنہ طور پر ایک مقامی صارف کو سسٹم پر اپنی مراعات بڑھانے، سروس سے انکار اور حساس ڈیٹا تک رسائی حاصل کرنے کی اجازت دیتا ہے۔

حملہ صرف SGX انکلیو میں حساب کے ساتھ ہیرا پھیری کے تناظر میں خطرناک ہے، کیونکہ اس کو انجام دینے کے لیے نظام میں بنیادی حقوق کی ضرورت ہوتی ہے۔ سب سے آسان صورت میں، حملہ آور انکلیو میں کارروائی کی گئی معلومات کو مسخ کر سکتا ہے، لیکن زیادہ پیچیدہ حالات میں، RSA-CRT اور AES-NI الگورتھم کا استعمال کرتے ہوئے خفیہ کاری کے لیے استعمال ہونے والی انکلیو میں محفوظ کی گئی نجی کلیدوں کو دوبارہ بنانے کا امکان نہیں ہے۔ خارج میموری کے ساتھ کام کرتے وقت کمزوریوں کو بھڑکانے کے لیے ابتدائی طور پر درست الگورتھم میں غلطیاں پیدا کرنے کے لیے بھی تکنیک کا استعمال کیا جا سکتا ہے، مثال کے طور پر مختص کردہ بفر کی حدود سے باہر کسی علاقے تک رسائی کو منظم کرنے کے لیے۔
حملہ کرنے کے لیے پروٹوٹائپ کوڈ شائع GitHub پر

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

وولٹیج کو تبدیل کر کے، آپ ایسے حالات پیدا کر سکتے ہیں جس کے تحت CPU کے اندر میموری سیل کو دوبارہ بنانے کے لیے چارج کافی نہیں ہے، اور اس کی قدر میں تبدیلی آتی ہے۔ حملے سے کلیدی فرق رو ہیمر یہ ہے کہ RowHammer آپ کو پڑوسی خلیوں سے ڈیٹا کو چکرا کر پڑھ کر DRAM میموری میں انفرادی بٹس کے مواد کو تبدیل کرنے کی اجازت دیتا ہے، جب کہ Plundervolt آپ کو CPU کے اندر بٹس تبدیل کرنے کی اجازت دیتا ہے جب ڈیٹا کو پہلے ہی حساب کے لیے میموری سے لوڈ کیا گیا ہو۔ یہ فیچر آپ کو میموری میں ڈیٹا کے لیے SGX میں استعمال ہونے والے انٹیگریٹی کنٹرول اور انکرپشن میکانزم کو نظرانداز کرنے کی اجازت دیتا ہے، کیونکہ میموری میں اقدار درست رہتی ہیں، لیکن نتیجہ میموری پر لکھے جانے سے پہلے ان کے ساتھ آپریشنز کے دوران مسخ کیا جا سکتا ہے۔

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

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

Intel پروسیسرز کے مختلف ماڈلز اس مسئلے سے متاثر ہوتے ہیں، بشمول Intel Core CPUs کے ساتھ 6
10 ویں نسل کے ساتھ ساتھ Xeon E3 کی پانچویں اور چھٹی نسلیں، Intel Xeon Scalable کی پہلی اور دوسری نسل، Xeon D،
Xeon W اور Xeon E.

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

ماخذ: opennet.ru

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