Koppmann, M. (2021). Object capabilities and their benefits for web application security [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2021.80738
E194 - Institut für Information Systems Engineering
-
Date (published):
2021
-
Number of Pages:
85
-
Keywords:
Web; Security; Haskell; OCAP; Object Capabilities; Principle of Least Privilege; Principle of Least Authority; Purely Functional Programming; Web Development; Object-oriented Programming
en
Abstract:
Heutzutage werden mehr und mehr Applikationen mit Webtechnologien wie HTML, CSS und JavaScript implementiert, die anschließend in Browsern ausgeführt werden. Das Web dient dabei als betriebssystemunabhängige Applikationsplattform. Dadurch ändert sich auch das zugrundeliegende Autorisierungsmodell, das nun nicht mehr ausschließlich von lokalen Betriebssystemkonten und Dateisystemberechtigungen abhängt. Stattdessen werden diese Konten nun von den Applikationen selbst implementiert, inklusive aller Absicherungsmaßnahmen und Sicherheitskontrollen, die dafür notwendig sind. Aufgrund der darin liegenden Komplexität führt dies jedoch dazu, dass Fehler in der Autorisierungslogik zu den häufigsten Sicherheitsschwachstellen bei Webapplikationen zählen. Die meisten Applikationen bauen auf dem Konzept der Access Control List auf, einem Sicherheitsmodell das bestimmt, wer auf welche Objekte zugreifen darf. Diese Diplomarbeit präsentiert das alternative Autorisierungsmodell der Object Capabilities im Kontext von Webapplikationen, und wie es genutzt werden kann, um gewissen Schwachstellenkategorien vorzubeugen. Dafür wurde eine Fallstudie durchgeführt und ein Prototyp einer Webapplikation entwickelt, die auf diesem Modell aufbaut. Der Prototyp wurde daraufhin einer Sicherheitsüberprüfung unterzogen, wobei die Applikation auf die zehn häufigsten Webschwachstellen untersucht wurde. Ebenso wurde eine Modellevaluierung durchgeführt, bei der die grundlegenden Konzeptunterschiede beider Sicherheitsmodelle verglichen wurden. Dafür wurden Beispiele aus bestehenden Applikationen genommen, die auf Access Control Lists basieren. Die Ergebnisse der Analysen sind vielversprechend, zeigen jedoch auch auf, dass Erweiterungen in aktuellen Browsern notwendig sind, um Object Capabilities im Web noch sicherer zu gestalten.
de
Nowadays, more and more applications are built with web technologies like HTML, CSS, and JavaScript, which are then executed in browsers. The web is utilized as an operating system independent application platform. As a consequence, the underlying authorization model changes, which now no longer depends only on operating system accounts and file system permissions. Instead, these accounts are now implemented in the applications themselves, including all of the protective measures and security controls that are required for this. Because of the inherent complexity, flaws in the authorization logic are among the most common security vulnerabilities in web applications. Most applications are built on the concept of the Access-Control List, a security model which decides, who can access what object. This diploma thesis presents the alternative authorization model of Object Capabilities in the context of web applications and how it can be used to prevent certain vulnerability classes. A case study was conducted for this and a prototype of a web application was developed that is based on this model. A security analysis was then performed on the prototype, where it was tested for the ten most common security vulnerabilities found in web applications. Afterwards, the model was evaluated by comparing the fundamental differences between these two concepts. Examples were taken from existing applications that are built upon access-control lists. The results of these analyses are promising, but they also show that extensions in current browsers are required to further improve the security for object capabilities on the web.