Vous êtes ici : Accueil > > Papers > > Phreaking GSM Page précédente ;
Par 4N9e
Table des mati&egrav;res
A cause de sa diffusion planétaire et des implications commerciales et éconnomiques énormes qu'il represente, le syst&egrav;me de communications GSM est un syst&egrav;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...

Pour simplifier, le réseau GSM est consitué de 3 sous ensembles :
Les mobiles communiquent avec le réseau Stations de Base via l'interface Um, aussi appelée "radio link".
Le réseau Stations de Base communique avec le réseau 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 numéro unique, le IMEI (International Mobile Equipment Identity), et la carte SIM par le IMSI (International Mobile Subscriber Identity), qui contient la clé secr&egrav;te nécessaire à l'authentification de l'utilisateur.
Bien entendu, on le voit, ces deux numéros sont toalement indépendants (c'est la raison pour laquelle un utilisateur peut utiliser n'importe quel appareil avec sa carte SIM).
Les Stations de Base
Ce réseau est constitué de deux parties, les BTS (Base Transceiver Station) et leurs BSC (Base Station Controller).
Les BTS sont les émetteurs/récepteurs qui definissent les cellules, zones de réception GSM.
Les BSC contrôlent plusieurs BTS, et g&egrav;rent les canaux des liaisons radio. A ce titre, elles s'occuppent de la gestion des sauts de fréquence 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 réseau téléphonique public ou l'ISDN.
Le réseau 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 réseau GSM considéré, avec la position du mobile.
Le second (le VLR) reprend certaines de ces infos, mais sont destinées à une zone de couverture précise.
Coté sécurité, on trouve le EIR (Equipment Identity Register), une base de données contenant la liste des équipement autorisés sur le réseau.
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 secr&egrav;tes de chaque carte SIM du réseau dans l'Authentication Center.
Fonctionnement technique
Vu le nombre énorme d'utilisateurs potentiels, on ne peut imaginer affecter une fréquence à chaque communication.
C'est pourquoi on utilise une méthode qui permet de faire passer plusieurs communications sur un même 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 même fréquence (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 contrôle sont au bout et au milieu de multiframe.
Les communications en GSM ne sont pas analogiques, mais numériques. 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 à ceci, le phreaking serait facile. Mais les ennuis commencent...
Si on a suivi jusque là, on voit qu'un mobile est un récepteur possédant de bonne qualité d'agilité en fréquence :
il doit être capable de jongler entre des fréquences montantes, descendantes, les time slots en TDMA.
Cette capacité lui permet en plus de fonctionner en sauts de fréquences : la fréquence des canaux utilisés change dans le temps, rendant impossible le suivi sur une seule fréquence qu'on aurait accrochée.
Le plan d'évasion de fréquences est envoyé en broadcast par le réseau des Stations de Base.
Ceci est en fait moins fait pour protéger la communication des oreilles indiscretes que pour éviter les risques de perturbations entre deux canaux contigüs.

Par définiton, toute communication radio est accessible à n'importe qui (les ondes ne choisisssent par leur recepteur).
Par conséquent, le gros morceau est de s'assurer que le récepteur 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é secr&egrav;te.
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 à partir de la clé secr&egrav;te et du nombre aléatoire envoyé.
Le mobile envoie le résultat 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 chiffré est utilisé dans l'algorithme A5 (clés de 40 bits) qui va chiffrer 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, résumons les probl&egrav;mes d'un attaquant :
L'algorithme A5 qui crypte la transmission utilise des clés de 40 bits. Dit comme ca, les cyptanalystes en herbe doivent sourire 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 apr&egrav;s 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 secr&egrav;te une clé pendant des jours : cette clé change à 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 matériel nécessaire pour un decryptage rapide lors de la communication. Un tel type de matériel d'interception existe, mais est réservé 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 réseau.
De nos jours ceci est tres facile, à l'aide d'appareils comme ceux ci :



Enfin, il est possible d'attaquer un réseau par son service SMS.
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&egrav;nement important entraînant de nombreux appels d'abonnés reliés à une même cellule, il est tr&egrav;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&egrav;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&egrav;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.
Article paru sur FutureZone ;
4N9e
Page précédente | Accueil | Allez Up ! ;