Die Umgebung schützen

Google bietet eine Reihe von APIs und Diensten, mit denen Sie feststellen können, ob Ihre App in einer sicheren und vertrauenswürdigen Umgebung ausgeführt wird. Im Mittelpunkt steht die Play Integrity API, die dabei hilft, die Echtheit von Interaktionen zu prüfen, indem potenziell riskante und betrügerische Interaktionen erkannt werden. Neben Informationen zur App- und Geräteintegrität bietet die Play Integrity API jetzt auch Informationen zu Zugriffs- und Barrierefreiheitsrisiken, Google Play Protect und aktuellen Geräteaktivitäten. Um Ihre Anti-Betrugsstrategie weiter zu optimieren, bietet die Android-Plattform APIs für bestimmte Szenarien, die für Ihre App relevant sein könnten.

Play Integrity API

Funktionen der Play Integrity API

Mit der Play Integrity API können Sie den Sicherheitsstatus des Geräts ermitteln, auf dem die App ausgeführt wird. So können Sie sicher sein, dass der richtige Nutzer auf vertrauliche Informationen zugreift.

Sie können damit prüfen, ob Interaktionen und Serveranfragen von Ihrem echten App-Binärprogramm in einer vertrauenswürdigen Umgebung stammen:

  • Echtes App-Binärprogramm: Prüfen Sie, ob Sie mit Ihrem unveränderten Binärprogramm in der Form interagieren, die Google Play bekannt ist.
  • Echte Play-Installation: Prüfen Sie, ob das aktuelle Nutzerkonto lizenziert ist, was bedeutet, dass der Nutzer Ihre App oder Ihr Spiel bei Google Play installiert oder gekauft hat.
  • Echtes Android-Gerät: Prüfen Sie, ob Ihre App auf einem echten Android-Gerät mit Google Play-Diensten ausgeführt wird.
  • Frei von bekannter Malware: Prüfen Sie, ob Google Play Protect aktiviert ist und ob auf dem Gerät installierte Apps gefunden wurden, die als riskant oder gefährlich eingestuft werden.
  • Niedriges Risiko von Zugriffen durch andere Apps: Es wird geprüft, ob andere Apps ausgeführt werden, die möglicherweise den Bildschirm aufnehmen oder das Gerät und die Eingaben in Ihrer App steuern.

So trägt dies dazu bei, Betrug zu vermeiden

Wenn ein Nutzer eine wichtige Aktion in Ihrer App ausführt, können Sie die Integrity API von Google Play aufrufen. Andernfalls kann der Backend-Server Ihrer App entscheiden, welche Maßnahme zum Schutz vor Angriffen und Betrug als Nächstes ausgeführt werden soll. Sie können beispielsweise eine zusätzliche Nutzerbestätigung verlangen oder den Zugriff auf sensible Funktionen verweigern.

Entscheidungsablauf der Play Integrity API

Risiko des App-Zugriffs

Das Signal Risiko von App-Zugriffen wurde eingeführt, damit Sie besser beurteilen können, ob andere Apps auf einem Gerät den Bildschirm anzeigen und aufzeichnen können, während Ihre App ausgeführt wird, oder mit Berechtigungen für Bedienungshilfen auf Ihre App zugreifen. Bestätigte Apps für Barrierefreiheit sind automatisch von diesen Entscheidungen ausgenommen. Mit dem Risiko für den App-Zugriff können Entwickler ihre Apps schützen und gleichzeitig die Privatsphäre der Nutzer wahren, da die anfragende App nicht die Identität der installierten Apps erhält und das Urteil nicht mit Nutzer- oder Geräte-IDs verknüpft ist.

Screenshot eines Smartphones, auf dem der Nutzer aufgefordert wird, bestimmte Apps zu schließen.

Dank dieser Zusammenarbeit erhalten wir die erforderlichen Signale, um detailliertere Informationen zu erhalten und unsere Kunden effektiver zu schützen.
– Nubank, Early Access-Partner

Das Risiko des App-Zugriffs hat verschiedene Risikostufen:

  • Eine Antwort auf eine Aufzeichnungsanfrage bedeutet, dass andere Apps ausgeführt werden, die den Bildschirm aufzeichnen können.
  • Eine steuernde Antwort bedeutet, dass andere Apps ausgeführt werden, die das Gerät steuern können. Daher können sie sowohl den Bildschirm aufnehmen als auch die Eingaben in Ihre App steuern.

Durchsetzung des Risikos des App-Zugriffs

Sie können wertvolle oder vertrauliche Aktionen in Ihrer App oder Ihrem Spiel mit der Play Integrity API schützen, anstatt den Zugriff vollständig zu verweigern. Prüfen Sie riskante Zugriffe nach Möglichkeit, bevor Sie Aktionen mit hohem Wert zulassen. Wenn das Risiko von App-Zugriffen beispielsweise anzeigt, dass eine App ausgeführt wird, die den Bildschirm aufzeichnen kann, bitten Sie den Nutzer, Apps zu deaktivieren oder zu deinstallieren, die den Bildschirm aufzeichnen können, bevor er die Funktion nutzen kann, die Sie schützen möchten.

