Sekumpulan penyelidik dari Vrije Universiteit Amsterdam telah mengenal pasti kelemahan baharu dalam mikroarkitektur pemproses Intel dan ARM. Kelemahan ini merupakan varian lanjutan Spectre-v2, yang membolehkan pintasan mekanisme perlindungan eIBRS dan CSV2 yang ditambahkan pada pemproses. Kelemahan ini telah diberikan beberapa nama: BHI (Branch History Injection, CVE-2022-0001), BHB (Branch History Buffer, CVE-2022-0002), dan Spectre-BHB (CVE-2022-23960), yang menggambarkan manifestasi berbeza bagi masalah yang sama (BHI ialah serangan yang menjejaskan tahap keistimewaan yang berbeza, seperti proses pengguna dan kernel, manakala BHB ialah serangan pada tahap keistimewaan tunggal, seperti eBPF JIT dan kernel).
Penyelidik telah menunjukkan satu eksploit berfungsi yang membolehkan data sewenang-wenangnya diekstrak daripada memori kernel daripada ruang pengguna. Contohnya, mereka menunjukkan bagaimana eksploit yang disediakan boleh digunakan untuk mengekstrak rentetan yang mengandungi hash kata laluan pengguna root, yang dimuatkan daripada fail /etc/shadow, daripada penimbal kernel. Eksploitasi tersebut menunjukkan kemungkinan mengeksploitasi kerentanan dalam satu tahap keistimewaan (serangan kernel-ke-kernel) menggunakan program eBPF yang dimuat turun pengguna. Ia juga mungkin untuk menggunakan gajet Spectre sedia ada, jujukan arahan yang membawa kepada pelaksanaan arahan spekulatif, dan bukannya eBPF.

Kerentanan ini menjejaskan kebanyakan pemproses Intel semasa, kecuali keluarga Atom. Antara pemproses ARM, isu ini menjejaskan Cortex-A15, Cortex-A57, Cortex-A7*, Cortex-X1, Cortex-X2, Cortex-A710, Neoverse N1, Neoverse N2, Neoverse V1 dan mungkin beberapa cip Cortex-R. Kajian menunjukkan bahawa pemproses AMD tidak terdedah. Beberapa mitigasi perisian telah dicadangkan, yang boleh digunakan sehingga perlindungan perkakasan diperkenalkan dalam model CPU akan datang.
Untuk menyekat serangan melalui subsistem eBPF, adalah disyorkan untuk melumpuhkan keupayaan pengguna yang tidak mempunyai keistimewaan untuk memuatkan program eBPF secara lalai dengan menulis 1 pada fail "/proc/sys/kernel/unprivileged_bpf_disabled" atau menjalankan arahan "sysctl -w kernel.unprivileged_bpf_disabled=1". Untuk menyekat serangan melalui gajet, adalah disyorkan untuk menggunakan arahan LFENCE dalam bahagian kod yang berpotensi membawa kepada pelaksanaan spekulatif. Perlu diperhatikan bahawa konfigurasi lalai kebanyakan pengedaran Linux sudah termasuk mitigasi yang diperlukan yang mencukupi untuk menyekat serangan eBPF yang ditunjukkan oleh penyelidik. Cadangan Intel untuk melumpuhkan akses yang tidak mempunyai keistimewaan kepada eBPF juga digunakan secara lalai bermula dengan kernel Linux 5.16 dan akan diport semula ke kernel terdahulu.
Secara konseptual, BHI merupakan versi lanjutan serangan Spectre-v2, yang memintas perlindungan tambahan (Intel eIBRS dan Arm CSV2) dan membocorkan data dengan menggantikan nilai ke dalam Penimbal Sejarah Cawangan, penimbal sejarah cawangan global yang digunakan dalam CPU untuk meningkatkan ketepatan ramalan cawangan dengan mengambil kira sejarah cawangan yang lalu. Serangan tersebut, melalui manipulasi sejarah cawangan, mewujudkan keadaan untuk salah ramalan cawangan dan pelaksanaan spekulatif arahan yang diperlukan, yang hasilnya disimpan dalam cache.
Kecuali menggunakan Penimbal Sejarah Cawangan dan bukannya Penimbal Sasaran Cawangan, serangan baharu ini adalah sama dengan Spectre-v2. Matlamat penyerang adalah untuk mewujudkan keadaan supaya alamat yang diambil semasa operasi spekulatif diambil daripada kawasan data sasaran. Selepas melaksanakan lompatan tidak langsung spekulatif, alamat lompatan yang dibaca dari memori kekal dalam cache, selepas itu ia boleh diambil menggunakan salah satu kaedah penentuan kandungan cache berdasarkan analisis variasi masa akses antara data yang dicache dan tidak dicache.
Sumber: opennet.ru
