Zum Hauptinhalt springen
Piloterr
Zurück zum Blog
31. Juli 2023

Was ist TLS-Fingerprinting?

TLS-Fingerprinting beschreibt den Prozess der Identifizierung eines Clients, indem die Felder in der Client-Hello-Nachricht untersucht werden, die er während des TLS-Handshakes an den Server sendet. Um mehr über das Betriebssystem oder die Browserversion eines Clients zu erfahren, wird häufig TLS-Fingerprinting eingesetzt. Internet-Dienstanbieter (ISPs) können durch die Analyse des verschlüsselten TLS-Datenverkehrs Rückschlüsse auf das Online-Verhalten eines Clients und die besuchten Websites ziehen. Darüber hinaus können über TLS-Fingerprinting auch Betriebssysteme und andere Details entfernter Server ermittelt werden.

Um TLS-basierte Bot-Erkennung zu umgehen, nutzen Sie Anti-Bot-Bypass: Lesen Sie unser TLS-Fingerprinting-Glossar für Definitionen.

In Anti-Betrugsszenarien, in denen die präzise Identifizierung von Nutzern essenziell ist, kann TLS-Fingerprinting ebenfalls hilfreich sein. Betrüger verbergen häufig ihre Identitäten, während sie wiederholt betrügerische Handlungen auf einer Website durchführen. Websites können Besucher mithilfe von Cookies und Browser-Fingerprinting genau identifizieren, und TLS-Fingerprinting fügt dem Anti-Betrugs-Stack eine weitere Identifizierungsebene hinzu. Das Verständnis der Funktionsweise von TLS-Fingerprinting kann die Sicherheit Ihrer Website gegen Betrug verbessern, da es Ihnen nützliche Informationen über Ihr Netzwerk und Ihre Traffic-Quellen liefert.

Ein Internet-Sicherheitsprotokoll namens Transport Layer Security (TLS) dient dem Schutz der Kommunikation im Internet. Es ist der Nachfolger von Secure Sockets Layer (SSL) und wird häufig zum Schutz sensibler Daten wie Passwörter, Kreditkartennummern und anderer vertraulicher Informationen verwendet. TLS schützt die zwischen zwei Parteien, wie einem Webserver und einem Webbrowser, übermittelte Daten durch Verschlüsselung. Die Daten werden durch eine Kombination aus symmetrischen und asymmetrischen Verschlüsselungsmethoden vor Abfangen und Manipulation geschützt. TLS bietet auch Authentifizierung, um sicherzustellen, dass die Kommunikationspartner tatsächlich diejenigen sind, für die sie sich ausgeben. Dies geschieht durch digitale Zertifikate, die von vertrauenswürdigen Drittanbieter-Zertifizierungsstellen (CAs) ausgestellt werden. Diese Zertifikate enthalten Informationen zur Identität der Person.

Das TLS-Protokoll besteht aus zwei Hauptschichten: dem TLS-Record-Protokoll und dem TLS-Handshake-Protokoll. **Die Verbindung wird hergestellt, die Verschlüsselungsmethode und die Schlüssel werden festgelegt, und die Authentifizierung wird über das Handshake-Protokoll durchgeführt. Die eigentliche Datenübertragung wird durch das Record-Protokoll verschlüsselt und entschlüsselt. TLS unterstützt verschiedene Verschlüsselungsstandards, darunter den Advanced Encryption Standard (AES), der weithin als einer der sichersten Verschlüsselungsstandards gilt. Es werden auch verschiedene Hash-Algorithmen unterstützt, die zur Sicherstellung der Datenintegrität verwendet werden. Im Laufe der Zeit hat sich TLS weiterentwickelt, um Sicherheitslücken zu schließen und die allgemeine Sicherheit zu verbessern. Die neueste Version von TLS, TLS 1.3, bietet erhebliche Verbesserungen gegenüber früheren Versionen, darunter stärkere Verschlüsselungsmethoden.

