Kwetsberens yn AMD CPU's wêrmei jo it SEV (Secure Encrypted Virtualization) beskermingsmeganisme kinne omgean

Undersikers by it Helmholtz Center for Information Security (CISPA) hawwe in nije CacheWarp-oanfalmetoade publisearre om it AMD SEV (Secure Encrypted Virtualization) feiligensmeganisme te kompromittearjen dat brûkt wurdt yn virtualisaasjesystemen om firtuele masines te beskermjen tsjin ynterferinsje troch de hypervisor of hostsysteembehearder. De foarstelde metoade lit in oanfaller mei tagong ta de hypervisor koade fan tredden útfiere en privileezjes eskalearje yn in firtuele masine beskerme mei AMD SEV.

De oanfal is basearre op it brûken fan in kwetsberens (CVE-2023-20592) feroarsake troch ferkearde wurking fan 'e cache tidens de útfiering fan' e INVD-prosessor-ynstruksje, wêrmei't it mooglik is om in gegevensmismatch yn ûnthâld en cache te berikken , en bypass meganismen foar it behâld fan de yntegriteit fan firtuele masine ûnthâld, útfierd basearre op útwreidings SEV-ES en SEV-SNP. De kwetsberens hat ynfloed op AMD EPYC-processors fan 'e earste oant de tredde generaasje.

Foar tredde generaasje AMD EPYC-processors (Zen 3) wurdt it probleem oplost yn 'e novimber-mikrokoade-fernijing dy't juster troch AMD frijlitten is (de fix resulteart net yn ienige prestaasjesdegradaasje). Foar de earste en twadde generaasjes fan AMD EPYC (Zen 1 en Zen 2) wurdt beskerming net levere, om't dizze CPU's de SEV-SNP-útwreiding net stypje, dy't yntegriteitskontrôle foar firtuele masines leveret. De fjirde generaasje fan AMD AMD EPYC "Genua" processors basearre op de "Zen 4" mikroarsjitektuer is net kwetsber.

AMD SEV-technology wurdt brûkt foar isolaasje fan firtuele masines troch wolkproviders lykas Amazon Web Services (AWS), Google Cloud, Microsoft Azure en Oracle Compute Infrastructure (OCI). AMD SEV-beskerming wurdt ymplementearre fia hardware-nivo fersifering fan firtuele masine-ûnthâld. Derneist beskermet de SEV-ES (Encrypted State) tafoeging CPU-registers. Allinnich it hjoeddeiske gastsysteem hat tagong ta de ûntsifere gegevens, en as oare firtuele masines en de hypervisor besykje tagong te krijen ta dit ûnthâld, krije se in fersifere set fan gegevens.

De tredde generaasje fan AMD EPYC processors yntrodusearre in ekstra útwreiding, SEV-SNP (Secure Nested Paging), dy't soarget foar feilige wurking fan nested ûnthâld side tabellen. Neist algemiene ûnthâld fersifering en register isolaasje, SEV-SNP ymplemintearret ekstra maatregels te beskermjen ûnthâld yntegriteit troch it foarkommen fan feroarings oan de VM troch de hypervisor. Fersiferingskaaien wurde beheard oan 'e kant fan in aparte PSP (Platform Security Processor) prosessor boud yn' e chip, útfierd op basis fan ARM-arsjitektuer.

De essinsje fan 'e foarstelde oanfalmetoade is om de INVD-ynstruksje te brûken om blokken (rigels) yn' e cache fan smoarge siden ûnjildich te meitsjen sûnder de gegevens sammele yn 'e cache yn it ûnthâld te dumpen (weromskriuwe). Sa lit de metoade jo feroare gegevens út 'e cache ferwiderje sûnder de ûnthâldstatus te feroarjen. Om in oanfal út te fieren, wurdt it foarsteld om software-útsûnderings (foutynjeksje) te brûken om de wurking fan 'e firtuele masine op twa plakken te ûnderbrekken: yn it foarste plak neamt de oanfaller de ynstruksje "wbnoinvd" om alle ûnthâld skriuwoperaasjes te resetten dy't sammele binne yn de cache, en yn it twadde plak neamt de "invd" ynstruksje om werom skriuw operaasjes net wjerspegele yn it ûnthâld nei de âlde steat.

Om jo systemen te kontrolearjen op kwetsberens, is in eksploitaasjeprototype publisearre wêrmei jo in útsûndering kinne ynfoegje yn in firtuele masine beskerme fia AMD SEV en wizigingen yn 'e VM weromdraaie dy't net yn it ûnthâld binne weromset. It weromdraaien fan in wiziging kin brûkt wurde om de stream fan in programma te feroarjen troch in âld weromadres op 'e steapel werom te jaan, of om de oanmeldparameters fan in âlde sesje te brûken dy't earder authentisearre waard troch in wearde fan in autentikaasjeattribute werom te jaan.

Bygelyks, ûndersikers demonstreare de mooglikheid om de CacheWarp-metoade te brûken om in Bellcore-oanfal út te fieren op 'e ymplemintaasje fan it RSA-CRT-algoritme yn' e ipp-crypto-bibleteek, dy't it mooglik makke om de privee kaai werom te heljen troch flaterferfanging by it berekkenjen fan in digitale hantekening. It lit ek sjen hoe't jo de sesjeferifikaasjeparameters kinne feroarje nei OpenSSH as jo op ôfstân ferbine mei in gastsysteem, en dan de ferifikaasjestatus feroarje by it útfieren fan it sudo-hulpprogramma om root-rjochten te krijen yn Ubuntu 20.04. De eksploitaasje is hifke op systemen mei AMD EPYC 7252, 7313P en 7443 processors.

Boarne: opennet.ru

Add a comment