Intel va AMD protsessorlarining mikroarxitektura tuzilmalariga yangi hujum

Virjiniya universiteti va Kaliforniya universiteti tadqiqotchilari hujjatsiz protsessor imkoniyatlarini teskari muhandislik jarayonida aniqlangan Intel va AMD protsessorlarining mikroarxitektura tuzilmalariga hujumning yangi turini taqdim etdi. Taklif etilayotgan hujum usuli protsessorlarda oraliq mikro-op keshdan foydalanishni o'z ichiga oladi, undan ko'rsatmalarning spekulyativ bajarilishi davomida to'plangan ma'lumotlarni olish uchun foydalanish mumkin.

Optimallashtirish maqsadida, protsessor oldingi hisob-kitoblarning tugashini kutmasdan, ba'zi ko'rsatmalarni spekulyativ rejimda bajarishni boshlaydi va agar bashorat o'zini oqlamaganligini aniqlasa, u operatsiyani asl holatiga qaytaradi, lekin ish paytida qayta ishlangan ma'lumotlar. spekulyativ ijro keshga saqlanadi, uning mazmuni aniqlanishi mumkin.

Ta'kidlanishicha, yangi usul Spectre v1 hujumidan sezilarli darajada ustun turadi, hujumni aniqlashni qiyinlashtiradi va ko'rsatmalarning spekulyativ bajarilishi natijasida yuzaga keladigan zaifliklarni blokirovka qilishga mo'ljallangan yon kanalli hujumlardan himoya qilishning mavjud usullari bilan bloklanmaydi (masalan, foydalanish. LFENCE yo'riqnomasi spekulyativ bajarishning oxirgi bosqichlarida sizib chiqishni bloklaydi, lekin mikroarxitektura tuzilmalari orqali oqishdan himoya qilmaydi).

Usul 2011 yildan beri chiqarilgan Intel va AMD protsessor modellariga, jumladan Intel Skylake va AMD Zen seriyalariga ta'sir qiladi. Zamonaviy protsessorlar murakkab protsessor ko'rsatmalarini alohida keshda keshlangan oddiyroq RISC-ga o'xshash mikro operatsiyalarga ajratadi. Ushbu kesh yuqori darajadagi keshlardan tubdan farq qiladi, to'g'ridan-to'g'ri kirish imkoni yo'q va CISC ko'rsatmalarini RISC mikroko'rsatmalariga dekodlash natijalariga tezkor kirish uchun oqim buferi vazifasini bajaradi. Biroq, tadqiqotchilar keshga kirish mojarolari yuzaga kelganda yuzaga keladigan sharoitlarni yaratish yo'lini topdilar va ma'lum harakatlarni bajarish vaqtidagi farqlarni tahlil qilish orqali mikrooperatsiya keshining tarkibini baholashga imkon berishdi.

Intel va AMD protsessorlarining mikroarxitektura tuzilmalariga yangi hujum

Intel protsessorlaridagi mikro-operatsion kesh protsessor iplari (Hyper-Threading) bo'yicha segmentlangan, AMD Zen protsessorlari esa umumiy keshdan foydalanadilar, bu nafaqat bitta ijro ishi doirasida, balki SMT-dagi turli oqimlar o'rtasida ham ma'lumotlarning sizib chiqishi uchun sharoit yaratadi. (turli xil mantiqiy protsessor yadrolarida ishlaydigan kodlar o'rtasida ma'lumotlarning oqishi mumkin).

Tadqiqotchilar mikrooperatsiya keshidagi o'zgarishlarni va maxfiy ma'lumotlarni uzatish kanallarini yaratishga imkon beruvchi bir nechta hujum stsenariylarini aniqlashning asosiy usulini taklif qildilar va maxfiy ma'lumotlarni bitta jarayonda (masalan, amalga oshirishda jarayon ma'lumotlarini sizib chiqarish uchun) sizib chiqish uchun himoyasiz koddan foydalanishni taklif qildilar. JIT-ga ega dvigatellarda va virtual mashinalarda uchinchi tomon kodi) va yadro va foydalanuvchi maydonidagi jarayonlar o'rtasida.

Mikrooperatsiya keshidan foydalangan holda Spectre hujumining variantini tashkil qilishda tadqiqotchilar xatolik darajasi 965.59% bo'lgan 0.22 Kbit / s ishlashga va bir xil manzilda sizib chiqishni tashkil qilishda xatolarni tuzatishdan foydalanganda 785.56 Kbit / s ga erishishga muvaffaq bo'lishdi. makon va imtiyozlar darajasi. Turli xil imtiyoz darajalarini (yadro va foydalanuvchi maydoni o'rtasida) qamrab olgan oqish bilan ishlash xato tuzatish qo'shilgan holda 85.2 Kbit / s va xatolik darajasi 110.96% bo'lgan 4 Kbit / s ni tashkil etdi. AMD Zen protsessorlariga hujum qilganda, turli xil mantiqiy protsessor yadrolari o'rtasida oqish paydo bo'lganda, ishlash 250% xatolik darajasi bilan 5.59 Kbit / s va xatolarni tuzatish bilan 168.58 Kbit / s ni tashkil etdi. Klassik Spectre v1 usuli bilan solishtirganda, yangi hujum 2.6 barobar tezroq bo'ldi.

Mikro-operativ kesh hujumidan himoya qilish uchun Specter hujumidan himoyani yoqganingizdan ko'ra unumdorlikni kamaytiradigan o'zgarishlar talab qilinishi kutilmoqda. Optimal murosaga kelsak, bunday hujumlarni keshlashni o'chirish orqali emas, balki anomaliyalarni kuzatish va hujumlar uchun xos bo'lgan kesh holatlarini aniqlash darajasida blokirovka qilish taklif etiladi.

Spectre hujumlarida bo'lgani kabi, yadrodan yoki boshqa jarayonlardan oqishni tashkil qilish, jabrlanuvchi jarayonlari tomonida ma'lum bir ketma-ketlikdagi buyruqlar (gadjetlar) bajarilishini talab qiladi, bu esa ko'rsatmalarning spekulyativ bajarilishiga olib keladi. Linux yadrosida 100 ga yaqin shunga o'xshash gadjetlar topilgan, ular o'chiriladi, ammo ularni yaratish uchun vaqtinchalik echimlar vaqti-vaqti bilan topiladi, masalan, yadroda maxsus ishlab chiqilgan BPF dasturlarini ishga tushirish bilan bog'liq.

Manba: opennet.ru

a Izoh qo'shish