Kelas kelemahan baharu dalam pemproses Intel telah diperkenalkan

Intel ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»Π° maklumat tentang baru kelas kelemahan dalam pemproses mereka - MDS (Persampelan Data Senibina Mikro). Seperti serangan Spectre sebelumnya, masalah baharu boleh menyebabkan kebocoran data peribadi daripada sistem pengendalian, mesin maya dan proses lain. Masalah itu didakwa pertama kali dikenal pasti oleh pekerja dan rakan kongsi Intel semasa audit dalaman, selepas itu penyelidik bebas memberikan maklumat tentang masalah yang serupa kepada Intel. Pemproses AMD dan ARM tidak terjejas oleh masalah tersebut.

Berdasarkan masalah yang dikenal pasti oleh penyelidik dari Universiti Teknikal Graz (Austria) maju Beberapa serangan saluran sampingan praktikal:

  • ZombieLoad (PDF) - membolehkan anda mengekstrak maklumat sulit daripada proses lain, sistem pengendalian, mesin maya dan enklaf yang dilindungi (TEE, Persekitaran Pelaksanaan Dipercayai). Sebagai contoh, keupayaan untuk menentukan sejarah membuka halaman dalam pelayar Tor yang berjalan dalam mesin maya lain telah ditunjukkan, serta menentukan kunci akses dan kata laluan yang digunakan dalam aplikasi;


  • RIDL (PDF) - membenarkan kebocoran maklumat antara pelbagai kawasan terpencil dalam pemproses Intel, seperti penimbal isian, penimbal storan dan port beban. Contoh serangan ditunjukkan untuk mengatur kebocoran daripada proses lain, sistem pengendalian, mesin maya dan enklaf yang dilindungi. Sebagai contoh, ia menunjukkan cara untuk mengetahui kandungan cincangan kata laluan akar daripada /etc/shadow semasa percubaan pengesahan berkala (serangan mengambil masa 24 jam);

    Di samping itu, contoh serangan menggunakan JavaScript dan WebAssembly ditunjukkan apabila membuka halaman berniat jahat dalam enjin SpiderMonkey (dalam penyemak imbas moden sepenuhnya, serangan sedemikian tidak mungkin disebabkan oleh ketepatan pemasa yang terhad dan langkah untuk melindungi daripada Spectre);

  • Fallout (PDF) - memungkinkan untuk membaca data yang ditulis baru-baru ini oleh sistem pengendalian dan menentukan susun atur memori OS untuk memudahkan serangan lain;
  • Pemajuan Kedai-Untuk-Bocor β€” mengeksploitasi pengoptimuman CPU untuk bekerja dengan penimbal storan dan boleh digunakan untuk memintas mekanisme rawak ruang alamat kernel (KASLR), untuk memantau keadaan sistem pengendalian, atau untuk organisasi kebocoran dalam kombinasi dengan gajet berdasarkan kaedah Spectre.

Terbongkar kelemahan:

  • CVE-2018-12126 - MSBDS (Pensampelan Data Penampan Kedai Mikroarkitek), pemulihan kandungan penimbal storan. Digunakan dalam serangan Fallout. Tahap bahaya ditentukan sebagai 6.5 mata (CVSS);
  • CVE-2018-12127 - MLPDS (Pensampelan Data Port Beban Mikroarkitektur), pemulihan kandungan port beban. Digunakan dalam serangan RIDL. CVSS 6.5;
  • CVE-2018-12130 - MFBDS (Pensampelan Data Penampan Isian Mikroarbina), pemulihan kandungan penimbal isian. Digunakan dalam serangan ZombieLoad dan RIDL. CVSS 6.5;
  • CVE-2019-11091 – MDSUM (Microarchitectural Data Sampling Uncacheable Memory), pemulihan kandungan memori yang tidak boleh cache. Digunakan dalam serangan RIDL. CVSS 3.8.

hati mengenal pasti masalah dalam keupayaan untuk menggunakan kaedah analisis saluran sisi kepada data dalam struktur mikroarkitektur yang aplikasi tidak mempunyai akses secara langsung. Kita bercakap tentang struktur peringkat rendah seperti penampan isian (Penimbal Isi Talian), penimbal storan (Penampan Kedai) dan port beban (Port Muatan), yang merupakan blok bangunan yang lebih kecil daripada cache peringkat pertama (L1D), cache beban data ( RDCL ) atau L1TF (L1 Terminal Fault), dan oleh itu kurangkan maklumat serta dikemas kini dengan lebih intensif.

Kelas kelemahan baharu dalam pemproses Intel telah diperkenalkan

Serangan saluran sisi pada struktur mikroarkitektur jauh lebih sukar untuk dijalankan berbanding kaedah untuk memulihkan kandungan cache dan memerlukan penjejakan dan menganalisis sejumlah besar data untuk menentukan sambungannya dengan alamat tertentu dalam ingatan (pada dasarnya, penyerang tidak boleh memintas data tertentu secara sengaja. , tetapi mungkin masa untuk mengumpul kebocoran dan menggunakan kaedah statistik untuk membina semula jenis data tertentu). Selain itu, serangan hanya mempengaruhi data pada teras CPU fizikal yang sama dengan kod penyerang.

