Kerentanan dalam mekanisme MMIO pemproses Intel

Intel telah mendedahkan maklumat tentang kelas baharu kebocoran data melalui struktur mikroarkitektur pemproses, yang membenarkan, melalui manipulasi mekanisme MMIO (Memory Mapped Input Output), untuk menentukan maklumat yang diproses pada teras CPU lain. Contohnya, kelemahan membenarkan data diekstrak daripada proses lain, enklaf Intel SGX atau mesin maya. Kerentanan khusus hanya untuk CPU Intel; pemproses daripada pengeluar lain tidak terjejas oleh kelemahan tersebut.

Kerentanan muncul dalam pelbagai CPU Intel, termasuk pemproses berdasarkan Haswell, Skylake, IceLake, Broadwell, Lakefield, Kabylake, Cometlake dan Rocketlake seni bina, serta Xeon EP/EX, Scalable dan beberapa pemproses pelayan Atom. Untuk menjalankan serangan, akses kepada MMIO diperlukan, yang, sebagai contoh, boleh diperoleh dalam sistem virtualisasi yang menyediakan keupayaan untuk mengakses MMIO untuk sistem tetamu yang dikawal oleh penyerang. Pembaikan juga mungkin diperlukan untuk sistem yang menggunakan enklaf terpencil Intel SGX (Software Guard Extensions).

Menyekat kerentanan memerlukan kedua-dua kemas kini mikrokod dan penggunaan kaedah perlindungan perisian tambahan berdasarkan penggunaan arahan VERW untuk mengosongkan kandungan penimbal seni bina mikro apabila kembali dari kernel ke ruang pengguna atau apabila memindahkan kawalan ke sistem tetamu. Perlindungan serupa juga digunakan untuk menyekat serangan yang dikenal pasti sebelum ini bagi kelas MDS (Pensampelan Data Mikroarkitektur), SRBDS (Pensampelan Data Penampan Daftar Khas) dan TAA (Transactional Asynchronous Abort).

Di bahagian mikrokod, perubahan yang diperlukan untuk melaksanakan perlindungan telah dicadangkan dalam kemas kini mikrokod Mei untuk CPU Intel (IPU 2022.1). Dalam kernel Linux, perlindungan terhadap kelas serangan baharu disertakan dalam keluaran 5.18.5, 5.15.48, 5.10.123, 5.4.199, 4.19.248, 4.14.284 dan 4.9.319. Untuk menyemak pendedahan sistem kepada kelemahan dalam MMIO dan menilai aktiviti mekanisme perlindungan tertentu, fail β€œ/sys/devices/system/cpu/vulnerabilities/mmio_stale_data” telah ditambahkan pada kernel Linux. Untuk mengawal kemasukan perlindungan, parameter but kernel "mmio_stale_data" telah dilaksanakan, yang boleh mengambil nilai "penuh" (membolehkan pembersihan penimbal apabila berpindah ke ruang pengguna dan dalam VM), "penuh,nosmt" ( sebagai β€œpenuh” + tambahan melumpuhkan SMT/Hyper- Threads) dan β€œmati” (perlindungan dilumpuhkan). Pembaikan berasingan ditawarkan untuk hipervisor Xen dan sistem pengendalian Qubes.

Intipati kelas kelemahan yang dikenal pasti ialah sesetengah operasi membawa kepada penyalinan atau pemindahan data yang tinggal selepas pelaksanaan pada teras CPU lain dari satu penimbal mikro seni bina ke yang lain. Kerentanan dalam MMIO membenarkan data sisa ini dipindahkan daripada penimbal mikroarkitektur terpencil ke daftar yang boleh dilihat aplikasi atau penimbal CPU. Tiga kaedah telah dikenal pasti untuk mengekstrak data sisa melalui MMIO:

  • DRPW (Pendaftaran Separa Peranti, CVE-2022-21166) ialah isu dengan pengendalian penulisan yang salah kepada beberapa daftar MMIO. Jika saiz data yang ditulis kurang daripada saiz daftar, maka maklumat sisa daripada penimbal isian juga disalin ke dalam daftar. Akibatnya, proses yang memulakan operasi tulis yang tidak lengkap ke daftar MMIO boleh mendapatkan data yang tinggal dalam penimbal mikroarkitektur daripada operasi yang dilakukan pada teras CPU lain.
  • SBDS (Pensampelan Data Penampan Dikongsi, CVE-2022-21125) ialah kebocoran data sisa daripada penimbal isian terikat kernel yang terhasil daripada pergerakan daripada penimbal perantaraan yang biasa kepada semua kernel.
  • SBDR (Bacaan Data Penampan Dikongsi, CVE-2022-21123) - masalahnya serupa dengan SBDS, tetapi berbeza kerana data baki boleh berakhir dalam struktur CPU yang boleh dilihat oleh aplikasi. Masalah SBDS dan SBDR hanya muncul pada pemproses untuk sistem klien dan pada keluarga pelayan Intel Xeon E3.

Kerentanan dalam mekanisme MMIO pemproses Intel


Sumber: opennet.ru

Tambah komen