Menjumpai kelemahan Meltdown baru dalam pemproses AMD berasaskan Zen + dan Zen 2

Beberapa hari yang lalu sekumpulan penyelidik dari Universiti Teknikal Dresden melancarkan yang mereka kenal pasti kerentanan (CVE-2020-12965) yang membolehkan serangan kelas Meltdown pada pemproses AMD berasaskan Zen + dan Zen 2.

Pada mulanya, Pemproses AMD Zen + dan Zen 2 dianggap tidak mudah diserang kepada kerentanan Meltdown, tetapi penyelidik mengenal pasti ciri yang membawa kepada akses spekulatif ke kawasan memori yang dilindungi ketika menggunakan alamat maya bukan kanonik.

Para penyiasatSebutkan bahawa seni bina AMD64 hanya melibatkan penggunaan 48 bit pertama dari alamat maya dan abaikan baki 16 bit dan dengan ini telah dinyatakan bahawa bit 48 hingga 63 mesti selalu menyalin nilai bit 47.

Maksud saya, sekiranya keadaan ini dilanggar dan percubaan dibuat untuk mengatasi alamat dengan nilai sewenang-wenang bit atas, pemproses membuang pengecualian. Pengisian berulang dari bahagian atas mengarah ke pembahagian ruang alamat yang tersedia menjadi dua blok.

Alamat yang sesuai dengan blok yang ditentukan disebut kanonis dan alamat tidak sah dengan kandungan bit yang lebih tinggi sewenang-wenang disebut bukan kanonik. Rangkaian alamat kanonik yang lebih rendah, sebagai peraturan, dialokasikan untuk data proses, dan julat atas digunakan untuk data kernel (akses ke alamat yang ditentukan dari ruang pengguna disekat pada tahap pemisahan hak istimewa).

Kerentanan klasik Meltdown didasarkan pada kenyataan bahawa semasa pelaksanaan spekulatif Arahan, pemproses dapat mengakses kawasan data peribadi dan kemudian membuang hasilnya, kerana keistimewaan yang ditetapkan melarang akses tersebut dari proses pengguna.

Dalam program ini, blok yang dieksekusi secara spekulatif dipisahkan dari kod utama oleh cabang bersyarat, yang dalam keadaan nyata selalu menyala, tetapi disebabkan oleh kenyataan bahawa pernyataan bersyarat menggunakan nilai yang dihitung yang tidak diketahui oleh pemproses selama jangkaan pelaksanaan kodnya, pelaksanaan spekulatif dari semua pilihan percabangan berlaku.

Sejak loperasi spekulatif menggunakan cache yang sama daripada arahan yang biasa dilaksanakan, mungkin semasa pelaksanaan penanda buku caching spekulatif yang mencerminkan kandungan bit individu di kawasan memori tertutup, dan kemudian dalam kod yang biasanya dilaksanakan untuk menentukan nilainya melalui Analisis masa mengakses data cache dan bukan cache.

Keanehan kerentanan baru mempengaruhi pemproses AMD Zen + dan Zen 2, adakah CPU membenarkan pelaksanaan spekulatif operasi membaca dan menulis yang mengakses memori menggunakan alamat bukan kanonik yang tidak betul, hanya mengabaikan 16 bit atas.

Oleh itu, dalam proses pelaksanaan kod spekulatif, pemproses selalu menggunakan hanya 48 bit yang lebih rendah dan pengesahan alamat dilakukan secara berasingan. Sekiranya, semasa menerjemahkan alamat maya bukan kanonik ke alamat fizikal dalam penyangga terjemahan bersekutu (TLB) jika bahagian kanonik alamat sesuai, operasi beban spekulatif akan mengembalikan nilai tanpa mengira kandungan 16 bit atas, yang memungkinkan anda untuk memintas perkongsian memori antara utas. Kemudian, operasi akan dibatalkan dan dibuang, tetapi memori akan diakses dan data akan di-cache.

Semasa percubaan, menggunakan teknik pengesanan kandungan cache FLUSH + RELOAD, para penyelidik dapat mengatur saluran untuk penghantaran data rahsia ke kelajuan 125 bait sesaat.

Teknik yang sama yang membantu menyekat serangan Meltdown, seperti menggunakan arahan LFENCE, dapat digunakan untuk mempertahankan diri dari serangan baru.

Pada masa yang sama penyelidik menyatakan bahawa, Berbanding dengan pemproses Intel, seni bina pemproses AMD menghadkan kemungkinan serangan sebenar, tetapi tidak mengecualikan penggunaan kaedah baru dalam kombinasi dengan serangan mikroarkibina lain untuk meningkatkan keberkesanannya.

Khususnya, pilihan serangan yang dicadangkan tidak memungkinkan untuk menentukan kandungan kawasan memori kernel dan proses lain, tetapi terbatas pada kemampuan untuk mendapatkan akses ke rangkaian lain dari program yang sama yang berjalan di ruang memori maya yang sama.

Fuente: https://www.amd.com, https://arxiv.org/


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.