Nouveautés concernant les produits

Améliorer la sécurité Android : empêcher les logiciels malveillants d'espionner les données de votre application

Temps de lecture : 2 min

La sécurité est un élément fondamental d'Android. Nous collaborons avec vous pour sécuriser la plate-forme et protéger les données des utilisateurs en proposant des outils et des fonctionnalités de sécurité puissants, comme Credential Manager et FLAG_SECURE. Chaque version d'Android apporte des améliorations en termes de performances et de sécurité. Avec Android 16, vous pouvez prendre des mesures simples et importantes pour renforcer les défenses de votre application. Regardez notre vidéo ou poursuivez votre lecture pour en savoir plus sur nos protections améliorées pour les API d'accessibilité.

 

 

Protégez votre application contre l'espionnage avec une seule ligne de code

Nous avons constaté que des acteurs malveillants tentent parfois d'exploiter les fonctionnalités de l'API d'accessibilité pour lire des informations sensibles, comme des mots de passe et des informations financières, directement à l'écran et manipuler l'appareil d'un utilisateur en injectant des appuis. Pour lutter contre ce phénomène, Android 16 offre une nouvelle défense puissante en une seule ligne de code : accessibilityDataSensitive.

L'indicateur accessibilityDataSensitive vous permet de marquer explicitement une vue ou un composable comme contenant des données sensibles. Lorsque vous définissez cet indicateur sur true dans votre application, vous empêchez les applications potentiellement malveillantes d'accéder aux données de votre vue sensible ou d'effectuer des interactions sur celle-ci. Voici comment cela fonctionne : toute application demandant une autorisation d'accessibilité qui ne s'est pas explicitement déclarée comme un outil d'accessibilité légitime (isAccessibilityTool=true) se voit refuser l'accès à cette vue.

Ce changement simple, mais efficace, permet d'empêcher les logiciels malveillants de voler des informations et d'effectuer des actions non autorisées, sans affecter l'expérience des utilisateurs avec les outils d'accessibilité légitimes. Remarque : Si une application n'est pas un outil d'accessibilité, mais qu'elle demande des autorisations d'accessibilité et définit isAccessibilityTool=true, Play la refusera et Google Play Protect la bloquera sur les appareils des utilisateurs. 

Sécurité automatique et améliorée pour la protection setFilterTouchesWhenObscured

Nous avons déjà intégré cette nouvelle fonctionnalité de sécurité accessibilityDataSensitive à la méthode setFilterTouchesWhenObscured existante. 

Si vous utilisez déjà setFilterTouchesWhenObscured(true) pour protéger votre application contre le tapjacking, vos vues sont automatiquement traitées comme des données sensibles pour l'accessibilité. En améliorant la méthode setFilterTouchesWhenObscured avec les protections accessibilityDataSensitive, nous offrons instantanément à tous une couche de défense supplémentaire sans aucun travail supplémentaire.

image.png

Premiers pas

Nous vous recommandons d'utiliser setFilterTouchesWhenObscured ou l'indicateur accessibilityDataSensitive sur tout écran contenant des informations sensibles, y compris les pages de connexion, les flux de paiement et toute vue affichant des données personnelles ou financières.

Pour Jetpack Compose

setFilterTouchesWhenObscuredaccessibilityDataSensitive

 

val composeView = LocalView.current DisposableEffect(Unit) { composeView.filterTouchesWhenObscured = true onDispose { composeView.filterTouchesWhenObscured = false } }

 

Utilisez le modificateur semantics pour appliquer la propriété sensitiveData à un composable.

BasicText { text = “Your password”,

            modifier = Modifier.semantics {

                sensitiveData = true }}

 

 

Pour les applications basées sur les vues

Dans votre mise en page XML, ajoutez l'attribut approprié à la vue sensible.

setFilterTouchesWhenObscuredaccessibilityDataSensitive

 

<TextView android:filterTouchesWhenObscured="true" />

 

 

<TextView android:accessibilityDataSensitive="true" />

 

Vous pouvez également définir la propriété par programmation en Java ou en Kotlin :

setFilterTouchesWhenObscuredaccessibilityDataSensitive

 

myView.filterTouchesWhenObscured = true;

 

 

myView.isAccessibilityDataSensitive = true;

 

 

myView.setFilterTouchesWhenObscured(true)

 

 

myView.setAccessibilityDataSensitive(true);

 

Pour en savoir plus sur les indicateurs accessibilityDataSensitive et setFilterTouchesWhenObscured, consultez le guide sur le tapjacking.

Collaborer avec les développeurs pour protéger les utilisateurs

Nous avons travaillé avec les développeurs dès le début pour nous assurer que cette fonctionnalité répond aux besoins réels et s'intègre facilement à votre workflow.

image.png

"Nous avons toujours accordé la priorité à la protection des données financières sensibles de nos clients, ce qui nous a obligés à créer notre propre couche de protection contre les logiciels malveillants basés sur l'accessibilité. Revolut soutient fortement l'introduction de cette nouvelle API Android officielle, car elle nous permet de nous éloigner progressivement de notre code personnalisé au profit d'une défense de plate-forme robuste et à une seule ligne."
– Vladimir Kozhevnikov, ingénieur Android chez Revolut

Vous pouvez jouer un rôle essentiel dans la protection de vos utilisateurs contre les attaques malveillantes basées sur l'accessibilité en adoptant ces fonctionnalités. Nous encourageons tous les développeurs à intégrer ces fonctionnalités dans leurs applications pour protéger les utilisateurs. 

Ensemble, nous pouvons créer une expérience plus sécurisée et plus fiable pour tous.

Écrit par :

Lire la suite