SQUIP, serangan baru yang memengaruhi prosesor AMD dan menyebabkan kebocoran data

sekelompok sayaPara peneliti dari Universitas Teknologi Graz (Austria), sebelumnya dikenal untuk mengembangkan serangan MDS, NetSpectre, Throwhammer dan ZombieLoad, telah mengungkapkan serangan saluran samping baru (CVE-2021-46778) dalam antrian penjadwal prosesor AMD yang digunakan untuk menjadwalkan eksekusi instruksi di unit eksekusi CPU yang berbeda.

Serangan itu, disebut SQUIP, memungkinkan untuk menentukan data yang digunakan dalam perhitungan di proses lain atau mesin virtual atau mengatur saluran komunikasi tersembunyi antara proses atau mesin virtual yang memungkinkan pertukaran data tanpa melalui mekanisme kontrol akses sistem.

itu CPU AMD berdasarkan arsitektur mikro Zen ke-1, ke-2 dan ke-3 generasi (AMD Ryzen 2000-5000, AMD Ryzen Threadripper, AMD Athlon 3000, AMD EPYC) terpengaruh ketika teknologi Simultaneous Multithreading (SMT) digunakan.

CPU modern menggunakan desain superscalar, di mana beberapa instruksi dieksekusi secara bersamaan untuk memaksimalkan kinerja. CPU ini memproses instruksi dalam pipeline melalui beberapa tahap: (1) fetch, (2) decode, (3) program/execute, dan (4) fetch.

Serangan didasarkan pada evaluasi tingkat terjadinya pertentangan (level contention) dalam antrian penjadwal yang berbeda dan dilakukan melalui pengukuran penundaan saat memulai operasi pemeriksaan yang dilakukan di utas SMT lain pada CPU fisik yang sama. Untuk menganalisis konten, metode Prime+Probe digunakan, yang melibatkan pengisian antrean dengan serangkaian nilai referensi dan menentukan perubahan dengan mengukur waktu aksesnya pada saat memuat ulang.

Tahap program/eksekusi dapat memproses instruksi di luar urutan untuk memaksimalkan paralelisme tingkat instruksi. Kami menjelaskan secara singkat masing-masing tahapan ini:

-Mencari. CPU mencari instruksi berikutnya untuk dieksekusi dari cache L1i. 
-Membaca sandi. Untuk memungkinkan eksekusi yang efisien, instruksi yang diperoleh (operasi makro) didekodekan menjadi satu atau lebih operasi mikro yang lebih sederhana (µops) dan ditempatkan dalam antrian op. Flop ini dimasukkan ke backend, di mana mereka dijadwalkan dan dieksekusi.
-Jadwal/Jalankan. Penjadwal melacak op mana yang siap untuk dieksekusi (memiliki input yang tersedia) dan secara dinamis menjadwalkannya (rusak) ke unit eksekusi yang tersedia. Inti CPU memiliki beberapa unit eksekusi dan dapat memiliki beberapa unit aritmatika dan logika (ALU), unit eksekusi cabang (BRU), unit pembangkit alamat (AGU).

Selama percobaan, peneliti dapat sepenuhnya membuat ulang kunci RSA pribadi 4096-bit digunakan untuk membuat tanda tangan digital menggunakan pustaka kriptografi mbedTLS 3.0, yang menggunakan algoritme Montgomery untuk menaikkan angka ke modulus daya. 50.500 jejak diperlukan untuk menentukan kuncinya.

Total waktu serangan memakan waktu 38 menit. Varian serangan yang memberikan kebocoran antara proses yang berbeda dan mesin virtual yang dikendalikan oleh hypervisor KVM ditunjukkan. Hal ini juga menunjukkan bahwa metode dapat digunakan untuk mengatur transfer data rahasia antara mesin virtual pada tingkat 0,89 Mbit/s dan antara proses pada tingkat 2,70 Mbit/s dengan tingkat kesalahan kurang dari 0,8, XNUMX%.

Inti CPU dibagi menjadi beberapa inti logis, atau utas, mengeksekusi aliran instruksi independen tetapi berbagi sumber daya seperti cache L1i. ops dari utas ini juga berbagi unit eksekusi secara dinamis untuk memungkinkan pemanfaatan total yang lebih tinggi. Partisi dari bagian yang berbeda dari kernel.
Hal ini dilakukan melalui pertukaran kompetitif. Arsitektur AMD Zen memungkinkan dua utas
per inti. Utas ini dapat berasal dari satu program atau dari program yang berbeda, sebagaimana dikelola oleh sistem operasi.

Prosesor Intel tidak rentan menyerang karena mereka menggunakan antrian penjadwalan tunggal, sementara prosesor AMD yang rentan menggunakan antrian terpisah untuk setiap unit eksekusi.

Sebagai solusi untuk memblokir kebocoran informasi, AMD direkomendasikan pengembang itu gunakan algoritma yang selalu melakukan perhitungan matematis dalam waktu yang konstan, terlepas dari sifat data yang sedang diproses, dan juga mencegah forking berdasarkan data rahasia.

Terakhir, jika Anda tertarik untuk mengetahuinya lebih lanjut, Anda dapat berkonsultasi detailnya di link berikut.


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.