TU Wien:Network Security VU (Zseby)
- Network Security - Advanced Topics VU (Zseby) (TU Wien, 0 Materialien)
- Network Security VU (Zseby) (TU Wien, 19 Materialien)
Daten[Bearbeiten | Quelltext bearbeiten]
Vortragende | Lisa-Marie Geiginger• Felix Iglesias Vazquez• Paul Anton Mairinger• Tanja Zseby |
---|---|
ECTS | 3,0 |
Letzte Abhaltung | 2024S |
Sprache | English |
Mattermost | network-security • Register • Mattermost-Infos |
Links | tiss:389159 |
Inhalt[Bearbeiten | Quelltext bearbeiten]
Die VU beschäftigt sich mit dem Thema Security aus einer Data-Science-Perspektive. Es geht also nicht um das Ausnützen von Sicherheitslücken wie bei (Advanced) Internet Security sondern um die Erkennung von Angriffen/Anomalien mithilfe von statistischen Auswertungen.
In der Vorlesung werden folgende Themen behandelt:
- Threats
- Botnets
- Attack Vectors
- Crypto Basics
- Modern Ciphers
- Symmetric Cryptography
- Asymmetric Cryptography
- Message Authentication Codes
- Security Protocols
- Network Supervision
- IP Darkspace
- Anomaly Detection
Die behandelten Inhalte sind grundlegender Natur, die LVA würde auch ins Bachelor-Studium passen.
SS23: Wer etwas lernen möchte, ist hier falsch. Wen Kryptografie interessiert, ist woanders besser aufgehoben, da Entwicklungen der letzten 10+ Jahre komplett ignoriert werden. Wen Statistik interessiert, ist hier auch falsch aufgehoben, weil im Laufe der Übungen ("Labore") laufend unpassende statistische Methoden oder fehlerhafte Implementierungen gezeigt und verlangt werden, die die Daten zum Teil grob missrepräsentieren.
Ablauf[Bearbeiten | Quelltext bearbeiten]
Ca. 6 Vorlesungen in der ersten Hälfte des Semesters mit abschließender Prüfung über den Stoff. Anschließend kommt der Laborteil, der aus Datenschutzgründen auch wirklich vor Ort im Labor absolviert werden muss. (Wir haben mehrmals gefragt ob wir Daten kopieren dürfen und es wurde erlaubt also stimmt das so wohl nicht (mehr) wirklich) Der einzige Grund wirklich vor Ort zu arbeiten ist die Möglichkeit Fragen zu stellen. Zum Lab/Report gibt es auch noch ein Review Gespräch (30min Zeit Slots). (SS2021: Statt eines Gesprächs gab es einen zusätzlichen TUWEL-Test mit 8 MC-Fragen, siehe Infos weiter unten)
Die Vortragenden haben zum Ablauf/Hintergrund der LVA zwei Papers geschrieben, die unter Materialien zu finden sind.
Stand: SS 2019
SS 2021:
- 5-6 Foliensätze mit aufgezeichneten Vorlesungen
- (Tuwel-)Theorie-Prüfung, welche positiv absolviert werden muss (kein Ersatz- oder Wiederholtermin!)
- Lab-Teil: 4 Exercises in virtueller Lab-Umgebung, Abgabe u. Validierung über Tuwel + Programmierung eines ML-IDS
- Lab-"Review": Prüfung zum Lab-Teil
Benötigte/Empfehlenswerte Vorkenntnisse[Bearbeiten | Quelltext bearbeiten]
Linux-Shell, Matlab/Octave, LaTeX
Vortrag[Bearbeiten | Quelltext bearbeiten]
Angenehm mit einigen Beispielen. Vortrag wird auf Englisch gehalten. Die Folien sind recht gut und erklären die Inhalte ausführlich. Ein Vorlesungsbesuch ist nicht notwendig.
Übungen[Bearbeiten | Quelltext bearbeiten]
Man hat 6-7 Lab Slots (ca. 4 Stunden pro Slot) Zeit um den Laborteil abzuschließen. Dieser besteht aus der Analyse und Interpretation von großen Netzwerkdumps. Für die Protokolle gibt es ein LaTeX Template, das jedoch nicht sonderlich hilfreich/umfangreich/besonders ist.
SS2021: keine Anwesenheit und kein Protokoll. Stattdessen: basic Kommandos wie tcpdump, host etc. und hauptsächlich statistische Auswertung von .pcap Files.
Der Übungsteil wird in Teams zu je 2 Personen absolviert.
Die Exercises liefen über eine von der LVA-Leitung eingebettete Seite in TUWEL. Es gab 4 Exercises zu insgesamt 12 Punkten (es mussten alle absolviert werden, ansonsten gab es keine Punkte). Die Exercises hatten jeweils 3 Unterseiten, auf denen es gewisse Informationen zu erarbeiten gab (z.B. war ein File mit aggregierten Network traffic Daten angegeben und es mussten z.B. mittels python und pandas bestimmte statistische Daten ausgewertet werden). Die eingegebenen Daten werden sofort validiert (unendlich viele Versuche) und nur wenn alle Felder korrekt ausgefüllt werden, kann auf die nächste Seite gewechselt werden (gleiches gilt für Exercises, sie müssen in der gegebenen Reihenfolge absolviert werden). Es kann vorkommen, dass eine Antwort von ihnen falsch hinterlegt ist - dann muss eine Mail an die LVA-Leitung verfasst werden, die dann innerhalb von 24 Stunden an Werktagen antwortet und eventuell Tipps gibt, falls man auf dem falschen Weg ist. Tipp: Früh beginnen, damit eventuelle Probleme mit der Eingabe früh gelöst werden können (wenn man erst spät anfängt, dann nimmt das Warten auf eine Antwort Arbeitszeit weg, da ja nicht beliebig zwischen den Aufgaben hin und her geswitcht werden kann).
Die Competition besteht aus dem Trainieren eines Machine Learning Models zum Erkennen von Anomalien in Netzwerktraffic. Es wurde ein Training-PCAP file bereitgestellt, mithilfe dessen wir unser Model trainieren sollen (am besten mittels Python und scikit-learn). Für die Abgabe müssen ein Shell-Script sowie das Python-File gezippt werden (im Idealfall die pre-trained models auch noch, damit die Bewertung schneller geht) und schließlich in einem TUWEL-Interface submitted werden. Achtung: Die Competition-Plattform ist recht schnell überfordert, wenn viele Teams gleichzeitig ihre ZIP files submitten. Hier ist viel Geduld gefragt.
Sollte etwas mit dem Script nicht passen (Exceptions o.ä.) so ist die Fehlermeldung im Interface leider sehr nutzlos - es wird kein Log mitgegeben (laut LVA-Leitung wäre dies aus Sicherheitsgründen so). In diesem Fall muss ein Mail an die LVA-Leitung geschrieben werden, die dann den Log weiterleitet und evtl. weiterführende Tipps gibt, wie das Problem verhindert werden kann.
Prüfung, Benotung[Bearbeiten | Quelltext bearbeiten]
Prüfung ist mit Folienlernen schaffbar. Die Benotung erscheint fair. Im SS18 und SS19 war die Prüfung ähnlich den vorigen und mit kurzer, intensiver Vorbereitung (~3 Tage) gut schaffbar.
Das Abgabegespräch wird im Team durchgeführt. Es gibt für jede Person zwei Theorie-Fragen, die eher einfach sind, wenn man die Theorie hinter den Assignments verstanden hat. Außerdem wird die Beurteilung des Protokolls besprochen.
See the collection of questions in the attachments. In the lecture exam a few theoretical questions from the slides are asked and 3/4 practical questions like "Encrypt/Decrypt using Caesar's cipher".
SS2021: Es gab 2 Prüfungen. Es gibt jeweils 2 Termine in Abstand von 2-3 Tagen, man kann allerdings NICHT zu beiden Terminen antreten (die Bewertung wird außerdem erst nach beiden Terminen veröffentlicht)
- Theory Exam (ca. 5 Wochen nach Semesteranfang) - Zeitlimit: 1 Stunde
- TUWEL-Test mit verschiedenen Frageformaten zu der Vorlesung (u.a. Multiple-Choice, Textfelder für kurze Formelantworten).
- 21 von 40 Punkte notwendig, um positiv zu sein.
- Ein negatives Ergebnis auf die Prüfung ergibt ein negatives Zeugnis (es kann nicht am Lab Part teilgenommen werden).
- Lab Review (Ende vom Semester, nach dem Lab) - Zeitlimit: 30 Minuten
- Ursprünglich als mündliche Prüfung (oder Abgabegespräch?) gedacht, war es wieder ein TUWEL-Test mit 8 MC-Fragen zu je 2 oder 3 Punkten.
- Die Fragen beziehen sich auf die Lab Exercises. Gefragt wurden unter anderem auch Sachen, die eher mit Statistik als mit Network Security zu tun haben ("Select all true statements about Histograms/Boxplots") sowie Ergebnisse aus dem Lab-Part ("The most common protocols were X,Y,Z (y/n)").
- Keine Mindestpunktezahl notwendig. Auf den Lab Part müssen mindestens 20 von 40 Punkte erreicht werden. Mit Lab Exercises + Competition können bis zu 20 Punkte erreicht werden (12+8), dann genügen auf das Lab Review auch 0 Punkte.
Beiden Prüfungen war gemeinsam, dass die Prüfungsaufsicht überaus strikt war. Es waren 2 Kameras notwendig (vorne und hinten) und es musste vor der Prüfung der Raum über die Kamera hergezeigt werden. Weiters waren Headsets verboten, alle Teilnehmenden mussten immer unmuted sein (außer es war durch Umgebungslärm zu laut, dann wurden alle aufgefordert, sich zu muten). Bei der Ausweiskontrolle zu Prüfungsbeginn musste außerdem noch einmal (zusätzlich zur eidesstattlichen Erklärung in TUWEL) explizit der Aufnahme zugestimmt werden. Die Vorbereitung auf diese Gegebenheiten hat in beiden Fällen mehr Zeit in Anspruch genommen als die eigentliche Prüfung.
SS2023: Die Prüfung war sehr easy. Basically, waren es nur Altfragen.
Dauer der Zeugnisausstellung[Bearbeiten | Quelltext bearbeiten]
- SS16: 2 Wochen nach dem Abgabegespräch
- SS19: 1 Woche nach dem Abgabegespräch
Zeitaufwand[Bearbeiten | Quelltext bearbeiten]
Entspricht in etwa den 3 ECTS/75 h: 25 Stunden Vorlesung und Prüfung, 15 Stunden Labor, 20 Stunden Report, 5 Stunden Vorbereitung auf das Abgabegespräch. Den Report sollte man nicht unterschätzen, das erste Assignment ist relativ einfach, allerdings steigt der Aufwand bzw. die Schwierigkeit an. Vor allem das Erstellen von schönen/brauchbaren Plots mit MATLAB hat uns viel Zeit gekostet.
Unterlagen[Bearbeiten | Quelltext bearbeiten]
Folien im TISS
Tipps[Bearbeiten | Quelltext bearbeiten]
- Gibt man das Protokoll eine Woche früher ab, gibt es 2 Bonuspunkte. (das war nicht mehr so SS23)
- Plots und so am besten mit Python erstellen, da gibts coole Libs und das geht schnell
Highlights / Lob[Bearbeiten | Quelltext bearbeiten]
noch offen
Verbesserungsvorschläge / Kritik[Bearbeiten | Quelltext bearbeiten]
- Die Daten sollten direkt im TUWEL veröffentlicht werden, sodass man gar nicht ins Labor kommen muss.
- SS21: Der Name der LVA sollte echt geändert werden, "Statistical Analysis of Network Traffic" oder ähnlich. Noch nie wurde ich an der TU so sehr von einer LVA enttäuscht - der starke Statistik-Bezug sollte sich zumindest irgendwo in der Kursbeschreibung wiederfinden.
- Wer es hasst für Online-Prüfungen zwei Kameras aufzustellen, den Raum zu zeigen und aufgezeichnet zu werden, sollte sich einen anderen Kurs suchen.
- Die Competition-Abgabe-Plattform ist teilweise sehr langsam und die Fehlermeldungen in den meisten Fällen absolut nicht hilfreich ("Provided script has crashed" - ohne Hinweise darauf, was der tatsächliche Fehler ist). Das ist sehr frustrierend, vor allem, wenn das Script am Lab-Rechner läuft, aber nicht in der Competition und das Problem schlussendlich ist, dass pip die pandas-Version, die man zu installieren versucht (weil sie auch am Lab-Rechner funktioniert), nicht findet.
- Der Competition-Teil wirkt super random. Allgemein hat die Vorlesung nichts mit der Übung zu tun und der Competition-Teil ist noch schlimmer. Man soll auf einmal Machine-Learning können ohne, dass das richtig erklärt wird. Immerhin bekommt man im Labor sinnvolle Hilfe.