Servo:Mozilla erfindet den Browser neu

-

Der Fuchs soll in Zukunft sicherer werden.

(Foto: AFP)
  • Internet-Browser sind anfällig für Sicherheitslücken. Mozilla will das nun ändern.
  • Für den neuen Browser haben die Entwickler eine neue Programmiersprache eingesetzt.
  • Stück für Stück soll Firefox erneuert werden - bis er eines Tages nicht nur schneller und sicherer ist.

Von Hanno Böck

Hanno Böck arbeitet zugleich als Journalist und als IT-Sicherheitsforscher. Er hat mehrere Sicherheitslücken an Mozilla gemeldet. Dafür hat er Geld bekommen.

Auf der Webseite von Mozilla findet man eine Liste der Sicherheitslücken, die den Firefox-Browser in jüngster Zeit plagten. Mehrmals im Monat werden bei Mozilla solche Lücken vermeldet, allein in diesem Jahr waren es bereits 58. Nutzer, die ihren Browser nicht regelmäßig updaten und auf die falschen Webseiten surfen, können sich darüber Schadsoftware einfangen. Mozilla steht mit den Sicherheitslücken nicht alleine da, das Problem betrifft alle modernen Webbrowser, also auch Chrome, Safari und Internet Explorer. Doch Mozilla will das Problem nun lösen.

Es ist ein Plan, mit dem die gemeinnützige Stiftung einen Großteil der Sicherheitslücken in Zukunft verhindern will. Die Firma arbeitet deshalb an einem neuen Browser mit dem Namen Servo. Dafür wird eine komplett neue Programmiersprache verwendet, die ebenfalls von Mozilla entwickelt wurde.

C war damals revolutionär, heute gilt sie als Risiko

Ein großer Teil der Sicherheitslücken in Browsern hängt mit der Programmiersprache C++ zusammen, in der alle modernen Browser geschrieben sind. C++ ist der Nachfolger der Programmiersprache C. Sie wurde in den 70er Jahren (von Dennis Ritchie in den Bell Labs von AT&T) entwickelt. Für die damalige Zeit war C revolutionär, doch heute sehen viele Fachleute in der alten Programmiersprache vor allem ein Sicherheitsrisiko.

Ein prominentes Beispiel für diese Probleme ist der Heartbleed-Bug, der im vergangenen Jahr im Verschlüsselungstool OpenSSL gefunden wurde. Der Hintergrund: Die Speicherverwaltung von C ist relativ simpel gestrickt, es passiert Programmierern leicht, dabei Fehler zu machen. Versucht etwa ein Programmierer, zu viele Daten aus einem Speicherbereich zu lesen, beispielsweise ein Stück Text oder ein Bild, verweigert das Programm nicht etwa den Dienst, sondern es greift schlicht auf zusätzliche Daten im Speicher zu, die mit dem aktuellen Vorgang überhaupt nichts zu tun haben. Genau das ist bei Heartbleed passiert. Programmierer sprechen hier von einem Pufferüberlauf oder Buffer Overflow.

Um derartige fehlerhafte Speicherzugriffe zu verhindern muss sorgfältig geprüft werden, ob die Daten, die ein Programm lesen oder schreiben möchte, überhaupt in den passenden Speicher passen. Häufig versäumen Programmierer, derartige Checks einzubauen. Angreifer können dies ausnutzen und mittels fehlerhafter Eingabedaten ein Programm zu unerwünschtem Verhalten zwingen. Im Falle eines Browsers könnte dies etwa bedeuten, dass eine bösartige Webseite oder auch nur ein darauf vorhandenes Werbebanner durch Ausnutzung derartiger Fehler einen Virus installieren kann.

Webbrowser gehören zu den kritischsten Programmen

Die Sicherheitsprobleme von C und C++ sind schon lange bekannt und vielfach ertönte bereits der Ruf, man solle auf modernere Programmiersprachen setzen, die Speicherzugriffe automatisch prüfen und von derartigen Fehlern weitgehend verschont bleiben. Doch das änderte bislang nichts daran, dass nach wie vor sehr viel Software in C und C++ geschrieben wird. Ein Grund dafür ist, dass viele moderne Programmiersprachen zwar sicherer, dafür aber auch langsamer sind.

Webbrowser gehören zu den kritischsten Programmen in Sachen Sicherheit. Bei Mozilla hat man daher vor zwei Jahren das Servo-Projekt gestartet, in dem der Kern des Browsers komplett neu entwickelt werden soll. Servo wurde in der ebenfalls bei Mozilla entwickelten neuen Programmiersprache Rust geschrieben.

Anders als C ist Rust eine Programmiersprache mit einer intelligenten Speicherverwaltung. Pufferüberläufe und viele andere sicherheitskritische Fehler sind somit von vornherein ausgeschlossen. Zugriffe einer Software auf ungültige Speicherbereiche werden unterbunden.

Firefox könnte Stück für Stück ersetzt werden

Doch die Servo-Entwickler wollen nicht nur einen Browser schaffen, der weniger Sicherheitslücken hat. Durch die Neuentwicklung soll auch die Geschwindigkeit profitieren. Servo kann heute schon einfache Webseiten darstellen, von einem voll funktionstüchtigen Browser ist das Projekt jedoch weit entfernt.

Die Servo-Entwickler haben nicht vor, eines Tages den kompletten Firefox-Browser zu ersetzen. Vielmehr soll die Umstellung Schrittweise erfolgen. Im Lauf diesen Jahres ist geplant, als ersten Test den Code zur Darstellung des Bitmap-Bildformats in Firefox durch Servo-Code zu ersetzen. Schrittweise könnte dann immer mehr Firefox-Code ersetzt werden - und in einigen Jahren hätte Mozilla einen Browser, der nicht nur schneller, sondern auch deutlich sicherer ist.

Zur SZ-Startseite

Lesen Sie mehr zum Thema

Jetzt entdecken

Gutscheine: