Sårbarhed i AMD SEV, der gør det muligt at bestemme krypteringsnøgler

Udviklere fra Google Cloud-teamet afsløret sårbarhed (CVE-2019-9836) i implementeringen af ​​AMD SEV (Secure Encrypted Virtualization) teknologi, som gør det muligt at kompromittere data beskyttet ved hjælp af denne teknologi. AMD SEV på hardwareniveau giver gennemsigtig kryptering af virtuel maskinhukommelse, hvor kun det nuværende gæstesystem har adgang til dekrypterede data, og andre virtuelle maskiner og hypervisoren modtager et krypteret sæt data, når de forsøger at få adgang til denne hukommelse.

Det identificerede problem gør det muligt fuldstændigt at gendanne indholdet af den private PDH-nøgle, som behandles på niveauet af en separat beskyttet PSP-processor (AMD Security Processor), som er utilgængelig for hovedoperativsystemet.
Med PDH-nøglen kan angriberen derefter gendanne den sessionsnøgle og den hemmelige sekvens, der er angivet ved oprettelse af den virtuelle maskine, og få adgang til de krypterede data.

Sårbarheden er forårsaget af fejl i implementeringen af ​​elliptisk kurvekryptering (ECC), som tillader angreb for at gendanne kurveparametrene. Under udførelsen af ​​en beskyttet virtuel maskine-startkommando kan en angriber sende kurveparametre, der ikke overholder NIST-anbefalede parametre, hvilket resulterer i brugen af ​​lave ordenspunktværdier i multiplikationsoperationer med private nøgledata.

Sikkerhed af ECDH-protokollen direkte Det afhænger fra bestille det genererede startpunkt for kurven, hvis diskrete logaritme er en meget vanskelig opgave. Under et af initialiseringstrinene i AMD SEV-miljøet bruger private nøgleberegninger parametre modtaget fra brugeren. Grundlæggende er operationen at gange to punkter, hvoraf det ene svarer til den private nøgle. Hvis det andet punkt refererer til primtal af lav orden, så kan angriberen bestemme parametrene for det første punkt (bits af det modul, der bruges i modulo-operationen) ved at søge gennem alle mulige værdier. For at bestemme den private nøgle kan de valgte primtalsfragmenter derefter stykkes sammen vha Kinesisk restsætning.

Problemet påvirker AMD EPYC-serverplatforme, der bruger SEV-firmware op til version 0.17 build 11. AMD har allerede опубликовала Firmwareopdatering, der tilføjer blokering af punkter, der ikke overholder NIST-kurven. Samtidig forbliver tidligere genererede certifikater til PDH-nøgler gyldige, hvilket gør det muligt for en angriber at udføre et angreb for at migrere virtuelle maskiner fra miljøer, der er beskyttet mod sårbarheden til miljøer, der er modtagelige for problemet. Muligheden for at udføre et angreb for at rulle firmwareversionen tilbage til en gammel sårbar udgivelse er også nævnt, men denne mulighed er endnu ikke bekræftet.

Kilde: opennet.ru

Tilføj en kommentar