La biométrie est plus sûre – à propos de la façon dont les malwares volent les utilisateurs d’Android

Cet article a été inspiré par l’excellente présentation de Jan Seredynski lors de THS 2023.

La cybersécurité n’est pas une question binaire – il n’existe pas de solutions garantissant une sécurité à 100 %. En réalité, il s’agit davantage d’évaluer les risques et de choisir des solutions moins vulnérables aux attaques. Un exemple de cette évaluation dans le contexte bancaire est que la confirmation des transactions via des applications mobiles est plus sécurisée que les codes SMS populaires, bien que ces dernières soient également sujettes à des méthodes d’attaque efficaces. Il peut s’agir notamment de fausses applications se faisant passer pour bancaires, ou d’applications exploitant des failles (ex. Pegasus). Cependant, une des attaques les plus intéressantes sur la mobilité bancaire repose sur l’installation sur le téléphone de la victime d’une application apparemment innocente, qui abuse des permissions d’Android.

Le schéma d’infection commence souvent lorsque la victime installe une application provenant d’une source non fiable. Elle est encouragée à le faire par des informations indiquant que cette version qu’elle installe offre gratuitement des fonctionnalités premium déverrouillées.

youtube premium malware
duolingo premium malware

Malheureusement, il arrive aussi que des applications disponibles sur le Google Play Store officiel s’avèrent être malveillantes. Initialement, elles ne contiennent aucune fonctionnalité nuisible mais les acquièrent lors de mises à jour ultérieures. Les cybercriminels créent des applications à l’apparence inoffensive. Par exemple, une simple application de lampe de poche ou un outil de gestion de la caméra. Ces applications demandent des permissions pour diverses fonctionnalités de l’appareil. Pendant plusieurs mois, elles fonctionnent selon les déclarations, sans poser de problèmes. Les utilisateurs leur donnent souvent des avis positifs, ce qui renforce la réputation de l’application et incite d’autres utilisateurs à la télécharger. Cependant, après un certain temps, les cybercriminels modifient l’application, ajoutant un code malveillant ou changeant les permissions pour pouvoir voler des données. Cet ajout différé de code malveillant permet aux criminels de franchir avec succès le processus de vérification de Google Play.

latarka malware w google play

Comment fonctionnent les services d’accessibilité et les superpositions dans le contexte des malwares?

Les services d’accessibilité (Accessibility Services) permettent entre autres de lire à haute voix les informations affichées à l’écran du téléphone et de remplir des champs de formulaires pour l’utilisateur.

działanie ułtawień dostępu

Une application malveillante utilisant les mécanismes d’accessibilité destinés aux personnes en situation de handicap peut enregistrer tout ce qui se passe à l’écran, obtenant ainsi l’accès aux codes saisis. Cela lui permet de connaître le mot de passe de l’application mobile et de gérer elle-même les transferts et leur confirmation. L’octroi de permissions suspectes se fait en utilisant une astuce ingénieuse, à savoir les superpositions d’écran (Overlay). L’utilisateur n’est souvent même pas conscient qu’il accorde des permissions dangereuses.

Un exemple des « Overlay Services » est la bulle de message apparaissant avec une notification Messenger.

działanie dymków facebook

Dans la variante montrée ci-dessous, la superposition d’un écran faux couvre une partie de l’écran réel (le cachant à la vue de l’utilisateur), puis demande à la victime de fournir des informations (généralement confidentielles, telles que des données bancaires, des codes PIN ou des réponses à des questions de sécurité). La victime pense qu’elle fournit ses informations confidentielles à une application de confiance, mais en réalité, elle les envoie directement à l’attaquant.

jak malware wykradana przez nakładki dane dostępowe użytkownika

Le but de cette variante d’attaques utilisant les superpositions d’écran est souvent la banque mobile, les fintechs, le commerce électronique, les jeux ou les applications de détail. Une fois que l’attaquant connaît le code PIN de confirmation de transaction, il peut, en utilisant les services d’accessibilité, ouvrir la véritable application bancaire et s’y connecter automatiquement, ordonner et confirmer un transfert.


Exemples d’attaques réelles passées

  • BrasDex est un type de malware ciblant les systèmes Android, avec un accent particulier sur les applications bancaires au Brésil. Lorsqu’il infecte un appareil, BrasDex identifie et attaque uniquement certaines applications. Il utilise les fonctionnalités d’accessibilité d’Android pour surveiller l’écran, contrôler le toucher, gérer le clavier et effectuer d’autres actions malveillantes. Le principal objectif de BrasDex est de voler des données de connexion lors de l’utilisation d’applications bancaires et d’effectuer des transactions à l’insu de l’utilisateur.
brasdex
  • ERMAC 2.0 est un trojan pour la plateforme Android, conçu pour voler des données de connexion des utilisateurs et les transmettre aux cybercriminels. Les voleurs utilisent ces données pour prendre le contrôle des comptes bancaires et cryptomonnaies des victimes, et pour réaliser diverses fraudes. Un exemple typique de son fonctionnement était une fausse application trouvée sur le site légitime d’un fournisseur de nourriture. Cette fausse application demandait jusqu’à 43 permissions, y compris l’accès aux services d’accessibilité et aux superpositions, ce qui permet de voler des données de connexion.
