Sårbarhet i AMD SEV som gör att krypteringsnycklar kan fastställas

Utvecklare från Google Cloud-teamet avslöjat sårbarhet (CVE-2019-9836) i implementeringen av AMD SEV-teknik (Secure Encrypted Virtualization), vilket gör att data som skyddas med denna teknik kan äventyras. AMD SEV på hårdvarunivå tillhandahåller transparent kryptering av virtuellt maskinminne, där endast det nuvarande gästsystemet har tillgång till dekrypterad data, och andra virtuella maskiner och hypervisorn tar emot en krypterad uppsättning data när de försöker komma åt detta minne.

Det identifierade problemet gör det möjligt att helt återställa innehållet i den privata PDH-nyckeln, som bearbetas på nivån av en separat skyddad PSP-processor (AMD Security Processor), som är otillgänglig för huvudoperativsystemet.
Med PDH-nyckeln kan angriparen sedan återställa sessionsnyckeln och den hemliga sekvensen som specificerades när den virtuella maskinen skapades och få tillgång till den krypterade datan.

Sårbarheten orsakas av brister i implementeringen av elliptisk kurvkryptering (ECC), vilket möjliggör ge sig på för att återställa kurvparametrarna. Under exekveringen av ett skyddat startkommando för virtuell maskin kan en angripare skicka kurvparametrar som inte överensstämmer med NIST-rekommenderade parametrar, vilket resulterar i användningen av låga ordningsvärden i multiplikationsoperationer med privat nyckeldata.

Säkerhet för ECDH-protokollet direkt det beror från ordning den genererade startpunkten för kurvan, vars diskreta logaritm är en mycket svår uppgift. Under ett av initieringsstegen i AMD SEV-miljön använder beräkningar av privata nyckel parametrar som tas emot från användaren. I huvudsak multiplicerar operationen två punkter, varav en motsvarar den privata nyckeln. Om den andra punkten hänvisar till primtal av låg ordning, kan angriparen bestämma parametrarna för den första punkten (bitar av den modul som används i modulo-operationen) genom att söka igenom alla möjliga värden. För att bestämma den privata nyckeln kan de valda primtalsfragmenten sedan sättas ihop med hjälp av Kinesisk restsats.

Problemet påverkar AMD EPYC-serverplattformar som använder SEV-firmware upp till version 0.17 build 11. AMD har redan опубликовала Firmware-uppdatering som lägger till blockering av punkter som inte överensstämmer med NIST-kurvan. Samtidigt förblir tidigare genererade certifikat för PDH-nycklar giltiga, vilket gör att en angripare kan utföra en attack för att migrera virtuella maskiner från miljöer skyddade från sårbarheten till miljöer som är mottagliga för problemet. Möjligheten att utföra en attack för att återställa firmwareversionen till en gammal sårbar version nämns också, men denna möjlighet har ännu inte bekräftats.

Källa: opennet.ru

Lägg en kommentar