AMD kompaniyasi AMD Zen 3 protsessorlarining Spectre-STL hujumiga nisbatan zaifligini tasdiqladi.

AMD kompaniyasi Zen 3 seriyali protsessorlarida joriy qilingan PSF (Predictive Store Forwarding) optimallashtirish texnologiyasi xavfsizligini tahlil qiluvchi hisobotini chop etdi.Tadqiqot 4-yil may oyida aniqlangan Spectre-STL (Spectre-v2018) hujum usulining qo‘llanilishini nazariy jihatdan tasdiqladi. PSF texnologiyasi, ammo amalda hujumga olib kelishi mumkin bo'lgan kod shablonlari hali topilmadi va umumiy xavf ahamiyatsiz deb baholanadi.

Eslatib o'tamiz, Spectre-v4 (Spekulyativ do'konni aylanib o'tish) hujumi bilvosita manzillashdan foydalangan holda o'zgaruvchan yozish va o'qish operatsiyalarini qayta ishlashda operatsiyalarning spekulyativ bajarilishi natijasini bekor qilgandan so'ng protsessor keshida joylashgan ma'lumotlarni qayta tiklashga asoslangan. O'qish operatsiyasi yozish operatsiyasidan keyin (masalan, mov [rbx + rcx], 0x0; mov rax, [rdx + rsi]) bajarilayotgan shunga o'xshash operatsiyalar tufayli o'qish manzilining ofseti allaqachon ma'lum bo'lishi mumkin (o'qish operatsiyalari ancha tez-tez bajariladi va o'qish keshdan amalga oshirilishi mumkin) va protsessor yozishning bilvosita ofsetini hisoblashni kutmasdan, yozishdan oldin o'qishni spekulyativ ravishda bajarishi mumkin.

Bu xususiyat do'kon ishi hali tugallanmagan bo'lsa, o'qish yo'riqnomasiga ba'zi manzillardagi eski qiymatga kirish imkonini beradi. Agar bashorat qilish xatosi bo'lsa, muvaffaqiyatsiz spekulyativ operatsiya o'chiriladi, ammo uning bajarilishi izlari protsessor keshida qoladi va kirishdagi o'zgarishlarni tahlil qilish asosida kesh tarkibini aniqlash usullaridan biri bilan olinishi mumkin. keshlangan va keshlanmagan ma'lumotlarga vaqt.

AMD Zen 3 protsessorlariga qo'shilgan PSF o'qish va yozish operatsiyalari o'rtasidagi munosabatni bashorat qilish orqali o'qish operatsiyalarini spekulyativ tarzda amalga oshiradigan STLF (Store-To-Load-Forwarding) optimallashtiradi. Klassik STLF dan foydalanganda, protsessor oldingi "do'kon" buyrug'idan to'g'ridan-to'g'ri yo'naltirilgan ma'lumotlar bo'yicha "yuklash" operatsiyasini bajaradi, natijaning aslida xotiraga yozilishini kutmasdan, lekin "yuklash" da ishlatiladigan manzillar mavjudligiga ishonch hosil qiladi. va "saqlash" buyruqlari mos keladi. PSF optimallashtirish manzilni tekshirishni spekulyativ qiladi va agar bitta manzilni manipulyatsiya qiluvchi do'kon/yuk juftligi ilgari bajarilgan bo'lsa, manzil ma'lumotlarini hisoblashdan oldin "yuklash" operatsiyasini bajaradi. Agar bashorat bajarilmasa, holat orqaga qaytariladi, ammo ma'lumotlar keshda qoladi.

PSFga hujum faqat bitta darajadagi imtiyozlar doirasida amalga oshirilishi mumkin, faqat joriy jarayon kontekstini qamrab oladi va manzil maydonini izolyatsiyalash usullari yoki apparat sinov qutisi mexanizmlari bilan bloklanadi. Bunday holda, jarayondagi dasturiy ta'minotni sinovdan o'tkazish usullari muammoga ta'sir qilishi mumkin. Hujum uchinchi tomon kodini bitta jarayonda bajaradigan brauzerlar, kodni bajaruvchi virtual mashinalar va JITlar kabi tizimlarga tahdid soladi (hujum ishonchsiz sinov muhitidagi kodga boshqa jarayon maʼlumotlariga kirish imkonini berishi mumkin).

AMD PSFni to'liq yoki tanlab o'chirish uchun bir qator usullarni taqdim etdi, ammo ko'pchilik ilovalar uchun ahamiyatsiz xavfni hisobga olgan holda, ushbu optimallashtirishni sukut bo'yicha o'chirib qo'ymaslikni tavsiya qildi. Ishonchsiz kodni bajarayotganlarni ajratib turadigan jarayonlarni tanlab himoya qilish uchun, "SSBD" va "PSFD" MSR bitlarini, shu jumladan alohida oqimlarni o'rnatish orqali PSFni o'chirib qo'yish taklif etiladi. Linux yadrosi uchun PSF qanday yoqilishi va o'chirilishini boshqaruvchi "psfd" va "nopsfd" buyruq qatori opsiyalarini amalga oshirish bilan yamalar tayyorlangan.

Manba: opennet.ru

a Izoh qo'shish