ermac
  • Xenomorph est un malware qui continue d’être utilisé dans les attaques, bien qu’il ait fait ses débuts il y a plus de deux ans. Initialement, il était distribué via Google Play Store comme une application améliorant les performances. Les utilisateurs installant ces applications infectaient inconsciemment leurs appareils, pensant que l’amélioration des performances nécessitait de telles permissions étendues. Xenomorph a la capacité d’intercepter les messages texte, permettant de collecter des données utilisées pour confirmer les transactions. De plus, il utilise les permissions d’accessibilité pour créer des superpositions discrètes à l’écran.
xenomorph

Conseils pour les développeurs pour se défendre contre les logiciels malveillants utilisant les services d’accessibilité :

  • Bloquez tous les services d’accessibilité : Cette option est la moins conviviale pour les utilisateurs en situation de handicap, mais c’est l’un des moyens les plus simples de se protéger contre l’abus des permissions.
  • N’autorisez que les services sur liste blanche : Une approche plus conviviale pour l’accessibilité, utilisant une API pour répertorier tous les Services d’Accessibilité, identifier leurs identifiants de paquet, et permettre uniquement à certains services de confiance de fonctionner via l’application. Cependant, les applications installées de l’extérieur peuvent imiter n’importe quel identifiant de paquet, donc cette défense protège uniquement contre les menaces provenant du Google Play Store.
  • N’autorisez que les services avec des permissions raisonnables : Vous pouvez utiliser le flag (android:importantForAccessibility) qui identifie les éléments de l’interface utilisateur importants pour l’accessibilité. Réglez-le sur « false » pour tous les champs sensibles dans votre application et limitez les services d’accessibilité qui déclarent être intéressés par la lecture des champs non importants. Vous pouvez le faire en vérifiant la propriété de flag du service et en validant FLAG_INCLUDE_NOT_IMPORTANT_VIEWS.
  • Utilisez la biométrie et les dialogues système : Exiger et utiliser l’authentification biométrique pour les transactions importantes peut aider à empêcher les cybercriminels d’utiliser les services d’accessibilité pour effectuer des transactions non autorisées dans l’application utilisateur. Exiger aussi que les transactions soient effectuées via des dialogues système peut bloquer efficacement les superpositions. Les nouvelles versions d’Android ne permettent pas aux superpositions de fonctionner sur les fenêtres système.
  • Utilisez Android API 34 : Cette mise à jour garantit que seuls les services d’accessibilité vérifiés peuvent voir et accéder aux informations sensibles dans l’application.

Recommandations pour détecter les superpositions

Google a introduit plusieurs API utiles pour aider à détecter et contrer les attaques de malwares utilisant des superpositions :

  • API 9 : Lorsque l’option de filtrage des touchers est activée (setFilterTouchesWhenObscured(boolean)), le système ignore les touchers de l’utilisateur lorsque la fenêtre de vue est obscurcie par une superposition. Il s’agit ici d’une autre fenêtre visible (ou toast/dialogue/message) située à l’endroit du toucher.
  • API 29 : Cette mise à jour permet une détection plus précise des touchers partiellement obscurcis en utilisant le flag (FLAG_WINDOW_IS_PARTIALLY_OBSCURED), qui indique quand une fenêtre reçoit un événement de mouvement partiellement ou totalement obscurci par une autre fenêtre visible. Il est important de noter que l’événement est marqué par un flag si le mouvement ne passe pas directement à travers la superposition.
  • API 31 : Cette mise à jour offre aux développeurs l’option setHideOverlayWindows(true), qui cache et retire automatiquement les superpositions non-systèmes. C’est actuellement l’approche la plus efficace et efficiente.

En tant qu’utilisateur moyen, il est important de savoir que les services d’accessibilité (Accessibility Services) n’ont pas accès aux données biométriques et ne peuvent pas les imiter. Pour cette raison, il est recommandé d’utiliser des méthodes biométriques plutôt que des codes PIN/mots de passe traditionnels. Se connecter à des applications avec une empreinte digitale ou une reconnaissance faciale, ainsi que confirmer des transactions avec ces méthodes, est bien plus sécurisé. La biométrie ajoute une couche de sécurité supplémentaire car elle est unique pour chaque utilisateur et plus difficile à copier ou usurper que des mots de passe ou codes PIN traditionnels. Par conséquent, particulièrement dans le contexte des opérations financières et de l’accès à des applications importantes, l’utilisation de technologies biométriques est fortement conseillée.

Update 1: Un lecteur non-spécialiste a remarqué que de nouvelles variantes de trojans sont déjà apparues, intégrant des mécanismes visant à inciter la victime à utiliser une autre méthode d’authentification que la biométrie. Le trojan clique automatiquement sur le bouton « annuler » lorsqu’il détecte une authentification biométrique, forçant ainsi l’utilisateur à utiliser des méthodes alternatives dont les données peuvent être interceptées.

Chcesz wiedzieć więcej?

Zapisz się i bądź informowany o nowych postach (zero spamu!). Dodatkowo otrzymasz, moją prywatną listę 15 najbardziej przydatnych narzędzi (wraz z krótkim opisem), których używam przy testach penetracyjnych.

Nigdy nie podam, nie wymienię ani nie sprzedam Twojego adresu e-mail. W każdej chwili możesz zrezygnować z subskrypcji.

Taggé , , , , , , , , .Mettre en favori le Permaliens.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *