SWAPGS kerentanan pelaksanaan spekulatif baru

SWAPGS-eksploitasi-2

The Penyelidik Bitdefender telah mengenal pasti kerentanan baru dalam mekanisme pelaksanaan arahan spekulatif dalam pemproses moden, yang menerima nama SWAPGS, Sesuai dengan nama arahan pemproses yang menyebabkan masalah.

Kerentanan membolehkan penyerang yang tidak mempunyai hak untuk menentukan kandungan kawasan memori kernel atau menjalankan mesin maya. Masalahnya disahkan pada pemproses Intel (x86_64) dan sebahagiannya mempengaruhi pemproses AMD yang mana vektor serangan utama tidak muncul.

Kaedah anti-kerentanan Specter and Meltdown yang dilaksanakan sebelum ini tidak melindungi daripada serangan SWAPGS menggunakan pemproses Intel, tetapi penyelesaian untuk Linux, ChromeOS, Android dan Windows telah dicadangkan.

Kerentanan tergolong dalam kelas Specter v1 dan didasarkan pada idea mengambil data dari cache pemproses yang masih ada setelah pelaksanaan arahan spekulatif.

Blok ramalan penukaran CPU moden menggunakan pelaksanaan proaktif beberapa arahan, yang lebih mungkin dilaksanakan, untuk meningkatkan prestasi, tetapi tanpa menunggu pengiraan semua faktor yang menentukan pelaksanaannya (misalnya, ketika petunjuk keadaan peralihan atau parameter akses belum dikira).

Sekiranya ramalan tidak disahkan, pemproses membuang hasil jangkaan spekulatif, tetapi data yang diproses semasa dijalankan di-cache oleh pemproses dan dapat dipulihkan menggunakan kaedah untuk menentukan kandungan cache merentasi saluran. Dari pihak ketiga yang menganalisis perubahan dalam masa akses ke data cache dan bukan cache.

Mengenai SWAPGS

Keanehan serangan baru adalah penggunaan kebocoran yang timbul semasa pelaksanaan spekulatif arahan SWAPGS, yang digunakan dalam sistem operasi untuk menggantikan nilai daftar GS ketika kawalan dipindahkan dari ruang pengguna ke kernel sistem operasi (nilai GS yang digunakan di ruang pengguna digantikan oleh nilai yang digunakan dalam operasi kernel).

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

Untuk mengecualikan arahan dua kali arahan SWAPGS setelah akses kernel berulang dari ruang kernel atau ketika menjalankan kod yang tidak memerlukan penggantian daftar GS, pemeriksaan dan peralihan bersyarat dilakukan sebelum arahan.

Mekanisme pelaksanaan spekulatif mendahului pelaksanaan kod dengan arahan SWAPGS, tanpa menunggu hasil pengesahan, dan jika cabang yang dipilih tidak disahkan, ia akan membuang hasilnya.

Oleh itu, keadaan mungkin timbul apabila cabang yang menentukan pelaksanaan SWAPGS dipilih secara spekulatif, tetapi selama pelaksanaan spekulatif nilai register GS akan diubah oleh instruksi SWAPGS dan akan digunakan dalam operasi yang bergantung pada memori yang disimpan dalam CPU.

Para penyelidik mencadangkan dua senario serangan yang prototaip eksploitasi disediakan.

  • Senario pertama didasarkan pada situasi di mana instruksi SWAPGS tidak dilaksanakan secara spekulatif, walaupun digunakan dalam pelaksanaan sebenarnya, dan senario kedua adalah sebaliknya, ketika instruksi SWAPGS dilaksanakan secara spekulatif, walaupun sebenarnya tidak seharusnya.
  • Untuk setiap senario, terdapat dua pilihan operasi: penyerang dapat menentukan nilai pada alamat tertentu di kawasan inti, dan penyerang dapat mencari nilai tertentu pada alamat rawak di inti.

Penyelesaiannya memerlukan pemasangan pembaruan kernel di kedua-dua persekitaran host dan tetamu, diikuti dengan sistem reboot. Untuk mematikan perlindungan di Linux, anda boleh menggunakan pilihan "nospectre_v1", yang juga menonaktifkan langkah-langkah untuk menyekat kerentanan SWAPGS.

Penyelesaiannya tersedia sebagai patch untuk kernel Linux, yang sudah disertakan dalam versi 4.19.65, 5.2.7, 4.14.137, 4.9.188 dan 4.4.188, sementara untuk pengedaran Linux yang berlainan, pembetulan yang berkaitan akan dilakukan dalam jangka waktu ini dan minggu berikutnya.


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.