Die Umgebung schützen

Google bietet eine Reihe von APIs und Diensten, mit denen Sie erkennen können, ob Ihre Anwendung in einer sicheren und vertrauenswürdigen Umgebung ausgeführt wird. Das Herzstück ist die Play Integrity API. Sie hilft bei der Prüfung, ob Interaktionen echte Interaktionen sind, indem sie potenziell riskante und betrügerische Interaktionen erkennt. Zusätzlich zur App- und Geräteintegrität bietet die Play Integrity API jetzt Informationen zu Risiken bei Zugriff und Barrierefreiheit, zu Google Play Protect und zu aktuellen Geräteaktivitäten. Um Ihre Betrugsbekämpfungsstrategie weiter zu härten, 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 kannst du den Sicherheitsstatus des Geräts ermitteln, auf dem die App ausgeführt wird. So können Sie sicher sein, dass die richtigen Nutzer auf vertrauliche Informationen zugreifen.

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

  • Echtes App-Binärprogramm: Prüfen Sie, ob Sie mit Ihrem unveränderten Binärprogramm interagieren, das Google Play erkennt.
  • Echte Play-Installation: Prüfe, ob das aktuelle Nutzerkonto lizenziert ist, was bedeutet, dass der Nutzer deine App oder dein Spiel bei Google Play installiert oder dafür bezahlt 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 ein potenzielles Risiko darstellen.
  • Geringes Risiko des Zugriffs durch andere Apps: Prüfen Sie, ob andere Apps ausgeführt werden, die möglicherweise den Bildschirm aufnehmen oder das Gerät und Eingaben in Ihrer App steuern könnten.

So trägt dies zur Eindämmung von Betrug bei

Wenn ein Nutzer eine wichtige Aktion in deiner App ausführt, kannst du die Play Integrity API aufrufen. Ist dies nicht der Fall, kann der Back-End-Server Ihrer Anwendung entscheiden, wie er vor Angriffen und Betrug geschützt werden soll. Sie können beispielsweise eine zusätzliche Nutzerbestätigung anfordern oder den Zugriff auf vertrauliche Funktionen verweigern.

Entscheidungsablauf der Play Integrity API

Risiko des App-Zugriffs

Das Signal App-Zugriffsrisiko wurde eingeführt, damit Sie beurteilen können, ob andere Apps auf einem Gerät möglicherweise den Bildschirm sehen und aufnehmen, wenn Ihre App ausgeführt wird oder über Berechtigungen für Bedienungshilfen auf Ihre App zugreift. Bestätigte Bedienungshilfen-Apps werden automatisch aus diesen Ergebnissen ausgeschlossen. Das Risiko des App-Zugriffs hilft Entwicklern, ihre Apps zu schützen und gleichzeitig den Datenschutz der Nutzer zu wahren, da die anfragende App die Identität der installierten Apps nicht abruft und das Ergebnis nicht mit Nutzer- oder Geräte-IDs verknüpft ist.

Screenshot des Smartphones, auf dem der Nutzer bestimmte Apps schließen muss

Dank dieser gemeinsamen Bemühungen sind wir in der Lage, die erforderlichen Signale zu erhalten, mit denen wir tiefere Einblicke gewinnen und unsere Kunden effektiver schützen können.
– Nubank, Early Access-Partner

Das App-Zugriffsrisiko hat unterschiedliche Risikostufen:

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

Risiko von App-Zugriffen ist jetzt als öffentliche Betaversion verfügbar und wird in den kommenden Monaten allgemein verfügbar gemacht.

Durchsetzung von App-Zugriffsrisiken

Ermittle hochwertige oder vertrauliche Aktionen in deiner App oder deinem Spiel, die geschützt werden sollen, mit der Play Integrity API, anstatt den Zugriff direkt zu verweigern. Wenn möglich, sollten Sie riskante Zugriffe herausfordern, bevor Sie hochwertige Aktionen fortsetzen. Wenn das Risiko des App-Zugriffs beispielsweise darauf hindeutet, dass eine App ausgeführt wird, die den Bildschirm erfassen könnte, bitten Sie den Nutzer, Apps, die den Bildschirm erfassen können, zu deaktivieren oder zu deinstallieren, bevor Sie mit den Funktionen fortfahren können, die Sie schützen möchten.

