Dua serangan terhadap mekanisme prediksi saluran cache di prosesor AMD

Sekelompok peneliti dari Graz University of Technology (Austria), sebelumnya dikenal mengembangkan metode serangan MDS, NetSpectre, Palu ΠΈ ZombieLoad, melakukan penelitian tentang optimasi perangkat keras khusus untuk prosesor AMD dan telah dikembangkan dua metode baru serangan saluran samping yang memanipulasi kebocoran data selama pengoperasian mekanisme prediksi saluran cache LXNUMX pada prosesor AMD. Teknik ini dapat digunakan untuk mengurangi efektivitas perlindungan ASLR, memulihkan kunci dalam implementasi AES yang rentan, dan meningkatkan efektivitas serangan Spectre.

Masalah diidentifikasi dalam implementasi mekanisme prediksi saluran (way predictor) di cache data tingkat pertama (L1D) CPU, yang digunakan untuk memprediksi saluran cache mana yang berisi alamat memori tertentu. Optimalisasi yang digunakan pada prosesor AMD didasarkan pada pengecekan ΞΌ-tag (ΞΌTag). ΞΌTag dihitung dengan menerapkan fungsi hash tertentu ke alamat virtual. Selama operasi, mesin prediksi saluran menggunakan ΞΌTag untuk menentukan saluran cache dari tabel. Dengan demikian, ΞΌTag memungkinkan prosesor membatasi dirinya untuk mengakses saluran tertentu saja, tanpa menelusuri semua opsi, yang secara signifikan mengurangi konsumsi energi CPU.

Dua serangan terhadap mekanisme prediksi saluran cache di prosesor AMD

Selama rekayasa balik implementasi sistem prediksi saluran di berbagai generasi prosesor AMD yang dirilis dari tahun 2011 hingga 2019, dua teknik serangan saluran samping baru diidentifikasi:

  • Collide+Probe - memungkinkan penyerang melacak akses memori untuk proses yang berjalan pada inti CPU logis yang sama. Inti dari metode ini adalah menggunakan alamat virtual yang menyebabkan tabrakan pada fungsi hash yang digunakan untuk menghitung ΞΌTag untuk melacak akses memori. Berbeda dengan serangan Flush+Reload dan Prime+Probe yang digunakan pada prosesor Intel, Collide+Probe tidak menggunakan memori bersama dan bekerja tanpa mengetahui alamat fisik.
  • Load+Reload - memungkinkan Anda menentukan jejak akses memori dengan sangat akurat pada inti CPU fisik yang sama. Metode ini didasarkan pada fakta bahwa sel memori fisik hanya dapat berada di cache L1D satu kali. Itu. mengakses sel memori yang sama di alamat virtual yang berbeda akan menyebabkan sel dikeluarkan dari cache L1D, sehingga akses memori dapat dilacak. Meskipun serangan ini mengandalkan memori bersama, serangan ini tidak menghapus baris cache, sehingga memungkinkan terjadinya serangan diam-diam yang tidak menghapus data dari cache tingkat terakhir.

Berdasarkan teknik Collide+Probe dan Load+Reload, para peneliti telah mendemonstrasikan beberapa skenario serangan saluran samping:

  • Kemungkinan menggunakan metode untuk mengatur saluran komunikasi tidak langsung yang tersembunyi antara dua proses, memungkinkan transfer data dengan kecepatan hingga 588 kB per detik, ditampilkan.
  • Dengan menggunakan tabrakan di ΞΌTag, dimungkinkan untuk mengurangi entropi untuk berbagai varian ASLR (Address Space Layout Randomization) dan melewati perlindungan ASLR di kernel pada sistem Linux yang sepenuhnya diperbarui. Kemungkinan melakukan serangan untuk mengurangi entropi ASLR baik dari aplikasi pengguna dan menggunakan kode JavaScript yang dieksekusi di lingkungan sandbox dan kode yang berjalan di lingkungan tamu lain ditampilkan.

    Dua serangan terhadap mekanisme prediksi saluran cache di prosesor AMD

  • Berdasarkan metode Collide+Probe, serangan diterapkan untuk memulihkan kunci enkripsi dari implementasi yang rentan (berdasarkan T-meja) Enkripsi AES.
  • Dengan menggunakan metode Collide+Probe sebagai saluran akuisisi data, serangan Spectre mampu mengekstrak data pribadi dari kernel tanpa menggunakan memori bersama.

Kerentanan terjadi pada prosesor AMD yang berbasis mikroarsitektur
Buldoser, Piledriver, Steamroller, Zen (Ryzen, Epic), Zen+ dan Zen2.
AMD diberitahu tentang masalah ini pada 23 Agustus 2019, namun sejauh ini tidak merilis laporannya dengan informasi tentang memblokir kerentanan. Menurut para peneliti, masalahnya dapat diblokir pada tingkat pembaruan mikrokode dengan menyediakan bit MSR untuk menonaktifkan sistem prediksi saluran secara selektif, mirip dengan apa yang dilakukan Intel untuk mengontrol penonaktifan mekanisme prediksi cabang.

Dua serangan terhadap mekanisme prediksi saluran cache di prosesor AMD

Sumber: opennet.ru

Tambah komentar