Sie befinden sich hier: Termine » Prüfungsfragen und Altklausuren » Hauptstudiumsprüfungen » Lehrstuhl 1 » Angewandte IT-Sicherheit   (Übersicht)

Angewandte IT-Sicherheit

Studiengang: Master Inf
Dauer: 25 Minuten
Prüfer: Felix Freiling
Beisitzer: Stefan Vömel
Themen: Angewandte IT-Sicherheit
Datum: 13.03.2012
Ergebnis: 1.0

Allgemeines

Entspannte Atmosphäre, Stift und Papier liegen wie immer bereit. Aus Gesprächen mit meinen Vorgängern und Nachfolgern schließe ich, dass Prof. Freiling immer andere Themen fragt, d.h. nicht jeder Prüfling an einem Tag darf die gleiche Sicherheitslücke erklären, o.Ä. Ich durfte relativ ununterbrochen reden, gefragt wurde nur, wenn ich fertig erklärt hatte. Alles in allem war die Prüfung subjektiv relativ schnell vorbei. Im Gegensatz zu anderen Berichten hatte ich nicht den Eindruck, dass Stoff aus der Übung gefragt wurde (aber eventuell täusche ich mich da, weil ich nicht bei jeder Übung war).

Inhalt

Ich durfte mir das Themengebiet, mit dem ich anfangen wollte aussuchen und habe Softwaresicherheit gewählt. Ich sollte verschiedene Klassen von Sicherheitslücken aufzählen, d.h. Stack Overflow, Heap Overflow, Integer Overflow, Formatstring-Angriff. Ich durfte Integer Overflows erklären (wobei ich den Eindruck hatte mir das auch aussuchen zu können), wurde in diesem Gebiet dann aber auch genauer gefragt. Ich musste zeigen, wo denn ein Problem entstehen kann, wenn man gleichzeitig Größe und Signedness castet, d.h. auch wissen, was denn zuerst gecastet wird. Außerdem wollte Prof. Freiling von mir Wissen an welchen Stellen Integer Overflows denn kritisch wären (Indizes, Größen).

Dann ging es weiter zu Race-Conditions, was ich im groben und ganzen mit Wissen aus SP und BS abhandeln konnte (access(2) gefolgt von open(2) ist mir nicht eingefallen). Als nächstes folgte Inferenz: direkter (result = secret), indirekter (result = f(secret)), transitiver (help = secret; result = help) und impliziter (if (secret > 0) result = true) Informationsfluss mitsamt Beispielen.

Dann noch ein längerer Abschnitt über covert channels, wo ich eine Timing-Attacke auf ssh erwähnt hatte, um zu raten, ob ein Benutzer existiert. Hier wollte Prof. Freiling wohl schauen, wie weit er mich ins Detail fragen kann und hat sich breit erklären lassen, ob z.B. konstante, zufällig normalverteilte, zufällig gleichverteilte oder von der Eingabe (z.B. via Hashfunktion) abhängige Wartezeiten das Problem lösen können. Konstant ist natürlich sinnlos, zufällig normalverteilt kann durch statistische Analyse ausgehebelt werden, zufällig gleichverteilt funktioniert u.U., von der Eingabe via Hashfunktion abhängige sind sicher, solange der Angreifer die Hashfunktion nicht kennt.

Abschließend kam noch eine Frage zu Recht und Ethik: Nehmen wir an ich hätte eine 0-Day-Apache-Sicherheitslücke und würde einen Exploit dafür die an die Mafia verkaufen. Ist das illegal? Ja, wg. §202c. Das Verkaufen der Sicherheitslücke selbst wäre wohl nicht illegal. Gleiches Szenario, nur dass an den BND verkauft wird ist nicht illegal, aber ich würde es aus ethischen Gründen trotzdem nicht tun. Hier haben wir dann ein bisschen Hin- und Herdiskutiert, dass der BND ja an Deutsches Gesetz gebunden ist und ich deswegen den Exploit getrost verkaufen könnte, worauf ich gekontert habe, dass es nicht der erste Geheimdienst wäre, der sich nicht ans Gesetz hält und ich dem BND nicht vertraue.

Vorbereitung

Ich habe mir zur Vorbereitung alle Vorlesungsvideos nochmal angeschaut, eine Zusammenfassung1) der Vorlesungsfolien geschrieben und bin die Übungen selektiv, aber relativ oberflächlich nochmal durchgegangen. Es empfiehlt sich, alle Vorlesungen besucht und (auch die komplexeren technischen Beispiele) verstanden zu haben.

Allen Nachfolgern noch viel Erfolg!