En clair, cette vulnérabilité permet à une application malveillante de demander des autorisations tout en se faisant passer pour une application légitime. Un attaquant peut demander l'accès à toutes les autorisations, y compris les SMS, les photos, le microphone et le GPS, ce qui leur permet de lire des messages, d'afficher des photos, d'écouter les conversations et de suivre les mouvements de la victime.
L'attaque peut être conçue pour demander des autorisations, ce qui serait naturel pour différentes applications ciblées, afin de réduire les soupçons des victimes. Les utilisateurs ne sont pas conscients qu'ils donnent la permission au hacker et non à l'application authentique qu'ils pensent utiliser.
En exploitant cette vulnérabilité, une application malveillante installée sur l’appareil peut piéger l'utilisateur ; ainsi, lorsque vous cliquez sur l’icône d'une application légitime, c'est en fait une version illicite qui s’affiche à l’écran.
Lorsque la victime entre ses informations de connexion dans cette interface, des informations confidentielles sont immédiatement envoyées à l'attaquant, qui peut ensuite se connecter et contrôler les applications pouvant toucher à des informations sensibles.
La vulnérabilité a été nommée StrandHogg, vieux norrois désignant la tactique viking consistant à attaquer les zones côtières pour piller et détenir des personnes contre une rançon.
Une vulnérabilité déjà activement exploitée
« StrandHogg, unique car il permet des attaques sophistiquées sans avoir à rooter un appareil, utilise une faiblesse du système multitâche d'Android pour lancer des attaques puissantes qui permettent aux applications malveillantes de se faire passer pour n'importe quelle autre application sur l'appareil. Cet exploit est basé sur un paramètre de contrôle Android appelé "taskAffinity" qui permet à n'importe quelle application - y compris malveillante - d'assumer librement toute identité dans le système multitâche qu'elle souhaite.
« Promon a mené des recherches sur des logiciels malveillants réels qui exploitent cette faille grave et a découvert que les 500 applications les plus populaires (classées selon le baromètre 42 Matters) sont vulnérables, toutes les versions d'Android étant affectées.
« L'étude de Promon élargit considérablement les recherches menées par la Penn State University en 2015, où les chercheurs ont théoriquement décrit certains aspects de la vulnérabilité. Google, à l'époque, a rejeté la gravité de la vulnérabilité, mais Promon a des preuves tangibles que les pirates informatiques exploitent StrandHogg afin d'accéder aux appareils et aux applications ».
De son côté, Lookout, un fournisseur de sécurité mobile et un partenaire de Promon, a annoncé avoir trouvé 36 applications exploitant la vulnérabilité d'usurpation d'identité. Les applications malveillantes comprenaient des variantes du cheval de Troie bancaire BankBot. BankBot est actif depuis 2017 et des applications de la famille des logiciels malveillants ont été trouvées à plusieurs reprises dans le Google Play Market.
La vulnérabilité est plus grave dans les versions 6 à 10, qui selon Statista représentent environ 80% des téléphones Android dans le monde. Les attaques menées sur ces versions permettent aux applications malveillantes de demander des autorisations tout en se présentant comme des applications légitimes. Il n'y a aucune limite aux autorisations que ces applications malveillantes peuvent rechercher. L'accès aux messages texte, aux photos, au microphone, à l'appareil photo et au GPS fait partie des autorisations possibles. La seule défense d'un utilisateur est de cliquer sur « non » aux demandes.
Une affinité pour le multitâche
La vulnérabilité se trouve dans une fonction connue sous le nom de TaskAffinity, une fonctionnalité multitâche qui permet aux applications d'assumer l'identité d'autres applications ou tâches s'exécutant dans l'environnement multitâche. Les applications malveillantes peuvent exploiter cette fonctionnalité en définissant TaskAffinity pour une ou plusieurs de ses activités afin de correspondre au nom de package d'une application tierce de confiance. En combinant l'activité usurpée avec une activité allowTaskReparenting supplémentaire ou en lançant l'activité malveillante avec une Intent.FLAG_ACTIVITY_NEW_TASK, les applications malveillantes seront placées à l'intérieur et au-dessus de la tâche ciblée.
« Ainsi, l'activité malveillante détourne la tâche de la cible », expliquent les chercheurs de Promon. « La prochaine fois que l'application cible sera lancée à partir de Launcher, la tâche détournée sera signalée et l'activité malveillante sera visible. L'application malveillante n'a alors plus qu'à apparaître comme l'application cible pour lancer avec succès des attaques sophistiquées contre l'utilisateur. Il est possible de détourner une telle tâche avant même que l'application cible ne soit installée ».
Promon a déclaré que Google a supprimé les applications malveillantes de son Play Market, mais jusqu'à présent, la vulnérabilité semble ne pas avoir été corrigée dans toutes les versions d'Android. Les représentants de Google n'ont pas répondu aux questions visant à savoir quand la faille sera corrigée, le nombre d'applications Google Play détectées en train de l'exploiter ou le nombre d'utilisateurs finaux concernés. Les représentants se sont contentés de déclarer :
« Nous apprécions le travail des chercheurs et avons suspendu les applications potentiellement dangereuses qu'ils ont identifiées. Google Play Protect détecte et bloque les applications malveillantes, y compris celles utilisant cette technique. De plus, nous continuons d'enquêter afin d'améliorer les fonctionnalités de Google Play Protect pour mieux protéger les utilisateurs contre des problèmes similaires ».
StrandHogg représente la plus grande menace pour les utilisateurs moins expérimentés ou ceux qui ont des déficiences cognitives ou autres qui rendent difficile de prêter une attention particulière aux comportements subtils des applications. Pourtant, il y a plusieurs choses que les utilisateurs alertes peuvent faire pour détecter les applications malveillantes qui tentent d'exploiter la vulnérabilité. Les signes suspects comprennent :
- Une application ou un service auquel vous êtes déjà connecté vous demande de vous identifier.
- Des popups d'autorisation qui ne contiennent pas de nom d'application.
- Les autorisations demandées à partir d'une application qui ne devrait pas nécessiter ou avoir besoin des autorisations demandées. Par exemple, une application de calculatrice demandant l'autorisation GPS.
- Des typos et erreurs dans l'interface utilisateur.
- Des boutons et liens dans l'interface utilisateur qui ne font rien lorsqu'on clique dessus.
- Le bouton Retour qui ne fonctionne pas comme prévu.
Source : Promon, Lookout, Statista
Et vous ?
Sur quel système d'exploitation mobile êtes-vous ?
Comment décidez-vous d'accorder les permissions ? Validez-vous toutes les permissions demandées par les applications, uniquement les permissions faisant appel aux fonctionnalités de l'application qui vous seront utiles ?
Avez-vous rencontré un cas de demande d'applications saugrenue (par exemple une calculatrice qui demande l'accès à l'appareil photo) ?