BroadNet
SS7 / MAPSécurité

Menaces de sécurité SS7 et catégories GSMA FS.11

Mis à jour le 5 min de lectureFondé sur des normes
Réponse directe

Le SS7 a été conçu pour un club d'opérateurs de confiance ; il n'a donc aucune authentification au niveau message — un nœud étranger peut interroger ou usurper des opérations MAP pour tracer une localisation, intercepter des SMS et des OTP, ou rediriger des appels. La GSMA FS.11 définit une défense : classer les messages MAP entrants en catégories 1, 2 et 3 et filtrer chacune à la frontière du réseau.

§01

Pourquoi le SS7 est exploitable

Le SS7 suppose que chaque pair de signalisation est un opérateur de confiance ; les opérations MAP ne portent donc aucune authentification cryptographique de leur origine. À mesure que l'interconnexion s'est ouverte et que l'accès est devenu largement disponible, un attaquant disposant d'une connectivité SS7 pouvait envoyer des requêtes et mises à jour MAP qu'un réseau traitait comme venant d'un partenaire légitime. Il en résulte une classe d'attaques ne nécessitant aucun accès au combiné cible — seulement la capacité d'envoyer des messages SS7 vers le réseau de la victime.

§02

Les principales classes d'attaques

L'abus du SS7 se répartit en quelques catégories reconnues. Le traçage de localisation utilise les opérations d'interrogation pour résoudre un abonné vers une cellule ou une zone. L'interception exploite les procédures de routage et de mobilité pour détourner des SMS ou des appels vers l'attaquant. La fraude et le déni de service manipulent l'état ou l'interdiction de l'abonné. Comme les codes à usage unique sont couramment envoyés par SMS, l'interception de SMS sape directement l'authentification à deux facteurs par SMS.

Classes d'attaques SS7 et opérations MAP typiquement détournées
AttaqueOpérations exploitéesEffet
Suivi de localisationanyTimeInterrogation, provideSubscriberInfo, sendRoutingInfoForSMLocaliser l'abonné au niveau cellule/zone
Interception SMS / OTPupdateLocation (usurpée), redirection mt-ForwardSMDétourner les SMS MT vers le nœud de l'attaquant
Interception/redirection d'appelsupdateLocation, provideRoamingNumber, insertSubscriberDataRéacheminer ou surveiller les appels
Fraude / DoScancelLocation, purgeMS, updateLocationDésinscrire l'abonné, refuser le service
Vol d'identifiantssendAuthenticationInfoCollecte de vecteurs d'authentification
§03

Les catégories GSMA FS.11

La GSMA FS.11 (SS7 Interconnect Security Monitoring and Firewall Guidelines) classe les messages MAP entrants selon leur origine légitime possible, donnant aux opérateurs un référentiel de filtrage. Les messages de catégorie 1 ne devraient jamais être reçus sur une interconnexion depuis un autre opérateur — ils appartiennent à l'intérieur d'un même réseau — et sont donc bloqués d'emblée à la frontière. Les messages de catégorie 2 ne devraient venir que du réseau nominal de l'abonné, et sont donc bloqués lorsque l'origine n'est pas le réseau nominal. Les messages de catégorie 3 peuvent légitimement arriver d'un réseau où l'abonné est en itinérance, et ne peuvent donc être bloqués par la seule origine ; ils exigent des contrôles de plausibilité et de vélocité.

Catégories de messages GSMA FS.11
CatégorieOrigine légitimeAction du pare-feuExemples
1Uniquement au sein du réseau de l'opérateurBlocage de l'interconnexion entranteanyTimeInterrogation, sendIMSI, provideSubscriberInfo (entrant)
2Uniquement depuis le réseau de rattachement de l'abonnéBloquer si la source ≠ réseau de rattachementcancelLocation, insertSubscriberData, deleteSubscriberData
3Depuis un réseau visité où l'abonné est en itinéranceVérifications de plausibilité et de vitesseupdateLocation, sendRoutingInfoForSM, provideRoamingNumber
§04

Règles de pare-feu qui implémentent FS.11