TLS ist ein wichtiger Bestandteil der Internetsicherheit, da es Verschlüsselung, Authentifizierung und Integritätsschutz für sensible Daten bietet, die über das Internet übertragen werden. Es ist ein entscheidendes Werkzeug zur Abwehr von Cyberangriffen, und die Tatsache, dass es ständig weiterentwickelt und verbessert wird, zeigt, wie wichtig es für den Schutz von Online-Interaktionen ist.

Diagramm zu TLS-Verschlüsselung und Fingerprinting im Internetverkehr

Es gibt jedoch Methoden, um jede Sicherheitsmaßnahme zu umgehen. TLS-Fingerprinting ist eine Methode, die Hacker nutzen, um die Verschlüsselungssuite und die TLS-Version zu ermitteln, die ein Server verwendet. Sobald sie dieses Wissen haben, könnten Angreifer versuchen, bekannte Schwachstellen in dieser spezifischen Version und Cipher-Suite auszunutzen.

Wie funktioniert TLS-Fingerprinting?

TLS-Fingerprinting ist eine Methode zur Identifizierung eines Clients oder Servers, indem die Felder in der Client-Hello-Nachricht des TLS-Handshakes untersucht werden. Die erste Nachricht, die ein Client sendet, um eine TLS-Verbindung mit einem Server zu starten, wird als Client-Hello-Nachricht bezeichnet. Während des TLS-Handshakes verhandeln Client und Server über die Verschlüsselungsparameter der Verbindung. Diese Parameter umfassen die TLS-Protokollversion, die Verschlüsselungsmethoden und die Hashing-Algorithmen für die Kommunikation. Um eine eindeutige Identität für den Client oder Server zu erstellen, beinhaltet TLS-Fingerprinting die Analyse der spezifischen Werte dieser Parameter. Beispielsweise kann ein eindeutiger Fingerabdruck für einen Client mithilfe der TLS-Version, der Cipher-Suite und der unterstützten Erweiterungen erstellt werden.

Um den Client oder Server zu identifizieren, kann der resultierende Fingerabdruck mit einer Datenbank bekannter Fingerabdrücke abgeglichen werden. Diese Datenbanken können entweder manuell erstellt werden, indem die TLS-Fingerabdrücke bekannter Clients und Server analysiert werden, oder automatisch durch den Einsatz von Programmen, die das Internet nach diesen Fingerabdrücken durchsuchen. Netzwerkadministratoren und Sicherheitsexperten können durch den Einsatz von TLS-Fingerprinting mehr über die Hardware und Software erfahren, die auf Servern und Clients in ihren Netzwerken verwendet wird. Die Tatsache, dass bestimmte Clients und Server ihre Fingerabdrücke ändern können, um der Erkennung zu entgehen, macht es jedoch schwierig, sie mit TLS-Fingerprinting-Methoden präzise zu identifizieren. Um zu verstehen, wie TLS-Fingerprinting funktioniert, betrachten wir ein Beispiel. Angenommen, ein Client möchte eine sichere Verbindung zu einem Webserver über HTTP herstellen.

TLS-Fingerprinting umfasst die Untersuchung der spezifischen Werte dieser Parameter, um eine eindeutige Client-ID zu erzeugen. Beispielsweise könnte die Cipher-Suite TLS_RSA_WITH_AES_128_CBC_SHA256 und die TLS-Version TLS 1.2 sein. Diese Werte können kombiniert werden, um dem Client einen einzigartigen Fingerabdruck zu geben. Um den Client zu identifizieren, kann der erzeugte Fingerabdruck mit einer Datenbank bekannter Fingerabdrücke abgeglichen werden. Angenommen, der Fingerabdruck entspricht einem Client, von dem bekannt ist, dass er das Windows-Betriebssystem und den Google Chrome-Webbrowser verwendet. Dann kann der Client als ein Windows-Computer mit Google Chrome identifiziert werden.

Darüber hinaus können Server durch TLS-Fingerprinting identifiziert werden. Wenn der Server beispielsweise die Apache-Webserver-Software verwendet, könnte der TLS-Fingerabdruck Informationen über die Apache-Version und andere Details zum Server enthalten. Mit diesen Informationen können anfällige Server lokalisiert oder die Server in einem Netzwerk überprüft werden, um sicherzustellen, dass sie die neuesten Sicherheitsupdates installiert haben.

