L1DES (CacheOut) dan VRS - kelemahan baharu dalam struktur mikroarkitektur CPU Intel

Intel terbongkar maklumat tentang dua kelemahan baharu dalam CPU Intel yang disebabkan oleh kebocoran data daripada cache L1D (CVE-2020 0549-, L1DES - Persampelan Pengusiran L1D) dan daftar vektor (CVE-2020 0548-, VRS - Pensampelan Daftar Vektor). Kerentanan tergolong dalam kelas MDS (Pensampelan Data Senibina Mikro) dan berdasarkan aplikasi kaedah analisis saluran sisi kepada data dalam struktur mikroarkitektur. AMD, ARM dan pemproses lain tidak terjejas oleh masalah.

Bahaya terbesar ialah kelemahan L1DES, yang membolehkan menyelesaikan blok data cache (baris cache), diusir dari cache tahap pertama (L1D), dalam Penampan Isi, yang pada peringkat ini sepatutnya kosong. Untuk menentukan data yang telah diselesaikan dalam penimbal pengisian, kita boleh menggunakan kaedah analisis saluran sisi yang dicadangkan sebelum ini dalam serangan MDS (Persampelan Data Mikroarkitektur) dan TAA (Pengguguran Asynchronous Transactional). Intipati perlindungan yang dilaksanakan sebelum ini terhadap
MDS dan TAA dalam membilas penimbal seni bina mikro sebelum penukaran konteks, tetapi ternyata dalam beberapa keadaan, data secara spekulatif disiram ke dalam penimbal selepas operasi penyiraman, jadi kaedah MDS dan TAA kekal terpakai.

L1DES (CacheOut) dan VRS - kelemahan baharu dalam struktur mikroarkitektur CPU Intel

Akibatnya, penyerang boleh mencapai pengesanan data yang disingkirkan daripada cache tahap pertama yang telah ditukar semasa pelaksanaan aplikasi yang sebelum ini menduduki teras CPU semasa, atau aplikasi berjalan selari dalam benang logik lain (hiperthread) pada CPU yang sama teras (melumpuhkan HyperThreading mengurangkan keberkesanan serangan). Tidak seperti serangan L1TF,L1DES tidak membenarkan pemilihan alamat fizikal tertentu untuk pemeriksaan, tetapi ia menyediakan keupayaan untuk memantau aktiviti secara pasif dalam rangkaian logik lain yang dikaitkan dengan, memuatkan atau menyimpan nilai ke dalam ingatan.

Berdasarkan L1DES, pelbagai pasukan penyelidik telah membangunkan beberapa varian serangan yang berpotensi mengekstrak maklumat sensitif daripada proses lain, sistem pengendalian, mesin maya dan enklaf SGX yang dilindungi.

  • Pasukan VUSec disesuaikan Kaedah serangan RIDL untuk kelemahan L1DES. Tersedia mengeksploitasi prototaip, yang juga memintas kaedah perlindungan MDS yang dicadangkan Intel, yang 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 (penyelidik pada mulanya menegaskan bahawa VERW (membersihkan mikroarkitektur penampan) untuk perlindungan tidak mencukupi dan memerlukan siram lengkap cache L1 pada setiap suis konteks).
  • Pasukan ZombieLoad mengemas kini saya kaedah serangan mengambil kira kelemahan L1DES.
  • Penyelidik di Universiti Michigan telah membangunkan kaedah serangan mereka sendiri Cache Keluar (PDF), yang membolehkan anda mengekstrak maklumat sulit daripada kernel sistem pengendalian, mesin maya dan enklaf SGX yang dilindungi. Kaedah adalah berdasarkan manipulasi dengan mekanisme untuk gangguan tak segerak bagi operasi (TAA, TSX Asynchronous Abort) untuk menentukan kandungan penimbal isian selepas kebocoran data daripada cache L1D.

    L1DES (CacheOut) dan VRS - kelemahan baharu dalam struktur mikroarkitektur CPU Intel

Kerentanan VRS (Vector Register Sampling) Kedua terikat dengan kebocoran ke dalam penimbal storan (Penampan Kedai) hasil operasi membaca daripada daftar vektor berubah semasa pelaksanaan arahan vektor (SSE, AVX, AVX-512) pada teras CPU yang sama. Kebocoran berlaku di bawah satu set keadaan yang agak jarang berlaku dan disebabkan oleh fakta bahawa operasi spekulatif yang menghasilkan pantulan keadaan daftar vektor dalam penimbal storan ditangguhkan dan selesai selepas penimbal dibersihkan, dan bukan sebelum itu. Sama seperti kelemahan L1DES, kandungan penimbal storan kemudiannya boleh ditentukan menggunakan teknik serangan MDS dan TAA.

Penyelidik dari kumpulan VUSec disediakan mengeksploitasi prototaip, yang membolehkan anda menentukan nilai daftar vektor yang diperoleh hasil daripada pengiraan dalam benang logik lain teras CPU yang sama. Syarikat Intel dihargai Kerentanan VRS dianggap terlalu kompleks untuk melakukan serangan sebenar dan menetapkan tahap keterukan minimum (2.8 CVSS).

Isu tersebut telah dilaporkan kepada Intel pada Mei 2019 oleh pasukan Zombieload dari Universiti Teknikal Graz (Austria) dan pasukan VUSec dari Universiti Percuma Amsterdam, dan kelemahan itu kemudiannya disahkan oleh beberapa penyelidik lain selepas menganalisis vektor serangan MDS yang lain. Laporan MDS pertama tidak menyertakan maklumat tentang masalah L1DES dan VRS kerana kekurangan pembetulan. Pembaikan tidak tersedia sekarang, tetapi tempoh tidak mendedahkan yang dipersetujui telah tamat.
Sebagai penyelesaian, disyorkan untuk melumpuhkan HyperThreading. Untuk menyekat kelemahan pada bahagian kernel, adalah dicadangkan untuk menetapkan semula cache L1 pada setiap suis konteks (bit MSR MSR_IA32_FLUSH_CMD) dan melumpuhkan sambungan TSX (bit MSR MSR_IA32_TSX_CTRL dan MSR_TSX_FORCE_ABORT).

Intel janji mengeluarkan kemas kini mikrokod dengan pelaksanaan mekanisme untuk menyekat masalah dalam masa terdekat. Intel juga menyatakan bahawa penggunaan kaedah perlindungan serangan dicadangkan pada 2018 L1TF (L1 Terminal Fault) membolehkan anda menyekat eksploitasi kelemahan L1DES daripada persekitaran maya. Serang tertakluk kepada Pemproses Intel Core bermula dari generasi keenam (Sky, Kaby, Coffee, Whisky, Amber Lake, dll.), serta beberapa model Intel Xeon dan Xeon Scalable.

Di samping itu, ia boleh diperhatikan penambahbaikan mengeksploitasi, membolehkan anda menggunakan kaedah serangan RIDL untuk menentukan kandungan cincang kata laluan akar daripada /etc/shadow semasa percubaan pengesahan berkala. Jika eksploitasi yang dicadangkan pada asalnya menentukan cincang kata laluan masuk Jam 24, dan selepas menggunakan kebocoran semasa pengendalian mekanisme gangguan tak segerak (TAA, TSX Asynchronous Abort) melakukan operasi yang serupa dalam 36 saat, kemudian varian baharu membuat serangan dalam 4 saat.

Sumber: opennet.ru

Tambah komen