Sécuriser l'environnement

Google propose un ensemble d'API et de services pour vous aider à détecter si votre application est fonctionnant dans un environnement sûr et fiable. La pièce maîtresse est Play Integrity qui permet de vérifier l'authenticité des interactions en détectant les les interactions risquées et frauduleuses. En plus de l'intégrité de l'appli et de l'appareil, L'API Integrity propose désormais des informations sur les risques d'accès et d'accessibilité. Google Play Protect et l'activité récente de l'appareil. Pour renforcer davantage votre stratégie antifraude. La plate-forme Android propose des API pour des scénarios spécifiques. susceptibles d'être pertinents pour votre application.

API Play Integrity

Fonctionnalités de l'API Play Integrity

L'API Play Integrity vous permet de connaître l'état de sécurité de la appareil sur lequel son application s’exécute. Vous pouvez ainsi être sûr que le bon utilisateur accède à des informations sensibles.

Il vous permet de vérifier que les interactions et les requêtes de serveur proviennent de vos le véritable binaire de l'application dans un environnement fiable:

  • Binaire d'application authentique: déterminez si vous interagissez avec votre binaire non modifié reconnu par Google Play.
  • Installation Play authentique: déterminez si le compte utilisateur actuel est sous licence, c'est-à-dire que l'utilisateur a installé ou payé votre application ou votre jeu Google Play.
  • Appareil Android authentique: déterminez si votre application s'exécute sur un appareil Appareil Android équipé des services Google Play.
  • Absence de logiciel malveillant connu: déterminez si Google Play Protect est activé et s'il a détecté des applications risquées ou dangereuses installées sur l'appareil.
  • Faible risque d'accès par d'autres applications: déterminez si d'autres applications sont en cours d'exécution. qui pourraient capturer l'écran ou contrôler l'appareil et les entrées dans votre application.

En quoi cela permet-il de limiter la fraude ?

Lorsqu'un utilisateur effectue une action importante dans votre application, vous pouvez appeler la fonction Play API Integrity. Si ce n'est pas le cas, le serveur backend de votre application peut décider pour se défendre contre les attaques et la fraude. Par exemple, vous pouvez demander une validation supplémentaire de l'utilisateur ou refuser l'accès à des fonctionnalités sensibles.

Flux de décision de l'API Play Integrity

Risque d'accès à l'appli

Le signal Risque d'accès à l'application a été ajouté pour vous aider à évaluer si d'autres applications sur un appareil peuvent afficher et capturer l'écran lorsque votre application est en cours d'exécution ou d'accéder à votre appli à l'aide d'autorisations d'accessibilité. Validée les applications d'accessibilité sont automatiquement exclues de ces évaluations. Accès à l'application aide les développeurs à protéger leurs applications tout en préservant la confidentialité des utilisateurs, car l'application à l'origine de la demande n'obtient pas l'identité des applications installées et le verdict n'est pas associé à des identifiants d'utilisateurs ou d'appareils.

Capture d'écran d'un téléphone demandant à l'utilisateur de fermer certaines applications.

Grâce à cette collaboration, nous sommes en mesure d'obtenir les signaux nécessaires pour nous fournissent des insights plus détaillés pour mieux protéger nos clients.
– Nubank, partenaire en accès anticipé

Le risque d'accès à l'application présente différents niveaux de risque:

  • Une réponse de capture signifie que d'autres applications en cours d'exécution peuvent capturer l'écran.
  • Une réponse de contrôle signifie que d'autres applications en cours d'exécution peuvent contrôler le Ils peuvent donc à la fois capturer l'écran et contrôler les entrées dans votre application.

Le risque d'accès à l'application est désormais disponible en version bêta publique et sera généralisé dans les mois à venir.

Application du risque d'accès à l'application

Identifiez les actions sensibles ou importantes dans votre application ou jeu pour vous protéger avec l'API Play Integrity, au lieu de refuser complètement l'accès. Si possible, vérifiez la légitimité du trafic dangereux avant de lui permettre d'accéder aux actions importantes. Par exemple, lorsque le risque d'accès à l'application indique qu'une application en cours d'exécution pourrait capturer l'écran, demandez à l'utilisateur de désactiver ou de désinstaller les applications qui peuvent capturer l'écran avant de lui permettre d'accéder à une fonctionnalité que vous souhaitez protéger.

