Informationsflusskontrolle (IFC) untersucht, ob ein Angreifer aus öffentlichen Ausgaben eines Programms Rückschlüsse auf geheime Eingaben ziehen kann.
Manchmal müssen Programme zur Erfüllung ihrer Aufgaben aber geringe Mengen an Information herausgeben, beispielsweise in einer Passwortüberprüfung.
In der quantitativen IFC wird daher untersucht, wie viel Information über die geheimen Eingaben ein Angreifer aus den öffentlichen Ausgaben gewinnen kann. Üblicherweise wird dafür ein Entropie-Maß zugrunde gelegt und der Informationsfluss in Bit angegeben.
Statische Analysen für quantitative IFC beruhen meist auf Verifikationstechniken wie Model Counting oder SMT-Solvern. Diese ermöglichen es zwar, eine hohe Präzision zu erreichen, benötigen dafür aber oft größere Laufzeiten und sind oft zu überapproximativ für konkrete Programmausführungen.
Statische Analysen für quantitative IFC sind zu überapproximativ für konkrete Programmausführungen. Dynamische Analysen dagegen beruhen darauf, dass das jeweilige Programm mit vielen verschiedenen Eingaben ausgeführt wird und haben oft Probleme mit der Korrektheit.
Aufgabe:
Ziel ist es nun einen Interpreter Ansatz als Kombination einer dynamischen und statischen Analyse zu entwickeln, welcher einfache Programme zuerst statisch analysiert und dann zu jedem Zeitpunkt der Programmausführung das aktuelle Informationsleck zumindest approximativ berechnen kann. Damit soll es möglich sein, nicht vertrauenswürdige Programme in einem Kontext auszuführen, der Informationslecks in erlaubt. Als Grundlage können Bitabhängigkeitsgraphen verwendet werden, die sowohl in
statischen Analysen, wie auch in
dynamischen Analysen Verwendung finden.
Schlüsselworte
Statische Analyse, Informationsflusskontrolle
Veröffentlichungen
Betreuer
Studenten