Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Hauptstudiumsprüfungen » Lehrstuhl 1 » Allgemeines   (Übersicht)

Dies ist eine alte Version des Dokuments!


Inhaltsverzeichnis

Allgemeines

Fach: Angewandte IT-Sicherheit

Prüfer: Prof. Dr. Freiling

Beisitzer: Michael Spreizenbarth

Stift und Papier liegen bereit und sollen für Erklärungen verwendet werden. Hinweis, dass man auch einfach „das weiß ich nicht“ sagen darf, und nicht minutenlang drum rum reden soll, weil die Prüfung ja auch nur 20 Minuten dauert.

Fragen

Mit was wollen sie anfangen?

Softwaresicherheit

Gab ja viele Schwachstellen, was ist denn ihre liebste bzw. welche hat sie vllt. überrascht?

Stack Overflow, dann erklaert, wie es bei Funktionsaufrufen auf dem Stack aussieht, return-Adresse und lokale Variablen, evtl. ein Buffer, den man beschreiben kann → Buffer laeuft in Richtung der return-Adresse → ueberschreiben → Sprung in entweder eigenen Code oder Code, der schon auf der Maschine ist.

Wenn die Architektur anders waere, z.B. lokale Variablen und Parameter vertauscht, waere es dann besser?

Nein, man koennte immer noch Dinge in den Stackframes anderer Funktionen ueberschreiben, oder z.B. Zugriffe ueber Index-Variablen manipulieren → machts nicht besser.

Angreifer schreiben teilweise nicht nur eine Adresse, sondern mehrere uebereinander in den Stackframe, was hat's damit auf sich?

Nennt sich Return-oriented programming, hier werden Befehlssequenzen angesprungen, die benoetigte Funktionalitaet bieten, gefolgt von einem ret. Dieses ret fuehrt dann zur Ausfuehrung der naechsten abgelegten Adresse etc.

Ist ROP Turing-vollstaendig?

So lange die Funktionalitaeten in den Libraries/im Code vorhanden sind schon; aus der Praxis bekannt, dass eigtl. fast alle Instruktionen da.

Man braucht ja auch Jumps…

Das geht ueber angesprungene Befehle, mit denen man den Stackpointer veraendern kann, also z.B. ein Ablegen der Zieladresse auf dem Stack, gefolgt von einem angesprungenen pop %esp; ret;

Etwas kompliziertere Frage, kann man denn auch Subroutinen nachbilden?

Hier bin ich etwas gehangen, Prof. Freiling hat dann erklaert, dass man ja irgendein Register nehmen kann, dort eine Adresse angeben, und dann diese Adresse als Pseudo-Stack zum Speichern von Ruecksprungadressen nutzen kann, und das Register zum Zugriff auf diesen Speicher. Spaeter meinte er aber auch, dass diese Frage ueber den eigentlichen Pruefungsumfang rausging.

Wieso hilft ASLR gegen ROP?

Weil Bibliotheken auf verschiedenen Rechnern und bei mehreren Starts des selben Programms an unterschiedlichen Adressen im Speicher liegen, man also keine festen Adressen hat, die man anspringen kann.

Das war jetzt viel Software-Sicherheit, was bedeutet denn im Kontext der Interessen, die man in Bezug auf Sicherheit haben kann, CIA?

Confidentiality, Integrity, Availability mit Erklaerung, was das jeweils bedeutet.

Gibt ja noch Unterpunkte, z.B. Authentizitaet, was hat es damit auf sich?

Erkennen, ob Absender richtig ist; noch bissl ueber CAs geredet und Authentifikation im Allgemeinen, wie das im Cyberspace so geht.

Wenn es eine vertrauenswuerdige dritte Partei gibt, die mir sagen kann, dass eine Nachricht authentisch ist, kann es dann sein, dass es Authentizitaet ohne Integritaet gibt?

Ja, wenn man z.B. nur den Inhalt einer Nachricht hasht, und die Nachricht dann veraendert wurde, ist keine Integritaet gegeben, aber die Authentizitaet „von aussen“ bestaetigt.

Zum Abschluss noch was anderes: Was sind denn Seitenkanaele?

Nicht beachtete Nebenwirkungen z.B. einer Berechnung, als Beispiel die Lucky-Thirteen-Attacke genannt, wo aus dem Timingverhalten des Servers Informationen ueber die an den Server gesendete Nachricht gewonnen werden koennen. Im Allgemeinen beobachtbare Auswirkungen, die eigentlich nichts mit der konkreten Berechnung zu tun haben, aber dennoch Rueckschluesse zulassen, eben z.B. Antwortzeit, Stromverbrauch, unterschiedliches Verhalten bei verschiedenen Fehlern etc.

Vorbereitung

Habe mir eine Zusammenfassung aus Uebungs- und Vorlesungsfolien geschrieben, bei unklaren Punkten aus den Folien noch in die Vorlesungsvideos reingeschaut.

Man sollte auch Zusammenhaenge verstanden haben, und evtl. selbst dann ein, zwei Worte fallen lassen, auch wenn nicht direkt nach etwas gefragt wurde; z.B. Naturgesetz der Kopierbarkeit immer ein Problem bei Authentifikation im Cyberspace.