2 puntos por GN⁺ 2025-05-18 | 1 comentarios | Compartir por WhatsApp
  • En el servicio VoLTE (4G Calling) de O2 UK se descubrió que se transmiten la información de ubicación de la otra parte en la llamada y los identificadores del dispositivo
  • Los mensajes de señalización IMS incluyen información sensible como IMSI, IMEI y Cell ID, que puede recibirse fácilmente desde el exterior
  • Con datos públicos de crowdsourcing como cellmapper.net, esta información permite determinar la ubicación con precisión
  • Esta vulnerabilidad afecta a todos los clientes de O2, dejando a cualquiera expuesto como posible objetivo de ataque
  • Los usuarios o clientes comunes no tienen ninguna forma de evitar por su cuenta esta exposición de información

Introducción

  • Voice over LTE (VoLTE) es una tecnología que permite realizar llamadas de voz en redes móviles usando protocolos basados en Internet
  • El IP Multimedia Subsystem (IMS) utilizado en VoLTE puede generar riesgos de seguridad por su complejidad y por problemas de interacción entre dispositivos
  • Como cada operador puede elegir de forma particular cómo configurar sus servidores IMS e implementar sus servicios, los errores de configuración pueden provocar filtraciones de datos
  • Este documento analiza un caso en el que O2 UK generó de manera real este tipo de preocupación de seguridad

Estado del servicio IMS/VoLTE de O2 UK

  • El 27 de marzo de 2017, O2 UK lanzó su primer servicio basado en IMS llamado 4G Calling, ofreciendo mejor calidad de voz y mejor experiencia de uso de datos durante las llamadas
  • El autor usó la app Network Signal Guru (NSG) en un Google Pixel 8 con root para medir la calidad de las llamadas
  • Debido a las limitaciones de la app, analizó directamente los mensajes crudos de señalización IMS para revisar la información detallada intercambiada durante las llamadas

Problemas en los mensajes de señalización

  • Las respuestas de señalización IMS de O2 UK contienen, a diferencia de otros operadores, información muy detallada y extensa
  • Junto con información del servidor IMS/SIP, versiones, errores y logs de depuración, se incluyen encabezados sensibles como los siguientes
    • Dos pares de IMSI y dos pares de IMEI
    • Cellular-Network-Info: red del receptor, código de ubicación, Cell ID y más
  • Al comparar los IMSI, IMEI y Cell ID dentro del mensaje, se confirmó que también se incluye la información de la otra parte de la llamada (el receptor)

Rastreo de ubicación mediante Cell ID

  • Al decodificar el encabezado Cellular-Network-Info, quedan expuestos el operador del receptor, el código de área de ubicación (LAC) y el Cell ID
  • Ese Cell ID puede ingresarse en servicios como cellmapper.net para identificar con precisión la ubicación de la estación base
  • En zonas densamente pobladas, como las ciudades, la cobertura de una estación base puede reducirse a menos de 100 m², lo que permite ubicar a la otra persona con mucha precisión
  • En la práctica, este método también funcionó cuando un cliente de O2 estaba en roaming internacional, permitiendo ubicarlo incluso hasta el centro de una ciudad
  • Esta información se expone sin necesidad de equipo especial ni procedimientos adicionales en cualquier dispositivo O2 capaz de realizar llamadas IMS

Requisitos de mejora

  • O2 debe eliminar de los mensajes IMS/SIP los encabezados sensibles (ubicación e información del dispositivo) para proteger la privacidad y la seguridad de sus clientes
  • Los encabezados usados para depuración también deben desactivarse, ya que pueden provocar filtraciones innecesarias de información
  • Que estos encabezados sean visibles para terminales fuera del núcleo de la red no es razonable
  • La ausencia de una vía interna de reporte de problemas de seguridad en O2 es un problema grave frente a otros operadores (por ejemplo, EE)