Kaedah yang dicadangkan untuk menentukan kandungan struktur mikroarkitektur adalah berdasarkan fakta bahawa struktur ini digunakan semasa pengendalian spekulatif pengecualian (kesalahan) atau beban dan operasi stor.
Semasa pelaksanaan spekulatif, kandungan struktur dalaman dialihkan ke daftar atau cache untuk diproses. Operasi spekulatif tidak selesai dan hasilnya dibuang, tetapi kandungan yang diubah hala boleh ditentukan menggunakan teknik analisis cache saluran sisi.

Port beban digunakan oleh pemproses untuk menerima data daripada memori atau subsistem I/O dan memberikan maklumat yang diterima kepada daftar CPU. Disebabkan oleh ciri pelaksanaan, data daripada operasi muat turun lama kekal dalam port sehingga ia ditimpa oleh data baharu, yang memungkinkan untuk secara tidak langsung menentukan keadaan data dalam port muat turun dengan memanipulasi pengecualian (kesalahan) dan SSE/AVX/ Arahan AVX-512 yang memuatkan lebih daripada 64 bit data. Di bawah keadaan sedemikian, operasi memuatkan secara spekulatif mendedahkan nilai data lapuk daripada struktur dalaman kepada operasi bergantung. Dengan cara yang sama, kebocoran diatur melalui penimbal storan, yang digunakan untuk mempercepatkan penulisan ke cache CPU dan termasuk jadual alamat, nilai dan bendera, serta melalui penimbal isian, yang mengandungi data yang belum lagi berada dalam cache L1 (cache-miss), buat masa ini dimuatkan daripada cache peringkat lain.

Kelas kelemahan baharu dalam pemproses Intel telah diperkenalkan

masalah mempengaruhi Model pemproses Intel dihasilkan sejak 2011 (bermula dari generasi ke-6). Dalam kes ini, kelemahan perkakasan disekat bermula daripada beberapa model Intel Core generasi ke-8 dan ke-9 dan generasi ke-2 Intel Xeon Scalable (anda boleh menyemak menggunakan bit ARCH_CAP_MDS_NO dalam IA32_ARCH_CAPABILITIES MSR). Kerentanan juga sudah ada dihapuskan pada tahap perisian tegar, mikrokod dan sistem pengendalian. Intel menganggarkan kehilangan prestasi selepas mengaktifkan tampung untuk kebanyakan pengguna kurang daripada 3%. Apabila teknologi Hyper-Threading dilumpuhkan, kemerosotan prestasi boleh mencapai sehingga 9% dalam ujian SPECint_rate_base, sehingga 11% dalam pengiraan integer aktif dan sehingga 19% apabila menjalankan aplikasi Java sebelah pelayan (dengan HT didayakan, terdapat hampir tiada kemerosotan prestasi). Tampalan mempunyai sedikit kesan pada prestasi I/O.

Kernel Linux melindungi daripada MDS tambah pada hari ini kemas kini 5.1.2, 5.0.16,
4.19.43, 4.14.119 dan 4.9.176. Kaedah perlindungan dalam pembinaan pada mengosongkan kandungan penimbal seni bina mikro pada masa kembali dari kernel ke ruang pengguna atau apabila memindahkan kawalan ke sistem tetamu, yang mana arahan VERW digunakan. Untuk perlindungan berfungsi, ia memerlukan sokongan untuk mod MD_CLEAR, dilaksanakan dalam kemas kini mikrokod terkini. Untuk perlindungan lengkap, ia juga disyorkan untuk melumpuhkan Hyper Threading. Untuk menyemak pendedahan sistem kepada kelemahan dalam kernel Linux tambah pengendali "/sys/devices/system/cpu/vulnerabilities/mds". Untuk mengawal kemasukan pelbagai mod penyekatan kerentanan, parameter "mds=" telah ditambahkan pada kernel, yang boleh mengambil nilai "penuh", "penuh,nosmt" (melumpuhkan Hyper-Threads), "vmwerv" dan β€œmati”.

Kemas kini pakej telah pun dikeluarkan untuk RHEL ΠΈ Ubuntu, tetapi kekal tidak tersedia buat masa ini Debian, Fedora ΠΈ SUSE.
Pembaikan untuk menyekat kebocoran data daripada mesin maya juga terbentuk untuk hipervisor Xen. Untuk melindungi sistem virtualisasi yang mengeluarkan arahan L1D_FLUSH sebelum memindahkan kawalan ke mesin maya lain dan untuk melindungi enklaf Intel SGX, kemas kini mikrokod adalah mencukupi.

Sumber: opennet.ru

Tambah komen