گوگل برائوزر ۾ جاوا اسڪرپٽ تي عمل ڪندي اسپيڪٽر جي ڪمزورين جي استحصال جو مظاهرو ڪري ٿو

گوگل ڪيترن ئي استحصالي پروٽوٽائپس کي شايع ڪيو آهي جنهن ۾ اسپيڪٽر ڪلاس جي ڪمزورين جو استحصال ڪرڻ جو امڪان ظاهر ڪيو ويو آهي جڏهن برائوزر ۾ جاوا اسڪرپٽ ڪوڊ تي عمل ڪندي، اڳ ۾ شامل ڪيل تحفظ جي طريقن کي نظرانداز ڪندي. موجوده ٽيب ۾ پروسيسنگ ويب مواد جي پروسيسنگ جي ياداشت تائين رسائي حاصل ڪرڻ لاء استحصال استعمال ڪري سگهجي ٿو. استحصال جي آپريشن کي جانچڻ لاءِ، ويب سائيٽ leaky.page شروع ڪئي وئي، ۽ ڪم جي منطق کي بيان ڪندڙ ڪوڊ GitHub تي پوسٽ ڪيو ويو.

تجويز ڪيل پروٽوٽائپ انٽيل ڪور i7-6500U پروسيسرز سان سسٽم تي حملو ڪرڻ لاءِ ٺهيل آهي لينڪس ۽ ڪروم 88 سان ماحول ۾. ٻين ماحولن لاءِ استحصال کي استعمال ڪرڻ لاءِ، ترميمن جي ضرورت آهي. استحصال جو طريقو مخصوص نه آهي Intel پروسيسرز لاءِ - مناسب موافقت کان پوءِ، استحصال جي تصديق ڪئي وئي سي پي يوز سان سسٽم تي ڪم ڪرڻ لاءِ ٻين ٺاهيندڙن کان، بشمول ايپل M1 ARM آرڪيٽيڪچر جي بنياد تي. معمولي ترميمن کان پوء، استحصال ٻين آپريٽنگ سسٽم ۾ ۽ ٻين برائوزرن ۾ Chromium انجڻ جي بنياد تي پڻ قابل عمل آهي.

معياري Chrome 88 ۽ Intel Skylake پروسيسرز تي ٻڌل ماحول ۾، موجوده ڪروم ٽيب ۾ ويب مواد جي پروسيسنگ لاءِ ذميوار عمل مان ڊيٽا ليڪ ڪرڻ ممڪن هو (ريڊرر پروسيس) 1 ڪلو بائيٽ في سيڪنڊ جي رفتار سان. اضافي طور تي، متبادل پروٽوٽائپ ٺاهيا ويا آهن، مثال طور، هڪ استحصال جيڪو اجازت ڏئي ٿو، استحڪام کي گهٽائڻ جي قيمت تي، 8kB/s تائين ليڪ جي شرح کي وڌائڻ لاء جڏهن ڪارڪردگي.now() ٽائمر استعمال ڪندي 5 microseconds (0.005 milliseconds) جي درستگي سان. ). هڪ نسخو پڻ تيار ڪيو ويو جيڪو هڪ مليسيڪنڊ جي ٽائمر جي درستگي سان ڪم ڪيو، جيڪو تقريبا 60 بائيٽ في سيڪنڊ جي رفتار سان ڪنهن ٻئي پروسيس جي ياداشت تائين رسائي کي منظم ڪرڻ لاء استعمال ڪري سگهجي ٿو.

شايع ٿيل ڊيمو ڪوڊ ٽن حصن تي مشتمل آهي. پهريون حصو سي پي يو جي هدايتن جي قياس آرائي جي نتيجي ۾ پروسيسر ڪيش ۾ رهيل ڊيٽا کي بحال ڪرڻ لاءِ گهربل عملن جي عمل جي وقت جو اندازو لڳائڻ لاءِ ٽائمر کي ترتيب ڏئي ٿو. ٻيو حصو جاوا اسڪرپٽ صف مختص ڪرڻ وقت استعمال ٿيل ياداشت جي ترتيب کي طئي ڪري ٿو.

ٽيون حصو سڌي طرح موجوده عمل جي ميموري مواد کي طئي ڪرڻ لاءِ اسپيڪٽر جي ڪمزوريءَ جو استحصال ڪري ٿو ڪجهه عملن جي قياس آرائي لاءِ حالتون پيدا ڪرڻ جي نتيجي ۾ ، جنهن جو نتيجو پروسيسر طرفان رد ڪيو وڃي ٿو ناڪام اڳڪٿي جو تعين ڪرڻ کان پوءِ ، پر ان جا نشان. عمل عام ڪيش ۾ جمع ڪيا ويندا آهن ۽ طريقن کي استعمال ڪندي بحال ڪري سگھجي ٿو ڪيش جي مواد کي طئي ڪرڻ لاءِ ٽئين پارٽي چينلز جيڪي ڪيش ٿيل ۽ غير محفوظ ٿيل ڊيٽا تائين رسائي جي وقت ۾ تبديلين جو تجزيو ڪن ٿا.

