Localisation des périphériques mobiles en 4G/5G

Tue 26 November 2019 by waiz

Contexte

Il est possible via l’interception de certaines données dans une zone géographique 4G/5G précise de localiser un appareil et ce grâce à un calcul de probabilités.

L’attaque en question, ToRPEDO, porte atteinte à l’aspect privé qu’est la position d’un équipement utilisateur (téléphone, tablette etc …) et par extension la personne à qui appartient le périphérique. Les outils évoqués par la suite permettent par exemple de réaliser un déni de service ou connaitre l’identité persistante d’un appareil (IMSI).

On peut alors supposer qu’une fois l’IMSI d’un équipement connu, on peut l’associer à une personne et donc potentiellement traquer cet individu.

Protocole LTE - Advanced

Architecture et présentation

La norme LTE (Long Term Evolution) Advanced est une norme de téléphonie mobile définie par 3GPP, commercialement appelé 4G. Le protocole utilise une largeur de bande allant de 1,4 MHz à 20 MHz pour des fréquences allant de 450 MHz à 3,8 GHz. Dans la vie de tous les jours ce protocole nous permet d'accéder aux ressources disponibles sur internet via divers appareils tel qu’un smartphone, une tablette ou tout autre périphérique du genre.

Concernant son architecture, le réseau permettant la communication est composé de deux parties :

La première est l’eUTRAN qui comporte les stations de base (eNode B) des appareils qui ont des fonctions de contrôle sur les périphériques clients se trouvant dans leur périmètre/zone géographique.

La seconde partie est le Cœur Réseau (EPC - Evolved Packet Core) qui s’occupe du transport de la voix, des données et permet l'interconnexion des différentes stations de base des autres opérateurs mobiles, des réseaux de téléphonie fixe et internet.

Les différentes stations de base ont pour point d’entrée dans le cœur réseau un équipement appelé Mobility management Entity (MME), il s’agit d’un équipement central dans un réseau 4G qui gère la signalisation entre les équipements utilisateur (EU).

Et comme une image vaut mille mots, voici un schéma qui permet de visualiser l’ensemble :

Architecture partielle d’un réseau LTE

Dans ce réseau de téléphonie mobile, les EU utilisateurs sont équipés d’une carte SIM qui possède un identifiant international unique appelé : Unique International Mobile Subscriber Identity (IMSI). Cet identifiant est généralement stocké sur la carte SIM et ne change jamais, il est un peu comme un numéro de série. Il faut savoir que lors des phases de communication, un EU peut être identifié d’une autre façon via un identifiant temporaire, appelé : Temporary Mobile Subscriber Identity (TMSI). Cet identifiant est généralement utilisé pour la communication entre les EU et les stations de base (MME) et est unique en fonction de la zone géographique d’une station de base. Il sera donc différent à chaque changement de zone géographique.

Voilà pour le fonctionnement du réseau de manière schématique, nous ne rentrerons pas plus dans les détails mais le cœur réseau permet d’assurer évidemment d’autres fonctions.

Le protocole paging

Il faut savoir que lorsqu’un équipement utilisateur n’est pas en cours de communication avec une station de base, il entre dans un état basse consommation dans un objectif d’économie de batterie, cet état-là est appelé idle. Dans cet état, la station de base utilise le paging protocol pour notifier l’EU de certains événements (urgence, appels entrants etc …). Cela est appelé Réception Discontinue (RDX).

Concernant les diverses étapes de communication, voici quelques explications :

Le service paging permet de notifier un équipement utilisateur, dans un état idle, d’un service en attente, si le smart paging est utilisé, alors le MME demande à la dernière station de base de l’EU d'émettre un paging message à destination de l’EU. Si l’EU ne répond pas, alors le MME demande à toutes les stations de base dans sa zone géographique d’émettre le paging message. Si le smart paging n’est pas utilisé cette étape n’est pas effectuée.

Le paging message contient maximum 16 paging records. Chaque record notifie un EU qu’un service veut communiquer avec lui. Ces records contiennent l’identifiant MME, le domaine, l’identité de l’EU cible qui est soit l’IMSI soit le TMSI.

