2 puntos por GN⁺ 2025-05-18 | 1 comentarios | Compartir por WhatsApp
  • La implementación de 4G Calling/WiFi Calling de O2 UK tenía un problema por el cual quien llamaba recibía encabezados IMS/SIP que podían usarse para estimar la ubicación del destinatario, y esta exposición afectó durante varios meses a todos los clientes de O2.
  • Los mensajes de señalización IMS incluían el servidor IMS/SIP de O2, Mavenir UAG, su versión, información de depuración y mensajes de error, junto con el IMSI e IMEI del llamante y del destinatario, además del Cellular-Network-Info del destinatario.
  • Al dividir el valor utran-cell-id-3gpp de Cellular-Network-Info en PLMN, Location Area Code y Cell ID, y compararlo con datos públicos de antenas como Cellmapper, se podía encontrar la ubicación aproximada del destinatario.
  • En ciudades, las small cells instaladas en postes de luz u otros lugares cubren zonas reducidas, lo que aumenta mucho la precisión de la estimación de ubicación; incluso se pudo ubicar a un cliente de O2 en roaming internacional en el centro de Copenhague.
  • Desactivar tanto 4G Calling como WiFi Calling permite evitar la exposición de ubicación, pero la exposición del IMEI y el IMSI permanece independientemente del estado de registro IMS, por lo que O2 debe eliminar los encabezados correspondientes de los mensajes IMS/SIP.

Pistas de ubicación filtradas desde llamadas IMS

  • Voice over LTE (VoLTE) usa el estándar IP Multimedia Subsystem (IMS) para procesar llamadas de voz mediante protocolos basados en internet sobre redes móviles.
  • Las implementaciones de IMS son complejas y muy dependientes del dispositivo; en el pasado, algunos dispositivos requerían firmware específico para usar VoLTE y WiFi Calling.
  • Las redes móviles eligen cómo implementar los servicios IMS y qué configuración usar, y los teléfonos se comunican directamente con esos servidores.
  • En esta arquitectura, la red móvil es responsable de mantener los servidores actualizados y de administrar la configuración para que no derive en exposición innecesaria de datos.

Proceso de revisión de 4G Calling en O2 UK

  • O2 UK lanzó el 27 de marzo de 2017 su primer servicio IMS, 4G Calling.
    • Era un servicio destinado a mejorar la calidad de las llamadas y la experiencia de datos, evitando que el teléfono bajara a 3G durante una llamada.
  • Tras pasarse a O2, el investigador quiso verificar qué códecs de voz eran compatibles con 4G/WiFi Calling.
  • En un Google Pixel 8 rooteado, usó Network Signal Guru (NSG) para llamar al dispositivo de otro cliente de O2 compatible con 4G VoLTE.
  • Debido a un bug de NSG en el módem Samsung de los Google Pixel recientes, el códec actual de la llamada no se mostraba automáticamente en la sección VoLTE; en su lugar, revisó los mensajes de señalización IMS sin procesar entre el dispositivo y la red.

Encabezados sensibles incluidos en los mensajes IMS/SIP

  • La respuesta de la red era muy detallada y extensa, a diferencia de lo visto en otras redes.
  • Los mensajes incluían Mavenir UAG, el servidor IMS/SIP que usa O2, junto con su número de versión.
  • También se exponían mensajes de error de un servicio en C++ que procesa información de llamadas cuando ocurría un problema, además de otra información de depuración.
  • En particular, cerca del final del mensaje aparecían encabezados de estos tipos:
    • P-Mav-Extension-IMSI: 2 IMSI
    • P-Mav-Extension-IMEI: 2 IMEI
    • Cellular-Network-Info: información de celda del destinatario
  • Al comparar los IMSI e IMEI con la información del dispositivo del investigador, se comprobó que no solo se incluían los del llamante, sino también los IMSI e IMEI del destinatario de la llamada.

