Bearbeiter | (nur für Mitarbeiter:innen einsehbar) |
Betreuer | Dr. David Goltzsche |
Professor | Prof. Dr. Rüdiger Kapitza |
IBR Gruppe | DS (Prof. Kapitza) |
Art | Projektarbeit |
Status | abgeschlossen |
Das Projekt TrustJS [0] verfolgt das Ziel von clientseitiger vertrauenswürdiger und sicherer Ausführung von JavaScript. Dabei wurde bereits eine mit Intel SGX [1] gehärtete JavaScript-Umgebung in den Firefox Browser integriert. Dies erlaubt die parallele Ausführung von JavaScript in zwei Kontexten: Sicherheitskritische Teile der Anwendungen werden in der abgesicherten JavaScript Engine ausgeführt. Unkritische Teile dagegen werden in der effizienteren, aber ungeschützten Engine ausgeführt. Der Aufwand, bestehende Anwendungen für TrustJS zu portieren oder neue Anwendungen zu entwickeln ist bei aktuellem Stand des Projekts relativ hoch, da diese immer aus zwei Teilen bestehen: Anwendungen müssen vom Entwickler manuell in vertrauenswürdige und nicht vertrauenswürdige Teile partitioniert werden. Ziel dieser Arbeit ist die Entwicklung von Werkzeugen, welche die Entwickler von Webanwendungen bei dieser Aufgabe unterstützen. Dabei sollen Schlüsselwörter eingeführt werden, welche die automatische Partitionierung von Webanwendungen ermöglichen. Anstatt bestehende Interpreter von beispielsweise Google's V8 [2] anzupassen um die Programmiersprache zu erweitern soll im Rahmen dieser Arbeit ein anderer Ansätz verfolgt werden: Zusätzlicher JavaScript Code soll vor der Ausführung generiert werden. Dazu bieten sich beispielsweise Projekte wie Sweet.js [3] oder TypeScript [4] an. Sweet.js erlaubt die Erweiterung von JavaScript mit Makros während TypeScript eine offene Programmiersprache ist, die nach JavaScript kompiliert wird und statische Typisierung erlaubt. [0] https://www.ibr.cs.tu-bs.de/users/goltzsch/papers/eurosec2017-trustjs.pdf[1] https://software.intel.com/sgx [2] https://developers.google.com/v8 [3] https://www.sweetjs.org [4] https://www.typescriptlang.org |
Technische Universität Braunschweig
Universitätsplatz 2
38106 Braunschweig
Postfach: 38092 Braunschweig
Telefon: +49 (0) 531 391-0