Vollautomatisierte e-Learning Plattform am Beispiel eines ... · Vollautomatisierte e-Learning...

24
Jan Schmidt, Nils gentschen Felde MNM-Team Ludwig-Maximilians-Universität München 10. DFN-Forum Kommunikationstechnologien Berlin Vollautomatisierte e-Learning Plattform am Beispiel eines Universitätspraktikums

Transcript of Vollautomatisierte e-Learning Plattform am Beispiel eines ... · Vollautomatisierte e-Learning...

Page 1: Vollautomatisierte e-Learning Plattform am Beispiel eines ... · Vollautomatisierte e-Learning Plattform Problemstellung Im Gegensatz zu Programmieraufgaben kein AST o.Ä. für Systemzustand

• Jan Schmidt, Nils gentschen Felde• MNM-Team • Ludwig-Maximilians-Universität München

10. DFN-Forum Kommunikationstechnologien Berlin

Vollautomatisierte e-Learning Plattform am Beispiel eines Universitätspraktikums

Page 2: Vollautomatisierte e-Learning Plattform am Beispiel eines ... · Vollautomatisierte e-Learning Plattform Problemstellung Im Gegensatz zu Programmieraufgaben kein AST o.Ä. für Systemzustand

Vollautomatisierte e-Learning Plattform

Themenverwandte Arbeiten

● Automated Grading– Automatische Korrektur von Programmieraufgaben

– Input-Output überprüfuen

– Code-Analyse

– Abstract Syntax Tree (AST)

– Unit-Testing

● Hacking Labs– Bereitstellung einer Infrastruktur

– Challenges: Finden und Beheben von Sicherheitslücken

– Zur Überprüfung der Lösungen aber Humaninteraktion notwendig

● Keine Automatismen zur automatisierten Überprüfung systemnaher Aufgaben

2

Page 3: Vollautomatisierte e-Learning Plattform am Beispiel eines ... · Vollautomatisierte e-Learning Plattform Problemstellung Im Gegensatz zu Programmieraufgaben kein AST o.Ä. für Systemzustand

Vollautomatisierte e-Learning Plattform

Problemstellung

● Im Gegensatz zu Programmieraufgaben kein AST o.Ä. für Systemzustand

● Überprüfung von Config-Files: nur syntaktische Korrektheit

● Praktikumsaufgabe als Zustandsautomat

● Überprüfung des Endzustands, nicht des Lösungswegs

● Endzustand muss zur Laufzeit überprüft werden

3

UrsprungszustandDefinierter Endzustand

Bearbeitung derAufgabe

Praktikumsinfrastruktur

Page 4: Vollautomatisierte e-Learning Plattform am Beispiel eines ... · Vollautomatisierte e-Learning Plattform Problemstellung Im Gegensatz zu Programmieraufgaben kein AST o.Ä. für Systemzustand

Vollautomatisierte e-Learning Plattform

Praktikum IT-Sicherheit

4

Page 5: Vollautomatisierte e-Learning Plattform am Beispiel eines ... · Vollautomatisierte e-Learning Plattform Problemstellung Im Gegensatz zu Programmieraufgaben kein AST o.Ä. für Systemzustand

Vollautomatisierte e-Learning Plattform

Beispielaufgabe

● Konfiguration einer statischen Firewall

● Whitelist

● Genaue Spezifikation der zu öffnenden Ports

● Mögliche Lösungswege:– Ferm

– Iptables

5

Page 6: Vollautomatisierte e-Learning Plattform am Beispiel eines ... · Vollautomatisierte e-Learning Plattform Problemstellung Im Gegensatz zu Programmieraufgaben kein AST o.Ä. für Systemzustand

Vollautomatisierte e-Learning Plattform

Testroutine

6

10.0.0.1 10.0.0.2

Ist UDP-Port 123 erreichbar?

-A INPUT -p udp -m udp --sport 123 -j ACCEPT -A INPUT -p udp -m udp --dport 123 -j ACCEPT -A OUTPUT -p udp -m udp --dport 123 -j ACCEPT -A OUTPUT -p udp -m udp --sport 123 -j ACCEPT

