Intel protsessorlaridagi zaiflik uchinchi tomon kanallari orqali ma'lumotlarning sizib chiqishiga olib keladi

Xitoy va Amerika universitetlarining bir guruh tadqiqotchilari Intel protsessorlaridagi yangi zaiflikni aniqladilar, bu esa spekulyativ operatsiyalar natijalari to'g'risidagi ma'lumotlarning uchinchi tomonga sizib chiqishiga olib keladi, bu esa, masalan, jarayonlar o'rtasida yashirin aloqa kanalini tashkil qilish uchun ishlatilishi mumkin. Meltdown hujumlari paytida qochqinlarni aniqlash.

Zaiflikning mohiyati shundaki, ko'rsatmalarning spekulyativ bajarilishi natijasida yuzaga keladigan EFLAGS protsessor registridagi o'zgarish JCC ko'rsatmalarining keyingi bajarilish vaqtiga ta'sir qiladi (belgilangan shartlar bajarilganda sakrash). Spekulyativ operatsiyalar tugallanmaydi va natija bekor qilinadi, ammo tashlab ketilgan EFLAGS o'zgarishini JCC ko'rsatmalarining bajarilish vaqtini tahlil qilish orqali aniqlash mumkin. O'tishdan oldin spekulyativ rejimda bajarilgan taqqoslash operatsiyalari, agar muvaffaqiyatli bo'lsa, o'lchanadigan va kontentni tanlash uchun belgi sifatida ishlatilishi mumkin bo'lgan kichik kechikishga olib keladi.

Intel protsessorlaridagi zaiflik uchinchi tomon kanallari orqali ma'lumotlarning sizib chiqishiga olib keladi

Boshqa shunga o'xshash yon kanalli hujumlardan farqli o'laroq, yangi usul keshlangan va keshlanmagan ma'lumotlarga kirish vaqtidagi o'zgarishlarni tahlil qilmaydi va EFLAGS registrini dastlabki holatiga qaytarish bosqichini talab qilmaydi, bu esa hujumni aniqlash va blokirovka qilishni qiyinlashtiradi. Namoyish sifatida tadqiqotchilar spekulyativ operatsiya natijasi haqida ma'lumot olish uchun yangi usuldan foydalangan holda Meltdown hujumining bir variantini amalga oshirdilar. Meltdown hujumi paytida ma'lumotlarning tarqalishini tashkil qilish usulining ishlashi Ubuntu 7 va Linux yadrosi 6700 bo'lgan muhitda Intel Core i7-7700 va i22.04-5.15 protsessorli tizimlarda muvaffaqiyatli namoyish etildi. Intel i9-10980XE protsessoriga ega tizimda hujum faqat qisman amalga oshirildi.

Meltdown 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 sharoitlarda doimo yonib turadi, lekin shartli bayonotda protsessorning preemptive bajarilishi paytida bilmagan hisoblangan qiymatdan foydalanishi sababli. kod, barcha filial variantlari spekulyativ tarzda amalga oshiriladi.

Meltdown-ning klassik versiyasida, odatdagidek bajariladigan ko'rsatmalar uchun bir xil keshdan spekulyativ ravishda bajariladigan operatsiyalar uchun foydalanilganligi sababli, spekulyativ bajarish paytida keshda yopiq xotira hududida alohida bitlarning tarkibini aks ettiruvchi markerlarni o'rnatish mumkin, keyin esa. keshlangan va keshlanmagan ma'lumotlarga kirish vaqtini tahlil qilish orqali normal bajariladigan kodda ularning ma'nosini aniqlash. Yangi variant oqish belgisi sifatida EFLAGS registridagi o'zgarishdan foydalanadi. Yashirin kanal namoyishida bir jarayon EFLAGS registrining mazmunini o'zgartirish uchun sharoit yaratish uchun uzatilgan ma'lumotlarni modulyatsiya qildi, boshqa jarayon esa birinchi jarayon orqali uzatilgan ma'lumotlarni qayta yaratish bo'yicha JCC ko'rsatmasining bajarilish vaqtining o'zgarishini tahlil qildi.

Manba: opennet.ru

a Izoh qo'shish