Phreaking GSM

Par 4n9e le 23-10-2005



Tour d'horizon du système GSM et ses vulnérabilités.





A cause de sa diffusion planétaire et des implications commerciales et éconnomiques énormes qu'il represente, le système de communications GSM est un système complexe dont la sécurité est considérée comme la plus aboutie dans le domaine des communications sans fil.
Voyons donc de quoi il s'agit...

Le réseau



Pour simplifier, le reseau GSM est consitue de 3 sous ensembles :
- Stations mobiles (vos téléphones)
- Stations de Base (assurent la liaison mobiles-reseau)
- Le reseau (assure la commutation (switch) avec les autres mobiles ou l'intégration aux autres reseaux (fixes, internet...) et l'authentification)

- (a part) Operations et Maintenance

Les mobiles communiquent avec le reseau Stations de Base via l'interface Um, aussi appelée "radio link".
Le reseau Stations de Base communique avec le reseau de commutation via l'interface A.


Les stations mobiles :
Elles sont composées de l'appareil, et de la carte SIM (Subscriber Identity Module).
L'appareil est identifié par un numero unique, le IMEI (International Mobile Equipment Identity), et la carte SIM par le IMSI (International Mobile Subscriber Identity), qui contient la clé secrete necessaire a l'authentification de l'utilisateur.
Bien entendu, on le voit, ces deux numeros sont toalement independants (c'est la raison pour laquelle un utilisateur peut utiliser n'importe quel appareil avec sa carte SIM).

Les Stations de Base
Ce reseau est constitué de deux parties, les BTS (Base Transceiver Station) et leurs BSC (Base Station Controller).
Les BTS sont les emetteurs/recepteurs qui definissent les cellules, zones de reception GSM.
Les BSC controllent plusieurs BTS, et gerent les canaux des liaisons radio. A ce titre, elles s'occuppent de la gestion des sauts de frequence durant les communications.
Enfin, elles s'occuppent de la conversion du canal "voix" en 13 Kbps de la liaison radio vers le 64 Kbps qu'utilise le reseau téléphonique public ou l'ISDN.

Le reseau des commutateurs
MSC pour Mobile services Switching Center. S'occuppe donc de commuter les communications, mais aussi de l'authentification et de la localisation.
Pour ce faire, il comprend les registres HLR (Home Location Register) et VLR (Visitor Location Register).
Le premier contient les données administratives de chaque utilisateur du reseau GSM considéré, avec la position du mobile.
Le second (le VLR) reprend certaines de ces infos, mais sont destinées a une zone de couverture precise.

Coté sécurité, on trouve le EIR (Equipment Identity Register), une base de données contenant la liste des équipement autorisés sur le reseau.
Chaque mobile est identifié dans la base par son numero IMEI, ce qui permet d'interdire ceux qui sont marqués comme volé, par exemple.

Enfin, le MSC contient une copie des clés secretes de chaque carte SIM du reseau dans l' Authentication Center.


Fonctionnement technique

Les liaisons radio entre mobiles et BTS sont definies comme suit (pour la norme GSM900):

o 890-915 Mhz pour la liaison montante (mobile=> BTS)
o 935-960 Mhz pour la liaison descendante (BTS=> mobile)

Vu le nombre énorme d'utilisateurs potentiels, on ne peut imaginer affecter une fréquence a chaque communication.
C'est pourquoi on utilise une méthode qui permet de faire passer plusieurs communications sur un meme canal (multiplexage) :le TDMA/ FDMA (Time­ and Frequency­Division Multiple Access).
D'abord le FDMA partage la bande passante de 25 Mhz en 124 canaux de 200 Khz. Puis pour chacun, le TDMA partage 8 communications dans le temps sur une meme frequence (les "slots").



La transmission se fait en mode burst : on transmet 156.25 bits (8.25 bits de pause pour ne pas rater un burst) en 0.557 ms, ce qui donne un taux de transfert de 270.833 Kbps.
Au final, chaque groupe de 8 slots est transmis toutes les 4.615 ms. On appelle ceci des frames TDMA.
Elles sont regroupées en multiframes, contenant soit 26 frames TDMA soit 51 frames TDMA.