Page 7: Vollautomatisierte e-Learning Plattform am Beispiel eines ... · Vollautomatisierte e-Learning Plattform Problemstellung Im Gegensatz zu Programmieraufgaben kein AST o.Ä. für Systemzustand

Vollautomatisierte e-Learning Plattform

Testroutine

7

10.0.0.1 10.0.0.2

Ist UDP-Port 123 erreichbar?

$ nc -lu -p 123

Page 8: Vollautomatisierte e-Learning Plattform am Beispiel eines ... · Vollautomatisierte e-Learning Plattform Problemstellung Im Gegensatz zu Programmieraufgaben kein AST o.Ä. für Systemzustand

Vollautomatisierte e-Learning Plattform

Testroutine

8

10.0.0.1 10.0.0.2

Ist UDP-Port 123 erreichbar?

$ nc -u 10.0.0.1 -p 123>> Hello World!

$ nc -lu -p 123

Page 9: Vollautomatisierte e-Learning Plattform am Beispiel eines ... · Vollautomatisierte e-Learning Plattform Problemstellung Im Gegensatz zu Programmieraufgaben kein AST o.Ä. für Systemzustand

Vollautomatisierte e-Learning Plattform

Testroutine

9

10.0.0.1 10.0.0.2

Ist UDP-Port 123 erreichbar?

$ nc -u 10.0.0.1 -p 123>> Hello World!

$ nc -lu -p 123<< Hello World!

Page 10: Vollautomatisierte e-Learning Plattform am Beispiel eines ... · Vollautomatisierte e-Learning Plattform Problemstellung Im Gegensatz zu Programmieraufgaben kein AST o.Ä. für Systemzustand

Vollautomatisierte e-Learning Plattform

Beispielaufgabe

● Anlegen eines Nutzers

● Erstellen des entsprechenden Home-Verzeichnisses

10

/home/secpgast

secpgast

Page 11: Vollautomatisierte e-Learning Plattform am Beispiel eines ... · Vollautomatisierte e-Learning Plattform Problemstellung Im Gegensatz zu Programmieraufgaben kein AST o.Ä. für Systemzustand

Vollautomatisierte e-Learning Plattform

Testroutine

11

10.0.0.1

Existiert der Nutzer?

$ cat /etc/passwd | grep secpgast

Page 12: Vollautomatisierte e-Learning Plattform am Beispiel eines ... · Vollautomatisierte e-Learning Plattform Problemstellung Im Gegensatz zu Programmieraufgaben kein AST o.Ä. für Systemzustand

Vollautomatisierte e-Learning Plattform

Testroutine

12

10.0.0.1

Existiert der Nutzer?

$ cat /etc/passwd | grep secpgastsecpgast:x:1000:1000:secpgast:/home/secpgast:/bin/bash

secpgast

Page 13: Vollautomatisierte e-Learning Plattform am Beispiel eines ... · Vollautomatisierte e-Learning Plattform Problemstellung Im Gegensatz zu Programmieraufgaben kein AST o.Ä. für Systemzustand

Vollautomatisierte e-Learning Plattform

Aufgabenkategorisierung

● Komplexität der Testroutine abhängig vom Aufgabentyp

● Resultat– Interne Konfiguration

➔ Direkter Zugriff auf das zu testende System

– Konfiguration eines externen Diensts

➔ Erreichbarkeit des zu testenden Systems

– Programmieraufgaben

➔ Sichere Ausführungsumgebung, Spezifikation

– Standardisierte Abgaben

– Freie Abgabe

13

Page 14: Vollautomatisierte e-Learning Plattform am Beispiel eines ... · Vollautomatisierte e-Learning Plattform Problemstellung Im Gegensatz zu Programmieraufgaben kein AST o.Ä. für Systemzustand

Vollautomatisierte e-Learning Plattform

Erster Systementwurf

14

