Besoin de conseils ?

Contacter HITECY.
Telf: 0157141590

ENJEUX SECURITAIRES DE LA 3G

Rappels

Avant d’aborder les aspects sécuritaires de la 3G, viagra et comme beaucoup d’acronymes vont être utilisés pour simplifier les explications, click il est bon de rappeler les principaux éléments de l’infrastructure des réseaux GPRS et 3G.

– 2G  : GSM  (Global System forMobilecommunications) (~ 10 kbit/s)
– 2.5G  : GPRS  (General Packet Radio Service)   (~ 128 kbit/s)
– 3 G : UMTS  (Universal Mobile Telecommunication System) (~ 384 kbit/s, ailment max 2 Mbit/s )
– USIM : UMTS Subscriber Identity
– GGSN : Gateway GPRS Support Node
– SGSN : Serving GPRS Support Node
– VLR : Visited Location Register
– MS : Mobile Station (cellulaire)
– HLR : Home Location Register
– RNC : Radio Node Controller
– MSC : Mobile Switching Center
– EIR : Equipment Identity Register
– SIM : Subscriber Identity
– IMSI : International Mobile Station Identity
– BTS : Base Transceiver Station
– BSC : Base Station Controller

Le schéma ci-dessus montre une topologie hybride simplifiée des réseaux GPRS. L’infrastructure radio reste celle de la 2G, avec des stations de base sur lesquelles se connectent les cellulaires, reliées de manière pyramidale à des stations de contrôle elles-mêmes centralisées autour de passerelles qui forment le cœur du réseau. Ces passerelles, ou SGSN ci-dessus, concentrent une partie de la sécurité en supportant notamment le service d’authentification de l’utilisateur (via sa carte SIM); elles s’interfacent pour cela avec les bases de données centrales contenant les informations client (HLR pour le réseau d’origine, VLR pour les réseaux visités par l’utilisateur).
Dans le cas plus particulier du GPRS, les passerelles sont reliées à 2 réseaux distincts; l’un, historique, pour les communications voix permet d’accéder aux autres réseaux filaires comme celui de l’opérateur historique pour le routage des appels. Le deuxième est de nature IP et permet les échanges de données avec notamment d’autres réseaux tel qu’Internet ou ceux d’autres opérateurs. Dans les 2 cas, voix ou données, des passerelles spécifiques gèrent les flux entrants et sortants du réseau de l’opérateur; c’est le cas des GGSN pour le réseau de données. Que ce soit les passerelles SGSN ou les GGSN, ces passerelles sont des cibles de choix puisqu’elles représentent des portes d’accès au réseau de l’opérateur ou aux autres réseaux.

L’overbilling

Cette attaque a été l’une des premières à être décrite et réellement considérée par les opérateurs, du fait de l’impact financier évident qui en découle. L’objectif premier de l’attaque est d’envoyer du trafic non-sollicité à des utilisateurs choisis de manière aléatoire; le système de facturation actuel étant basé sur le volume des données échangées par un utilisateur, ce dernier voit donc sa facture augmenter de manière dramatique.
Il faut noter que les bénéfices pour l’attaquant sont nuls, mis à part l’exploit individuel et la renommée qui peut en découler (la reconnaissance de la communauté).
Enfin, il est clair que l’attaque dépend essentiellement de l’architecture réelle du réseau; la modélisation présentée ici ne peut pas tenir compte de spécificités; 2 variantes vont cependant être présentées.

Overbilling par UDP

Cette variante se base sur le protocole UDP, non-connecté par définition. Cela signifie notamment que les paquets ne sont pas gérés dans le cadre d’une session entre 2 parties (comme TCP), ni comptés, etc…

