Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Kontrollen zur Client-Identifizierung für die Verwaltung von Bots
Wenn der Datenverkehr im Zusammenhang mit Angriffen nicht einfach anhand statischer Attribute erkannt werden kann, muss die Erkennung in der Lage sein, den Client, der die Anfrage stellt, genau zu identifizieren. Ratenbasierte Regeln sind beispielsweise oft effektiver und schwieriger zu umgehen, wenn das Attribut, für das die Ratenbegrenzung gilt, anwendungsspezifisch ist, z. B. ein Cookie oder ein Token. Die Verwendung eines an eine Sitzung gebundenen Cookies verhindert, dass Botnetzbetreiber ähnliche Anforderungsflüsse über viele Bots hinweg duplizieren können.
Die Token-Erfassung wird häufig zur Kundenidentifikation verwendet. Bei der Tokenerfassung sammelt ein JavaScript Code Informationen, um ein Token zu generieren, das serverseitig ausgewertet wird. Die Auswertung kann von der Überprüfung der Ausführung auf dem Client bis hin JavaScript zur Erfassung von Geräteinformationen für Fingerabdrücke reichen. Für die Token-Akquisition ist die Integration eines JavaScript SDK in die Site oder Anwendung erforderlich, oder es ist erforderlich, dass ein Dienstanbieter die Injektion dynamisch durchführt.
Wenn JavaScript Unterstützung erforderlich ist, stellt dies eine zusätzliche Hürde für Bots dar, die versuchen, Browser zu emulieren. Wenn ein SDK involviert ist, z. B. in einer mobilen Anwendung, verifiziert die Token-Erfassung die SDK-Implementierung und verhindert, dass Bots die Anforderungen der Anwendung nachahmen.
Die Token-Akquisition erfordert die Verwendung von SDKs, die auf der Clientseite der Verbindung implementiert sind. Die folgenden AWS WAF Funktionen bieten ein JavaScript basiertes SDK für Browser und ein anwendungsbasiertes SDK für mobile Geräte: Bot-Kontrolle, Verhinderung von Kontoübernahmen (ATP) bei der Betrugsbekämpfung und Betrugsprävention bei der Kontoerstellung (ACFP).
Zu den Techniken zur Kundenidentifikation gehören CAPTCHA, Browser-Profiling, Geräte-Fingerprinting und TLS-Fingerprinting.
CAPTCHA
Der vollständig automatisierte öffentliche Turing-Test zur Unterscheidung von Computern und Menschen (CAPTCHA) wird verwendet, um zwischen Robotern und menschlichen Besuchern zu unterscheiden und Web-Scraping, Credential-Stuffing und Spam zu verhindern. Es gibt eine Vielzahl von Implementierungen, aber sie beinhalten oft ein Rätsel, das ein Mensch lösen kann. CAPTCHAs bieten eine zusätzliche Schutzebene gegen gängige Bots und können die Anzahl der Fehlalarme bei der Bot-Erkennung reduzieren.
AWS WAF ermöglicht Regeln, eine CAPTCHA-Aktion gegen Webanfragen auszuführen, die den Prüfkriterien einer Regel entsprechen. Diese Aktion ist das Ergebnis der Auswertung der vom Dienst gesammelten Kundenidentifikationsinformationen. AWS WAF Regeln können erfordern, dass CAPTCHA-Herausforderungen für bestimmte Ressourcen gelöst werden, die häufig von Bots angegriffen werden, z. B. beim Anmelden, Suchen und Einreichen von Formularen. AWS WAF kann CAPTCHA direkt über interstitielle Mittel oder mithilfe eines SDK bereitstellen, um es auf der Clientseite zu handhaben. Weitere Informationen finden Sie unter CAPTCHA und Challenge in. AWS WAF
Browser-Profilerstellung
Die Erstellung von Browserprofilen ist eine Methode zur Erfassung und Auswertung von Browsermerkmalen im Rahmen der Token-Erfassung, um echte Menschen, die einen interaktiven Browser verwenden, von verteilten Bot-Aktivitäten zu unterscheiden. Sie können Browserprofile passiv anhand von Headern, Header-Reihenfolge und anderen Merkmalen von Anfragen erstellen, die für die Funktionsweise von Browsern typisch sind.
Sie können die Browser-Profilerstellung auch im Code mithilfe der Token-Erfassung durchführen. Durch JavaScript die Verwendung von Browserprofilen können Sie schnell feststellen, ob ein Client dies unterstützt. JavaScript Auf diese Weise können Sie einfache Bots erkennen, die dies nicht unterstützen. Die Browser-Profilerstellung überprüft mehr als nur HTTP-Header und deren JavaScript Unterstützung. Die Browser-Profilerstellung erschwert es Bots, einen Webbrowser vollständig zu emulieren. Beide Optionen zur Browser-Profilerstellung verfolgen dasselbe Ziel: Muster in einem Browserprofil zu finden, die auf Inkonsistenzen mit dem Verhalten eines echten Browsers hinweisen.
AWS WAF Die Bot-Kontrolle für gezielte Bots gibt im Rahmen der Token-Auswertung Aufschluss darüber, ob ein Browser Hinweise auf Automatisierung oder inkonsistente Signale aufweist. AWS WAF kennzeichnet die Anfrage, um die in der Regel angegebene Aktion auszuführen. Weitere Informationen finden Sie im AWS Sicherheitsblog unter Erkennen und Blockieren von fortgeschrittenem Bot-Traffic
Fingerabdruck auf dem Gerät
Das Geräte-Fingerprinting ähnelt der Erstellung von Browserprofilen, ist jedoch nicht auf Browser beschränkt. Code, der auf einem Gerät ausgeführt wird (das kann ein Mobilgerät oder ein Webbrowser sein), sammelt Details des Geräts und meldet sie an einen Backend-Server. Zu den Details können Systemattribute wie Speicher, CPU-Typ, Kerneltyp des Betriebssystems (OS), Betriebssystemversion und Virtualisierung gehören.
Mithilfe von Geräte-Fingerprinting können Sie erkennen, ob ein Bot eine Umgebung emuliert oder ob es direkte Anzeichen dafür gibt, dass Automatisierung verwendet wird. Darüber hinaus kann das Geräte-Fingerprinting auch verwendet werden, um wiederholte Anfragen von demselben Gerät zu erkennen.
Das Erkennen wiederholter Anfragen von demselben Gerät, selbst wenn das Gerät versucht, einige Merkmale der Anfrage zu ändern, ermöglicht es einem Backend-System, Regeln zur Geschwindigkeitsbegrenzung festzulegen. Regeln zur Ratenbegrenzung, die auf Geräte-Fingerprinting basieren, sind in der Regel effektiver als Regeln zur Ratenbegrenzung, die auf IP-Adressen basieren. Auf diese Weise können Sie Bot-Traffic abwehren, der zwar zwischen VPNs oder Proxys wechselt, aber von einer kleinen Anzahl von Geräten stammt.
Bei Verwendung mit SDKs zur Anwendungsintegration kann die AWS WAF Bot-Steuerung für gezielte Bots das Verhalten von Client-Sitzungsanfragen aggregieren. Auf diese Weise können Sie legitime Clientsitzungen erkennen und von böswilligen Clientsitzungen trennen, selbst wenn beide von derselben IP-Adresse stammen. Weitere Informationen zur AWS WAF Bot-Kontrolle für gezielte Bots finden Sie im AWS Sicherheits-Blog unter Erkennen und Blockieren von fortgeschrittenem Bot-Traffic
TLS-Fingerprinting
TLS-Fingerprinting, auch signaturbasierte Regeln genannt, werden häufig verwendet, wenn Bots von vielen IP-Adressen stammen, aber ähnliche Eigenschaften aufweisen. Bei der Verwendung von HTTPS tauschen Client- und Serverseite Nachrichten aus, um sich gegenseitig zu bestätigen und zu verifizieren. Sie richten kryptografische Algorithmen und Sitzungsschlüssel ein. Dies wird als TLS-Handshake bezeichnet. Die Art und Weise, wie ein TLS-Handshake implementiert wird, ist eine Signatur, die oft nützlich ist, um große Angriffe zu erkennen, die sich über viele IP-Adressen verteilen.
Mithilfe von TLS-Fingerprinting können Webserver die Identität eines Webclients mit hoher Genauigkeit ermitteln. Es erfordert nur die Parameter in der ersten Paketverbindung, bevor ein Anwendungsdatenaustausch stattfindet. In diesem Fall bezieht sich Webclient auf die Anwendung, die eine Anfrage initiiert. Dabei kann es sich um einen Browser, ein CLI-Tool, ein Skript (Bot), eine native Anwendung oder einen anderen Client handeln.
Ein Ansatz für SSL- und TLS-Fingerabdrücke ist der JA3-Fingerabdruck
Amazon CloudFront unterstützt das Hinzufügen von JA3-Headern zu Anfragen. Ein CloudFront-Viewer-JA3-Fingerprint Header enthält einen 32-stelligen Hash-Fingerabdruck des TLS-Client-Hello-Pakets einer eingehenden Viewer-Anfrage. Der Fingerabdruck enthält Informationen darüber, wie der Client kommuniziert. Diese Informationen können verwendet werden, um Profile von Clients zu erstellen, die dasselbe Muster verwenden. Sie können den CloudFront-Viewer-JA3-Fingerprint Header zu einer ursprünglichen Anforderungsrichtlinie hinzufügen und die Richtlinie einer CloudFront Distribution zuordnen. Sie können den Header-Wert dann in Originalanwendungen oder in Lambda @Edge und CloudFront Functions überprüfen. Sie können den Header-Wert mit einer Liste bekannter Malware-Fingerabdrücke vergleichen, um bösartige Clients zu blockieren. Sie können den Header-Wert auch mit einer Liste erwarteter Fingerabdrücke vergleichen, um nur Anfragen von bekannten Clients zuzulassen.