Firefox Seiten-Isolierung als neues Sicherheitsmerkmal

Firefox Seiten-Isolierung
Bild: Firefox Logo | Quelle: Mozilla | Lizenz: CC BY-SA 3.0

Vor rund sechs Wochen erschien Chrome 67 und führte als neues Sicherheitsmerkmal Site Isolation, zu deutsch Seiten-Isolierung, ein. Damit verschärfte Google die Trennung von Inhalten im Browser. Jetzt wurde bekannt, dass Mozilla seit April an einem ähnlichen Projekt arbeitet, dass unter dem Namen Project Fission läuft. Dabei soll jeder Rendering-Prozess auf Dokumente von einer einzigen Domain beschränkt werden.

Ein Prozess pro Domain

Seiten-Isolierung stellt sicher, dass Zugriffe von einer Webseite auf eine andere Domain immer in eigene Prozesse eingebunden werden, die jeweils in einer Sandbox laufen, die die Möglichkeiten des Prozesses einschränkt. Außerdem wird der Empfang bestimmter Arten von sensiblen Daten von anderen Websites eingeschränkt. Infolgedessen wird es für eine bösartige Webseiten schwieriger, Daten von anderen Seiten zu stehlen. Firefox Seiten-Isolierung richtet sich im Besonderen gegen [wiki title=”Cross-Site-Scripting”]Universal Cross-Site-Scripting[/wiki] (UXSS).

Gegen UXSS-Angriffe

Technisch wird das bei Chrome etwa so gelöst, dass seitenübergreifende Inhalte immer in einen eigenen Prozess geladen werden, unabhängig davon, ob sich die Navigation im aktuellen Tab, einem neuen Tab oder einem Iframe befindet. Seitenübergreifende  Daten wie HTML-, XML- und JSON-Dateien werden nicht an den Prozess einer Webseite ausgeliefert, es sei denn, der Server sagt, dass dies erlaubt sei.

Firefox im Wandel

Mozilla hatte bereits 2016 seit Firefox 48 mit Electrolysis  die Aufteilung des Renderns in mehrere Prozesse begonnen und im späteren Verlauf sukzessive bis hin zu Firefox 57 Quantum weiter ausgebaut. Diese Multi-Prozess-Architektur besteht derzeit aus einem Prozess für die grafische Benutzerschnittstelle (GUI) und mehreren Prozessen zum Rendern der Seiten. Bei Firefox ist die Zahl der maximal möglichen Prozesse nach oben beschränkt, weil mehr Prozesse auch mehr RAM binden.

RAM-Verbrauch herunterfahren

Um Firefox Seiten-Isolierung sinnvoll umzusetzen, müssen mindestens 100 Prozesse in einer Firefox-Sitzung laufen können. Derzeit erzeugt ein Prozess, unabhängig von seinem Inhalt, einen Overhead zwischen 17 und 35 MByte, je nach Plattform. Somit würde eine Sitzung mit Firefox Seiten-Isolierung bis zu 3,5 GByte belegen. Um hier nicht noch weiter in den Verruf des Speicherfressers zu geraten, versucht  Mozilla, diesen Overhead im Rahmen von Fission MemShrink auf 10 MByte pro Prozess zu reduzieren. Im vergangenen Monat konnte bereits eine Reduzierung um 3 – 4 MByte erreicht werden. Die Erfolge können im Bugzilla verfolgt werden. Derzeit gibt es noch keine Angaben darüber, wann Ergebnisse aus Project Fission in Firefox ankommen werden.

Teilt den Beitrag, falls ihr mögt

Abonnieren
Benachrichtige mich bei
1 Kommentar
Most Voted
Newest Oldest
Inline Feedbacks
View all comments