Dans la phase1, l’attaquant initie une communication avec un serveur situé quelque part sur Internet. En réponse, phase 2, ce serveur commence à envoyer des données à l’attaquant. Celui-ci se déconnecte alors de son opérateur (3) et libère l’adresse IP qui lui était assignée par DHCP (protocole de gestion d’adresses IP dynamiques et temporaires). Pendant ce temps (4), le serveur distant continue à envoyer des données même si le destinataire s’est déconnecté. Enfin, en 5, un utilisateur régulier se connecte au réseau de l’opérateur; s’il se voit assigner l’adresse IP préalablement utilisée par l’attaquant, il reçoit alors tout le trafic émis par le serveur distant sans avoir sollicité quoique ce soit. Cet utilisateur voit donc sa facture augmenter pour un service qu’il n’a pas demandé.

Overbilling par TCP

Cette variante se base sur le protocole TCP, connecté par définition. Cela signifie qu’une notion de session est établie entre les 2 parties, permettant d’assurer à chacun que l’intégralité des données ont été reçues et ré-ordonnées. Dans le scénario de l’attaque, cette session n’est pas terminée explicitement.

Comme précédemment, la phase 1 consiste à établir une connexion (TCP) avec le serveur distant situé sur Internet. Ce serveur doit être contrôlé par l’attaquant également pour mener à bien cette attaque. Le serveur répond donc au mobile au travers de cette session TCP (2).
L’attaquant se déconnecte alors sans terminer sa session TCP (3). En parallèle, le serveur envoie des paquets TCP FIN afin de clore la session, mais le client s’étant déjà déconnecté, il ne reçoit pas de réponse. A ce moment là, une technique veut que le serveur continue à envoyer un peu de données comme si la session était toujours active; cela permet notamment de maintenir « la porte » ouverte dans le cas où un pare-feu est installé en amont de la passerelle GGSN (même avec de la « stateful inspection », où l’état des connexions actives est gardé en mémoire, cette technique fonctionne); il suffit de connaître le time-out appliqué par ce pare-feu sur les connexions inactives.
Cependant, comme il n’y a plus de client actif sur l’adresse IP de l’attaquant, la passerelle GGSN stoppe le trafic entrant (4). Le processus est maintenu jusqu’à ce qu’un client régulier se connecte et se voit assigné l’adresse IP préalablement utilisée par l’attaquant. A ce moment là (5), le trafic est rétablit par la passerelle GGSN qui transmet les paquets au client. Ce dernier se voit facturé toutes les données que lui envoie le serveur distant; il lui suffirait d’envoyer un paquet TCP RST pour clore réellement la connexion au niveau du pare-feu, mais cela ne correspond pas au comportement normal du client.

Conclusion

Il existe de nombreuses autres variantes de l’attaque, mettant en œuvre un comportement particulier de l’utilisateur (s’il se connecte à un serveur agressif par exemple) ou des techniques de flooding particulières.
La majorité des attaques sont rendues possibles par un manque de synchronisation entre les différents noeuds et éléments du réseau opérateur: pare-feu, SGSN, GGSN, etc… Tous possèdent une partie des informations nécessaires à la gestion des communications d’un utilisateur. Il suffirait de les partager pour éviter des situations telles que décrites précédemment, où un client se déconnecte mais son IP reste valable au niveau du pare-feu par exemple.
Man-in-the-middle

Cette attaque, beaucoup plus récente, illustre les problèmes de sécurité issus de l’interopérabilité entre des technologies de nature et d’age différents; le cas ci-dessous implique d’une part une infrastructure de données type 3G ou 2.5G, et une interface radio type 2G qui est de conception plus ancienne et n’implémente pas le niveau de sécurité des réseaux 3G.

Contexte

L’attaque a été publiée il y a déjà quelques temps, et relayée par la communauté scientifique.

l’article original est  » A Man-in-the-Middle Attacks on UMTS « , U. Meyer & S. Wetzel, conference WiSe’04, 10/2004, ACM Publications.

