Attaques de phishing par SMS avancées contre les smartphones modernes basés sur Android

by chebbi abir

introduction

Les chercheurs de Check Point ont identifié une vulnérabilité aux attaques de phishing avancées dans certains téléphones modernes basés sur Android, notamment les modèles Samsung, Huawei, LG et Sony. Lors de ces attaques, un agent distant peut amener les utilisateurs à accepter de nouveaux paramètres de téléphone qui, par exemple, acheminent tout leur trafic Internet via un proxy contrôlé par l’attaquant.

Ce vecteur d’attaque repose sur un processus appelé provisioning OTA (Over-the-Air), qui est normalement utilisé par les opérateurs de réseau cellulaire pour déployer des paramètres spécifiques au réseau sur un nouveau téléphone rejoignant leur réseau. Cependant, comme nous l’avons montré, n’importe qui peut envoyer des messages de provisioning OTA.

La norme du secteur pour le provisioning en direct, OMA CP (Open Mobile Alliance Client Provisioning), inclut des méthodes d’authentification plutôt limitées. un destinataire ne peut pas vérifier si les paramètres suggérés proviennent de son opérateur réseau ou d’un imposteur. Nous avons constaté que les téléphones fabriqués par Samsung, Huawei, LG et Sony (correspondant à plus de 50% de tous les téléphones Android, selon les données de parts de marché de 2018: http://gs.statcounter.com/vendor-market-share/mobile/ worldwide / ) permet aux utilisateurs de recevoir des paramètres malveillants via ces messages de provisioning faiblement authentifiés. Les téléphones Samsung aggravent cette situation en autorisant également les messages OMA CP non authentifiés.

Nous avons communiqué nos conclusions aux fournisseurs concernés en mars. Samsung a inclus un correctif concernant ce phishing dans sa version de maintenance de sécurité de mai (SVE-2019-14073). LG a publié son correctif en juillet (LVE-SMP-190006). Huawei prévoit d’inclure des correctifs d’interface utilisateur pour OMA CP dans la prochaine génération de smartphones de la série Mate ou de la série P. Sony a refusé de reconnaître la vulnérabilité, affirmant que leurs périphériques étaient conformes à la spécification OMA CP. L’OMA suit ce problème sous le numéro OPEN-7587.

Flux d’attaque

Pour envoyer des messages OMA CP, un attaquant a besoin d’un modem GSM (clé électronique à 10 dollars ou téléphone fonctionnant en mode modem), utilisé pour l’envoi de SMS binaires, ainsi que d’un simple script ou d’un logiciel standard, pour composer le PC OMA.

Les messages de PC de phishing peuvent être ciblés avec précision, par exemple précédés d’un message texte personnalisé conçu pour tromper un destinataire particulier, ou envoyés en vrac, en supposant qu’au moins certains des destinataires soient suffisamment crédules pour accepter un CP sans remettre en cause son authenticité.

OMA CP permet de modifier les paramètres suivants par voie hertzienne:

  • Serveur de messagerie MMS
  • Adresse proxy
  • Page d’accueil du navigateur et signets
  • Serveur de courrier
  • Serveurs d’annuaire pour la synchronisation des contacts et du calendrier

Et plus.

Les scénarios suivants supposent que l’attaquant tente d’inciter les victimes à acheminer tout leur trafic via le proxy contrôlé par l’attaquant.

Non authentifié (Samsung)

Pour cibler les victimes utilisant des téléphones Samsung, l’attaquant peut leur envoyer des messages OMA CP non authentifiés, en spécifiant un proxy qu’il contrôle. Nous soulignons qu’il n’y a pas de vérification d’authenticité à surmonter par l’attaquant: il suffit que l’utilisateur accepte le CP.


Figure 1: Un message CP non authentifié tel qu’il apparaît à un utilisateur de Samsung.

Authentifié avec IMSI

Si l’attaquant parvient à obtenir les numéros IMSI (International Mobile Subscriber Identity) des victimes potentielles à l’aide de téléphones Huawei, LG ou Sony, il peut organiser une attaque de phishing aussi efficace que celle dirigée contre les utilisateurs de téléphones Samsung.

IMSI est un identifiant 64 bits de chaque appareil d’un réseau mobile, utilisé depuis le GSM et jusqu’à la 3G. Ce numéro est utilisé pour le routage et équivaut à peu près à une adresse IP sur un réseau informatique. L’IMSI d’une personne est pseudo-confidentiel, mais:

  • Il est nécessairement disponible pour tous les opérateurs de réseau, car le routage des données ou des appels vers un abonné mobile nécessite la résolution de son numéro de téléphone en IMSI.
  • En conséquence, les recherches IMSI directes et inverses (numéro de mobile vers IMSI et vice versa) sont disponibles à moindre coût auprès de fournisseurs commerciaux.
  • Une application Android non autorisée peut lire le numéro IMSI de l’utilisateur via l’API standard
    ((TelephonyManager) getSystemService (Context.TELEPHONY_SERVICE)). GetSubscriberId ()
    – tant que l’application dispose de l’autorisation permission.READ_PHONE_STATE Plus du tiers de toutes les applications Android lancées au cours des trois dernières années nécessitent déjà cette autorisation. Par conséquent, cela ne suscite aucune suspicion.
  • Quiconque peut jeter un coup d’œil à la carte SIM physique verra l’ICCID gravé ou imprimé dessus, et l’ICCID correspond souvent à l’IMSI!

Les messages CP OMA ont un en-tête de sécurité facultatif permettant de valider l’authenticité du CP. Lorsqu’un PC est authentifié avec le numéro IMSI du destinataire, les téléphones Huawei, LG et Sony permettent l’installation de paramètres malveillants. Notez que ces téléphones n’affichent aucun détail sur le CP quand ils suggèrent à l’utilisateur de l’installer; en particulier, l’expéditeur du PC n’est identifié d’aucune manière.


Figure 2: Un message CP authentifié par NETWPIN tel qu’il apparaît à un utilisateur Sony.

Authentifié avec PIN

Pour les victimes potentielles dont l’IMSI ne peut être obtenue, l’attaquant peut envoyer deux messages à chaque victime. Le premier est un message texte censé provenir de l’opérateur réseau de la victime, lui demandant d’accepter un PC OMA protégé par code confidentiel et spécifiant le code confidentiel comme un nombre arbitraire à quatre chiffres. Ensuite, l’attaquant lui envoie un message OMA CP authentifié avec le même code PIN. Un tel CP peut être installé indépendamment de l’IMSI, à condition que la victime l’accepte et saisisse le code PIN correct.

Figure 3: Un message CP authentifié par USERPIN tel qu’il apparaît à un utilisateur de Huawei.

Contexte technique

Le provisioning est le processus par lequel les périphériques reçoivent les paramètres dont ils ont besoin pour fonctionner dans leur environnement. Le principal cas d’utilisation initial de la fourniture par l’OTA consiste à déployer des paramètres spécifiques à l’opérateur, tels que l’adresse du centre de service MMS de cet opérateur. Les entreprises utilisent également cette fonctionnalité pour déployer des paramètres tels que les adresses de serveur de messagerie sur les périphériques des employés. OMA CP, l’une des deux normes appliquées par OMA pour l’approvisionnement des paramètres par voie hertzienne, date de 2001 et sa spécification la plus récente date de 2009.

Nos recherches montrent que les implications du PC OMA sur la sécurité demeurent pertinentes même une décennie plus tard. La distribution de base d’Android ne gère pas les messages OMA CP, mais de nombreuses implémentations de fournisseurs, car OMA CP est la norme du secteur en matière de provisioning OTA. Sa spécification permet (mais ne nécessite pas!) L’authentification des messages CP à l’aide de USERPIN, NETWPIN ou d’autres méthodes moins répandues.

Tout SMS, qu’il s’agisse d’un message texte, d’un MMS, d’une notification de messagerie vocale ou de toute autre chose, est transmis sous forme d’unités de données de protocole (PDU) spécifiées par le protocole SM-TP (Short Message Transfer Protocol), également appelé GSM 03.40. Les PDU GSM contenant la charge utile OMA CP comprennent:

  • En-tête SM-TP au niveau de la couche support , spécifiant le numéro de téléphone du destinataire et le schéma de codage des données.
  • En-tête de données utilisateur (UDH) au niveau de la couche de transport , comprenant:
    • En-tête WDP (Wireless Datagram Protocol), spécifiant le port de destination 2948 (wap-push) et le port source 9200 (wap-wsp).
    • En-tête de message concaténé facultatif: les données utilisateur de chaque PDU sont limitées à 140 octets et les messages plus longs doivent être fragmentés.
  • En-tête WSP (Wireless Session Protocol) au niveau de la couche de session , contenant l’authentification (le cas échéant).
  • WAP XML binaire (WBXML) au niveau de la couche d’application , contenant la charge utile.

À titre de démonstration, notre preuve de concept initiale (non authentifiée) pour les téléphones Samsung contenait le document XML suivant comme charge utile, avec les chaînes spécifiant l’adresse proxy et le numéro de port en surbrillance:


Figure 4: Charge utile XML pour le PC OMA.

Le PC OMA complet portant cette charge utile est divisé en deux messages SMS physiques, représentés dans le diagramme suivant par deux chaînes d’octets:


Figure 5: Représentation physique d’un message OMA CP.

Dans la chaîne WBXML, l’adresse proxy et le numéro de port (mis en évidence avec les mêmes couleurs que dans la source XML) sont inclus en tant que chaînes ASCII à terminaison null, tandis que les chaînes définies dans le schéma XML, telles que les noms d’éléments et les valeurs de type et les attributs de nom , sont représentés dans WBXML en tant que valeurs fixes à un octet.

La charge WBXML suit l’en-tête WSP qui comprend le code d’authentification du message, calculé à l’aide de l’IMSI du destinataire, sous forme de chaîne hexadécimale ASCII.

Conclusion

Nous avons décrit un flux d’attaque de phishing avancé contre les téléphones modernes basés sur Android. Cette attaque permet à toute personne disposant d’un modem USB bon marché d’amener les utilisateurs à installer des paramètres malveillants sur leur téléphone. Pour cibler certains des téléphones sensibles, l’attaquant doit connaître les numéros IMSI des victimes, qui peuvent être obtenus via une application Android disposant de l’autorisation READ_PHONE_STATE.

Nous avons vérifié notre preuve de concept sur le Huawei P10, le LG G6, le Sony Xperia XZ Premium et une gamme de téléphones Samsung Galaxy, y compris le S9.

Check Point SandBlast Mobile empêche les attaques de type “Man-in-the-Middle” et de phishing, afin de protéger vos appareils contre de tels messages OMA CP malveillants.

 

Pour en savoir plus:https://research.checkpoint.com/advanced-sms-phishing-attacks-against-modern-android-based-smartphones/

Top

Interdit de copier  ce contenu