Erste Einblicke: Die TLS-ClientHello-Permutation von Chrome in der Praxis

TLS-Fingerprinting ist eine von vielen Methoden zur Identifizierung von bösartigem Traffic für die Abwehr von Netzwerkangriffen und erfreut sich seit einem knappen Jahrzehnt großer Beliebtheit. Im Laufe der Jahre wurden zahlreiche TLS-Fingerprinting-Algorithmen zur Identifizierung von Clients und Servern entwickelt. Darüber haben wir bereits in einem früheren Blogpost berichtet. 

Am 20. Januar hat Chrome ein Update veröffentlicht, mit dem sich das Profil eines der beliebtesten TLS-Client-Fingerprinting-Algorithmen, JA3, geändert hat. In diesem Post gehen wir auf diese Änderung und ihre Auswirkungen auf das Fastly Netzwerk ein.

TLS-Fingerprinting und das Chrome Update

Das Fingerprinting von TLS-Clients dient der Klassifizierung von Traffic und der Identifizierung von Netzwerkangriffen. Fingerprinting-Algorithmen für TLS-Clients beruhen in der Regel auf der Untersuchung von ClientHello-Nachrichten, um bestimmte Attribute wie die TLS-Version, die unterstützten Chiffren, elliptischen Kurven und Kurvenformate sowie die Liste der vom Client gesendeten TLS-Erweiterungen zu ermitteln. JA3 ist ein weit verbreiteter TLS-Fingerprinting-Standard, der von Forschern bei Salesforce entwickelt und von einer Reihe von kommerziellen und Open-Source-Tools übernommen wurde. Ausschlaggebend für diesen Blogpost ist aber, dass der JA3-Algorithmus die Reihenfolge der vom Client gesendeten TLS-Erweiterungen als Merkmal des erzeugten Fingerabdrucks verwendet. undefined

Ein kürzlich implementiertes Feature in Google Chrome ändert die TLS-Erweiterungen, die in der ClientHello-Nachricht gesendet werden, sodass bei jeder neuen Verbindung des Browsers ein anderer JA3-Fingerabdruck entsteht.

Diese Änderung wurde vorgenommen, um zu verhindern, dass Server eine bestimmte feste Reihenfolge von Erweiterungen erwarten. Eine solche feste Reihenfolge könnte Chrome nämlich daran hindern, künftige Änderungen an seiner TLS-Implementierung vorzunehmen, um das TLS-Ökosystem widerstandsfähiger zu machen. Wenn Sie bereits von TLS GREASE gehört haben, kommt Ihnen das vielleicht bekannt vor. Erwähnenswert ist auch, dass im RFC für TLS Version 1.3 festgelegt ist, dass Erweiterungen in beliebiger Reihenfolge gesendet werden können – mit Ausnahme des pre_shared_key, der, falls vorhanden, als letzte der Erweiterungen gesendet werden MUSS. 

Da die Anzahl der möglichen Permutationen für TLS-Erweiterungen, die von Chrome gesendet werden, beinahe der Fakultät von 15 (etwa 10 hoch 12) entspricht, können wir davon ausgehen, dass jede Verbindung, die mit der Permutationsfunktion der TLS-ClientHello-Erweiterung hergestellt wird, praktisch einen einzigartigen JA3-Fingerabdruck besitzt.

Dieses Feature sollte ursprünglich in Chrome Version 110 veröffentlicht werden, scheint aber auch schon in den Versionen 108 und 109 vorhanden gewesen zu sein, kurz nachdem die Funktion standardmäßig im Quellcode von Chromium aktiviert wurde.

Unsere Beobachtungen

Der jüngste und häufigste JA3-Fingerprint von Chrome auf den meisten Plattformen vor dieser Änderung war cd08e31494f9531f560d64c695473da9. Ab dem 20. Januar 2023 war zu beobachten, dass der prozentuale Anteil der Chrome Clients, die sich mit diesem Fingerabdruck mit dem Fastly Netzwerk verbanden (siehe die blaue Linie in der nachfolgenden Grafik), deutlich abnahm. Wir gehen davon aus, dass sich dieser Trend fortsetzen wird, wenn Nutzer ihre Browser aktualisieren, um die Permutationsfunktion der Erweiterung zu nutzen.

TLS ClientHello blog image

Und es geht weiter …

Zum Zeitpunkt des Verfassens dieses Artikels beschränkt sich diese Änderung nur auf Chrome. Allerdings zieht Firefox für die Zukunft eine ähnliche Funktion in Erwägung. Während diese Verbesserungen der Widerstandsfähigkeit von TLS möglicherweise zu einer Veränderung der Zweckmäßigkeit von auf eine bestimmte Reihenfolge angewiesenen TLS-Fingerprinting-Techniken wie JA3 führen könnten, ist damit zu rechnen, dass neue Algorithmen entwickelt werden, die für Erweiterungen in zufälliger Reihenfolge gewappnet sind.  

Außerdem arbeiten Unternehmen wie Fastly gemeinsam mit der Internet-Community an der Entwicklung von Technologien wie Private Access Tokens, die offene, datenschutzfreundliche Protokolle ermöglichen. Diese Technologie ist von unmittelbarem Nutzen für die Abwehr von Netzwerkangriffen, könnte aber auch passive Fingerprinting-Techniken zur Identifizierung von Browsern ersetzen.

Wenn Sie mit JA3-Hashes auf der Fastly Plattform arbeiten möchten, können Sie über VCL und Compute Bibliotheken darauf zugreifen.

Jonathan Foote
Senior Principal Engineer
Arun Kumar
Senior Security Researcher
Will Woodson
Staff Security Engineer
Fastly Security Research Team
Fastly Security Research Team
Veröffentlicht am

Lesedauer: 2 Min.

Sie möchten sich mit einem Experten austauschen?
Sprechen Sie mit einem Experten
Diesen Beitrag teilen
Jonathan Foote
Senior Principal Engineer

Jonathan Foote leitet die Produktentwicklung im Bereich Bot-Management und Betrugsbekämpfung bei Fastly.

Arun Kumar
Senior Security Researcher

Arun Kumar ist Senior Security Researcher bei Fastly. Sein Schwerpunkt liegt im Bereich Bot-Management und Betrugsbekämpfung.

Will Woodson
Staff Security Engineer

Will Woodson ist Staff Security Engineer bei Fastly. Er beschäftigt sich mit der Entwicklung von Produkten für das Bot-Management und die Betrugsbekämpfung.

Fastly Security Research Team
Fastly Security Research Team

Der Schwerpunkt des Security Research Teams von Fastly liegt darauf, unseren Kunden die für die Sicherheit ihrer Systeme relevanten Tools und Daten zur Verfügung zu stellen. Das Team setzt sich aus einer Handvoll engagierter Sicherheitsexperten mit einem gemeinsamen Ziel zusammen: durch Analyse Angriffen vorzubeugen und letztlich die bestmögliche Security in einer sich ständig entwickelnden Weblandschaft bereitzustellen.

Sie möchten loslegen?

Setzen Sie sich mit uns in Verbindung oder erstellen Sie einen Account.