Informationen über installierte
Schriftarten (Fonts) können mit Javascript, Flash oder Java ausgelesen und zur Berechnung eines individuellen Fingerprint des Browsers genutzt werden. Der
Fonts Test von Browserleaks demonstriert es:
Viele Trackingdienste nutzen inzwischen diese Technik. Die Studie
Dusting the web for fingerprinters der KU Leuven (2013) kommt zu den Schluss, dass mindestens 0,5 - 1,0% der Webseiten die installierten Schriftarten für Trackingzwecke auslesen. Man kann das Auslesen der Schriftarten blockieren, der Test zeigt dann "0" als Ergebnis.
Außerdem können die Downloads von (exotischen) Schriftarten zum Tracking genutzt werden. Viele Webdesigner nutzen Schriften vom Google Font Service. Für den Designer ist die Einbindung der Fonts einfach.
- Der Webdesigner muss nur ein kleines CSS-Stylesheet importieren. Um die Schriftart OpenSans zu nutzen, reicht z.B. folgende Zeile:
<link href='https://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'>
- Beim Aufruf der Webseite lädt der Browser ein kleines Stylesheet vom Server fonts.googleapis.com, das die Links zum Download der Font Dateien enthält.
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: local('Open Sans'), local('OpenSans'),
url(https://fonts.gstatic.com/s/opensans/v13/... cJZKeOu4kERxqtaUH.....Zu7kw.woff) format('woff');
}
- Der Browser holt sich dann die Dateien mit Schriftarten vom Server fonts.gstatic.com und zeigt die Webseite an. Die Fonts werden für einen Tag im Cache gespeichert.
Für das Laden von Schriftarten vom Google Font Service gelten die
Datenschutzbestimmung von Google.
Viele Webseiten weisen in Ihren Privacy Statements aber nicht darauf hin, dass beim Aufruf der Webseite Daten bei Google gespeichert und verarbeitet werden. Wenn man ein Smartphone nutzt, werden bei Google z.B. die Telefonnummer und andere eindeutige Geräte-IDs mit dem Aufruf der Webseite verknüpft.
Das Laden von Schriftarten aus dem Internet ist außerdem ein Sicherheitsrisiko, weil damit Angriffe direkt auf das Betriebssystem möglich werden. Bugs in den Font Rendering Bibliotheken, die Remote Code Execution durch Laden von bösartigen Schriften erlaubten, gab es für Windows (
ms11-087), Linux (
CVE-2010-3855) oder OpenBSD (
CVE-2013-6462).
Konfiguration der Schriftarten in Firefox
Um das Tracking anhand der installierten Schriftarten zu vermeiden, deaktiviert man die Optionen
"Webseiten das verwenden von eigenen Schriften erlauben" und die
CSS Font Loading API. Damit sehen einige Webseiten nicht mehr ganz so hübsch aus, die Einschränkungen sind aber gering:
browser.display.use_document_fonts = 0
layout.css.font-loading-api.enabled = false
Das
Underline Handling von Fonts sollte man
deaktivieren, da es zum Fingerprinting der installierten Schriftarten und zur Erkennung des Betriebssystems verwendet werden kann:
font.blacklist.underline_offset = "" (leerer String)
Immer mehr Websites verwenden Webicon Fonts für die Darstellung von Symbolen. Häufig sieht man statt der Symbole seltsame Zeichen, weil der passende Font mit den Symbolen nicht mehr aus dem Internet geladen wird. Das Web wird damit nahezu unbenutzbar.
Um diese Probleme zu vermeiden, empfehlen wir die Freigabe von downloadbaren Schriften für die Darstellung von Symbolen. Das Caching kann man deaktivieren, damit diese Schriften nicht zum Tracking verwendet werden können.
gfx.downloadable_fonts.enabled = true
gfx.downloadable_fonts.disable_cache = true
Aus Sicherheitsgründen sollte man das Rendering von OpenType SVG Fonts deaktivieren:
gfx.font_rendering.opentype_svg.enabled = false
Damit werden Icons wieder korrekt dargestellt:
Um die Lesbarkeit von Webseiten zu verbessern, sollten man gut lesbare Standardschriften verwenden. Unter Windows eignet sich
"Arial", unter Linux eignet sich
"Liberation Sans". Man findet die Option in den Firefox
"Einstellungen" auf dem Reiter
"Inhalt". Klicken Sie auf den Button
"Erweitert", um im folgenden Dialog die gewünschten Standardschriftarten zu wählen: