Secure Software Lab

Elsensohn, Thomas and Lehmann, Patrick Joel (2021) Secure Software Lab. Other thesis, OST Ostschweizer Fachhochschule.

Full text not available from this repository.

Abstract

Aufgabenstellung / Zielsetzung
In dieser Arbeit wurde ein Prototyp einer Lernplattform erstellt. Diese Lernplattform stellt eine webbasierte, auf Desktop Geräte optimierte Lernumgebung dar, in der Benutzer mehrere Kurse belegen können. Jeder dieser Kurse soll mindestens eine Aufgabe enthalten, die wiederum externe Ressourcen beinhalten kann und in einer separaten, auf Docker basierten virtuellen Umgebung verfügbar ist. Der Benutzer kann Lösungen zu Aufgaben einreichen und erhält vom System ein Feedback. Um die Vertraulichkeit der Daten zu gewährleisten, besteht die Lernplattform aus mehreren Sicherheitszonen. Zusätzliche Use Cases wurden für die Weiterentwicklung der Lernplattform definiert.

Vorgehen / Technologien
Spezifische Lösungen für Lernplattformen für sichere Softwareentwicklung (Hacking Lab, OWASP SKF, Eigenentwicklung) wurden analysiert und gegenübergestellt. Die Entscheidung fiel auf eine Neuentwicklung, da man flexibler bei der Wahl von Technologien und der Erweiterung von neuen Funktionen ist. Allgemeine E-Lernplattformen wie Moodle wurden nicht betrachtet, da diese das Einbetten von virtuellen Umgebungen in den Aufgaben nicht unterstützen. Die Architektur der Lernplattform besteht aus einem Frontend, einer Web API, einer Datenbank, einem Content Server als Docker Host für virtuelle Umgebungen, einem Identity Provider (IDP) und einem Reverse Proxy. Durch die strikte Trennung vom Frontend, das mit React realisiert und der Web API, die mit .NET Core umgesetzt wurde, kann das Frontend durch eine Mobile App ausgetauscht oder erweitert werden. Die Web API, welche in C# geschrieben ist, kommuniziert mit einer PostgreSQL Datenbank über das Entity Framework Core. Ausserdem steuert die Web API den Docker Host des Content Servers, um Dockerumgebungen für die Aufgaben zur Verfügung zu stellen. Die Authentisierung wurde mit dem Keycloak IDP realisiert. Der Reverse Proxy Traefik verbindet das Frontend, Web API, Keycloak und die virtuellen Umgebungen. Für die Kerntechnologien der Lernplattform wurde eine ausführliche Architekturentscheidung erstellt.

Ergebnisse und Anwendungsmöglichkeiten
Das Ergebnis ist eine webbasierte Lernplattform, in der sich Benutzer einloggen, Übungen lösen und Ergebnisse einreichen können. Jeder Kurs kann mehrere Aufgaben haben, die wiederum auch virtuelle Umgebungen beinhalten kann. Der Benutzer kann Lösungen einreichen, die dann automatisiert vom System geprüft werden. Die Erstellung und Bearbeitung der Kurse und Aufgaben erfolgt über die direkten Anpassungen auf der Datenbank. Keycloak wird über ein Import Script konfiguriert und ist für die Erstellung der Benutzer sowie für die Verteilung der Benutzerrollen zuständig. Die Lernplattform wird über die dockercompose Datei bereitgestellt.

Item Type: Thesis (Other)
Subjects: Area of Application > Web based
Area of Application > Academic and Education
Area of Application > E-Learning
Technologies > Programming Languages > C#
Technologies > Programming Languages > Java Script
Technologies > Frameworks and Libraries > .NET
Technologies > Databases > PostgreSQL
Divisions: Bachelor of Science FHO in Informatik > Bachelor Thesis
Depositing User: HSR Deposit User
Contributors:
Contribution
Name
Email
Thesis advisor
Weiler, Nathalie
UNSPECIFIED
Date Deposited: 19 Mar 2021 09:46
Last Modified: 19 Mar 2021 09:46
URI: https://eprints.ost.ch/id/eprint/910

Actions (login required)

View Item
View Item