SQUIP, serangan baharu yang menjejaskan pemproses AMD dan membawa kepada kebocoran data

sekumpulan iPenyelidik dari Universiti Teknologi Graz (Austria), dahulunya dikenali untuk membangunkan serangan MDS, NetSpectre, Throwhammer dan ZombieLoad, telah mendedahkan serangan saluran sampingan baharu (CVE-2021-46778) dalam baris gilir penjadual pemproses AMD yang digunakan untuk menjadualkan pelaksanaan arahan dalam unit pelaksanaan CPU yang berbeza.

Serangan itu, dipanggil SQUIP, membolehkan untuk menentukan data yang digunakan dalam pengiraan dalam proses lain atau mesin maya atau mengatur saluran komunikasi tersembunyi antara proses atau mesin maya yang membolehkan data ditukar tanpa melalui mekanisme kawalan capaian sistem.

yang CPU AMD berdasarkan seni bina mikro Zen ke-1, ke-2 dan ke-3 generasi (AMD Ryzen 2000-5000, AMD Ryzen Threadripper, AMD Athlon 3000, AMD EPYC) Terpengaruh apabila teknologi Simultaneous Multithreading (SMT) digunakan.

CPU moden menggunakan reka bentuk superscalar, di mana berbilang arahan dilaksanakan serentak untuk memaksimumkan prestasi. CPU ini memproses arahan dalam saluran paip melalui beberapa peringkat: (1) ambil, (2) nyahkod, (3) atur cara/laksana dan (4) ambil.

Serangan adalah berdasarkan menilai tahap kejadian perbalahan (peringkat perbalahan) dalam baris gilir penjadual yang berbeza dan dilakukan melalui pengukuran kelewatan apabila memulakan operasi semakan yang dilakukan dalam benang SMT lain pada CPU fizikal yang sama. Untuk menganalisis kandungan, kaedah Prime+Probe telah digunakan, yang melibatkan pengisian baris gilir dengan satu set nilai rujukan dan menentukan perubahan dengan mengukur masa akses kepada mereka pada masa muat semula.

Peringkat program/eksekusi boleh memproses arahan mengikut susunan untuk memaksimumkan keselarian tahap arahan. Kami menerangkan secara ringkas setiap peringkat ini:

-Cari. CPU mencari arahan seterusnya untuk dilaksanakan daripada cache L1i. 
-Nyahkod. Untuk membolehkan pelaksanaan yang cekap, arahan yang diperolehi (operasi makro) dinyahkodkan kepada satu atau lebih operasi mikro yang lebih mudah (µops) dan diletakkan dalam baris gilir µop. µops ini dimasukkan ke bahagian belakang, tempat ia dijadualkan dan dilaksanakan.
-Jadual/Jalankan. Penjadual menjejaki μop mana yang sedia untuk dilaksanakan (mempunyai input yang tersedia) dan menjadualkannya secara dinamik (tidak teratur) kepada unit pelaksanaan yang tersedia. Teras CPU mempunyai berbilang unit pelaksanaan dan boleh mempunyai berbilang unit aritmetik dan logik (ALU), unit pelaksanaan cawangan (BRU), unit penjanaan alamat (AGU).

Semasa percubaan, penyelidik dapat mencipta semula kunci RSA peribadi 4096-bit sepenuhnya digunakan untuk mencipta tandatangan digital menggunakan perpustakaan kriptografi mbedTLS 3.0, yang menggunakan algoritma Montgomery untuk menaikkan nombor kepada modulus kuasa. 50.500 jejak diperlukan untuk menentukan kunci.

Jumlah masa serangan mengambil masa 38 minit. Varian serangan yang memberikan kebocoran antara proses yang berbeza dan mesin maya yang dikawal oleh hipervisor KVM ditunjukkan. Ia juga menunjukkan bahawa kaedah boleh digunakan untuk mengatur pemindahan data rahsia antara mesin maya pada kadar 0,89 Mbit/s dan antara proses pada kadar 2,70 Mbit/s dengan kadar ralat kurang daripada 0,8, XNUMX%.

Teras CPU dibahagikan kepada berbilang teras logik, atau benang, melaksanakan aliran arahan bebas tetapi berkongsi sumber seperti cache L1i. µop urutan ini juga berkongsi unit pelaksanaan secara dinamik untuk membolehkan jumlah penggunaan yang lebih tinggi. Pembahagian bahagian berlainan kernel.
Ia dilakukan melalui pertukaran kompetitif. Seni bina AMD Zen membenarkan dua utas
setiap teras. Benang ini boleh daripada satu program atau daripada program yang berbeza, seperti yang diuruskan oleh sistem pengendalian.

Pemproses Intel tidak terdedah menyerang kerana mereka menggunakan satu baris gilir penjadualan, manakala pemproses AMD yang terdedah menggunakan baris gilir berasingan untuk setiap unit pelaksanaan.

Sebagai penyelesaian untuk menyekat kebocoran maklumat, AMD disyorkan bahawa pemaju gunakan algoritma yang sentiasa melakukan pengiraan matematik dalam masa yang tetap, tanpa mengira jenis data yang sedang diproses, dan juga menghalang forking berdasarkan data rahsia.

Akhir sekali, jika anda berminat untuk mengetahui lebih lanjut mengenainya, anda boleh merujuk butiran dalam pautan seterusnya.


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.