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 FrequencyDivision
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 (Gaussianfiltered 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