BHI adalah kerentanan kelas Spectre baru di prosesor Intel dan ARM

Sekelompok peneliti dari Vrije Universiteit Amsterdam telah mengidentifikasi kerentanan baru dalam struktur mikroarsitektur prosesor Intel dan ARM, yang merupakan versi lanjutan dari kerentanan Spectre-v2, yang memungkinkan seseorang melewati mekanisme perlindungan eIBRS dan CSV2 yang ditambahkan ke prosesor . Kerentanan ini diberi beberapa nama: BHI (Branch History Injection, CVE-2022-0001), BHB (Branch History Buffer, CVE-2022-0002) dan Spectre-BHB (CVE-2022-23960), yang menggambarkan berbagai manifestasi kerentanan. masalah yang sama (BHI - serangan yang mempengaruhi tingkat hak istimewa yang berbeda, misalnya, proses pengguna dan kernel, BHB - serangan pada tingkat hak istimewa yang sama, misalnya eBPF JIT dan kernel).

Para peneliti telah mendemonstrasikan eksploitasi yang memungkinkan data sewenang-wenang diekstraksi dari memori kernel dari ruang pengguna. Misalnya, ditunjukkan bagaimana, dengan menggunakan eksploitasi yang telah disiapkan, dimungkinkan untuk mengekstrak string dari buffer kernel dengan hash kata sandi pengguna root yang dimuat dari file /etc/shadow. Eksploitasi tersebut menunjukkan kemungkinan mengeksploitasi kerentanan dalam satu tingkat hak istimewa (serangan kernel-ke-kernel) menggunakan program eBPF yang dimuat pengguna. Dimungkinkan juga untuk menggunakan gadget Spectre yang ada dalam kode kernel sebagai ganti eBPF, urutan perintah yang mengarah pada eksekusi instruksi spekulatif.

Kerentanan muncul di sebagian besar prosesor Intel saat ini, kecuali prosesor dari keluarga Atom. Di antara prosesor ARM, Cortex-A15, Cortex-A57, Cortex-A7*, Cortex-X1, Cortex-X2, Cortex-A710, Neoverse N1, Neoverse N2, Neoverse V1 dan mungkin beberapa chip Cortex-R terpengaruh oleh masalah ini. Menurut penelitian, kerentanan tidak muncul pada prosesor AMD. Untuk mengatasi masalah ini, beberapa metode perangkat lunak telah diusulkan untuk memblokir kerentanan, yang dapat digunakan sebelum perlindungan perangkat keras muncul di model CPU masa depan.

Untuk memblokir serangan melalui subsistem eBPF, disarankan untuk menonaktifkan secara default kemampuan bagi pengguna yang tidak memiliki hak istimewa untuk mengunduh program eBPF dengan menulis 1 ke file “/proc/sys/kernel/unprivileged_bpf_disabled” atau menjalankan perintah “sysctl -w kernel. tidak memiliki hak istimewa_bpf_disabled=1”. Untuk memblokir serangan gadget, disarankan untuk menggunakan instruksi LFENCE di area kode yang berpotensi menyebabkan eksekusi spekulatif. Patut dicatat bahwa konfigurasi default sebagian besar distribusi Linux sudah berisi langkah-langkah perlindungan yang diperlukan untuk memblokir serangan eBPF yang ditunjukkan oleh para peneliti. Rekomendasi Intel untuk menonaktifkan akses tanpa hak istimewa ke eBPF juga merupakan default sejak kernel Linux 5.16 dan akan di-backport ke cabang sebelumnya.

Secara konseptual, BHI adalah versi lanjutan dari serangan Spectre-v2, di mana, untuk melewati perlindungan tambahan (Intel eIBRS dan Arm CSV2) dan mengatur kebocoran data, substitusi nilai digunakan dalam Branch History Buffer, digunakan dalam CPU untuk meningkatkan prediksi percabangan akurasi dengan memperhitungkan sejarah transisi masa lalu. Selama serangan, melalui manipulasi dengan riwayat transisi, kondisi diciptakan untuk prediksi transisi yang salah dan eksekusi spekulatif dari instruksi yang diperlukan, yang hasilnya berakhir di cache.

Kecuali menggunakan Branch History Buffer dan bukan Branch Target Buffer, serangan baru ini identik dengan Spectre-v2. Tugas penyerang adalah menciptakan kondisi sedemikian rupa sehingga alamat, ketika melakukan operasi spekulatif, diambil dari area data yang ditentukan. Setelah melakukan lompatan tidak langsung spekulatif, alamat lompatan yang dibaca dari memori tetap berada di cache, setelah itu salah satu metode untuk menentukan isi cache dapat digunakan untuk mengambilnya berdasarkan analisis perubahan waktu akses ke cache dan uncached. data.

Sumber: opennet.ru

Tambah komentar