Kerentanan dina CPU AMD anu ngamungkinkeun anjeun ngalangkungan mékanisme panyalindungan SEV (Secure Encrypted Virtualization)

Panaliti di Helmholtz Center for Information Security (CISPA) parantos nyebarkeun metode serangan CacheWarp énggal pikeun kompromi mékanisme kaamanan AMD SEV (Secure Encrypted Virtualization) anu dianggo dina sistem virtualisasi pikeun ngajagi mesin virtual tina gangguan ku hypervisor atanapi administrator sistem host. Metodeu anu diusulkeun ngamungkinkeun panyerang anu gaduh aksés kana hypervisor pikeun ngaéksekusi kode pihak katilu sareng ningkatkeun hak istimewa dina mesin virtual anu ditangtayungan nganggo AMD SEV.

Serangan didasarkeun kana panggunaan kerentanan (CVE-2023-20592) disababkeun ku operasi cache anu salah nalika palaksanaan instruksi prosésor INVD, kalayan bantosan anu mungkin pikeun ngahontal mismatch data dina mémori sareng cache. , sarta mékanisme bypass pikeun ngajaga integritas memori mesin virtual, dilaksanakeun dumasar kana ekstensi SEV-ES na SEV-SNP. Kerentanan mangaruhan prosesor AMD EPYC ti generasi kahiji nepi ka generasi katilu.

Pikeun prosesor AMD EPYC generasi katilu (Zen 3), masalahna direngsekeun dina update microcode Nopémber anu dileupaskeun kamari ku AMD (perbaikan henteu nyababkeun degradasi kinerja). Pikeun generasi kahiji jeung kadua AMD EPYC (Zen 1 jeung Zen 2), panyalindungan teu disadiakeun, saprak CPUs ieu teu ngarojong extension SEV-SNP, nu nyadiakeun kontrol integritas pikeun mesin virtual. Generasi kaopat prosesor AMD AMD EPYC "Genoa" dumasar kana microarchitecture "Zen 4" henteu rentan.

Téknologi AMD SEV dianggo pikeun ngasingkeun mesin virtual ku panyadia awan sapertos Amazon Web Services (AWS), Google Cloud, Microsoft Azure sareng Oracle Compute Infrastructure (OCI). Perlindungan AMD SEV dilaksanakeun ngaliwatan enkripsi tingkat hardware memori mesin virtual. Salaku tambahan, ekstensi SEV-ES (Nagara Énkripsi) ngajagi pendaptaran CPU. Ngan sistem tamu ayeuna boga aksés ka data decrypted, sarta lamun mesin virtual sejen tur hypervisor nu nyoba aksés memori ieu, aranjeunna nampi hiji set énkripsi data.

Generasi katilu prosesor AMD EPYC ngawanohkeun extension tambahan, SEV-SNP (Aman Nested Paging), nu ensures operasi aman tabel kaca memori nested. Salian enkripsi memori umum tur isolasi register, SEV-SNP implements ukuran tambahan ngajaga integritas memori ku nyegah parobahan VM ku hypervisor nu. Konci enkripsi dikokolakeun dina sisi processor PSP misah (Platform Security Processor) diwangun kana chip, dilaksanakeun dina dasar arsitektur ARM.

Intina metode serangan anu diusulkeun nyaéta ngagunakeun paréntah INVD pikeun ngabatalkeun blok (garis) dina cache halaman anu kotor tanpa ngaleungitkeun data anu akumulasi dina cache kana mémori (nulis-balik). Ku kituna, métode ngidinan Anjeun pikeun nundung data robah tina cache tanpa ngarobah kaayaan memori. Pikeun ngalaksanakeun serangan, diusulkeun ngagunakeun pengecualian parangkat lunak (injeksi lepat) pikeun ngaganggu operasi mesin virtual di dua tempat: di tempat munggaran, panyerang nyauran paréntah "wbnoinvd" pikeun ngareset sadaya operasi nulis mémori anu akumulasi dina. cache, sarta di tempat kadua nyaéta panggero "invd" instruksi pikeun mulang nulis operasi teu reflected dina mémori kana kaayaan heubeul.

Pikeun pariksa sistem anjeun pikeun kerentanan, prototipe eksploitasi parantos diterbitkeun anu ngamungkinkeun anjeun nyelapkeun pengecualian kana mesin virtual anu ditangtayungan via AMD SEV sareng gulung deui parobahan dina VM anu teu acan direset kana mémori. Rollback of a robah bisa dipaké pikeun ngarobah aliran program ku balik alamat balik heubeul dina tumpukan, atawa ngagunakeun parameter login tina sési heubeul nu saméméhna dioténtikasi ku balik hiji nilai atribut auténtikasi.

Salaku conto, panalungtik nunjukkeun kamungkinan ngagunakeun métode CacheWarp pikeun ngalaksanakeun serangan Bellcore dina palaksanaan algoritma RSA-CRT dina perpustakaan ipp-crypto, anu ngamungkinkeun pikeun ngabalikeun konci pribadi ngaliwatan substitusi kasalahan nalika ngitung digital. tanda tangan. Éta ogé nunjukkeun kumaha anjeun tiasa ngarobih parameter verifikasi sési ka OpenSSH nalika nyambungkeun jarak jauh ka sistem tamu, teras robih kaayaan verifikasi nalika ngajalankeun utilitas sudo pikeun meunangkeun hak akar dina Ubuntu 20.04. Eksploitasi parantos diuji dina sistem kalayan prosesor AMD EPYC 7252, 7313P sareng 7443.

sumber: opennet.ru

Tambahkeun komentar