LU02e - LB2 - Projektauftrag
1. Projektauftrag
Teil 1
Programmieren Sie eine Applikation, die mit den nachfolgenden Techniken angreifbar ist (vulnerable). Der Angriffsvektor kann entweder über eine Front-End-Schnittstelle oder über ein Backend-Script/File erfolgen.
Teil 2
Programmieren Sie die gleiche Applikation als sichere Version (secured), in dem Sie die definierten Sicherheitsmassnahmen programmiertechnisch umsetzen.
Die Arbeit ist, gmäss Unterrichts-Input, bezüglich der CIA-Triad auszurichten. Idealerweise weisen können Sie mit den Themenvorgaben gegen alle 3 Meta-Ziele (Verfügbarkeit, Vertraulichkeit, Integrität) angreifen.
Selbstverständlich erstellen Sie die Sicherheitsmassnahmen so aus, dass diese Angriffe im 2. Teilauftrag nicht mehr möglich sind.
3. Ablauf
Es werden zufällig Teams zu je 2 Personen gebildet
Die Lehrersperson kommuniziert:
Die Arbeitsaufteilung muss klar ersichtlich sein: Sie arbeiten am gleichen Projekt, jedoch an unterschiedlichen Teilen: Angriff VS. Verteidigung
Die Leistungsüberprüfung geschieht durch ein Video-aufgezeichnetes Fachgespräch.
Jedes Mitglied kann Auskunft über alle Codeteile geben, d.h. Wissenstransfer liegt in der Verantwortung der Lernenden
Bewertet wird nach einem vorher definierten Bewertungsraster
Je 2 Teams erhalten den gleichen Auftrag, das Team mit der besten Leistung erhält einen Bonus von 0.25 Notenpunkten
4. Themen
Die nachfolgenden Themen stehen zur Verfügung:
SQLi
BruteForce
DDoS
5. Lieferumfang
Zielsetzung: UseCases
Konzept: ERD oder Ablaufdiagramm
konzept: Architecktur (UML oder ähnliches)
1. Schicht: Frontend oder Simulation
2. Schicht: Server
3. Schicht: Datenbank-Instanz, Wörderbücher, etc
Unsichere Version der Software
Sichere Version mit entsprechend umgesetzten Programmiermassnahmen
6. Erlaubte Technologien
Die nachfolgenden Technologien stehen Ihnen zur Verfügung.
-
JavaScript oder Python
Node.js Laufzeitumgebung (Analog Python)
CodeEditor Visual Studio Code, Webstorm oder Pycharm
Postman Frontend-Simulation
Volkan Demir