Zur Unterstützung von Lehrveranstaltungen (z.B. AKITS) in denen sicheres Softwaredesign besprochen wird soll ein Mini-CTF entwickelt werden, welches den Studenten die Möglichkeit gibt die gelernten Schwachstellen in der Praxis auszuprobieren.

Dafür wird ein (hochschul-) öffentlicher Server bereitgestellt, der Files zum Download bereitstellt. Bei diesen Files kann es sich um Übungsblätter oder andere "Incentives" handeln, die die Studierenden motivieren mit dem Server zu interagieren. Der Server lässt den Zugriff allerdings nicht direkt zu sondern erwartet die Eingabe eines Passworts. Das Passwort ist den Studenten unbekannt, allerdings bekommen Sie die Implementierung der Sicherheitsüberprüfung in geeigneter Weise zur Verfügung gestellt (z.B. das Python File welches die Funktion implementiert). Zusätzlich stellt der Server bei falscher Passworteingabe Fehlermeldungen zur Verfügung. Mithilfe dieser und der Implementierung können die Studenten das Passwort mithilfe der in der Vorlesung besprochenen Techniken knacken.

 

Aufgaben (wird eventuell auf mehrere Arbeiten verteilt):

  • Konzeption des Mini-CTF Systems (Hardware, Softwarearchitektur)
    • Dynamische Aufgaben (jeder Nutzer muss ein anderes Passwort lösen, Persistenz nur in zeitlich begrenztem Umfang)
    • Gleichzeitige Verfügbarkeit für >20 Personen
    • Einfaches Änderen/Hinzufügen von bestehenden/neuen Aufgaben
    • Download der "Incentives"
  • Praktische Implementierung des Mini-CTF Systems

 

Voraussetzungen:

  • Kenntnisse in Python
  • AKITS (GDI) Vorlesung besucht (und bestanden =)
  • Erfahrung mit Linux (Debian/Ubuntu/o.ä.)

 

Optional:

  • Erfahrung im Umgang mit Apache oder NGINX

 

Kontakt:

Alexander Frank (alexander.frank@unibw.de)