Diese Tabelle enthält einige Beispielergebnisse:

Beispiel für eine Antwort auf das Ergebnis zum Risiko des App-Zugriffs Auslegung
appsDetected:
["KNOWN_INSTALLED"]
Es sind nur Apps installiert, die von Google Play erkannt oder vom Gerätehersteller auf der Systempartition vorinstalliert werden. Es werden keine Apps ausgeführt, die zu Erfassungs-, Steuerungs- oder Overlays führen würden.
appsDetected:
["KNOWN_INSTALLED",
"UNKNOWN_INSTALLED",
"UNKNOWN_CAPTURING"]
Apps werden von Google Play installiert oder vom Gerätehersteller auf der Systempartition vorinstalliert. Es werden andere Anwendungen ausgeführt, für die Berechtigungen aktiviert sind, die zum Ansehen des Bildschirms oder zum Erfassen anderer Ein- und Ausgaben verwendet werden können.
appsDetected:
["KNOWN_INSTALLED",
"KNOWN_CAPTURING",
"UNKNOWN_INSTALLED",
"UNKNOWN_CONTROLLING"]
Es wird Play oder ein System ausgeführt, für das Berechtigungen aktiviert sind, die zum Ansehen des Bildschirms oder zum Erfassen anderer Ein- und Ausgaben verwendet werden können. Es werden auch andere Apps mit aktivierten Berechtigungen ausgeführt, mit denen das Gerät und die Eingaben in der App direkt gesteuert werden können.
appAccessRiskVerdict: {} Das App-Zugriffsrisiko wird nicht bewertet, da eine erforderliche Anforderung nicht erfüllt wurde. Beispielsweise war das Gerät nicht vertrauenswürdig genug.

Play Protect-Signal

Das Play Protect-Signal teilt Ihrer App mit, ob Play Protect aktiviert ist und ob auf dem Gerät bekanntermaßen schädliche Apps gefunden wurden.

environmentDetails:{
  playProtectVerdict: "NO_ISSUES"
}

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

Play Protect-Dialogfeld aktivieren

playProtectVerdict kann einen der folgenden Werte haben:

Ergebnis Erklärung Empfohlene Maßnahme

NO_ISSUES

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

Play Protect ist aktiviert und hat keine Probleme festgestellt, sodass keine Nutzeraktion erforderlich ist.

NO_DATA

Play Protect ist aktiviert, aber es wurde noch kein Scan durchgeführt. Möglicherweise wurde das Gerät oder die Play Store App kürzlich zurückgesetzt.

Play Protect ist aktiviert und hat keine Probleme festgestellt, sodass keine Nutzeraktion erforderlich ist.

POSSIBLE_RISK

Play Protect ist deaktiviert.

Play Protect ist aktiviert und hat keine Probleme festgestellt, sodass keine Nutzeraktion erforderlich ist.

MEDIUM_RISK

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

Abhängig von deiner Risikotoleranz kannst du den Nutzer bitten, Play Protect zu starten und auf die Play Protect-Warnungen zu reagieren. Wenn der Nutzer diese Anforderungen nicht erfüllen kann, kannst du ihn für die Serveraktion blockieren.

HIGH_RISK

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

Abhängig von deiner Risikotoleranz kannst du den Nutzer bitten, Play Protect zu starten und auf die Play Protect-Warnungen zu reagieren. Wenn der Nutzer diese Anforderungen nicht erfüllen kann, kannst du ihn für die Serveraktion blockieren.

UNEVALUATED

Das Play Protect-Ergebnis wurde nicht bewertet.

Dafür kann es verschiedene Gründe geben, unter anderem:

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

Letzte Geräteaktivitäten

Sie können auch die letzten Geräteaktivitäten aktivieren. So erfahren Sie, wie oft Ihre App in der letzten Stunde ein Integritätstoken auf einem bestimmten Gerät angefordert hat. Sie können die letzte Geräteaktivität verwenden, um Ihre App vor unerwarteten, hyperaktiven Geräten zu schützen, die ein Hinweis auf einen aktiven Angriff sein könnten. Sie können entscheiden, wie vertrauenswürdig die letzten Aktivitätsstufen des Geräts sind. Das hängt davon ab, wie oft Ihre App voraussichtlich auf einem typischen Gerät pro Stunde ein Integritätstoken anfordert.

