Ludl, C. (2008). SWAP : a proxy-based solution for mitigating XSS attacks [Master Thesis, Technische Universität Wien]. reposiTUm. http://hdl.handle.net/20.500.12708/178373
E184 - Institut für Rechnergestützte Automation (Automatisierungssysteme. Mustererkennung)
-
Date (published):
2008
-
Number of Pages:
69
-
Keywords:
Cross-site scripting; XSS; web security; internet security; www
de
Cross-site scripting; XSS; web security; internet security; www
en
Abstract:
With the growing amount of web sites, the increasing complexity of web applications and the overall gain of importance the World Wide Web experienced over the last years, the demand to secure the surrounding processes has been increasing as well. Flaws like buffer overflows in the underlying infrastructure like web servers or operating systems software lost of importance while higher level security exploits became increasingly important. Especially for large web applications, cross-site scripting attacks nowadays pose one of the major threats to their integrity.<br />Current approaches to mitigate such attacks mainly rely on server-side input filtering. While input filtering is often error-prone, other solutions require the end-user to take action to secure their web browsing process. Based on observations of filter-based solutions and their weaknesses, I introduce a novel approach that takes advantage of a web browser's script-parsing capabilities to identify malicious inputs, without the need to bother the end-user to deal with security questions about cross-site scripting.<br />In this thesis I will explain the needs of new approaches for mitigating cross-site scripting attacks, give an overview of my approach and describe the proof-of-concept implementation I created: SWAP (Secure Web Application Proxy), is a tool that combines a modified version of Mozilla's Firefox browser and a reverse proxy to create a server-side solution to mitigate reflected and stored cross-site scripting attacks.<br />Furthermore, I will describe the evaluation process in which I tested the soundness of my solution. Therefore I introduce a test setup with which SWAP was tested with a couple of real-world web applications.<br />My approach provides complete transparency for the client and is therefore a feasible alternative to protect the end-user from cross-site scripting attacks.<br />
de
Aufgrund der steigenden Anzahl von Web Seiten, der zunehmenden Komplexität der Web Applikationen und der immer größer werdenden Bedeutung, die das World Wide Web in den letzten Jahren erfahren hat, nimmt auch die Forderung nach Absicherung der involvierten Technologien zu. Schwachstellen wie "Buffer Overflows" in der zugrunde liegenden Infrastruktur wie Web Server oder Betriebssystem haben an Bedeutung verloren, während die Sicherheitsaspekte auf höheren Ebenen immer wichtiger wurden. Insbesondere bei großen Web Applikationen zählen "cross-site scripting" Attacken heutzutage zu den größten Sicherheitsproblemen.<br />Aktuelle Lösungsansätze um solche Attacken einzuschränken basieren hauptsächlich auf serverseitigen Eingabefiltern, "Input Filtern". Das Erstellen von passenden Input Filtern kann schwierig und fehleranfällig sein. Andere Ansätze müssen vom Endbenutzer angewandt werden.<br />Aufgrund von Beobachtungen von filterbasierten Lösungen und deren Problemen, stelle ich einen neuen Ansatz vor, der die Vorteile der Fähigkeiten eines Web Browsers beim Ausführen von JavaScript ausnutzt, um bösartigen Input zu erkennen. Dies geschieht ohne Involvierung des Endbenutzers.<br />In dieser Arbeit werde ich die Notwendigkeit für neue Methoden erklären, einen Überblick über meinen Ansatz geben und die Proof-of-concept Implementierung, die ich erstellt habe beschreiben: SWAP (Secure Web Application Proxy), ist ein System, das eine modifizierte Version des Mozilla Firefox Browsers und einen Reverse Proxy kombiniert, um eine serverseitige Lösung zur Bekämpfung von "reflected" und "stored cross-site scripting" Attacken zu erhalten. Anschließend werde ich einen Testablauf beschreiben, der die Fähigkeiten der Implementierung bestätigt. Zu diesem Zweck wurde ein Testsystem erstellt, das SWAP mit Real-World Applikationen testet.<br />Mein Ansatz liefert völlige Transparenz für den Client und ist daher eine brauchbare Alternative um Endbenutzer vor "cross-site scripting" Attacken zu beschützen.