AMD telah mengkonfirmasi potensi kerentanan CPU AMD Zen 3 terhadap serangan Spectre-STL

AMD telah menerbitkan laporan yang menganalisis keamanan teknologi optimasi PSF (Predictive Store Forwarding) yang diterapkan pada prosesor seri Zen 3. Studi ini secara teoritis mengkonfirmasi penerapan metode serangan Spectre-STL (Spectre-v4), yang diidentifikasi pada Mei 2018, untuk teknologi PSF, namun dalam praktiknya, belum ditemukan templat kode yang mampu menyebabkan serangan dan bahaya keseluruhan dinilai tidak signifikan.

Ingatlah bahwa serangan Spectre-v4 (Speculative Store Bypass) didasarkan pada pemulihan data yang telah disimpan di cache prosesor setelah membuang hasil eksekusi operasi spekulatif saat memproses operasi tulis dan baca bergantian menggunakan pengalamatan tidak langsung. Ketika operasi baca mengikuti operasi tulis (misalnya, mov [rbx + rcx], 0x0; mov rax, [rdx + rsi]), offset alamat baca mungkin sudah diketahui karena operasi serupa sedang dilakukan (operasi baca adalah dilakukan lebih sering dan pembacaan dapat dilakukan dari cache) dan prosesor secara spekulatif dapat melakukan pembacaan sebelum penulisan tanpa menunggu offset tipuan penulisan dihitung.

Fitur ini memungkinkan instruksi baca untuk mengakses nilai lama di beberapa alamat saat operasi penyimpanan belum selesai. Jika ada kesalahan prediksi, operasi spekulatif yang gagal akan dibuang, tetapi jejak eksekusinya akan tetap ada di cache prosesor dan dapat diambil dengan salah satu metode untuk menentukan isi cache berdasarkan analisis perubahan akses. waktu untuk data yang di-cache dan tidak di-cache.

Ditambahkan ke prosesor AMD Zen 3, PSF mengoptimalkan STLF (Store-To-Load-Forwarding), yang melakukan operasi baca secara spekulatif dengan memprediksi hubungan antara operasi baca dan tulis. Saat menggunakan STLF klasik, prosesor melakukan operasi "memuat" pada data yang diteruskan langsung dari perintah "penyimpanan" sebelumnya, tanpa menunggu hasilnya benar-benar ditulis ke memori, tetapi memastikan bahwa alamat yang digunakan dalam "memuat" dan perintah "simpan" cocok. Pengoptimalan PSF membuat pemeriksaan alamat menjadi spekulatif dan melakukan operasi "pemuatan" sebelum informasi alamat dihitung jika pasangan penyimpanan/pemuatan yang memanipulasi satu alamat sebelumnya telah dieksekusi. Jika prediksi gagal, status akan dibatalkan, namun data tetap berada di cache.

Serangan terhadap PSF hanya mungkin dilakukan dalam satu tingkat hak istimewa, hanya mencakup konteks proses saat ini dan diblokir oleh metode isolasi ruang alamat atau mekanisme sandbox perangkat keras. Dalam hal ini, metode sandboxing perangkat lunak dalam proses berpotensi terpengaruh oleh masalah tersebut. Serangan ini menimbulkan ancaman terhadap sistem seperti browser, mesin virtual eksekusi kode, dan JIT yang mengeksekusi kode pihak ketiga dalam satu proses (serangan ini dapat memungkinkan kode sandbox yang tidak tepercaya mendapatkan akses ke data proses lainnya).

AMD telah menyediakan sejumlah metode untuk menonaktifkan PSF secara menyeluruh atau selektif, namun mengingat risiko yang dapat diabaikan untuk sebagian besar aplikasi, AMD merekomendasikan agar pengoptimalan ini tidak dinonaktifkan secara default. Untuk melindungi proses secara selektif yang mengisolasi proses yang mengeksekusi kode yang tidak dapat dipercaya, diusulkan untuk menonaktifkan PSF dengan mengatur bit MSR “SSBD” dan “PSFD”, termasuk untuk masing-masing thread. Patch telah disiapkan untuk kernel Linux dengan implementasi opsi baris perintah “psfd” dan “nopsfd” yang mengontrol bagaimana PSF dihidupkan dan dimatikan.

Sumber: opennet.ru

Tambah komentar