• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 9
  • 5
  • 2
  • Tagged with
  • 16
  • 13
  • 11
  • 9
  • 8
  • 8
  • 8
  • 6
  • 5
  • 5
  • 4
  • 4
  • 4
  • 3
  • 3
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
11

Improving System Security Through TCB Reduction

Kauer, Bernhard 15 December 2014 (has links)
The OS (operating system) is the primary target of todays attacks. A single exploitable defect can be sufficient to break the security of the system and give fully control over all the software on the machine. Because current operating systems are too large to be defect free, the best approach to improve the system security is to reduce their code to more manageable levels. This work shows how the security-critical part of the OS, the so called TCB (Trusted Computing Base), can be reduced from millions to less than hundred thousand lines of code to achieve these security goals. Shrinking the software stack by more than an order of magnitude is an open challenge since no single technique can currently achieve this. We therefore followed a holistic approach and improved the design as well as implementation of several system layers starting with a new OS called NOVA. NOVA provides a small TCB for both newly written applications but also for legacy code running inside virtual machines. Virtualization is thereby the key technique to ensure that compatibility requirements will not increase the minimal TCB of our system. The main contribution of this work is to show how the virtual machine monitor for NOVA was implemented with significantly less lines of code without affecting the performance of its guest OS. To reduce the overall TCB of our system, other parts had to be improved as well. Additional contributions are the simplification of the OS debugging interface, the reduction of the boot stack and a new programming language called B1 that can be more easily compiled.
12

Secure Virtualization of Latency-Constrained Systems

Lackorzynski, Adam 06 February 2015 (has links)
Virtualization is a mature technology in server and desktop environments where multiple systems are consolidate onto a single physical hardware platform, increasing the utilization of todays multi-core systems as well as saving resources such as energy, space and costs compared to multiple single systems. Looking at embedded environments reveals that many systems use multiple separate computing systems inside, including requirements for real-time and isolation properties. For example, modern high-comfort cars use up to a hundred embedded computing systems. Consolidating such diverse configurations promises to save resources such as energy and weight. In my work I propose a secure software architecture that allows consolidating multiple embedded software systems with timing constraints. The base of the architecture builds a microkernel-based operating system that supports a variety of different virtualization approaches through a generic interface, supporting hardware-assisted virtualization and paravirtualization as well as multiple architectures. Studying guest systems with latency constraints with regards to virtualization showed that standard techniques such as high-frequency time-slicing are not a viable approach. Generally, guest systems are a combination of best-effort and real-time work and thus form a mixed-criticality system. Further analysis showed that such systems need to export relevant internal scheduling information to the hypervisor to support multiple guests with latency constraints. I propose a mechanism to export those relevant events that is secure, flexible, has good performance and is easy to use. The thesis concludes with an evaluation covering the virtualization approach on the ARM and x86 architectures and two guest operating systems, Linux and FreeRTOS, as well as evaluating the export mechanism.
13

Provable Protection of Confidential Data in Microkernel-Based Systems

Völp, Marcus 31 January 2011 (has links)
Although modern computer systems process increasing amounts of sensitive, private, and valuable information, most of today’s operating systems (OSs) fail to protect confidential data against unauthorized disclosure over covert channels. Securing the large code bases of these OSs and checking the secured code for the absence of covert channels would come at enormous costs. Microkernels significantly reduce the necessarily trusted code. However, cost-efficient, provable confidential-data protection in microkernel-based systems is still challenging. This thesis makes two central contributions to the provable protection of confidential data against disclosure over covert channels: • A budget-enforcing, fixed-priority scheduler that provably eliminates covert timing channels in open microkernel-based systems; and • A sound control-flow-sensitive security type system for low-level operating-system code. To prevent scheduling-related timing channels, the proposed scheduler treats possibly leaking, blocked threads as if they were runnable. When it selects such a thread, it runs a higher classified budget consumer. A characterization of budget-consumer time as a blocking term makes it possible to reuse a large class of existing admission tests to determine whether the proposed scheduler can meet the real-time guarantees of all threads we envisage to run. Compared to contemporary information-flow-secure schedulers, significantly more real-time threads can be admitted for the proposed scheduler. The role of the proposed security type system is to prove those system components free of security policy violating information flows that simultaneously operate on behalf of differently classified clients. In an open microkernel-based system, these are the microkernel and the necessarily trusted multilevel servers. To reduce the complexity of the security type system, C++ operating-system code is translated into a corresponding Toy program, which in turn is complemented with calls to Toy procedures describing the side effects of interactions with the underlying hardware. Toy is a non-deterministic intermediate programming language, which I have designed specifically for this purpose. A universal lattice for shared-memory programs enables the type system to check the resulting Toy code for potentially harmful information flows, even if the security policy of the system is not known at the time of the analysis. I demonstrate the feasibility of the proposed analysis in three case studies: a virtual-memory access, L4 inter-process communication and a secure buffer cache. In addition, I prove Osvik’s countermeasure effective against AES cache side-channel attacks. To my best knowledge, this is the first security-type-system-based proof of such a countermeasure. The ability of a security type system to tolerate temporary breaches of confidentiality in lock-protected shared-memory regions turned out to be fundamental for this proof.
14