Le 26-frames contient 24 canaux de transmission et 2 de controle (en milieu et fin de multiframe).
Le 51-frames est identique dans le principe, mais les canaux de controle sont au beut et au milieu de multiframe.

Les communications en GSM ne sont pas analogiques, mais numeriques. Les données sont encodées en PCM (Pulse Coded Modulation).
Comme le taux d'un flux PCM est de 64 Kbps, et que ceci est trop élevé pour une communication radio, un algorithme le converti en 13 Kbps.

Au final, les caractéristiques d'une liaison radio de type GSM sont les suivantes :

Code:

Mode GMSK (Gaussian­filtered Minimum Shift Keying)
Vitesse 270.833 Kbps
Bande passante 200 Khz




Jusque là, si on se limitait a ceci, le phreaking serait facile. Mais les ennuis commencent...


Evasion de fréquence

Si on a suivit jusque là, on voit qu'un mobile est un recepteur possédant de bonne qualité d'agilité en fréquence :
il doit etre capable de jongler entre des frequences montantes, descendantes, les time slots en TDMA.

Cette capacité lui permet en plus de fonctionner en sauts de fréquences : la frequence des canaux utilisés change dans le temps, rendant impossible le suivit sur une seule fréquence qu'on aurait accroché.
Le plan d'evasion de fréquences est envoyé en broadcast par le reseau des Stations de Base.
Ceci est en fait moins fait pour protéger la communication des oreilles indiscretes que pour eviter les risques de perturbations entre deux canaux contigus.





Cryptage et authentification

Par definiton, toute communication radio est accessible a n'importe qui (les ondes ne choisisssent par leur recepteur).
Par conséquent, le gros morceau est de s'assurer que le recepteur a bien le droit de lire la donnée transmise.

La politique de sécurité sur GSM mets en oeuvre deux entités principales :
la carte SIM, et le centre d'authentification (AC, Authentication Center).

Comme on l'a vu plus haut, chaque utilisateur s'est vu attribuer une clé secrete.
Celle ci est stockée dans la carte SIM et une copie dans l'AC.

Au moment de l'authentification, l'AC crée un nombre aléatoire de 128 bits qui est envoyé au mobile.
A ce moment là, le mobile et l'AC utilisent l'algorithme A3 pour créer un nombre de 32 bits a partir de la clé sercete et du nombre aléatoire envoyé.
Le mobile envoie le resultat de son calcul à l'AC, qui le compare avec le sien. Si les deux concordent, alors le mobile est authentifié.

Par la suite, durant la communication, ce nombre crypté est utilisé dans l'algorithme A5 (clés de 40 bits) qui va crypter les données transmises. avec comme clé une clé générée par l'algorithme A8 (contenu dans la carte SIM).

A ce stade, resumons les problemes d'un attaquant :

* il doit pouvoir transmettre sur le reseau GSM et recevoir. C'est a dire suivre le demultiplexage TDMA, les sauts de frequence, la denumerisation.
* il doit pouvoir fournir au reseau un identifiant IMEI approuvé
* il doit pouvoir s'authentifier aupres du reseau de Stations de Base.
* il doit pouvoir decrypter les données en A5.
* un echec au niveau de l'authentification avec A3 est loggé sur le reseau avec la raison et diversses données (localisation, heure, etc...)


Vulnérabilités

