LU02e - LB2 - Projektauftrag
1. Projektauftrag
Ihr Auftrag besteht darin eine vulnerable Applikation zu programmieren und diese anschliessend mit geeigneten pogrammiertechnischen Massnahmen zu schützen.
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 der Sie die definierten Sicherheitsmassnahmen programmiertechnisch umsetzen.
Die Arbeit ist, gmäss Unterrichts-Input, bezüglich der CIA-Triad auszurichten. Idealerweise können Sie 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 Notenpunkte
4. Themen
Die nachfolgenden Themen stehen zur Verfügung:
SQLi
BruteForce
5. Lieferumfang
6. Erlaubte Technologien
Die nachfolgenden Technologien stehen Ihnen zur Verfügung.
-
Programmiersprachen:
JavaScript
Python
Shell/BASH
Node.js Laufzeitumgebung (Analog andere Programmiersprachen)
CodeEditor Visual Studio Code, Webstorm oder Pycharm
Postman Frontend-Simulation
Volkan Demir