Lorsque Google a restreint l'utilisation des permissions des SMS et des journaux d'appels dans les applications Android en mars 2019, l'un des effets positifs a été d’empêcher les applications de vol de certificats de pouvoir abuser de ces permissions pour contourner les mécanismes d'authentification à deux facteurs (2FA) par SMS.

Nous avons maintenant découvert des applications malveillantes capables d'accéder à des mots de passe uniques (OTP, pour one time password) dans des SMS du 2FA sans utiliser les permissions SMS, contournant ainsi les récentes restrictions de Google. En prime, cette technique permet également d'obtenir des OTP à partir de certains systèmes 2FA par courriel.

Les applications se font passer pour le service d'échange de cryptomonnaies turc BtcTurk et hameçonnent les utilisateurs afin d’obtenir leurs identifiants de connexion. Au lieu d'intercepter les messages SMS pour contourner la protection 2FA sur les comptes et transactions des utilisateurs, ces applications malveillantes prennent l'OTP des notifications apparaissant sur l'écran du dispositif compromis. En plus de lire les notifications 2FA, les applications peuvent également les rejeter, afin d’éviter que les victimes ne remarquent des transactions frauduleuses.

Le logiciel malveillant, détecté sous toutes ses formes par les produits ESET comme Android/FakeApp.KP, est le premier connu à contourner les nouvelles restrictions de permission SMS.

Les applications malveillantes

La première des applications malveillantes que nous avons analysées a été téléchargée sur Google Play le 7 juin 2019 en tant que « BTCTurk Pro Beta » et avec pour nom de développeur « BTCTurk Pro Beta ». Il a été installé par plus de 50 utilisateurs avant d'être signalé par ESET aux équipes de sécurité de Google. BtcTurk est un échange de devises cryptographiques turc, dont l’application mobile officielle est liée sur le site Web du service et n'est accessible qu'aux utilisateurs en Turquie.

La deuxième application a été mise en ligne le 11 juin 2019 sous le nom de « BtcTurk Pro Beta », mais utilisant comme nom de développeur « BtSoft ». Bien que les deux applications utilisent une apparence très similaire, elles semblent être le travail d'attaquants différents. Nous avons rapporté l'application le 12 juin 2019 alors qu'elle avait été installée par moins de 50 utilisateurs.

Après la suppression de cette deuxième application, les mêmes attaquants ont téléchargé une autre application avec des fonctionnalités identiques, cette fois nommée « BTCTURK PRO » et utilisant le même nom de développeur, icône et captures d'écran. Nous avons rapporté l'application le 13 juin 2019.

La Figure 1 montre les deux premières applications malveillantes telles qu'elles apparaissaient sur Google Play.

Figure 1 - Les fausses applications BtcTurk sur Google Play

La nouvelle technique pour contourner le 2FA

Après l'installation, les deux applications décrites dans la section précédente suivent une procédure similaire. Dans cette section du blog, nous décrirons la nouvelle technique de bypass 2FA en utilisant la première application, BTCTurk Pro Beta, comme exemple.

Après le lancement de l'application, il demande une autorisation appelée Notification access, comme illustré à la Figure 2. Cette autorisation permet à l'application de lire les notifications affichées par d'autres applications installées sur l'appareil, de rejeter ces notifications ou de cliquer sur les boutons qu'elles contiennent.

Figure 2 - La fausse application demandant l'accès à la notification

La permission Notification access a été introduite dans Android version 4.3 (Jelly Bean), ce qui signifie que presque tous les appareils Android actifs sont sensibles à cette nouvelle technique. Les deux fausses applications BtcTurk nécessitent la version 5.0 d'Android (KitKat) ou supérieure pour fonctionner; elles pourraient donc affecter environ 90 % des appareils Android.

Une fois que l'utilisateur accorde cette permission, l'application affiche un faux formulaire de connexion demandant des informations d'identification pour BtcTurk, comme le montre la Figure 3.

Figure 3 - Le faux formulaire de connexion affiché par l'application malveillante

Une fois les informations d'identification entrées, un faux message d'erreur en turc s'affiche, comme le montre la Figure 4. La traduction française du message est : « Oups! En raison du changement apporté au système de vérification par SMS, nous sommes temporairement dans l'impossibilité d'entretenir notre application mobile. Après les travaux de maintenance, vous serez averti via l'application. Merci de votre compréhension. »

En arrière-plan, les informations d'identification saisies sont envoyées au serveur de l'attaquant.

Figure 4 - Le faux message d'erreur affiché par l'application malveillante

