Kelas kerentanan baru pada prosesor Intel telah diperkenalkan

Intel опубликовала informasi tentang yang baru kelas kerentanan di prosesor mereka - MDS (Pengambilan Sampel Data Mikroarsitektur). Seperti serangan Spectre sebelumnya, masalah baru dapat menyebabkan kebocoran data pribadi dari sistem operasi, mesin virtual, dan proses lainnya. Masalah tersebut diduga pertama kali diidentifikasi oleh karyawan dan mitra Intel selama audit internal, setelah itu peneliti independen memberikan informasi tentang masalah serupa kepada Intel. Prosesor AMD dan ARM tidak terpengaruh oleh masalah ini.

Berdasarkan masalah yang diidentifikasi oleh peneliti dari Technical University of Graz (Austria) maju Beberapa serangan saluran samping praktis:

  • ZombieLoad (PDF) - memungkinkan Anda mengekstrak informasi rahasia dari proses lain, sistem operasi, mesin virtual, dan kantong yang dilindungi (TEE, Trusted Execution Environment). Misalnya, kemampuan untuk menentukan riwayat pembukaan halaman di browser Tor yang berjalan di mesin virtual lain telah ditunjukkan, serta menentukan kunci akses dan kata sandi yang digunakan dalam aplikasi;


  • RIDL (PDF) - memungkinkan kebocoran informasi antara berbagai area terisolasi di prosesor Intel, seperti buffer pengisian, buffer penyimpanan, dan port beban. Contoh serangan ditunjukkan untuk mengatur kebocoran dari proses lain, sistem operasi, mesin virtual, dan enclave yang dilindungi. Misalnya, ini menunjukkan cara mengetahui isi hash kata sandi root dari /etc/shadow selama upaya otentikasi berkala (serangan memakan waktu 24 jam);

    Selain itu, contoh serangan menggunakan JavaScript dan WebAssembly ditampilkan saat membuka halaman berbahaya di mesin SpiderMonkey (di browser lengkap modern, serangan seperti itu tidak mungkin terjadi karena akurasi pengatur waktu yang terbatas dan tindakan untuk melindungi dari Spectre);

  • Fallout (PDF) - memungkinkan untuk membaca data yang baru-baru ini ditulis oleh sistem operasi dan menentukan tata letak memori OS untuk menyederhanakan serangan lainnya;
  • Penerusan Simpan-Ke-Bocor — mengeksploitasi optimasi CPU untuk bekerja dengan buffer penyimpanan dan dapat digunakan untuk melewati mekanisme pengacakan ruang alamat kernel (KASLR), untuk memantau keadaan sistem operasi, atau untuk organisasi kebocoran yang dikombinasikan dengan gadget berdasarkan metode Spectre.

Diidentifikasi kerentanan:

  • CVE-2018-12126 - MSBDS (Microarchitectural Store Buffer Data Sampling), pemulihan konten buffer penyimpanan. Digunakan dalam serangan Fallout. Derajat bahaya ditetapkan 6.5 poin (CVSS);
  • CVE-2018-12127 - MLPDS (Microarchitectural Load Port Data Sampling), pemulihan konten port beban. Digunakan dalam serangan RIDL. CVSS 6.5;
  • CVE-2018-12130 - MFBDS (Microarchitectural Fill Buffer Data Sampling), pemulihan konten buffer pengisian. Digunakan dalam serangan ZombieLoad dan RIDL. CVSS 6.5;
  • CVE-2019-11091 – MDSUM (Microarchitectural Data Sampling Uncacheable Memory), pemulihan konten memori yang tidak dapat di-cache. Digunakan dalam serangan RIDL. CVSS 3.8.

Zat mengidentifikasi masalah dalam kemampuan menerapkan metode analisis saluran samping pada data dalam struktur mikroarsitektur yang tidak dapat diakses secara langsung oleh aplikasi. Kita berbicara tentang struktur tingkat rendah seperti buffer pengisian (Line Fill Buffer), buffer penyimpanan (Store Buffer) dan port muat (Load Port), yang merupakan blok penyusun yang lebih kecil daripada cache tingkat pertama (L1D), cache pemuatan data ( RDCL ) atau L1TF (L1 Terminal Fault), dan karenanya menyertakan lebih sedikit informasi dan diperbarui secara lebih intensif.

Kelas kerentanan baru pada prosesor Intel telah diperkenalkan

Serangan saluran samping terhadap struktur mikroarsitektur jauh lebih sulit dilakukan dibandingkan dengan metode memulihkan konten cache dan memerlukan pelacakan dan analisis sejumlah besar data untuk menentukan hubungannya dengan alamat tertentu di memori (pada dasarnya, penyerang tidak dapat dengan sengaja mencegat data tertentu , namun mungkin ada waktu untuk mengumpulkan kebocoran dan menerapkan metode statistik untuk merekonstruksi jenis data tertentu). Selain itu, serangan tersebut hanya memengaruhi data pada inti CPU fisik yang sama dengan kode penyerang.