Warum ist TLS-Fingerprinting eine Bedrohung?

Obwohl TLS-Fingerprinting hilfreich ist, um Clients und Server zu identifizieren, können Angreifer es auch nutzen, um Schwachstellen in veralteten oder ineffektiven Verschlüsselungsalgorithmen auszunutzen. Wenn ein Server beispielsweise eine veraltete TLS-Version oder eine Cipher-Suite mit bekannten Sicherheitslücken verwendet, kann ein Angreifer dieses Wissen nutzen, um den Server erfolgreich anzugreifen.

TLS-Fingerprinting wird nicht nur von Kriminellen genutzt. Es wird auch von einigen Unternehmen eingesetzt, um Netzwerke zu überwachen oder potenziell schädliche Aktivitäten zu erkennen. Auch wenn es gute Gründe dafür geben mag, wirft dieser Ansatz Datenschutzbedenken auf, und die gesammelten Daten könnten missbraucht werden. Die Nutzung von TLS-Fingerprinting hat Vorteile, aber es gibt auch Risiken und Auswirkungen, die berücksichtigt werden müssen. Unternehmen sollten TLS-Fingerprinting transparent einsetzen und die notwendigen Schutzmaßnahmen ergreifen, um die Privatsphäre und Daten der Nutzer zu schützen. Es ist auch unerlässlich, Systeme und Software auf dem neuesten Stand zu halten, um Schwachstellen zu vermeiden, die von Angreifern, die TLS-Fingerprinting nutzen, ausgenutzt werden könnten. Wenn TLS-Fingerprinting böswillig eingesetzt wird, etwa zur Verfolgung von Nutzeraktivitäten oder zur Erkennung von Sicherheitslücken in Servern oder Clients, kann es als Bedrohung angesehen werden.

Ein Beispiel dafür, wie TLS-Fingerprinting von Hackern genutzt werden kann, um Sicherheitslücken in einem Zielnetzwerk zu ermitteln, ist die Identifizierung des Betriebssystems und der Softwareversionen eines Servers. Diese Informationen können Angreifern Hinweise auf bekannte Sicherheitslücken geben. Mit diesem Wissen kann der Angreifer einen gezielten Angriff auf den Server durchführen und möglicherweise sensible Daten kompromittieren sowie dem Unternehmen schaden.

TLS-Fingerprinting kann auch zur Überwachung von Nutzeraktivitäten eingesetzt werden, einschließlich der Identifizierung der Websites, die eine Person besucht, und der Aktionen, die sie online durchführt. Diese Informationen können nicht nur für gezielte Werbung genutzt werden, sondern auch für möglicherweise schädlichere Zwecke wie Identitätsdiebstahl oder andere Formen von Betrug. TLS-Fingerprinting kann von repressiven Regimen oder autoritären Regierungen genutzt werden, um die Online-Aktivitäten ihrer Bürger zu verfolgen und zu überwachen. Dies stellt eine Bedrohung dar. Diese Art der Überwachung kann das Recht der Nutzer auf Privatsphäre und freie Meinungsäußerung verletzen und zur Unterdrückung von Dissens oder Widerstand genutzt werden.

Wie können Sie sich vor TLS-Fingerprinting schützen?

Die Onlinesicherheit ist durch TLS-Fingerprinting gefährdet, da Angreifer diese Methode nutzen können, um Schwachstellen in den Abwehrmechanismen zu finden und erfolgreiche Angriffe durchzuführen. Es gibt jedoch mehrere Schritte, die unternommen werden können, um sich gegen diese Art von Angriff zu schützen. Eine der besten Strategien, um TLS-Fingerprinting zu vermeiden, ist die Verwendung einer robusten Verschlüsselungsmethode mit der neuesten TLS-Version und Cipher-Suite. Dadurch wird sichergestellt, dass Angreifer selbst dann, wenn sie die Cipher-Suite und die TLS-Version des Servers ermitteln können, keine bekannten Schwachstellen ausnutzen können. Es ist auch entscheidend, dass Sie Ihre Software auf dem neuesten Stand halten und bekannte Schwachstellen beheben, da veraltete oder ineffektive Verschlüsselungsalgorithmen Sie anfällig für Angriffe machen können. TLS-Obfuskation kann ebenfalls eingesetzt werden, um es Angreifern zu erschweren, die genaue TLS-Version und Cipher-Suite zu ermitteln, die der Server verwendet. Dazu müssen die TLS-Handshake-Nachrichten verändert werden, um sie schwerer zu entschlüsseln. Dies kann eine praktische Methode sein, um es Angreifern zu erschweren, die genaue TLS-Version und Cipher-Suite des Servers zu ermitteln.

