Title: Straightjacket: tightening process execution policies at runtime
Other Titles: Straightjacket: Tightening Process Execution Policies at Runtime
Language: English
Authors: Gadllah, Adel 
Qualification level: Diploma
Advisor: Weippl, Edgar 
Assisting Advisor: Merzdovnik, Georg 
Issue Date: 2015
Number of Pages: 62
Qualification level: Diploma
Abstract: 
Das Principle of the Least Privilege ist ein bekanntes und gängiges Prinzip für die Entwicklung von sicheren Anwendungen. Es besagt, dass Anwendungen nicht mehr Privilegien haben sollen als für deren Aufgabe notwendig ist. Das minimiert den Schaden, den ein erfolgreicher Angriff verursachen kann. Bestehende Sandboxing Techniken fokussieren jedoch darauf die Privilegien ganzer Anwendungen zu beschränken. Unterschiedliche Teile einer Anwendung benötigen jedoch unterschiedliche Privilegien. Diese Arbeit stellt Straightjacket vor, eine Sammlung von Werkzeugen für das Betriebssystem Linux, die erlauben die Privilegien von Anwendungen auf der Ebene einzelner Funktionen zu definieren. Entwickler können die Privilegien von Funktionen durch Anmerkungen im Quelltext der Applikation definieren ohne die Funktionen selbst umschreiben zu müssen. Darüber hinaus enthält Straightjacket einen statischen Analyzer, der dabei hilft die benötigten Privilegien einer Funktion zu ermitteln. Veränderungen am Betriebssystem sind nicht notwendig. Die Evaluierung zeigt das Straightjacket gängige Exploits blockiert ohne signifikante Auswirkungen auf die Anwendungsperformance zu haben, wenn die Anmerkungen nicht übermäßig eingesetzt werden. Das wäre der Fall wenn beispielsweise jede einzelne Funktion einer Anwendung mit Anmerkungen versehen wird. Straightjacket wird auch mit Fokus auf die Benutzbarkeit entwickelt und kann ohne großen Aufwand in bestehende Entwicklungsumgebungen und Arbeitsabläufe von Entwicklern integriert werden.

The principle of the least privilege is a well-known and established design practice for developing secure applications. It states that applications should not have more privileges than necessary to operate. That limits the damage that can be done by an attacker in case of a successful exploit. Existing sandboxing technologies focus on confining whole applications. However, different parts of an application require different privileges than others. This thesis introduces Straightjacket, a set of tools for the Linux operating system that allow assigning different levels of privileges to individual functions of an application. It allows the developer of the application to define the required privileges by adding annotations to the application-s source code without having to rewrite the affected functions. Straightjacket includes a static analyzer that helps to identify the required privileges of a specific function. It does not require any operating system modifications. The evaluation shows that Straightjacket blocks common exploits successfully. The introduced performance impact is not significant as long as the annotations aren't overused. Overusing for instance would be annotating every single function of an application. Straightjacket is developed with usability in mind and can be easily integrated into existing build processes and developer workflows.
Keywords: Sandbox; Security; Linux; Seccomp
URI: https://resolver.obvsg.at/urn:nbn:at:at-ubtuw:1-82015
http://hdl.handle.net/20.500.12708/2084
Library ID: AC12296759
Organisation: E188 - Institut für Softwaretechnik und Interaktive Systeme 
Publication Type: Thesis
Hochschulschrift
Appears in Collections:Thesis

Files in this item:

Show full item record

Page view(s)

9
checked on Apr 1, 2021

Download(s)

60
checked on Apr 1, 2021

Google ScholarTM

Check


Items in reposiTUm are protected by copyright, with all rights reserved, unless otherwise indicated.