SWAPGS kerentanan eksekusi spekulatif baru

SWAPGS-eksploitasi-2

Los Peneliti Bitdefender telah mengidentifikasi kerentanan baru dalam mekanisme eksekusi spekulatif dari instruksi dalam prosesor modern, yang menerima nama SWAPGS, A sesuai dengan nama instruksi prosesor yang menyebabkan masalah.

Kerentanan memungkinkan penyerang tanpa hak istimewa untuk menentukan konten dari area memori kernel atau menjalankan mesin virtual. Masalah ini dikonfirmasi pada prosesor Intel (x86_64) dan sebagian memengaruhi prosesor AMD yang vektor serangan utamanya tidak muncul.

Metode anti-kerentanan Spectre and Meltdown yang sebelumnya diterapkan tidak melindungi dari serangan SWAPGS menggunakan prosesor Intel, tetapi solusi untuk Linux, ChromeOS, Android dan Windows telah diusulkan.

Kerentanan tersebut termasuk dalam kelas Spectre v1 dan didasarkan pada gagasan untuk mengambil data dari cache prosesor yang tersisa setelah eksekusi instruksi spekulatif.

Blok prediksi konversi dari CPU modern menggunakan eksekusi proaktif dari beberapa instruksi, yang lebih mungkin dieksekusi, untuk meningkatkan kinerja, tetapi tanpa menunggu kalkulasi dari semua faktor yang menentukan eksekusinya (misalnya, ketika instruksi kondisi transisi atau parameter akses belum dihitung).

Jika perkiraan tidak dikonfirmasi, prosesor akan membuang hasil dari proses spekulatif, tetapi data yang diproses selama proses disimpan dalam cache oleh prosesor dan dapat dipulihkan menggunakan metode untuk menentukan konten cache di seluruh saluran. Pihak ketiga yang menganalisis perubahan waktu akses ke data cache dan non-cache.

Tentang SWAPGS

Keunikan dari serangan baru ini adalah penggunaan kebocoran yang muncul selama eksekusi spekulatif dari instruksi SWAPGS, yang digunakan dalam sistem operasi untuk menggantikan nilai register GS saat kontrol ditransfer dari ruang pengguna ke kernel sistem operasi (nilai GS yang digunakan dalam ruang pengguna diganti dengan nilai yang digunakan dalam operasi kernel).

Kernel Linux di GS menyimpan penunjuk per_cpu, yang digunakan untuk mengakses data kernel, dan menunjuk ke TLS (Thread Local Storage) di ruang pengguna.

Untuk mengecualikan pemanggilan ganda instruksi SWAPGS setelah akses kernel berulang dari ruang kernel atau ketika menjalankan kode yang tidak memerlukan penggantian register GS, pemeriksaan dan transisi bersyarat dilakukan sebelum instruksi.

Mekanisme eksekusi spekulatif mendahului eksekusi kode dengan instruksi SWAPGS, tanpa menunggu hasil verifikasi, dan jika cabang yang dipilih tidak dikonfirmasi, hasilnya akan dibuang.

Oleh karena itu, situasi mungkin muncul ketika cabang yang menentukan pelaksanaan SWAPGS dipilih secara spekulatif, tetapi selama eksekusi spekulatif, nilai register GS akan diubah oleh instruksi SWAPGS dan akan digunakan dalam operasi yang bergantung pada memori yang di-cache di CPU.

Para peneliti mengusulkan dua skenario serangan untuk itu prototipe exploit disiapkan.

  • Skenario pertama didasarkan pada situasi dimana instruksi SWAPGS tidak dieksekusi secara spekulatif, padahal digunakan dalam eksekusi sebenarnya, dan skenario kedua sebaliknya, ketika instruksi SWAPGS dijalankan secara spekulatif, padahal seharusnya tidak.
  • Untuk setiap skenario, ada dua opsi operasional: penyerang dapat menentukan nilai di alamat tertentu di area inti, dan penyerang dapat mencari nilai tertentu di alamat acak di inti.

Solusinya membutuhkan penginstalan pembaruan kernel pada lingkungan host dan tamu, diikuti dengan boot ulang sistem. Untuk menonaktifkan perlindungan di Linux, Anda dapat menggunakan opsi "nospectre_v1", yang juga menonaktifkan tindakan untuk memblokir kerentanan SWAPGS.

Solusinya tersedia sebagai tambalan untuk kernel Linux, yang sudah termasuk dalam versi 4.19.65, 5.2.7, 4.14.137, 4.9.188 dan 4.4.188, sedangkan untuk distribusi Linux yang berbeda perbaikan terkait akan tiba selama periode ini dan minggu berikutnya.


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.