Sandboxing Node.js for Dockerized Cloud Environments
Geeignet für: Masterarbeit
In dieser Arbeit soll untersucht werden, wie ein Node.js Server, auf dem “untrusted” Application Code von Usern ausführt wird, effektiv einem Sandboxing unterzogen werden kann. Dabei wird davon ausgegangen, dass der Node.js Server in einer Cloud Umgebung beliebigen Code von Usern ausführt und einem Docker-Container isoliert ist. Das Saandboxing soll - soweit technisch umsetzbar - folgendes gewährleisten:
- Limitierung der CPU-Ressourcen, kein Filesystem-Zugriff (durch Docker weitestgehend gegeben)
- Limitierung von Netzwerk I/O (z.B. Aufrufe von REST-APIs)
- Messung des erzeugten I/O Traffics (z.B. für Statistiken)
- Limitierung der Ausführungzeit aufgerufener Funktionen, inklusive der dadurch aufgerfuenen Funktionen, auch asnychron (z.B. Durch Netzwerkommunikation, oder setTimeout)
Ziele:
- Recherche zu existrierenden Sanboxing Ansätzen für Node( Node VM) und den Sandboxing Möglichkeiten von Docker
- Entwurf und Implementierung einer Sandboxing-Lösung für obige Anforderungen
- Evaluation der Implementation und (quantitativer) Vergleich mit der Ausführung ohne Sandboxing/Node.js.
Kommentare
Kommentar hinterlassen
Die E-Mail Adresse wird nicht veröffentlicht. Benötigte Felder sind markiert *