Ce tableau contient quelques exemples de résultats:

Exemple de réponse d'évaluation du risque d'accès à l'application Interprétation
appsDetected:
["KNOWN_INSTALLED"]
Seules les applis installées sont reconnues par Google Play ou préchargé sur la partition du système par le fabricant de l'appareil. Aucune application en cours d'exécution n'entraînerait la capture, ou superpose les évaluations.
appsDetected:
["KNOWN_INSTALLED",
"UNKNOWN_INSTALLED",
"UNKNOWN_CAPTURING"]
Des applications sont installées par Google Play ou préchargées sur le par le fabricant de l'appareil. D'autres applications en cours d'exécution et dont les autorisations sont activées pour afficher l'écran ou capturer d'autres entrées et sorties.
appsDetected:
["KNOWN_INSTALLED",
"KNOWN_CAPTURING",
"UNKNOWN_INSTALLED",
"UNKNOWN_CONTROLLING"]
Il y a Play ou un système en cours d'exécution et dont les autorisations sont activées qui pour afficher l'écran ou capturer d'autres entrées et sorties. D'autres applications en cours d'exécution ont des autorisations activées qui permet de contrôler l'appareil et de contrôler directement les entrées votre application.
appAccessRiskVerdict: {} Le risque d'accès à l'application n'est pas évalué, car une exigence nécessaire a été vous avez manqué. Par exemple, l'appareil n'était pas suffisamment fiable.

Signal Play Protect

Le signal Play Protect indique à votre application si Play Protect est activé et si des applications malveillantes connues sont installées sur l'appareil.

environmentDetails:{
  playProtectVerdict: "NO_ISSUES"
}

Si les logiciels malveillants sont particulièrement préoccupants pour votre application ou pour vos utilisateurs données, vous pouvez vérifiez cette évaluation et demandez à vos utilisateurs d'activer Play Protect ou de supprimer avant de continuer.

Activer la boîte de dialogue Play Protect

playProtectVerdict peut avoir une des valeurs suivantes :

Évaluation Explication Action recommandée

NO_ISSUES

Play Protect est activé et n'a détecté aucun problème d'application sur la appareil.

Play Protect est activé et n'a détecté aucun problème. Aucune action de l'utilisateur n'est donc obligatoire.

NO_DATA

Play Protect est activé, mais aucune analyse n'a encore été effectuée. La l'appareil ou l'application Play Store ont peut-être été réinitialisés récemment.

Play Protect est activé et n'a détecté aucun problème. Aucune action de l'utilisateur n'est donc obligatoire.

POSSIBLE_RISK

Play Protect est désactivé.

Play Protect est activé et n'a détecté aucun problème. Aucune action n'est donc requise de la part de l'utilisateur. est obligatoire.

MEDIUM_RISK

Play Protect est activé et a détecté des applis potentiellement dangereuses installé sur l'appareil.

En fonction de votre tolérance au risque, vous pouvez demander à l'utilisateur de lancer Play Protect et de prendre les mesures nécessaires en fonction des avertissements Play Protect. Si l'utilisateur ne peuvent pas remplir ces conditions, vous pouvez les bloquer action.

HIGH_RISK

Play Protect est activé et a détecté des applis dangereuses installées sur l'appareil.

En fonction de votre tolérance au risque, vous pouvez demander à l'utilisateur de lancer Play Protect et de prendre les mesures nécessaires en fonction des avertissements Play Protect. Si l'utilisateur ne peuvent pas remplir ces conditions, vous pouvez les empêcher l'action du serveur.

UNEVALUATED

L'évaluation Play Protect n'a pas été menée.

Cela pourrait se produisent pour plusieurs raisons, dont les suivantes:

  • L'appareil n'est pas suffisamment fiable.
  • Jeux uniquement: le compte utilisateur n'est pas LICENSED.

Activité récente de l'appareil

Vous pouvez aussi activer l'activité récente de l'appareil pour savoir combien de fois votre appli a demandé un jeton d'intégrité sur un appareil spécifique au cours de la dernière heure. Toi peut utiliser l'activité récente de l'appareil pour protéger votre appli contre les imprévus, les appareils hyperactifs qui pourraient indiquer une attaque active. Vous pouvez décider du niveau d'approbation de chaque niveau d'activité récent de l'appareil en fonction du nombre nombre de fois où vous pensez que votre appli installée sur un appareil standard demandera une vérification de l'intégrité chaque heure.