Sie können eine Reihe von Schutzmaßnahmen ergreifen, um TLS-Fingerprinting zu verhindern:

  • Software und Systeme aktualisieren: Stellen Sie sicher, dass Ihr Betriebssystem, Ihre Anwendungen und Webbrowser auf dem neuesten Stand sind. Dies verringert die Wahrscheinlichkeit, dass Angreifer bekannte Schwachstellen ausnutzen.
  • Verwenden Sie starke Verschlüsselungsmethoden, wie TLS 1.3 und starke Cipher-Suites, um sicherzustellen, dass Ihre Kommunikation sicher und schwer zu entschlüsseln ist.
  • Nutzen Sie ein virtuelles privates Netzwerk (VPN): Ein VPN kann helfen, Ihre IP-Adresse zu verbergen und Ihren Internetverkehr zu verschlüsseln, was es Angreifern erschwert, Ihre Aktivitäten zu identifizieren.
  • Verwenden Sie Anti-Fingerprinting-Tools: Es gibt eine Reihe von Browser-Plugins und -Erweiterungen, die helfen können, Fingerprinting zu verhindern. Die Erweiterung Privacy Badger kann beispielsweise verhindern, dass Drittanbieter-Skripte und Tracker digitale Fingerabdrücke von Nutzern erfassen.
  • Deaktivieren Sie ungenutzte Browserfunktionen: Cookies und JavaScript sind nur einige der Werkzeuge, die zur Erstellung digitaler Fingerabdrücke verwendet werden können. Durch das Deaktivieren dieser Funktionen kann das Potenzial Ihres Browsers, Fingerabdrücke zu hinterlassen, verringert werden.
  • Seien Sie vorsichtig bei ungesicherten öffentlichen WLAN-Netzwerken, da diese leicht von Angreifern kompromittiert werden können, die so Zugang zu Ihrer Kommunikation erhalten und Fingerprinting ermöglichen. Vermeiden Sie die Nutzung öffentlicher WLAN-Netzwerke für private Gespräche.

Mit diesen Schritten können Sie das Risiko von TLS-Fingerprinting verringern und Ihre Online-Privatsphäre und -Sicherheit schützen.

Anzahl der Schutzmaßnahmen zur Verhinderung von TLS-Fingerprinting
Anzahl der Schutzmaßnahmen zur Verhinderung von TLS-Fingerprinting

Warum ist TLS-Fingerprinting wichtig?

TLS-Fingerprinting ist wichtig, weil es Unternehmen ermöglicht, die Cipher-Suites und Verschlüsselungsalgorithmen zu ermitteln, die von Servern in ihrem Netzwerk verwendet werden. Mit diesen Daten kann die Sicherheitslage des Netzwerks bewertet und mögliche Schwachstellen oder Compliance-Probleme identifiziert werden. Die Fähigkeit, veraltete oder unsichere Verschlüsselungsmethoden zu erkennen, die anfällig für Angriffe sein könnten, ist einer der Hauptvorteile von TLS-Fingerprinting für Unternehmen. Wenn ein Server beispielsweise noch das SSLv3-Protokoll verwendet, das für Angriffe wie POODLE anfällig ist, könnte ein Angreifer diese Schwachstelle ausnutzen, um Daten abzufangen und zu entschlüsseln, die zwischen dem Server und dem Client ausgetauscht werden.

