Engeler, Janick and Gubler, Yanick (2017) Hacking-Lab 2.0. Student Research Project thesis, HSR Hochschule für Technik Rapperswil.
HS 2017 2018-SA-EP-Engeler-Gubler-Hacking-Lab 2.0.pdf - Supplemental Material
Download (3MB) | Preview
Abstract
# Ausgangslage
Die Security Competence GmbH möchte im Rahmen der HSR Studienarbeiten HS2017 ein Konzept für ein neues Hacking-Lab 2.0 ausarbeiten und dazu einen ersten Prototyp erstellen. Das jetzige Hacking-Lab dient in erster Linie dazu Hacking Aufgaben (Challenges) zu lösen und wird vor allem in der HSR zum praktischen Lernen der Informationssicherheit und bei Compass Security für spezielle Events verwendet.
Probleme des jetzigen Systems sind unter anderem, dass das bestehende User Interface weder zeitgemäss noch mobilefähig ist. Weiter kann es nur einsprachig betrieben werden. Einer der grössten Nachteile für die Zukunft ist, dass es nicht einfach erweiterbar ist und man so keine Skalierbarkeit gewährleisten kann.
Ein weiterer Nachteil ist, dass es für die Betreiber einen grossen Mehraufwand generiert, der dadurch zustande kommt, dass erstens laufend neue Challenges erfasst und bearbeitet werden müssen und zweitens die Lösungen der durchgeführten Übungen mehrheitlich von Hand korrigiert werden.
Das jetzige System basiert auf einer sogenannten Live-CD (beinhaltet Hackingumgebung und /-tools), was einen unnötigen Aufwand für den Endanwender bedeutet.
# Ziel
Das bestehende System soll nach und nach abgelöst und durch ein neues ersetzt werden. Für das neue System wird der Fokus bereits zu Beginn auf eine weltweite Nutzung gelegt. Dies führt jedoch zu einer neuen Problematik, da z.B. Länder wie China ihren verschlüsselten Internetverkehr drosseln und es somit schwierig wird aus diesem Land auf Server anderer Länder zuzugreifen. Dies würde zu regelrechten Performance Engpässen führen und so eine sinnvolle Nutzung verhindern. Deshalb wird eine hohe Skalierbarkeit angestrebt, was bedeutet, dass mehrere Instanzen des Hacking-Lab 2.0 parallel betrieben werden können und so der Verkehr über die Landesgrenzen hinaus minimal gehalten werden kann.
Eine weltweite Nutzung bedeutet auch, dass das System mehrsprachig betrieben werden können soll, so dass auch weniger sprachaffine Personen die Aufgaben ohne Übersetzungsprobleme lösen können. Ein weiterer entscheidender Punkt ist der Mehraufwand. Diesem Problem soll dadurch begegnet werden, dass eine Community aufgebaut wird, welche selbstständig neue Challenges und Musterlösungen erfasst. Dadurch können auch die Übersetzungen direkt von einem Muttersprachler erstellt werden. Damit die Qualität der angebotenen Inhalte nicht unter dem Community-Gedanken leidet, soll ein Review-System implementiert werden, wodurch neue oder veränderte Challenges durch einen Nutzer mit entsprechenden Rechten kontrolliert und freigegeben werden müssen, bevor sie für den Normalanwender zugänglich sind.
Damit die Live-CD des bestehenden Hacking-Labs in der Version 2.0 nicht mehr benötigt wird, sollen die benötigten Ressourcen (Dockercontainer, VM’s u.ä.) direkt einer Challenge zugewiesen werden können.
# Ergebnis
Das Ergebnis dieser SA soll in erster Linie ein intelligentes Konzept sein, was alle zuvor genannten Probleme sinnvoll abdeckt bzw. verhindert. Deshalb wurde die erste Hälfte der Zeit dafür verwendet dieses Konzept im Gespräch mit dem Betreuer zu erarbeiten.
Nach der konzeptuellen Ausarbeitung wurde ein erster Prototyp des Challenge Authoring System (CAS) implementiert, der für die anderen verwendeten Systeme ein REST-API anbietet, um dort auf einfache Weise die entsprechenden Daten beziehen zu können. Das CAS besteht grundsätzlich aus drei Komponenten.
[item]CAS-Client welcher das GUI für die Challenge Erstellung und Übersetzung liefert[/item]
[item]CAS-Server welcher die Daten verwaltet und das API anbietet[/item]
[item]CAS-mysql welches die Datenbank hält[/item]
Alle Subsysteme werden in einem eigenen Dockercontainer implementiert. So kann schnell und einfach ein neues CAS hochgefahren werden, indem man lediglich das GIT-Repo klont und die darin enthaltenen Skripts ausführt.
Item Type: | Thesis (Student Research Project) |
---|---|
Subjects: | Area of Application > Security Technologies > Programming Languages > Java Technologies > Frameworks and Libraries > Play Technologies > Databases > MySQL Technologies > Protocols > REST |
Divisions: | Bachelor of Science FHO in Informatik > Student Research Project |
Depositing User: | OST Deposit User |
Contributors: | Contribution Name Email Thesis advisor Bütler, Ivan UNSPECIFIED |
Date Deposited: | 10 Apr 2018 09:16 |
Last Modified: | 10 Apr 2018 09:17 |
URI: | https://eprints.ost.ch/id/eprint/628 |