Serangan lintas-cache Kernel Linux baru bernama SLUBStick memiliki tingkat keberhasilan 99% dalam mengubah kerentanan tumpukan terbatas menjadi kemampuan baca-tulis memori yang sembarangan, yang memungkinkan para peneliti meningkatkan hak istimewa atau keluar dari kontainer.
Penemuan ini berasal dari tim peneliti dari Universitas Teknologi Graz yang mendemonstrasikan serangan pada kernel Linux versi 5.9 dan 6.2 (terbaru) menggunakan sembilan CVE yang ada dalam sistem 32-bit dan 64-bit, yang menunjukkan fleksibilitas tinggi.
Selain itu, serangan tersebut berhasil dengan semua pertahanan kernel modern seperti Supervisor Mode Execution Prevention (SMEP), Supervisor Mode Access Prevention (SMAP), dan Kernel Address Space Layout Randomization (KASLR) yang aktif.
SLUBStick akan disajikan secara rinci di acara mendatang Simposium Keamanan Usenix konferensi akhir bulan ini. Para peneliti akan memamerkan peningkatan hak istimewa dan pelarian kontainer di Linux terbaru dengan pertahanan canggih yang diaktifkan.
Sementara itu, makalah teknis yang diterbitkan berisi semua rincian tentang serangan dan skenario eksploitasi potensial.
Detail SLUBStick
Salah satu cara kernel Linux mengelola memori secara efisien dan aman adalah dengan mengalokasikan dan membatalkan alokasi potongan memori, yang disebut “slab,” untuk berbagai jenis struktur data.
Cacat dalam proses manajemen memori ini dapat memungkinkan penyerang merusak atau memanipulasi struktur data, yang disebut serangan lintas-cache. Namun, serangan ini efektif sekitar 40% dari waktu dan biasanya menyebabkan sistem mogok cepat atau lambat.
SLUBStick mengeksploitasi kerentanan tumpukan, seperti penulisan bebas ganda, pengguna-setelah-bebas, atau di luar batas, untuk memanipulasi proses alokasi memori.

Sumber: stefangast.eu
Berikutnya, ia menggunakan saluran sisi pengaturan waktu untuk menentukan momen yang tepat dari alokasi/dealokasi potongan memori, yang memungkinkan penyerang untuk memprediksi dan mengendalikan penggunaan kembali memori.
Menggunakan informasi waktu ini meningkatkan keberhasilan eksploitasi perubahan silang hingga 99%, yang membuat SLUBStick sangat praktis.

Sumber: stefangast.eu
Konversi kelemahan tumpukan menjadi primitif baca-dan-tulis memori arbitrer dilakukan dalam tiga langkah:
- Bebaskan potongan memori tertentu dan tunggu kernel untuk menggunakannya kembali.
- Alokasikan kembali potongan-potongan ini dengan cara yang terkendali, pastikan potongan-potongan tersebut digunakan kembali untuk struktur data penting seperti tabel halaman.
- Setelah direklamasi, penyerang menimpa entri tabel halaman, mendapatkan kemampuan untuk membaca dan menulis lokasi memori mana pun.

Sumber: stefangast.eu
Dampak dunia nyata
Seperti kebanyakan serangan yang melibatkan saluran samping, SLUBStick memerlukan akses lokal pada mesin target dengan kemampuan eksekusi kode. Lebih jauh lagi, serangan tersebut memerlukan keberadaan kerentanan heap di kernel Linux, yang kemudian akan digunakan untuk memperoleh akses baca dan tulis ke memori.
Meskipun hal ini mungkin membuat serangan tampak tidak praktis, hal ini memberikan beberapa manfaat bagi penyerang.
Bahkan untuk penyerang dengan kemampuan eksekusi kode, SLUBStick menyediakan kemampuan untuk mencapai peningkatan hak istimewa, melewati pertahanan kernel, melakukan pelarian kontainer, atau menggunakannya sebagai bagian dari rantai serangan yang kompleks.
Peningkatan hak istimewa dapat digunakan untuk meningkatkan hak istimewa ke root, yang memungkinkan operasi tak terbatas, sementara pelarian kontainer dapat digunakan untuk keluar dari lingkungan kotak pasir dan mengakses sistem host.
Selain itu, pada fase pasca-eksploitasi, SLUBStick dapat memodifikasi struktur kernel atau hook untuk mempertahankan persistensi, sehingga malware semakin sulit dideteksi oleh para pembela.

Sumber: stefangast.eu
Mereka yang ingin menyelami lebih dalam SLUBStick dan bereksperimen dengan eksploitasi yang digunakan oleh para peneliti Universitas Graz dapat menemukannya di repositori GitHub peneliti.