Si vous acceptez de recevoir des recentDeviceActivity, le champ deviceIntegrity ont deux valeurs:

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

Tout d’abord, vous devez vérifier les données pour voir quels sont les niveaux d’activité typiques des appareils pour votre application sur tous vos appareils. Vous pouvez ensuite décider comment votre application doit répondre lorsqu'un appareil envoie trop de requêtes. Si l'activité est un un peu élevé, vous pouvez demander à l'utilisateur de réessayer plus tard. Si l'activité est très élevé, vous devrez peut-être prendre des mesures coercitives plus strictes.

Requêtes standards et requêtes classiques

Lorsque vous implémentez Play Integrity, il est important de prendre en compte les deux types de requêtes. Dans la plupart des cas, vous devez utiliser des requêtes standards. pour fournir la réponse le plus rapidement possible. Utilisez les requêtes classiques lorsque vous une requête nouvellement générée sur l'enregistrement d'attestation d'appareil est nécessaire.

Requête classique

Requête standard

Les demandes prennent plus de temps et doivent être effectuées moins fréquemment.

Par exemple, pour vérifier de temps en temps si une annonce une action sensible est authentique.

Utilisation peu fréquente.

Les requêtes ont une faible latence et peuvent être utilisées à la demande.

Une requête standard comprend deux étapes :

  • Préparer le fournisseur de jetons d'intégrité (de façon ponctuelle)
  • Demander un jeton d'intégrité (à la demande)

Utilisation à la demande.

Lisez la documentation Play Integrity pour en savoir plus sur les métriques standards et les requêtes classiques.

Implémentation

Pour commencer à utiliser l'API Play Integrity:

Par défaut, l'API Play Integrity autorise jusqu'à 10 000 requêtes par appli et par jour. À si vous souhaitez augmenter le nombre maximal de requêtes par jour, suivez ces instructions. Être éligible à une augmentation de votre nombre maximal quotidien des requêtes, votre appli doit implémenter correctement l'API Play Integrity disponibles sur Google Play en plus de tout autre canal de distribution.

Points à retenir concernant l'API Play Integrity

Protection automatique de l'intégrité (niveau d'API 23 ou supérieur)

La protection automatique de l'intégrité est un service de protection contre la falsification du code protège votre appli contre les abus d'intégrité sous la forme d'activités non autorisées modification et redistribution. Elle fonctionne sans connexion de données et nécessite aucun travail de développement avant les tests et aucune intégration du serveur backend.

En quoi cela permet-il de limiter la fraude ?

Lorsque vous activez la Protection automatique de l'intégrité, Google Play ajoute des vérifications à votre et les rend difficiles à supprimer grâce à l'obscurcissement avancé et de rétro-ingénierie. Au moment de l'exécution, la protection vérifie application a été altérée ou redistribuée:

  • Si la vérification du programme d'installation échoue, les utilisateurs sont invités à télécharger votre application sur Google Play.
  • Si la vérification des modifications échoue, l'application n'est pas exécutée.

Cela permet de protéger les utilisateurs contre les versions modifiées de votre application.

Implémentation

La Protection automatique de l'intégrité n'est disponible que pour certains partenaires Play en temps réel. Contactez le service d'assistance pour les développeurs Google Play si la fonctionnalité n'est pas disponible dans votre Google Play Console et que vous souhaitez y accéder.

Vous pouvez activer la protection lors de la création d'une version ou activer l'application Intégrité (Publier > Intégrité de l'appli). Intégrité automatique nécessite que votre application utilise le service Signature d'application Play.

Assurez-vous de tester votre application protégée avant de promouvoir sa version sur production.

À retenir

  • Ne pas publier de versions d'application non protégées
  • Être vigilant lorsque vous associez plusieurs solutions de protection contre la falsification
  • Tester votre application protégée avant de la publier en production
  • Surveillez les statistiques normalement pour détecter toute augmentation du nombre de plantages
  • Vous pouvez signaler les versions craquées de votre application sur Google Play