Cartographie et audit du réseau GSM avec des outils Open Source Toulouse Hacker Space Factory 25-27 mai 2012, Toulouse
Introduction Les réseaux mobiles millions de citoyens sont le quotidien de et reposent sur des technologies fermées et propriétaires. L atelier analyse les signaux radios utilisés et les problèmes liés à la sécurité des utilisateurs: géo localisation et traçage des utilisateurs de téléphone mobile, atteinte à la confidentialité des communications, information et repérage des mouvements des portables. Les outils utilisés sont d'anciens téléphones mobiles modifiés. 2
Bio Ingénieur en sécurité informatique français Activités principales : Audits de sécurité et tests d'intrusion Formations sécurité Recherche en sécurité Intérêts : Sécurité des protocoles (authentification, cryptographie, fuites d'information, preuves zero-knowledge...) Théorie des nombres (factorisation, tests de primalité, courbes elliptiques...) 3
Infrastructure du réseau GSM 4
GSM Global System for Mobile Communications En Europe, 2 normes principales : GSM 900 GSM 1800 (aussi appellée DCS 1800) Confidentialité assurée par les chiffrements A5/1 et A5/2 Couverture d'une cellule GSM jusqu'à 50 km! 5
GSM - Fréquences 6
Structure simplifiée du réseau GSM 7
Quelques moyens d'identifier les utilisateurs d'un réseau GSM... Numéro de téléphone (MSISDN) IMSI («International Mobile Subscriber Identity») : numéro d'abonné international unique = MCC (pays) + MNC (réseau) + HLR (h1 h2) + MSIN CCID : numéro de série de la carte SIM IMEI : numéro de série du téléphone (*#06#) 8
Présentation d'osmocombb 9
OsmocomBB Open Source Mobile COMmunications Base Band Projet Open Source d'ouverture du protocole GSM Créé par Harald Welte en Janvier 2010 Compatible avec de vieux téléphones (20 à 30 ) : Motorola C115/C123/C140/C155... 10
Scan et cartographie des opérateurs et antennes GSM 11
Scan des opérateurs et antennes GSM Parcours des fréquences GSM (channel hopping) à l'écoute d'informations émises par les réseaux (broadcast) Recensement des ARFCN utilisées Récupération des informations sur les cellules voisines 12
Géolocalisation des cellules Chaque cellule GSM (BTS) est identifiée par 4 nombres : MCC: Mobile Country Code MNC: Mobile Network Code LAC: Location Area Code CID: Cell ID (MCC: 262, MNC: 01) = T-Mobile Deutschland 13
Géolocalisation des cellules Plusieurs tentatives ont vu le jour pour recenser et géolocaliser les cellules : Source: Wikipedia (http://en.wikipedia.org/wiki/cell_id) 14
Géolocalisation des cellules Pourquoi ne pas utiliser la puissance de Google? Base gigantesque et continuellement mise à jour grâce aux : Flickr photo by PhyreWorX Licensed under thecc Attribution-Share Alike 2.0 Generic license Google Cars & Téléphones Android 15
Géolocalisation des cellules POST /loc/json HTTP/1.1 Accept Charset: utf 8 Accept Encoding: plain Cache Control: no cache Connection: close Content Length: 242 Content Type: application/json Host: www.google.com {"radio_type": "gsm", "address_language": "fr_fr", "host": "maps.google.com", "version": "1.1.0", "cell_towers": [{"mobile_network_code": 1, "cell_id": 32755, "mobile_country_code": 208, "location_area_code": 24832}], "request_address": true} Requête sur l'api de géolocalisation GSM de Google Gears 16
Géolocalisation des cellules {"location": {"latitude":48.886363,"longitude":2.246213,"address": {"country":"france","country_code":"fr","region":"ile de France","county":"Hauts de Seine","city":"Puteaux","street":"Rue Paul Lafargue","street_number":"16","postal_code":"92800"},"acc uracy":500.0},"access_token":"2:1dxrwvfk6ejlzspv:bdhb9oizx wm0bwsb"} Corps de la réponse Détails intéressants : Latitude et longitude Adresse postale (comprenant numéro et nom de rue, code postale, ville, région et pays!) Précision (en mètres) couverture de la cellule? 17
Géolocalisation des cellules $ tshark i lo udp V gsm_a.cell_ci grep A2 'Cell CI' Cell CI: 0x3198 (12696) Location Area Identification LAC (0x1005) Mobile Country Code (MCC): 208, Mobile Network Code (MNC): 10 Cell CI: 0x31fe (12798) Location Area Identification LAC (0x1005) Mobile Country Code (MCC): 208, Mobile Network Code (MNC): 10 Cell CI: 0x3806 (14342) Location Area Identification LAC (0x044c) Mobile Country Code (MCC): 208, Mobile Network Code (MNC): 10 Cell CI: 0xe0ba (57530) Location Area Identification LAC (0x044c) Mobile Country Code (MCC): 208, Mobile Network Code (MNC): 10 Extraction des numéros de cellule GSM 18
Recensement et identification des utilisateurs GSM dans un périmètre 19
Utilisateurs GSM Normalement, les IMSI utilisateurs ne doivent peu ou pas transiter en clair sur le réseau Utilisation d'identifiants temporaires (TMSI) En pratique, les IMSI en clair sont fréquents et nombreux (reconnexions fréquentes au réseau) Il est donc facile d'avoir des statistiques précises sur : Les pays d'origine des utilisateurs Leur opérateur GSM d'origine Les réseaux sur lesquels ils sont 20
Présentation d'un outil de visualisation des réseaux et utilisateurs GSM 21
Fonctionnalités de l'outil Upload du firmware modifié dans le téléphone (couche 1) Lancement des couches 2 et 3 côté PC Ecoute des trames GSM côté PC Pilotage du téléphone par l'interface telnet d'osmocombb Recensement et identification des opérateurs, antennes et utilisateurs GSM Cartographie automatique des antennes GSM 22
23
24
Bref état de l'art sur les attaques GSM 25
GSM : les risques? Géolocalisation Déni de service : brouillage radio, demande de slots radio en boucle, flood des téléphones... Interception / Ecoute : communications de service, SMS, voix, data,... Falsification / Usurpation d'identité 26
Pour aller plus loin... Projet OsmocomBB : http://bb.osmocom.org/trac/ API Google Gears Geolocation (obsolète!) : http://code.google.com/p/gears/wiki/geolocationapi OpenLayers : http://openlayers.org/ 27
Merci! Des questions? 28