Ein durchgaengiges Architekturkonzept fuer Anwendungs- und Betriebssysteme

Graupner, Sven 18 December 1997 (has links) (PDF)
Die zunehmende Einsatzvielfalt von Hard- und Softwaresystemen führt zu einem wachsenden Bedarf, Betriebssysteme als (Software-) Infrastrukturen für Anwendungen zweckorientiert anzupassen bzw. herzustellen. Das Anwendungsgebiet reicht dabei über das der universellen Betriebssysteme für universelle Rechensysteme hinaus. Anwendungsentwicklung findet nicht mehr notwendigerweise ausschließlich im Anwendungsbereich statt, sondern kann sich auch auf unterliegende Systemschichten beziehen. Infrastruktur muß dafür einerseits offen sein, und andererseits muß es auch dort geeignete Strukturen geben, welche die Herstellung bzw. Anpassung von Infrastrukturkomponenten für Anwendungshersteller auch geeignet unterstützen. Dem Gesamtsystem sollte eine Architektur zugrunde liegen, welche strukturell, funktional und methodisch alle Systembereiche bzw. verschiedenartige Zielsysteme in einer einheitlichen, durchgängigen Weise erfaßt und heute vorhandene Strukturbrüche überwindet. Gleichzeitig muß der Spezifik unterschiedlicher Systemumgebungen Rechnung getragen werden. In dieser Dissertation wird eine dafür geeignete Architektur aus der Analyse des Gegenstandsbereichs dynamischer ablaufender Systeme hergeleitet und begründet. Die praktische Umsetzbarkeit wird anhand der Implementierung des CheOps-Kerns gezeigt und bewertet. Um der Verschiedenartigkeit von Systemen bzw. Systembereichen gerecht zu werden, ist ein hohes Maß an Skalierbarkeit der Architekturmerkmale erforderlich. Dies wird durch Trennung universeller Merkmale von konkreten Ausprägungen in jeweiligen Zielumgebungen erreicht. In der generalisierten Architektur wird das unterlegte, durchgängig anwendbare Architekturkonzept festgelegt. Es ist durch Schichten als vertikale Grundstruktur gekennzeichnet. Innerhalb von Schichten bilden (Verarbeitungs-) Instanzen das zentrale Strukturelement, um semantisch zusammengehörige Teilverarbeitungen identifizierbaren, aktiv dienstausführenden Elementen zuzuordnen. Das Vorbild dafür ist das aus dem Anwendungsbereich bekannte Client-Server-Modell. Die Anpassung an jeweilige Systemumgebungen erfolgt dann durch explizites Ableiten spezieller Ausprägungen von Elementen und Beziehungen aus den generellen Architekturmerkmalen und der Zuordnung jeweils geeigneter Ausführungs- und Ablaufeigenschaften. In dieser hier explizit vorgenommenen Differenzierung liegt ein wesentlicher Unterschied zu anderen Architekturvorschlägen. Erst dadurch wird das Grundmuster des Client-Server-Modells auf alle Infrastrukturschichten in speziell angepaßten Ausprägungen übertragbar und damit Anwendungsanpaßbarkeit strukturell auch für Infrastruktur unterstützt. Mit der Implementierung des CheOps-Kerns konnte gezeigt werden, daß sich das Strukturmuster von Instanzen selbst für die unterste Systemschicht der Unterbrechungsverarbeitung anwenden läßt und sich daraus neben strukturellen auch vorteilhafte Ablaufeigenschaften ergeben. Dieses neuartige Implementierungsprinzip auf Basis sogenannter iproc-Instanzen wird im zweiten Teil der Dissertation im Detail vorgestellt und bewertet.
15

Ein durchgaengiges Architekturkonzept fuer Anwendungs- und Betriebssysteme

