Peneliti keamanan telah menemukan kerentanan lain yang mempengaruhi banyak mikroprosesor AMD dan Intel yang lebih tua yang dapat melewati pertahanan saat ini dan menghasilkan serangan eksekusi spekulatif berbasis Spectre.

Dijuluki rebleed oleh peneliti ETH Zurich Johannes Wikner dan Kaveh Razavi, masalah dilacak sebagai CVE-2022-29900 (AMD) dan CVE-2022-29901 (Intel), dengan pembuat chip merilis mitigasi perangkat lunak sebagai bagian dari proses pengungkapan terkoordinasi.

Retbleed juga merupakan tambahan terbaru untuk kelas serangan Spectre yang dikenal sebagai Spectre-BTI (CVE-2017-5715 atau Spectre-V2), yang memanfaatkan efek samping dari teknik pengoptimalan yang disebut eksekusi spekulatif melalui saluran samping waktu untuk mengelabui program untuk mengakses lokasi sewenang-wenang di ruang memorinya dan membocorkan informasi pribadi.

Eksekusi spekulatif mencoba untuk mengisi saluran instruksi suatu program dengan memprediksi instruksi mana yang akan dieksekusi berikutnya untuk mendapatkan peningkatan kinerja, sementara juga membatalkan hasil eksekusi jika tebakan ternyata salah.

Serangan seperti Spectre memanfaatkan fakta bahwa instruksi yang dieksekusi secara salah ini — akibat dari salah prediksi — pasti akan meninggalkan jejak eksekusi di cache, menghasilkan skenario di mana program jahat dapat mengelabui prosesor agar mengeksekusi jalur kode yang salah dan menyimpulkan data rahasia yang berkaitan dengan korban.

Dengan kata lain, Spectre adalah contoh serangan eksekusi sementara, yang bergantung pada kelemahan desain perangkat keras untuk “mempengaruhi” urutan instruksi mana yang dieksekusi secara spekulatif dan membocorkan kunci enkripsi atau kata sandi dari dalam ruang alamat memori korban.

Ini, pada gilirannya, dicapai melalui saluran samping mikroarsitektur seperti Flush+Reload yang mengukur waktu yang dibutuhkan untuk melakukan pembacaan memori dari cache yang dibagikan dengan korban, tetapi tidak sebelum mem-flush beberapa memori bersama, yang menghasilkan pembacaan cepat atau lambat. tergantung pada apakah korban mengakses saluran cache yang dipantau sejak diusir.

Sementara perlindungan seperti Retpoline (alias “return trampoline”) telah dirancang untuk mencegah injeksi target cabang (BTI), Retbleed dirancang untuk mengatasi tindakan balasan ini dan mencapai eksekusi kode spekulatif.

CPU AMD dan Intel

“Retpolines bekerja dengan mengganti lompatan tidak langsung [branches where the branch target is determined at runtime] dan menelepon dengan balasan,” para peneliti menjelaskan.

“Retbleed bertujuan untuk membajak instruksi pengembalian di kernel untuk mendapatkan eksekusi kode spekulatif arbitrer dalam konteks kernel. Dengan kontrol yang cukup atas register dan/atau memori pada instruksi pengembalian korban, penyerang dapat membocorkan data kernel arbitrer.”

Keamanan cyber

Ide intinya, singkatnya, adalah memperlakukan instruksi pengembalian sebagai vektor serangan untuk eksekusi spekulasi dan memaksa pengembalian untuk diprediksi seperti cabang tidak langsung, yang secara efektif membatalkan perlindungan yang ditawarkan oleh Retpoline.

Sebagai lini pertahanan baru, AMD telah memperkenalkan apa yang disebut sebagai Jmp2Ret, sementara Intel telah merekomendasikan penggunaan Indirect Branch Restricted Speculation (eIBRS) yang disempurnakan untuk mengatasi potensi kerentanan bahkan jika mitigasi Retpoline diterapkan.

“Sistem operasi Windows menggunakan IBRS secara default, jadi tidak ada pembaruan yang diperlukan,” kata Intel dalam sebuah penasehat, mencatat bahwa itu bekerja dengan komunitas Linux untuk menyediakan pembaruan perangkat lunak untuk kekurangan tersebut.