HSC
Cabinet de consultants en sécurité informatique depuis 1989 - Spécialisé sur Unix, Windows, TCP/IP et Internet
Mode texte : accès au contenu de la page
Hervé Schauer Consultants
Vous êtes ici : Accueil > Ressources > Brèves > Overbilling sur le GPRS
Accéder au : Site HSC des formations
Télécharger le catalogue des formations
Recherche :  
English version
   Services   
o Domaines de compétences
o Conseil & Expertise
o Prestations ISO 27001
o Audit & Évaluation
o Tests d'intrusion
o Tests de vulnérabilités (TSAR)
o Analyse Forensique
o Certification ARJEL
o Formations
o E-learning
   Conférences   
o Agenda
o Interventions passées
o Tutoriels
   Ressources   
o Index thématique
o Brèves
o Présentations
o Cours
o Articles
o Outils (téléchargement)
o Veille en vulnérabilité
   Société   
o Hervé Schauer
o Equipe
o Offres d'emploi
o Références
o Historique
o Partenariats
o Associations
   Presse et
 communication
 
 
o Newsletter HSC
o Bulletin juridique HSC
o Revue de presse
o Communiqués de presse
o Publications
   Contacts   
o Coordonnées
o Requêtes particulières
o Accès à nos locaux
o Hôtels proches de nos locaux
|>|Overbilling sur le GPRS  

par Stéphane Milani (11/07/2006)



========================================================================
Brève sur le GPRS et les attaques Overbilling entre autre
========================================================================


1 --- Introduction
========================================================================

Cette brève s'efforcera de vulgariser l'architecture GPRS et un problème 
de sécurité se nommant attaque Overbilling (surfacturation) et pouvant 
survenir du côté des clients abonnés. La sécurité du GPRS en elle-même 
ou les problèmes de sécurité interne au fournisseur et inhérents au GPRS 
ne sont pas abordés. Cette brève ne fait donc preuve d'aucune 
exhaustivité.


2 --- Vue d'ensemble
========================================================================

Le GPRS (General Packet Radio Services) est une architecture de réseau 
informatique (technologie orientée paquets) qui est conçue pour 
s'intégrer avec les réseaux GSM existants (technologie de commutation 
de circuits). Ceci permet aux abonnés mobiles d'avoir accès à des 
réseaux d'entreprises et à Internet. L'apport du GPRS est donc la 
compatibilité avec les protocoles TCP/IP, ce qui permet d'utiliser des 
programmes utilisant TCP/IP (http, smtp, pop3, imap4, ftp,...) sur les 
périphériques mobiles. La technologie GPRS autorise une connexion 
permanente au réseau et donc aussi à Internet.

Les opérateurs GSM ou UMTS utilisent cette architecture avec le 
protocole GTP (GPRS Tunneling Protocol) pour convertir les signaux 
radios des abonnés en paquets de donnés. Ces derniers sont transportés 
dans des tunnels non chiffrés et aucune authentification n'est 
effectuée. GTP ne fournit donc pas de sécurité.

Les opérateurs mobiles ajoutent l'Internet mobile et des services de 
réseaux privés virtuels (Virtual Private Network - VPN) à leurs 
services mobiles de voix. Les réseaux GPRS sont connectés à plusieurs 
réseaux informatiques externes comprenants ceux des partenaires 
d'itinérance (roaming), les clients, les fournisseurs GRX (Global 
Roaming Exchange) et l'Internet.


3 --- Architecture
========================================================================

Une station mobile (ou Mobile Station - MS) s'attache à un noeud SGSN 
(Serving GPRS Support Node). La fonction principale du SGSN est de 
fournir des services de supports de données à la station mobile. Le 
SGSN est connecté à une passerelle GGSN (Gateway GPRS Support Node) 
via le GTP.

