Ce document explique comment surveiller les activités sensibles, telles que les connexions utilisateur et les achats en ligne.
FLAG_SECURE
FLAG_SECURE
est un indicateur de fenêtre qui indique à Android de ne pas autoriser les captures d'écran ni l'affichage de la vue de la fenêtre sur un écran non sécurisé (comme la diffusion de l'écran). Cela est utile pour les applications qui doivent protéger des informations sensibles, comme les applications bancaires ou les gestionnaires de mots de passe. Lorsqu'une fenêtre est signalée avec FLAG_SECURE
, Android empêche la prise de captures d'écran et l'affichage de la fenêtre sur un écran non sécurisé, tel qu'un téléviseur ou un projecteur. Cela permet de protéger les informations affichées dans la fenêtre contre tout accès non autorisé.
Comment cela permet d'atténuer la fraude
Une application ou une entité malveillante peut récupérer des captures d'écran en arrière-plan. Lorsque l'état de votre application passe à l'arrière-plan, FLAG_SECURE
peut être utilisé. Lorsque la capture d'écran est effectuée, l'image obtenue est vide.
FLAG_SECURE
est également utile pour les cas d'utilisation du partage d'écran à distance. Il ne s'agit pas toujours d'une application malveillante qui récupère des captures d'écran. Des applications de partage d'écran légitimes sont également couramment utilisées dans des situations frauduleuses.
Implémentation
Pour les vues dont vous souhaitez protéger les informations, ajoutez les éléments suivants :
Kotlin
window?.setFlags( WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE )
Java
window.setFlags( WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE );
Bonnes pratiques
Il est important de noter que cette approche n'est pas fiable pour empêcher les attaques par superposition. Dans certains cas, il ne prédit pas correctement si l'enregistrement d'écran est actif, mais il couvre la plupart des cas d'utilisation. Pour atténuer les attaques par superposition, lisez la section suivante sur les autorisations HIDE_OVERLAY_WINDOWS
.
HIDE_OVERLAY_WINDOWS
HIDE_OVERLAY_WINDOWS
est une autorisation ajoutée dans Android 12 qui permet à votre application de désactiver le dessin de calques d'application au-dessus d'elle. Dans Android 12, nous avons rendu plus difficile l'obtention de l'autorisation SYSTEM_ALERT_WINDOW
, ce qui permet à votre application de bloquer les calques des applications tierces.
Comment cela permet d'atténuer la fraude
Lorsque vous activez l'autorisation HIDE_OVERLAY_WINDOWS
, vous désactivez l'affichage des calques d'application au-dessus de votre application. Cette autorisation fournit un mécanisme de protection contre les attaques cloak and dagger.
Implémentation
Pour activer cette autorisation, ajoutez HIDE_OVERLAY_WINDOWS
au fichier manifeste de votre projet.
Bonnes pratiques
Comme pour toute autorisation, vous devez faire confiance à toute application de superposition au moins autant qu'à toute autre application sur l'appareil. En d'autres termes, votre application ne doit pas autoriser d'autres applications à dessiner des calques par-dessus, sauf si vous savez que l'autre application est fiable. Autoriser une application à se superposer à d'autres applications peut être dangereux, car elle peut voler des mots de passe ou lire des messages.