Conclusión

  • Cualquier cliente de O2 corre el riesgo de que rastreen incluso su ubicación precisa si alguien tiene conocimientos básicos de redes móviles
  • Aunque el usuario desactive 4G Calling, la exposición de información sensible no se detiene, por lo que no puede evitarla por su cuenta
  • Incluso si el dispositivo no está conectado a la red, en los mensajes IMS siguen quedando la última celda a la que se conectó y la hora de conexión
  • Entre el 26 y el 27 de marzo de 2025, se informó varias veces por correo electrónico sobre estos hechos y sus riesgos a responsables de seguridad y al CEO relacionados con O2, pero no hubo una respuesta ni mejoras relevantes

Referencia

Historial de cambios

  • Al 18 de mayo de 2025 a las 23:40, se corrigió en el artículo original una dirección de correo para reportes de seguridad de O2 escrita incorrectamente (virginmedia.co.uk→virginmediao2.co.uk)

1 comentarios

 
GN⁺ 2025-05-18
Opiniones de Hacker News
  • El 26 y 27 de marzo de 2025 le avisaron por correo a O2 sobre esta conducta y el riesgo para la privacidad, pero hasta ahora no hubo respuesta ni cambios, una reacción realmente lamentable; también resulta extraño que la dirección de Virgin Media sea el contacto más cercano, y es un problema que https://www.o2.co.uk/.well-known/security.txt devuelva 404 cuando debería responder 200; en una situación así se entiende que se haga público, aunque queda la duda de si una entidad como la NCSC podría transmitir mejor este problema
    • En realidad escribieron mal la dirección de correo: debían usar @virginmediao2.co.uk de Virgin Media O2, pero por error pusieron @virginmedia.co.uk; van a corregir esa parte en el artículo
    • En la política de privacidad (requisito del GDPR) hay varias direcciones de correo, por ejemplo DPO@o2.com, así que probablemente alguien sí las revisa ahí, ver https://www.o2.co.uk/termsandconditions/privacy-policy
  • Antes O2 tenía una dirección de correo para divulgación responsable, pero desapareció hace unos años; antes el equipo de seguridad era realmente excelente, pero el año pasado les escribieron por un tema y ya no quedaba nada de eso
    • Puede que el equipo correspondiente dentro de O2 en realidad ya hubiera sido notificado, pero no hizo nada o hizo muy poco
  • Este bug no es solo algo teórico, sino un problema causado por pereza en la implementación; otros operadores del Reino Unido ya lo resolvieron; la filtración de ECI ya se discutía desde los primeros días de LTE, y gracias a la base de datos abierta de torres, el mapeo automático de ubicación también es muy fácil, ver este artículo relacionado: https://arxiv.org/abs/2106.05007
  • Lo realmente interesante es que, desde la mayoría de los puntos de vista legales, esto no se clasificaría como hacking, porque esa información sale de la red de forma normal y voluntaria, y no se engañó al sistema para obtener datos ilegalmente; por ejemplo, agregar "&reveal_privat_data=true" a una URL mostraría una intención clara y sería ilegal, pero aquí no ocurre eso
    • Aun así, esto también cuenta como una filtración de datos; en lugares como el Reino Unido, donde hay regulaciones al respecto, podría obligar a reportarlo de inmediato al regulador o dar pie a una multa
    • Considerando que el alcance de la Computer Misuse Act es muy amplio, no es algo que se pueda tomar tan a la ligera como parece
  • Me da mucha curiosidad cómo la persona que inició la llamada pudo ver mensajes de control de llamada (por ejemplo SIP); pensaba que esos mensajes iban dentro de un túnel GRE cifrado entre el handset y la estación base (MME); si alguien rompió el cifrado de ese túnel GRE, sería una vulnerabilidad enorme; quizá el OP lo logró porque lo estaba analizando desde su propio dispositivo, pero aun así sorprende que pueda ver la carga útil antes del cifrado
    • Soy el editor del artículo: la mayoría de los dispositivos Android con chips Qualcomm tienen una opción para exponer por USB el puerto de diagnóstico del módem, así que ni siquiera hace falta root; prefiero usar NSG con root porque es mucho más cómodo que andar cargando una laptop; si usas Scat(https://github.com/fgsect/scat) junto con la activación del puerto de diagnóstico del módem, puedes ver todo el tráfico de señalización
    • Estoy usando un teléfono Android rooteado y la app Network Signal Guru(https://play.google.com/store/apps/details?id=com.qtrun.QuickTest); la versión gratuita en realidad no 'descifra' nada, pero con acceso root y al módem se pueden leer estos logs; también puedes apagar ciertas bandas o forzar la conexión a una estación base específica, lo cual es útil cuando lo usas solo para datos
    • Muchos operadores sí configuran la señalización SIP para VoLTE como un transporte IPsec que termina en el P-CSCF, pero la mayoría (o todos) configuran IPsec para que garantice solo integridad
    • Corrección: no es GRE, es GTP
    • Probablemente se refería a un túnel GTP; los túneles GTP funcionan entre el enodeb y la red core, y solo están protegidos dentro de IPSEC
  • Sorprende que O2 siga en pie como negocio; es muchísimo peor que otras redes, incluso peor que Three, que tiene problemas graves de backhaul; la única razón por la que tengo una SIM de O2 es por los boletos de Priority y la señal que tienen en sus recintos de conciertos
    • Si puedes conectarte a la red 5G Standalone, mejora muchísimo, aunque necesitas una SIM nueva y un teléfono compatible; la diferencia se nota claramente
  • Me parece un problema bastante serio; no es tan difícil rootear un teléfono, instalar NSG y ver este tipo de información; además O2 es uno de los mayores operadores móviles del Reino Unido y también tiene contratos con el gobierno; decepciona que no respondan, pero tampoco sorprende; O2 está internamente bastante desordenada; todo lo que no se puede resolver en tienda tarda muchísimo en arreglarse (por ejemplo, los problemas de portabilidad), sus sistemas son viejos, algunos clientes todavía no pueden usar VoLTE, 5G SA no soporta llamadas de voz y depende demasiado de n28, así que muchas veces va lento; el CTO escribe blogs diciendo básicamente "dejemos atrás las métricas de vanidad y enfoquémonos en lo importante", pero la calidad de datos sigue quedando al final, ver el blog relacionado: https://news.virginmediao2.co.uk/leaving-the-vanity-metrics-behind-and-focusing-on-what-matters-customer-experience/
    • Ya empiezo a pensar que no cobran roaming en la UE porque ni siquiera tienen un sistema de cobro para eso
  • Me pregunto si apagar VoLTE podría evitar este problema; encontré cómo desactivarlo en un iPhone 11, pero en un iPhone 15 esa opción ya no aparece
    • Aunque desactives 4G Calling (VoLTE), esos headers igual quedan expuestos, e incluso si el dispositivo está apagado, la ubicación y la hora de la última celda conectada siguen expuestas; así que no sirve de mucho
    • O2 UK no ofrece VoLTE a los clientes antiguos de prepago (PAYG), solo a los de plan, y ahora hasta parece una suerte
  • No sé nada de IMS, pero me pregunto si la llamada tendría que durar lo suficiente como para que se envíen esos headers de depuración, como en las películas de espías cuando rastrean una llamada; si fuera así, quizá se podría evitar simplemente no contestando números desconocidos, aunque claro, si alguien que conoces llama a tu número, quedaría igual de expuesto
    • Esa información ya la conoce la red incluso antes de que se conecte la llamada; probablemente, al ser headers de depuración, también hacen falta cuando la conexión falla; si lo entiendo bien, por eso pueden dar información de la última celda usada incluso si el dispositivo está apagado
    • IMS es básicamente un core SIP + varios gateways + la infraestructura base de LTE (por ejemplo eNodeB, PCRF, etc.); aquí los mensajes de señalización son simplemente mensajes SIP; si esos headers aparecen incluso en un SIP 180 Ringing y similares, entonces la información podría filtrarse sin siquiera contestar la llamada; explicación basada en experiencia real implementando IMS en operadores
  • Me pregunto si O2 NZ también tiene este problema; me cambié la semana pasada por el roaming ilimitado y las llamadas VoLTE en Australia
    • Lo más probable es que este problema aplique solo a O2 UK