Cómo calcular la ubicación con Cellular-Network-Info

  • La primera parte del valor de Cellular-Network-Info, 3GPP-E-UTRAN-FDD, indica que los datos de celda corresponden a 4G, oficialmente E-UTRAN FDD.
  • El valor posterior utran-cell-id-3gpp se divide en 3 partes:
    • Los primeros 5 a 6 dígitos corresponden al PLMN de la red del destinatario.
    • Los siguientes 4 caracteres son el Location Area Code (LAC) del destinatario, en hexadecimal.
    • Los últimos 7 caracteres son el Cell ID del destinatario, en hexadecimal.
  • La última sección indica la antigüedad de los datos en segundos.
    • Aparece cuando el dispositivo no está conectado actualmente a la red, no tiene señal o depende de WiFi Calling.
  • En el mensaje de ejemplo, se podía calcular que el destinatario estaba conectado a la red O2 234-10, con LAC 0x1003, Cell ID 0x7a60773, y que usaba un Google Pixel 9 con una SIM de O2.

Estimación de ubicación combinada con datos públicos de antenas

  • El Cell ID puede ingresarse en la calculadora de cell ID de Cellmapper para calcular el ID del sitio correspondiente.
  • Luego, en el mapa de Cellmapper, se puede encontrar ese sitio y confirmar la macrocelda en el momento de la llamada.
  • Las macroceldas tienen una cobertura relativamente amplia, pero las zonas urbanas densas usan muchas celdas pequeñas.
    • Las small cells pueden estar instaladas directamente en postes de luz.
    • Cada sitio puede cubrir un área tan reducida como 100 m².
  • El mismo ataque se probó con otro cliente de O2 en roaming internacional, y se lo pudo ubicar en el centro de Copenhague, Dinamarca.
  • El dispositivo del investigador no realizó ninguna acción especial sobre la red; simplemente permitió ver la información que se le enviaba al dispositivo.
  • Un dispositivo de O2 que realiza llamadas mediante IMS, es decir, 4G Calling o WiFi Calling, puede recibir información que permite estimar la ubicación geográfica del destinatario de la llamada.

Encabezados que O2 debe eliminar y mitigaciones posibles para usuarios

  • Para proteger la privacidad y seguridad de sus clientes, O2 debe eliminar los encabezados destacados de todos los mensajes IMS/SIP.
  • También sería lógico desactivar los encabezados de depuración.
    • Ningún dispositivo fuera del núcleo de la red tiene motivo para ver estos encabezados.
    • Los encabezados de depuración podrían filtrar involuntariamente información adicional.
  • Su competidor EE ofrece una vía de divulgación responsable de BT, pero O2 carece de una ruta clara de escalamiento para reportar este posible vector de ataque.
  • El 26 y 27 de marzo de 2025 se enviaron correos al CEO de O2, Lutz Schüler, y a securityincidents@virginmediao2.co.uk para informar este comportamiento y el riesgo para la privacidad, pero no hubo respuesta ni cambios en el comportamiento.
  • Desactivar tanto 4G Calling como WiFi Calling bloquea de forma efectiva la parte de exposición de ubicación.
    • El encabezado Cellular-Network-Info solo se envía cuando el dispositivo destinatario responde.
    • La exposición del IMEI y el IMSI continúa ocurriendo independientemente del estado de registro IMS.
  • En una corrección del 27 de mayo de 2025, se aclaró que, aunque originalmente se había dicho que no había forma de mitigar la exposición de ubicación, tras revisar mejor la señalización IMS y la forma en que se transmiten los encabezados del dispositivo, desactivar tanto 4G Calling como WiFi Calling sí mitiga la parte de exposición de ubicación.

