In diesem Dokument erfahren Sie, wie Sie reCAPTCHA Enterprise Account Defender verwenden, um kontobezogene betrügerische Aktivitäten auf Websites zu erkennen und zu verhindern.
Mit reCAPTCHA Enterprise können Sie kritische Aktionen wie die Anmeldung und den Bezahlvorgang schützen. Es gibt jedoch viele subtile Formen von Kontomissbrauch, die sich erkennen lassen, indem das Verhalten eines bestimmten Nutzers auf einer Website über einen bestimmten Zeitraum beobachtet wird. Der Account Defender von reCAPTCHA Enterprise hilft dabei, diese Art von subtilem Missbrauch zu erkennen, indem ein websitespezifisches Modell für Ihre Website erstellt wird, um einen Trend verdächtigen Verhaltens oder eine Änderung der Aktivität zu erkennen. Mithilfe des websitespezifischen Modells können Sie mit reCAPTCHA Enterprise Account Defender 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 Enterprise Account Defender und des standortspezifischen Modells können Sie die folgenden Maßnahmen ergreifen:
- Betrügerische Konten einschränken oder deaktivieren
- Verhindern Sie Versuche, Konten zu übernehmen.
- Minimieren Sie erfolgreiche Kontoübernahmen.
- Gewähren Sie nur Zugriff auf Anfragen von legitimen Nutzerkonten.
- Vereinfachen Sie die Anmeldung über ein vertrauenswürdiges Gerät.
Hinweise
- Bereiten Sie Ihre Umgebung für reCAPTCHA Enterprise vor.
- Erstellen Sie einen punktebasierten Websiteschlüssel.
Webseiten für reCAPTCHA Enterprise Account Defender konfigurieren
reCAPTCHA Enterprise Account Defender erfordert ein umfassendes Verständnis der Kontoaktivitäten, um eine effektive Erkennung zu ermöglichen. Führen Sie die folgenden Schritte aus, um kontobezogene Aktivitäten an reCAPTCHA Enterprise Account Defender zu senden und Ihr websitespezifisches Modell zu erstellen und zu verbessern:
- Erfassen horizontaler Telemetriedaten aktivieren
- Berichte zu kritischen Nutzeraktionen erstellen
- Kritische Nutzerereignisse bewerten
- Nutzerereignisse annotieren, um Ihr websitespezifisches Modell zu optimieren
Erhebung von horizontalen Telemetriedaten aktivieren
reCAPTCHA Enterprise Account Defender benötigt einen vollständigen Überblick über Nutzeraktionen, z. B. ob der Nutzer angemeldet ist oder zur Anmeldung führt. Wenn Sie die passive Erfassung horizontaler Telemetriedaten durch reCAPTCHA Enterprise Account Defender aktivieren möchten, laden Sie das reCAPTCHA Enterprise-JavaScript-Script mit dem wertungsbasierten Websiteschlüssel, den Sie im Hintergrund aller Webseiten erstellt haben, die Teil Ihres Nutzerworkflows sind.
Das folgende Beispiel zeigt, wie das reCAPTCHA Enterprise-JavaScript-Script auf einer Webseite geladen wird.
<head> <script src="https://www.google.com/recaptcha/enterprise.js?render=KEY_ID"></script> .... </head>
Berichte zu kritischen Nutzeraktionen erstellen
Der Account Defender von reCAPTCHA Enterprise benötigt Informationen zu kritischen Nutzeraktionen, um verdächtige Aktivitätsmuster zu erkennen und typische Aktivitätsmuster auf Ihrer Website besser zu verstehen. Melden Sie daher wichtige Nutzeraktionen auf den Webseiten, indem Sie für diese kritischen Nutzeraktionen grecaptcha.enterprise.execute() aufrufen.
Wir empfehlen, alle kritischen Nutzeraktionen zu melden, da dies bei der Erfassung zusätzlicher Signale hilfreich ist. 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 für Berichte zu kritischen Nutzeraktionen verwenden können.
Aktionsname | Vom Nutzer initiiertes Ereignis oder eine Nutzeraktion |
---|---|
LOGIN |
Melden Sie sich auf der Website an. |
REGISTRATION |
Registrierung auf der Website |
SECURITY_QUESTION_CHANGE |
Anfrage zur Änderung der Sicherheitscheck-Frage |
PASSWORD_RESET |
Anfrage zum Zurücksetzen des Passworts |
PHONE_NUMBER_UPDATE |
Anfrage zur Aktualisierung der Telefonnummer |
EMAIL_UPDATE |
Anfrage zur Aktualisierung der E-Mail-Adresse |
ACCOUNT_UPDATE |
Anfrage zur Aktualisierung kontobezogener Informationen wie Kontaktdaten |
TRIGGER_MFA |
Eine Aktion, die eine MFA-Abfrage auslöst. |
REDEEM_CODE |
Gutscheincode beantragen. |
LIST_PAYMENT_METHODS |
Rufen Sie die Liste der Zahlungsmethoden ab. |
Das folgende Beispiel zeigt, wie grecaptcha.enterprise.execute()
bei einer Aktualisierung der Telefonnummer angerufen wird:
<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. Erstellen Sie für die kritischen Nutzerereignisse wie erfolgreiche und fehlgeschlagene Anmeldungen, Registrierungen und Aktionen angemeldeter Nutzer eine Bewertung, um die Ergebnisse des grecaptcha.enterprise.execute()
-Aufrufs zu bewerten. Die Bewertung liefert Ihnen ein Risikoergebnis, das Sie verwenden können, um eine Entscheidung über den Umgang mit potenziell betrügerischen Aktivitäten zu treffen. Sie können beispielsweise verdächtige Anfragen blockieren, riskante Anmeldungen anfordern und relevante Konten untersuchen.
Für reCAPTCHA Enterprise Account Defender müssen Sie eine stabile Konto-ID bereitstellen, um Nutzeraktivitäten wie Anmelde-, Anmelde- und Registrierungsanfragen einem bestimmten Konto zuzuordnen. So kann reCAPTCHA Enterprise Account Defender die Aktivitätsmuster der Nutzer besser verstehen und für jedes Konto ein Aktivitätsmodell erstellen, um anomalen und missbräuchlichen Traffic besser zu erkennen.
Wählen Sie eine stabile Konto-ID accountId
, die nicht oft vom Nutzer geändert wird, und stellen Sie sie der Bewertung in der Methode
projects.assessments.create
zur Verfügung. Diese stabile Konto-ID sollte für alle Ereignisse desselben Nutzers denselben Wert haben. Du kannst 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 es als accountId
verwenden. Wenn Sie solche websiteübergreifenden Kennungen (IDs, die websiteübergreifend wiederverwendet werden können) angeben, verwendet reCAPTCHA Enterprise diese Informationen, um den Schutz Ihrer Nutzerkonten anhand von websiteübergreifenden Modellen zu verbessern. Dazu werden missbräuchliche Kontokennungen gemeldet und das Wissen über websiteübergreifende Missbrauchsmuster im Zusammenhang mit diesen Kennungen genutzt.
Wenn eine interne Nutzer-ID mit jedem Konto eindeutig verknüpft ist, können Sie sie auch als accountId
angeben.
Gehasht oder verschlüsselt
Wenn keine interne Nutzer-ID mit jedem Konto eindeutig verknüpft ist, können Sie eine beliebige stabile Kennung in eine intransparente, websitespezifische Konto-ID umwandeln. Diese Kennung wird weiterhin für reCAPTCHA Enterprise Account Defender benötigt, um Nutzeraktivitätsmuster zu verstehen und anomales Verhalten zu erkennen. Sie wird jedoch nicht für andere Websites verwendet.
Wählen Sie eine beliebige stabile Konto-ID aus und machen Sie sie undurchsichtig, bevor Sie sie an reCAPTCHA Enterprise senden. Verwenden Sie dazu Verschlüsselung oder Hashing:
Verschlüsselung (empfohlen): Verschlüsseln Sie die Kontokennung mit einer deterministischen Verschlüsselungsmethode, die einen stabilen Geheimtext erzeugt. Eine ausführliche Anleitung finden Sie unter Daten deterministisch verschlüsseln. Wenn Sie sich für die symmetrische Verschlüsselung gegenüber der Hash-Technologie entscheiden, müssen Sie keine Zuordnung zwischen Ihren Nutzerkennungen und den entsprechenden intransparenten Nutzerkennungen vornehmen. Entschlüsseln Sie die intransparenten Kennungen, die von reCAPTCHA Enterprise zurückgegeben werden, um sie in die Nutzerkennungen umzuwandeln.
Hash-Technologie: Wir empfehlen, die Kontokennung mithilfe der SHA256-HMAC-Methode mit einem benutzerdefinierten Salt Ihrer Wahl zu hashen. Da Hashes nur einseitig sind, müssen Sie eine Zuordnung zwischen den generierten Hashes und Ihren Nutzerkennungen beibehalten, damit Sie die gehashten Konto-IDs, die zurückgegeben werden, den ursprünglichen Konten zuordnen können.
Neben einer stabilen Konto-ID für alle kontobezogenen Anfragen können Sie für bestimmte Anfragen zusätzliche Konto-IDs angeben, die möglicherweise instabil sind.
Kontextspezifische Kontokennungen, die zusätzlich zu accountId
angegeben werden, helfen reCAPTCHA Enterprise Account Defender dabei, Nutzeraktivitäten besser zu verstehen und Versuche von Kontoübernahmen zu erkennen, um Ihre Nutzerkonten zu schützen. Wenn Sie zusätzliche Kennungen angeben, verwendet reCAPTCHA Enterprise diese Informationen, um den Schutz Ihrer Nutzerkonten anhand von websiteübergreifenden Modellen zu verbessern. Dazu werden missbräuchliche Kontokennungen gemeldet und das Wissen über websiteübergreifende Missbrauchsmuster im Zusammenhang mit diesen Kennungen genutzt. 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 der Nutzer bei einer Anfrage zur Kontoaktualisierung angegeben hat
Die E-Mail-Adressen und Telefonnummern, die der Nutzer bei der Registrierungsanfrage angegeben hat
Hängen Sie die ausgewählte stabile Konto-ID für alle kontobezogenen Anfragen an den Parameter accountId
in der Methode
projects.assessments.create
an. Optional können Sie in der Bewertung über das Feld userIds
zusätzliche Konto-IDs für die relevanten Anfragen angeben.
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
- 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 Ihrer Website eindeutig zugeordnet ist
- EMAIL_ADDRESS: Optional. Gegebenenfalls eine E-Mail-Adresse, die mit dieser Anfrage verknüpft ist
- PHONE_NUMBER: Optional. Gegebenenfalls eine Telefonnummer, die mit dieser Anfrage verknüpft ist
- USERNAME: Optional. Gegebenenfalls ein Nutzername, der mit dieser Anfrage verknüpft ist
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 Standardanmeldedaten für Anwendungen ein, um sich bei reCAPTCHA Enterprise zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Das Risikoergebnis der kritischen Nutzerereignisse interpretieren
Wenn Sie eine Bewertung mit aktiviertem Account Defender erstellen, gibt Account Defender accountDefenderAssessment
als Teil der Bewertungsantwort zurück.
Mit dem Wert 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-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 enthalten:
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 missbräuchliche Erstellung des Kontos darstellt. |
PROFILE_MATCH |
Gibt an, dass die Attribute des Nutzers mit den Attributen übereinstimmen, die zuvor für diesen Nutzer erkannt wurden. Dieser Wert gibt an, dass sich der Nutzer auf einem vertrauenswürdigen Gerät befindet, über das zuvor auf deine Website zugegriffen wurde.
|
RELATED_ACCOUNTS_NUMBER_HIGH |
Gibt an, dass die Anfrage viele zugehörige Konten umfasst. Das bedeutet nicht unbedingt, dass das Konto defekt ist. Möglicherweise sind jedoch weitere Untersuchungen erforderlich. |
Ereignisse mit Anmerkungen versehen, um Ihr websitespezifisches Modell zu optimieren
Um reCAPTCHA Enterprise Account Defender mehr Informationen zur Verfügung zu stellen und Ihr websitespezifisches Erkennungsmodell zu verbessern, müssen Sie die Ereignisse annotieren, die Sie durch das Erstellen von Bewertungen bewertet haben.
Zum Annotieren einer Bewertung senden Sie eine Anfrage mit der Bewertungs-ID an die Methode projects.assessments.annotate
. Der Anfragetext enthält Labels mit zusätzlichen Informationen zu einem in der Bewertung beschriebenen Ereignis.
So annotieren Sie eine Bewertung:
-
Bestimmen Sie je nach Anwendungsfall die Informationen und Labels, die in den JSON-Text der Anfrage aufgenommen werden sollen.
In der folgenden Tabelle sind die Labels und Werte aufgeführt, mit denen Sie Ereignisse annotieren können:
Label Beschreibung Beispiel für Anfrage reasons
Erforderlich. Ein Label, das Ihre Bewertungen unterstützt. Geben Sie einige Sekunden oder Minuten nach dem Ereignis im Label
reasons
Echtzeitdetails an, da diese die Echtzeiterkennung beeinflussen.Eine Liste der möglichen Werte finden Sie unter Werte für Gründe.
Beispiel: Vermerken Sie mit
CORRECT_PASSWORD
- oderINCORRECT_PASSWORD
-Werten, ob das eingegebene Passwort korrekt ist, um Kontoübernahmen zu erkennen. 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 Rechtmäßigkeit der Prüfungen. Geben Sie mit dem Label
annotation
Fakten zu Anmelde- und Registrierungsereignissen an, um Ihre Risikobewertungen zu validieren oder zu korrigieren.Mögliche Werte:
LEGITIMATE
oderFRAUDULENT
.Sie können diese Informationen jederzeit oder als Teil 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, um eine Konto-ID mit einem Ereignis zu verknüpfen.
Wenn Sie eine Bewertung ohne Konto-ID erstellt haben, verwenden Sie dieses Label, um die Konto-ID eines Ereignisses anzugeben, sofern es verfügbar ist.
{ "accountId": "ACCOUNT_ID" }
Erstellen Sie eine Anmerkungsanfrage mit den entsprechenden Labels.
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
- ASSESSMENT_ID: Wert des Feldes
name
, das 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 die Anmerkung stützen. Eine Liste der möglichen Werte finden Sie unter 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 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 Feldes
Codebeispiel
Java
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei reCAPTCHA Enterprise zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
reCAPTCHA Enterprise Account Defender aktivieren
Nachdem Sie Ihre Webseiten für reCAPTCHA Enterprise Account Defender konfiguriert haben, können Sie reCAPTCHA Enterprise Account Defender aktivieren.
Rufen Sie in der Google Cloud Console die Seite reCAPTCHA Enterprise 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 Aktivieren.
Klicken Sie im Dialogfeld Account Defender konfigurieren auf Aktivieren.
Es kann einige Stunden dauern, bis die Aktivierung von reCAPTCHA Enterprise Account Defender für unsere Systeme wirksam wird. Nachdem die Aktivierung der Funktion in unsere Systeme übernommen wurde, sollten Sie im Rahmen der Bewertungen Antworten zu Account Defender erhalten.