Elle concerne les téléphones 3G (interface radio UTRAN) compatibles avec l’interface radio 2G ou GERAN, utilisée notamment pour le GPRS. Pour mémoire, le système GSM s’est révélé à de nombreuses reprises très faible et facilement attaquable, que ce soit au niveau du chiffrement des communication (A5/2) ou de la diversification des clés de session (COMP128). Il est clair que le niveau de sécurité des 2 architectures n’est pas en phase et que l’interopérabilité entre les 2 est source de faiblesses; cependant, cela reste une fonctionnalité essentielle et requise tant que les 2 systèmes cohabiteront et que le réseau 3G n’offrira pas une couverture suffisante.

Dans la pratique, il est donc possible pour un téléphone 3G de se connecter à des réseaux 2G afin d’offrir une continuité sur les services minimaux, la voix et éventuellement les données pour le GPRS. Ce cas se présente obligatoirement lorsque l’utilisateur sort de la zone de couverture de son réseau d’origine (Home network), c’est-à-dire qu’il est dans une situation dite de « roaming ». C’est la situation illustrée ci-dessous.

Dans ce cas où le réseau visité est différent du réseau d’origine de l’abonné, des échanges supplémentaires sont nécessaires pour authentifier l’utilisateur. Nous ne ferons pas la distinction entre la carte SIM et le téléphone, car cela n’apporte pas d’information pertinente dans le cas présent. De plus, les notations et explications seront simplifiées pour permettre au plus grand nombre de comprendre les principes majeurs de l’attaque.

Dans le cas normal du roaming, les étapes suivantes sont réalisées:

L’utilisateur transmet son identifiant unique, sous forme temporaire (TMSI) ou persistante (IMSI). Il indique également la liste des mécanismes de sécurité qu’il supporte pour permettre au réseau de dialoguer avec lui.

Le réseau visité transmet cette information au réseau d’origine; celui-ci identifie l’utilisateur et la clé associée (Ki, partagée par l’utilisateur). Il en dérive des informations secrètes qui sont rassemblées en quintuplets (ensembles de 5 éléments nécessaires à la connexion d’un utilisateur sur le réseau 3G) et envoyés au réseau visité. Ce dernier va utiliser ces informations pour authentifier l’utilisateur et l’autoriser à accéder au réseau.

Notamment, le réseau visité va:

– envoyer un nombre aléatoire RAND et un cryptogramme AUTN permettant à l’utilisateur d’authentifier le réseau au préalable (ce qui n’est pas possible dans le cadre du GSM par exemple)
– recevoir un cryptogramme de l’utilisateur lui permettant de l’authentifier
– établir une communication protégée en confidentialité (chiffrée) et en intégrité (MACée), entre lui et l’utilisateur.

Dans le contexte de la 2G/GERAN, seuls des triplets sont nécessaires à la phase d’initialisation (3 éléments au lieu de 5). Le réseau n’a pas à s’authentifier auprès de l’utilisateur, ce qui est une première source d’attaques. Les communications sont chiffrées mais non protégées en intégrité (une clé en moins par rapport à la 3G); de plus les algorithmes de chiffrement sont faibles et facilement cassables pour certains.
Il existe bien entendu des méthodes de conversion entre le mode à 5 éléments (3G) et celui à 3 éléments (2G). Cela permet une interopérabilité 3G->2G mais aussi 2G->3G.

L’attaque

Cette attaque concerne donc un utilisateur 3G dans une situation de roaming sur un réseau 2G.

Phase 1 – identification de la victime

L’attaquant force le téléphone à se connecter à une fausse station de base; en effet, un mobile se connecte prioritairement au signal le plus puissant. Il l’interroge ensuite pour obtenir son IMSI et ses capacités sécuritaires (algorithmes supportés, etc).

Phase 2 – interrogation du réseau

L’attaquant se fait ensuite passer pour la victime auprès du réseau visité, en envoyant l’IMSI et les capacités sécuritaires récupérées précédemment auprès de la victime. Il reçoit en retour le nombre aléatoire RAND et le cryptogramme réseau AUTN; il se déconnecte à ce moment là puisqu’il ne connaît pas les secrets de la victime, juste ses informations publiques. Il ne peut donc pas répondre au challenge du réseau.