La connexion GTP dans un PLMN (Public Land Mobile Network) s'appelle 
l'interface Gn. La connexion entre deux PLMN différents est 
l'interface Gp qui est principalement utilisée pour l'itinérance 
(roaming) entre fournisseurs. Le GGSN permet le passage de données vers 
les réseaux externes (comme Internet ou les réseaux d'entreprise) via 
l'interface Gi.

GTP encapsule les données de la station mobile et inclut également des 
mécanismes pour établir, déplacer et supprimer les tunnels entre le SGSN 
et le GGSN lors des scénarios d'itinérance.

L'interface utilisée pour connecter un fournisseur à sa comptabilité et 
à sa facturation interne s'appelle l'interface Ga.

L'architecture réseau du GPRS peut être simplifiée de la façon 
arbitraire suivante:

                 GRX - Partenaire Roaming
                           |
                     Border Gateway
                           |
                      Interface Gp
                           |
                           |
Interface Gb - SGSN - Interface Gn -- GGSN -- Interface Gi -- Internet
     |                     |
     |                     |
    BSC               Interface Ga
     |                     |
    BTS            Billing / Accounting
     |
 Mobiles (MS)


Gi: interface entre le réseau GPRS et un réseau externe comme Internet.
Gp: interface entre deux réseaux d'opérateurs mobiles (PLMN et PLMN), 
    principalement utilisée pour l'itinérance.
Ga: interface pour les systèmes de comptabilité et de facturation.
Gn: interface qui sécurise le réseau interne des fournisseurs (réseau 
    backbone GSN).
Gb: interface entre BSS et SGSN.
Gr: interface entre SGSN et HLR.
Gs: interface entre SGSN et MSC.
BSS: Base Station Subsystem (BTS + BSC).
BTS: Base Transceiver Station.
BSC: Base Station Controller.


4 --- Interfaces Gp et Gi
========================================================================

Les interfaces Gp et Gi sont les points principaux des interconnexions
entre les opérateurs et les réseaux externes de non-confiance. Les
principales attaques proviennent donc de ces réseaux externes et il
convient que les opérateurs doivent prendre les mesures adéquates afin
de sécuriser leur réseau.

L'interface Gp est donc la connexion logique vers les partenaires qui 
supportent l'itinérance pour leurs utilisateurs. GTP étant utilisé pour 
établir la connexion entre le SGSN et le GGSN des partenaires 
d'itinérance, seul le trafic suivant doit être permis depuis/vers un 
réseau d'opérateurs sur l'interface Gp:

- GTP: pour permettre la connectivité logique entre le SGSN et le GGSN
       des partenaires d'itinérance.
- BGP: pour fournir les informations de routage entre l'opérateur et le 
       GRX et/ou les partenaires d'itinérance.
- DNS: pour fournir la résolution de noms pour un APN.

Gi est l'interface permettant à une station mobile d'accéder à Internet 
ou bien à un réseau d'entreprise et toute sorte de trafic peut 
virtuellement y être utilisé étant donné que toutes sortes 
d'applications peuvent se trouver sur la station mobile. 


5 --- Attaques sur les interfaces Gp et Gi
========================================================================

Nous n'aborderons pas ici les attaques concernant l'infrastructure de 
l'opérateur (Déni de service, DNS Flood, GTP Flood, Spoofed Create PDP 
Context Request, ...). Nous nous attacherons à expliquer une attaque 
touchant les abonnés, telle que l'attaque Overbilling (surfacturation). 
Cette dernière consiste pour un attaquant à utiliser l'adresse IP d'une 
autre station mobile et à effectuer un téléchargement depuis un serveur 
malveillant sur Internet. Une fois le téléchargement commencé, 
l'attaquant sort de la session et le serveur malveillant garde le 
pare-feu Internet ouvert en envoyant des drapeaux TCP FIN. La station 
mobile attaquée reçoit alors du trafic qu'elle n'a pas sollicitée. Un 
attaquant peut également envoyer du trafic non sollicité vers la victime 
et donc la spammer. La victime se voit alors facturée pour des données 
et du trafic qu'elle n'a pas sollicité et qu'elle n'a pas voulu.

L'attaque Overbilling peut se produire sur l'interface Gp mais
également sur les interfaces Gi ou Gn.


6 --- Explication du TCP FIN émis par le serveur malveillant
========================================================================

Le drapeau TCP FIN est la méthode polie pour terminer une session TCP. 
Elle se passe en deux parties et chaque hôte doit émettre un FIN et 
acquitter le FIN de l'autre du fait qu'une connexion TCP est full 
duplex. 
Si un seul des hôtes termine la session, la connexion est alors dite 
semi-fermée. C'est un comportement normal puisque les données sont 
envoyées de manière aynchrone. Les deux parties de la connexion ont 
donc besoin d'être individuellement terminées.

1ere partie - le serveur malveillant envoie un FIN et le pare-feu 
répond avec un ACK:
serveur malveillant  -->  FIN  -->  pare-feu Internet
serveur malveillant  <--  ACK  <--  pare-feu Internet