La paging occasion est le moment précis où l’EU se réveille pour écouter les différents services. Dans un état idle, un EU vérifie périodiquement si un paging message lui est adressé c’est le paging occasion. Dans cet état, l’EU parcourt les paging records à la recherche de son identifiant (TMSI ou IMSI), s’il est présent, il réinitie une connexion avec sa station de base.

Notons qu’en 5G, la paging occasion est similaire à celle de la norme LTE.

Question timing, le paging protocole s’assure de donner un tempo d’émission/réception des paging records pour l’EU en fonction du Paging Frame Index (PFI) qui est le résultat d’un calcul lié à l’IMSI ainsi qu’à divers paramètres de la station de base. Il permet de donner la trame à laquelle l’EU va passer en écoute, c’est donc à ce moment-là que l’appareil va se réveiller pour répondre à toutes les actions en attente qui lui étaient destinées pendant son état de repos (i.e. idle).

Tempo du paging occasion dans un paging frame

Les EU sont groupées en fonction du tempo des paging messages. On pourra alors différencier deux EU de groupes différents grâce à cela.

Pour information, voici un paging message utilisant le TMSI pour identifiant :

Paging Message

En théorie

Introduction

Dans un réseau mobile, les périphériques doivent se mettre à jour de manière régulière dans le but de recevoir des notifications telles qu'un appel, un tweet, un SMS ou autre. Cependant, dans un souci d’économie de batterie, les appareils inactifs se mettent en mode basse consommation. Il se mettent à jour de manière cyclique avec leurs stations de base de manière prédéfinie par le protocole de paging.

Quand la station de base doit notifier un périphérique, elle émet sur le réseau un message (paging messages) contenant le TMSI. En théorie, le TMSI devrait être changé régulièrement, cela doit permettre de prévenir la corrélation entre un appel et le paging message qui en résulte. Néanmoins en pratique, il est changé peu fréquemment.

Les outils d’attaque utilisés sont respectivement nommés ToRPEDO (TRacking via Paging mEssage DistributiOn) et PIERCER (Persistent Information ExposuRe by the CorE netwoRk). Il a été aussi découvert qu’il était possible d’effectuer une attaque par exhaustivité sur l’identifiant unique d’un périphérique (IMSI-Cracking).

Les différents tests permettent de confirmer la présence et d’identifier un appareil en moins de dix appels.

Principe

Pour que l’attaque ToRPEDO puisse être mise en place, il suffit de posséder le numéro de téléphone de la victime et sa zone géographique approximative. Il faut alors se mettre, avec le matériel nécessaire, en écoute dans la zone géographique couverte par une station de base.

Pour confirmer la présence de la victime dans la zone géographique, un grand nombre de notifications (tweet, SMS, appel) dans une courte période de temps permet d’observer de nombreuses fois un TMSI parmi les différentes trames du réseau mobile d’une zone géographique précise. Malgré un changement de TMSI, il suffira d'observer les nombreux paging messages émis à l’instant T définis par le PFI possédant le même TMSI pour déduire qu’il s’agit de la victime. Si le ratio calculé entre les deux meilleurs candidats est au-dessus d’un seuil prédéfini, on peut conclure que l’utilisateur est présent dans la zone géographique. Le TMSI des trames les plus congestionnées est donc celui de l'utilisateur ciblé dont on connait le numéro.

L’attaque PIERCER permet d'obtenir l’IMSI d’un périphérique via la mise en place d’un MME contrôlé par l’attaquant, d’un appareil en écoute du réseau et de la connaissance du numéro de téléphone de la victime. Cela est rendu possible dans certains cas spécifiques où on force le fournisseur mobile à utiliser l’IMSI et non le TMSI pour communiquer avec les périphériques. Suite à cela, ToRPEDO peut être utilisé.

PIERCER permet d’ouvrir le chemin pour toutes les attaques qui nécessitent l’IMSI d’un appareil mobile dont le numéro est connu.

L’attaque IMSI-cracking repose sur le fait que des morceaux de l’IMSI sont présents lors des différents échanges et sont donc extractibles. Par la suite, tous les IMSI possibles sont générés avec les informations retrouvées.