Unternehmen können diese Schwachstellen mithilfe von TLS-Fingerprinting erkennen und Maßnahmen ergreifen, um sie zu beheben, z. B. auf ein sichereres Verschlüsselungsprotokoll umsteigen oder anfällige Cipher-Suites deaktivieren. Ein weiterer Anwendungsbereich von TLS-Fingerprinting ist die Identifizierung potenziell schädlichen Datenverkehrs in einem Netzwerk. Ein Angreifer könnte beispielsweise einen anderen TLS-Fingerabdruck verwenden, um Sicherheitsmaßnahmen zu umgehen, die bestimmte Arten von Kommunikation erkennen sollen. Unternehmen können dieses Verhalten identifizieren und die notwendigen Schritte unternehmen, um den Datenverkehr zu blockieren oder zu überwachen, indem sie TLS-Fingerprinting einsetzen. Um sicherzustellen, dass gesetzliche Anforderungen wie der PCI DSS erfüllt werden, kann TLS-Fingerprinting ebenfalls eingesetzt werden. Unternehmen können sicherstellen, dass sie diese Standards einhalten, indem sie die Verschlüsselungsprotokolle und Cipher-Suites identifizieren, die in einem Netzwerk verwendet werden, und dann die notwendigen Maßnahmen ergreifen, um eventuell gefundene Schwachstellen zu beheben. TLS-Fingerprinting ist wichtig, weil es Unternehmen ermöglicht, potenzielle Sicherheitslücken zu erkennen, möglicherweise schädliche Aktivitäten zu erfassen und die Einhaltung von Vorschriften zu gewährleisten. Durch den Einsatz dieser Methode können Unternehmen die Sicherheit und Leistung ihres Netzwerks verbessern und sensible Daten schützen, die über das Internet übertragen werden.

TLS-Handshake-Prozess

TLS ist ein Sicherheitsprotokoll, das zur Authentifizierung und Verschlüsselung der Internetkommunikation verwendet wird. Der TLS-Handshake ist der Beginn einer TLS-aktivierten Kommunikationssitzung. Während dieses Handshakes tauschen die beiden Parteien eine Reihe von Nachrichten aus, um kryptografische Methoden festzulegen, die Identitäten gegenseitig zu überprüfen und Sitzungsschlüssel zu erstellen. Sichere HTTPS-Verbindungen müssen mit TLS-Handshakes hergestellt werden.

Ein TLS-Handshake, der der erste Schritt zur Einrichtung einer sicheren Kommunikationssitzung unter Verwendung des TLS-Verschlüsselungs- und Authentifizierungsprotokolls ist, kann einfach beschrieben werden. Er umfasst den Austausch von Nachrichten zwischen den kommunizierenden Parteien, um die zu verwendenden Verschlüsselungsmethoden zu bestimmen, die Sitzungsschlüssel festzulegen und die Sicherheit der Verbindung zu gewährleisten. TLS-Handshakes sind ein entscheidender Bestandteil des HTTPS-Protokolls.

Wie funktioniert TLS-Fingerprinting

Der anfängliche Informationsaustausch während der Einrichtung einer sicheren Verbindung unter Verwendung des Transport Layer Security (TLS)-Protokolls wird als TLS-Handshake-Prozess bezeichnet. Um Daten während der Übertragung zu schützen, ist es entscheidend, eine sichere Verbindung zwischen einem Client und einem Server herzustellen. Eine Reihe von Schritten, bekannt als TLS-Handshake-Prozess, werden durchgeführt, um eine sichere Verbindung herzustellen und sowohl den Client als auch den Server zu authentifizieren. Der Prozess beginnt, wenn der Client dem Server eine "Client Hello"-Nachricht sendet. Diese Nachricht enthält Details über die verfügbaren Cipher-Suites, Verschlüsselungsmethoden und andere verbindungsspezifische Einstellungen des Clients. Der Server antwortet mit einer "Server Hello"-Nachricht, die die vom Server ausgewählte Cipher-Suite, ein Verschlüsselungsprotokoll und ein digitales Zertifikat enthält, das zur Überprüfung der Identität des Servers benötigt wird. Der Client authentifiziert das Zertifikat und stellt sicher, dass es von einer vertrauenswürdigen Zertifizierungsstelle ausgestellt wurde. Sobald das Zertifikat validiert ist, tauschen Client und Server eine Reihe von Nachrichten aus, um die Verschlüsselungsschlüssel auszuhandeln, die zur Verschlüsselung und Entschlüsselung der zwischen ihnen ausgetauschten Daten verwendet werden. Zu diesen Nachrichten gehören die "Client Key Exchange"- und "Server Key Exchange"-Nachrichten.

