Kerentanan lain telah diidentifikasi pada prosesor AMD yang memungkinkan serangan Meltdown

Sebuah tim peneliti dari Technical University of Graz (Austria) dan Helmholtz Center for Information Security (CISPA) telah mengungkapkan informasi tentang kerentanan (CVE-2021-26318) di semua prosesor AMD yang memungkinkan dilakukannya kelas Meltdown. serangan saluran samping (awalnya diasumsikan bahwa prosesor AMD tidak terpengaruh oleh kerentanan Meltdown). Secara praktis, serangan dapat digunakan untuk membangun saluran komunikasi rahasia, memantau aktivitas di kernel, atau memperoleh informasi tentang alamat di memori kernel untuk melewati perlindungan KASLR sambil mengeksploitasi kerentanan di kernel.

AMD menganggap tidak tepat untuk mengambil tindakan khusus untuk memblokir masalah tersebut, karena kerentanan, seperti serangan serupa yang ditemukan pada bulan Agustus, tidak banyak berguna dalam kondisi nyata, dibatasi oleh batas-batas ruang alamat proses saat ini dan memerlukan kehadiran tertentu. urutan instruksi (gadget) yang sudah jadi di kernel. Untuk mendemonstrasikan serangan tersebut, para peneliti memuat modul kernel mereka sendiri dengan gadget yang ditambahkan secara artifisial. Dalam kondisi nyata, penyerang dapat menggunakan, misalnya, kerentanan yang muncul secara teratur di subsistem eBPF untuk menggantikan urutan yang diperlukan.

Untuk melindungi terhadap serangan jenis baru ini, AMD merekomendasikan penggunaan teknik pengkodean aman yang membantu memblokir serangan Meltdown, seperti menggunakan instruksi LFENCE. Para peneliti yang mengidentifikasi masalah tersebut merekomendasikan untuk mengaktifkan isolasi tabel halaman memori (KPTI) yang lebih ketat, yang sebelumnya hanya digunakan untuk prosesor Intel.

Selama percobaan, peneliti berhasil membocorkan informasi dari kernel ke suatu proses di ruang pengguna dengan kecepatan 52 byte per detik, mengingat adanya gadget di dalam kernel yang melakukan operasi β€œif (offset < data_len) tmp = LUT[data[pengimbang] * 4096];” . Beberapa metode telah diusulkan untuk mengambil informasi melalui saluran samping yang berakhir di cache selama eksekusi spekulatif. Metode pertama didasarkan pada analisis penyimpangan waktu eksekusi instruksi prosesor β€œPREFETCH” (Prefetch+Time), dan yang kedua adalah mengubah perubahan konsumsi energi saat mengeksekusi β€œPREFETCH” (Prefetch+Power).

Ingatlah bahwa kerentanan Meltdown klasik didasarkan pada fakta bahwa selama eksekusi instruksi spekulatif, prosesor dapat mengakses area data pribadi dan kemudian membuang hasilnya, karena hak istimewa yang ditetapkan melarang akses tersebut dari proses pengguna. Dalam program, blok yang dieksekusi secara spekulatif dipisahkan dari kode utama oleh cabang bersyarat, yang selalu aktif dalam kondisi nyata, tetapi karena pernyataan bersyarat menggunakan nilai terhitung yang tidak diketahui oleh prosesor selama eksekusi preemptive. kodenya, semua opsi cabang dilakukan secara spekulatif.

Karena operasi yang dieksekusi secara spekulatif menggunakan cache yang sama dengan instruksi yang biasanya dieksekusi, selama eksekusi spekulatif dimungkinkan untuk menyetel penanda di cache yang mencerminkan konten bit individual di area memori pribadi, dan kemudian dalam kode yang dieksekusi secara normal untuk menentukan nilainya melalui pewaktuan. analisis mengakses data yang di-cache dan non-cache.

Sumber: opennet.ru

Tambah komentar