2eme partie - le pare-feu envoie un FIN mais le serveur malveillant 
ne répond pas:
pare-feu Internet  -->  FIN  -->  serveur malveillant
Le serveur malveillant n'envoie alors pas de réponse au pare-feu 
Internet. La session est dite "semi-fermée".

Exemple:

Lancement du serveur:
# ./Serveurmalveillant_OverbillingGPRS_FINflood 
Serveur démarré

Depuis une machine illustrant la victime:
# sudo hping -S -s 445 -p 135 -c 1 viewlexx.hsc.fr
HPING viewlexx.hsc.fr (eth0 192.70.106.78): S set, 40 headers + 0 data 
bytes len=46 ip=192.70.106.78 ttl=64 DF id=0 sport=135 flags=SA seq=0 win=5840 rtt=0.2 ms

Sur le serveur, le message suivant s'affiche:
Début de l'attaque contre 192.70.106.111:445 seq 1060534074

L'administration du serveur s'effectue via Telnet:
$ nc localhost 8080 
Victimes actuelles
-1486718032,192.70.106.111,460700

En analysant le trafic sur la machine illustrant la victime:
# tethereal -n -i eth0 | grep 192.70.106.78
0.343502 192.70.106.78 -> 192.70.106.111 TCP 135 > 445 [FIN, ACK] Seq=0 Ack=0 Win=16384 Len=0
0.343513 192.70.106.78 -> 192.70.106.111 TCP 135 > 445 [FIN, ACK] Seq=0 Ack=0 Win=16384 Len=0

L'inondation (Flood) de paquets FIN est bien effective depuis le serveur 
malveillant.


7 --- Protection contre l'Overbilling sur l'interface Gn
========================================================================

La solution classique et propriétaire pour se prévenir d'une attaque 
Overbilling est d'utiliser un pare-feu Gn GTP afin de notifier un 
pare-feu Gi d'une attaque. Ce dernier doit alors terminer les sessions 
ou les tunnels ainsi que couper le trafic non voulu.
Ce mécanisme peut très bien être utilisé pour une autre interface telle 
que Gp.

Le pare-feu Gn crée et maintient les états de sessions GTP, les paquets 
GTP sont alors interceptés entre le SGSN et le GGSN. De cette façon, le 
pare-feu Gn GTP peut immédiatement détecter quand un utilisateur mobile 
se détache du réseau. Quand l'abonné mobile termine sa session, le 
pare-feu Gn utilise un protocole de contrôle afin d'alerter le pare-feu 
Gi et de fermer les connexions IP.

           GRX - Partenaire Roaming
                      |
                Border Gateway
                      |
                    FW GTP
                      |
                 Interface Gp
                      |
                      |
SGSN --- Interface Gn - FW GTP - GGSN --- Interface Gi -- FW Gi -- Internet
                      |
                      |
                 Interface Ga
                      |
              Billing / Accounting


8 --- Références
========================================================================

- GPRS Overbilling attack - Using Unclosed Connections
  Eric Gauthier - Orange Communications SA - 25 Février 2003
  http://www.orange.ch/

- Deploying Enhanced NAT Services in GPRS Networks
  (Mitigating Overbilling Attack)
  Ariff Premji - Juniper Networks
  http://www.juniper.net/solutions/literature/app_note/350076.pdf

- Firewall-1 GX
  Check Point
  http://www.checkpoint.com/products/firewall-1_gx/index.html

- GPRS Security
  Charles Brookson - Decembre 2001
  http://www.brookson.com/gsm/gprs.pdf

- Attacks and Counter Measures in 2.5G and 3G
  Ollie Whitehouse & Graham Murphy - @Stake - Mars 2004
  http://www.atstake.com/

- GPRS from IP security point of view
  Stéphane Aubert - HSC - FIRST Conference 2001
  http://www.hsc.fr/ressources/presentations/gprs/

- Malicious Server
  Dimo Velev
  http://home.in.tum.de/~velev/projects/malicious_server/

- RFC 793 - TRANSMISSION CONTROL PROTOCOL
  http://www.ietf.org/rfc/rfc0793.txt

========================================================================

Stéphane Milani <Stephane.Milani@hsc.fr>
Hervé Schauer Consultants



Dernière modification le 19 septembre 2008 à 14:04:32 CET - webmaster@hsc.fr
Mentions légales - Informations sur ce serveur - © 1989-2013 Hervé Schauer Consultants