La semaine dernière, lors du 31C3 (le Chaos Communication Congress), deux chercheurs en sécurité ont présenté leurs travaux sur SS7, ou plutôt les failles qui permettent d’exploiter SS7.
Alors, SS7, c’est quoi exactement ?
Derrière l’acronyme se cache une panoplie de protocoles de signalisation téléphonique, utilisée sur la quasi-totalité du globe par des opérateurs de téléphonie.
« SS » c’est pour Signaling System ou Système de Signalisation et 7, c’est parce qu’avant, il y avait SS6, puis SS5 …
SS7, c’est un ensemble de protocoles de signalisation téléphonique, en français : c’est un moyen que les éléments du réseau téléphonique utilisent pour échanger des informations, ni plus, ni moins.
Si c’est un peu nébuleux, voici quelques exemples plus explicites :
- Vous tentez d’appeler quelqu’un qui est déjà en appel. SS7 le voit, demande à ce que l’appel soit libéré et à ce qu’on vous renvoie une tonalité d’occupation.
- Vous tentez d’appeler quelqu’un d’autre. C’est SS7 qui annonce qu’un appel est tenté vers tel numéro. Pour vulgariser, il demande « où je dois envoyer l’appel s’il vous plait ? »
Dans les grandes lignes, le rôle de SS7 c’est : la signalisation d’appel, l’interconnexion des appels, des réseaux, l’échange d’informations entre les utilisateurs et plein d’autres choses, dont les messages.
Ah, j’oubliais un détail très important : SS7 a aussi pour rôle de faire passer un appel téléphonique à travers les réseaux.
Pour ce faire, il doit impérativement disposer d’un certain nombre d’informations :
- D’où vient l’appel ?
- Par quels équipements l’appel passe ?
- Par quelles lignes téléphoniques l’appel passe ?
- Vers où doit aller l’appel ?
- Est-ce que le réseau est disponible ou non ? Et si ce n’est pas le cas, comment doit passer l’appel ?
SS7 est donc une importante source d’informations puisqu’il doit savoir qui fait quoi, quand, où, avec qui …
Voilà. Vous avez le réseau SS7 dans les (très) grandes lignes mais elles me semblent suffisantes pour la suite.
Reprenons donc… Au 31c3, deux chercheurs venaient présenter leurs travaux sur SS7. Le 29 décembre, le journal Le Monde, via sa chronique Pixels, publiait un article intitulé « Le SS7, le réseau des opérateurs qui permet de surveiller vos téléphones portables ».
Première « erreur » : SS7 ce n’est pas un réseau. C’est un ensemble de protocoles, comme nous avons pu le voir. Bon c’est tout bête comme erreur, mais c’est dommage. J’ai d’abord pensé que c’était compliqué d’expliquer, mais puisque je viens de le faire je pense que c’est accessible.
Que dit cet article ?
Un petit peu trop anxiogène à mon gout, l’article dit qu’il est possible de se faire localiser d’une façon très précise, de se faire intercepter ses SMS et ses appels… Bref, de se servir de ce que fait SS7 à la base.
Les chercheurs ont souligné un point bien plus dérangeant en revanche : l’accès « open bar » à SS7, c’est là qu’il faut s’alarmer, sans pour autant basculer dans la paranoïa, il faut simplement comprendre :
- les fonctions de SS7 n’ont rien de dérangeant en soi : pour fonctionner, SS7 doit localiser d’une façon très précise un terminal, il doit faire transiter des messages et des appels, il est donc possible de les intercepter, puisque les messages transitent grâce à ce SS7
- le fait qu’un utilisateur lambda ou qu’autre chose qu’un opérateur puisse se servir de SS7, là, c’est une autre histoire, bien plus dérangeante.
Cet open bar, c’est volontaire ?
Oui et non.
Non car techniquement parlant, SS7 est très ancien, il date de 1975. Depuis, de nombreuses (r)évolutions ont vu le jour et le protocole ne s’est pas spécialement adapté. C’est techniquement faux mais on pourrait dire que SS7 est un protocole de 1975 avec plein de rajouts.
Oui car à l’époque, il y avait une sécurité suffisante avec SS7. Oui également car cette ouverture permet de faciliter bien des choses sur le plan technique. Pour les opérateurs, qui ont moins de contraintes. Pour faciliter la rapidité des échanges également. Puis c’est pratique pour ceux qui ont besoin d’aller mettre leur nez dedans.
Et ça se corrige ?
A nouveau, oui et non.
Non, ça ne se corrige pas car il faudrait presque repenser un nouveau protocole et que c’est très compliqué, puisque la quasi-totalité des opérateurs téléphoniques passent à un moment ou à un autre avec SS7.
Oui, ça se corrige, mais l’actuel blocage est plus politique et financier que technique. Pourquoi investir des milliards pour refaire quelque chose qui fonctionne actuellement ? Les états, opérateurs et j’en passe n’iront pas investir tant qu’ils n’y seront pas obligés et les pouvoirs politiques n’ont aucune raison de forcer les opérateurs à le faire.
On pourrait également dire qu’à terme, avec l’arrivée de la 4G, SS7 serait de moins en moins utilisé. Les réseaux 4G ne se servent pas de SS7 pour la signalisation téléphonique, mais de SIP, un autre protocole. C’est techniquement faux, puisqu’il y aura toujours SS7 derrière… mais sur le papier, ça serait une jolie solution.
Rajoutons à cela que pour voir cette solution arriver, il faudrait que tout passe par le réseau 4G, tout le temps, sans jamais basculer en 3G ou 2G ou GSM. Autant dire que c’est impossible.
Et je dois être parano ?
Très sincèrement ? Non. Ces accès « open bar » ne datent pas d’hier, un article du Washington Post en parlait déjà au mois d’aout (EN) et, à mon humble avis, ils existaient bien avant.
Ce n’est pas SS7 qui pose problème, c’est sa facilité d’accès, certainement utilisée par des particuliers curieux, par des agences de renseignement, CIA, NSA et j’en passe, qui me dérange. A nouveau, il convient de ne pas sombrer dans la paranoïa, ce n’est pas parce qu’ils peuvent le faire qu’ils espionnent l’ensemble de la planète.
Résumons donc : SS7 est un ensemble de protocoles qui fait ce qu’on lui demande : faire de la signalisation d’appel. Ces protocoles fonctionnent mais l’accès à SS7, lui, est un peu trop ouvert parce que c’est vieux et que ça n’a pas bougé depuis et ça, ce n’est pas génial.
Problème assez sérieux qui ne sera hélas pas corrigé demain, ni dans un an, peut-être même pas dans 10…