Chrome ersetzt erfolgreich FreeType durch Skrifa

Google-Chrome-Logo

Quelle: Google

Web Fonts brachte der Browser Chrome lange Zeit mithilfe der Bibliothek FreeType auf den Bildschirm. Die jedoch haben die Entwickler erfolgreich gegen das in Rust implementierte Pendant Skrifa ausgetauscht. Der Wechsel erfolgte dabei vor allem aus zwei Gründen.

In erster Linie verhindert Rust von Haus aus einige Speicherfehler gegenüber C, das die FreeType-Programmierer verwenden. Chrome wird folglich mit der Umstellung etwas robuster gegenüber Angriffen und Programmierfehlern.

Das ist insbesondere für einen weitverbreiteten Browser essenziell: Web Fonts lädt Chrome aus mitunter unbekannten Quellen. Da Web Fonts komplex aufgebaut sind, könnten Angreifer darin Schadcode verstecken. Damit der in Chrome keine Wirkung entfaltet, betreiben dessen Entwickler einen recht großen Aufwand. Unter anderem unterziehen sie alle verwendeten Bibliotheken aufwendigen (Fuzz-)Tests. In der FreeType-Bibliothek stolperte das Chrome-Team dabei immer wieder über kritische Sicherheitsprobleme. Nach ihren eigenen Angaben hätte deren Beseitigung einen vollzeitbeschäftigten Programmierer ein Viertel seiner Arbeitszeit gekostet.

Neben einer verbesserten Sicherheit erlaubt Skrifa zudem schneller Neuerungen bei Schriftentechnologien innerhalb von Chrome umzusetzen. Die Entwicklung kann so agiler ablaufen. Durch den Wechsel auf Skrifa müsse das Chrome-Team „deutlich weniger Zeit für das Beheben von Sicherheitslücken aufbringen, was in schnelleren Updates und einer besseren Codequalität münden“ würde.

Für den Wechsel hat das Chrome-Team bereits ein neues Schriften-Backend auf Basis von Skrifa implementiert, das bereits seit Chrome 128 und somit seit August 2024 zum Einsatz kommt. Es kümmerte sich dort aber nur um einige ausgesuchte Schriftenformate. Mit dem im Februar veröffentlichten Chrome 133 verarbeitet Skrifa bereits sämtliche Schriften — sofern der Browser unter Linux, Android oder ChromeOS läuft. Unter Windows und macOS nutzt Chrome Skrifa nur dann, wenn das System ein Schriftartenformat nicht unterstützt und Chrome es selbst zeichnen muss.

Seit der Einführung des neuen Backends haben die Chrome-Entwickler intensive (Fuzz-)Tests durchgeführt und dabei bislang keine kritischen Sicherheitsprobleme gefunden. Die technischen Hintergründe zum Umstieg erläutert das Chrome-Team in einem Blog-Beitrag.

E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Nach oben