In diesem Dokument erfahren Sie, wie Sie mit reCAPTCHA Account Defender kontobezogene betrügerische Aktivitäten in mobilen Anwendungen erkennen und verhindern.
Mit reCAPTCHA lassen sich kritische Aktionen wie Anmeldungen besser schützen und den Bezahlvorgang. Es gibt jedoch viele subtile Formen von Kontomissbrauch, die erkannt werden können, wenn das Verhalten eines bestimmten Nutzers in einer mobilen Anwendung über einen bestimmten Zeitraum beobachtet wird. reCAPTCHA Account Defender hilft dabei, diese Art von subtilem Missbrauch zu erkennen, indem ein websitespezifisches Modell für Ihre mobile Anwendung erstellt wird, um einen Trend zu verdächtigem Verhalten oder eine Änderung der Aktivitäten zu erkennen. 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.
- Die Auswirkungen von erfolgreichen Kontoübernahmen begrenzen.
- Gewähren Sie nur Anfragen von legitimen Nutzerkonten Zugriff.
- Nutzer können sich problemlos von einem ihrer vertrauenswürdigen Geräte aus anmelden.
Hinweis
- reCAPTCHA Account Defender für mobile Anwendungen ist verfügbar, nachdem Sie eine automatische Sicherheitsüberprüfung ausgelöst haben, indem Sie Ihrem Projekt ein Rechnungskonto hinzugefügt haben. Rechnungskonto hinzufügen um diese Funktion für Ihre Website einzurichten.
- Umgebung für reCAPTCHA vorbereiten
- Erstellen Sie einen punktebasierten Schlüssel.
Mobile App für reCAPTCHA Account Defender konfigurieren
reCAPTCHA Account Defender erfordert ein umfassendes Verständnis der Kontoaktivitäten, um eine effektive Erkennung zu ermöglichen. Um mit dem Füttern zu beginnen kontobezogene Aktivitäten an reCAPTCHA Account Defender und an um Ihr websitespezifisches Modell zu erstellen und zu verbessern, gehen Sie so vor:
reCAPTCHA in Ihre mobile Anwendung einbinden.
- Informationen zu Android-Apps finden Sie unter reCAPTCHA in Android-Apps einbinden.
- Informationen zu iOS-Apps finden Sie unter reCAPTCHA in iOS-Apps einbinden.
- Berichte zu wichtigen Nutzeraktionen
- Kritische Nutzerereignisse bewerten
- Nutzerereignisse annotieren, um Ihr websitespezifisches Modell abzustimmen
Berichte zu wichtigen Nutzeraktionen
Um verdächtige Aktivitätsmuster zu erkennen und ein besseres Verständnis für
Typische Aktivitätsmuster auf Ihrer Website, reCAPTCHA-Konto
der Sicherheitsteams die Informationen über kritische Benutzeraktionen benötigt.
Rufen Sie für jede Aktion Ihrer Anwendung, die durch reCAPTCHA geschützt ist, die Methode execute()
mit RecaptchaAction
auf. Weitere Informationen zu execute()
und RecaptchaAction
finden Sie hier:
- Android:
execute()
undRecaptchaAction
- iOS:
execute()
undRecaptchaAction
reCAPTCHA bietet eine Reihe von vordefinierten Aktionen. Bei Bedarf können Sie auch benutzerdefinierte Aktionen erstellen.
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 in der mobilen App an. |
SIGNUP |
Registriere dich in der mobilen App. |
Kritische Nutzerereignisse bewerten
Wenn Sie execute()
für eine Nutzeraktion aufrufen, wird ein Token generiert. Erstellen Sie für die wichtigen Nutzerereignisse wie erfolgreiche und fehlgeschlagene Anmeldungen, Registrierungen und Aktionen der angemeldeten Nutzer eine Bewertung, um die Ergebnisse des execute()
-Aufrufs zu beurteilen. Die Bewertung liefert Ihnen ein Risikourteil, anhand dessen Sie entscheiden können, wie Sie mit potenziell betrügerischen Aktivitäten umgehen. Einige der Maßnahmen, die Sie ergreifen können, verhindern verdächtige Aktivitäten
Anfragen, riskante Anmeldungen herausfordern und relevante Konten untersuchen.
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 für die Bewertung im
projects.assessments.create
-Methode. Diese stabile Konto-ID sollte für alle Ereignisse, die sich auf denselben Nutzer beziehen, denselben Wert haben. Sie können Folgendes als Konto angeben:
Kennung:
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, wenn Sie über eine interne Nutzer-ID verfügen, die jedem Konto eindeutig zugeordnet ist,
stellen Sie sie als accountId
bereit.
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 beliebige stabile Konto-ID aus und machen Sie sie vor dem Senden an reCAPTCHA undurchsichtig, indem Sie durch Verschlüsselung oder Hash-Technologie:
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 deterministisch verschlüsseln. 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 von reCAPTCHA zurückgegebenen opaken Kennungen, um sie in den User-ID.
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 Kennzeichnungen angeben,
reCAPTCHA verwendet diese Informationen, um den Schutz Ihrer Nutzerkonten basierend auf
durch die Meldung missbräuchlicher Konto-IDs und die Kenntnis über den websiteübergreifenden Missbrauch
Mustern im Zusammenhang mit diesen Kennungen. Sie können beispielsweise Folgendes angeben:
Der Nutzername, die E-Mail-Adresse oder die Telefonnummer, die als Anmelde-Handle für die Anmeldung verwendet wurden Anfragen
Die E-Mail-Adresse oder Telefonnummer, die für die Multi-Faktor-Authentifizierung bestätigt wurde Authentifizierungsanfrage
Eine vom Nutzer angegebene E-Mail-Adresse oder Telefonnummer (primär oder sekundär), bei einer Anfrage zur Kontoaktualisierung
Die E-Mail-Adressen und Telefonnummern, die vom Nutzer bei der Registrierung angegeben werden Anfrage
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 können Sie zusätzliche Konto-IDs für die relevanten Anfragen angeben. Verwenden Sie dazu das Feld userIds
in der Prüfung.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Google Cloud-Projekt-ID
- TOKEN: vom Aufruf
execute()
zurückgegebenes Token - KEY_ID: reCAPTCHA-Schlüssel, der der Anwendung zugeordnet ist
- ACCOUNT_ID: Die Kennung, die eindeutig mit dem Nutzerkonto für ein Nutzerkonto in Ihrer App verknüpft ist.
- EMAIL_ADDRESS: Optional. Eine E-Mail-Adresse, die mit dieser Anfrage verknüpft ist (falls zutreffend)
- PHONE_NUMBER: Optional. Eine mit dieser Anfrage verknüpfte Telefonnummer, sofern Beliebige(r,s)
- USERNAME: Optional. Ein Nutzername, der mit dieser Anfrage verknüpft ist (falls zutreffend)
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, "androidPackageName": "com.example.app" or "iosBundleId": "com.example.app", "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.
Das Risikoergebnis der kritischen Nutzerereignisse interpretieren
Wenn Sie eine Bewertung mit aktiviertem Kontoschutz erstellen, gibt Kontoschutz accountDefenderAssessment
als Teil der Bewertungsantwort zurück.
Der Wert accountDefenderAssessment
hilft,
beurteilen Sie, 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, "androidPackageName": "com.example.app" or "iosBundleId": "com.example.app", "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 darstellt von Credential Stuffing oder Kontoübernahme. |
SUSPICIOUS_ACCOUNT_CREATION |
Gibt an, dass die Anfrage ein hohes Risiko für die Erstellung missbräuchlicher Konten darstellt. |
PROFILE_MATCH |
Gibt an, dass die Attribute des Nutzers mit den Attributen übereinstimmen, die zuvor für diesen Nutzer erfasst wurden. Dieser Wert ist ein Indikator dafür, dass sich dieser Nutzer auf einem vertrauenswürdigen Gerät befindet, das bereits zuvor zum Zugriff auf Ihre mobile App verwendet wurde.
|
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 der Methode projects.assessments.annotate
annotieren. Senden Sie dazu eine Anfrage mit der Bewertungs-ID. Im Text dieser Anfrage geben Sie Labels an, die zusätzliche Informationen zu einem in der Bewertung beschriebenen Ereignis enthalten.
So annotieren Sie eine Bewertung:
-
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, die Sie für Anmerkungen verwenden können. Events:
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: Wenn Sie Kontoübernahmen erkennen möchten, können Sie angeben, ob das eingegebene Passwort korrekt war, indem Sie die Werte
CORRECT_PASSWORD
oderINCORRECT_PASSWORD
verwenden. Wenn Sie Ihre eigene MFA implementiert haben, können Sie die folgenden Werte hinzufügen:INITIATED_TWO_FACTOR
,PASSED_TWO_FACTOR
oderFAILED_TWO_FACTOR
.{ "reasons": ["INCORRECT_PASSWORD"] }
annotation
Optional. Ein Label, das die Legitimität von Bewertungen angibt. 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 im Rahmen 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 die Konto-ID eines Ereignisses anzugeben, 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. Eine Liste der möglichen Werte finden Sie unter Werte für „Grund“.
- ACCOUNT_ID: Optional. Die ID, die dem Nutzerkonto in Ihrer App 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 mobile Anwendung 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.
- Klicke auf Einstellungen.
Klicken Sie im Bereich Account Defender 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. Nach der Funktionsaktivierung an unsere Systeme weitergegeben haben, sollten Sie nun Antworten in Bezug auf Ihr Konto erhalten. Defender in die Bewertungen einfließen lassen.
Nächste Schritte
- Weitere Informationen zu anderen Funktionen zum Schutz von Konten finden Sie unter Funktionen zum Schutz von Nutzerkonten.