2 points par GN⁺ 2025-05-18 | 1 commentaires | Partager sur WhatsApp
  • Une anomalie a été découverte dans le service VoLTE (4G Calling) de O2 UK : les informations de localisation du correspondant ainsi que les identifiants du terminal sont transmises
  • Les messages de signalisation IMS contiennent des données sensibles comme l’IMSI, l’IMEI et le Cell ID, facilement récupérables depuis l’extérieur
  • À l’aide de données publiques de crowdsourcing comme cellmapper.net, il est possible de déterminer précisément la position à partir de ces informations
  • Cette faille concerne tous les clients O2, exposant potentiellement n’importe qui à une attaque
  • Les utilisateurs et clients ordinaires n’ont aucun moyen d’empêcher cette fuite d’informations par eux-mêmes

Introduction

  • Voice over LTE (VoLTE) est une technologie qui permet les appels vocaux sur les réseaux mobiles en utilisant des protocoles basés sur Internet
  • Le IP Multimedia Subsystem (IMS) utilisé pour la VoLTE peut présenter des risques de sécurité en raison de sa complexité et des problèmes d’interaction entre appareils
  • Chaque opérateur pouvant choisir sa propre configuration des serveurs IMS et sa propre implémentation du service, une erreur de configuration peut entraîner une fuite de données
  • Ce document analyse un cas concret où O2 UK a effectivement provoqué ce type de risque de sécurité

État du service IMS/VoLTE de O2 UK

  • Le 27 mars 2017, O2 UK a lancé 4G Calling, son premier service basé sur l’IMS, afin d’offrir une meilleure qualité vocale et une meilleure expérience de données pendant les appels
  • L’auteur a utilisé l’application Network Signal Guru (NSG) sur un Google Pixel 8 rooté pour mesurer la qualité des appels
  • En raison des limites de l’application, il a analysé directement les messages bruts de signalisation IMS afin de vérifier les informations détaillées échangées pendant les appels

Problèmes dans les messages de signalisation

  • Contrairement à d’autres opérateurs, les réponses de signalisation IMS de O2 UK contiennent des informations extrêmement détaillées et longues
  • En plus des informations sur les serveurs IMS/SIP, les versions, les erreurs et les journaux de débogage, elles incluent les en-têtes sensibles suivants
    • deux paires d’IMSI, deux paires d’IMEI
    • Cellular-Network-Info : réseau du destinataire, code de zone de localisation, Cell ID, etc.
  • En comparant les IMSI, IMEI et Cell ID présents dans les messages, il a été confirmé que les informations du correspondant appelé (destinataire) étaient également incluses

Suivi de position via le Cell ID

  • Le décodage de l’en-tête Cellular-Network-Info révèle l’opérateur du destinataire, le code de zone de localisation (LAC) et le Cell ID
  • Ce Cell ID peut être saisi dans des services comme cellmapper.net pour localiser précisément l’antenne relais correspondante
  • Dans les zones denses comme les villes, la couverture d’une antenne peut être limitée à moins de 100 m², ce qui permet une localisation relativement très précise
  • En pratique, cette méthode fonctionne même lorsque des clients O2 sont en itinérance à l’étranger, permettant de retrouver leur position jusqu’au centre-ville
  • Ces informations sont exposées sans équipement ni procédure particulière sur tous les terminaux O2 capables de passer des appels IMS

Exigences d’amélioration

  • O2 doit supprimer des messages IMS/SIP les en-têtes sensibles (informations de localisation et du terminal) afin de protéger la vie privée et la sécurité de ses clients
  • Les en-têtes utilisés à des fins de débogage doivent eux aussi être désactivés, car ils peuvent entraîner des fuites d’informations inutiles
  • Il est déraisonnable que de tels en-têtes soient visibles sur des terminaux situés en dehors du cœur de réseau
  • L’absence, chez O2, d’un canal interne de signalement des problèmes de sécurité constitue un problème grave par rapport à d’autres opérateurs (par ex. EE)

Conclusion

  • Tout client O2 risque d’être suivi jusque dans sa position précise par n’importe qui disposant de connaissances de base sur les réseaux mobiles
  • Même si l’utilisateur désactive 4G Calling, cela n’empêche pas l’exposition des données sensibles, rendant toute protection individuelle impossible
  • Même lorsqu’un appareil n’est pas connecté au réseau, les informations sur la dernière cellule utilisée et l’heure de connexion restent présentes dans les messages IMS
  • Les 26 et 27 mars 2025, l’auteur a signalé à plusieurs reprises par e-mail les faits et les risques aux responsables sécurité et au CEO de O2, mais aucune réponse notable ni amélioration n’a suivi