Graupner, Sven 03 November 1997 (has links)
Die zunehmende Einsatzvielfalt von Hard- und Softwaresystemen führt zu einem wachsenden Bedarf, Betriebssysteme als (Software-) Infrastrukturen für Anwendungen zweckorientiert anzupassen bzw. herzustellen. Das Anwendungsgebiet reicht dabei über das der universellen Betriebssysteme für universelle Rechensysteme hinaus. Anwendungsentwicklung findet nicht mehr notwendigerweise ausschließlich im Anwendungsbereich statt, sondern kann sich auch auf unterliegende Systemschichten beziehen. Infrastruktur muß dafür einerseits offen sein, und andererseits muß es auch dort geeignete Strukturen geben, welche die Herstellung bzw. Anpassung von Infrastrukturkomponenten für Anwendungshersteller auch geeignet unterstützen. Dem Gesamtsystem sollte eine Architektur zugrunde liegen, welche strukturell, funktional und methodisch alle Systembereiche bzw. verschiedenartige Zielsysteme in einer einheitlichen, durchgängigen Weise erfaßt und heute vorhandene Strukturbrüche überwindet. Gleichzeitig muß der Spezifik unterschiedlicher Systemumgebungen Rechnung getragen werden. In dieser Dissertation wird eine dafür geeignete Architektur aus der Analyse des Gegenstandsbereichs dynamischer ablaufender Systeme hergeleitet und begründet. Die praktische Umsetzbarkeit wird anhand der Implementierung des CheOps-Kerns gezeigt und bewertet. Um der Verschiedenartigkeit von Systemen bzw. Systembereichen gerecht zu werden, ist ein hohes Maß an Skalierbarkeit der Architekturmerkmale erforderlich. Dies wird durch Trennung universeller Merkmale von konkreten Ausprägungen in jeweiligen Zielumgebungen erreicht. In der generalisierten Architektur wird das unterlegte, durchgängig anwendbare Architekturkonzept festgelegt. Es ist durch Schichten als vertikale Grundstruktur gekennzeichnet. Innerhalb von Schichten bilden (Verarbeitungs-) Instanzen das zentrale Strukturelement, um semantisch zusammengehörige Teilverarbeitungen identifizierbaren, aktiv dienstausführenden Elementen zuzuordnen. Das Vorbild dafür ist das aus dem Anwendungsbereich bekannte Client-Server-Modell. Die Anpassung an jeweilige Systemumgebungen erfolgt dann durch explizites Ableiten spezieller Ausprägungen von Elementen und Beziehungen aus den generellen Architekturmerkmalen und der Zuordnung jeweils geeigneter Ausführungs- und Ablaufeigenschaften. In dieser hier explizit vorgenommenen Differenzierung liegt ein wesentlicher Unterschied zu anderen Architekturvorschlägen. Erst dadurch wird das Grundmuster des Client-Server-Modells auf alle Infrastrukturschichten in speziell angepaßten Ausprägungen übertragbar und damit Anwendungsanpaßbarkeit strukturell auch für Infrastruktur unterstützt. Mit der Implementierung des CheOps-Kerns konnte gezeigt werden, daß sich das Strukturmuster von Instanzen selbst für die unterste Systemschicht der Unterbrechungsverarbeitung anwenden läßt und sich daraus neben strukturellen auch vorteilhafte Ablaufeigenschaften ergeben. Dieses neuartige Implementierungsprinzip auf Basis sogenannter iproc-Instanzen wird im zweiten Teil der Dissertation im Detail vorgestellt und bewertet.
16

A New System Architecture for Heterogeneous Compute Units

Asmussen, Nils 09 August 2019 (has links)
The ongoing trend to more heterogeneous systems forces us to rethink the design of systems. In this work, I study a new system design that considers heterogeneous compute units (general-purpose cores with different instruction sets, DSPs, FPGAs, fixed-function accelerators, etc.) from the beginning instead of as an afterthought. The goal is to treat all compute units (CUs) as first-class citizens, enabling (1) isolation and secure communication between all types of CUs, (2) a direct interaction of all CUs, removing the conventional CPU from the critical path, and (3) access to operating system (OS) services such as file systems and network stacks for all CUs. To study this system design, I am using a hardware/software co-design based on two key ideas: 1) introduce a new hardware component next to each CU used by the OS as the CUs' common interface and 2) let the OS kernel control applications remotely from a different CU. The hardware component is called data transfer unit (DTU) and offers the minimal set of features to reach the stated goals: secure message passing and memory access. The OS is called M³ and runs its kernel on a dedicated CU and runs the OS services and applications on the remaining CUs. The kernel is responsible for establishing DTU-based communication channels between services and applications. After a channel has been set up, services and applications communicate directly without involving the kernel. This approach allows to support arbitrary CUs as aforementioned first-class citizens, ranging from fixed-function accelerators to complex general-purpose cores.

Page generated in 0.0841 seconds