تجويز ڪيل استحصال واري ٽيڪنڪ ان کي ممڪن بڻائي ٿي پرفارمنس.now() API ذريعي دستياب اعليٰ درستي واري ٽائمرز کان سواءِ، ۽ SharedArrayBuffer قسم جي سپورٽ کان سواءِ، جيڪا شيئر ڪيل ميموري ۾ arrays ٺاهڻ جي اجازت ڏئي ٿي. استحصال ۾ اسپيڪٽر گيجٽ شامل آهي، جيڪو ڪوڊ جي ڪنٽرول ٿيل قياس آرائي جي عمل جو سبب بڻائيندو آهي، ۽ هڪ طرفي چينل ليڪ تجزيه ڪندڙ، جيڪو قياس جي عمل دوران حاصل ڪيل ڪيش ڪيل ڊيٽا کي ڳولي ٿو.

گيجٽ هڪ جاوا اسڪرپٽ صف استعمال ڪندي لاڳو ڪيو ويو آهي جنهن ۾ بفر جي حدن کان ٻاهر واري علائقي تائين پهچڻ جي ڪوشش ڪئي وئي آهي، برانچ جي اڳڪٿي واري بلاڪ جي حالت کي متاثر ڪري ٿي ڇاڪاڻ ته مرتب ڪندڙ طرفان شامل ڪيل بفر سائيز چيڪ جي موجودگي جي ڪري (پروسيسر خاص طور تي انجام ڏئي ٿو. وقت کان اڳ رسائي، پر چيڪ ڪرڻ کان پوء رياست کي واپس آڻيندو). ناکافي ٽائمر جي درستگي جي حالتن ۾ ڪيش جي مواد جو تجزيو ڪرڻ لاء، ھڪڙو طريقو تجويز ڪيو ويو آھي جيڪو پروسيسرز ۾ استعمال ٿيل Tree-PLRU ڪيش جي خارج ڪرڻ واري حڪمت عملي کي ٺڳي ٿو ۽ اجازت ڏئي ٿو، سائيڪلن جي تعداد کي وڌائيندي، وقت ۾ فرق کي خاص طور تي وڌائڻ لاء. ڪيش مان هڪ قدر ۽ جڏهن ڪيش ۾ ڪو قدر نه آهي.

اهو نوٽ ڪيو ويو آهي ته گوگل اسپيڪٽر طبقي جي خطرن کي استعمال ڪندي حملن جي فزيبلٽي کي ڏيکارڻ ۽ ويب ڊولپرز کي ٽيڪنالاجي استعمال ڪرڻ جي حوصلا افزائي ڪرڻ لاءِ استحصال جو هڪ پروٽوٽائپ شايع ڪيو جيڪي اهڙن حملن کان خطرن کي گهٽ ڪن. ساڳئي وقت، گوگل يقين رکي ٿو ته بغير پيش ڪيل پروٽوٽائپ جي اهم ڪم ڪرڻ کان سواء، اهو ناممڪن آهي ته عالمي استحصال پيدا ڪرڻ لاء جيڪي نه رڳو مظاهرين لاء تيار آهن، پر وسيع استعمال لاء پڻ.

خطري کي گهٽائڻ لاءِ، سائيٽ جي مالڪن کي حوصلا افزائي ڪئي وڃي ٿي ته تازو لاڳو ٿيل هيڊرز ڪراس-اوريجن اوپنر پاليسي (COOP)، ڪراس-آريجن ايمبيڊر پاليسي (COEP)، ڪراس-اوريجن ريسورس پاليسي (CORP)، ميٽا ڊيٽا جي درخواست، ايڪس فريم- آپشنز، X -Content-Type-Options ۽ SameSite Cookies. اهي ميڪانيزم سڌو سنئون حملن جي خلاف حفاظت نٿا ڪن، پر اهي توهان کي اجازت ڏين ٿا سائيٽ ڊيٽا کي لڪيج کان الڳ ڪرڻ جي عملن ۾ جنهن ۾ حملي ڪندڙ جاوا اسڪرپٽ ڪوڊ تي عمل ڪري سگهجي ٿو (ليڪ موجوده پروسيس جي ياداشت مان ٿئي ٿي، جيڪو، حملي ڪندڙ جي ڪوڊ کان علاوه. ، انهي ساڳئي ٽيب ۾ کوليل ڪنهن ٻئي سائيٽ مان ڊيٽا کي پروسيس ڪري سگھي ٿو). بنيادي خيال اهو آهي ته سائيٽ ڪوڊ جي عمل کي مختلف عملن ۾ الڳ ڪرڻ لاءِ ٽئين پارٽي جي ڪوڊ کان حاصل ڪيل غير معتبر ذريعن کان، مثال طور، هڪ iframe ذريعي شامل ڪيو ويو آهي.



جو ذريعو: opennet.ru

تبصرو شامل ڪريو