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
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.
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.
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.
playProtectVerdict
kann einen der folgenden Werte haben:
Ergebnis | Erklärung | Empfohlene Maßnahme |
---|---|---|
|
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. |
|
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. |
|
Play Protect ist deaktiviert. |
Play Protect ist aktiviert und hat keine Probleme festgestellt, sodass keine Nutzeraktion erforderlich ist. |
|
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. |
|
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. |
|
Das Play Protect-Ergebnis wurde nicht bewertet. Dafür kann es verschiedene Gründe geben, unter anderem:
|
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:
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:
- Aktiviere Antworten der Play Integrity API in der Google Play Console und stelle eine Verknüpfung zu einem Google Cloud-Projekt her.
- Binde die Play Integrity API in deine App ein.
- Entscheiden Sie, wie Sie mit den Ergebnissen umgehen.
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
- Es ist wichtig, dass du Fehler in den Antworten der Play Integrity API entsprechend handhabst. Folgen Sie dieser Anleitung zu Wiederholungs- und Erzwingungsstrategien basierend auf Fehlercodes.
- Die Play Integrity API bietet Testtools für Antworten.
- Wenn Sie sich das Integritätsergebnis von Ihrem Gerät ansehen möchten, folgen Sie dieser Anleitung.
- Lesen Sie die Sicherheitsaspekte, um mehr über empfohlene Vorgehensweisen bei der Verwendung der Play Integrity API zu erfahren.
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