In diesem Dokument erfahren Sie, wie Sie mit reCAPTCHA Account Defender kontobezogene betrügerische Aktivitäten auf Websites erkennen und verhindern.
Mit reCAPTCHA lassen sich kritische Aktionen wie Anmeldungen besser schützen und den Bezahlvorgang. Es gibt jedoch viele subtile Formen des Kontomissbrauchs, durch Beobachtung des Verhaltens eines Nutzers auf einer Website über einen Zeitraum von . reCAPTCHA Account Defender hilft bei der Identifizierung dieser Arten indem Sie ein websitespezifisches Modell für Ihre Website erstellen, um Trends bei verdächtigem Verhalten oder Änderungen bei den Aktivitäten. Mit dem websitespezifischen Modell von reCAPTCHA Account Defender können Sie Folgendes erkennen:
- Verdächtige Aktivitäten
- Konten mit ähnlichen Verhaltensmustern
- Anfragen von Geräten, die für bestimmte Nutzer als vertrauenswürdig markiert wurden
Basierend auf der Analyse von reCAPTCHA Account Defender und dem Website-spezifisches Modell verwenden, können Sie die folgenden Aktionen ausführen:
- Betrügerische Konten einschränken oder deaktivieren
- Verhindern Sie versuchte Kontoübernahmen.
- Minimieren Sie die erfolgreichen Kontoübernahmen.
- Gewähren Sie nur Anfragen von legitimen Nutzerkonten Zugriff.
- Die Anmeldung auf vertrauenswürdigen Geräten wird für Nutzer vereinfacht.
Hinweise
Webseiten für reCAPTCHA Account Defender konfigurieren
reCAPTCHA Account Defender erfordert ein umfassendes Verständnis der Kontoaktivitäten, um eine effektive Erkennung zu ermöglichen. So leiten Sie kontobezogene Aktivitäten an reCAPTCHA Account Defender weiter und erstellen und verbessern Ihr websitespezifisches Modell:
- Erfassen horizontaler Telemetriedaten aktivieren
- Berichte zu wichtigen Nutzeraktionen
- Kritische Nutzerereignisse bewerten
- Nutzerereignisse annotieren, um Ihr websitespezifisches Modell zu optimieren
Erhebung horizontaler Telemetriedaten aktivieren
reCAPTCHA Account Defender benötigt einen vollständigen Überblick über die Nutzeraktionen, z. B. ob der Nutzer angemeldet ist oder eine Anmeldung auslöst. Zum Aktivieren Passive Erfassung horizontaler Telemetriedaten durch reCAPTCHA Account Defender ein, laden Sie das reCAPTCHA-JavaScript-Script mit dem wertbasierter Websiteschlüssel, den Sie im Hintergrund aller Webseiten erstellt haben die Teil Ihres Nutzer-Workflows sind.
Das folgende Beispiel zeigt, wie das reCAPTCHA-JavaScript-Script auf einer Webseite geladen wird.
<head> <script src="https://www.google.com/recaptcha/enterprise.js?render=KEY_ID"></script> .... </head>
Berichte zu wichtigen Nutzeraktionen erstellen
Um verdächtige Aktivitätsmuster zu erkennen und typische Aktivitätsmuster auf Ihrer Website besser nachvollziehen zu können, benötigt reCAPTCHA Account Defender Informationen zu kritischen Nutzeraktionen. Melden Sie daher kritische Nutzeraktionen auf den Webseiten, indem Sie grecaptcha.enterprise.execute() für diese kritischen Nutzeraktionen aufrufen.
Wir empfehlen, alle wichtigen Nutzeraktionen zu erfassen, da dadurch zusätzliche Signale erfasst werden können. Ersetzen Sie für jede Nutzeraktion, die Sie melden möchten, den Wert des Parameters action
von grecaptcha.enterprise.execute()
durch einen Aktionsnamen, der die Nutzeraktion beschreibt.
In der folgenden Tabelle sind die Aktionsnamen aufgeführt, die Sie verwenden können, wenn Sie wichtige Nutzeraktionen melden.
Aktionsname | Vom Nutzer initiiertes Ereignis oder Nutzeraktion |
---|---|
LOGIN |
Melden Sie sich auf der Website an. |
REGISTRATION |
Registrierung auf der Website. |
SECURITY_QUESTION_CHANGE |
Beantragen Sie die Änderung der Sicherheitsfrage. |
PASSWORD_RESET |
Fordern Sie das Zurücksetzen des Passworts an. |
PHONE_NUMBER_UPDATE |
Fordern Sie die Aktualisierung der Telefonnummer an. |
EMAIL_UPDATE |
Fordern Sie die Aktualisierung der E-Mail-Adresse an. |
ACCOUNT_UPDATE |
Aktualisierung von kontobezogenen Informationen wie Kontaktdaten beantragen |
TRIGGER_MFA |
Eine Aktion, die eine MFA-Herausforderung auslöst. |
REDEEM_CODE |
Fordern Sie das Einlösen des Codes an. |
LIST_PAYMENT_METHODS |
Liste der Zahlungsmethoden abrufen |
Das folgende Beispiel zeigt, wie grecaptcha.enterprise.execute()
für eine
Aktualisierung der Telefonnummer:
<script> function onClick(e) { e.preventDefault(); grecaptcha.enterprise.ready(async () => { const token = await grecaptcha.enterprise.execute('KEY_ID', {action: 'PHONE_NUMBER_UPDATE'}); }); } </script>
Kritische Nutzerereignisse bewerten
Wenn Sie grecaptcha.enterprise.execute()
für eine Nutzeraktion aufrufen, wird ein Token generiert. Für die kritischen
Nutzerereignisse, z. B. erfolgreiche und fehlgeschlagene Anmeldungen, Registrierungen und Aktionen des angemeldeten Nutzers
-Nutzer, erstellen Sie eine Bewertung, um die Ergebnisse des grecaptcha.enterprise.execute()
-Aufrufs zu bewerten. Die Bewertung liefert Ihnen ein Risikourteil, anhand dessen Sie entscheiden können, wie Sie mit potenziell betrügerischen Aktivitäten umgehen. Sie können beispielsweise verdächtige Anfragen blockieren, riskante Anmeldungen anfechten und Konten untersuchen, die für Sie von Interesse sind.
Für reCAPTCHA Account Defender müssen Sie eine stabile Konto-ID angeben, um Nutzeraktivitäten wie Anmeldeanfragen, Anfragen von angemeldeten Nutzern und Registrierungsanfragen einem bestimmten Konto zuzuordnen. So kann reCAPTCHA Account Defender die Nutzeraktivitätsmuster besser nachvollziehen und ein Aktivitätsmodell für jedes Konto erstellen, um anormale und missbräuchliche Zugriffe besser zu erkennen.
Wähle eine stabile Konto-ID (accountId
) aus, die vom Nutzer nicht oft geändert wird
und stellen sie der Bewertung im
projects.assessments.create
-Methode. Diese stabile Konto-ID sollte die
für alle Ereignisse, die sich auf denselben Nutzer beziehen. Sie können Folgendes als Konto-ID angeben:
Nutzerkennungen
Wenn jedes Konto eindeutig mit einem stabilen Nutzernamen, einer E-Mail-Adresse oder einer Telefonnummer verknüpft werden kann, können Sie diese als accountId
verwenden. Wenn Sie solche websiteübergreifenden
(Kennungen, die websiteübergreifend wiederverwendet werden können), verwendet reCAPTCHA diese
um den Schutz Ihrer Nutzerkonten auf der Grundlage von websiteübergreifenden Modellen zu verbessern, indem
Missbrauch von Konto-IDs melden und Kenntnis von websiteübergreifenden Missbrauchsmustern im Zusammenhang mit
zu diesen IDs.
Alternativ können Sie eine interne Nutzer-ID angeben, die jedem Konto eindeutig zugeordnet ist.
Gehasht oder verschlüsselt
Wenn Sie keine interne Nutzer-ID haben, die jedem Konto eindeutig zugeordnet ist, können Sie in eine intransparente, websitespezifische Konto-ID umwandeln. Diese Kennung ist weiterhin erforderlich, damit reCAPTCHA Account Defender die Nutzeraktivitätsmuster nachvollziehen und anormales Verhalten erkennen kann. Sie wird jedoch nicht für andere Websites freigegeben.
Wählen Sie eine stabile Konto-ID aus und machen Sie sie undurchsichtig, bevor Sie sie an reCAPTCHA senden, indem Sie sie verschlüsseln oder hashen:
Verschlüsselung (empfohlen): Verschlüsseln Sie die Konto-ID mit einer deterministischen Verschlüsselungsmethode, die einen stabilen Geheimtext erzeugt. Eine ausführliche Anleitung finden Sie unter Daten verschlüsseln deterministisch. Wenn Sie die symmetrische Verschlüsselung anstelle des Hashwerts verwenden, müssen Sie keine Zuordnung zwischen Ihren Nutzer-IDs und den entsprechenden undurchsichtigen Nutzer-IDs beibehalten. Entschlüsseln Sie die intransparenten Kennungen, die von reCAPTCHA zurückgegeben werden, um sie in die Nutzer-ID umzuwandeln.
Hashing: Wir empfehlen, die Kontokennung mithilfe der SHA256-HMAC-Methode mit ein Salz Ihrer Wahl. Da Hashes nur in eine Richtung gelten, müssen Sie eine Zuordnung zwischen den generierten Hashes und Ihren Nutzerkennungen, damit Sie die gehashten Konto-ID, die an die ursprünglichen Konten zurückgegeben wird.
Neben der Bereitstellung einer stabilen Konto-ID für alle kontobezogenen Anfragen
kann zusätzliche, möglicherweise instabile Konto-IDs für bestimmte Anfragen angeben.
Kontextspezifische Konto-IDs, die zusätzlich zur accountId
bereitgestellt werden, helfen reCAPTCHA Account Defender, Nutzeraktivitäten besser zu verstehen und Kontoübernahmeversuche zu erkennen, um Ihre Nutzerkonten zu schützen. Wenn Sie zusätzliche Kennungen angeben, verwendet reCAPTCHA diese Informationen, um den Schutz Ihrer Nutzerkonten auf der Grundlage von websiteübergreifenden Modellen zu verbessern. Dazu werden missbräuchliche Konto-IDs gemeldet und Kenntnisse zu websiteübergreifenden Missbrauchsmustern in Bezug auf diese IDs genutzt. Sie können beispielsweise Folgendes angeben:
Der Nutzername, die E-Mail-Adresse oder die Telefonnummer, die als Anmelde-Alias für Anmeldeanfragen verwendet wurde
Die E-Mail-Adresse oder Telefonnummer, die für die Multi-Faktor-Authentifizierung bestätigt wurde Authentifizierungsanfrage
Eine E-Mail-Adresse oder Telefonnummer (primär oder sekundär), die der Nutzer bei einer Anfrage zur Kontoaktualisierung angegeben hat
Die E-Mail-Adressen und Telefonnummern, die der Nutzer bei einer Registrierungsanfrage angibt
Fügen Sie die ausgewählte stabile Konto-ID dem Parameter accountId
in der Methode
projects.assessments.create
für alle kontobezogenen Anfragen an. Optional:
zusätzliche Konto-IDs für die relevanten Ersuchen angeben, indem Sie die userIds
verwenden
in der Bewertung gelernt haben.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Google Cloud-Projekt-ID
- TOKEN: vom Aufruf
grecaptcha.enterprise.execute()
zurückgegebenes Token - KEY_ID: reCAPTCHA-Schlüssel, der mit der Website verknüpft ist
- ACCOUNT_ID: Die Kennung, die dem Nutzerkonto für ein Nutzerkonto zu Ihrer Website
- EMAIL_ADDRESS: Optional. Eine E-Mail-Adresse, die mit dieser Anfrage verknüpft ist, wenn Beliebige(r,s)
- PHONE_NUMBER: Optional. Eine Telefonnummer, die mit dieser Anfrage verknüpft ist (falls vorhanden)
- USERNAME: Optional. Ein Nutzername, der mit dieser Anfrage verknüpft ist, falls vorhanden
HTTP-Methode und URL:
POST https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/assessments
JSON-Text der Anfrage:
{ "event": { "token": "TOKEN", "siteKey": "KEY_ID", "userInfo": { "accountId": "ACCOUNT_ID", "userIds": [ { "email": "EMAIL_ADDRESS" }, { "phoneNumber": "PHONE_NUMBER" }, { "username": "USERNAME" } ] } } }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/assessments"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/assessments" | Select-Object -Expand Content
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "tokenProperties": { "valid": true, "hostname": "www.google.com", "action": "login", "createTime": "2019-03-28T12:24:17.894Z" }, "riskAnalysis": { "score": 0.6, }, "event": { "token": "TOKEN", "siteKey": "KEY", "userInfo": { "accountId": "ACCOUNT_ID" } }, "name": "projects/PROJECT_NUMBER/assessments/b6ac310000000000", "accountDefenderAssessment": { "labels": ["SUSPICIOUS_LOGIN_ACTIVITY"] } }
Codebeispiel
Java
Richten Sie zur Authentifizierung bei reCAPTCHA die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Risikobewertung der kritischen Nutzerereignisse auswerten
Wenn Sie eine Bewertung mit aktiviertem Account Defender erstellen,
gibt accountDefenderAssessment
als Teil der Bewertungsantwort zurück.
Anhand des Werts von accountDefenderAssessment
können Sie beurteilen, ob die Nutzeraktivität legitim oder betrügerisch ist. Außerdem wird eine Bewertungs-ID zurückgegeben, die Sie beim Annotieren von Nutzerereignissen verwenden müssen.
Das folgende Beispiel ist eine Beispiel-JSON-Antwort:
{ "tokenProperties": { "valid": true, "hostname": "www.google.com", "action": "login", "createTime": "2019-03-28T12:24:17.894Z" }, "riskAnalysis": { "score": 0.6, }, "event": { "token": "TOKEN", "siteKey": "KEY_ID", "expectedAction": "USER_ACTION" }, "name": "projects/PROJECT_ID/assessments/b6ac310000000000X", "accountDefenderAssessment": { labels: ["SUSPICIOUS_LOGIN_ACTIVITY"] } }
Das Feld accountDefenderAssessment
kann einen der folgenden Werte haben:
Wert | Beschreibung |
---|---|
SUSPICIOUS_LOGIN_ACTIVITY |
Gibt an, dass die Anfrage ein hohes Risiko für einen Identitätsdiebstahl oder eine Kontoübernahme darstellt. |
SUSPICIOUS_ACCOUNT_CREATION |
Gibt an, dass die Anfrage einen hohen die Gefahr der missbräuchlichen Kontoerstellung besteht. |
PROFILE_MATCH |
Gibt an, dass die Attribute des Nutzers mit den Attribute, die bereits für diesen Nutzer erkannt wurden. Dieser Wert ist ein Indikator dafür, dass dieser Nutzer sich auf einem vertrauenswürdigen Gerät befindet, das bereits zuvor zum Zugriff auf Ihre Website verwendet wurde.
|
RELATED_ACCOUNTS_NUMBER_HIGH |
Gibt an, dass die Anfrage sehr viele zugehörige Konten umfasst. Das bedeutet nicht unbedingt, dass das Konto schlecht ist. zu untersuchen. |
Ereignisse annotieren, um Ihr websitespezifisches Modell zu optimieren
Wenn Sie reCAPTCHA Account Defender weitere Informationen zur Verfügung stellen und Ihr websitespezifisches Erkennungsmodell verbessern möchten, müssen Sie die von Ihnen bewerteten Ereignisse durch Erstellen von Bewertungen annotieren.
Sie können eine Bewertung mit Anmerkungen versehen, indem Sie eine Anfrage an den projects.assessments.annotate
senden
durch die Bewertungs-ID. Der Text dieser Anfrage enthält Labels
zusätzliche Informationen zu einem in der Bewertung beschriebenen Ereignis zur Verfügung stellen.
So fügen Sie Anmerkungen zu einer Bewertung hinzu:
-
Legen Sie die Informationen und Labels fest, die dem JSON-Anfragetext hinzugefügt werden sollen je nach Anwendungsfall.
In der folgenden Tabelle sind die Labels und Werte aufgeführt, mit denen Sie Ereignisse annotieren können:
Label Beschreibung Anfragebeispiel reasons
Erforderlich. Ein Label zur Unterstützung Ihrer Prüfungen. Geben Sie Echtzeit-Ereignisdetails im
reasons
-Label innerhalb weniger Sekunden oder Minuten nach dem Ereignis an, da sie die Echtzeiterkennung beeinflussen.Für die Liste der mögliche Werte, siehe Werte für Gründe.
Beispiel: Zur Erkennung von Kontoübernahmen annotieren Sie, ob die eingegebene Das Passwort für
CORRECT_PASSWORD
war richtig oderINCORRECT_PASSWORD
-Werte. Wenn Sie Ihre eigene MFA bereitgestellt haben, können Sie die folgenden Werte hinzufügen:INITIATED_TWO_FACTOR
undPASSED_TWO_FACTOR
oderFAILED_TWO_FACTOR
.{ "reasons": ["INCORRECT_PASSWORD"] }
annotation
Optional. Ein Label zur Angabe der und die Seriosität der Bewertungen. Geben Sie Fakten zur Anmeldung und zur Validierung oder Korrektur Ihrer Risikobewertungen Label „
annotation
“.Mögliche Werte:
LEGITIMATE
oderFRAUDULENT
.Sie können diese Informationen jederzeit oder als Teil eines Batchjobs senden. Wir empfehlen jedoch, diese Informationen in wenigen Sekunden oder Minuten zu senden nach dem Ereignis, da sie die Echtzeiterkennung beeinflussen.
{ "annotation": "LEGITIMATE" }
accountId
Optional. Ein Label, mit dem eine Konto-ID mit einem Ereignis verknüpft wird.
Wenn Sie eine Bewertung ohne Konto-ID erstellt haben, verwenden Sie dieses Label, um das Konto anzugeben. ID eines Ereignisses, sofern verfügbar.
{ "accountId": "ACCOUNT_ID" }
Erstellen Sie eine Anmerkungsanfrage mit den entsprechenden Labels.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- ASSESSMENT_ID: Wert des
name
-Felds, der vomprojects.assessments.create
-Aufruf zurückgegeben wurde. - ANNOTATION: Optional. Ein Label zur Angabe, ob die Bewertung legitim oder betrügerisch ist.
- REASONS: Optional. Gründe, die Ihre Anmerkung unterstützen. Für die Liste der möglichen Werte siehe Werte für Gründe.
- ACCOUNT_ID: Optional. Die Kennung, die dem Nutzerkonto auf Ihrer Website eindeutig zugeordnet ist.
Weitere Informationen finden Sie unter Labels für Anmerkungen.
HTTP-Methode und URL:
POST https://recaptchaenterprise.googleapis.com/v1/ASSESSMENT_ID:annotate
JSON-Text der Anfrage:
{ "annotation": ANNOTATION, "reasons": REASONS, "accountId": ACCOUNT_ID }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen
request.json
und führen Sie den folgenden Befehl aus:curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://recaptchaenterprise.googleapis.com/v1/ASSESSMENT_ID:annotate"PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen
request.json
und führen Sie den folgenden Befehl aus:$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://recaptchaenterprise.googleapis.com/v1/ASSESSMENT_ID:annotate" | Select-Object -Expand ContentSie sollten einen erfolgreichen Statuscode (2xx) und eine leere Antwort als Ausgabe erhalten.
- ASSESSMENT_ID: Wert des
Codebeispiel
Java
Richten Sie zur Authentifizierung bei reCAPTCHA die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
reCAPTCHA Account Defender aktivieren
Nachdem Sie Ihre Webseiten für reCAPTCHA Account Defender konfiguriert haben, können Sie reCAPTCHA Account Defender aktivieren.
Rufen Sie in der Google Cloud Console die Seite reCAPTCHA auf.
Prüfen Sie, ob der Name Ihres Projekts in der Ressourcenauswahl angezeigt wird oben auf der Seite.
Wenn Sie den Namen Ihres Projekts nicht sehen, klicken Sie auf die Ressourcenauswahl und wählen Sie Ihr Projekt aus.
- Klicken Sie auf Einstellungen.
Klicken Sie im Bereich Kontoschutz auf Konfigurieren.
Klicken Sie im Dialogfeld Kontoschutz konfigurieren auf Aktivieren und dann auf Speichern.
Der reCAPTCHA Account Defender kann einige Stunden dauern Daten an unsere Systeme weiterzugeben. Nachdem die Aktivierung der Funktion in unseren Systemen übernommen wurde, sollten Sie im Rahmen der Bewertungen Antworten zu Account Defender erhalten.