In der folgenden Tabelle finden Sie einige Beispielbewertungen:

Beispiel für eine Antwort zum Ergebnis des Risikos des App-Zugriffs Interpretation
appsDetected:
["KNOWN_INSTALLED"]
Es sind nur Apps installiert, die von Google Play erkannt oder vom Gerätehersteller auf der Systempartition vorinstalliert wurden. Es werden keine Apps ausgeführt, die zu den Befunden „Aufzeichnung“, „Steuerung“ oder „Overlays“ führen würden.
appsDetected:
["KNOWN_INSTALLED",
"UNKNOWN_INSTALLED",
"UNKNOWN_CAPTURING"]
Es gibt Apps, die von Google Play installiert oder vom Gerätehersteller auf der Systempartition vorinstalliert wurden. Es werden andere Apps ausgeführt und es sind Berechtigungen aktiviert, mit denen der Bildschirm angezeigt oder andere Eingaben und Ausgaben erfasst werden können.
appsDetected:
["KNOWN_INSTALLED",
"KNOWN_CAPTURING",
"UNKNOWN_INSTALLED",
"UNKNOWN_CONTROLLING"]
Es werden Google Play- oder Systemprozesse ausgeführt, für die Berechtigungen aktiviert sind, die dazu verwendet werden könnten, den Bildschirm zu erfassen oder andere Eingaben und Ausgaben aufzuzeichnen. Außerdem werden andere Apps ausgeführt, für die Berechtigungen aktiviert sind, mit denen das Gerät und die Eingaben in Ihre App direkt gesteuert werden können.
appAccessRiskVerdict: {} Das Risiko für den App-Zugriff wird nicht bewertet, da eine erforderliche Voraussetzung nicht erfüllt wurde. Beispielsweise war das Gerät nicht vertrauenswürdig genug.

Play Protect-Signal

Das Play Protect-Signal gibt Ihrer App an, ob Play Protect aktiviert ist und ob auf dem Gerät bekannte schädliche Apps gefunden wurden.

environmentDetails:{
  playProtectVerdict: "NO_ISSUES"
}

Wenn Malware ein besonderes Problem für Ihre App oder die Daten Ihrer Nutzer darstellt, können Sie dieses Urteil prüfen und Ihre Nutzer bitten, Play Protect zu aktivieren oder schädliche Apps zu entfernen, bevor Sie fortfahren.

Dialogfeld zum Aktivieren von Play Protect

playProtectVerdict kann einen der folgenden Werte haben:

Urteil Erklärung Empfohlene Maßnahme

NO_ISSUES

Play Protect ist aktiviert und es wurden keine App-Probleme auf dem Gerät gefunden.

Play Protect ist aktiviert und es wurden keine Probleme gefunden. Es ist also keine Aktion des Nutzers erforderlich.

NO_DATA

Play Protect ist aktiviert, aber es wurde noch kein Scan durchgeführt. Das Gerät oder die Play Store App wurde möglicherweise vor Kurzem zurückgesetzt.

Play Protect ist aktiviert und es wurden keine Probleme gefunden. Es ist also keine Aktion des Nutzers erforderlich.

POSSIBLE_RISK

Play Protect ist deaktiviert.

Play Protect ist aktiviert und es wurden keine Probleme gefunden. Sie müssen also nichts weiter unternehmen.

MEDIUM_RISK

Play Protect ist aktiviert und hat potenziell schädliche Apps gefunden, die auf dem Gerät installiert sind.

Je nach Risikobereitschaft können Sie den Nutzer bitten, Play Protect zu starten und Maßnahmen zu den Play Protect-Warnungen zu ergreifen. Wenn der Nutzer diese Anforderungen nicht erfüllt, kannst du ihn von der Serveraktion ausschließen.

HIGH_RISK

Play Protect ist aktiviert und hat gefährliche Apps gefunden, die auf dem Gerät installiert sind.

Je nach Risikobereitschaft können Sie den Nutzer bitten, Play Protect zu starten und Maßnahmen zu den Play Protect-Warnungen zu ergreifen. Wenn der Nutzer diese Anforderungen nicht erfüllt, kannst du ihn für die Serveraktion blockieren.

UNEVALUATED

Das Play Protect-Urteil wurde nicht bewertet.

Dafür kann es verschiedene Gründe geben:

  • Das Gerät ist nicht vertrauenswürdig genug.
  • Nur Spiele: Das Nutzerkonto ist nicht LIZENZIERT.

Letzte Geräteaktivitäten

Sie können auch die Funktion „Letzte Geräteaktivitäten“ aktivieren. Damit sehen Sie, wie oft Ihre App in der letzten Stunde ein Integritäts-Token von einem bestimmten Gerät angefordert hat. Sie können die letzten Geräteaktivitäten verwenden, um Ihre App vor unerwarteten, hyperaktiven Geräten zu schützen, die ein Anzeichen für einen aktiven Angriff sein könnten. Sie können festlegen, wie viel Vertrauen Sie den einzelnen Stufen der letzten Geräteaktivitäten entgegenbringen möchten, je nachdem, wie oft Sie erwarten, dass Ihre App, die auf einem typischen Gerät installiert ist, jede Stunde ein Integritäts-Token anfordert.

