Udviklerne fra Google Cloud-teamet sårbarhed (CVE-2019-9836) i implementeringen af AMD SEV (Secure Encrypted Virtualization), som muliggør kompromittering af data beskyttet ved hjælp af denne teknologi. AMD SEV sikrer på hardware-niveau transparent kryptering af hukommelsen i virtuelle maskiner, hvoradgangen til de dekrypterede data kun har det nuværende gæsteoperativsystem, mens andre virtuelle maskiner og hypervisoren ved forsøg på at få adgang til denne hukommelse kun modtager et krypteret datasæt.
Den identificerede problematik tillader fuldstændig gendannelse af indholdet af den lukkede PDH-nøgle, som behandles på niveauet af den enkelte beskyttede processor PSP (AMD Security Processor), der ikke er tilgængelig for det primære OS.
Med PDH-nøglen kan angriberen derefter gendanne sessionsnøglen og den hemmelige sekvens, der blev fastsat ved oprettelsen af den virtuelle maskine, og få adgang til de krypterede data.
Sårbarheden er forårsaget af mangler i implementeringen af elliptiske kurver (ECC), der anvendes til kryptering, som muliggør for at genskabe kurveparametre. Under udførelse af kommandoen for at starte den beskyttede virtuelle maskine kan angriberen sende kurveparametre, der ikke svarer til de anbefalede parametre fra NIST, hvilket vil resultere i brugen af værdier fra punkter med lav orden i multiplikationsoperationer med data om den lukkede nøgle.
Sikkerheden i ECDH-protokollen afhænger direkte fra af den genererede startpunkt for kurven, hvis diskrete logaritmerepræsentation er en meget kompleks opgave. På et af initialiseringstrin for miljøet AMD SEV anvendes parametre, der er modtaget fra brugeren, i beregninger med den lukkede nøgle. I princippet udføres der en multiplikation af to punkter, hvor det ene svarer til den lukkede nøgle. Hvis det andet punkt er relateret til primtal af lav orden, kan angriberen bestemme parametrene for det første punkt (modulbiterne brugt i exponentiel modulooperation) ved at prøve alle mulige værdier. For at bestemme den lukkede nøgle kan de udvalgte fragmenter af primtal derefter samles ved hjælp af .
Problemstillingen rammer AMD EPYC-serverplatforme, der bruger SEV-firmware op til version 0.17 build 11. AMD har allerede Opdatering af firmware, der tilføjer en blokering mod brug af punkter, der ikke svarer til NIST-kurven. Tidligere genererede certifikater til PDH-nøgler forbliver gyldige, hvilket gør det muligt for en angriber at udføre et angreb ved at migrere virtuelle maskiner fra miljøer, der er beskyttet mod sårbarheden, til miljøer, der er udsat for problemet. Der nævnes også muligheden for at udføre et angreb ved at rulle firmwareversionen tilbage til en ældre sårbar udgave, men denne mulighed er endnu ikke bekræftet.
Kilde: opennet.ru
