جاوا اسکرپٹ کے بغیر ویب براؤزر میں CPU کیش نکالنے کا حملہ لاگو کیا گیا ہے۔

متعدد امریکی، اسرائیلی اور آسٹریلوی یونیورسٹیوں کے محققین کی ایک ٹیم نے تین حملے تیار کیے ہیں جو ویب براؤزر پر پروسیسر کیشے کے مواد کے بارے میں معلومات نکالنے کے لیے چلتے ہیں۔ ایک طریقہ جاوا اسکرپٹ کے بغیر براؤزرز میں کام کرتا ہے، اور دوسرے دو سائڈ چینل حملوں کے خلاف تحفظ کے موجودہ طریقوں کو نظرانداز کرتے ہیں، بشمول Tor براؤزر اور DeterFox میں استعمال ہونے والے۔ حملوں کو ظاہر کرنے کے لیے کوڈ، نیز حملوں کے لیے ضروری سرور کے اجزاء، GitHub پر شائع کیے گئے ہیں۔

کیشے کے مواد کا تجزیہ کرنے کے لیے، تمام حملے Prime+Probe طریقہ استعمال کرتے ہیں، جس میں کیشے کو قدروں کے ایک معیاری سیٹ سے بھرنا اور ان کو دوبارہ بھرتے وقت ان تک رسائی کے وقت کی پیمائش کرکے تبدیلیوں کا پتہ لگانا شامل ہے۔ براؤزرز میں موجود سیکیورٹی میکانزم کو نظرانداز کرنے کے لیے جو وقت کی درست پیمائش میں مداخلت کرتے ہیں، دو اختیارات میں، حملہ آور کے زیر کنٹرول DNS یا WebSocket سرور سے اپیل کی جاتی ہے، جو موصول ہونے والی درخواستوں کے وقت کا ایک لاگ رکھتا ہے۔ ایک مجسمہ میں، ایک مقررہ DNS جوابی وقت کو وقت کے حوالہ کے طور پر استعمال کیا جاتا ہے۔

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

جاوا اسکرپٹ کے بغیر ویب براؤزر میں CPU کیش نکالنے کا حملہ لاگو کیا گیا ہے۔

DNS ریسنگ اٹیک کا پہلا ورژن JavaScript arrays کا استعمال کرتے ہوئے Prime+Probe طریقہ کے کلاسک نفاذ کا استعمال کرتا ہے۔ اختلافات ایک بیرونی DNS پر مبنی ٹائمر اور ایک اون ایرر ہینڈلر کے استعمال پر ابلتے ہیں، جو اس وقت شروع ہوتا ہے جب کسی غیر موجود ڈومین سے کسی تصویر کو لوڈ کرنے کی کوشش کی جاتی ہے۔ ایک بیرونی ٹائمر ایسے براؤزرز پر پرائم + پروب حملے کی اجازت دیتا ہے جو JavaScript ٹائمرز تک رسائی کو محدود یا مکمل طور پر غیر فعال کر دیتے ہیں۔

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

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

"CSS PP0" حملے کا تیسرا ویرینٹ HTML اور CSS کے ذریعے لاگو کیا جاتا ہے، اور جاوا اسکرپٹ کو غیر فعال کرنے والے براؤزرز میں کام کر سکتا ہے۔ یہ طریقہ "سٹرنگ اور ساک" جیسا ہے، لیکن جاوا اسکرپٹ سے منسلک نہیں ہے۔ حملے کے دوران، سی ایس ایس سلیکٹرز کا ایک سیٹ تیار ہوتا ہے جو ماسک کے ذریعے تلاش کرتا ہے۔ ابتدائی بڑی تار جو کیشے کو بھرتی ہے اسے ایک بہت بڑے کلاس نام کے ساتھ ایک div ٹیگ بنا کر سیٹ کیا جاتا ہے۔ اندر ان کے اپنے شناخت کنندگان کے ساتھ دیگر divs کا ایک سیٹ ہے۔ ان میں سے ہر ایک نیسٹڈ divs کا ایک سلیکٹر کے ساتھ اپنا اسٹائل ہوتا ہے جو سب اسٹرنگ کو تلاش کرتا ہے۔ کسی صفحہ کو رینڈر کرتے وقت، براؤزر سب سے پہلے اندرونی divs پر کارروائی کرنے کی کوشش کرتا ہے، جس کے نتیجے میں ایک بڑی قطار میں سرچ آپریشن ہوتا ہے۔ تلاش جان بوجھ کر غائب ہونے والے ماسک کا استعمال کرتے ہوئے کی جاتی ہے اور پوری لائن پر تکرار کی طرف لے جاتی ہے، جس کے بعد "نہیں" کی حالت کو متحرک کیا جاتا ہے اور بے ترتیب ڈومینز کا حوالہ دیتے ہوئے پس منظر کی تصویر لوڈ کرنے کی کوشش کی جاتی ہے: #pp:not([class*=’xjtoxg’]) #s0 {background-image: url(«https://qdlvibmr.helldomain.oy.ne.ro»);} #pp:not([class*=’gzstxf’]) #s1 {background-image: url(«https://licfsdju.helldomain.oy.ne.ro»);} … ایکس ایکس ...

ذیلی ڈومینز حملہ آور کے DNS سرور کے ذریعہ پیش کیے جاتے ہیں، جو درخواستوں کے موصول ہونے میں تاخیر کی پیمائش کر سکتے ہیں۔ DNS سرور تمام درخواستوں کے لیے NXDOMAIN جاری کرتا ہے اور درخواستوں کے صحیح وقت کا ایک لاگ رکھتا ہے۔ Divs کے ایک سیٹ پر کارروائی کے نتیجے میں، حملہ آور کے DNS سرور کو درخواستوں کا ایک سلسلہ موصول ہوتا ہے، جن کے درمیان تاخیر کیشے کے مواد کو چیک کرنے کے نتیجے سے تعلق رکھتی ہے۔

جاوا اسکرپٹ کے بغیر ویب براؤزر میں CPU کیش نکالنے کا حملہ لاگو کیا گیا ہے۔


ماخذ: opennet.ru

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