Diungkapkan kembali pada bulan Maret 2022 adalah Branch History Injection (BHI) sebagai kerentanan Spectre baru yang memengaruhi CPU Intel dan Arm. Kemudian pada bulan Juli 2022 terdapat patch untuk Intel yang mengerjakan pencegahan berbasis perangkat keras untuk serangan Spectre-BHI. Sekarang dua tahun kemudian kernel Linux melihat mitigasi ditambahkan untuk kerentanan Injeksi Riwayat Cabang asli dengan varian “BHI Asli” yang baru.
Patch Selasa ini digabungkan dengan patch kernel Linux untuk membantu menangkis Branch History Injection ketika dipasangkan dengan mikrokode CPU yang diperbarui. Kecuali saya melewatkan sesuatu atau ada beberapa pengungkapan yang belum dipublikasikan, tidak jelas mengapa patch kernel ini digabungkan hari ini: Pusat Keamanan Intel belum menunjukkan kerentanan baru hari ini, tidak ada mikrokode CPU Intel yang baru penurunan, atau pengungkapan baru lainnya yang saya lihat hari ini seputar BHI.
Linus Torvalds menggabungkan cabang “nativebhi” ini untuk menyediakan mitigasi kerentanan keamanan CPU terbaru. Pesan penggabungan berbunyi:
Mitigasi untuk kerentanan perangkat keras BHI asli:
Serangan Branch History Injection (BHI) memungkinkan aplikasi jahat mempengaruhi prediksi cabang tidak langsung di kernel dengan meracuni riwayat cabang. eIBRS mengisolasi target cabang tidak langsung di ring0. BHB masih dapat mempengaruhi pilihan entri prediktor cabang tidak langsung, dan meskipun entri prediktor cabang diisolasi antar mode ketika eIBRS diaktifkan, BHB itu sendiri tidak diisolasi antar mode.
Tambahkan mitigasi terhadapnya baik dengan bantuan mikrokode atau dengan rangkaian perangkat lunak untuk CPU yang terpengaruh”
[ Hal ini juga pada akhirnya mengaktifkan mitigasi penuh secara default meskipun ada pengerasan panggilan sistem, karena tampaknya ada panggilan tidak langsung lainnya yang masih cukup dapat dijangkau, dan kasus `otomatis` tidak cukup diperkeras.
Kami akan melakukan beberapa penyesuaian yang tidak bisa dihindari di masa depan – Linus ]Dokumentasi kernel yang diperbarui menunjukkan penelitian baru yang memotivasi mitigasi BHI ini:
“Sebelumnya, satu-satunya vektor serangan BHB di dunia nyata yang diketahui adalah melalui eBPF yang tidak memiliki hak istimewa. Penelitian lebih lanjut telah menemukan serangan yang tidak memerlukan eBPF yang tidak memiliki hak istimewa. Untuk mitigasi penuh terhadap serangan BHB, disarankan untuk mengatur BHI_DIS_S atau menggunakan urutan pembersihan BHB.” Kode baru menambahkan opsi waktu boot spectre_bhi= untuk kontrol hidup/mati/otomatis mitigasi Injeksi Riwayat Cabang ini. Kontrol tersebut mempengaruhi kontrol BHI perangkat keras dan urutan kliring BHB perangkat lunak. Tambalan tersebut mengonfirmasi bahwa prosesor AMD, Zhaoxin, dan Hygon tidak terpengaruh, tetapi tampaknya hanya prosesor Intel x86/x86_64.
Untuk prosesor Intel yang terpengaruh, Alder Lake dan yang lebih baru memiliki kontrol perangkat keras BHI_DIS_S untuk memitigasi BHI. Sebelum Alder Lake, Intel telah merilis rangkaian perangkat lunak untuk menghapus riwayat cabang.
Dengan mitigasi Linux, riwayat cabang dihapus pada entri panggilan sistem dan VMexit. Untuk saat ini setidaknya riwayat cabang tidak dihapus pada entri interupsi tetapi salah satu patch perlu diperhatikan:
“Untuk saat ini, riwayat cabang tidak dihapus pada entri interupsi, karena aplikasi jahat diyakini tidak memiliki kontrol yang cukup terhadap register, karena status register sebelumnya dihapus pada entri interupsi. Para peneliti terus menyelidiki area ini dan mungkin diperlukan untuk jelas pada entri interupsi juga di masa mendatang.” Jadi, beberapa waktu yang lalu, kode mitigasi Intel BHI digabungkan ke Git untuk Linux 6.9 dan akan segera di-back-port ke rilis kernel yang stabil. Saya masih mencari-cari informasi lebih lanjut tentang mengapa mitigasi BHI sekarang terjadi dua tahun setelah pengungkapan BHI yang asli. PEMBARUAN: VUSec.net kini telah menerbitkan rincian penelitian “BHI Asli” baru mereka tentang Injeksi Sejarah Cabang. Mereka menjelaskan:
Dalam pekerjaan kami sebelumnya, kami menunjukkan bahwa serangan Spectre-V2 masih mungkin terjadi di kernel melalui Branch History Injection (BHI), dan menggunakan eBPF untuk membuat gadget pengungkapan Spectre (atau sekadar gadget Spectre untuk kesederhanaan). Sebagai tanggapan, vendor menyarankan untuk menonaktifkan eBPF yang tidak memiliki hak istimewa. Mitigasi ini menimbulkan pertanyaan yang menggantung: “Apakah menemukan gadget Spectre ‘asli’ untuk BHI, yakni tidak ditanamkan melalui eBPF, dapat dilakukan?”
Untuk menjawab pertanyaan ini, kami mengembangkan InSpectre Gadget. Dengan alat ini, kami dapat menganalisis gadget Spectre dan mempertimbangkan kemampuan eksploitasinya (tingkat lanjut). Upaya kami menghasilkan penemuan 1.511 gadget Spectre dan 2.105 yang disebut �gadget pengiriman�. Yang terakhir ini sangat berguna bagi penyerang, karena dapat digunakan untuk merangkai gadget dan mengarahkan spekulasi ke gadget Spectre.
Karena jumlah gadget yang kami temukan menunjukkan adanya serangan yang tidak sepele, vendor kini merekomendasikan untuk memitigasi BHI Asli dengan mengaktifkan mitigasi perangkat keras dan, untuk CPU lama, mitigasi perangkat lunak.
Dari sekian banyak gadget yang kami temukan, kami memilih satu dan membuat eksploitasi BHI Asli (eBPF=off) end-to-end.
AMD juga telah mengonfirmasi bahwa prosesor mereka tidak terpengaruh oleh BHI Asli/InSpectre Gadget. BHI Asli telah ditetapkan sebagai CVE-2024-2201 dan VUSec telah menunjukkan kerentanan pada CPU Core Generasi ke-13 sementara mereka mengatakan semua CPU Intel terpengaruh oleh BHI Asli.
Itulah berita seputar Kernel Linux Ditambal Untuk Injeksi Riwayat Cabang “BHI” Kerentanan CPU Intel, semoga bermanfaat. Disadur dari Phoronix.com.