حساس ڈیٹا کو نکالنے یا انکلیو میں کوڈ پر عمل کرنے کے لیے Intel SGX پر حملہ

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

Intel SGX SDK (CVE-2021-0186) اور Microsoft Open Enclave (CVE-2021-33767) پر مبنی رن ٹائم انکلیو کے لیے ایکسپلائٹ پروٹو ٹائپس تیار کیے گئے ہیں۔ پہلی صورت میں، HTTPS کے لیے ویب سرور پر استعمال ہونے والی RSA کلید کو نکالنے کی صلاحیت کا مظاہرہ کیا گیا، اور دوسری صورت میں، enclave کے اندر چلنے والی cURL یوٹیلیٹی کے ذریعے حاصل کردہ مواد کا تعین کرنا ممکن ہوا۔ Intel SGX SDK 2.13 اور Open Enclave 0.17.1 ریلیزز میں خطرے کو پہلے ہی پروگرام کے لحاظ سے طے کیا جا چکا ہے۔ Intel SGX SDK اور Microsoft Open Enclave کے علاوہ، یہ خطرہ Google Asylo SDK، EdgelessRT، Apache Teaclave، Rust SGX SDK، SGX-LKL، CoSMIX، اور Veracruz میں بھی ظاہر ہوتا ہے۔

یاد رہے کہ SGX (سافٹ ویئر گارڈ ایکسٹینشن) ٹیکنالوجی چھٹی نسل کے Intel Core Processors (Skylake) میں نمودار ہوئی ہے اور یہ ہدایات کا ایک سلسلہ پیش کرتی ہے جو صارف کی سطح کی ایپلی کیشنز کو بند میموری والے علاقوں کو مختص کرنے کی اجازت دیتی ہے۔ کرنل اور کوڈ کو ring0، SMM اور VMM موڈز کے ذریعے عمل میں لایا گیا۔ روایتی جمپ فنکشنز اور رجسٹر اور اسٹیک کے ساتھ ہیرا پھیری کا استعمال کرتے ہوئے انکلیو میں کوڈ میں کنٹرول کو منتقل کرنا ناممکن ہے - خاص طور پر بنائی گئی نئی ہدایات EENTER، EEXIT اور ERESUME کو انکلیو میں کنٹرول منتقل کرنے کے لیے استعمال کیا جاتا ہے، جو اجازت کی جانچ کرتی ہیں۔ اس صورت میں، انکلیو میں رکھا گیا کوڈ انکلیو کے اندر فنکشنز کو کال کرنے کے لیے کلاسک کال کے طریقوں اور بیرونی فنکشنز کو کال کرنے کے لیے ایک خصوصی ہدایت کا استعمال کر سکتا ہے۔ انکلیو میموری انکرپشن کا استعمال ہارڈویئر حملوں جیسے DRAM کنکشن سے حفاظت کے لیے کیا جاتا ہے۔

حساس ڈیٹا کو نکالنے یا انکلیو میں کوڈ پر عمل کرنے کے لیے Intel SGX پر حملہ

مسئلہ یہ ہے کہ SGX ٹیکنالوجی آپریٹنگ سسٹم کو اجازت دیتی ہے کہ وہ ہارڈ ویئر کی رعایت کو پھینک کر انکلیو کے عمل میں رکاوٹ ڈالے، اور انکلیو ایسے استثنیٰ کو جوہری طور پر ہینڈل کرنے کے لیے پرائمیٹوز کو صحیح طریقے سے نافذ نہیں کرتے ہیں۔ آپریٹنگ سسٹم کرنل اور عام ایپلی کیشنز کے برعکس، انکلیو کے اندر موجود کوڈ کو غیر مطابقت پذیری سے اٹھائے گئے استثنیات کو سنبھالنے کے دوران جوہری کارروائیوں کو منظم کرنے کے لیے پرائمیٹوز تک رسائی حاصل نہیں ہوتی ہے۔ مخصوص ایٹم پرائمیٹوز کے بغیر، انکلیو کو کسی بھی وقت روکا جا سکتا ہے اور اسے دوبارہ عمل میں لایا جا سکتا ہے، یہاں تک کہ بعض اوقات جب انکلیو میں اہم حصے کام کر رہے ہوں اور یہ غیر محفوظ حالت میں ہو (مثال کے طور پر، جب CPU رجسٹر محفوظ/بحال نہیں ہوتے) .

حساس ڈیٹا کو نکالنے یا انکلیو میں کوڈ پر عمل کرنے کے لیے Intel SGX پر حملہ

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

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

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

حساس ڈیٹا کو نکالنے یا انکلیو میں کوڈ پر عمل کرنے کے لیے Intel SGX پر حملہ
حساس ڈیٹا کو نکالنے یا انکلیو میں کوڈ پر عمل کرنے کے لیے Intel SGX پر حملہ


ماخذ: opennet.ru

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