Der Client sendet eine "Finished"-Nachricht an den Server, sobald die Verschlüsselungsschlüssel festgelegt wurden, um zu bestätigen, dass die Verbindung hergestellt wurde und die zwischen ihnen ausgetauschten Daten verschlüsselt und sicher sind. Eine Reihe von Schritten, bekannt als TLS-Handshake-Prozess, sind darauf ausgelegt, eine sichere Verbindung zwischen einem Client und einem Server herzustellen. Es müssen Nachrichten ausgetauscht werden, um Verschlüsselungsprotokolle, Cipher-Suites und Verschlüsselungsschlüssel auszuhandeln. Zudem müssen digitale Zertifikate überprüft werden, um sowohl den Client als auch den Server zu authentifizieren. Dieser Prozess ist entscheidend, um eine sichere und verschlüsselte Verbindung zwischen einem Client und einem Server herzustellen und sensible Daten während der Übertragung zu schützen.

Ein Client und ein Server müssen einen sicheren Kommunikationskanal mithilfe des TLS-Handshake-Prozesses einrichten. Der Client startet den TLS-Handshake, der eine Reihe von Schritten umfasst, um eine sichere Verbindung herzustellen. Der TLS-Handshake-Prozess wird im Folgenden detailliert Schritt für Schritt beschrieben:

Client Hello : Der Client sendet eine Client-Hello-Nachricht an den Server, um den TLS-Handshake-Prozess zu beginnen. Die Client-Hello-Nachricht enthält die vom Client unterstützte TLS-Version, eine zufällige Byte-Zeichenfolge des Clients und eine Liste der verfügbaren Cipher-Suites. Die Reihenfolge der Cipher-Suites wird durch die Präferenz des Clients bestimmt, wobei die am meisten bevorzugte Suite zuerst erscheint. Der Client erstellt mit dem Client-Zufallswert einen Pre-Master-Secret, der später im Handshake-Prozess zur Erstellung von Sitzungsschlüsseln für die Verschlüsselung der zwischen Client und Server übertragenen Daten verwendet wird.

Die Client-Hello-Nachricht enthält folgende Informationen:

  • Unterstützte TLS-Versionen : Der Client stellt eine nach Präferenz geordnete Liste der von ihm unterstützten TLS-Versionen bereit. Der Client könnte beispielsweise sowohl TLS 1.2 als auch 1.3 unterstützen, wobei TLS 1.3 die bevorzugte Version ist.
  • Cipher-Suites : Der Client listet die unterstützten Cipher-Suites in der Reihenfolge der Präferenz auf. Eine Cipher-Suite ist eine Sammlung kryptografischer Algorithmen, die zur Erstellung sicherer Verbindungen verwendet werden. Eine Cipher-Suite kann beispielsweise einen Verschlüsselungsalgorithmus, einen Nachrichtenauthentifizierungsalgorithmus und einen Schlüsselaustauschalgorithmus enthalten.
  • Zufallszahl : Die Nachricht enthält eine vom Client generierte Zufallszahl. Diese Zufallszahl wird verwendet, um Replay-Angriffe zu verhindern und den Handshake einzigartig zu machen.
  • Sitzungs-ID : Der Client kann die Sitzungs-ID in die Nachricht aufnehmen, wenn er bereits zuvor mit dem Server interagiert hat. Auf diese Weise kann die Sitzung fortgesetzt werden, ohne den Handshake-Prozess von Neuem beginnen zu müssen.
  • Erweiterungen : Der Client kann TLS-Erweiterungen in die Nachricht aufnehmen, um dem Server zusätzliche Informationen bereitzustellen oder Funktionen auszuhandeln. Der Client könnte beispielsweise Erweiterungen verwenden, um ein bestimmtes Sicherheitsniveau anzufordern oder die Unterstützung für ein bestimmtes Protokoll zu signalisieren.

