Dua serangan ke atas mekanisme ramalan saluran cache dalam pemproses AMD

Sekumpulan penyelidik dari Universiti Teknologi Graz (Austria), sebelum ini dikenali untuk membangunkan kaedah serangan MDS, NetSpectre, Throwammer ΠΈ ZombieLoad, menjalankan penyelidikan terhadap pengoptimuman perkakasan khusus untuk pemproses AMD dan telah membangunkan dua kaedah baharu serangan saluran sisi yang memanipulasi kebocoran data semasa operasi mekanisme ramalan saluran cache L1 pemproses AMD. Teknik ini boleh digunakan untuk mengurangkan keberkesanan perlindungan ASLR, memulihkan kunci dalam pelaksanaan AES yang terdedah, dan meningkatkan keberkesanan serangan Spectre.

Masalah dikenal pasti dalam pelaksanaan mekanisme ramalan saluran (peramal arah) dalam cache data peringkat pertama (L1D) CPU, digunakan untuk meramalkan saluran cache yang mengandungi alamat memori tertentu. Pengoptimuman yang digunakan dalam pemproses AMD adalah berdasarkan pemeriksaan ΞΌ-tags (ΞΌTag). ΞΌTag dikira dengan menggunakan fungsi cincang khusus pada alamat maya. Semasa operasi, enjin ramalan saluran menggunakan ΞΌTag untuk menentukan saluran cache daripada jadual. Oleh itu, ΞΌTag membenarkan pemproses mengehadkan dirinya untuk mengakses saluran tertentu sahaja, tanpa mencari melalui semua pilihan, yang mengurangkan penggunaan tenaga CPU dengan ketara.

Dua serangan ke atas mekanisme ramalan saluran cache dalam pemproses AMD

Semasa kejuruteraan terbalik pelaksanaan sistem ramalan saluran dalam pelbagai generasi pemproses AMD yang dikeluarkan dari 2011 hingga 2019, dua teknik serangan saluran sisi baharu telah dikenal pasti:

  • Collide+Probe - membenarkan penyerang menjejaki akses memori untuk proses yang berjalan pada teras CPU logik yang sama. Intipati kaedah adalah menggunakan alamat maya yang menyebabkan perlanggaran dalam fungsi cincang yang digunakan untuk mengira ΞΌTag untuk menjejaki akses memori. Tidak seperti serangan Flush+Reload dan Prime+Probe yang digunakan pada pemproses Intel, Collide+Probe tidak menggunakan memori dikongsi dan berfungsi tanpa pengetahuan tentang alamat fizikal.
  • Muat+Muat Semula - membolehkan anda menentukan jejak akses memori dengan sangat tepat pada teras CPU fizikal yang sama. Kaedah ini berdasarkan fakta bahawa sel memori fizikal hanya boleh berada dalam cache L1D sekali. Itu. mengakses sel memori yang sama pada alamat maya yang berbeza akan menyebabkan sel itu dikeluarkan daripada cache L1D, membolehkan akses memori dijejaki. Walaupun serangan itu bergantung pada memori yang dikongsi, ia tidak menyiram baris cache, membenarkan serangan senyap yang tidak membuang data daripada cache peringkat terakhir.

Berdasarkan teknik Collide+Probe dan Load+Reload, penyelidik telah menunjukkan beberapa senario serangan saluran sisi:

  • Kemungkinan menggunakan kaedah untuk mengatur saluran komunikasi tidak langsung tersembunyi antara dua proses, membenarkan pemindahan data pada kelajuan sehingga 588 kB sesaat, ditunjukkan.
  • Menggunakan perlanggaran dalam ΞΌTag, adalah mungkin untuk mengurangkan entropi untuk varian ASLR yang berbeza (Address Space Layout Randomization) dan memintas perlindungan ASLR dalam kernel pada sistem Linux yang dikemas kini sepenuhnya. Kemungkinan untuk melakukan serangan untuk mengurangkan entropi ASLR kedua-duanya daripada aplikasi pengguna dan menggunakan kod JavaScript yang dilaksanakan dalam persekitaran kotak pasir dan kod berjalan dalam persekitaran tetamu lain ditunjukkan.

    Dua serangan ke atas mekanisme ramalan saluran cache dalam pemproses AMD

  • Berdasarkan kaedah Collide+Probe, serangan telah dilaksanakan untuk memulihkan kunci penyulitan daripada pelaksanaan yang terdedah (berdasarkan T-jadual) penyulitan AES.
  • Dengan menggunakan kaedah Collide+Probe sebagai saluran pemerolehan data, serangan Spectre dapat mengekstrak data peribadi daripada kernel tanpa menggunakan memori yang dikongsi.

Kerentanan berlaku pada pemproses AMD berdasarkan mikroarchitectures
Jentolak, Pemacu Cerucuk, Steamroller, Zen (Ryzen, Epic), Zen+ dan Zen2.
AMD telah dimaklumkan mengenai isu tersebut pada 23 Ogos 2019, tetapi setakat ini tidak mengeluarkan laporan dengan maklumat tentang menyekat kelemahan. Menurut penyelidik, masalah itu boleh disekat pada tahap kemas kini mikrokod dengan menyediakan bit MSR untuk melumpuhkan sistem ramalan saluran secara selektif, sama seperti yang dilakukan Intel untuk mengawal pelumpuhan mekanisme ramalan cawangan.

Dua serangan ke atas mekanisme ramalan saluran cache dalam pemproses AMD

Sumber: opennet.ru

Tambah komen