Mozilla ergänzt Firefox um erste Rust-Komponente

Mit Firefox 48 für Windows und 32-Bit-Linux führt es einen in der speichersicheren Programmiersprache geschriebenen MP4 Track Metadata Parser ein, der die aktuelle C++-Version ersetzt. Laut internen Messungen liefern beide eine identische Leistung. Die Rust-Komponenten sollen den Browser sicherer machen.

Mozilla hat damit begonnen, den Großteil des C++-Codes seines Browsers Firefox durch in der sichereren Alternativsprache Rust geschriebene Komponenten zu ersetzen. Der für 2. August angekündigte Firefox 48 wird einen in Rust verfassten MP4 Track Metadata Parser enthalten, der damit erstmals unter Windows und 32-Bit-Editionen von Linux verfügbar wird. Für OS X und 64-Bit-Linux liegt der Parser schon seit Firefox 45 vor.

Firefox (Bild: Mozilla)„Medienformate wurden bekanntermaßen schon dazu missbraucht, fiese Sicherheitslücken in Dekodern auszunutzen, die aus Speicherverwaltungsfehlern im Implementierungscode von Webbrowsern resultieren“, schreibt Dave Hermann, leitender Forscher von Mozilla Research und Director of Strategy, in einem Blogbeitrag. „Das macht eine speichersichere Programmiersprache wie Rust zu einer zwingenden Ergänzung von Mozillas Werkzeugsammlung für den Schutz vor potenziell gefährlichen Medieninhalten.“

Weiter führt Hermann aus: „Unsere ersten Messungen zeigen, dass die Rust-Komponente sehr gut funktioniert und im Vergleich zur originalen C++-Komponente, die sie ersetzt, identische Ergebnisse liefert, aber jetzt in einer speichersicheren Programmiersprache implementiert.“

Das bisher größte Projekt, bei dem Rust zum Einsatz kommt, ist die Web-Rendering-Engine Servo, die seit Anfang Juli in einer ersten Vorschau vorliegt. Servo ist der Nachfolger von Firefox‘ Browser-Engine Gecko, soll diese aber nicht sofort ersetzen, sondern zunächst ergänzen. Eine bedeutende Verbesserung ist beispielsweise die automatische Speicherverwaltung mit eigenem Typsystem. Sie soll Speicherzugriffsfehler und Pufferüberläufe verhindern, die für Angriffe missbraucht werden können. Außerdem soll Servo die parallele Rechenkraft aktueller Prozessoren besser nutzen. Im Rahmen seines Projekts Oxidation plant Mozilla zudem, Rust auch für Firefox‘ URL Parser und WebM Demuxer zu verwenden sowie Teile von Servos CSS-Code in Gecke zu integrieren.

ANZEIGE

Memory Introspection für den Hypervisor: ein neues Sicherheitsframework für virtualisierte Umgebungen

Von den Mainframes der 1960er-Jahre bis zur gegenwärtigen cloud-orientierten Entwicklung haben sich Rechenzentren enorm gewandelt. Als Anwendungen missionskritisch wurden und Desktop-Server in professionelle Rechenzentren umgezogen wurden, nahm die Anzahl physischer Server in den Rechenzentren exponentiell zu.

Neben dem in Rust geschriebenen Parser wird Firefox 48 auch die Multi-Prozess-Architektur Electrolysis (E10S) mitbringen. Damit wird künftig die Browser-Benutzeroberfläche in einem von den Webinhalten, Plug-ins und Medieninhalten getrennten Prozess ausgeführt.

Dies soll sich positiv auf die Leistung und Sicherheit von Firefox auswirken, sorgt aber zugleich dafür, dass zahlreiche Erweiterungen nicht mehr funktionieren werden. Um die daraus entstehenden Probleme relativ gering zu halten, plant Mozilla eine schrittweise Einführung. „Sollten Probleme auftauchen, können wir die Einführung verlangsamen oder pausieren oder E10S sogar bei denjenigen deaktivieren, die es bereits erhalten haben“, erklärte Entwickler Asa Dotzler vergangenen Monat.

[mit Material von Chris Duckett, ZDNet.com]

Tipp: Wie gut kennen Sie sich mit Browsern aus? Testen Sie Ihr Wissen – mit 15 Fragen auf ITespresso.de.

Neueste Kommentare 

Noch keine Kommentare zu Mozilla ergänzt Firefox um erste Rust-Komponente

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *