SMS-Betrug erkennen und verhindern

In diesem Dokument erfahren Sie, wie Sie den reCAPTCHA-Schutz vor Mautbetrug bei SMS verwenden zur Erkennung und Verhinderung von SMS Pumping-Angriffen in Unternehmen, die SMS für die Bestätigung in zwei Schritten oder eine telefonische Bestätigung, Ziel für SMS-Gebührenbetrug.

Die SMS-basierte Authentifizierung (2FA und Anmeldung) ist ein Branchenstandard für die Sicherheit bei Anmeldungen und Registrierungen. Sie bietet jedoch keinen Schutz vor SMS-Gebührenbetrug oder SMS-Pumping-Betrug. Vor dem Senden einer SMS bietet Ihnen der reCAPTCHA-Schutz vor Mautbetrug mit einem Risikowert, der angibt, wie wahrscheinlich es ist, dass diese Telefonnummer SMS-Gebührenbetrug. Basierend auf diesem Wert kannst du betrügerische SMS zulassen oder blockieren bevor sie an Ihren SMS-Anbieter gesendet werden.

Weitere Informationen finden Sie im Blog zum Schutz vor Gebührenbetrug bei SMS mit reCAPTCHA.

Hinweise

Folgen Sie der Anleitung auf dem entsprechenden Tab, je nachdem, ob Sie reCAPTCHA bereits verwenden oder neu dabei sind:

Bestehender reCAPTCHA-Nutzer

Wenn Sie bereits reCAPTCHA nutzen, aktivieren Sie reCAPTCHA-Schutz vor SMS-Gebührenbetrug in Ihrem Google Cloud-Projekt:

  1. Rufen Sie in der Google Cloud Console die Seite „reCAPTCHA“ auf.

    Zu reCAPTCHA

  2. Prüfen Sie, ob der Name Ihres Projekts in der Ressourcenauswahl angezeigt wird.

    Wenn Sie den Namen Ihres Projekts nicht sehen, klicken Sie auf die Ressourcenauswahl. und wählen Sie dann Ihr Projekt aus.

  3. Klicken Sie auf Einstellungen.

  4. Wenn reCAPTCHA Account Defender für Ihr Konto nicht aktiviert ist Projekt arbeiten, gehen Sie so vor:

    1. Klicken Sie im Bereich Kontoschutz auf Aktivieren.
    2. Klicken Sie im Dialogfeld Account Defender konfigurieren auf Aktivieren.
  5. Klicken Sie im Bereich SMS-Gebührenbetrugsschutz auf Konfigurieren.

  6. Klicken Sie auf den Schalter Aktivieren und dann auf Speichern.

    Es kann einige Minuten dauern, bis die Aktivierung des SMS-Gebührenbetrugsschutzes von reCAPTCHA in unseren Systemen übernommen wird. Nachdem die Feature-Aktivierung in unserem erhalten Sie Antworten zum reCAPTCHA-Schutz vor Mautbetrug bei SMS. im Rahmen der Bewertungen.

Neuer reCAPTCHA-Nutzer