Grâce à Notification access, l'application malveillante peut lire les notifications provenant d'autres applications, y compris les applications SMS et de courriel. L'application a des filtres en place pour ne cibler que les notifications des applications dont les noms contiennent les mots-clés « gm, yandex, mail, k9, outlook, sms, messaging », comme l'illustre la Figure 5.

Figure 5 - Noms et types d'applications ciblées

Le contenu affiché de toutes les notifications des applications ciblées est envoyé au serveur de l'attaquant. Le contenu est accessible par les attaquants quels que soient les paramètres de la victime quant à l’affichage des notifications sur un écran verrouillé. Les attaquants derrière cette application peuvent également rejeter les notifications entrantes et régler le mode de sonnerie de l'appareil sur silence, ce qui peut empêcher les victimes de remarquer les transactions frauduleuses qui se produisent.

Quant à l'efficacité de la méthode de contournement du 2FA, la technique a ses limites - les attaquants ne peuvent accéder qu'au texte qui correspond au champ texte de la notification, et il n'est donc pas garanti qu'il inclura l'OTP. Les noms des applications ciblées nous montrent que les SMS et les courriels d’authentification 2FA sont d'intérêt pour les attaquants qui se cachent derrière ce logiciel malveillant. Dans le SMS 2FA, les messages sont généralement courts et les ANP sont susceptibles de tenir dans le message de notification. Cependant, dans le courriel 2FA, la longueur et le format du message sont beaucoup plus variés, ce qui peut avoir un impact sur l'accès de l'attaquant à l'OTP.

Une technique en évolution rapide

Pas plus tard que la semaine dernière, nous avons analysé une application malveillante se faisant passer pour le service turc d’échange de cryptomonnaies Koineks  (bravo à @DjoNn35 d’avoir porté cette application à notre attention). Il est intéressant de noter que la fausse application Koineks utilise la même technique malveillante pour contourner les envois 2FA par SMS et par e-mail, mais n'a pas la capacité de rejeter ni de faire taire les notifications.

Notre analyse suggère qu’il a été créé par le même attaquant que l'application BTCTurk Pro Beta analysée ici. Cela montre que les attaquants travaillent actuellement sur l'optimisation de cette technique pour obtenir les meilleurs résultats après le vol de messages SMS.

Figure 6 - Informations au sujet de la fausse application Koineks sur Google Play

Comment demeurer en sécurité?

Si vous soupçonnez que vous avez installé et utilisé une de ces applications malveillantes, nous vous conseillons de la désinstaller immédiatement. Surveillez vos comptes pour déceler toute activité suspecte et modifiez vos mots de passe.

Le mois dernier, nous vous avons mis en garde contre une nouvelle vague de logiciels malveillants liés aux portefeuilles de cryptomonnaie sur Google Play qui profite de la hausse du prix du bitcoin Cette dernière découverte montre que les escrocs cherchent activement des moyens de contourner les mesures de sécurité pour augmenter leurs chances de profiter du développement.

Pour se prémunir de cette nouvelle technique, et plus généralement des logiciels malveillants financiers sous Android :Only trust cryptocurrency-related and other finance apps if they are linked from the official website of the service

  • Ne faites confiance aux applications d’échange de cryptodevises et autres applications financières que si elles sont liées à partir du site Web officiel du service
  • N'entrez vos informations sensibles dans les formulaires en ligne que si vous êtes certain de leur sécurité et de leur légitimité
  • Tenez votre appareil à jour
  • Utilisez une solution de sécurité mobile réputée pour bloquer et supprimer les menaces ; les systèmes ESET détectent et bloquent ces applications malveillantes sous Android/FakeApp.KP
  • Dans la mesure du possible, utilisez des générateurs de mots de passe à usage unique (OTP) générés par un logiciel ou du matériel au lieu de l’authentification multifactorielle par SMS ou courriel
  • N'utilisez que les applications que vous jugez dignes de confiance, et même dans ce cas : n'autorisez l'accès à la Notification qu'à celles qui ont une raison légitime de le demander.

Indicateurs de compromission (IoCs)

Package name Hash ESET detection name
btcturk.pro.beta 8C93CF8859E3ED350B7C8722E4A8F9A3 Android/FakeApp.KP
com.app.btsoft.app 843368F274898B9EF9CD3E952EEB16C4 Android/FakeApp.KP
com.app.elipticsoft.app 336CE9CDF788228A71A3757558FAA012 Android/FakeApp.KP
com.koinks.mobilpro 4C0B9A665A5A1F5DCCB67CC7EC18DA54 Android/FakeApp.KP

Techniques MITRE ATT&CK

Tactic ID Name Description
Initial Access T1475 Deliver Malicious App via Authorized App Store The malware impersonates legitimate services on Google Play.
Credential Access T1411 User Interface Spoofing The malware displays phishing activity and requests users to log in.