Kofler, L. (2026). Limitations of Substituting TrustZone with pKVM: An Evaluation of pKVM as a Trusted Execution Environment [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2026.139988
E194 - Institut für Information Systems Engineering
-
Date (published):
2026
-
Number of Pages:
166
-
Keywords:
Arm TrustZone; pKVM; Sicherheit; Hypervisor; Virtualisierung; AVF
de
Arm TrustZone; pKVM; Security; Hypervisor; Virtualization; AVF
en
Abstract:
Smartphones setzen unter anderem Trusted Execution Environments (TEEs) ein, um sensible Daten zu schützen. TrustZone-basierte TEEs verletzen jedoch das Prinzip der geringsten Privilegien und hängen von proprietärer Original Equipment Manufacturer (OEM)-Software ab. Um die Abhängigkeit von der TrustZone zu verringern, führte Google in Android 13 den protected Kernel-based Virtual Machine (pKVM)-Hypervisor als Teil des Android Virtualization Frameworks (AVF) ein. Da Betriebssystemhersteller die koexistierende, vom OEM kontrollierte TrustZone nicht eliminieren können, gefährden deren Privilegien im Falle einer Kompromittierung die Sicherheit von pKVM. Wir evaluieren die Sicherheitsgarantien von pKVM unter der Annahme einer kompromittierten TrustZone. Mittels einer manuellen Analyse des pKVM-Quellcodes, die sich auf den Mechanismus zur Verwaltung der Speicherzugehörigkeit in den Stage-2-Page Tables (PTs) konzentriert, demonstrieren wir, wie eine kompromittierte TrustZone die Vertraulichkeit und Integrität des durch pKVM geschützten Speichers verletzen kann. Zusätzlich definieren wir ein Angreifermodell, in dem der Angreifer die Kontrolle über die TrustZone besitzt. Mit einem Quick Emulator (QEMU)-basierten Versuchsaufbau, der den Android-Linux-Kernel und OP-TEE ausführt, implementieren und evaluieren wir zwei Angriffsszenarien. Diese Arbeit leistet drei Beiträge: 1) Analyse der pKVM-Interna. Wir analysieren den pKVM-Quellcode und beschreiben insbesondere den Prozess der Speicherisolierung mittels der Stage-2-PTs. 2) Erweiterung des pKVM-Bedrohungsmodells inklusive Testaufbau. Wir erweitern das Bedrohungsmodell um eine kompromittierte TrustZone und implementieren einen entsprechenden QEMU-basierten Versuchsaufbau. 3) Evaluierung von Angriffsszenarien. Wir demonstrieren zwei Angriffe auf pKVM, die dessen Speicherisolationsgarantien untergraben. Der erste exfiltriert geschützten Speicher durch das Extrahieren und Parsen der Host-Stage-2-PTs, um die physischen Adressen dieser Speicherseiten zu identifizieren, während der zweite Eigentumsmetadaten manipuliert, um dem Host unautorisierten Zugriff auf geschützte Speicherseiten zu gewähren. Die Ergebnisse bestätigen, dass pKVM zwar eine vertrauenswürdigere TEE-Technologie darstellt, die architektonischen Privilegien der koexistierenden TrustZone jedoch dessen Isolationsgarantien fundamental untergraben.
de
Modern smartphones use Trusted Execution Environments (TEEs), among other mechanisms, to secure sensitive data and computations. Although widely deployed, Arm TrustZone-based TEEs violate the principle of least privilege and depend on closed-source, Original Equipment Manufacturer (OEM)-controlled software stacks. To reduce reliance on TrustZone, Google introduced the protected Kernel-based Virtual Machine (pKVM) hypervisor in Android 13 as part of the Android Virtualization Framework (AVF), positioning pKVM as a more trustworthy TEE technology included in the operating system (OS) image. However, OS vendors deploying pKVM cannot eliminate the OEM-controlled TrustZone. An adversary that compromises TrustZone can therefore exploit its architectural privileges to subvert the security guarantees of pKVM. We evaluate the security guarantees of pKVM in the presence of a compromised TrustZone. Through a manual analysis of the pKVM source code, focused on the stage-2 Page Table (PT) ownership enforcement mechanism, we identify methods to compromise the confidentiality and integrity of pKVM-protected memory. We further establish an adversary model in which the attacker controls TrustZone. Using a Quick Emulator (QEMU)-based experiment setup that runs Android's Linux kernel and OP-TEE, we implement and evaluate two attack scenarios. This thesis makes three contributions: 1) Analysis of pKVM internals. We analyze the pKVM source code, detailing the ownership enforcement process via the stage-2 PTs to maintain memory isolation. 2) Extension of the pKVM threat model and experiment setup. We formulate an adversary model that explicitly incorporates a compromised TrustZone. To simulate this adversary, we implement a QEMU-based experiment setup. 3) Evaluation of attack scenarios. We demonstrate two attacks on pKVM that undermine its memory isolation guarantees. The first exfiltrates protected memory by extracting and parsing the host stage-2 PTs to identify the physical addresses of these pages, while the second tampers with ownership metadata to grant the host unauthorized access to protected pages. The results confirm that although pKVM offers a more trustworthy TEE technology, the architectural privilege of the coexisting TrustZone fundamentally undermines its isolation guarantees.
en
Additional information:
Arbeit an der Bibliothek noch nicht eingelangt - Daten nicht geprüft Abweichender Titel nach Übersetzung der Verfasserin/des Verfassers