Mereka menemukan kerentanan eksekusi spekulatif yang memengaruhi AMD

Proyek baru-baru ini Grsecurity diketahui melalui publikasi detail dan demo metode serangan untuk kerentanan baru (sudah terdaftar sebagai CVE-2021-26341) di prosesor AMD yang terkait dengan eksekusi instruksi spekulatif setelah operasi lompat maju tanpa syarat.

Kerentanan memungkinkan prosesor untuk memproses secara spekulatif instruksi segera setelah instruksi lompat (SLS) dalam memori selama eksekusi spekulatif. Pada saat yang sama, pengoptimalan tersebut tidak hanya berfungsi untuk operator lompatan bersyarat, tetapi juga untuk instruksi yang melibatkan lompatan langsung tanpa syarat, seperti JMP, RET, dan CALL.

Instruksi cabang tanpa syarat dapat diikuti oleh data arbitrer yang tidak dimaksudkan untuk dieksekusi. Setelah menentukan bahwa cabang tidak melibatkan eksekusi pernyataan berikutnya, prosesor hanya memutar kembali keadaan dan mengabaikan eksekusi spekulatif, tetapi jejak eksekusi instruksi tetap berada di cache umum dan tersedia untuk analisis menggunakan metode pengambilan saluran samping.

AMD memberikan pembaruan untuk mitigasi yang direkomendasikan, mitigasi G-5, dalam whitepaper "Teknik Perangkat Lunak untuk Mengelola Spekulasi dalam Prosesor AMD". Mitigasi G-5 membantu mengatasi potensi kerentanan yang terkait dengan perilaku spekulatif dari instruksi cabang.

Prosesor AMD dapat mengeksekusi instruksi secara sementara mengikuti cabang penerusan tanpa syarat yang dapat mengakibatkan aktivitas cache

Seperti halnya eksploitasi Spectre-v1, serangan membutuhkan kehadiran urutan tertentu instruksi (gadget) di kernel, yang mengarah ke eksekusi spekulatif.

Dalam hal ini, memblokir kerentanan bermuara pada mengidentifikasi perangkat tersebut dalam kode dan menambahkan instruksi tambahan kepada mereka yang memblokir eksekusi spekulatif. Kondisi untuk eksekusi spekulatif juga dapat dibuat menggunakan program non-istimewa yang berjalan di mesin virtual eBPF.

Penyelidikan ini menghasilkan penemuan kerentanan baru, CVE-2021-26341 [1] , yang akan kita bahas secara rinci dalam artikel ini. Seperti biasa, kami akan fokus pada aspek teknis dari kerentanan, mitigasi yang disarankan oleh DAL, dan aspek eksploitasi.

Untuk memblokir kemampuan membuat perangkat menggunakan eBPF, disarankan untuk menonaktifkan akses tanpa hak ke eBPF didalam sistem ("sysctl -w kernel.unprivileged_bpf_disabled=1").

Kerentanan mempengaruhi prosesor berdasarkan mikroarsitektur Zen1 dan Zen2:

Meja tulis

  • Prosesor AMD Athlon™ X4
  • Prosesor AMD Ryzen™ Threadripper™ PRO
  • Prosesor AMD Ryzen™ Threadripper™ Generasi ke-XNUMX
  • Prosesor AMD Ryzen™ Threadripper™ Generasi ke-XNUMX
  • APU AMD A-series Generasi ke-XNUMX
  • Prosesor Desktop AMD Ryzen™ 2000 Series
  • Prosesor Desktop AMD Ryzen™ 3000 Series
  • Prosesor Desktop AMD Ryzen™ 4000 Series dengan Grafis Radeon™

Mobil

  • Prosesor Mobile AMD Ryzen™ 2000 Series
  • Prosesor Mobile AMD Athlon™ 3000 Series dengan Radeon™ Graphics
  • Prosesor Mobile AMD Ryzen™ 3000 Series atau Prosesor Mobile AMD Ryzen™ Generasi ke-XNUMX dengan Grafis Radeon™
  • Prosesor Mobile AMD Ryzen™ 4000 Series dengan Radeon™ Graphics
  • Prosesor Mobile AMD Ryzen™ 5000 Series dengan Radeon™ Graphics

Chromebook

  • Prosesor Mobile AMD Athlon™ dengan Grafis Radeon™

Server

  • Prosesor AMD EPYC™ Generasi Pertama
  • Prosesor AMD EPYC™ Generasi ke-XNUMX

Disebutkan bahwa jika serangan itu berhasil, kerentanan memungkinkan konten area memori arbitrer ditentukan.

Karena kerentanan ini, dimungkinkan untuk mengidentifikasi konstruksi kode jinak yang membentuk perangkat SLS terbatas tetapi berpotensi dapat dieksploitasi pada CPU yang terpengaruh. Seperti yang ditunjukkan dengan contoh eBPF, kerentanan juga dapat dieksploitasi dengan perangkat yang dibuat dengan tangan dan disuntikkan sendiri. Metode yang disajikan dapat digunakan, misalnya, untuk memecahkan mitigasi KASLR dari kernel Linux.

Misalnya, peneliti telah menyiapkan eksploit yang memungkinkan Anda menentukan tata letak alamat dan mem-bypass mekanisme perlindungan KASLR (kernel memory randomization) dengan mengeksekusi kode tanpa hak istimewa di subsistem kernel eBPF, selain skenario serangan lain yang dapat membocorkan isi memori kernel tidak dikesampingkan.

Akhirnya jika Anda tertarik untuk mengetahui lebih banyak tentangnya, Anda dapat memeriksa detailnya Di tautan berikut.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.