News+Stories: Sie sind Sicherheitsforscher und beschäftigen sich mit der Sicherheit von Computersystemen. Da stellt sich als erstes die Frage: Was ist eigentlich Security?
Daniel Gruss: Wenn sich ein System so verhält, wie ich es möchte und erwarte. Dabei ist es egal, ob es sich um ein Computersystem oder das reale Leben handelt. Im echten Leben könnte das zum Beispiel sein, dass ich erwarte, nicht krank zu werden. Bei Computersystem kann das sein, dass es zum Beispiel meine Daten vertraulich behandelt. Security ist, wenn es genau das tut, was ich möchte, nicht mehr und nicht weniger. Das hängt aber immer von den Erwartungen ab.
Wie erkenne ich die Erwartungen der Nutzenden?
Gruss: Manchmal ist das ganz einfach: Wenn ich ein Passwort nutze, dann erwarte ich, dass niemand mein Passwort verraten bekommt. Wenn ich eine verschlüsselte Festplatte nutze, dann erwarte ich, dass niemand darauf zugreifen kann. Sicherheit muss aber immer vom Menschen definiert werden und ist ein Willensausdruck. Wenn ich zum Beispiel kein Passwort verwende, oder ein sehr schwaches, dann ist das genauso ein Ausdruck des Willens und sagt, dass mir Sicherheit nicht so wichtig ist.
Ist das immer eine so bewusste Entscheidung?
Gruss: Nein, absolut nicht. Dazu ist unsere Welt zu komplex. Aber nicht nur bei Computersystemen ist das so: Wenn wir uns zum Beispiel aller Gesundheitsrisiken bewusst wären, würden wir uns vermutlich ganz anders verhalten, nicht rauchen, nicht trinken. Tun wir aber nicht. Es geht immer auch um ein Bauchgefühl, um eine Abschätzung. So ist das auch bei Computern. Wir müssen ebenfalls ein Bauchgefühl dafür entwickeln, wie wir Sicherheit herstellen. Zum Beispiel, nicht auf jede dubiose Spam-Mail mit der Kreditkartennummer zu antworten.
Welche Art von Sicherheit untersuchen Sie?
Gruss: In meiner Arbeitsgruppe schauen wir uns das Interface zwischen Hardware und Software an – den Bereich, wo das Betriebssystem liegt. Ein Computersystem ist unheimlich komplex, besteht aus Milliarden Transistoren und Millionen Zeilen Code. Das gesamte System könnte kein Mensch in einer ganzen Lebenszeit überblicken und verstehen. Deshalb greifen wir zu Abstraktionen. Aber die können die Realität nie zu 100 Prozent wiedergeben und es wird immer Randfälle geben, die nicht bedacht worden sind. Und genau die schauen wir uns an.
Ein berühmtes Beispiel ist Meltdown. Ich habe über diese Idee zum ersten Mal mit einem Kollegen gesprochen, als wir uns bei einer Konferenz ein Hotel geteilt haben. Ich war damals überzeugt, dass das nicht funktionieren wird. Wenn es nämlich möglich wäre, dachte ich damals, dann hätte das ganz sicher schon jemand entdeckt. Hatte aber niemand. Im Grunde läuft das so: Der Angriff besteht aus einer einfachen Einzelinstruktion – also der kleinsten Software, die ich überhaupt schreiben kann. Diese Einzelinstruktion greift auf den Speicher des Betriebssystems zu, darf das aber gar nicht. Deshalb stürzt das Programm direkt ab. Zu diesem Zeitpunkt ist der Angriff aber schon gelaufen. Aus Effizienzgründen lädt das Betriebssystem nämlich die sensiblen Daten schon vorab in den Zwischenspeicher und prüft dann, ob überhaupt zugegriffen werden darf. Und diese Daten können wir auslesen.
Wir haben eine Analogie entwickelt, die es sehr anschaulich macht: Stellen Sie sich eine Bibliothek vor, in der es eine Abteilung für verbotene Bücher gibt. Wenn ich mir eines davon ausborgen möchte, dann werde ich vom Bibliothekar gestoppt. Also sage ich ihm, dass ich mir ein erlaubtes Buch ausborgen möchte, dass mit dem ersten Buchstaben auf der ersten Seite des verbotenen Buches beginnt. Der Bibliothekar, der darauf zugreifen darf, schaut im verbotenen Buch nach, stellt es zurück und fragt mich: „Welches Buch mit dem Anfangsbuchstaben R möchten Sie denn gerne ausborgen?“ Ich habe es mir aber anders überlegt und möchte nun ein Buch, das mit dem zweiten Buchstaben auf der ersten Seite des verbotenen Buches beginnt. So kann ich das ganze verbotene Buch lesen, ohne es jemals in der Hand zu haben. Das würde nun wirklich unglaublich lange dauern, aber unsere heutigen Computersysteme schaffen vier oder fünf Instruktionen pro Nanosekunde. In einer Sekunde ist er also durch sehr viele Buchstaben durch.
Ist es wahrscheinlich, dass solche Randfälle überhaupt von Angreifenden gefunden werden?
Gruss: Wir haben ja auch daran gedacht. Also warum nicht Menschen, die böse Absichten haben?
Woher nimmt man solche Ideen?
Gruss: Das ist die schwierigste Frage überhaupt. Es ist ein sehr kreativer Prozess. Es sind aufgrund von Firmengeheimnissen nicht alle Funktionsweisen eines Prozessors bekannt. Also entwickeln wir Theorien darüber und überlegen, was dabei übersehen worden sein könnte. Und dann testen wir. Aber ich muss dazu sagen, dass von 100 Ideen vielleicht eine funktioniert. Das ist jetzt aus Sicherheitssicht wunderbar, aber aus Forschungssicht natürlich nicht (lacht).
Warum werden solche Fälle nicht direkt in der Entwicklung mitgedacht?
Gruss: Das Ziel derer, die Computersysteme designen, ist Effizienz. Der Fokus ist also schlicht ein völlig anderer. Das ganze wissenschaftliche Weltbild in diesem Bereich ist darauf ausgerichtet, Dinge schneller uns besser zu machen. Das ist nicht unbedingt mit unserer Weltsicht kompatibel, die sich auf alles fokussiert, was dabei schiefgehen kann.
Passen Performance und Security überhaupt zusammen?
Gruss: Das ist eine Frage, die wir uns in einem neuen Projekt stellen, für die ich einen ERC Starting Grant bekommen habe. Viele meinen, dass es ein Konflikt ist: Je mehr Sicherheit ich möchte, desto mehr büße ich an Performance ein. Und umgekehrt. Im neuen Projekt haben wir dazu aber ganz andere, etwas ungewöhnliche Hypothesen. Nämlich, dass wir Security sogar nutzen können, um die Performance zu steigern. Das ist wie bei einem Auto: Bereits vor vielen Jahrzehnten waren Motoren soweit, dass Autos bis zu 200 Kilometer pro Stunde schnell fahren konnten. Aber es gab noch keine Sicherheitsgurte, Airbags oder Knautschzonen. Also wäre schon ein Unfall mit 50 Kilometern pro Stunde Geschwindigkeit tödlich gewesen. Aber je sicherer die Fahrzeuge selbst geworden sind, desto schneller konnte mit weniger Risiko gefahren werden. Damit haben sich die Grenzen verschoben. Und so ist es auch bei Computersystemen: Wenn ich ein System sehr schnell mache, es sich aber einmal pro Minute verrechnet, dann wird mir das nicht sehr recht sein. Wenn ich aber gleichzeitig dafür sorge, dass dieser Fehler keinen Nachteil hat oder im Idealfall gar nicht bemerkt wird, dann kann ich sehr viel mehr riskieren. Wir erwarten Performancesteigerungen von bis zu 20 Prozent. Aber das ist ein sehr langwieriger Prozess. Wir stehen erst am Anfang und werden in den kommenden fünf Jahren Projektlaufzeit wichtige Grundlagen schaffen, die dann in den nächsten Jahrzehnten ausgebaut werden können.
Wie sichern sie selbst Ihre Systeme ab?
Gruss: Genau wie alle anderen Menschen auch. Ich glaube nicht, dass es sinnvoll ist, hier besonders paranoid zu sein. Wenn mich ein Geheimdienst überwachen will, dann schafft der das so oder so. Da sind die finanziellen Mittel einfach vorhanden, um die besten Exploids kaufen zu können. Wenn es sich aber um „herkömmliche“ Angreiferinnen und Angreifer handelt, dann reichen die bekannten Sicherheitsmaßnahmen aus: sichere Passwörter, Passwortmanager, Zwei-Faktor-Authentifikation und alle aktuellen Updates.
Dieses Forschungsprojekt ist im Field of Expertise „Information, Communication & Computing“ verankert, einem von fünf strategischen Schwerpunktfeldern der TU Graz.
Mehr Forschungsnews finden Sie auf Planet research. Monatliche Updates aus der Welt der Wissenschaft an der TU Graz erhalten Sie über den Forschungsnewsletter TU Graz research monthly.