Metode yang diusulkan untuk menentukan isi struktur mikroarsitektur didasarkan pada fakta bahwa struktur ini digunakan selama penanganan spekulatif pengecualian (kesalahan) atau operasi pemuatan dan penyimpanan.
Selama eksekusi spekulatif, isi struktur internal dialihkan ke register atau cache untuk diproses. Operasi spekulatif tidak selesai dan hasilnya dibuang, namun konten yang dialihkan dapat ditentukan menggunakan teknik analisis cache saluran samping.

Port beban digunakan oleh prosesor untuk menerima data dari memori atau subsistem I/O dan memberikan informasi yang diterima ke register CPU. Karena fitur implementasi, data dari operasi pengunduhan lama tetap berada di port hingga ditimpa oleh data baru, yang memungkinkan untuk secara tidak langsung menentukan status data di port pengunduhan dengan memanipulasi pengecualian (kesalahan) dan SSE/AVX/ Instruksi AVX-512 yang memuat data lebih dari 64 bit. Dalam kondisi seperti itu, operasi pemuatan secara spekulatif mengekspos nilai data yang sudah usang dari struktur internal ke operasi yang bergantung. Dengan cara yang sama, kebocoran diatur melalui buffer penyimpanan, yang digunakan untuk mempercepat penulisan ke cache CPU dan menyertakan tabel alamat, nilai, dan tanda, serta melalui buffer pengisian, yang berisi data yang belum ada di cache L1 (cache-miss), untuk saat ini memuat dari cache level lain.

Kelas kerentanan baru pada prosesor Intel telah diperkenalkan

masalah mempengaruhi Model prosesor Intel diproduksi sejak tahun 2011 (mulai generasi ke-6). Dalam hal ini, kerentanan perangkat keras diblokir mulai dari beberapa model Intel Core generasi ke-8 dan ke-9 serta Intel Xeon Scalable generasi ke-2 (Anda dapat memeriksanya menggunakan bit ARCH_CAP_MDS_NO di IA32_ARCH_CAPABILITIES MSR). Kerentanan juga sudah ada dihilangkan di tingkat firmware, mikrokode dan sistem operasi. Intel memperkirakan hilangnya kinerja setelah mengaktifkan patch untuk sebagian besar pengguna kurang dari 3%. Ketika teknologi Hyper-Threading dinonaktifkan, penurunan kinerja dapat mencapai hingga 9% dalam pengujian SPECint_rate_base, hingga 11% dalam penghitungan bilangan bulat aktif, dan hingga 19% saat menjalankan aplikasi Java sisi server (dengan HT diaktifkan, hampir terjadi tidak ada penurunan kinerja). Tambalan tersebut berdampak kecil pada kinerja I/O.

Kernel Linux melindungi terhadap MDS ditambahkan hari ini update 5.1.2, 5.0.16,
4.19.43, 4.14.119 dan 4.9.176. Metode perlindungan dalam masa pembangunan tentang membersihkan konten buffer mikroarsitektur pada saat kembali dari kernel ke ruang pengguna atau ketika mentransfer kontrol ke sistem tamu, yang mana instruksi VERW digunakan. Agar perlindungan berfungsi, diperlukan dukungan untuk mode MD_CLEAR, yang diterapkan dalam pembaruan mikrokode terbaru. Untuk perlindungan lengkap, disarankan juga untuk menonaktifkan Hyper Threading. Untuk memeriksa paparan sistem terhadap kerentanan di kernel Linux ditambahkan pengendali "/sys/devices/system/cpu/vulnerabilities/mds". Untuk mengontrol penyertaan berbagai mode pemblokiran kerentanan, parameter “mds=” telah ditambahkan ke kernel, yang dapat mengambil nilai “penuh”, “penuh,nosmt” (menonaktifkan Hyper-Threads), “vmwerv” dan "mati".

Pembaruan paket telah dirilis untuk RHEL и Ubuntu, namun tetap tidak tersedia untuk saat ini Debian, Fedora и SUSE.
Perbaikan untuk memblokir kebocoran data dari mesin virtual juga terbentuk untuk hipervisor Xen. Untuk melindungi sistem virtualisasi yang mengeluarkan perintah L1D_FLUSH sebelum mentransfer kontrol ke mesin virtual lain, dan untuk melindungi enklave Intel SGX, pembaruan mikrokode sudah cukup.

Sumber: opennet.ru

Tambah komentar