Temirchi - DRAM xotirasi va DDR4 chiplariga yangi hujum

ETH Zurich, Vrije Universiteit Amsterdam va Qualcomm tadqiqotchilari guruhi dinamik tasodifiy kirish xotirasining (DRAM) alohida bitlari tarkibini o'zgartirishi mumkin bo'lgan yangi RowHammer hujum usulini nashr etdi. Hujumning kod nomi Blacksmith edi va CVE-2021-42114 deb aniqlandi. Ilgari ma'lum bo'lgan RowHammer sinf usullaridan himoya bilan jihozlangan ko'plab DDR4 chiplari muammoga moyil. Tizimlaringizni zaiflik uchun sinovdan o'tkazish vositalari GitHub'da nashr etilgan.

Eslatib o'tamiz, RowHammer sinfidagi hujumlar qo'shni xotira hujayralaridan ma'lumotlarni davriy ravishda o'qish orqali alohida xotira bitlarining mazmunini buzishga imkon beradi. DRAM xotirasi har biri kondansatör va tranzistordan iborat bo'lgan ikki o'lchovli hujayralar massivi bo'lganligi sababli, bir xil xotira hududini uzluksiz o'qish kuchlanishning o'zgarishi va qo'shni hujayralarda kichik zaryad yo'qotilishiga olib keladigan anomaliyalarga olib keladi. Agar o'qish intensivligi yuqori bo'lsa, u holda qo'shni hujayra etarlicha katta zaryadni yo'qotishi mumkin va keyingi regeneratsiya tsikli asl holatini tiklashga vaqt topa olmaydi, bu esa hujayrada saqlangan ma'lumotlar qiymatining o'zgarishiga olib keladi. .

RowHammer-dan himoya qilish uchun chip ishlab chiqaruvchilari qo'shni qatorlardagi hujayralarning buzilishidan himoya qiluvchi TRR (Target Row Refresh) mexanizmini taklif qilishdi, ammo himoya "noaniqlik bilan xavfsizlik" tamoyiliga asoslanganligi sababli, u muammoni hal qilmadi. ildiz, lekin faqat ma'lum maxsus holatlardan himoyalangan, bu himoyani chetlab o'tish yo'llarini topishni osonlashtirdi. Misol uchun, may oyida Google TRR himoyasidan ta'sirlanmagan Half-Double usulini taklif qildi, chunki hujum nishonga bevosita qo'shni bo'lmagan hujayralarga ta'sir qildi.

Temirchining yangi usuli TRR himoyasini chetlab o'tishning boshqa usulini taklif qiladi, bu zaryad oqib chiqishiga olib keladigan turli chastotalarda ikki yoki undan ortiq tajovuzkor qatorlarga bir xil bo'lmagan kirishga asoslangan. Zaryadning oqishiga olib keladigan xotiraga kirish sxemasini aniqlash uchun ma'lum bir chip uchun hujum parametrlarini avtomatik ravishda tanlaydigan, hujayraga kirish tartibini, intensivligini va tizimliligini o'zgartiradigan maxsus fuzzer ishlab chiqilgan.

Xuddi shu hujayralarga ta'sir qilish bilan bog'liq bo'lmagan bunday yondashuv hozirgi TRR himoya usullarini samarasiz qiladi, bu u yoki bu shaklda hujayralarga takroriy qo'ng'iroqlar sonini hisoblash va ma'lum qiymatlarga erishilganda qayta zaryadlashni boshlaydi. qo'shni hujayralar. Temirchida kirish sxemasi maqsadning turli tomonlaridan bir vaqtning o'zida bir nechta hujayralar bo'ylab tarqaladi, bu esa chegara qiymatlariga etmasdan zaryad oqishiga erishish imkonini beradi.

Usul TRRni chetlab o'tish uchun ilgari tavsiya etilgan usullardan sezilarli darajada samaraliroq bo'ldi - tadqiqotchilar Samsung, Micron, SK Hynix va noma'lum ishlab chiqaruvchi tomonidan yaqinda sotib olingan 40 xil DDR4 xotira chiplarining barchasida bit distorsiyasiga erishdilar (ishlab chiqaruvchisi 4 ta chipda ko'rsatilmagan). Taqqoslash uchun, xuddi shu tadqiqotchilar tomonidan ilgari taklif qilingan TRRespass usuli o'sha paytda sinovdan o'tgan 13 ta chipdan atigi 42 tasida samarali bo'lgan.

Umuman olganda, Blacksmith usuli bozordagi barcha DRAM chiplarining 94 foiziga tatbiq etilishi kutilmoqda, biroq tadqiqotchilarning taʼkidlashicha, baʼzi chiplar boshqalardan koʻra zaifroq va hujum qilish osonroq. Chiplarda xatolarni tuzatish kodlaridan (ECC) foydalanish va xotirani yangilash tezligini ikki baravar oshirish to'liq himoyani ta'minlamaydi, lekin operatsiyani murakkablashtiradi. Shunisi e'tiborga loyiqki, muammoni allaqachon chiqarilgan chiplarda bloklab bo'lmaydi va apparat darajasida yangi himoyani amalga oshirishni talab qiladi, shuning uchun hujum ko'p yillar davomida dolzarb bo'lib qoladi.

Amaliy misollar yadro imtiyozlarini olish, OpenSSH xotirasida saqlangan RSA-2048 ochiq kalitini buzish uchun xotira sahifasi jadvalidagi (PTE, sahifa jadvali yozuvi) yozuvlar tarkibini o'zgartirish uchun Blacksmith-dan foydalanish usullarini o'z ichiga oladi (siz ochiq kalitni kiritishingiz mumkin). boshqa birovning virtual mashinasini tajovuzkorning shaxsiy kalitiga moslashtirish uchun jabrlanuvchining VM-ga ulanish) va ildiz huquqlariga ega bo'lish uchun sudo jarayonining xotirasini o'zgartirish orqali hisobga olish ma'lumotlarini tekshirishni chetlab o'tish. Chipga qarab, bitta nishon bitini o'zgartirish uchun 3 soniyadan bir necha soatgacha hujum vaqti kerak bo'ladi.

Bundan tashqari, Google uchun Antmicro tomonidan ishlab chiqilgan RowHammer sinfidagi hujumlardan xotirani himoya qilish usullarini sinovdan o'tkazish uchun ochiq LiteX Row Hammer Tester ramkasining nashr etilganini qayd etishimiz mumkin. Ramka xotira kontrollerining ta'sirini bartaraf etish uchun to'g'ridan-to'g'ri DRAM chipiga uzatiladigan buyruqlarni to'liq boshqarish uchun FPGA-dan foydalanishga asoslangan. Python-dagi asboblar to'plami FPGA bilan o'zaro ishlash uchun taklif etiladi. FPGA-ga asoslangan shlyuz paketli ma'lumotlarni uzatish modulini (xotiraga kirish modellarini belgilaydi), foydali yukni bajaruvchisini, LiteDRAM-ga asoslangan kontrollerni (DRAM uchun zarur bo'lgan barcha mantiqni, jumladan, qatorni faollashtirish va xotirani yangilashni qayta ishlaydi) va VexRiscv protsessorini o'z ichiga oladi. Loyiha ishlanmalari Apache 2.0 litsenziyasi ostida tarqatiladi. Lattice ECP5, Xilinx Series 6, 7, UltraScale va UltraScale+ kabi turli xil FPGA platformalari qo'llab-quvvatlanadi.

Manba: opennet.ru

a Izoh qo'shish