Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
modul:m183:learningunits:lu02:05 [2025/09/18 09:52] – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1modul:m183:learningunits:lu02:05 [2025/09/18 12:43] (aktuell) vdemir
Zeile 1: Zeile 1:
 +====== 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.
 +
 +===== 2. Metaziele =====
 +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:
 +    * den Auftrag und den Umfang (Was ist zu liefern)
 +    * die Themen
 +    * die Zuteilung der Team zu den Themen
 +  * 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
 +  - 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. 
 +
 +  * HTML-CSS
 +  * Programmiersprachen:
 +    * JavaScript
 +    * Python
 +    * Shell/BASH
 +  * Node.js Laufzeitumgebung (Analog andere  Programmiersprachen)
 +  * CodeEditor Visual Studio Code, Webstorm oder Pycharm 
 +  * Postman Frontend-Simulation
 +
 +----
 +[[https://creativecommons.org/licenses/by-nc-sa/4.0/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] Volkan Demir