Design and provability of a statically configurable hypervisor

dc.contributor.advisorSeifert, Jean-Pierre
dc.contributor.authorNordholz, Jan
dc.contributor.grantorTechnische Universität Berlinen
dc.contributor.refereeJähnichen, Stefan
dc.contributor.refereeMassacci, Fabio
dc.date.accepted2017-06-02
dc.date.accessioned2017-06-07T09:58:18Z
dc.date.available2017-06-07T09:58:18Z
dc.date.issued2017
dc.description.abstractIn this thesis we develop a novel, minimalist design for Type I hypervisors and present a fully working prototype for the ARMv7 and ARMv8 architectures. We introduce its key design paradigm, the Principle of Staticity, elaborate on its consequences for the resulting implementation, and discuss scenarios where not all dynamicity can be eliminated. We also describe, implement, and evaluate the configuration framework necessary to build this specific kind of hypervisor. Even though the compiled hypervisor images are fully static, we show that the framework is powerful enough to support various system-on-chip target platforms, different address translation regimes, and even completely unrelated architectures. We further demonstrate its versatility by extending the framework to even support embedded processors which only contain a memory protection unit. After performing a selection of benchmarks to substantiate the competitiveness of our implementation, we continue by subjecting our hypervisor to an analysis using a specialized form of symbolic model checking. We succeed in deriving integrity properties for the hypervisor as well as among virtual machines with surprisingly little effort, but show that complexity immediately ramps up once dynamic components like a shadow paging unit are added to our design. Finally we demonstrate the extensibility of our design despite our postulated Principle of Staticity. As an optimization example, we introduce the concept of "lightweight VMs" and present a novel use case for a recent feature of the ARM architecture, thereby reducing the switch latency between virtual machines. We conclude with an overview over the published research efforts based on or heavily inspired by our hypervisor and discuss future research questions.en
dc.description.abstractWir entwickeln in dieser Arbeit ein neuartiges, minimalistisches Design für Type-I-Hypervisors und stellen einen voll funktionsfähigen Prototypen für die ARMv7- und ARMv8-Architektur vor. Wir führen das zugrundeliegende Design-Konzept, das "Prinzip der Statizität", ein, erläutern dessen Konsequenzen für die daraus hervorgehende Implementierung und diskutieren Szenarien, in denen Dynamik nicht vollständig eliminiert werden kann. Daneben beschreiben, implementieren und evaluieren wir auch die zur Erstellung eines solchen Hypervisors notwendige Konfigurationsumgebung. Obwohl die kompilierten Hypervisor-Images völlig statisch sind, zeigen wir, daß die Werkzeuge mächtig genug sind, um Unterstützung für diverse System-on-Chip-Plattformen, unterschiedliche Formen der Adreßübersetzung und sogar völlig unterschiedliche Prozessorarchitekturen zu bieten. Wir zeigen, daß es durch eine Erweiterung sogar möglich ist, sogar Prozessoren zu unterstützen, die nur eine Memory Protection Unit beinhalten. Nach der Durchführung einer Auswahl von Benchmarks, um die Wettbewerbsfähigkeit unserer Implementierung zu untermauern, setzen wir mit der Analyse unseres Hypervisors mit einer speziellen Form der symbolischen Ausführung fort. Wir leiten erfolgreich und mit erstaunlich geringem Aufwand Integritätseigenschaften sowohl für den Hypervisor selbst als auch für die virtuellen Maschinen untereinander ab, zeigen jedoch, daß die Komplexität des Verfahrens sofort stark ansteigt, sobald dynamische Komponenten wie ein Shadow-Paging-Modul zu unserem Design hinzugefügt werden. Schließlich zeigen wir, daß unser Design trotz des Festhaltens am postulierten "Prinzip der Statizität" erweiterbar ist. Als Beispiel für eine Optimierung führen wir das Konzept von "Lightweight VMs" ein und präsentieren eine neuartige Verwendung eines jüngeren Merkmals der ARM-Architektur, wodurch wir die Umschaltzeiten zwischen virtuellen Maschinen reduzieren können. Wir schließen die Arbeit mit einem Überblick über die veröffentlichten Forschungsarbeiten ab, die auf unserem Hypervisor basieren oder stark davon beeinflußt wurden, und diskutieren weiterführende Forschungsprobleme.de
dc.identifier.urihttps://depositonce.tu-berlin.de/handle/11303/6388
dc.identifier.urihttp://dx.doi.org/10.14279/depositonce-5938
dc.language.isoenen
dc.rights.urihttps://creativecommons.org/licenses/by-sa/4.0/en
dc.subject.ddc003 Systemede
dc.subject.otherhypervisoren
dc.subject.othervirtualizationen
dc.subject.othersymbolic executionen
dc.subject.otherformal methodsen
dc.subject.otherHypervisorde
dc.subject.otherVirtualisierungde
dc.subject.othersymbolische Ausführungde
dc.subject.otherformale Methodende
dc.titleDesign and provability of a statically configurable hypervisoren
dc.title.translatedDesign und Beweisbarkeit eines statisch konfigurierbaren Hypervisorsde
dc.typeDoctoral Thesisen
dc.type.versionacceptedVersionen
tub.accessrights.dnbfreeen
tub.affiliationFak. 4 Elektrotechnik und Informatik::Inst. Softwaretechnik und Theoretische Informatikde
tub.affiliation.facultyFak. 4 Elektrotechnik und Informatikde
tub.affiliation.instituteInst. Softwaretechnik und Theoretische Informatikde
tub.publisher.universityorinstitutionTechnische Universität Berlinen

Files

Original bundle
Now showing 1 - 1 of 1
Loading…
Thumbnail Image
Name:
nordholz_jan.pdf
Size:
1.65 MB
Format:
Adobe Portable Document Format
Description:
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
5.75 KB
Format:
Item-specific license agreed upon to submission
Description:

Collections