Référence

Historique des modifications

  • Au 18 mai 2025 à 23:40, une erreur dans l’adresse e-mail de signalement sécurité d’O2 mentionnée dans l’article initial a été corrigée (virginmedia.co.ukvirginmediao2.co.uk)

1 commentaires

 
GN⁺ 2025-05-18
Commentaires Hacker News
  • Les 26 et 27 mars 2025, O2 a été informé par e-mail de ce comportement et du risque pour la vie privée, mais il n’y a toujours eu ni réponse ni changement d’action, ce qui est une réaction vraiment décevante ; le fait que l’adresse Virgin Media soit le contact le plus proche est aussi étrange, et le problème est que https://www.o2.co.uk/.well-known/security.txt devrait renvoyer une réponse 200 mais renvoie 404 ; dans une telle situation, on peut comprendre une divulgation publique, mais on peut aussi se demander si un organisme comme le NCSC pourrait mieux faire remonter le problème
    • En réalité, l’adresse e-mail a été mal renseignée : il fallait utiliser @virginmediao2.co.uk de Virgin Media O2, mais il y a eu une faute de frappe avec @virginmedia.co.uk ; cet élément sera corrigé dans l’article
    • La politique de confidentialité (exigence GDPR) contient plusieurs adresses e-mail, par exemple DPO@o2.com ; il est possible que quelqu’un surveille ce canal, voir https://www.o2.co.uk/termsandconditions/privacy-policy
  • O2 avait autrefois une adresse e-mail pour la divulgation responsable, mais elle a disparu il y a quelques années ; avant, l’équipe sécurité était vraiment excellente, mais lorsqu’un problème a été signalé par mail l’an dernier, tout cela avait disparu
    • L’équipe concernée chez O2 avait peut-être déjà été notifiée, mais aucune mesure n’a été prise, ou les mesures ont été insuffisantes
  • Ce bug n’est pas un simple bug théorique, c’est un problème causé par de la négligence dans l’exécution ; d’autres opérateurs britanniques l’ont déjà corrigé, la fuite d’ECI était déjà discutée dès les débuts du LTE, et grâce à l’open mast DB, la cartographie automatique de position est très facile, voir l’article associé (https://arxiv.org/abs/2106.05007)
  • Le point vraiment intéressant est que, d’un point de vue juridique dans la plupart des cas, cela ne serait pas classé comme du piratage ; ces données sont normalement et volontairement émises par le réseau, et il ne s’agit pas de tromper un système pour obtenir des données illégalement ; par exemple, ajouter "&reveal_privat_data=true" à une URL montrerait une intention évidente et serait illégal, mais ce n’est pas le cas ici
    • Cela reste néanmoins une fuite de données ; dans un pays comme le Royaume-Uni, avec des règles applicables, cela peut imposer une déclaration immédiate au régulateur ou entraîner une amende
    • Vu à quel point le champ du Computer Misuse Act est large, ce n’est pas forcément quelque chose qui se règle aussi simplement qu’on pourrait le croire
  • Je suis vraiment curieux de savoir comment l’initiateur de l’appel a pu voir les messages de contrôle d’appel (par ex. SIP) ; je pensais que ces messages se trouvaient dans un tunnel GRE chiffré entre le combiné et la station de base (MME) ; si quelqu’un a cassé le chiffrement du tunnel GRE, c’est une faille de sécurité énorme ; c’est peut-être possible parce que l’OP analyse depuis son propre appareil, mais même dans ce cas, voir la charge utile avant chiffrement est surprenant
    • Éditeur de l’article ici : la plupart des appareils Android équipés de puces Qualcomm peuvent exposer un port de diagnostic modem via USB, sans root nécessaire ; je préfère utiliser NSG sur un appareil rooté, c’est bien plus pratique que de se promener avec un ordinateur portable ; avec Scat(https://github.com/fgsect/scat) et l’activation du port de diagnostic modem, on peut voir tout le trafic de signalisation
    • J’utilise un téléphone Android rooté et l’application Network Signal Guru(https://play.google.com/store/apps/details?id=com.qtrun.QuickTest) ; dans la version gratuite, elle ne « déchiffre » pas vraiment, mais avec les droits root et l’accès modem, on peut lire ce type de logs ; on peut désactiver certaines bandes ou forcer la connexion à une cellule précise, ce qui est pratique en usage data only
    • Beaucoup d’opérateurs configurent bien la signalisation SIP de VoLTE avec un transport IPsec se terminant au P-CSCF, mais la plupart (voire tous) configurent IPsec uniquement pour garantir l’intégrité
    • Correction : ce n’est pas GRE mais GTP
    • Il s’agissait sans doute d’un tunnel GTP ; les tunnels GTP fonctionnent entre l’enodeb et le cœur de réseau, et ne sont sécurisés qu’à l’intérieur d’IPSEC
  • C’est étonnant qu’O2 soit encore en activité ; c’est bien pire que les autres réseaux, même en dessous de Three malgré ses gros problèmes de backhaul ; la seule raison pour laquelle j’ai une SIM O2, c’est les billets Priority et le signal dans leurs salles de spectacle
    • Si l’on peut accéder au réseau 5G Standalone, c’est nettement mieux ; en revanche, il faut une nouvelle carte SIM et un téléphone compatible, et la différence se ressent vraiment
  • Je pense que c’est un problème assez grave ; rooter un téléphone et installer NSG pour voir ces informations n’est pas si difficile ; O2 est aussi le plus grand opérateur mobile du Royaume-Uni et a des contrats avec le gouvernement ; l’absence de réponse est décevante, mais pas vraiment surprenante ; O2 est en plein désordre en interne, et tout ce qui ne peut pas être réglé en boutique prend énormément de temps à être corrigé (par ex. les problèmes de portabilité), les systèmes sont vieillissants, certains clients n’ont toujours pas VoLTE, la 5G SA ne prend pas en charge les appels vocaux et dépend trop de la bande n28, ce qui la rend souvent lente ; le CTO écrit des billets de blog du genre « laissons tomber les vanity metrics et concentrons-nous sur l’essentiel », alors qu’en pratique la qualité data reste toujours dernière, voir le billet lié (https://news.virginmediao2.co.uk/leaving-the-vanity-metrics-behind-and-focusing-on-what-matters-customer-experience/)
    • Je commence à me demander s’ils ne facturent pas le roaming UE simplement parce qu’ils n’ont pas de système de facturation pour le faire
  • Je me demande s’il est possible d’éviter ce problème en désactivant VoLTE ; j’ai trouvé comment le faire sur un iPhone 11, mais pas sur un iPhone 15
    • Même en désactivant 4G Calling (VoLTE), ces en-têtes restent exposés ; et même si l’appareil est éteint, la dernière cellule connectée ainsi que l’heure restent exposées ; donc cela ne sert à rien
    • O2 UK ne prend pas en charge VoLTE pour les anciens clients prépayés (PAYG), uniquement pour les forfaits ; dans le contexte actuel, cela semble presque une bonne nouvelle
  • Je ne connais pas IMS, mais je me demande s’il faut maintenir l’appel assez longtemps pour que les en-têtes de debug soient transmis, un peu comme dans les films d’espionnage où l’on trace un appel ; si c’est le cas, on pourrait peut-être limiter le risque en ne répondant pas aux numéros inconnus, même si quelqu’un qui connaît le numéro pourrait quand même obtenir l’info
    • Ces informations sont déjà connues du réseau avant même l’établissement de l’appel ; ce sont probablement des en-têtes de debug, donc nécessaires même quand l’appel n’aboutit pas, pour diagnostiquer le problème ; si je comprends bien, cela signifie que même appareil éteint, les informations sur la dernière cellule utilisée peuvent être fournies
    • IMS est simplement une architecture composée d’un cœur SIP + plusieurs passerelles + l’infrastructure LTE de base (par ex. eNodeB, PCRF, etc.) ; ici, les messages de signalisation sont tout simplement des messages SIP ; si ce type d’en-tête est présent aussi dans des SIP 180 Ringing, par exemple, l’information peut fuiter sans même décrocher ; explication fondée sur une expérience réelle de déploiement IMS chez un opérateur
  • Je me demande si O2 NZ est aussi concerné ; j’ai changé la semaine dernière en Australie pour le roaming illimité et les appels VoLTE
    • Il est probable que ce problème soit spécifique à O2 UK