Un pare-feu de signalisation applique FS.11 par couches. Au niveau SCCP, il filtre le global title du Calling Party par rapport à des listes d'autorisation/refus et vérifie la cohérence GT-vs-point code. Au niveau MAP, il inspecte le code d'opération et applique la règle de catégorie. Pour la catégorie 3, il ajoute des contrôles à état : un contrôle de vélocité signale un abonné qui semble se déplacer entre des pays distants plus vite que physiquement possible, et des contrôles de cohérence comparent le réseau de service déclaré à la localisation connue du HLR. Le trafic de catégorie 1 est simplement rejeté et journalisé.

Logique de pare-feu FS.11 illustrativetext
on inbound MAP message from interconnect peer P:
  if opcode in CATEGORY_1:        drop + alert   # never valid across interconnect
  if opcode in CATEGORY_2:
        if P != subscriber.homeNetwork: drop + alert
  if opcode in CATEGORY_3:        # e.g. updateLocation, SRI-SM
        if velocityImplausible(subscriber, P): drop + alert
        if !consistentWithHLR(subscriber, P):  drop + alert
  else: allow + log
§05

Défense en couches

Aucun contrôle isolé ne suffit. Le filtrage FS.11 est complété par les recommandations FS.19 (équivalent Diameter) pour la LTE et par les contrôles de pare-feu SMS (GSMA IR.70/interfonctionnement SMS) contre le spam et les grey routes. Les opérateurs associent un pare-feu de signalisation à une surveillance continue, pour que les motifs nouveaux passant les règles statiques ressortent tout de même comme des anomalies. L'atténuation stratégique de l'interception SMS spécifiquement est de réduire la dépendance aux OTP par SMS, mais pour les réseaux qui doivent les porter, le filtrage à la frontière reste la défense principale.

FAQ

Questions fréquemment posées

Pourquoi le SS7 est-il non sécurisé ?

Le SS7 a été bâti pour un ensemble restreint d'opérateurs de confiance et n'a jamais ajouté d'authentification de l'origine des messages. Une fois l'accès à l'interconnexion largement disponible, un attaquant capable d'envoyer des messages SS7 pouvait se faire passer pour un réseau légitime et voir des requêtes MAP répondues ou exécutées — sans aucun accès au combiné cible.

Quelles sont les catégories GSMA FS.11 ?

FS.11 trie les messages MAP entrants selon leur origine légitime. La catégorie 1 ne devrait jamais franchir une interconnexion et est bloquée. La catégorie 2 ne devrait venir que du réseau nominal de l'abonné et est bloquée sinon. La catégorie 3 peut arriver d'un réseau visité, et nécessite donc des contrôles de plausibilité et de vélocité plutôt qu'un blocage pur.

Comment un pare-feu SS7 stoppe-t-il l'interception de SMS ?

Il filtre les opérations SendRoutingInfoForSM et UpdateLocation que les attaquants utilisent pour rediriger les MT-SMS. Il vérifie la source par rapport à la relation nominal/visité, applique des contrôles de vélocité pour qu'un abonné ne puisse apparaître dans deux pays distants à la fois, et rejette le trafic implausible ou de catégorie 1.

Qu'est-ce qu'un contrôle de vélocité ?

Un contrôle de vélocité (ou de plausibilité) compare la localisation nouvellement déclarée d'un abonné à sa dernière localisation connue et au temps écoulé entre les deux. Si le déplacement impliqué est physiquement impossible — par exemple des mises à jour d'itinérance depuis deux continents à quelques secondes d'intervalle — le message est traité comme usurpé et bloqué.

Un pare-feu SS7 remplace-t-il l'abandon des OTP par SMS ?

Non — il réduit l'exposition mais ne l'élimine pas. Le filtrage à la frontière est la défense principale pour les réseaux qui doivent porter des OTP par SMS, mais l'atténuation la plus forte contre l'interception est de réduire la dépendance aux codes à usage unique par SMS lorsqu'un facteur plus robuste est disponible.

Références

Spécifications sources

Les normes publiées sur lesquelles repose cette page. S'ouvre dans un nouvel onglet.

BNMaintenu par l'équipe d'ingénierie BroadNet·Messagerie de qualité opérateur depuis 2003
Placez-le sur le fil

Conçu avec une véritable liaison SMPP et une API REST.

Demandez un accès de test avec de véritables clés de test : envoyez d’abord à votre propre numéro vérifié, puis passez en production dans plus de 200 pays une fois que votre identité d’expéditeur et vos routes seront approuvées.