1 |
Design and Implementation of the VirtuOS Operating SystemNikolaev, Ruslan 21 January 2014 (has links)
Most operating systems provide protection and isolation to user processes, but not to critical system components such as device drivers or other systems code. Consequently, failures in these components often lead to system failures. VirtuOS is an operating system that exploits a new method of decomposition to protect against such failures. VirtuOS exploits virtualization to isolate and protect vertical slices of existing OS kernels in separate service domains. Each service domain represents a partition of an existing kernel, which implements a subset of that kernel's functionality. Service domains directly service system calls from user processes. VirtuOS exploits an exceptionless model, avoiding the cost of a system call trap in many cases. We illustrate how to apply exceptionless system calls across virtualized domains.
To demonstrate the viability of VirtuOS's approach, we implemented a prototype based on the Linux kernel and Xen hypervisor. We created and evaluated a network and a storage service domain. Our prototype retains compatibility with existing applications, can survive the failure of individual service domains while outperforming alternative approaches such as isolated driver domains and even exceeding the performance of native Linux for some multithreaded workloads.
The evaluation of VirtuOS revealed costs due to decomposition, memory management, and communication, which necessitated a fine-grained analysis to understand their impact on the system's performance. The interaction of virtual machines with multiple underlying software and hardware layers in virtualized environment makes this task difficult. Moreover, performance analysis tools commonly used in native environments were not available in virtualized environments. Our work addresses this problem to enable an in-depth performance analysis of VirtuOS. Our Perfctr-Xen framework provides capabilities for per-thread analysis with both accumulative event counts and interrupt-driven event sampling. Perfctr-Xen is a flexible and generic tool, supports different modes of virtualization, and can be used for many applications outside of VirtuOS. / Ph. D.
|
2 |
Kapselung von Standard-BetriebssystemenMehnert, Frank 21 June 2005 (has links) (PDF)
Populaere Betriebssysteme (Windows XP, UNIX) sind in heutiger Zeit meist monolithisch aufgebaut. Durch immer neue nachgewiesene Sicherheitslücken in Kern und Anwendungen wird eindrucksvoll belegt, dass monolithische Architekturen den heutigen Sicherheitsanforderungen nicht mehr gewachsen sind. Dennoch kann man auf die reichhaltige Basis an Anwendungen heutiger Betriebssysteme nicht verzichten. Als Ausweg werden herkoemmliche Betriebssysteme isoliert in einer vertrauenswuerdigen Umgebung ausgeführt. Eine in letzter Zeit immer populaerere Methode zur Kapselung besteht in der Virtualisierung mit verschiedenen Auspraegungen. Mit L4Linux wurde 1997 erstmals nachgewiesen, dass die Ausfuehrung eines Standard-Betriebssystems auf einem Mikrokern (manchmal auch Para-Virtualisierung genannt) nicht zwangslaeufig zu inakzeptablen Mehrkosten an Laufzeit fuehren muss. Bei Einsatz von gebraeuchlicher Standardhardware muessen allerdings eine Reihe von Problemen geloest werden, unter anderem der uneingeschraenkte Zugriff von Geraeten auf den physischen Adressraum mittels DMA. Im Rahmen der Arbeit wird ein allgemeines Modell von IO-Adressraeumen als Erweiterung der virtuellen Adressraeume der CPU eingefuehrt und gezeigt, wie mittels Teil-Virtualisierung von Geraeten IO-Adressraeume in Software emuliert werden koennen. Weiterhin werden anhand von L4Linux Moeglichkeiten eroertert und implementiert, wie Betriebssystem-Kerne vollstaendig gezaehmt und insbesondere ohne IO-Privilegien ausgefuehrt werden koennen. Im Kapitel "Leistungsbewertung" erfolgt eine umfangreiche Evaluation der Implementierung anhand von L4Linux 2.2.
|
3 |
Kapselung von Standard-BetriebssystemenMehnert, Frank 14 July 2005 (has links)
Populaere Betriebssysteme (Windows XP, UNIX) sind in heutiger Zeit meist monolithisch aufgebaut. Durch immer neue nachgewiesene Sicherheitslücken in Kern und Anwendungen wird eindrucksvoll belegt, dass monolithische Architekturen den heutigen Sicherheitsanforderungen nicht mehr gewachsen sind. Dennoch kann man auf die reichhaltige Basis an Anwendungen heutiger Betriebssysteme nicht verzichten. Als Ausweg werden herkoemmliche Betriebssysteme isoliert in einer vertrauenswuerdigen Umgebung ausgeführt. Eine in letzter Zeit immer populaerere Methode zur Kapselung besteht in der Virtualisierung mit verschiedenen Auspraegungen. Mit L4Linux wurde 1997 erstmals nachgewiesen, dass die Ausfuehrung eines Standard-Betriebssystems auf einem Mikrokern (manchmal auch Para-Virtualisierung genannt) nicht zwangslaeufig zu inakzeptablen Mehrkosten an Laufzeit fuehren muss. Bei Einsatz von gebraeuchlicher Standardhardware muessen allerdings eine Reihe von Problemen geloest werden, unter anderem der uneingeschraenkte Zugriff von Geraeten auf den physischen Adressraum mittels DMA. Im Rahmen der Arbeit wird ein allgemeines Modell von IO-Adressraeumen als Erweiterung der virtuellen Adressraeume der CPU eingefuehrt und gezeigt, wie mittels Teil-Virtualisierung von Geraeten IO-Adressraeume in Software emuliert werden koennen. Weiterhin werden anhand von L4Linux Moeglichkeiten eroertert und implementiert, wie Betriebssystem-Kerne vollstaendig gezaehmt und insbesondere ohne IO-Privilegien ausgefuehrt werden koennen. Im Kapitel "Leistungsbewertung" erfolgt eine umfangreiche Evaluation der Implementierung anhand von L4Linux 2.2.
|
4 |
Exploitation from malicious PCI express peripheralsRothwell, Colin Lewis January 2018 (has links)
The thesis of this dissertation is that, despite widespread belief in the security community, systems are still vulnerable to attacks from malicious peripherals delivered over the PCI Express (PCIe) protocol. Malicious peripherals can be plugged directly into internal PCIe slots, or connected via an external Thunderbolt connection. To prove this thesis, we designed and built a new PCIe attack platform. We discovered that a simple platform was insufficient to carry out complex attacks, so created the first PCIe attack platform that runs a full, conventional OS. To allows us to conduct attacks against higher-level OS functionality built on PCIe, we made the attack platform emulate in detail the behaviour of an Intel 82574L Network Interface Controller (NIC), by using a device model extracted from the QEMU emulator. We discovered a number of vulnerabilities in the PCIe protocol itself, and with the way that the defence mechanisms it provides are used by modern OSs. The principal defence mechanism provided is the Input/Output Memory Management Unit (IOMMU). The remaps the address space used by peripherals in 4KiB chunks, and can prevent access to areas of address space that a peripheral should not be able to access. We found that, contrary to belief in the security community, the IOMMUs in modern systems were not designed to protect against attacks from malicious peripherals, but to allow virtual machines direct access to real hardware. We discovered that use of the IOMMU is patchy even in modern operating systems. Windows effectively does not use the IOMMU at all; macOS opens windows that are shared by all devices; Linux and FreeBSD map windows into host memory separately for each device, but only if poorly documented boot flags are used. These OSs make no effort to ensure that only data that should be visible to the devices is in the mapped windows. We created novel attacks that subverted control flow and read private data against systems running macOS, Linux and FreeBSD with the highest level of relevant protection enabled. These represent the first use of the relevant exploits in each case. In the final part of this thesis, we evaluate the suitability of a number of proposed general purpose and specific mitigations against DMA attacks, and make a number of recommendations about future directions in IOMMU software and hardware.
|
5 |
Virtualizace I/O operací v oblasti počítačových sítí / I/O Virtualization in NetworkingPerešíni, Martin January 2020 (has links)
Existuje veľa rôznych dôvodov pre spoločnosti a organizácie, prečo by mali investovať do virtualizácie. Asi najväčší dôvod je finančná motivácia, pretože nasadenie virtualizácie môže ušetriť nemálo peňazí. Táto práca sa zaoberá práve problémom virtualizácie I/O operácií v sieťovom prostredí. Cieľom práce je tvorba softvérových ovládačov pre I/O virtualizáciu, ktoré by mohli pracovať s hardvérovo akcelerovanými sieťovými kartami. Hlavným prínosom ovládačov by mala byť použiteľnosť a čo najmenšia strata prenosového výkonu vo virtualizovanom prostredí. Pred popisom finálnych detailov ovládačov je však potrebné uviesť potrebné teoretické základy. Teoretická časť sa zaoberá súčasnými trendami vo virtualizácii I/O, technológiami ako sú virtio, vhost, SR-IOV, VFIO a mdev. V praktickej časti sú navrhuté dva spôsoby riešenia problému. Prvým je použitie technológie virtio (emulácia softvéru). Druhé je založené na technológii VFIO-mdev (hybridná paravirtualizácia). Pokiaľ sa jedná o výkon a konfigurovateľnosť zariadení, oba prístupy majú rôzne benefity. Tieto riešenia majú aj svoje nevýhody, ako je zložitosť riešenia a náročnosť integrácie do systému. Požadované ciele boli úspešne dosiahnuté vo forme prototypu ovládača nfb_mdev.
|
Page generated in 0.0208 seconds