Sécuriser les activités sensibles

Ce document décrit les méthodes de surveillance des activités sensibles, telles que les connexions utilisateur et les achats en ligne.

SIGNALEMENT_SÉCURISÉ

FLAG_SECURE est un indicateur de fenêtre qui indique à Android de ne pas autoriser les captures d'écran ou d'afficher la vue de la fenêtre sur un écran non sécurisé (tel que la diffusion de l'écran). Cela est utile pour les applications qui doivent protéger des informations sensibles, telles que les applications bancaires ou les gestionnaires de mots de passe. Lorsqu'une fenêtre est signalée avec FLAG_SECURE, Android empêche la capture d'écran et l'affichage de la fenêtre sur un écran non sécurisé, comme un téléviseur ou un projecteur. Cela permet d'empêcher des personnes non autorisées d'accéder aux informations affichées dans la fenêtre.

En quoi cela permet-il de limiter 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 en arrière-plan, vous pouvez utiliser FLAG_SECURE. Une fois la capture d'écran effectuée, l'image obtenue est vide.

FLAG_SECURE facilite également 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 contenant les informations que vous souhaitez protéger, 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
);

pour réussir votre lancement

Il est important de noter que cette approche n'est pas fiable pour empêcher les attaques par superposition. Dans certains cas, elle ne prédit pas correctement si l'enregistrement d'écran est actif, mais il couvre la plupart des cas d'utilisation. Pour limiter les attaques par superposition, lisez la section suivante sur les autorisations HIDE_OVERLAY_WINDOWS.

MASQUER_LES_FENÊTRES_SUPERPOSITIONS

HIDE_OVERLAY_WINDOWS est une autorisation ajoutée dans Android 12 qui permet à votre application de désactiver les superpositions d'application. Dans Android 12, nous avons rendu plus difficile l'obtention de l'autorisation SYSTEM_ALERT_WINDOW, ce qui permet essentiellement à votre application de bloquer les superpositions d'applications tierces.

En quoi cela permet-il de limiter la fraude ?

Lorsque vous activez l'autorisation HIDE_OVERLAY_WINDOWS, vous désactivez l'affichage de superpositions d'application sur votre application. Cette autorisation fournit un mécanisme de protection contre les attaques par technique de dissimulation (cloaking).

Implémentation

Pour activer cette autorisation, ajoutez HIDE_OVERLAY_WINDOWS au fichier manifeste de votre projet.

pour réussir votre lancement

Comme pour toute autorisation, vous devez faire confiance à toute application superposée au moins autant que toute autre application installée sur l'appareil. En d'autres termes, votre application ne doit pas autoriser d'autres applications à superposer des éléments, sauf si vous savez qu'elle est fiable. Autoriser une application à se superposer à d'autres applications peut être dangereuse, car elle peut voler des mots de passe ou lire des messages.