AMD protsessorlarida Meltdown hujumlariga imkon beruvchi yana bir zaiflik aniqlandi

Grats Texnik Universiteti (Avstriya) va Helmgoltz Axborot xavfsizligi markazi (CISPA) tadqiqotchilari guruhi barcha AMD protsessorlarida Meltdown-sinf yonma-yonlarini amalga oshirishga imkon beruvchi zaiflikni (CVE-2021-26318) oshkor qildi. kanal hujumlari (dastlab AMD protsessorlariga Meltdown zaifligi ta'sir qilmaydi deb taxmin qilingan). Amaliy ma'noda, hujum maxfiy aloqa kanallarini o'rnatish, yadrodagi faollikni kuzatish yoki yadrodagi zaifliklardan foydalangan holda KASLR himoyasini chetlab o'tish uchun yadro xotirasidagi manzillar haqida ma'lumot olish uchun ishlatilishi mumkin.

AMD muammoni blokirovka qilish uchun maxsus choralar ko'rishni noo'rin deb hisoblaydi, chunki avgust oyida aniqlangan shunga o'xshash hujum kabi zaiflik real sharoitlarda kam qo'llaniladi, jarayonning joriy chegaralari bilan cheklangan va ma'lum ma'lumotlar mavjudligini talab qiladi. yadrodagi tayyor ko'rsatmalar (gadjetlar) ketma-ketligi. Hujumni namoyish qilish uchun tadqiqotchilar o'zlarining yadro modulini sun'iy ravishda qo'shilgan gadjet bilan yukladilar. Haqiqiy sharoitda tajovuzkorlar, masalan, zarur ketma-ketliklarni almashtirish uchun eBPF quyi tizimidagi zaifliklarni muntazam ravishda ochishdan foydalanishlari mumkin.

Ushbu yangi turdagi hujumlardan himoyalanish uchun AMD Meltdown hujumlarini blokirovka qilishga yordam beradigan xavfsiz kodlash usullaridan foydalanishni tavsiya qiladi, masalan, LFENCE ko'rsatmalaridan foydalanish. Muammoni aniqlagan tadqiqotchilar ilgari faqat Intel protsessorlari uchun ishlatilgan qattiqroq xotira sahifasi jadvali izolyatsiyasini (KPTI) yoqishni tavsiya qiladilar.

Tajriba davomida tadqiqotchilar yadroda “if (offset < data_len) tmp =” operatsiyasini bajaradigan gadjet mavjudligini hisobga olib, foydalanuvchi fazosidagi jarayonga soniyasiga 52 bayt tezlikda ma’lumotni sizdirishga muvaffaq bo‘lishdi. LUT[ma'lumotlar[ofset] * 4096];" . Ma'lumotni spekulyativ bajarish paytida keshda tugaydigan yon kanallar orqali olishning bir necha usullari taklif qilingan. Birinchi usul protsessor buyrug'ining "PREFETCH" (Prefetch+Time) bajarilish vaqtidagi og'ishlarni tahlil qilishga, ikkinchisi esa "PREFETCH" (Prefetch+Power) bajarilganda energiya sarfi o'zgarishini o'zgartirishga asoslangan.

Eslatib o'tamiz, Meltdown klassik zaifligi ko'rsatmalarning spekulyativ bajarilishi paytida protsessor shaxsiy ma'lumotlar maydoniga kirishi va natijani bekor qilishi mumkinligiga asoslanadi, chunki belgilangan imtiyozlar foydalanuvchi jarayoniga bunday kirishni taqiqlaydi. Dasturda spekulyativ ravishda bajarilgan blok asosiy koddan shartli shoxcha bilan ajratiladi, u real sharoitda doimo yonib turadi, lekin shartli bayonotda protsessorning preemptive bajarilishi paytida bilmagan hisoblangan qiymatdan foydalanishi sababli. kod, barcha filial variantlari spekulyativ tarzda amalga oshiriladi.

Spekulyativ bajarilgan operatsiyalar odatdagidek bajariladigan ko'rsatmalar bilan bir xil keshdan foydalanganligi sababli, spekulyativ bajarish paytida shaxsiy xotira maydonidagi alohida bitlar tarkibini aks ettiruvchi keshda markerlarni o'rnatish mumkin, keyin esa odatdagi bajarilgan kodda ularning qiymatini vaqtni belgilash orqali aniqlash mumkin. tahlil keshlangan va keshlanmagan ma'lumotlarga kirish.

Manba: opennet.ru

a Izoh qo'shish