Broder, J. (2013). Key management in partitioning operating systems [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://resolver.obvsg.at/urn:nbn:at:at-ubtuw:1-51526
Eingebettete Systeme spielen eine immer wichtigere Rolle in unserem täglichen Leben. Oftmals verarbeiten sie sensible Daten und interagieren mit der realen Umwelt, wodurch Störungen oder Ausfälle der Systemsoftware erheblichen Schaden bewirken können. Neben der Anforderung (Software-) Systeme ausfallsicher zu machen (Safety), nimmt der Schutz solcher Systeme vor böswilligen Benutzern und Schadsoftware eine immer bedeutendere Rolle ein (Security). Diese Arbeit konzentriert sich auf den Sicherheitsaspekt in eingebetteten Systemen und beginnt mit einem allgemeinen Einblick in das Thema Security. Ein wesentlicher Bestandteil für die Sicherheit in Software-Systemen sind Isolationstechniken. Sie können dazu verwendet werden um Komponenten in einem resource-sharing System nach gewissen Kriterien zu partitionieren und so die Ausführung von Programmen zu kontrollieren. Beispiele für Isolationstechniken sind Sandboxing, Virtualisierung, Hardware-basierte Isolation und Isolation durch den Betriebssystem-Kernel. Sie liefern den theoretischen Unterbau für die weiteren Untersuchungen dieser Arbeit. Ein klassisches Beispiel für eine sicherheitsrelevante Anwendung ist ein kryptographische Schlüsselverwaltungsprogramm in dem gespeicherte Schlüssel hoch sensible Daten darstellen die es wert sind geschützt zu werden. Daher wird im ersten Schritt ein Schlüsselverwaltungsprogramm auf Linux implementiert, da es als Betriebssystem für eingebettete Systeme häufig zum Einsatz kommt.<br />Anhand dieser Implementierung wird gezeigt, dass Linux in einer Basiskonfiguration als nicht sicher eingestuft werden kann, da es keine strikte Isolation zwischen Programmen erzwingt und dadurch das Auslesen der Schlüssel im Verwaltungsprogramm erlaubt. Partitioning Operating Systems hingegen implementieren Isolationstechniken und andere Sicherheitsmechanismen per Design. Anhand einer Portierung der Schlüsselverwaltungsapplikation auf solch ein Betriebssystem zeigt sich, dass eine Programmisolation erzwungen werden kann und somit Schlüssel sicher gespeichert werden können.<br />
de
Embedded systems play an increasingly important role in our daily lives. They often handle sensitive data and interact with the real environment, where a malfunction or failure of the system software can cause considerable damage. Apart from the requirement to make (software) systems failure-resistant (safety), the protection of such systems from malicious users and software is playing an increasingly important role (security). This work focuses on the security aspect in embedded systems and starts out with a general introduction to this topic. An essential component of security in software systems are isolation techniques. They can be used to partition components in a resource-sharing system according to certain criteria and through this control the execution of programs. Examples of isolation techniques are sandboxing, virtualization, hardware-based isolation and isolation enforced by the operating system kernel. They provide the theoretical foundation for the further study of this work.<br />The guiding example for a security-related application used in this work is a cryptographic key-management program in which the stored keys represent highly sensitive data worthy to be protected. Therefore in the first step, a key management program is implemented on Linux, because it is often used as an operating system in the embedded domain. Based on this implementation, we show that Linux in a basic configuration can be considered as not secure because it does not enforce strict isolation between applications and thereby allows the exploration of the keys in the management program. In contrast, Partitioning Operating Systems implement isolation techniques and other security mechanisms by design. Porting the key management application to such an operating system shows that a program isolation can be strictly enforced, thus keys can be stored securely.<br />