The rise of cloud computing as the standard deployment model for internet-based applications introduced new risks for confidential data processed in the cloud. The cloud provider has full access to all applications that use its infrastructure; hence, it is necessary to fully trust the cloud provider and its security measures. The AMD Secure Encrypted Virtualization (SEV) technology is the first commercially available technology aiming to protect complete virtual machines from adversaries with higher privileges such as cloud providers. With SEV, a virtual machine’s memory and, optionally, its register content is encrypted with a key not accessible to the higher-privileged hypervisor, thereby removing the cloud provider from the trusted computing base of the virtual machine. However, the higher-privileged hypervisor is still responsible for managing the resources of a virtual machine, such as the memory and CPU time. Furthermore, the cloud provider has full access to the physical systems that host the virtual machines. This dissertation presents an extensive security analysis of the SEV technologies to assess their security properties when faced with a higher-privileged adversary. We analyze whether a cloud provider’s control over a virtual machine’s resources is an enabler for attacks against SEV-protected virtual machines.
First, we analyze SEV’s runtime protection of virtual machines by implementing proof-of-concept attacks against SEV-protected virtual machines. We show that we can break SEV’s security properties by manipulating the virtual machine’s register content. The exposed register state allows a higher-privileged adversary to decrypt a virtual machine’s memory. Furthermore, we show that we can leverage the hypervisor’s control over a virtual machine’s memory layout to replay authentication states of SSH connections and thereby getting access to the victim virtual machine. Next, we analyze SEV’s remote attestation feature that allows customers of cloud systems to validate the correct deployment of their virtual machines. We implement attacks against the AMD Secure Processor, a crucial component in the SEV ecosystem. The AMD Secure Processor is responsible for hosting a firmware component that implements the SEV remote attestation protocol. We show how an adversary can use firmware issues to gain access to critical endorsement keys that enable the adversary to pose as a valid SEV migration target or decrypt a virtual machine’s memory. Finally, we analyze the susceptibility of the SEV technologies towards physical attacks. We present a voltage glitching attack that allows an attacker to execute custom payloads on the AMD Secure Processor. Our voltage fault injection attack enables an adversary with physical access, e.g., a cloud provider’s administrator, to extract SEV endorsement keys and directly access a virtual machine’s memory.
With our findings, we prove that SEV cannot adequately protect confidential data in cloud environments from insider attackers, such as rogue administrators in its current state. Our results pave the way for improvements for future SEV generations and related technologies.Der Aufstieg des Cloud Computings zum Standardmodell für internetbasierte Anwendungen hat neue Risiken für vertrauliche Daten, die in der Cloud verarbeitet werden, mit sich gebracht. Der Cloud-Anbieter hat vollen Zugriff auf alle Anwendungen, die seine Infrastruktur nutzen; daher ist es notwendig, dem Cloud-Anbieter und seinen Sicherheitsmaßnahmen voll zu vertrauen.
Die AMD Secure Encrypted Virtualization (SEV) Technologie ist die erste kommerziell verfügbare Technologie, die darauf abzielt, komplette virtuelle Maschinen vor Angreifern mit höheren Privilegien zu schützen. Mit SEV werden der Speicher einer virtuellen Maschine und optional ihr Registerinhalt mit einem Schlüssel verschlüsselt, auf den der Hypervisor mit höheren Privilegien keinen Zugriff hat, wodurch der Cloud-Anbieter aus der Trusted Computing Base der virtuellen Maschine entfernt wird. Der Hypervisor ist jedoch nach wie vor für die Verwaltung der Ressourcen einer virtuellen Maschine, z. B. Arbeitsspeicher und CPU-Zeit, zuständig. Außerdem hat der Cloud-Anbieter vollen Zugriff auf die physischen Systeme, die die virtuellen Maschinen hosten. In dieser Dissertation wird eine umfassende Sicherheitsanalyse der SEV-Technologien durchgeführt, um ihre Sicherheitseigenschaften gegenüber Angreifern mit höheren Privilegien zu bewerten. Wir analysieren, ob die Kontrolle eines Cloud-Anbieters über die Ressourcen einer virtuellen Maschine Angriffe auf SEV-geschützte virtuelle Maschinen ermöglicht.
Zunächst analysieren wir den SEV-Laufzeitschutz virtueller Maschinen durch die Implementierung von Proof-of-Concept-Angriffen auf SEV-geschützte virtuelle Maschinen. Wir zeigen, dass wir die Sicherheitseigenschaften von SEV brechen können, indem wir den Registerinhalt der virtuellen Maschine manipulieren. Der offengelegte Registerinhalt ermöglicht es einem Angreifer mit höheren Privilegien, den Speicher einer virtuellen Maschine Kontrolle des Hypervisors über das Speicherlayout einer virtuellen Maschine ausnutzen können, um den Authentifizierungsstatus von SSH-Verbindungen wieder einzuspielen und so Zugriff auf die virtuelle Maschine zu erhalten. Als nächstes analysieren wir den SEV Remote Attestation Mechanismus, der es Kunden von Cloud-Systemen ermöglicht, die korrekte Bereitstellung ihrer virtuellen Maschinen zu überprüfen. Wir implementieren Angriffe auf den AMD Secure Processor, eine wichtige Komponente im SEV-Ökosystem. Der AMD Secure Processor ist für das Hosting einer Firmware-Komponente verantwortlich, die das SEV-Protokoll für die Remote Attestation implementiert. Wir zeigen, wie ein Angreifer Firmware-Probleme nutzen kann, um Zugang zu kritischen Endorsement-Schlüsseln zu erhalten, die es dem Angreifer ermöglichen, sich als gültiges SEV-Migrationsziel auszugeben, oder den Speicher einer virtuellen Maschine zu entschlüsseln. Schließlich analysieren wir die Anfälligkeit der SEV-Technologien für physische Angriffe. Wir präsentieren einen Angriff durch Voltage Fault Injection, der es einem Angreifer ermöglicht, benutzerdefinierte Nutzdaten auf dem AMD Secure Processor auszuführen. Unser Voltage Fault Injection-Angriff ermöglicht es einem Angreifer mit physischem Zugriff, z. B. dem Administrator eines Cloud-Anbieters, SEV Endorsement-Schlüssel zu extrahieren und direkt auf den Speicher einer virtuellen Maschine zuzugreifen.
Mit unseren Ergebnissen beweisen wir, dass SEV in seinem derzeitigen Zustand vertrauliche Daten in Cloud-Umgebungen nicht ausreichend vor Insider-Angreifern, wie z. B. System Administratoren, schützen kann. Unsere Ergebnisse ebnen den Weg für Verbesserungen für Zukünftige SEV-Generationen und verwandte Technologien