Phase 3 – rejeu des données du réseau

L’attaquant force à nouveau la connexion entre la victime et sa fausse station de base. Il reçoit bien entendu des données qu’il connaissait déjà, à savoir l’IMSI et les capacités sécuritaires, mais cette fois-ci il y répond par le nombre aléatoire et le cryptogramme reçus pendant la phase 2 du réseau.

Phase 4 – attaque de la connexion

A ce moment là, la victime pense communiquer avec le réseau légitime, puisqu’ayant reçu un cryptogramme correct. L’attaquant communique alors ses capacités sécuritaires propres; c’est là le coeur de l’attaque puisque l’attaquant n’a toujours connaissance d’aucun secret. Il doit donc forcer la victime à utiliser un algorithme de chiffrement faible, cassable voire même aucun chiffrement pour pouvoir l’attaquer et récupérer les données en clair émises par la victime. Ces algorithmes faibles ne sont justement disponibles que dans les réseaux 2G, et ne peuvent être demandés à un utilisateur 3G que lors de ses déplacements (cas de roaming).
L’attaquant applique donc les techniques d’attaques bien connues, selon l’algorithme consenti par la victime.

Phase 5 – man in the middle

Une fois le chiffrement cassé, l’attaquant n’a plus qu’à relayer les données de la victime au réseau visité.

Le cas GTP

Reliquat du monde des télécommunications, la notion de liaison spécialisée ou dédiée a été transposée aux réseaux interconnectés via des protocoles d’encapsulation ou de tunneling (voir fiche) permettant d’émuler une liaison dédiée au travers de réseaux hétérogènes. Au-delà de l’utilité de tels protocoles, l’argument de la sécurité s’est bien souvent rajouté. Il existe en effet de nombreux précédents où le protocole de tunneling propose également des services de sécurité avancés, comme IPSec (voir fiche).

Cependant, la réciproque n’est pas toujours vraie. GPRS Tunnelling Protocol (GTP) est défini dans le standard ETSI 3GPP TS 29.060: « 3rd Generation Partnership Project; Technical Specification Group Core Network; General Packet Radio Service (GPRS); GPRS Tunnelling Protocol (GTP) across the Gn and Gp Interface ». Ce protocole est très utilisé, notamment pour les liaisons entre les noeuds, les passerelles et les serveurs du réseau GPRS, pour les liaisons entre réseaux opérateurs, pour les liaisons vers d’autres réseaux comme Internet, pour les liaisons vers les systèmes de facturation de l’opérateur, etc…

Explicitement, ce protocole ne supporte pas de service de sécurité particulier, propre à le sécuriser lui ou les données qu’il transporte. Il référence pour cela la norme ETSI 3GPP TS 33.210: « 3G security; Network Domain Security (NDS); IP network layer security ». Cependant, il est important de souligner que GTP ne propose pas d’authentification entre les noeuds du réseau (passerelles ou autres), ni de confidentialité pour les données qui transitent. Ainsi, on peut imaginer des problèmes potentiels liés à de fausses passerelles sur le réseau de l’opérateur, à de l’écoute de trafic sur les communications transitant par le réseau public, etc… Quoiqu’il en soit, GTP n’est certainement pas un argument en matière de sécurité des échanges d’informations.

Conclusion

Les télécommunications et la 3G en particulier sont des mondes où les standards, technologies et fonctions d’interopérabilité sont très nombreuses; il reste très difficile d’avoir une vision claire du niveau de sécurité que l’on peut en espérer. Ce niveau est d’autant plus faillible que les infrastructures des opérateurs ne sont pas connues du public; impossible dans ces conditions de connaître réellement la qualité du service que l’on reçoit. Impossible également de ne pas faire appel à des mécanismes de sécurité de bout en bout…

 

Référence du document original sur le site « www.securiteinfo.com » :

www.securiteinfo.com/attaques/phreaking/securite_reseaux_sans_fil_3G_GSM_UMTS_GPRS.shtml

 

Publié dans News