AMD CPU haavatavus, mis võimaldab SEV (Secure Encrypted Virtualization) kaitsemehhanismi mööda hiilida.

Helmholzi Infoturbe Keskuse (CISPA) teadlased avaldasid uue CacheWarp rünnaku meetodi, mis võimaldab kompromiteerida AMD SEV (Secure Encrypted Virtualization) kaitsemehhanismi, mida kasutatakse virtualiseerimissüsteemides virtuaalmasinate kaitsmiseks hüperviisori või host-süsteemi administraatori sekkumise eest. Esitatud meetod võimaldab ründajal, kellel on juurdepääs hüperviisorile, saavutada kolmanda osapoole koodi täitmine ja õiguste tõstmine virtuaalmasinas, mida kaitseb AMD SEV.

Rünnak põhineb haavatavuse (CVE-2023-20592) kasutamisel, mis tuleneb defektsest töötlemisest vahemäluga protsessorikäskluse INVD täitmise ajal, mille abil on võimalik saavutada andmete mittevastavus mälus ja vahemälus, ning mööda hiilida virtuaalmasinate mälukaitse mehhanismidest, mis on rakendatud SEV-ES ja SEV-SNP laienduste põhjal. Haavatavus mõjutab AMD EPYC protsessoreid esimesest kuni kolmanda põlvkonnani.

AMD EPYC kolmanda põlvkonna (Zen 3) protsessorite probleem lahendati eile välja antud novembrikuu mikroprogrammi uuenduses, mille on välja andnud AMD (parandamine ei too kaasa jõudluse langust). Esimese ja teise põlvkonna AMD EPYC (Zen 1 ja Zen 2) kaitset ei pakuta, kuna need protsessorid ei toeta SEV-SNP laiendust, mis tagab terviklikkuse kontrolli. virtuaalmasinate. AMD EPYC neljanda põlvkonna "Genoa" protsessorid, mis põhinevad "Zen 4" mikroarhitektuuril, ei ole haavatavad.

AMD SEV tehnoloogiat rakendatakse virtuaalmasinate isoleerimiseks selliste pilveteenuse pakkujate poolt nagu Amazon Web Services (AWS), Google Cloud, Microsoft Azure ja Oracle Compute Infrastructure (OCI). AMD SEV kaitse on rakendatud virtuaalmasinate mälude riistvaralise krüpteerimise kaudu. Lisaks tagab SEV-ES (Encrypted State) laiendus CPU registrite kaitse. Ainult praegusel külalisoperatsioonisüsteemil on juurdepääs dekrüpteeritud andmetele, teised virtuaalmasinaid ja hüperviisor saavad, kui nad üritavad sellele mälule juurde pääseda, krüpteeritud andmeformaadi.

Kolmandas AMD EPYC protsessorite põlvkonnas on rakendatud täiendav SEV-SNP (Secure Nested Paging) laiendus, mis tagab turvalise töö sisemälu lehtede tabelitega. SEV-SNP sisaldab lisaks üldisele mälu krüptimisele ja registrite isolatsioonile ka täiendavaid vahendeid mälu terviklikkuse kaitsmiseks, takistades hüperviisori muudatusi VM-is. Krüptimisvõtmete haldamine toimub kiibi sisse ehitatud eraldi protsessori PSP (Platform Security Processor) kaudu, mis on rakendatud ARM-i arhitektuuri põhjal.

Pakutud ründe meetodi sisu seisneb INVD käskluse kasutamises, et tühistada mustade (dirty) lehtede vahemiku plokid (read) ilma mällu talletatud andmete (write-back) lähtestamiseta. See meetod võimaldab seega muudatusi vahemikust kõrvaldada, muutes mälu olekuteid. Rünnaku sooritamiseks on soovitatav kasutada tarkvaralisi erandeid (fault injection), et katkestada virtuaalmasina töö kahes kohas: esimeses kohas kutsub ründaja välja käsu «wbnoinvd», et lähtestada kõik vahemikus talletatud kirjutamisoperatsioonid, ja teises kohas kutsub välja käsu «invd», et taastada mälu olekusse need kirjutamisoperatsioonid, mis ei ole salvestatud.

Kaitse oma süsteemide haavatavuste kontrollimiseks on avalikustatud prototüüp, mis võimaldab teostada erandi sisestamist AMD SEV kaudu kaitstud virtuaalmasinas ning tühistada VM-is mälu salvestamata muudatused vanasse olekusse. Muudatuste tagasiviimist võib kasutada programmi täitmise suuna muutmiseks, viies tagasi vana tagastusena peitva aadressi või kasutades vanade sessiooni parameetrite sisestamiseks, mille jaoks oli varem autentimine läbi viidud, tagastusena autentimise tunnuse väärtus.

Näiteks on teadlased demonstreerinud meetodi CacheWarp rakendamise võimalust Bellcore'i rünnaku tegemiseks RSA-CRT algoritmi rakendusele ipp-crypto, mis võimaldas taastada privaatvõtme digiallkirja arvutamise vigade asendamise abil. Samuti on näidatud, kuidas saab OpenSSH sessiooni kontrollimise parameetreid petta, kui ühendatakse kaugsüsteemi, ja seejärel muuta kontrollimise seisundit sudo utiliidi käitamisel, et saada root õigused Ubuntu 20.04-s. Eksploidi tööd on testitud AMD EPYC 7252, 7313P ja 7443 protsessoritega süsteemidel.

Allikas: opennet.ru

Osta usaldusväärne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid 🔥 Osta usaldusväärne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid - ProHoster