Onderzoekers kraken VM-encryptie van AMD Epyc en Ryzen Pro

Een team van Duitse onderzoekers claimen dat ze een methode hebben ontwikkeld om de encryptie van virtuele machines (VM) ongedaan te maken. Hierdoor kunnen ze platte tekst kopiëren uit het geheugen, wat gevoelige informatie kan bevatten.

Duitse onderzoekers claimen dat ze de encryptie van VM’s kunnen kraken in AMD Epyc en Ryzen Pro-chips. Via een overgenomen hypervisor en eenvoudige http-aanvragen voor een webserver waar een tweede gast op dezelfde machine werkt, kunnen ze platte tekst uit het geheugen kopiëren. AMD heeft nog niet willen reageren op het nieuws volgens The Register.

Hypervisor

De AMD Epyc en Ryzen Pro-chips ondersteunen Secure Encrypted Virtualization (SEV). Die versleutelt en geeft virtuele machines vrij on the fly terwijl het in het RAM-geheugen zit zodat een host OS, hypervisor of elke soort malware op een host-computer niet aan de beveiligde VM’s kan. Elke virtuele machine krijgt een specifiek space-id dat gelinkt is aan een cryptografische sleutel om data vergrendelen en ontcijferen wanneer het beweegt tussen geheugen en CPU-kernen. De sleutel verlaat nooit de system-on-chip, en elke VM krijgt zijn eigen sleutel.

In theorie zorgt dit ervoor dat geen malafide of overgenomen hypervisor, kernel, driver of andere code de inhoud van de beveiligde VM kan inspecteren. AMD promoot SEV als een functie die cloud en off-premise hosts belet om gevoelige informatie van virtuele machines te inspecteren. Helaas is dat toch mogelijk met de SEVered-techniek.

Intel SGX

Door heel wat aanvragen te sturen naar één van de services, zoals bijvoorbeeld een HTML-webpagina van Apache, kan de hypervisor zien welke pagina’s aan fysiek geheugen worden gebruikt om het bestand vast te houden. Het wisselt daarna de page mappings zodat een versleutelde pagina in een andere VM wordt gebruikt door Apache voor de gevraagde webpagina. In plaats daarvan zendt het automatisch de vrijgegeven memory page van de andere VM. Dat betekent dat Apache data lekt van een andere gast.

Het team van onderzoekers kon in een testsituatie tot 2 GB aan geheugen data buit maken. Ze claimen echter dat AMD het probleem wel kan oplossen, en wel op twee manieren. De beste optie is om de guest-pages extra te beveiligen bovenop de encryptie, zoals Intel SGX al doet. Helaas zal dit heel wat chipruimte kosten om volledige VM’s te veiligen vergeleken met de SGX-enclaves.

Een low-cost oplossing is er gelukkig ook voor AMD volgens de onderzoekers: combineer op een veilige manier de hash van de inhoud op de pagina met een gastgetekende Guest Physical Address (GPA).