L'algorithme A5 qui crypte la transmission utilise des clés de 40 bits. Dit comme ca, les cyptanalystes en herbe doivent sourir devant la faiblesse de telles clés.
En un sens, ils ont raison : il existe plusieurs versions de cet algorithme, A5/1 (fort, limité a certains pays) et A5/2 (faible, sans limitations d'export).

Une semaine apres sa sortie, A5/2 était cassé en quelques douzaines de millisecondes, et Shamir cassait le A5/1 avec un ordinateur ordinaire en quelques secondes. Lire la description des attaques.


Cependant il faut bien comprendre qu'il ne s'agit pas pour A5 de garder secrete une clé pendant des jours : cette clé change a chaque communication, et probablement lors de la communication (on ne sait pas tout au sujet des algorithmes Ax, qui sont gardés secrets en Angleterre).
Il faudrait donc disposer du materiel necessaire pour un decryptage rapide lors de la communication. Un tel type de materiel d'interception existe, mais est reservé aux organismes gouvernementaux. Voir un exemple.

Une autre vulnérabilité est la possibilité de cloner des cartes SIM afin d'usurper une identité sur le reseau.
De nos jours ceci est tres facile, a l'aide d'appareils comme ceux ci :





enfin, il est possible d'attaquer un reseau par son service SMS.


Attaque DDoS sur GSM

Article SecuObs :

les communications entre un téléphone mobile et une station de base du réseau cellulaires sont répartis en deux types de canaux : les canaux de contrôle et les canaux de trafic. Pour une communication vocale, le canal de contrôle est utilisé pour initier la communication qui est ensuite transmise sur un canal de trafic. Les SMS, par contre, sont acheminés directement sur un canal de contrôle. C?est cette caractéristique qui explique que lors d?un évènement important entraînant de nombreux appels d?abonnés reliés à une même cellule, il est très difficile d?obtenir une communication vocale (tous les canaux de données sont utilisés). Par contre dans un tel cas les SMS sont souvent acheminés correctement.

Les messages SMS sont gérés par des serveurs SMSC (Short messaging service center) installés chez les opérateurs. Ceux-ci disposent d?une file d?attente dont la politique et la taille est gérée de manière spécifique à chaque opérateur. Cette file d?attente peut être beaucoup plus importante que la capacité mémoire des téléphones mobiles. Lorsque cette mémoire dédiée au SMS est saturée, les messages restent sur le SMSC jusqu'à ce que l?utilisateur efface des messages.

Les chercheurs ont déterminé qu?en utilisant différents moyens d?envoi de SMS par internet, il est possible d?injecter des centaines voire des milliers de messages par seconde dans le réseau d?un opérateur. Ainsi par exemple, le fournisseur StartCorp permet d?envoyer jusqu'à 35 SMS par seconde par connection SMPP (Short Messaging Peer Protocol). Il est également possible de passer par des services de messagerie instantanée ou d?alerte. Les envois sont limités par les opérateurs soit en fonction des adresses IP d?envoi soit en fonction des numéros de téléphones de réception.

Pour pouvoir saturer le réseau, il faut pouvoir déterminer un grand nombre de numéros de portables présents sur une zone donnée. Cela n?est pas possible en écoutant le traffic GSM puisque chaque terminal se voit affecté un TMSI (Temporary Mobile Subscriber ID) qui évite de faire transiter en clair le numéro de téléphone. Par contre les chercheurs démontre que des recherches google avancées peuvent permettre de collecter de nombreux numéros. Il est également possible de le faire en observant les réponses faites par les applications d?envoi de sms gratuit proposés par les réseaux américains. Notons que cette attaque par force brute peut être menée sur une longue période, lentement, et depuis un grand nombre d?adresses IP (en utilisant un botnet) la rendant très peu détectable. De nombreuses autres techniques sont recensées, de la création de vers internet, jusqu'à l?utilisation de dispositif bluetooth.

Les chercheurs ont ensuite cherché à déterminer combien de sms étaient nécessaires pour saturer le canal de contrôle d?une cellule et donc interdire l?établissement des communications vocales. Lors de la transmission d?un SMS un canal de contrôle SDCCH va être alloué à un terminal pendant 4 à 5 secondes, le temps de transmettre les 160 octets du message. Il est ainsi possible de transmettre 900 messages à l?heure par canal. Les chercheurs ont déterminé qu?en général, dans une zone urbaine, 8 canaux SDCCH sont présents, ce qui donne une capacité de quelques centaines de messages par secondes. Il est donc possible de saturer ces canaux puisqu?il est possible d?envoyer au SMSC plus de messages qu?une cellule ne peut en gérer.

Il serait par exemple possible, en réunissant une liste de 2500 numéros sur une même zone, de provoquer une panne d?une dizaine de minutes, en envoyant à chaque numéro un message tous les 10 secondes. Au vu de la bande passante requise, cela est possible depuis une simple connexion haut débit. Pour saturer l?ensemble du réseau GSM américain, une bande passante de 3,7 Gigabits par secondes serait nécessaire.











4N9e pour FutureZone, 2005