Satu lagi kelemahan telah dikenal pasti dalam pemproses AMD yang membenarkan serangan Meltdown

Pasukan penyelidik dari Universiti Teknikal Graz (Austria) dan Pusat Keselamatan Maklumat Helmholtz (CISPA) telah mendedahkan maklumat tentang kelemahan (CVE-2021-26318) dalam semua pemproses AMD yang memungkinkan untuk menjalankan kelas Meltdown serangan saluran sisi (pada mulanya diandaikan bahawa pemproses AMD tidak terjejas oleh kelemahan Meltdown). Dari segi praktikal, serangan boleh digunakan untuk mewujudkan saluran komunikasi rahsia, memantau aktiviti dalam kernel, atau mendapatkan maklumat tentang alamat dalam memori kernel untuk memintas perlindungan KASLR sambil mengeksploitasi kelemahan dalam kernel.

AMD menganggap adalah tidak wajar untuk mengambil langkah khas untuk menyekat masalah, kerana kelemahan, seperti serangan serupa yang ditemui pada bulan Ogos, tidak banyak digunakan dalam keadaan sebenar, dihadkan oleh sempadan semasa ruang alamat proses dan memerlukan kehadiran tertentu. turutan arahan (alat) sedia dibuat dalam kernel. Untuk menunjukkan serangan itu, para penyelidik memuatkan modul kernel mereka sendiri dengan alat tambahan buatan. Dalam keadaan sebenar, penyerang boleh menggunakan, sebagai contoh, kerap menimbulkan kerentanan dalam subsistem eBPF untuk menggantikan urutan yang diperlukan.

Untuk melindungi daripada jenis serangan baharu ini, AMD mengesyorkan menggunakan teknik pengekodan selamat yang membantu menyekat serangan Meltdown, seperti menggunakan arahan LFENCE. Para penyelidik yang mengenal pasti masalah mengesyorkan agar pengasingan jadual halaman memori (KPTI) lebih ketat, yang sebelum ini hanya digunakan untuk pemproses Intel.

Semasa percubaan, penyelidik berjaya membocorkan maklumat dari kernel kepada proses dalam ruang pengguna pada kelajuan 52 bait sesaat, memandangkan kehadiran alat dalam kernel yang melakukan operasi "jika (mengimbangi < data_len) tmp = LUT[data[offset] * 4096];” . Beberapa kaedah telah dicadangkan untuk mendapatkan semula maklumat melalui saluran sampingan yang berakhir dalam cache semasa pelaksanaan spekulatif. Kaedah pertama adalah berdasarkan analisis penyelewengan dalam masa pelaksanaan arahan pemproses "PREFETCH" (Prefetch+Time), dan yang kedua untuk menukar perubahan dalam penggunaan tenaga apabila melaksanakan "PREFETCH" (Prefetch+Power).

Ingat bahawa kelemahan Meltdown klasik adalah berdasarkan fakta bahawa semasa pelaksanaan spekulatif arahan, pemproses boleh mengakses kawasan data peribadi dan kemudian membuang hasilnya, kerana keistimewaan yang ditetapkan melarang akses sedemikian daripada proses pengguna. Dalam program ini, blok yang dilaksanakan secara spekulatif dipisahkan daripada kod utama oleh cawangan bersyarat, yang dalam keadaan sebenar sentiasa menyala, tetapi disebabkan fakta bahawa pernyataan bersyarat menggunakan nilai terkira yang pemproses tidak tahu semasa pelaksanaan preemptive kod, semua pilihan cawangan dijalankan secara spekulatif.

Oleh kerana operasi yang dilaksanakan secara spekulatif menggunakan cache yang sama seperti arahan yang biasa dilaksanakan, adalah mungkin semasa pelaksanaan spekulatif untuk menetapkan penanda dalam cache yang mencerminkan kandungan bit individu dalam kawasan memori peribadi, dan kemudian dalam kod yang biasa dilaksanakan untuk menentukan nilainya melalui pemasaan. akses analisis kepada data cache dan bukan cache.

Sumber: opennet.ru

Tambah komen