Server Hello : Der Server antwortet auf die Client-Hello-Nachricht mit einer Server-Hello-Nachricht. Die Nachricht enthält die ausgewählte Cipher-Suite, die TLS-Version, die der Server für die Verbindung verwenden wird, und eine zufällige Byte-Zeichenfolge, die als Server-Zufallswert bezeichnet wird.

Die Server-Hello-Nachricht enthält folgende Details:

  • TLS-Protokollversion : die TLS-Version, die der Server für die Verbindung ausgewählt hat.
  • Auswahl der Cipher-Suite : Der Server wählt eine Cipher-Suite aus der Liste der vom Client in der Client-Hello-Nachricht bereitgestellten Cipher-Suites aus. Der Server bestimmt die stärkste Cipher-Suite, die sowohl vom Client als auch vom Server unterstützt wird.
  • Server-Zufallswert : Der Server generiert eine Zufallszahl, die als Server-Zufallswert bezeichnet wird, und fügt sie in die Server-Hello-Nachricht ein. Der Server-Zufallswert wird in Kombination mit dem Client-Zufallswert verwendet, um die Sitzungsschlüssel zu generieren, die für die Verschlüsselung und Entschlüsselung der während der Sitzung ausgetauschten Daten verwendet werden.
  • SSL-Zertifikat des Servers : Der Server sendet sein SSL-Zertifikat an den Client. Das SSL-Zertifikat enthält den öffentlichen Schlüssel, den der Client zur Verschlüsselung des Premaster-Secrets verwenden wird.

Sobald die Server-Hello-Nachricht gesendet wurde, hat der Server seinen Teil des Verhandlungsprozesses abgeschlossen und ist bereit, mit den nächsten Schritten im TLS-Handshake fortzufahren.

  • Zertifikat : Der Server sendet sein digitales Zertifikat an den Client. Das Zertifikat enthält den öffentlichen Schlüssel des Servers und wird vom Client verwendet, um die Identität des Servers zu überprüfen. Der Client kann auch sein eigenes digitales Zertifikat an den Server senden.
  • Server Key Exchange : In einigen Fällen kann der Server zusätzliche Informationen senden, die der Client zur Generierung der Sitzungsschlüssel verwenden wird. Dies wird als Server-Key-Exchange-Nachricht bezeichnet.
  • Certificate Request : Wenn der Server eine Client-Authentifizierung benötigt, kann er eine Certificate-Request-Nachricht senden, um das digitale Zertifikat des Clients anzufordern.
  • Server Hello Done : Nach dem Server-Key-Exchange und Certificate-Request (falls erforderlich) sendet der Server eine Server-Hello-Done-Nachricht an den Client.
  • Client Key Exchange : Der Client generiert eine zufällige Zeichenfolge, die als Premaster-Secret bezeichnet wird, und verschlüsselt sie mit dem öffentlichen Schlüssel des Servers aus dem digitalen Zertifikat. Das verschlüsselte Premaster-Secret wird dann in einer Client-Key-Exchange-Nachricht an den Server gesendet.
  • Change Cipher Spec : Der Client sendet eine Change-Cipher-Spec-Nachricht an den Server, die anzeigt, dass er die neu vereinbarten Sitzungsschlüssel zur Verschlüsselung der Daten verwenden wird.
  • Encrypted Handshake Message : Der Client sendet eine verschlüsselte Handshake-Nachricht an den Server, die eine Überprüfung enthält, dass beide Seiten das Master-Secret mit dem Client-Zufallswert, Server-Zufallswert und Premaster-Secret berechnen können.
  • Change Cipher Spec : Der Server sendet eine Change-Cipher-Spec-Nachricht an den Client, die anzeigt, dass er die neu vereinbarten Sitzungsschlüssel zur Verschlüsselung der Daten verwenden wird.
  • Finished : Der Server sendet eine Finished-Nachricht an den Client, die einen Message Authentication Code (MAC) enthält, um zu überprüfen, dass alle vorherigen Nachrichten korrekt empfangen wurden und dass der Server dieselben Sitzungsschlüssel wie der Client berechnet hat.
  • Encrypted Handshake Message : Der Client sendet eine verschlüsselte Handshake-Nachricht an den Server, die einen Message Authentication Code (MAC) enthält, um zu überprüfen, dass alle vorherigen Nachrichten korrekt empfangen wurden und dass der Client dieselben Sitzungsschlüssel wie der Server berechnet hat.
  • Sitzung hergestellt : Der Handshake ist nun abgeschlossen, und die Sitzung ist etabliert. Der Client und der Server können nun sicher mit der vereinbarten Cipher-Suite und den Sitzungsschlüsseln kommunizieren.
