زين + ۽ زين 2 مائڪرو آرڪيٽيڪچرز تي ٻڌل AMD پروسيسرز ۾ ميلٽ ڊائون ڪلاس جي ڪمزوري دريافت ڪئي وئي آهي

ڊريسڊن جي ٽيڪنيڪل يونيورسٽي جي محققن جي هڪ گروپ زين + ۽ زين 2020 مائڪرو آرڪيٽيڪچرز تي ٻڌل AMD پروسيسرز ۾ هڪ ڪمزوري (CVE-12965-2) جي نشاندهي ڪئي آهي، جيڪا ميلٽ ڊائون ڪلاس جي حملي جي اجازت ڏئي ٿي. اهو شروعاتي طور تي فرض ڪيو ويو هو ته AMD Zen + ۽ Zen 2 پروسيسر ميلٽ ڊائون جي ڪمزوري لاءِ حساس نه هوندا آهن، پر محقق هڪ خاصيت جي نشاندهي ڪئي جيڪا محفوظ ياداشت وارن علائقن تائين قياس آرائي جي رسائي جي طرف وٺي ٿي جڏهن غير قانوني ورچوئل ايڊريس استعمال ڪندي.

AMD64 آرڪيٽيڪچر ورچوئل ايڊريس جي صرف پهرين 48 بٽس استعمال ڪري ٿو ۽ باقي 16 بِٽس کي نظرانداز ڪري ٿو. اهو بيان ڪيو ويو آهي ته بٽس 48 کان 63 کي هميشه بٽ 47 جي قيمت کي نقل ڪرڻ گهرجي (سائن بٽ ايڪسٽينشن). جيڪڏهن هن شرط جي خلاف ورزي ڪئي وئي آهي ۽ هڪ ايڊريس تائين رسائي حاصل ڪرڻ جي ڪوشش ڪئي وئي آهي اپر بٽ جي خودمختيار قدرن سان، پروسيسر هڪ استثنا پيدا ڪري ٿو. بار بار مٿين بِٽن کي ڀرڻ سان موجود ايڊريس اسپيس ٻن بلاڪن ۾ ورهائجي ويندي آهي - هڪ هيٺيون بِٽ (0 کان 00007FFFFFFFFFFFFF)، جنهن ۾ مٿئين بِٽ کي 800000000000 تائين مقرر ڪيو ويو آهي، ۽ هڪ مٿئين بِٽ (FFFF1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) سڀ اپر بٽ XNUMX تي سيٽ ٿيل آهن.

مخصوص بلاڪن ۾ داخل ٿيندڙ ايڊريس کي ڪيننيڪل چئبو آھي، ۽ غلط ايڊريس جن کي مٿئين بِٽن جي صوابديدي مواد سان غير قانوني چئبو آھي. ڪننيڪل پتي جي هيٺين حد کي عام طور تي پروسيس ڊيٽا لاءِ مختص ڪيو ويندو آهي، ۽ مٿيون رينج ڪنييل ڊيٽا لاءِ استعمال ڪيو ويندو آهي (يوزر اسپيس مان انهن پتي تائين رسائي استحقاق جي علحدگي جي سطح تي بند ٿيل آهي).

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

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

نئين ڪمزوري جي هڪ خاصيت جيڪا AMD Zen+ ۽ Zen 2 پروسيسرز کي متاثر ڪري ٿي اها آهي ته سي پي يوز قياس آرائي واري پڙهڻ ۽ لکڻ جي عملن کي اجازت ڏين ٿيون جيڪي ميموري تائين رسائي ڪن ٿيون غلط غير قانوني ايڊريس استعمال ڪندي، صرف اپر 16 بٽس کي نظرانداز ڪندي. اهڙيء طرح، قياس آرائي واري ڪوڊ جي عمل جي دوران، پروسيسر هميشه صرف هيٺين 48 بٽ استعمال ڪندو آهي، ۽ پتي جي صحيحيت الڳ الڳ جانچيو ويندو آهي. جيڪڏهن، جڏهن هڪ غير قانوني ورچوئل ايڊريس جو ترجمو ڪري رهيو آهي هڪ فزيڪل ايڊريس کي ايسوسيئيٽو ترجمي واري بفر (TLB) ۾، هڪ ميچ پتو جي ڪيننيڪل حصي ۾ معلوم ٿئي ٿو، ته پوءِ قياس آرائي وارو لوڊ آپريشن مواد کي حساب ۾ رکڻ کان سواءِ قيمت واپس ڪندو. مٿين 16 بٽس جو، جيڪو ٿريڊن جي وچ ۾ ميموري شيئرنگ کي پاس ڪرڻ جي اجازت ڏئي ٿو. تنهن کان پوء، آپريشن کي غلط ۽ رد ڪيو ويندو، پر ميموري رسائي مڪمل ٿي ويندي ۽ ڊيٽا ڪيش ۾ ختم ٿي ويندي.

تجربي دوران، FLUSH+RELOAD ڪيش جي مواد کي طئي ڪرڻ جي ٽيڪنڪ کي استعمال ڪندي، محقق 125 بائيٽ في سيڪنڊ جي رفتار سان لڪيل ڊيٽا جي منتقلي لاءِ هڪ چينل ترتيب ڏيڻ جي قابل هئا. AMD چپس جي اضافي ۾، مسئلو پڻ متاثر ڪري ٿو سڀني انٽيل پروسيسرز، جيڪي حساس ميلٽ ڊائون جي ڪمزورين لاء حساس آهن. ساڳيون ٽيڪنالاجيون جيڪي ميلٽ ڊائون حملن کي بلاڪ ڪرڻ ۾ مدد ڪن ٿيون، جهڙوڪ LFENCE هدايتون استعمال ڪندي، هن نئين قسم جي حملي کان بچائڻ لاءِ استعمال ڪري سگھجن ٿيون. مثال طور، جيڪڏهن هڪ Intel پروسيسر ۾ Meltdown جي خلاف هارڊويئر تحفظ شامل آهي يا سسٽم ۾ سافٽ ويئر تحفظ کي فعال ڪيو ويو آهي، ته پوء اهڙيون ترتيبون نئين حملي واري قسم لاء حساس نه آهن.

ساڳئي وقت، محقق نوٽ ڪن ٿا ته، Intel پروسيسرز جي مقابلي ۾، AMD پروسيسرز جو فن تعمير حقيقي حملن کي کڻڻ جي امڪان کي محدود ڪري ٿو، پر انهن جي اثرائتي کي وڌائڻ لاء ٻين مائڪرو آرڪيٽيڪچرل حملن سان ميلاپ ۾ نئين طريقي جي استعمال کي خارج نٿو ڪري. خاص طور تي، تجويز ڪيل حملو ڪنهن کي اجازت نٿو ڏئي ته ڪنييل جي ميموري علائقن جي مواد کي طئي ڪرڻ ۽ ٻين عملن تي، پر ساڳئي پروگرام جي ٻين موضوعن تائين رسائي حاصل ڪرڻ جي صلاحيت تائين محدود آهي ساڳئي ورچوئل ميموري اسپيس ۾ هلندڙ.

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

جو ذريعو: opennet.ru

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