Intel prosessorlarının MMIO mexanizmində zəifliklər

Intel, MMIO (Memory Mapped Input Output) mexanizminin manipulyasiyası yolu ilə digər CPU nüvələrində emal olunan məlumatları müəyyən etməyə imkan verən prosessorların mikroarxitektur strukturları vasitəsilə məlumat sızmasının yeni sinfi haqqında məlumatları açıqlayıb. Məsələn, zəifliklər məlumatları digər proseslərdən, Intel SGX anklavlarından və ya virtual maşınlardan çıxarmağa imkan verir. Zəifliklər yalnız Intel CPU-larına xasdır; digər istehsalçıların prosessorları zəifliklərdən təsirlənmir.

Zəifliklər müxtəlif Intel CPU-larında, o cümlədən Haswell, Skylake, IceLake, Broadwell, Lakefield, Kabylake, Cometlake və Rocketlake mikroarxitekturalarına əsaslanan prosessorlarda, həmçinin Xeon EP/EX, Scalable və bəzi Atom server prosessorlarında görünür. Hücumun həyata keçirilməsi üçün MMIO-ya giriş tələb olunur, bu, məsələn, təcavüzkar tərəfindən idarə olunan qonaq sistemləri üçün MMIO-ya daxil olmaq imkanı verən virtuallaşdırma sistemlərində əldə edilə bilər. Intel SGX (Software Guard Extensions) təcrid olunmuş anklavlardan istifadə edən sistemlər üçün də düzəliş tələb oluna bilər.

Zəifliyin bloklanması həm mikrokodun yenilənməsini, həm də nüvədən istifadəçi sahəsinə qayıtdıqda və ya idarəetməni qonaq sisteminə ötürərkən mikroarxitektura buferlərinin məzmununu təmizləmək üçün VERW təlimatının istifadəsinə əsaslanan əlavə proqram təminatının mühafizə üsullarından istifadəni tələb edir. Oxşar qorunma həmçinin MDS (Mikroarxitektura Məlumat Nümunəsinin Alınması), SRBDS (Xüsusi Qeydiyyat Bufer Məlumat Nümunəsinin Alınması) və TAA (Transactional Asynchronous Abort) siniflərinin əvvəllər müəyyən edilmiş hücumlarını bloklamaq üçün istifadə olunur.

Mikrokod tərəfində, qorunmanın həyata keçirilməsi üçün zəruri dəyişikliklər Intel CPU-lar üçün may mikrokod yeniləməsində təklif edilmişdir (IPU 2022.1). Linux nüvəsində hücumların yeni sinfindən müdafiə 5.18.5, 5.15.48, 5.10.123, 5.4.199, 4.19.248, 4.14.284 və 4.9.319 buraxılışlarına daxildir. Sistemin MMIO-da zəifliklərə məruz qalmasını yoxlamaq və müəyyən mühafizə mexanizmlərinin fəaliyyətini qiymətləndirmək üçün Linux nüvəsinə “/sys/devices/system/cpu/vulnerabilities/mmio_stale_data” faylı əlavə edilib. Qoruma daxil olmasına nəzarət etmək üçün "full" (istifadəçi sahəsinə və VM-də buferlərin təmizlənməsinə imkan verir), "full,nosmt" ("full") dəyərlərini qəbul edə bilən "mmio_stale_data" nüvə açılış parametri tətbiq edilmişdir. kimi "full" + əlavə olaraq SMT/Hyper- Threads-i deaktiv edir) və "off" (qoruma deaktivdir). Xen hipervizoru və Qubes əməliyyat sistemi üçün ayrıca düzəlişlər təklif olunur.

Müəyyən edilmiş zəifliklər sinfinin mahiyyəti ondan ibarətdir ki, bəzi əməliyyatlar digər CPU nüvələrində icra edildikdən sonra qalan məlumatların bir mikroarxitektura buferindən digərinə köçürülməsinə və ya köçürülməsinə gətirib çıxarır. MMIO-dakı zəifliklər bu qalıq məlumatların təcrid olunmuş mikroarxitektura buferlərindən tətbiqdə görünən registrlərə və ya CPU buferlərinə ötürülməsinə imkan verir. MMIO vasitəsilə qalıq məlumatların çıxarılması üçün üç üsul müəyyən edilmişdir:

  • DRPW (Cihaz Registrinin Qismən Yazması, CVE-2022-21166) bəzi MMIO registrlərinə yazıların düzgün idarə edilməməsi ilə bağlı problemdir. Əgər yazılan məlumatların ölçüsü reyestrin ölçüsündən kiçikdirsə, o zaman doldurma buferlərindən qalıq məlumatlar da reyestrə köçürülür. Nəticədə, MMIO registrinə natamam yazma əməliyyatını başlatan proses digər CPU nüvələrində yerinə yetirilən əməliyyatlardan mikroarxitektura buferlərində qalan məlumatları əldə edə bilər.
  • SBDS (Shared Buffers Data Sampling, CVE-2022-21125) bütün nüvələr üçün ümumi olan ara buferlərdən hərəkət nəticəsində ləpəyə bağlı doldurma buferindən qalıq məlumatların sızmasıdır.
  • SBDR (Shared Buffers Data Read, CVE-2022-21123) - problem SBDS-yə bənzəyir, lakin onunla fərqlənir ki, qalıq verilənlər proqramlar üçün görünən CPU strukturlarında bitə bilər. SBDS və SBDR problemləri yalnız müştəri sistemləri üçün prosessorlarda və Intel Xeon E3 server ailəsində görünür.

Intel prosessorlarının MMIO mexanizmində zəifliklər


Mənbə: opennet.ru

Добавить комментарий