Page 15: Vollautomatisierte e-Learning Plattform am Beispiel eines ... · Vollautomatisierte e-Learning Plattform Problemstellung Im Gegensatz zu Programmieraufgaben kein AST o.Ä. für Systemzustand

Vollautomatisierte e-Learning Plattform

Praktikumslebenszyklus

15

Page 16: Vollautomatisierte e-Learning Plattform am Beispiel eines ... · Vollautomatisierte e-Learning Plattform Problemstellung Im Gegensatz zu Programmieraufgaben kein AST o.Ä. für Systemzustand

Vollautomatisierte e-Learning Plattform

Ausführung eines Tests durch einen Studenten

16

Page 17: Vollautomatisierte e-Learning Plattform am Beispiel eines ... · Vollautomatisierte e-Learning Plattform Problemstellung Im Gegensatz zu Programmieraufgaben kein AST o.Ä. für Systemzustand

Vollautomatisierte e-Learning Plattform

Vorbereitung und Wiederherstellung der VMs

17

Page 18: Vollautomatisierte e-Learning Plattform am Beispiel eines ... · Vollautomatisierte e-Learning Plattform Problemstellung Im Gegensatz zu Programmieraufgaben kein AST o.Ä. für Systemzustand

Vollautomatisierte e-Learning Plattform

Implementierung

● Implementierung in Python

● Web-Anwendung mit Task-Management

● Verwendete Frameworks– Flask zur Entwicklung der Web-Anwendung

– Objektorientierte Umsetzung des Datenmodells in SQLAlchemy (Object Relational Mapper)

– Celery Task-Queue für Task-Management

18

Page 19: Vollautomatisierte e-Learning Plattform am Beispiel eines ... · Vollautomatisierte e-Learning Plattform Problemstellung Im Gegensatz zu Programmieraufgaben kein AST o.Ä. für Systemzustand

Vollautomatisierte e-Learning Plattform

Übersicht über die Implementierung

19

Page 20: Vollautomatisierte e-Learning Plattform am Beispiel eines ... · Vollautomatisierte e-Learning Plattform Problemstellung Im Gegensatz zu Programmieraufgaben kein AST o.Ä. für Systemzustand

Vollautomatisierte e-Learning Plattform

Status der Testausführung

20

Page 21: Vollautomatisierte e-Learning Plattform am Beispiel eines ... · Vollautomatisierte e-Learning Plattform Problemstellung Im Gegensatz zu Programmieraufgaben kein AST o.Ä. für Systemzustand

Vollautomatisierte e-Learning Plattform

Ergebnisse der Testausführung

21

Page 22: Vollautomatisierte e-Learning Plattform am Beispiel eines ... · Vollautomatisierte e-Learning Plattform Problemstellung Im Gegensatz zu Programmieraufgaben kein AST o.Ä. für Systemzustand

Vollautomatisierte e-Learning Plattform

Ergebnisse der Testausführung

22

Page 23: Vollautomatisierte e-Learning Plattform am Beispiel eines ... · Vollautomatisierte e-Learning Plattform Problemstellung Im Gegensatz zu Programmieraufgaben kein AST o.Ä. für Systemzustand

Vollautomatisierte e-Learning Plattform

Bewertung

● Herausforderung: hinreichende Fehlermeldungen

● Positives Feedback durch Studenten

● Verringerter Korrekturaufwand

● Automatisierung von 80% der Aufgaben im Praktikum IT-Sicherheit

23

Page 24: Vollautomatisierte e-Learning Plattform am Beispiel eines ... · Vollautomatisierte e-Learning Plattform Problemstellung Im Gegensatz zu Programmieraufgaben kein AST o.Ä. für Systemzustand

Vollautomatisierte e-Learning Plattform

Ausblick

● „Praktikum as a Service“

● Zeitraum frei wählbar

● Mehr Praktikumsplätze

24

Quelle: http://thoughtblender.blogspot.de/2011/02/thinking-as-service.html

Jan SchmidtMNM-Team

Ludwig-Maximilians-Universität Münchenhttp://www.mnm-team.org/~schmidtja