- Kerentanan keamanan baru pada CPU Intel bernama Branch Privilege Injection ditemukan akibat race condition pada prediktor cabang
- Serangan ini dimungkinkan karena pembaruan asinkron dan sinkronisasi yang tidak memadai antar domain keamanan
- Mitigasi perangkat keras yang sudah ada seperti eIBRS dan IBPB dapat dilumpuhkan dalam kondisi race
- Intel memitigasi kerentanan ini dengan pembaruan microcode, meski ada penurunan performa
- Kerentanan ini memengaruhi semua CPU Intel sejak generasi ke-9, dan terjadi terlepas dari sistem operasinya
Ringkasan serangan Branch Privilege Injection
- Branch Privilege Injection adalah kerentanan keamanan yang menghidupkan kembali serangan injeksi target cabang dari keluarga Spectre-BTI dengan pendekatan baru
- Pada CPU Intel, pertahanan Spectre di tingkat perangkat keras telah efektif selama 6 tahun, tetapi riset ini membuktikan bahwa pertahanan tersebut dapat dilewati melalui race condition
- Prediktor cabang bekerja secara asinkron terhadap aliran instruksi, sehingga dalam kondisi tertentu dapat terjadi pembaruan yang tertunda puluhan hingga ratusan siklus
- Jika transisi hak istimewa terjadi saat pembaruan prediktor cabang masih berlangsung—misalnya user-ke-kernel, guest-ke-hypervisor, atau saat IBPB dijalankan—pembaruan tersebut bisa salah dikaitkan ke mode hak akses yang baru
- Kondisi ini diberi nama Branch Predictor Race Condition, dan dapat menyebabkan kebocoran informasi memori sensitif
Demonstrasi serangan dan dampaknya
- Dengan teknik ini, kecepatan kebocoran memori arbitrer pada Ubuntu 24.04 (patch terbaru dan mitigasi bawaan aktif) mencapai 5.6KiB/s
- Ada demonstrasi video keberhasilan serangan pada CPU Intel Raptor Lake (generasi ke-13)
Mitigasi yang terdampak
- eIBRS: mekanisme keamanan yang diperkenalkan pada CPU Intel sejak generasi ke-9 (Coffee Lake Refresh), yang memisahkan prediksi cabang tidak langsung per domain keamanan.
- IBPB: karena eIBRS hanya mencegah serangan antar domain keamanan perangkat keras, IBPB berfungsi meniadakan seluruh prediksi cabang tidak langsung untuk area keamanan tambahan seperti mesin virtual yang tidak tepercaya
- Keduanya merupakan mitigasi yang direkomendasikan sebagai default keamanan di lingkungan yang ditentukan
Analisis rinci Branch Predictor Race Condition
- Jika race condition terjadi pada prediktor cabang, jaminan keamanan dari eIBRS dan IBPB menjadi tidak berlaku
- Saat transisi hak istimewa terjadi selama eksekusi instruksi, pembaruan prediksi cabang yang masih berjalan dapat salah diatribusikan ke domain keamanan yang baru
- Bahkan jika IBPB dijalankan, pembaruan prediksi yang sedang berlangsung tidak ikut di-flush dan tetap tersisa di prediktor, sehingga memunculkan masalah keamanan
Mitigasi untuk Branch Predictor Race Condition
- Intel telah mengembangkan pembaruan microcode untuk prosesor yang rentan, dan secara eksperimental serangan berhasil diblokir pada Alder Lake
- Saat mitigasi ini diterapkan, Alder Lake mengalami penurunan performa hingga 2.7%
- Strategi mitigasi alternatif berbasis perangkat lunak juga diuji, dengan overhead performa terukur 1.6% (Coffee Lake Refresh) hingga 8.3% (Rocket Lake)
- Detail lebih lanjut tersedia di makalah penelitian
Materi tambahan
- Makalah riset utama tentang Branch Privilege Injection dijadwalkan dipresentasikan di USENIX Security 2025
- Presentasi yang berfokus pada deteksi kerentanan dan eksploitasi dijadwalkan di Black Hat USA 2025
- Kode sumber serangan dan eksperimen dipublikasikan di github
FAQ
1. Apakah komputer saya terdampak?
- Semua prosesor Intel sejak generasi ke-9 (Coffee Lake Refresh) terdampak oleh Branch Privilege Injection
- Fenomena pelumpuhan IBPB juga telah dikonfirmasi hingga produk generasi ke-7 (Kaby Lake)
2. Apakah CPU non-Intel juga terdampak?
- Hasil analisis menunjukkan masalah ini tidak ditemukan pada sistem AMD maupun ARM
3. Apakah hanya Linux yang terdampak?
- PoC dibuat untuk Linux, tetapi masalah dasarnya ada pada perangkat keras
- Semua sistem operasi yang berjalan pada perangkat keras tersebut bersifat rentan
4. Apa langkah penanganannya?
- Disarankan untuk memasang pembaruan terbaru untuk sistem operasi dan BIOS
1 komentar
Komentar Hacker News
Dalam tulisan yang diterbitkan Harvard, ada analogi jenaka bahwa, sial bagi John, branch telah membuat perjanjian dengan Setan dan mekanika kuantum lalu menaruh sihir berbahaya pada prosesor generasi mendatang; sihir ini kemudian dikenal dengan nama seperti 'kebocoran tegangan akibat scaling' atau 'peningkatan panas yang terbuang'
Kesan bahwa tulisan James Mickens selalu menghibur, disertai kutipan lelucon bahwa Mossad yang menangani keamanan tidak peduli pada hal-hal seperti HTTPS; jika mereka butuh data, mereka akan langsung menukar ponselmu dengan tiruan uranium lewat drone, lalu pada akhirnya membeli barang-barangmu di obral harta peninggalan dan melihat fotonya sendiri
Ada pendapat bahwa bagian yang menyebut begitu banyak matriks memberi sedikit harapan, dan diceritakan bahwa adik John menemukan cara mengajari matriks-matriks itu untuk berbicara seperti manusia
Berbagi tautan blog peneliti dan makalah
Meninggalkan masukan bahwa tautan di atas telah diganti dari rilis pers universitas ke posting blog peneliti
Mengenai dampak kerentanan baru ini, peneliti menjelaskan bahwa isi seluruh memori CPU dapat dibaca berulang kali dengan kecepatan hingga 5.000 byte per detik, sehingga jika serangan berhasil, semua informasi di CPU pada akhirnya bisa bocor
Menyampaikan harapan agar URL judul diubah ke tautan blog
Merangkum cara kerja branch predictor
Senang melihat bahwa Profesor Kaveh Razavi pernah mengajar mata kuliah keamanan perangkat keras di kampusnya, dan kursus itu benar-benar keren
Beberapa tahun lalu sempat mencoba mencari kursus tersebut dan kuliah lain tentang malware, tetapi hampir tidak ada informasi publik; meninggalkan pertanyaan apakah rekaman kuliah resmi atau catatannya tersedia online
Bertanya apakah ada yang tahu hubungan antara serangan Training Solo dan kerentanan kali ini
Mempertanyakan mengapa penjelasan tentang patch microcode chipset hanya menyebut Windows, lalu menanyakan bagaimana dengan pengguna Linux
Dijelaskan bahwa kernel Linux juga sudah mendukung pemuatan microcode sejak lama, tetapi Intel harus mendistribusikan file microcode agar tiap distro dapat memperbaruinya, dan itu perlu disertakan dalam pembaruan sistem
Dijelaskan bahwa Intel memublikasikan pembaruan microcode untuk Linux di GitHub, jadi tiap distro otomatis mengambil dari sana lalu mendistribusikannya; apakah kerentanan ini benar-benar sudah ditambal, penulis komentar mengaku tidak cukup ahli untuk memastikannya
Membagikan tautan advisori keamanan resmi Intel
Ada pendapat yang bertanya apakah CPU AMD juga memiliki kerentanan serupa, sambil menyoroti bahwa mekanisme teknis seperti branch prediction adalah akar penyebab kerentanan keamanan CPU, dan bertanya bagaimana AMD menghindari kerentanan semacam ini
Menyampaikan jawaban dari ringkasan blog peneliti bahwa kerentanan Branch Privilege Injection kali ini tidak memengaruhi sistem AMD maupun ARM
Intinya, AMD bukan berarti sepenuhnya lolos dari masalah seperti ini; seperti Spectre dan Meltdown, cakupan tiap kerentanan berbeda-beda, dan walaupun yang ini khusus Intel, AMD juga pernah terekspos pada kerentanan satu keluarga yang sama (misalnya Spectre)
Dengan penjelasan yang agak teliti, ditegaskan bahwa speculative execution sendiri bukanlah kerentanan, melainkan mekanisme yang wajib ada pada CPU modern; kerumitan internalnya sangat tinggi hingga cacat di dalamnya sulit ditemukan, sehingga ada kemungkinan bug serupa juga ada pada AMD dan ARM. Ada kekhawatiran bahwa satu-satunya cara benar-benar memperbaikinya adalah mengakui kenyataan bahwa isolasi kode pada sistem modern mustahil dilakukan, dan ini akan fatal bagi model bisnis sebagian perusahaan besar
Sebagai langkah mitigasi untuk kerentanan ini, tampaknya bisa diselesaikan mirip masalah di perangkat lunak dengan menyimpan level privilege sebagai snapshot pada saat pembaruan branch prediction dan meneruskan nilai itu bersamanya
Dengan nada bercanda, disebutkan bahwa andai prediktor branch CPU bisa langsung memeriksa batas buffer dan informasi privilege kode, pencegahannya akan mudah; tetapi informasi seperti itu menuntut penambahan informasi penting pada pointer
Ada pendapat bahwa cakupan isu ini perlu dipahami lebih jelas, tetapi serangan kerentanan melalui speculative execution pada praktiknya memerlukan persiapan awal yang sangat besar dan tanpa hak menjalankan kode secara langsung tidak terlalu berarti; membocorkan informasi sewenang-wenang dari browser lewat kode JS arbitrer itu tidak mungkin, dan penulis sendiri menonaktifkan semua mitigasi demi peningkatan performa
Merekomendasikan arsitektur CHERI
Menunjukkan bahwa mengubah struktur pointer saja tidak cukup, lalu menyebut pendekatan lama x86 segmentation (80286) yang benar-benar memberi informasi batas alamat pada setiap akses memori di perangkat keras; sistem seperti itu pun pada akhirnya memiliki keterbatasan yang sama karena perangkat lunak tetap harus menangani informasi batas dengan tepat
Bertanya apakah pada titik ini patch untuk kerentanan tersebut (atau microcode terkait) sudah diterapkan pada semua sistem operasi utama
Dijawab ya, dan tanggal embargo informasi adalah hari ini (13 Mei)