Was ist TLS-Fingerprinting? (1)

Wo wird TLS-Fingerprinting eingesetzt?

Für Anti-Bot- und Anti-DDoS-Lösungen ist TLS-Fingerprinting ein wertvoller Ansatz, um Websites vor weitverbreitetem Crawling oder DDoS-Angriffen zu schützen. Die Lösungen können durch die Analyse des Client-Fingerabdrucks feststellen, ob eine Anfrage von einem Skript oder einem Browser stammt (d. h. von einem Bot). Mit diesen Informationen können die Lösungen entscheiden, ob die Anfrage genehmigt, abgelehnt oder eine zusätzliche JavaScript-basierte Herausforderung hinzugefügt werden soll, um den Client weiter zu validieren. Ein interessantes Beispiel für den Einsatz von TLS-Fingerprinting sind Phishing-Versuche. Phishing-Websites können TLS-Fingerprinting nutzen, um festzustellen, ob der Client ein Browser ist. Wenn der Client ein Browser ist, wird die Phishing-Website ihren gefälschten Inhalt ahnungslosen Opfern präsentieren. Wenn der Client jedoch ein automatisiertes Programm oder ein Sicherheitstool ist, das versucht, Phishing-Websites zu identifizieren, wird die Website die Anfrage ablehnen. Dadurch wird es für Sicherheitssoftware schwieriger, Phishing-Angriffe zu erkennen und zu stoppen. TLS-Fingerprinting ist eine effektive Methode mit vielen Anwendungen, darunter die Erkennung von Phishing-Websites und der Schutz von Webseiten vor Bots und DDoS-Angriffen. Jeder, der seine Online-Sicherheit verbessern und sich gegen Cyberangriffe schützen möchte, sollte TLS-Fingerprinting verstehen.

TLS-Fingerprinting in Anti-Bot- und Anti-DDoS-Schutz

Weiterführende Literatur

Weitere Artikel

Anleitungen und Neuigkeiten zu Web Scraping, Proxys und Datenextraktion.

Fingerprint

hellojs vs. undici: Warum Ihr Node-Scraper auf JA4 blockiert wird

Node-HTTP-Clients zeigen einen eindeutigen TLS/JA4-Fingerabdruck. Vergleichen Sie hellojs, undici und axios und nutzen Sie kostenlose Toolbox-Tools, um Ihren Fingerabdruck zu überprüfen.

Josselin Liebe
Josselin Liebe
Lesen
Fingerprint

RNet: Ultra-schneller Python-HTTP-Client mit fortschrittlichem TLS-Fingerprinting

RNet: Ultra-schneller Python-HTTP-Client mit fortschrittlichem TLS-Fingerprinting und Browser-Emulation. Umgehen Sie Anti-Bot-Systeme mit Rust-basierter Performance.

Josselin Liebe
Josselin Liebe
Lesen
Fingerprint

Wreq: Rust-HTTP-Client für Browser-Emulation und TLS-Fingerprinting

Entdecken Sie Wreq, den ultimativen Rust-HTTP-Client für Browser-Emulation und TLS-Fingerprinting. Umgehen Sie Anti-Bot-Systeme mit praktischen Web-Scraping-Beispielen.

Josselin Liebe
Josselin Liebe
Lesen

Bereit loszulegen?

Ihre Web-Scraping-API ist nur einen Klick entfernt. Starten Sie mit +500 Credits, ohne Infrastruktur einrichten zu müssen, ohne Proxys zu verwalten und ohne Kreditkarte.

  • +500 Credits
  • Keine Kreditkarte erforderlich
  • Alle Endpunkte enthalten