Die heimliche Netzsprache
Forscher am Software Lab arbeiten am sicheren Internet
24.08.2016 von Boris Hänßler
Was passiert, wenn wir eine Webseite aufrufen? Am Software Lab der Technischen Universität Darmstadt suchen Forscher nach Fehlern in den Programmen, die dabei unbemerkt im Hintergrund ablaufen. Das Ziel ist ein sicheres und zuverlässiges Internet.

Der Online-Dienst Alexa pflegt eine Liste mit den weltweit populärsten Webseiten. An der Spitze stehen Namen, die wir alle kennen, zum Beispiel Google, YouTube, Facebook, Amazon oder Twitter. Als Nutzer dieser Angebote verlassen wir uns darauf, dass sie einwandfrei funktionieren und sicher sind. Aber fehlerhafte Skripte sind selbst auf diesen bekannten Webseiten allgegenwärtig, nur oft bekommen wir das erst mit, wenn ein ernster Schaden entstanden ist.
Michael Pradel vom hat sich mit seinem Team die Top 100-Webseiten laut Alexa vorgenommen und dort nach Schwachstellen gefahndet. Die Forscher entwickelten verschiedene Analyseverfahren, mit der sie eine große Zahl an Webangeboten automatisch testen können. „Für die meisten Menschen ist es unvorstellbar, wie viele Skripte jedes Mal im Hintergrund ablaufen, sobald wir eine Internetseite aufrufen“, sagt Pradel. Skripte sind kleine Programme, die es uns ermöglichen, mit der Webseite zu interagieren. „Und jedes dieser Programme kann Fehler enthalten oder verursachen. Die meisten sind harmlos, aber einige gehen auf Kosten der Nutzer.“ Software Lab der TU Darmstadt
Pradel sitzt im vierten Obergeschoss eines Gebäudes, in dem auch das untergebracht ist. Von seinem Fenster aus kann er über Darmstadt bis zur Mathildenhöhe blicken. Mit seinem Team redet er auf Englisch. Er hat 2012 an der ETH Zürich promoviert und anschließend als Postdoc an der Universität Berkeley in Kalifornien geforscht. Im Oktober 2014 kam er nach Darmstadt, um das Software Lab aufzubauen. Fraunhofer-Institut für Sichere Informationstechnologie
Schwerpunkt Programmanalyse
Sein Schwerpunkt ist die Programmanalyse, und für ihn umfasst sie drei Aspekte: Zuverlässigkeit, Effizienz und Datensicherheit bei Webapplikationen. Für Pradel ist eine Webseite zuverlässig, wenn sie sich so verhält, wie vom Betreiber intendiert, und nicht abstürzt. Sie ist sicher, wenn die Daten des Betreibers und der Besucher gegen Angriffe geschützt sind. Außerdem ist eine optimale Seite schnell und führt keine unnötigen Rechenoperationen durch.
Pradels Team prüft diese Aspekte anhand sogenannter Laufzeitanalysen. „Die von uns entwickelten Programme verhalten sich wie ein Mensch“, sagt Pradel. „Aber im Gegensatz zu einem menschlichen Nutzer sollen sie systematisch sämtliche Abläufe auf einer Seite auslösen – also alle möglichen Interaktionen simulieren. Würde das ein Mensch machen, bräuchte er mitunter Tage oder Wochen.“
Webseiten haben sozusagen einen Startzustand und der verändert sich mitunter schon, wenn wir den Mauszeiger nur über ein Bild bewegen. Das Bild erhält zum Beispiel einen Rahmen, es wird vergrößert oder als Mauszeiger erscheint eine Lupe. Die Seite geht in diesen Fällen auf der Programmebene in einen anderen Zustand über, der wiederum neue Interaktionen zulässt.
„Dabei entsteht ein riesiger Suchraum, den wir nach Fehlern durchforsten können“, sagt Pradel. „Je mehr Programme hinter der Seite liegen, desto mehr kann schief gehen. Unsere Software kann nicht jedes Skript auf alle bekannten Fehler hin untersuchen, daher konzentrieren wir uns bei jeder Analyse auf ein bestimmtes Problem.“ Ein Beispiel für so ein Problem ist die Ladezeit von Seiten, die stark davon abhängt, wie effizient die Skripte ausgeführt werden. Aber Browser sind nicht geduldig. Sie haben Grenzwerte zwischen fünf und zehn Sekunden. Ist diese Zeit überschritten, verkündet der Browser, dass die Seite im Fenster nicht zur Verfügung stehe. Für den Betreiber kann dies zur Folge haben, dass ein potentieller Kunde verärgert zur Konkurrenz wechselt.