Logo des Repositoriums
  • English
  • Deutsch
Anmelden
Keine TU-ID? Klicken Sie hier für mehr Informationen.
  1. Startseite
  2. Publikationen
  3. Publikationen der Technischen Universität Darmstadt
  4. Erstveröffentlichungen
  5. Enhancing the Security and Privacy of Full-Stack JavaScript Web Applications
 
  • Details
2020
Erstveröffentlichung
Dissertation

Enhancing the Security and Privacy of Full-Stack JavaScript Web Applications

File(s)
Download
Hauptpublikation
PhD Thesis - Cristian-Alexandru Staicu.pdf
CC BY-SA 4.0 International
Format: Adobe PDF
Size: 2.96 MB
TUDa URI
tuda/5086
URN
urn:nbn:de:tuda-tuprints-118087
DOI
10.25534/tuprints-00011808
Autor:innen
Staicu, Cristian-Alexandru
Kurzbeschreibung (Abstract)

Web applications are the most important gateway to the Internet. Billions of users are relying on them every day and trusting them with their most sensitive data. Therefore, ensuring the security and privacy of web applications is of paramount importance. Traditionally, the server-side code of websites was written in languages such as PHP or Java for which security issues are well studied and understood. Recently, however, full-stack JavaScript web applications emerged, which have both their client-side and server-side code written in this language. We hypothesize that there are several unique properties of full-stack JavaScript web applications that pose a serious challenge for the security analysts: the new threat model for JavaScript, the excessive code reuse, the prevalence of code transformations, and the existence of complex full-stack threats. In this dissertation, we support this thesis by performing several in-depth studies of the JavaScript ecosystem and by proposing multiple improvements to the state-of-the art practices. First, we discuss two types of security vulnerabilities that are aggravated by the new threat model: injections and regular-expression denial of service. Second, we show that excessive code reuse in the JavaScript ecosystem increases the chance of relying on malicious or vulnerable code. Third, we provide evidence that code transformations are widespread and that full-stack threats exist. Finally, we propose several improvements for techniques aimed at hardening web applications: cost-effective consideration of implicit flows, the extraction of taint specification for third-party libraries, and pragmatic program analysis for defending against injections. The problem of securing full-stack JavaScript web applications is far from settled, but we hope that the current dissertation serves as motivation for future work to consider this increasingly important class of applications. In particular, we argue for holistic approaches that consider full-stack and cross-library information flows.

Sprache
Englisch
Alternativtitel
Verbesserung der Sicherheit und des Datenschutzes von Full-Stack-JavaScript-Webanwendungen
Alternatives Abstract

Webanwendungen sind die wichtigste Schnittstelle zum Internet. Milliarden Nutzer sind täglich auf sie angewiesen und vertrauen ihnen ihre sensiblen Daten an. Deshalb ist es besonders wichtig, die Sicherheit und den Datenschutz von Webanwendungen zu gewährleisten. Der serverseitige Code von Websites wurde üblicherweise in Sprachen wie PHP oder Java geschrieben, deren Sicherheitslücken gut erforscht und nachvollziehbar sind. In letzter Zeit sind jedoch Full-Stack-JavaScript-Webanwendungen aufgetreten, deren clientseitiger und serverseitiger Code in dieser Sprache geschrieben ist. Unsere Hypothese ist, dass viele Eigenschaften von Full-Stack-JavaScript-Webanwendungen eine ernsthafte Herausforderung für einen Sicherheitsanalysten darstellen: Das neue Bedrohungsmodell für JavaScript, die übermäßige Wiederverwendung von Code, verbreitete Code-Transformationen und komplexe Full-Stack-Bedrohungen. In dieser Dissertation vertreten wir diese These, indem wir das JavaScript-Ökosystem mehrmals gründlich untersuchen und zahlreiche Verbesserungen zum heutigen Stand der Technik aufzeigen. Als Erstes erörtern wir zwei Arten von Sicherheitslücken, die durch das neue Bedrohungsmodell verschärft werden: Injections und Denial-of-Service für reguläre Ausdrücke. Als Zweites wird aufgezeigt, dass eine übermäßige Wiederverwendung von Code im JavaScript-Ökosystem die Wahrscheinlichkeit erhöht, sich auf bösartigen oder anfälligen Code zu verlassen. Als Drittes weisen wir die weite Verbreitung von Code-Transformationen und das Vorkommen von Full-Stack-Bedrohungen nach. Schließlich werden verschiedene verbesserte Techniken zum Härten von Webanwendungen vorgestellt: Berücksichtigung der Effizienz von impliziten Datenflüssen, Extraktion von Taint-Spezifikationen für Bibliotheken von Drittanbietern und pragmatische Programmanalyse zur Abwehr von Injection-Angriffen. Das Sicherheitsproblem von Full-Stack-JavaScript-Webanwendungen ist noch lange nicht gelöst. Jedoch hoffen wir, dass die vorliegende Dissertation dazu motiviert, diese zunehmend wichtige Applikationsart für zukünftige Arbeiten zu berücksichtigen. Insbesondere befürworten wir ganzheitliche Ansätze, die Full-Stack und bibliotheksübergreifende Informationsflüsse miteinschließen.

Fachbereich/-gebiet
20 Fachbereich Informatik > SOLA - Software Lab
DDC
000 Allgemeines, Informatik, Informationswissenschaft > 004 Informatik
Institution
Technische Universität Darmstadt
Ort
Darmstadt
Datum der mündlichen Prüfung
18.03.2020
Gutachter:innen
Salvaneschi, Guido
Pradel, Michael
Sabelfeld, Andrei
Handelt es sich um eine kumulative Dissertation?
Nein
Name der Gradverleihenden Institution
Technische Universität Darmstadt
Ort der Gradverleihenden Institution
Darmstadt
PPN
467603529

  • TUprints Leitlinien
  • Cookie-Einstellungen
  • Impressum
  • Datenschutzbestimmungen
  • Webseitenanalyse
Diese Webseite wird von der Universitäts- und Landesbibliothek Darmstadt (ULB) betrieben.