Un IMSI est composé de divers éléments : * MCC (Mobile Country Code) : Numéro indicatif du pays d’origine (ex : 208) * MNC (Mobile Network Code) : Identifiant opérateur mobile (ex : 03) * MSIN (Mobile Subscriber Identification Number): Numéro d’abonné spécifique à l’opérateur. Deux nombres optionnels peuvent se trouver en amont du numéro d’abonné (ex : 21 76510739)

Format de l’IMSI

L’IMSI aux Etats-Unis est composé de 49 bits dont 18 bits peuvent être obtenus via le numéro de téléphone en utilisant un service payant d’un Home Location Register (HLR) qui regroupe dans des bases de données tous les clients abonnés à un certain réseau mobile (Vodafone, China Mobile, etc…). Les 7 bits suivants sont obtenus, selon certaines conditions, via le calcul de la paging occasion d’un périphérique. Il ne reste donc plus que 49-18-7=24 bits non connus.

En prenant en compte que le MCC et MNC sont limités par les normes, il est estimé qu’en 13h l’IMSI peut être deviné.

Pour la 4G, il est donc possible de déterminer l’IMSI d’un EU en ayant connaissance de son TMSI. En effet, si l’identification des trames se fait via le TMSI (paging_rimsi) alors l’EU renverra un type de réponse défini. Si l’identification se fait via l’IMSI, l’EU invalide le TMSI ainsi que la connexion établie et renvoi une réponse différente.

En pratique, on envoie à la suite deux paging records forgés par l’attaquant en modifiant la partie identification dans chacune d’elles.

Le premier identifie l’EU via un IMSI « deviné » créé par bruteforce et le deuxième via le TMSI connu. Si la victime répond par la suite avec une trame différente du TMSI connu alors on estime que le IMSI « deviné » est le bon. En revanche si la victime répond avec le TMSI connu, cela veut dire l’IMSI « deviné » est incorrect.

L’IMSI cracking de la 5G est légèrement différent mais suis le même principe qui est de déduire selon la réponse la validité de l’IMSI envoyé.

Impacts

ToRPEDO

Actuellement l’attaque est applicable sur la 4G et la 5G. Avec la seule connaissance de la paging occasion d’un utilisateur, l’attaquant peut causer un déni de services en forgeant des paging messages vides afin de bloquer la réception des services (SMS, messagerie instantanée etc…). De plus, il serait aussi possible de forger des messages d’alertes. Enfin, il est possible de traquer la position d’un périphérique et donc potentiellement d’une personne.

PIERCER

Dans certains cas tels que le non-respect des conventions et des recommandations 3GPP, certains fournisseurs communiquent via l’IMSI au lieu du TMSI comme identifiant dans les paging messages. Il est alors possible de tromper le fournisseur pour donner l’impression d’être dans un cas de communication particulier et de révéler ainsi l’IMSI de la victime, c’est ce qui a amené à la création de l’attaque PIERCER (Persistent Information ExposuRe by CorE netwoRk).

En pratique

L’attaque ToRPEDO a été testée au Canada pour trois fournisseurs de services mobiles et tous ceux des Etats Unis. PIERCER a été testée pour un fournisseur de services mobiles majeur des Etats-Unis et trois d’Asie du sud.

La mauvaise configuration qui permet d’obtenir l’IMSI d’un mobile au lieu du TMSI a été constatée par trois fournisseurs de services mobiles Allemands, quatre Autrichiens, un Islandais, deux Chinois, et un Russe. Cela confirme bien la faisabilité des différentes attaques dans des cas réels.

Contre-mesures

Etant donné que le problème se situe au niveau de la conception du protocole, une remédiation ne sera pas évidente, cependant l’équipe qui a mené à bien ces attaques a pensé à quelques contre-mesures plus ou moins efficaces décrites ci-dessous.

Au niveau du protocole, une randomisation de l’identifiant d’un équipement utilisateur semble être une solution efficace. Une base de signature pourrait être utilisée pour détecter le pattern des attaques telle que ToRPEDO. Cela ferait partie d’une des couches de protection à apporter.

Une solution plus générique consisterait en l’ajout de paging messages contenant de faux identifiant (TMSI). L’identification de faux messages est extrêmement difficile techniquement.

Cet ensemble de mesures permettrait de mitiger l’attaque ou rendrait son exploitation bien plus ardue et coûteuse en ressources tout en limitant la perte d’énergie des appareils mobiles.