Retbleed: Serangan Perlaksanaan Spekulatif Baharu Menghentam Intel dan AMD

Berita itu baru-baru ini menyebarkannyae sekumpulan penyelidik dari ETH Zurich telah mengenal pasti serangan baharu kepada mekanisme pelaksanaan spekulatif lompatan tidak langsung dalam CPU, yang membolehkan mengekstrak maklumat daripada memori kernel atau mengatur serangan ke atas sistem hos daripada mesin maya.

Kerentanan itu diberi nama kod Retbleed (telah dikatalogkan di bawah CVE-2022-29900, CVE-2022-29901) dan bersifat serupa dengan serangan Spectre-v2.

Perbezaannya berpunca daripada mengatur pelaksanaan spekulatif kod sewenang-wenangnya dengan memproses arahan "ret" (kembali), yang mendapatkan semula alamat untuk melompat dari timbunan, dan bukannya melompat secara tidak langsung menggunakan arahan "jmp", memuatkan alamat dari memori atau daftar CPU.

Mengenai serangan baru disebutkan bahawa penyerang boleh mencipta syarat untuk ramalan garpu tidak betul dan mengatur lompatan spekulatif yang disengajakan ke blok kod yang tidak dimaksudkan oleh logik pelaksanaan program.

Akhirnya, pemproses akan menentukan bahawa ramalan cawangan tidak wajar dan akan melancarkan semula operasi kepada keadaan asalnya, tetapi data yang diproses Semasa pelaksanaan spekulasi mereka akan duduk dalam cache dan penimbal mikro seni bina. Jika blok yang dilaksanakan secara salah melakukan akses memori, maka pelaksanaan spekulatifnya akan membawa kepada pemasangan dalam cache umum dan pembacaan data dari memori.

Untuk menentukan data yang tinggal dalam cache selepas pelaksanaan operasi spekulatif, penyerang boleh menggunakan kaedah untuk menentukan baki data melalui saluran pihak ketiga, contohnya, menganalisis perubahan dalam masa capaian data cache dan bukan cache.

Untuk pengekstrakan maklumat yang disengajakan dari kawasan pada tahap keistimewaan yang berbeza (contohnya, dari memori kernel), "peranti" digunakan: skrip hadir dalam kernel, sesuai untuk pembacaan spekulatif data dari memori, bergantung pada keadaan luaran ia boleh dipengaruhi oleh penyerang.

Untuk melindungi daripada serangan kelas Spectre klasik, yang menggunakan arahan cawangan tidak langsung dan bersyarat, kebanyakan sistem pengendalian menggunakan teknik "retpoline", yang berdasarkan menggantikan operasi cawangan tidak langsung dengan arahan "ret", yang mana ramalan keadaan tindanan yang berasingan diperlukan. unit digunakan dalam pemproses, tidak menggunakan blok ramalan cawangan.

Pada pengenalan reppoline pada 2018, manipulasi alamat seperti Spectre dipercayai tidak praktikal untuk forking spekulatif dengan arahan "ret".

Para penyelidik yang membangunkan kaedah serangan Retbleed menunjukkan kemungkinan mewujudkan keadaan seni bina mikro untuk memulakan peralihan spekulatif menggunakan arahan "ret" dan mengeluarkan kit alat sedia untuk mengenal pasti urutan arahan (alat) yang sesuai untuk mengeksploitasi kelemahan dalam kernel Linux di mana keadaan sedemikian muncul.

Sepanjang pengajian, eksploitasi kerja telah disediakan yang membenarkan, pada sistem dengan CPU Intel, daripada proses yang tidak mempunyai hak istimewa dalam ruang pengguna untuk mengekstrak data sewenang-wenang daripada memori kernel pada kadar 219 bait sesaat dan dengan ketepatan 98%.

En pemproses AMD, kecekapan eksploitasi adalah lebih tinggi, kerana kadar kebocoran ialah 3,9 KB sesaat. Sebagai contoh praktikal, ia ditunjukkan cara menggunakan eksploitasi yang dicadangkan untuk menentukan kandungan fail /etc/shadow. Pada sistem dengan CPU Intel, serangan untuk menentukan cincang kata laluan akar dilakukan dalam 28 minit, dan pada sistem dengan CPU AMD, dalam 6 minit.

Serangan itu disahkan untuk 6-8 generasi pemproses Intel yang dikeluarkan sebelum Q2019 1 (termasuk Skylake), dan pemproses AMD berdasarkan Zen 1, Zen 2+ dan Zen 2021 microarchitectures yang dikeluarkan sebelum QXNUMX XNUMX. Pada model pemproses yang lebih baharu, seperti AMD Zen3 dan Intel Alder Lake, serta pemproses ARM, masalahnya disekat oleh mekanisme perlindungan sedia ada. Contohnya, penggunaan arahan IBRS (Indirect Branch Restricted Speculation) membantu melindungi daripada serangan.

Menyediakan satu set perubahan untuk kernel Linux dan hypervisor Xen, yang menyekat masalah secara pengaturcaraan pada CPU yang lebih lama. Tampalan kernel Linux yang dicadangkan menukar 68 fail, menambah 1783 baris, dan mengalih keluar 387 baris.

Malangnya, perlindungan menanggung kos overhed yang ketara: dalam teks yang dibuat pada pemproses AMD dan Intel, kemerosotan prestasi dianggarkan antara 14% dan 39%. Adalah lebih baik untuk menggunakan perlindungan berdasarkan arahan IBRS, tersedia dalam CPU Intel generasi baru dan disokong sejak kernel Linux 4.19.

Akhirnya, jika anda berminat untuk mengetahui lebih lanjut mengenainya, anda boleh berjumpa dengan perincian dalam pautan berikut.


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab untuk data: AB Internet Networks 2008 SL
  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.