Wenn Sie reCAPTCHA noch nicht verwendet haben, gehen Sie so vor:

  1. Je nachdem, ob Sie den reCAPTCHA-Schutz vor SMS-Gebührenbetrug auf einer Website oder auf einem Mobilgerät verwenden möchten Anwendung finden, führen Sie zum Einbinden von reCAPTCHA die folgenden Schritte aus:

  2. Aktivieren reCAPTCHA-Schutz vor SMS-Gebührenbetrug in Ihrem Google Cloud-Projekt:
    1. Rufen Sie in der Google Cloud Console die Seite „reCAPTCHA“ auf.

      Zu reCAPTCHA

    2. Prüfen Sie, ob der Name Ihres Projekts in der Ressourcenauswahl angezeigt wird.

      Wenn Sie den Namen Ihres Projekts nicht sehen, klicken Sie auf die Ressourcenauswahl. und wählen Sie dann Ihr Projekt aus.

    3. Klicken Sie auf Einstellungen.

    4. Wenn reCAPTCHA Account Defender für Ihr Konto nicht aktiviert ist Projekt arbeiten, gehen Sie so vor:

      1. Klicken Sie im Bereich Kontoschutz auf Aktivieren.
      2. Klicken Sie im Dialogfeld Account Defender konfigurieren auf Aktivieren.
    5. Klicken Sie im Bereich SMS-Gebührenbetrugsschutz auf Konfigurieren.

    6. Klicken Sie auf den Schalter Aktivieren und dann auf Speichern.

      Es kann einige Minuten dauern, bis die Aktivierung des SMS-Gebührenbetrugsschutzes von reCAPTCHA in unseren Systemen übernommen wird. Nachdem die Feature-Aktivierung in unserem erhalten Sie Antworten zum reCAPTCHA-Schutz vor Mautbetrug bei SMS. im Rahmen der Bewertungen.

Bewertung mit der Telefonnummer erstellen

Erstellen Sie für den reCAPTCHA-Schutz vor SMS-Gebührenbetrug Bewertungen mit dem Token, execute()-Funktion und die Telefonnummer generiert werden. Dazu verwenden Sie entweder das Attribut reCAPTCHA-Clientbibliotheken oder die REST API aus Ihrem Back-End.

In diesem Dokument erfahren Sie, wie Sie mit der REST API eine Bewertung erstellen. Informationen zum Erstellen einer Bewertung mit Clientbibliotheken Weitere Informationen zum Erstellen von Bewertungen

Führen Sie vor dem Erstellen einer Bewertung die folgenden Schritte aus:

  • Richten Sie die Authentifizierung bei reCAPTCHA ein.

    Welche Authentifizierungsmethode Sie auswählen, hängt von der Umgebung ab, in der reCAPTCHA ist eingerichtet. Die folgende Tabelle hilft Ihnen bei der Auswahl der eine geeignete Authentifizierungsmethode und die unterstützte Schnittstelle aus, Authentifizierung:

    Umgebung Schnittstelle Authentifizierungsmethode
    Google Cloud
    • REST
    • Clientbibliotheken
    Verwenden Sie angehängte Dienstkonten.
    Lokal oder ein anderer Cloud-Anbieter REST Verwenden Sie API-Schlüssel oder die Workload Identity-Föderation.

    Wenn Sie API-Schlüssel verwenden möchten, empfehlen wir, die API-Schlüssel durch Anwenden von Einschränkungen für API-Schlüssel zu sichern.

    Clientbibliotheken

    Verwenden Sie:

  • 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-ID angeben:

    Nutzerkennungen

    Jedes Konto kann eindeutig einem stabilen Nutzernamen, einer E-Mail-Adresse oder einer Telefonnummer zugeordnet werden. können Sie sie 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 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 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.

    • Hash-Technologie: Wir empfehlen, die Konto-ID mit der SHA256-HMAC-Methode mit 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 gehashte Konto-ID, die zurückgegeben wird, den ursprünglichen Konten zuordnen können.

Fügen Sie den Parameter accountId und die Telefonnummer im E.164-Format als UserId hinzu, um sie in der Prüfung in der Methode projects.assessments.create zu überprüfen.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID ist Ihre Google Cloud-Projekt-ID.
  • TOKEN: vom Aufruf grecaptcha.enterprise.execute() zurückgegebenes Token
  • KEY_ID: der leistungsbasierte Schlüssel, den Sie auf Ihrer Website installiert haben.
  • ACCOUNT_ID: Eine eindeutige Kennung für ein Nutzerkonto auf Ihrer Website.
  • PHONE_NUMBER: die Telefonnummer, die auf Schadsoftware überprüft werden soll. Die Telefonnummer muss im E.164-Format vorliegen und darf nicht gehasht oder verschlüsselt sein.

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": [
        {
          "phoneNumber": "PHONE_NUMBER"
        }
      ]
    }
  }
}

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:


{
  "event": {
     …
  },
  "name": "ASSESSMENT_ID",
  "smsFraudAssessment": {
    "smsFraudRisk": 0.3
  }
}

Die Antwort, die Sie erhalten, enthält den smsFraudRisk-Wert in den smsFraudAssessment-Feld . Je höher der Wert, desto wahrscheinlicher ist die Telefonnummer riskant. Je niedriger der Wert, desto wahrscheinlicher ist die Telefonnummer legitim.

Sie sind für die Maßnahmen verantwortlich, die Sie auf Grundlage der Bewertung ergreifen. Für die einfachste Integration können Sie Schwellenwerte für smsFraudRisk festlegen, um Ihre Entscheidung zu unterstützen.

Bewertung mit Anmerkungen versehen

Damit Sie den SMS-Traffic im Blick behalten und die Betrugserkennung verbessern können, müssen Sie die Bewertungen innerhalb von 10 Minuten nach dem Senden der SMS oder nach der erfolgreichen Bestätigung der Telefonnummer annotieren.

Sie können eine Bewertung mit der Methode projects.assessments.annotate annotieren, indem Sie eine Anfrage mit der Bewertungs-ID senden. Geben Sie im Anfragetext im Feld phoneAuthenticationEvent die Telefonnummer im E.164-Format an.

So fügen Sie Anmerkungen zu einer Bewertung hinzu:

  1. 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 Beispielanfrage
    reasons

    Erforderlich. Ein Label, das Ihre Bewertungen unterstützt.

    Geben Sie Echtzeit-Ereignisdetails im reasons-Label innerhalb weniger Sekunden oder Minuten nach dem Ereignis an, da sie die Echtzeiterkennung beeinflussen.

    Mögliche Werte:

    • INITIATED_TWO_FACTOR: ein Bestätigungscode über SMS wird gesendet.
    • PASSED_TWO_FACTOR: Der Bestätigungscode lautet wurde bestätigt.
    • FAILED_TWO_FACTOR: Der Bestätigungscode ist ungültig.
        {
        "reasons": ["INITIATED_TWO_FACTOR"],
        "phoneAuthenticationEvent": {
          "phoneNumber": "+18005550175"
        }
      }
    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 oder FRAUDULENT.

    Wir empfehlen, diese Informationen innerhalb weniger Sekunden oder Minuten nach dem Ereignis zu senden, da sie die Echtzeiterkennung beeinflussen.

      {
       "annotation": "LEGITIMATE"
      }
      
  2. Erstellen Sie eine Anmerkungsanfrage mit den entsprechenden Labels.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • ASSESSMENT_ID: Wert des name-Felds, der vom projects.assessments.create-Aufruf zurückgegeben wurde.
    • ANNOTATION: Optional. Ein Label zur Angabe, ob die Bewertung legitim oder betrügerisch ist.
    • REASONS: Gründe, die Ihre Anmerkung unterstützen. Eine Liste der möglichen Werte finden Sie unter Werte für „Grund“.
    • PHONE_NUMBER: die Telefonnummer, die geprüft wurde Die Telefonnummer muss im E.164-Format vorliegen und darf nicht gehasht oder verschlüsselt sein.

    HTTP-Methode und URL:

    POST https://recaptchaenterprise.googleapis.com/v1/ASSESSMENT_ID:annotate

    JSON-Text der Anfrage:

    {
      "annotation": ANNOTATION,
      "reasons": REASONS,
      "phoneAuthenticationEvent": {
        "phoneNumber": "PHONE_NUMBER"
      }
    }
    

    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 Content

    Sie sollten einen erfolgreichen Statuscode (2xx) und eine leere Antwort als Ausgabe erhalten.

Nächste Schritte