Wenn Sie den Empfang von 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"
  }
}

Zuerst solltest du die Daten überprüfen, um herauszufinden, wie hoch die typische Geräteaktivität für deine App auf allen deinen Geräten ist. Anschließend kannst du entscheiden, wie deine App reagieren soll, wenn ein Gerät zu viele Anfragen sendet. Wenn die Aktivität etwas hoch ist, sollten Sie die Nutzenden bitten, es später noch einmal zu versuchen. Wenn die Aktivität sehr hoch ist, sollten Sie strengere Maßnahmen ergreifen.

Standardmäßige und klassische Anfragen

Bei der Implementierung von Play Integrity ist es wichtig, die beiden Arten von Anfragen zu berücksichtigen. Für eine möglichst schnelle Antwort sollten Sie in den meisten Fällen Standardanfragen verwenden. Klassische Anfragen sollten verwendet werden, wenn eine neu generierte Anfrage für den Geräteattestierungseintrag benötigt wird.

Klassische Anfrage

Standardanfrage

Anfragen dauern länger und sollten seltener gestellt werden.

Zum Beispiel als gelegentliche einmalige Aktion, um zu prüfen, ob eine sehr wertvolle oder sensible Aktion echt ist.

Selten.

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

Eine Standardanfrage besteht aus zwei Teilen:

  • Anbieter von Integritätstokens vorbereiten (einmalig)
  • Integritätstoken anfordern (bei Bedarf)

On demand verwenden.

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

Implementierung

Erste Schritte mit der Play Integrity API:

Standardmäßig erlaubt die Play Integrity API bis zu 10.000 Anfragen pro App und Tag. Wenn Sie die maximale Anzahl von Anfragen pro Tag erhöhen möchten, folgen Sie dieser Anleitung. Damit du die maximale Anzahl von Anfragen pro Tag erhöhen kannst, muss deine App die Play Integrity API korrekt implementieren und neben 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 Manipulationen, der Ihre App vor Integritätsmissbrauch in Form von nicht autorisierter Änderung und Weitergabe schützt. Es funktioniert ohne Datenverbindung und erfordert vor dem Testen keine Entwicklerarbeit und keine Backend-Server-Integration.

So trägt dies zur Eindämmung von Betrug bei

Wenn du den automatischen Integritätsschutz aktivierst, fügt Google Play dem Code deiner App Prüfungen hinzu und erschwert die Entfernung dieser durch fortschrittliche Verschleierungs- und Anti-Reverse-Engineering-Techniken. Während der Laufzeit prüft die Schutzmaßnahme, ob deine App manipuliert oder weitergegeben wurde:

  • Wenn die Prüfung des Installationsprogramms fehlschlägt, werden Nutzer aufgefordert, deine App bei Google Play herunterzuladen
  • Wenn die Änderungsprüfung fehlschlägt, wird die App nicht ausgeführt

So sind Nutzer besser vor modifizierten Versionen Ihrer App geschützt.

Implementierung

Der automatische Integritätsschutz ist derzeit nur für ausgewählte Play-Partner verfügbar. Wende dich an den Google Play-Entwicklersupport, wenn die Funktion nicht in deiner Google Play Console verfügbar ist und du Interesse am Zugriff bekunden möchtest.

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 in Ihrer App die Play App-Signatur verwendet werden.

Testen Sie Ihre geschützte App unbedingt, bevor Sie den Release für die Produktion hochstufen.

Diese Aspekte solltest du berücksichtigen

  • Keine ungeschützten App-Versionen veröffentlichen
  • Vorsicht beim Verwenden mehrerer Manipulationsschutz-Lösungen
  • Geschützte App testen, bevor Sie sie als Produktionsversion veröffentlichen
  • Beobachte die Statistiken wie gewohnt auf Zunahme von Abstürzen.
  • Sie können gecrackte Versionen Ihrer App an Google Play melden