Wenn Sie recentDeviceActivity aktivieren, hat das Feld deviceIntegrity zwei Werte:

deviceIntegrity: {
  deviceRecognitionVerdict: ["MEETS_DEVICE_INTEGRITY"]
  recentDeviceActivity: {
    // "LEVEL_2" is one of several possible values.
    deviceActivityLevel: "LEVEL_2"
  }
}

Prüfen Sie zuerst die Daten, um die typischen Geräteaktivitätsniveaus für Ihre App auf allen Ihren Geräten zu ermitteln. Anschließend können Sie festlegen, wie Ihre App reagieren soll, wenn ein Gerät zu viele Anfragen sendet. Wenn die Aktivität etwas zu hoch ist, kannst du den Nutzer bitten, es später noch einmal zu versuchen. Wenn die Aktivität sehr hoch ist, sollten Sie möglicherweise strengere Maßnahmen ergreifen.

Standard- und klassische Anfragen

Bei der Implementierung von Play Integrity müssen Sie die beiden Arten von Anfragen berücksichtigen. In den meisten Fällen sollten Sie Standardanfragen verwenden, um die schnellste Antwort zu erhalten. Klassische Anfragen sollten verwendet werden, wenn eine neu generierte Anfrage an den Attestierungsdatensatz des Geräts erforderlich ist.

Klassische Anfrage

Standardanfrage

Anfragen dauern länger und sollten seltener gestellt werden.

Beispielsweise kann es gelegentlich vorkommen, dass Sie prüfen möchten, ob eine Aktion mit hohem Wert oder sensibler Natur echt ist.

Verwenden Sie die Funktion nur selten.

Anfragen haben eine niedrige Latenz und können bei Bedarf verwendet werden.

Eine Standardanfrage besteht aus zwei Teilen:

  • Integritätstokenanbieter vorbereiten (einmalig)
  • Integritätstoken (auf Anfrage) anfordern

On-Demand-Nutzung

Weitere Informationen zu standardmäßigen und klassischen Anfragen finden Sie in der Play Integrity-Dokumentation.

Implementierung

So starten Sie mit der Play Integrity API:

Standardmäßig erlaubt die Play Integrity API bis zu 10.000 Anfragen pro App und Tag. Wenn Sie das Tageslimit für Anfragen erhöhen möchten, folgen Sie dieser Anleitung. Damit Sie die maximale Anzahl von Anfragen pro Tag erhöhen können, muss die Play Integrity API in Ihrer App korrekt implementiert sein und Ihre App muss zusätzlich zu allen anderen Vertriebskanälen bei Google Play verfügbar sein.

Hinweise zur Play Integrity API

Automatischer Integritätsschutz (API >= 23)

Der automatische Integritätsschutz ist ein Dienst zum Schutz vor Manipulation von Code, der Ihre App vor Integritätsmissbrauch in Form von nicht autorisierter Modifizierung und Weitergabe schützt. Er funktioniert auch ohne Datenverbindung und erfordert weder Maßnahmen des Entwicklers vor dem Testen noch eine Backend-Server-Integration.

So trägt dies dazu bei, Betrug zu vermeiden

Wenn Sie den automatischen Integritätsschutz aktivieren, fügt Google Play dem Code Ihrer App Prüfungen hinzu und erschwert mithilfe von ausgefeilten Verschleierungs- und Anti-Reverse-Engineering-Techniken die Entfernung dieser Prüfungen. Während der Laufzeit wird geprüft, ob Ihre App manipuliert oder neu verteilt wurde:

  • Wenn die App die Überprüfung des Installationsprogramms nicht besteht, werden Nutzer aufgefordert, Ihre App bei Google Play herunterzuladen.
  • Besteht die App die Modifizierungsprüfung nicht, wird sie nicht ausgeführt.

So werden Nutzer besser vor geänderten Versionen Ihrer App geschützt.

Implementierung

Der automatische Integritätsschutz ist derzeit nur für ausgewählte Play-Partner verfügbar. Wenden Sie sich an den Google Play-Entwicklersupport, wenn die Funktion in Ihrer Google Play Console nicht verfügbar ist und Sie Zugriff darauf anfordern möchten.

Sie können den Schutz entweder beim Erstellen eines Release oder auf der Seite App-Integrität (Release > App-Integrität) aktivieren. Für den automatischen Integritätsschutz muss Ihre App die Play App-Signatur verwenden.

Testen Sie Ihre geschützte App, bevor Sie die Veröffentlichung auf die Produktionsversion umstellen.

Hinweise

  • Keine nicht geschützten App-Versionen veröffentlichen
  • Vorsicht beim Verwenden mehrerer Manipulationsschutz-Lösungen
  • Geschützte App vor der Produktionsveröffentlichung testen
  • Behalten Sie die Statistiken wie gewohnt im Blick, um eine Zunahme von Abstürzen zu erkennen.
  • Sie können gecrackte Versionen Ihrer App bei Google Play melden.