TU Wien:Introduction to Security VU (Maffei)

From VoWi
Jump to navigation Jump to search
Similarly named LVAs (Resources):

Daten[edit]

Lecturers Matteo Maffei
ECTS 3
When summer semester
Language English
Links tiss:184783
Zuordnungen
Bachelor Wirtschaftsinformatik Pflichtmodul WIN/RSI - Recht und Sicherheit
Bachelor Medieninformatik und Visual Computing Wahlmodul Security
Bachelor Medizinische Informatik Pflichtmodul Informationssysteme des Gesundheitswesens
Bachelor Software & Information Engineering Pflichtmodul Security und Recht
Bachelor Technische Informatik Wahlmodul Verbreiterung Bakkalaureat Technische Informatik

Mattermost: Channel "introduction-to-security" Team invite & account creation link Mattermost-Infos Mattermost: Channel "introduction-to-security" Team invite & account creation link Mattermost-Infos

Inhalt[edit]

System security: Bufferoverflows (auch ROP), Gegenmaßnahmen(Canary, DEP, ASLR,..)
Web Security: XSS, CSRF, SQL-Injection, Drive-by-Pharming
Cryptography: Symmetrische und Asymmetrische Verschlüsselung, DES, AES, ElGamal, ...
Cryptohgraphic Protocols: Mögliche Attacken (Replay,..), Kerberos, SSL/TLS

Ablauf[edit]

WS 17: Bis Weihnachten jede Woche 2h Vorlesung. Außerdem sind drei Übungen zu lösen.

SS 19: Jede Woche 2h VO, 3/4 Übungen müssen gelöst werden.

Benötigte/Empfehlenswerte Vorkenntnisse[edit]

Programmierkenntnisse für die Übungen, Algebra für den Kryptographieteil

Es wurde C, Python, JavaScript, SQL verwendet. Ein bisschen PHP Wissen schadet sicher auch nicht. Algebra für den Kryptographieteil nur erforderlich, wenn man die Materie verstehen will ;)

Vortrag[edit]

Der Vortrag wird in Englisch gehalten, welches manchmal nicht ganz verständlich ist. Jedoch kann man dem Vortrag trotzdem folgen. Die Folien sind jedoch meist auch recht detailliert was dazu führt, dass der Vorlesungsbesuch nicht zwingend erforderlich ist.

Übungen[edit]

1. System Security: Zwei Bufferoverflow-Aufgaben, wobei beim ersten ein Canary "umgangen" werden muss und beim 2. eigentlich zum Großteil einer Anleitung gefolgt werden muss und damit verschafft man sich Zugang zur Root-Shell.
2. Web Security: Aufgaben zu XSS, SQL-Injection, CSRF
3. Kryptographie: Anhand eines bestimmten Verschlüsselungsverfahren soll eine Datei entschlüsselt werden. Dabei gibt es eine 2. Datei die mit dem gleichen Schlüssel verschlüsselt worden ist und es soll ein Programm implementiert werden, die anhand dieser Datei den wahrscheinlichsten Schlüssel liefert.


Für die Übungen ist ca. jeweils 1 Monat Zeit.

SS 2019: Erweiterte praktische Übungen finden im Rahmen der LVA Introduction to Security UE statt.

Prüfung, Benotung[edit]

Die Prüfung war imo recht schwer, allerdings nicht unfair gestaltet. Gekommen sind (im S19) ausschließlich 16 multiple-choice Fragen, wovon einige code-snippets enthalten haben. Diese waren aber recht kurz und nichts, was man in der Übung nicht sehen würde. Die Fragen waren allerdings schon recht trickreich (z.B. konnte leich ein <= übersehen/falsch interpretiert werden, allerdings ist das in der Übung auch nicht anders gewesen). Wenn man den Stoff verstanden hat, sollten die meisten davon aber sicher kein Problem darstellen. Ein paar (4-5) haben allerdings schon recht genau Details abgefragt (z.B. wie genau eine Formel lautete, die in der VO präsentiert und bewiesen wurde).

Die praktischen Aufgaben wurden recht fair bewertet. Solange man sie selbst gemacht hat und bei der Abgabe alle geforderten Beschreibungen und den Code dazugegeben hat, sollten sich 100% auf alle Aufgaben ausgehen. Die Bewertung hat allerdings unheimlich lange gedauert (bis 1-2 Tage vor der Prüfung).

Benotung Prüfung:

SS19: Eigentlich waren min. 50% auf Übungsteil und Prüfungsteil gefordert, am Ende (nach/bei Veröffentlichung der Ergebnisse) wurde das Minimum der Prüfung auf 7/15 richtigen Fragen (all or nothing) heruntergesetzt.

Dauer der Zeugnisausstellung[edit]

SS19: Prüfung am 04.06.2019, Note am 01.07.2019, Zeugnis am ...

Zeitaufwand[edit]

Für die Übungen werden laut TISS 24h Stunden eingeschätzt. Das kommt ca. hin.

Andere Meinung (S19): Die Übungen nehmen, wenn man noch nicht viel Ahnung mit den eingsetzten Technologien hat sehr viel Zeit in Anspruch. Die Übungen können schwer sein und sind nicht zu unterschätzen.

Unterlagen[edit]

Zur VO werden Folien angeboten. Zur ersten Übung gabs ein GDB Tutorial. Wesentliche Materialien sind bei jeder Übung auf der Übungsplattform verlinkt.

Tipps[edit]

  • Meiner Meinung nach war das schwierigste an den Übungen draufzukommen, wie man einen Exploit ausnutzen oder generell das System hacken kann. Sobald man da mal eine Idee hatte dauerte die Aufgabe in der Regel nur noch ein paar Minuten. Daher gut überlegen, bevor man anfängt.
  • Beim Code (in Übungen, in der Prüfung) ganz genau überlegen, wie groß z.B. ein Puffer ist, wie viele Durchläufe eine Schleife macht, etc. und bei C nicht auf das \0 vergessen.
  • Während man die Übungsaufgaben löst, irgendwo Notizen machen (Notepad, Word, auf Papier, ...), damit man dann nachher leichter Schritt für Schritt erklären kann, was man gemacht hat.
  • Manchmal kann man die zur Verfügung gestellten Programme verwenden, um die Aufgaben zu lösen. Dann muss kein komplett neues Programm geschrieben werden.
  • Ein Englischwörterbuch darf bei der Prüfung verwendet werden
  • Anm.: Wer einfach nur die 3 ECTS braucht, sollte unbedingt das deutsche Introduction to Security VU (Brem) machen. Lab0 ist da völlig geschenkt, womit man die ersten 20 Übungspunkte nach 1-2 Stunden sicher hat. Gerade die (seit SS19 optionalen) Übungen sind bei dieser LVA wirklich relativ zeitaufwändig, falls keine Vorerfahrung vorhanden ist.

Verbesserungsvorschläge / Kritik[edit]

Die Korrektur und Benotung war recht langsam, das könnte eindeutig noch verbessert werden.

Mehr Tutorenstunden, besonders bei den späteren (viel schwereren) Beispielen wären hilfreich. Leider gabs die Tutorien nur zu Beginn der LVA bei den einfacheren Beispielen.