LVI - bu protsessorda spekulyativ ijro mexanizmiga hujumlarning yangi sinfidir

ommaga oshkor qildi yangi sinf hujumlari haqida ma'lumot LVI (Yuklash qiymatini kiritish, CVE-2020-0551) Intel SGX anklavlari va boshqa jarayonlardan kalitlar va maxfiy ma'lumotlarni sizib chiqish uchun ishlatilishi mumkin bo'lgan Intel CPU-larida spekulyativ ijro mexanizmi bo'yicha.

Hujumlarning yangi klassi hujumlarda ishlatiladigan bir xil mikroarxitektura tuzilmalarini manipulyatsiya qilishga asoslangan MDS (Mikroarxitektura ma'lumotlarini tanlash), Spectre va Meltdown. Shu bilan birga, yangi hujumlar Meltdown, Spectre, MDS va boshqa shunga o'xshash hujumlardan himoya qilishning mavjud usullari bilan bloklanmaydi. Samarali LVI himoyasi protsessorda apparat o'zgarishlarini talab qiladi. Himoyani dasturiy jihatdan tashkil qilishda, xotiradan har bir yuklash operatsiyasidan keyin kompilyator tomonidan LFENCE ko'rsatmasini qo'shish va RET ko'rsatmalarini POP, LFENCE va JMP bilan almashtirish orqali juda ko'p ortiqcha yuk qayd etiladi - tadqiqotchilarning fikriga ko'ra, dasturiy ta'minotni to'liq himoya qilishning pasayishiga olib keladi. ishlash 2-19 marta.

Muammoni to'sib qo'yishdagi qiyinchiliklarning bir qismi hujumning amaldagidan ko'ra ko'proq nazariy ekanligi bilan qoplanadi (hujum nazariy jihatdan mumkin, lekin amalga oshirish juda qiyin va faqat sintetik testlarda takrorlanadi).
Intel ajratilgan muammo o'rtacha xavf darajasiga ega (5.6 dan 10) va ozod etildi SGX muhiti uchun proshivka va SDKni yangilash, bunda u vaqtinchalik yechim yordamida hujumni blokirovka qilishga harakat qildi. Tavsiya etilgan hujum usullari hozirda faqat Intel protsessorlari uchun amal qiladi, ammo Meltdown toifasidagi hujumlar qo'llanilishi mumkin bo'lgan boshqa protsessorlar uchun LVI ni moslashtirish imkoniyatini inkor etib bo'lmaydi.

Muammo o'tgan aprel oyida Leuven universiteti tadqiqotchisi Jo Van Bulk tomonidan aniqlangan edi, shundan so'ng boshqa universitetlarning 9 tadqiqotchisi ishtirokida beshta asosiy hujum usuli ishlab chiqilgan bo'lib, ularning har biri yanada aniqroq usullar mavjudligiga imkon beradi. imkoniyatlari. Mustaqil ravishda, shu yilning fevral oyida Bitdefender tadqiqotchilari ham kashf etilgan LVI hujum variantlaridan biri va bu haqda Intelga xabar berdi. Hujum variantlari avval foydalanilgan saqlash buferi (SB, Store buferi), to'ldirish buferi (LFB, Line Fill Bufer), FPU kontekstini almashtirish buferi va birinchi darajali kesh (L1D) kabi turli xil mikroarxitektura tuzilmalaridan foydalanish bilan ajralib turadi. kabi hujumlarda ZombieLoad, RIDL, Qatordan chiqib ketish, LazyFP, Bashorat ΠΈ Meltdown.

LVI - bu protsessorda spekulyativ ijro mexanizmiga hujumlarning yangi sinfidir

Asosiy faxriy unvonlar MDS hujumlariga qarshi LVI shundan iboratki, MDS spekulyativ nosozliklarni bartaraf etish yoki yuklash va saqlash operatsiyalaridan keyin keshda qolgan mikroarxitektura tuzilmalari tarkibini aniqlashni manipulyatsiya qiladi.
LVI hujumlari tajovuzkorning ma'lumotlarini jabrlanuvchi kodining keyingi spekulyativ bajarilishiga ta'sir qilish uchun mikroarxitektura tuzilmalariga kiritish imkonini beradi. Ushbu manipulyatsiyalardan foydalanib, tajovuzkor maqsadli protsessor yadrosida ma'lum kodni bajarishda boshqa jarayonlarda shaxsiy ma'lumotlar tuzilmalari tarkibini chiqarib olishi mumkin.

LVI - bu protsessorda spekulyativ ijro mexanizmiga hujumlarning yangi sinfidir

uchun ekspluatatsiya muammosi jabrlanuvchi jarayonining kodeksida uchrashishi kerak tajovuzkor tomonidan boshqariladigan qiymat yuklangan kodning maxsus ketma-ketligi (gadjetlar) va bu qiymatni yuklash istisnolar (xato, bekor qilish yoki yordamchi) tashlanishiga olib keladi, natijani bekor qiladi va ko'rsatmalarni qayta bajaradi. Istisno ishlov berilganda, gadgetda qayta ishlangan ma'lumotlar sizib chiqadigan spekulyativ oyna paydo bo'ladi. Xususan, protsessor spekulyativ rejimda kod qismini (gadjetni) bajarishni boshlaydi, keyin bashorat asoslanmaganligini aniqlaydi va operatsiyalarni asl holatiga qaytaradi, lekin spekulyativ bajarish paytida qayta ishlangan ma'lumotlar L1D keshiga saqlanadi. va mikroarxitektura buferlari va uchinchi tomon kanallari orqali qoldiq ma'lumotlarni aniqlashning ma'lum usullaridan foydalangan holda ulardan olish mumkin.

"Yordamchi" istisnosi, "nosozlik" istisnosidan farqli o'laroq, protsessor tomonidan dasturiy ta'minotni qayta ishlovchilarni chaqirmasdan ichki ishlov beriladi. Yordamchi, masalan, xotira sahifasi jadvalidagi A (Accessed) yoki D (Dirty) bitni yangilash kerak bo'lganda paydo bo'lishi mumkin. Boshqa jarayonlarga hujum qilishda asosiy qiyinchilik jabrlanuvchi jarayonini manipulyatsiya qilish orqali yordam paydo bo'lishini qanday boshlashdir. Hozirda buni amalga oshirishning ishonchli usullari mavjud emas, ammo kelajakda ular topilishi mumkin. Hujumni amalga oshirish imkoniyati hozircha faqat Intel SGX anklavlari uchun tasdiqlangan, boshqa stsenariylar nazariy yoki sintetik sharoitda takrorlanishi mumkin (kodga ma'lum gadjetlarni qo'shishni talab qiladi)

LVI - bu protsessorda spekulyativ ijro mexanizmiga hujumlarning yangi sinfidir

LVI - bu protsessorda spekulyativ ijro mexanizmiga hujumlarning yangi sinfidir

Mumkin bo'lgan hujum vektorlari:

  • Yadro tuzilmalaridan foydalanuvchi darajasidagi jarayonga ma'lumotlarning oqib chiqishi. Linux yadrosining Spectre 1 hujumlaridan himoyasi, shuningdek, SMAP (Supervisor Mode Access Prevention) himoya mexanizmi LVI hujumi ehtimolini sezilarli darajada kamaytiradi. Kelajakda oddiyroq LVI hujum usullari aniqlansa, yadroga qo'shimcha himoya qo'shish kerak bo'lishi mumkin.
  • Turli jarayonlar o'rtasida ma'lumotlarning oqishi. Hujum dasturda ma'lum kod qismlari mavjudligini va maqsadli jarayonda istisno qilish usulini aniqlashni talab qiladi.
  • Xost muhitidan mehmon tizimiga ma'lumotlarning oqib chiqishi. Hujum juda murakkab deb tasniflanadi, bu tizimda amalga oshirish qiyin bo'lgan turli qadamlar va faoliyatni bashorat qilishni talab qiladi.
  • Turli mehmon tizimlaridagi jarayonlar o'rtasida ma'lumotlarning oqib chiqishi. Hujum vektori turli jarayonlar o'rtasida ma'lumotlar sizib chiqishini tashkil etishga yaqin, lekin qo'shimcha ravishda mehmon tizimlari orasidagi izolyatsiyani chetlab o'tish uchun murakkab manipulyatsiyalarni talab qiladi.

Tadqiqotchilar tomonidan nashr etilgan bir nechta prototiplar hujumni amalga oshirish tamoyillarini namoyish qilish bilan, lekin ular hali haqiqiy hujumlarni amalga oshirish uchun mos emas. Birinchi misol, qaytarishga yo'naltirilgan dasturlash kabi, qurbonlik jarayonida spekulyativ kod bajarilishini qayta yo'naltirishga imkon beradi (ROP, Qaytishga yo'naltirilgan dasturlash). Ushbu misolda jabrlanuvchi zarur gadjetlarni o'z ichiga olgan maxsus tayyorlangan jarayondir (haqiqiy uchinchi tomon jarayonlariga hujumni qo'llash qiyin). Ikkinchi misol bizga Intel SGX anklavidagi AES shifrlash paytida hisob-kitoblarga aralashish va shifrlash uchun ishlatiladigan kalitning qiymatini tiklash bo'yicha ko'rsatmalarning spekulyativ bajarilishi paytida ma'lumotlar sizib chiqishini tashkil qilish imkonini beradi.


Manba: opennet.ru

a Izoh qo'shish