Varian Baru Spectre v2 Dapat Membocorkan Hash Password Root Linux dalam Hitungan Menit

Peneliti keamanan dari VUSec di Vrije Universiteit Amsterdam dan Scuola Superiore Sant’Anna menemukan varian baru serangan Spectre v2 yang dapat digunakan untuk membocorkan hash password root pada sistem Linux dalam hitungan menit.
Serangan yang disebut Branch Target Reuse (BTR) memanfaatkan informasi lama yang masih tersimpan di branch predictor prosesor setelah sebuah mesin Just-In-Time (JIT) menggunakan kembali lokasi memori untuk kode baru.
Dalam pengujian terhadap komputer berbasis Intel, peneliti berhasil memperoleh hash password root dari proses Linux hanya dalam beberapa menit. Temuan ini menunjukkan bahwa serangan speculative execution berbasis self-modifying code masih dapat diterapkan pada lingkungan nyata, meskipun sebelumnya teknik semacam ini dianggap sulit dilakukan pada JIT modern.
BTR Memanfaatkan Informasi Lama pada Branch Predictor
Spectre v2 merupakan keluarga serangan side-channel yang memanfaatkan mekanisme speculative execution pada prosesor.
CPU menggunakan branch predictor untuk memperkirakan tujuan instruksi percabangan sebelum hasil sebenarnya diketahui. Jika prediksi tersebut salah, CPU dapat membatalkan hasil eksekusi normal. Namun, jejak yang ditinggalkan pada cache dapat dimanfaatkan untuk memperoleh informasi tertentu.
BTR menggunakan konsep serupa, tetapi menambahkan kondisi ketika kode lama pada suatu alamat memori telah digantikan oleh kode baru.
Ketika mesin JIT membebaskan kode lama dan menempatkan kode baru pada alamat yang sama, branch predictor prosesor dapat tetap menyimpan prediksi tujuan percabangan dari kode sebelumnya.
Pada kondisi tertentu, prediksi lama tersebut kemudian digunakan ketika CPU menjalankan kode baru.
Serangan Memanfaatkan Kode yang Diganti
Menurut peneliti, inti serangan BTR berada pada ketidaksinkronan antara kode yang saat ini berada di memori dan informasi yang masih tersimpan di branch predictor.
Penyerang terlebih dahulu dapat memengaruhi prediksi branch menggunakan kode tertentu. Setelah kode tersebut dibebaskan, lokasi memorinya digunakan kembali untuk kode berbeda.
Ketika CPU kemudian menemukan indirect branch, prosesor dapat menggunakan informasi lama dari branch predictor dan secara speculative menjalankan instruksi dari lokasi yang sebenarnya tidak sesuai dengan alur eksekusi normal.
Proses tersebut memungkinkan instruksi yang dikendalikan penyerang dijalankan secara transient.
Jejak eksekusi kemudian dapat diamati melalui efek pada cache CPU.
Hash Password Root Berhasil Dibocorkan
Dalam eksperimen terhadap Linux, peneliti menggunakan program classic BPF (cBPF) tanpa hak istimewa untuk melatih branch prediction.
Setelah program awal dibebaskan, peneliti menempatkan program berbeda pada lokasi memori yang sama. Prediksi branch yang masih tersisa kemudian menyebabkan CPU menjalankan instruksi buatan penyerang pada offset yang tidak sesuai.
Instruksi tersebut digunakan untuk mengakses data selama speculative execution. Perubahan yang dihasilkan pada cache kemudian dapat diukur untuk menyimpulkan data secara bertahap.
Peneliti selanjutnya menemukan proses su yang sedang berjalan dan mengambil hash password root dari memorinya.
Kecepatan kebocoran yang dicapai mencapai sekitar delapan byte per detik.
Dalam pengujian end-to-end, peneliti menyatakan hash password berhasil diperoleh dalam rata-rata sekitar tiga menit pada Intel Raptor Cove dan lima menit pada Lion Cove.
Hash Bukan Password dalam Bentuk Teks Biasa
Meskipun hasil serangan tersebut sangat penting, hash password yang berhasil diperoleh bukan password dalam bentuk plaintext.
Hash masih perlu dipecahkan untuk mendapatkan password aslinya. Penyerang dapat mencoba melakukan cracking secara offline atau menggunakan sumber daya komputasi cloud.
Keberhasilan proses tersebut bergantung pada algoritma hashing yang digunakan serta kekuatan password korban.
Dengan demikian, memperoleh hash tidak otomatis berarti penyerang langsung mengetahui password root. Namun, hash tetap merupakan informasi sensitif yang dapat menjadi target cracking lebih lanjut.
Tetap Berhasil dengan Constant Blinding
Peneliti juga menguji BTR terhadap Linux cBPF dengan fitur hardening constant blinding yang diaktifkan.
Dalam konfigurasi tersebut, teknik eksploitasi disesuaikan agar instruksi yang dikendalikan penyerang dapat dikodekan melalui jump offset. Peneliti tetap berhasil mengambil hash dalam waktu kurang dari lima menit dalam demonstrasi tersebut.
Temuan ini menunjukkan bahwa salah satu mekanisme hardening yang diuji tidak sepenuhnya menghilangkan teknik serangan BTR.
Firefox dan GraalVM Juga Diuji
Selain Linux cBPF, peneliti memeriksa dua lingkungan JIT lainnya, yaitu Firefox SpiderMonkey dan Oracle GraalVM.
Pada SpiderMonkey, proof-of-concept VUSec menunjukkan bahwa prediksi branch lama memang dapat bertahan setelah kode digunakan kembali. Namun, penelitian tersebut belum menghasilkan eksploitasi browser secara lengkap.
Pada GraalVM, peneliti menemukan metode untuk secara speculative melewati pemeriksaan sandbox. Namun, aktivitas mesin tersebut membersihkan prediksi branch sebelum serangan dapat diselesaikan dalam eksperimen.
Dengan demikian, demonstrasi eksploitasi end-to-end yang dijelaskan dalam penelitian berfokus pada Linux cBPF.
CVE-2026-64507 dan CVE-2026-64508
Peneliti telah memberi tahu vendor yang terdampak mengenai temuan tersebut. Kerentanan terkait telah mendapatkan identifier CVE-2026-64507 dan CVE-2026-64508.
Perbaikan untuk masalah yang berkaitan dengan Linux telah digabungkan ke dalam Linux kernel.
Para peneliti menyatakan bahwa sebagian besar hardware modern berpotensi terdampak karena indirect branch prediction merupakan mekanisme yang melekat pada prosesor modern.
Dalam pengujian mereka, perilaku yang diperlukan untuk BTR dikonfirmasi pada CPU dari Intel, AMD, dan Arm.
Namun, demonstrasi pengambilan hash password root yang dijelaskan dalam penelitian dilakukan pada sistem Linux berbasis prosesor Intel.
Mengapa Branch Predictor Menjadi Masalah
Branch predictor dirancang untuk meningkatkan performa CPU dengan memperkirakan jalur eksekusi yang kemungkinan akan digunakan.
Masalah yang dimanfaatkan BTR muncul ketika prediksi tersebut tidak sepenuhnya mengikuti kondisi kode terbaru setelah terjadi penggunaan kembali memori.
Peneliti menyebut tidak ada mekanisme pada CPU saat ini yang sepenuhnya menjaga branch predictor agar selalu sinkron dengan kondisi aktual kode yang berada pada alamat tersebut.
Karena itu, mitigasi terhadap serangan semacam ini membutuhkan kombinasi perbaikan pada software, kernel, compiler atau JIT, serta pada akhirnya desain prosesor.
Pengguna Linux Disarankan Memperbarui Kernel
Bagi pengguna Linux, langkah mitigasi utama adalah memperbarui kernel ke versi terbaru yang telah mendapatkan perbaikan terkait.
Administrator juga sebaiknya memastikan firmware dan pembaruan sistem operasi diterapkan secara rutin, khususnya pada server yang menjalankan workload multi-tenant atau lingkungan yang memungkinkan kode tidak tepercaya berjalan pada mesin yang sama.
Temuan BTR kembali menunjukkan bahwa serangan speculative execution belum sepenuhnya menjadi masalah masa lalu. Teknik yang memanfaatkan interaksi antara JIT, branch predictor, cache, dan speculative execution masih dapat menghasilkan kebocoran data sensitif ketika kondisi tertentu terpenuhi.
Sumber: VUSec








