CROSSTalk - kerentanan pada CPU Intel yang menyebabkan kebocoran data antar inti

Sebuah tim peneliti dari Vrije Universiteit Amsterdam telah mengidentifikasi hal baru kerentanan (CVE-2020-0543) dalam struktur mikroarsitektur prosesor Intel, terkenal karena memungkinkan Anda memulihkan hasil eksekusi beberapa instruksi yang dijalankan pada inti CPU lain. Ini adalah kerentanan pertama dalam mekanisme eksekusi instruksi spekulatif yang memungkinkan kebocoran data antar inti CPU individual (sebelumnya kebocoran terbatas pada thread berbeda dari inti yang sama). Para peneliti menamai masalah tersebut CROSSTalk, tapi dokumen Intel Kerentanan ini disebut sebagai SRBDS (Special Register Buffer Data Sampling).

Kerentanan berkaitan dengan disajikan setahun yang lalu untuk kelas masalah MDS (Microarchitectural Data Sampling) dan didasarkan pada penerapan metode analisis saluran samping pada data dalam struktur mikroarsitektur. Prinsip operasi CROSSTalk dekat dengan kerentanan RIDL, namun berbeda pada sumber kebocorannya.
Kerentanan baru ini memanipulasi kebocoran buffer perantara yang sebelumnya tidak terdokumentasikan dan digunakan bersama oleh semua inti CPU.

CROSSTalk - kerentanan pada CPU Intel yang menyebabkan kebocoran data antar inti

Inti masalahnya adalah bahwa beberapa instruksi mikroprosesor, termasuk RDRAND, RDSEED dan SGX EGETKEY, diimplementasikan menggunakan operasi SRR (Special Register Reads) mikroarsitektur internal. Pada prosesor yang terpengaruh, data yang dikembalikan untuk SRR disimpan dalam buffer perantara yang umum untuk semua inti CPU, setelah itu ditransfer ke buffer pengisian yang terkait dengan inti fisik CPU tertentu tempat operasi pembacaan dimulai. Selanjutnya, nilai dari buffer pengisian disalin ke register yang terlihat oleh aplikasi.

Ukuran buffer bersama perantara sesuai dengan baris cache, yang biasanya lebih besar dari ukuran data yang dibaca, dan pembacaan yang berbeda mempengaruhi offset yang berbeda dalam buffer. Karena buffer bersama disalin seluruhnya ke buffer pengisian, tidak hanya bagian yang diperlukan untuk operasi saat ini yang dipindahkan, tetapi juga data yang tersisa dari operasi lain, termasuk yang dilakukan pada inti CPU lainnya.

CROSSTalk - kerentanan pada CPU Intel yang menyebabkan kebocoran data antar inti

CROSSTalk - kerentanan pada CPU Intel yang menyebabkan kebocoran data antar inti

Jika serangan berhasil, pengguna lokal yang diautentikasi dalam sistem dapat menentukan hasil eksekusi instruksi RDRAND, RDSEED, dan EGETKEY dalam proses asing atau di dalam enklave Intel SGX, terlepas dari inti CPU tempat kode tersebut dijalankan.
Peneliti yang mengidentifikasi masalahnya diterbitkan Eksploitasi prototipe yang menunjukkan kemampuan untuk membocorkan informasi tentang nilai acak yang diperoleh melalui instruksi RDRAND dan RDSEED untuk memulihkan kunci pribadi ECDSA yang diproses di enclave Intel SGX setelah hanya melakukan satu operasi tanda tangan digital pada sistem.


masalah rentan berbagai macam prosesor Intel desktop, seluler, dan server, termasuk Core i3, i5, i7, i9, m3, Celeron (seri J, G dan N), Atom (seri C, E dan X), Xeon (E3, E5, keluarga E7, W dan D), Xeon Scalable, dll. Patut dicatat bahwa Intel diberitahu tentang kerentanan tersebut pada bulan September 2018, dan pada bulan Juli 2019 prototipe eksploitasi diberikan yang menunjukkan kebocoran data antar inti CPU, namun pengembangan perbaikannya tertunda karena rumitnya implementasinya. Pembaruan mikrokode yang diusulkan hari ini mengatasi masalah ini dengan mengubah perilaku instruksi RDRAND, RDSEED, dan EGETKEY untuk menimpa data di buffer bersama guna mencegah sisa informasi menetap di sana. Selain itu, akses buffer dijeda hingga konten dibaca dan ditulis ulang.

Efek samping dari jenis perlindungan ini adalah peningkatan latensi ketika menjalankan RDRAND, RDSEED, dan EGETKEY, dan mengurangi throughput ketika mencoba menjalankan instruksi ini secara bersamaan pada prosesor logis yang berbeda. Menjalankan RDRAND, RDSEED, dan EGETKEY juga menangguhkan akses memori dari prosesor logis lainnya. Fitur-fitur ini mungkin berdampak negatif terhadap kinerja beberapa aplikasi server, sehingga firmware menyediakan mekanisme (RNGDS_MITG_DIS) untuk menonaktifkan perlindungan untuk instruksi RDRAND dan RDSEED yang dijalankan di luar enclave Intel SGX.

Sumber: opennet.ru

Tambah komentar