1 comentarios

 
GN⁺ 2025-05-18
Opiniones en Hacker News
  • Que el 26 y 27 de marzo de 2025 se haya informado a la CEO de O2 y a la dirección de correo para incidentes de seguridad sobre este comportamiento y el riesgo para la privacidad, y aun así no haya habido respuesta ni cambios, es realmente pésimo.
    También es cuestionable por qué una dirección de Virgin Media parecía ser casi el mejor contacto, y https://www.o2.co.uk/.well-known/security.txt debería devolver 200, no 404.
    En estas circunstancias no veo problema en hacerlo público, pero me pregunto si el NCSC podría tratar este tipo de asuntos bajo ciertas condiciones y comunicarse mejor con la organización.

    • En realidad, eso fue un error nuestro.
      El correo contactado no era @virginmedia.co.uk, sino @virginmediao2.co.uk, y había un error tipográfico en el artículo.
      Lo corregiremos y actualizaremos.
    • En la política de privacidad aparecen varias direcciones de correo por requisitos del GDPR.
      Por ejemplo, alguien podría estar revisando una como DPO@o2.com.
      https://www.o2.co.uk/termsandconditions/privacy-policy
  • O2 antes tenía una dirección para divulgación responsable, pero la eliminaron hace unos años.
    Hace mucho, cuando trabajaba allí, el equipo de seguridad era excelente, pero cuando envié un correo por un problema el año pasado, toda esa gente ya había desaparecido.

    • Sé que el equipo correspondiente dentro de O2 sí fue notificado, pero al final parece que no hubo acción o que no fue suficiente.
  • Lo realmente interesante de este caso es que, en la mayoría de las jurisdicciones, probablemente ni siquiera se clasificaría como hacking.
    Los datos se están transmitiendo voluntariamente en la red durante el uso normal.
    No se engañó a ningún sistema para que revelara información personal, y ese tipo de acción suele ser ilegal aunque el hacking sea trivial.
    Solo agregar algo como &reveal_privat_data=true a una URL ya podría considerarse ilegal, porque muestra una intención clara de acceder a datos para los que no se tiene autorización, pero en este caso ni siquiera hay algo así.

    • Aun así, esto es una filtración de datos y, si la regulación aplicable es la del Reino Unido, debe reportarse de inmediato al organismo supervisor; no hacerlo puede acarrear multas y otras sanciones.
    • Parece que no sabes bien qué tan amplia es la aplicación de la Computer Misuse Act del Reino Unido.
  • Lo aterrador es que esto no es un bug teórico.
    Como dice el artículo, es una pereza de implementación que otros operadores del Reino Unido ya solucionaron, y la filtración de ECI se viene señalando desde la introducción de LTE.
    También hay papers como https://arxiv.org/abs/2106.05007—and, y si existen bases de datos públicas de estaciones base, el mapeo automático de ubicación es algo trivial.

    • Es posible que estén en pánico, esperando instrucciones de las agencias de seguridad que venían usando esto.
  • Me da mucha curiosidad cómo el originador de la llamada pudo ver los mensajes de control de llamada, es decir, SIP.
    ¿No van esos mensajes dentro de un túnel GRE cifrado entre el terminal, la estación base y el MME? Si se puede descifrar el túnel GRE, sería un agujero enorme, aunque quizá sea posible porque el autor original hizo el análisis en su propio dispositivo.
    Aun así, sorprende que pueda verse el payload antes del cifrado.

    • Soy el editor del artículo.
      Muchos dispositivos Android con chips Qualcomm pueden exponer por USB un puerto de diagnóstico del módem, así que ni siquiera hace falta un dispositivo rooteado.
      Dicho eso, es mucho más fácil usar NSG rooteado en el dispositivo que andar cargando una laptop.
      Después de activar el puerto de diagnóstico del módem, basta con usar Scat(https://github.com/fgsect/scat) para poder ver todo el tráfico de señalización que se intercambia con la red.
    • Estoy usando un teléfono Android rooteado y una app llamada Network Signal Guru: https://play.google.com/store/apps/details?id=com.qtrun.Quic...
      Al menos la versión gratuita de la app no parece “descifrar” nada, pero como tiene permisos de root y acceso al módem, puede leer estos logs.
      También permite apagar bandas o intentar fijarse a una estación base específica, así que es útil si quieres usar datos móviles como conexión principal de Internet, como con un router 4G/5G dedicado.
    • Muchos operadores configuran la señalización SIP para VoLTE de modo que use transporte IPsec terminado en el P-CSCF, pero la mayoría, o todos, configuran IPsec solo para protección de integridad.
    • Creo que querías decir túnel GTP, no GRE.
      El túnel GTP está entre el eNodeB y la red core, y solo está protegido cuando funciona dentro de IPsec.
    • Corrección: es GTP.
  • O2 ahora afirma que el problema ya fue solucionado: https://www.ispreview.co.uk/index.php/2025/05/o2-uk-fixes-vo...

    • El artículo enviado se actualizó esta mañana.
      Dice: “O2 se puso en contacto por correo para confirmar que este problema fue solucionado. Lo verifiqué personalmente y la vulnerabilidad parece estar resuelta”.
    • En el comunicado dijeron que “el equipo de ingeniería llevaba varias semanas trabajando y probando una corrección”.
      Imaginen que una base de datos con datos tan sensibles quedó deliberadamente expuesta durante ese tiempo, y aparentemente sin avisarle a nadie.
      Será interesante ver cómo maneja esto la ICO.
  • Parece un problema bastante grave
    No es difícil rootear un celular, instalar NSG y ver esta información
    O2 también es la red móvil más grande del Reino Unido y tiene contratos con el gobierno
    Que no hayan respondido es decepcionante, pero no sorprende
    O2 parece ser un desastre por dentro, y cualquier cosa que alguien en una tienda no pueda arreglar de inmediato tarda mucho en resolverse
    Por ejemplo, errores de portabilidad de número y cosas así
    Los sistemas se ven anticuados; algunos segmentos de usuarios todavía no pueden usar VoLTE, y el nuevo 5G SA no soporta voz y parece depender demasiado de n28, por lo que en muchos casos es lento
    El CTO escribió en un blog “dejemos atrás las métricas de vanidad”, aunque normalmente es la peor red en rendimiento de datos
    [0] https://news.virginmediao2.co.uk/leaving-the-vanity-metrics-...

    • Estoy empezando a pensar que quizá la razón por la que no cobran roaming en la UE es que en realidad no tienen el sistema para facturarlo
  • No entiendo cómo O2 sigue operando todavía
    Es, por lejos, la peor red, e incluso Three, con su pésima situación de backhaul, es mejor
    La única razón por la que tengo una SIM de O2 junto con una SIM de EE es por los boletos de Priority y la señal dentro de recintos de O2

    • Si puedes acceder a la red 5G Standalone, mejora muchísimo
      Eso sí, necesitas una SIM nueva y un celular compatible, y la diferencia percibida es completamente distinta
  • giffgaff, que usa la red de O2, afirma que no está afectada porque usa su propia implementación de servicios sobre la red física de O2
    Podría ser cierto, pero ahora que sé que pertenecen a la misma empresa, me parece muy probable que haya integración, así que me genera dudas
    Si alguien puede reproducir esto con una SIM de giffgaff, me gustaría saber el resultado

    • Telefónica la posee desde hace mucho tiempo
      Si mal no recuerdo, Telefónica compró O2 en 2006 y lanzó Giffgaff como una marca nueva en 2009
    • Lo probé en la red de giffgaff y, efectivamente, está afectada
      No sé cómo llegaron a otra conclusión
  • ¿Se podría mitigar desactivando VoLTE? Vi en línea documentación para desactivarlo en un iPhone 11, pero mi iPhone 15 no tiene esa opción

    • Dice que “desactivar 4G Calling no impide que se exponga este encabezado, y cuando el dispositivo queda sin conexión, el encabezado interno sigue revelando la última celda a la que estuvo conectado y cuánto tiempo pasó desde entonces”
      Así que parece que no serviría
    • Una de las cosas molestas de O2 UK es que no ofrece VoLTE a los clientes prepagos antiguos y solo lo ofrece a los clientes con plan mensual, pero ahora eso hasta parece un poco afortunado