In diesem Dokument erfahren Sie, wie Sie mit reCAPTCHA Account Defender betrügerische Aktivitäten im Zusammenhang mit Konten auf Websites erkennen und verhindern.
Mit reCAPTCHA können Sie wichtige Aktionen wie die Anmeldung und den Bezahlvorgang schützen. Es gibt jedoch viele subtile Formen von Kontomissbrauch, die durch die Beobachtung des Verhaltens eines bestimmten Nutzers auf einer Website über einen längeren Zeitraum hinweg erkannt werden können. reCAPTCHA Account Defender hilft dabei, diese Arten von subtilem Missbrauch zu erkennen, indem ein websitespezifisches Modell für Ihre Website erstellt wird, um einen Trend zu verdächtigem Verhalten oder eine Änderung der Aktivität zu erkennen. Mithilfe des websitespezifischen Modells hilft Ihnen reCAPTCHA Account Defender, Folgendes zu erkennen:
- Verdächtige Aktivitäten
- Konten mit ähnlichen Verhaltensmustern
- Anfragen von Geräten, die für bestimmte Nutzer als vertrauenswürdig gekennzeichnet wurden
Auf Grundlage der Analyse von reCAPTCHA Account Defender und des Website-spezifischen Modells können Sie die folgenden Maßnahmen ergreifen:
- Betrügerische Konten einschränken oder deaktivieren
- Versuche zur Kontoübernahme verhindern
- Erfolgreiche Kontoübernahmen eindämmen
- Gewähren Sie nur Zugriff auf Anfragen, die von legitimen Nutzerkonten stammen.
- Die Anmeldung für Nutzer, die sich über eines ihrer vertrauenswürdigen Geräte anmelden, wird vereinfacht.
Hinweise
Webseiten für reCAPTCHA Account Defender konfigurieren
Für reCAPTCHA Account Defender ist ein umfassendes Verständnis der Kontoaktivitäten erforderlich, um eine effektive Erkennung zu ermöglichen. So können Sie reCAPTCHA Account Defender mit kontobezogenen Aktivitäten füttern und Ihr Website-spezifisches Modell erstellen und verbessern:
- Erhebung horizontaler Telemetriedaten aktivieren
- Berichte zu wichtigen Nutzeraktionen:
- Wichtige Nutzerereignisse bewerten
- Nutzerereignisse annotieren, um Ihr websitespezifisches Modell zu optimieren:
Erhebung horizontaler Telemetriedaten aktivieren
Für reCAPTCHA Account Defender ist eine vollständige Ansicht der Nutzeraktionen erforderlich, z. B. ob der Nutzer angemeldet ist oder sich anmelden muss. Damit reCAPTCHA Account Defender horizontale Telemetriedaten passiv erheben kann, laden Sie das reCAPTCHA-JavaScript-Script mit dem punktebasierten 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
Um verdächtige Aktivitätsmuster zu erkennen und ein besseres Verständnis der typischen Aktivitätsmuster auf Ihrer Website zu entwickeln, benötigt reCAPTCHA Account Defender Informationen zu wichtigen Nutzeraktionen. Melden Sie daher wichtige Nutzeraktionen auf den Webseiten, indem Sie grecaptcha.enterprise.execute() für diese wichtigen Nutzeraktionen aufrufen.
Wir empfehlen, alle wichtigen Nutzeraktionen zu melden, da dies die Erfassung zusätzlicher Signale ermöglicht. Ersetzen Sie für jede Nutzeraktion, die Sie erfassen 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 beim Melden der kritischen Nutzeraktionen verwenden können.
Aktionsname | Vom Nutzer initiiertes Ereignis oder Nutzeraktion |
---|---|
LOGIN |
Melden Sie sich auf der Website an. |
REGISTRATION |
Registrierung auf der Website. |
SECURITY_QUESTION_CHANGE |
Antrag auf Änderung der Sicherheitsfrage |
PASSWORD_RESET |
Fordern Sie das Zurücksetzen des Passworts an. |
PHONE_NUMBER_UPDATE |
Anfrage zur Aktualisierung der Telefonnummer. |
EMAIL_UPDATE |
Anfrage zum Aktualisieren der E‑Mail-Adresse. |
ACCOUNT_UPDATE |
Sie möchten kontobezogene Informationen wie Kontaktdaten aktualisieren. |
TRIGGER_MFA |
Eine Aktion, die eine MFA-Herausforderung auslöst. |
REDEEM_CODE |
Code einlösen |
LIST_PAYMENT_METHODS |
Rufen Sie die Liste der Zahlungsmethoden ab. |
Das folgende Beispiel zeigt, wie grecaptcha.enterprise.execute()
bei einer Aktualisierung der Telefonnummer aufgerufen wird:
<script> function onClick(e) { e.preventDefault(); grecaptcha.enterprise.ready(async () => { const token = await grecaptcha.enterprise.execute('KEY_ID', {action: 'PHONE_NUMBER_UPDATE'}); }); } </script>
Wichtige Nutzerereignisse bewerten
Wenn Sie grecaptcha.enterprise.execute()
für eine Nutzeraktion aufrufen, wird ein Token generiert. Erstellen Sie für die kritischen Nutzerereignisse wie erfolgreiche und fehlgeschlagene Anmeldungen, Registrierungen und Aktionen der angemeldeten Nutzer eine Bewertung, um die Ergebnisse des grecaptcha.enterprise.execute()
-Aufrufs zu analysieren. Die Bewertung liefert Ihnen ein Risikourteil, das Sie als Grundlage für Ihre Entscheidung nutzen können, wie Sie mit potenziell betrügerischen Aktivitäten umgehen. Sie können beispielsweise verdächtige Anfragen blockieren, riskante Anmeldungen überprüfen 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 Anmelde-, angemeldete und Registrierungsanfragen einem bestimmten Konto zuzuordnen. So kann reCAPTCHA Account Defender Muster der Nutzeraktivität erkennen und für jedes Konto ein Aktivitätsmodell erstellen, um anomale und missbräuchliche Zugriffe besser zu erkennen.
Wählen Sie eine stabile Konto-ID accountId
aus, die vom Nutzer nicht oft geändert wird, und geben Sie sie in der Methode
projects.assessments.create
für die Bewertung an. Diese stabile Konto-ID sollte für alle Ereignisse, die sich auf denselben Nutzer beziehen, denselben Wert haben. 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 (Kennungen, die auf mehreren Websites wiederverwendet werden können) angeben, verwendet reCAPTCHA diese Informationen, um den Schutz Ihrer Nutzerkonten auf Grundlage von websiteübergreifenden Modellen zu verbessern. Dazu werden missbräuchliche Konto-IDs gekennzeichnet und Informationen zu websiteübergreifenden Missbrauchsmustern im Zusammenhang mit diesen Kennungen verwendet.
Wenn Sie eine interne Nutzer-ID haben, die eindeutig jedem Konto zugeordnet ist, können Sie diese als accountId
angeben.
Gehasht oder verschlüsselt
Wenn Sie keine interne Nutzer-ID haben, die eindeutig mit jedem Konto verknüpft ist, können Sie jede stabile ID in eine undurchsichtige, websitespezifische Konto-ID umwandeln. Diese ID ist weiterhin erforderlich, damit reCAPTCHA Account Defender Muster der Nutzeraktivität erkennen und anomales Verhalten erkennen kann. Sie wird jedoch nicht an andere Websites weitergegeben.
Wählen Sie eine beliebige stabile Konto-ID aus und machen Sie sie undurchsichtig, bevor Sie sie an reCAPTCHA senden. Verwenden Sie dazu Verschlüsselung oder Hashing:
Verschlüsselung (empfohlen): Verschlüsseln Sie die Konto-ID mit einer deterministischen Verschlüsselungsmethode, die einen stabilen Chiffretext erzeugt. Eine ausführliche Anleitung finden Sie unter Daten deterministisch verschlüsseln. Wenn Sie sich für die symmetrische Verschlüsselung anstelle des Hashings entscheiden, müssen Sie keine Zuordnung zwischen Ihren Nutzerkennungen und den entsprechenden undurchsichtigen Nutzerkennungen vornehmen. Entschlüsseln Sie die intransparenten Kennzeichnungen, die von reCAPTCHA zurückgegeben werden, um sie in die Nutzer-ID umzuwandeln.
Hashing: Wir empfehlen, die Konto-ID mit der SHA256-HMAC-Methode und einem benutzerdefinierten Salt Ihrer Wahl zu hashen. Da Hashes nur in eine Richtung funktionieren, müssen Sie eine Zuordnung zwischen den generierten Hashes und Ihren Nutzer-IDs beibehalten, damit Sie die zurückgegebenen gehashten Konto-IDs den ursprünglichen Konten zuordnen können.
Zusätzlich zur Angabe einer stabilen Konto-ID für alle kontobezogenen Anfragen können Sie für einige bestimmte Anfragen zusätzliche Konto-IDs angeben, die möglicherweise nicht stabil sind.
Kontextspezifische Konto-IDs, die zusätzlich zu accountId
bereitgestellt werden, helfen reCAPTCHA Account Defender, Nutzeraktivitäten besser zu verstehen und Versuche zur Kontoübernahme zu erkennen, um Ihre Nutzerkonten zu schützen. Wenn Sie zusätzliche Kennungen angeben, verwendet reCAPTCHA diese Informationen, um den Schutz Ihrer Nutzerkonten auf Grundlage von websiteübergreifenden Modellen zu verbessern. Dazu werden missbräuchliche Konto-IDs gekennzeichnet und websiteübergreifende Missbrauchsmuster im Zusammenhang mit diesen Kennungen verwendet. Sie können beispielsweise Folgendes angeben:
Der Nutzername, die E‑Mail-Adresse oder die Telefonnummer, die als Anmelde-Handle für Anmeldeanfragen verwendet wurde
Die E-Mail-Adresse oder Telefonnummer, die für eine Anfrage zur Multi-Faktor-Authentifizierung bestätigt wurde
Eine E-Mail-Adresse oder Telefonnummer (primär oder sekundär), die vom Nutzer bei einer Anfrage zur Kontoaktualisierung angegeben wurde
Die E‑Mail-Adressen und Telefonnummern, die vom Nutzer während einer Registrierungsanfrage angegeben werden
Hängen Sie die ausgewählte stabile Konto-ID an den Parameter accountId
in der Methode
projects.assessments.create
für alle kontobezogenen Anfragen an. Optional können Sie zusätzliche Konto-IDs für die entsprechenden Anfragen angeben, indem Sie das Feld userIds
in der Überprüfung verwenden.
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 der Website zugeordnet ist
- ACCOUNT_ID: die Kennung, die eindeutig mit dem Nutzerkonto für ein Nutzerkonto auf Ihrer Website verknüpft ist
- EMAIL_ADDRESS: Optional. Eine E‑Mail-Adresse, die mit diesem Antrag verknüpft ist, falls vorhanden
- 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 eine JSON-Antwort ähnlich wie diese 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 interpretieren
Wenn Sie eine Bewertung mit aktiviertem Account Defender erstellen, gibt Account Defender 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 zeigt eine JSON-Beispielantwort:
{ "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 Credential Stuffing oder Kontoübernahme darstellt. |
SUSPICIOUS_ACCOUNT_CREATION |
Gibt an, dass die Anfrage ein hohes Risiko für die Erstellung von Missbrauchskonten darstellt. |
PROFILE_MATCH |
Gibt an, dass die Attribute des Nutzers mit den Attributen übereinstimmen, die zuvor für diesen Nutzer beobachtet wurden. Dieser Wert ist ein Hinweis darauf, dass der Nutzer ein vertrauenswürdiges Gerät verwendet, das bereits zuvor für den Zugriff auf Ihre Website verwendet wurde.
|
RELATED_ACCOUNTS_NUMBER_HIGH |
Gibt an, dass die Anfrage eine hohe Anzahl verknüpfter Konten enthält. Das bedeutet nicht unbedingt, dass das Konto schlecht ist, aber möglicherweise sind weitere Untersuchungen erforderlich. |
Ereignisse annotieren, um Ihr websitespezifisches Modell zu optimieren
Damit Sie reCAPTCHA Account Defender weitere Informationen zur Verfügung stellen und Ihr websitespezifisches Erkennungsmodell verbessern können, müssen Sie die Ereignisse, die Sie bewertet haben, durch Erstellen von Bewertungen annotieren.
Sie merken eine Bewertung an, indem Sie eine Anfrage mit der Bewertungs-ID an die Methode projects.assessments.annotate
senden. Im Text dieser Anfrage fügen Sie Labels ein, die zusätzliche Informationen zu einem im Gutachten beschriebenen Ereignis enthalten.
So fügen Sie einer Bewertung eine Anmerkung hinzu:
-
Legen Sie die Informationen und Labels fest, die Sie je nach Anwendungsfall in den JSON-Text der Anfrage einfügen möchten.
In der folgenden Tabelle sind die Labels und Werte aufgeführt, die Sie zum Annotieren von Ereignissen verwenden können:
Label Beschreibung Beispielanfrage reasons
Erforderlich. Ein Label zur Unterstützung Ihrer Analysen. Stellen Sie innerhalb von Sekunden oder Minuten nach dem Ereignis Echtzeit-Ereignisdetails im
reasons
-Label bereit, da sie die Echtzeiterkennung beeinflussen.Eine Liste der möglichen Werte finden Sie unter Werte für „reasons“.
Beispiel: Um Kontoübernahmen zu erkennen, geben Sie mit den Werten
CORRECT_PASSWORD
oderINCORRECT_PASSWORD
an, ob das eingegebene Passwort korrekt war. 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, das die Rechtmäßigkeit von Bewertungen angibt. Geben Sie Fakten zu Anmelde- und Registrierungsereignissen an, um Ihre Risikobewertungen im Label
annotation
zu validieren oder zu korrigieren.Mögliche Werte:
LEGITIMATE
oderFRAUDULENT
.Sie können diese Informationen jederzeit oder im Rahmen eines Batchjobs senden. Wir empfehlen jedoch, diese Informationen einige Sekunden oder Minuten nach dem Ereignis zu senden, da sie die Echtzeiterkennung beeinflussen.
{ "annotation": "LEGITIMATE" }
accountId
Optional. Ein Label, mit dem eine Konto-ID einem Ereignis zugeordnet wird.
Wenn Sie eine Bewertung ohne Konto-ID erstellt haben, verwenden Sie dieses Label, um die Konto-ID eines Ereignisses anzugeben, sofern sie verfügbar ist.
{ "accountId": "ACCOUNT_ID" }
Erstellen Sie eine Annotate-Anfrage mit den entsprechenden Labels.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- ASSESSMENT_ID: Wert des Felds
name
, der vomprojects.assessments.create
-Aufruf zurückgegeben wurde. - ANNOTATION: Optional. Ein Label, das angibt, ob die Bewertung legitim oder betrügerisch ist.
- REASONS: Optional. Gründe, die Ihre Anmerkung unterstützen. Eine Liste der möglichen Werte finden Sie unter Werte für „reasons“.
- ACCOUNT_ID: Optional. Die Kennung, die eindeutig mit dem Nutzerkonto auf Ihrer Website verknüpft ist.
Weitere Informationen finden Sie unter Labels für Annotationen.
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 Felds
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 oben auf der Seite angezeigt wird.
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 Account Defender auf Konfigurieren.
Klicken Sie im Dialogfeld Account Defender konfigurieren auf Aktivieren und dann auf Speichern.
Es kann einige Stunden dauern, bis die Aktivierung von reCAPTCHA Account Defender in unseren Systemen übernommen wird. Nachdem die Aktivierung der Funktion in unseren Systemen erfolgt ist, sollten Sie im Rahmen der Bewertungen Antworten zu Account Defender erhalten.