AMD CPU haavatavus, mis võimaldab SEV (Secure Encrypted Virtualization) kaitsesüsteemi rikkumist.

Helmholtzi Informatsiooniturbe Keskuse (CISPA) teadlased avaldasid uue rünnakutehnika CacheWarp, mis võimaldab kompromiteerida AMD SEV (Secure Encrypted Virtualization) kaitsemehhanismi, mida kasutatakse virtualiseerimissüsteemides, et kaitsta virtuaalmasinaid hüperviisori või host-süsteemi administraatori sekkumise eest. Ettepanek võimaldab ründajal, kellel on juurdepääs hüperviisorile, saavutada kolmanda osapoole koodi täitmine ja privileegide tõstmine virtuaalmasinas, mille kaitse on tagatud AMD SEV abil.

Rünnak põhineb haavatavusel (CVE-2023-20592), mis tuleneb vigasest käitumisest vahemäluga processorite instruktsiooni INVD täitmise ajal, mis võimaldab andmete desünkroniseerimist mälus ja vahemälus ning seadmete terviklikkuse säilitamise mehhanismide ületamist, mis on rakendatud SEV-ES ja SEV-SNP laienduste põhjal. Haavatavus mõjutab AMD EPYC protsessoreid esimesest kuni kolmanda põlvkonnani.

AMD EPYC kolmandiku põlvkonna (Zen 3) protsessorite probleem on lahendatud novembrikuu mikrokoodi uuenduses, mis ilmus eile, ning sellel on AMD väitel mõju jõudlusele. Esimese ja teise põlvkonna AMD EPYC (Zen 1 ja Zen 2) puhul kaitset ei ole, kuna need protsessorid ei toeta SEV-SNP laiendust, mis tagab terviklikkuse kontrolli. virtuaalmasinadNeljanda põlvkonna AMD EPYC protsessorid 'Genoa', mis põhinevad mikroarhitektuuril 'Zen 4', ei ole haavatavad.

AMD SEV tehnoloogiat kasutatakse virtuaalsete masinate isoleerimiseks selliste pilveteenuste pakkujate nagu Amazon Web Services (AWS), Google Cloud, Microsoft Azure ja Oracle Compute Infrastructure (OCI) poolt. AMD SEV kaitse on ellu viidud virtuaalmasinate mälu riistvaralise krüptimise kaudu. Täiendavalt tagab SEV-ES (Encrypted State) laienduse kaudu CPU registerite kaitse. Dekrüpteeritud andmetele pääseb ligi ainult käivitatav külalisosüsteem, samas kui ülejäänud virtuaalmasinatele ja hüperviisor saavad katsetades sellele mälule juurdepääsu ainult krüpteeritud andmestiku.

Kolmandas põlvkonnas AMD EPYC protsessorites on rakendatud lisanduv SEV-SNP (Secure Nested Paging) täiendus, mis tagab turvalise töötamise mälulehtede sisseviidud tabelitega. Lisaks üldisele mälude krüptimisele ja registrite eraldamisele sisaldab SEV-SNP täiendavaid meetodeid mälumahu terviklikkuse kaitseks, et vältida hüperviisori sekkumist VM-i. Krüptimisvõtmete haldamine toimub eraldi protsessori PSP (Platform Security Processor) sees, mis on realiseeritud ARM arhitektuuril.

Pakutud rünnakumeetodi põhiolemus seisneb INVD-instruktsiooni kasutamises räpase (dirty) lehe andmete tühistamiseks vahemälu blokkides (ridadel) ilma vahemälu teavet mälu (write-back) tagasi kirjutamata. Seega võimaldab meetod muuta muudetud andmeid vahemälus, mõjutamata mälu seisundit. Rünnaku teostamiseks on soovitatav kasutada tarkvarapõhiseid erandeid (fault injection), et katkestada virtuaalmasina töö kahes kohas: esimeses kohas kutsub ründaja välja instruktisooni „wbnoinvd“, et tühjendada kõik vahemälu salvestusoperatsioonid mälu, ning teises kohas kutsub välja instruktisooni „invd“, et naasta mälu kajastamata salvestusoperatsioonid vanasse olekusse.

Süsteemide haavatavuse kontrollimiseks on avalikustatud eksploiteerimise prototüüp, mis võimaldab teha erandi asendamist virtuaalmasinas, mis on kaitstud AMD SEV kaudu, ning tagasi pöörduda vana olekusse, et mitte taastatud mälu muudatused VM-is. Muudatuste tagasipöördumist saab kasutada programmi teostuse muutmiseks, naastes vanale tagasikõne aadressile virnas või kasutades vana seansi, millele oli eelnevalt autentimine tehtud, sisendparameetrite tagasitoomiseks autentimismärgi väärtust.

Näiteks on uurijad demonstreerinud CacheWarp meetodi rakendamise võimalust Bellcore rünnaku läbiviimiseks RSA-CRT algoritmi rakendusele ipp-crypto raamatukogus, mis võimaldas taastada privaatvõtme digitaalallkirja arvutamisel tekkivate vigade asendamise kaudu. Samuti on näidatud, kuidas saab OpenSSH seansi kontrolli parameetreid asendada kaugühenduse ajal külalisüsteemile ning seejärel muuta kontrolli seisu sudo utiliidi täitmisel root-õiguste saamiseks Ubuntu 20.04-s. Eksploiteerimise töö on testitud AMD EPYC 7252, 7313P ja 7443 protsessoritega süsteemidel.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster