2 pontos por GN⁺ 2025-05-18 | 1 comentários | Compartilhar no WhatsApp
  • Foi descoberto no serviço VoLTE (4G Calling) da O2 UK um comportamento em que a informação de localização da outra parte da chamada e identificadores do aparelho são transmitidos
  • Mensagens de sinalização IMS incluem informações sensíveis como IMSI, IMEI e Cell ID, que podem ser facilmente recebidas externamente
  • Com dados públicos de crowdsourcing, como cellmapper.net, é possível usar essas informações para determinar a localização com precisão
  • Essa vulnerabilidade afeta todos os clientes da O2, expondo qualquer pessoa como possível alvo de ataque
  • Usuários e clientes comuns não têm como impedir essa exposição de informações por conta própria

Introdução

  • Voice over LTE (VoLTE) é uma tecnologia que permite chamadas de voz em redes móveis usando protocolos baseados em internet
  • O IP Multimedia Subsystem (IMS) usado no VoLTE pode gerar riscos de segurança por causa da complexidade e de problemas de interação entre dispositivos
  • Como cada operadora pode definir de forma própria a configuração dos servidores IMS e a implementação do serviço, erros de configuração podem levar a vazamento de dados
  • Este texto analisa um caso em que a O2 UK transformou essa preocupação de segurança em um problema real

Situação do serviço IMS/VoLTE da O2 UK

  • Em 27 de março de 2017, a O2 UK lançou seu primeiro serviço baseado em IMS, chamado 4G Calling, oferecendo melhor qualidade de voz e melhor experiência de uso de dados durante chamadas
  • O autor usou o app Network Signal Guru (NSG) em um Google Pixel 8 com root para medir a qualidade das chamadas
  • Devido às limitações do app, ele analisou diretamente mensagens brutas de sinalização IMS para verificar os detalhes trocados durante as chamadas

Problemas nas mensagens de sinalização

  • Diferentemente de outras operadoras, as respostas de sinalização IMS da O2 UK contêm informações muito detalhadas e extensas
  • Junto com informações sobre servidores IMS/SIP, versões, erros e logs de depuração, também aparecem os seguintes cabeçalhos sensíveis:
    • dois pares de IMSI e dois pares de IMEI
    • Cellular-Network-Info: rede da parte que recebe a chamada, código de área de localização, Cell ID etc.
  • Ao comparar IMSI, IMEI e Cell ID dentro da mensagem, foi confirmado que as informações da outra parte da chamada (quem recebe) também estão incluídas

Rastreamento de localização via Cell ID

  • Ao decodificar o cabeçalho Cellular-Network-Info, ficam expostos a operadora do destinatário, o código de área de localização (LAC) e o Cell ID
  • Esse Cell ID pode ser inserido em serviços como cellmapper.net para identificar com precisão a localização da estação rádio base
  • Em áreas densas, como cidades, a cobertura da estação pode se restringir a menos de 100m², permitindo uma localização relativamente muito precisa
  • Na prática, o método também funcionou quando clientes da O2 estavam em roaming no exterior, permitindo identificar a localização até o centro urbano
  • Essas informações ficam expostas em qualquer aparelho O2 capaz de fazer chamadas IMS, sem necessidade de equipamento ou procedimento especial

Requisitos de correção

  • A O2 deve remover das mensagens IMS/SIP cabeçalhos sensíveis (localização e informações do aparelho) para proteger a privacidade e a segurança dos clientes
  • Cabeçalhos usados para depuração também precisam ser desativados, pois podem causar vazamento desnecessário de informações
  • Não faz sentido que esses cabeçalhos sejam visíveis para terminais fora do núcleo da rede
  • A ausência de um canal interno de reporte de problemas de segurança na O2 é um problema grave em comparação com outras operadoras (ex.: EE)

Conclusão

  • Clientes da O2 correm o risco de ter até informações precisas de localização rastreadas por qualquer pessoa com conhecimento básico de redes móveis
  • Mesmo que o usuário desative o 4G Calling, a exposição de informações sensíveis não é interrompida, tornando impossível a mitigação por conta própria
  • Mesmo quando o aparelho não está conectado à rede, informações sobre a última célula acessada e o momento do acesso continuam aparecendo nas mensagens IMS
  • Em 26 e 27 de março de 2025, o autor informou várias vezes por e-mail os responsáveis de segurança e o CEO da O2 sobre os fatos e os riscos, mas não houve resposta relevante nem melhorias

Referência

Histórico de alterações

  • Em 18 de maio de 2025 às 23:40, foi corrigido no artigo original um endereço de e-mail de reporte de segurança da O2 informado de forma incorreta (virginmedia.co.uk→virginmediao2.co.uk)

1 comentários

 
GN⁺ 2025-05-18
Comentários do Hacker News
  • Em 26 e 27 de março de 2025, isso e os riscos à privacidade foram informados por e-mail à O2, mas até agora não houve resposta nem mudança de atitude; foi uma resposta realmente decepcionante. Também é estranho que o endereço da Virgin Media seja o contato mais próximo, e é problemático que https://www.o2.co.uk/.well-known/security.txt retorne 404 quando deveria responder 200. Dá para entender a divulgação pública numa situação assim, mas fica a dúvida se uma organização como a NCSC conseguiria encaminhar melhor esse problema.
    • Na verdade, o endereço de e-mail foi informado errado. Deveria ter sido usado @virginmediao2.co.uk, da Virgin Media O2, mas houve um erro de digitação e foi usado @virginmedia.co.uk. Essa parte será corrigida no artigo.
    • A política de privacidade (uma exigência do GDPR) tem vários endereços de e-mail, como DPO@o2.com, por exemplo, então talvez alguém por lá esteja monitorando isso: https://www.o2.co.uk/termsandconditions/privacy-policy
  • Antigamente a O2 tinha um endereço de e-mail para divulgação responsável, mas isso desapareceu há alguns anos. Antes a equipe de segurança era realmente excelente, mas no ano passado foi enviado um e-mail sobre um problema e parecia que tudo tinha sumido.
    • A equipe responsável dentro da O2 talvez já tenha sido avisada, mas não tomou nenhuma medida, ou tomou medidas insuficientes.
  • Este bug não é apenas teórico; é um problema causado por negligência na execução. Outras operadoras britânicas já resolveram isso. O vazamento de ECI já era discutido desde o início da adoção do LTE, e graças ao banco de dados aberto de torres, o mapeamento automático de localização também é muito fácil. Ver o artigo relacionado: https://arxiv.org/abs/2106.05007
  • O ponto realmente interessante é que, do ponto de vista legal na maioria dos casos, isso provavelmente não seria classificado como hacking. Esses dados estão saindo normalmente da rede de forma voluntária; não houve nenhuma tentativa de enganar o sistema para obter dados ilegalmente. Por exemplo, adicionar "&reveal_privat_data=true" a uma URL mostraria intenção clara e poderia ser ilegal, mas aqui não é esse o caso.
    • Ainda assim, isso conta como vazamento de dados. Em lugares com regulamentação relevante, como o Reino Unido, isso pode obrigar uma notificação imediata ao regulador ou resultar em multa.
    • Considerando como o Computer Misuse Act tem um escopo muito amplo, isso talvez não seja algo tão simples de descartar.
  • Fiquei realmente curioso sobre como quem iniciou a chamada conseguiu ver mensagens de controle de chamada, como SIP. Eu achava que essas mensagens ficavam dentro de um túnel GRE criptografado entre o handset e a estação rádio base (MME). Se alguém quebrou a criptografia desse túnel GRE, isso seria uma falha de segurança enorme. Talvez o OP esteja analisando no próprio dispositivo, o que tornaria isso possível, mas ainda assim surpreende poder ver o payload antes da criptografia.
    • Sou o editor do artigo. A maioria dos dispositivos Android com chip Qualcomm tem uma opção para expor a porta de diagnóstico do modem via USB, então nem root é necessário. Prefiro usar o NSG com root porque é muito mais prático do que andar com um notebook. Se você usar o Scat (https://github.com/fgsect/scat) junto com a ativação da porta de diagnóstico do modem, dá para ver todo o tráfego de sinalização.
    • Estou usando um telefone Android com root e o app Network Signal Guru (https://play.google.com/store/apps/details?id=com.qtrun.QuickTest). Na versão gratuita ele na verdade não faz a "descriptografia", mas com acesso root e ao modem é possível ler esses logs. Também dá para desativar bandas específicas ou forçar conexão apenas com uma determinada célula, o que é útil quando se usa o aparelho só para dados.
    • Muitas operadoras configuram a sinalização SIP do VoLTE em um transporte IPsec que termina no P-CSCF, mas a maioria (ou todas) configura o IPsec para garantir apenas integridade.
    • Correção: não é GRE, é GTP.
    • Acho que ele quis dizer túnel GTP. O túnel GTP funciona entre o enodeb e a rede principal, e só fica protegido dentro de IPSEC.
  • É surpreendente que a O2 ainda consiga manter o negócio. Ela é muito pior do que as outras redes, até pior do que a Three, que já tem problemas sérios de backhaul. O único motivo de eu ter um SIM da O2 são os ingressos Priority e o sinal nos espaços de show deles.
    • Se você conseguir acessar a rede 5G Standalone, a experiência melhora bastante. Mas é preciso um SIM novo e um telefone compatível, e a diferença é bem perceptível.
  • Acho que isso é um problema bem sério. Não é tão difícil fazer root no telefone, instalar o NSG e ver esse tipo de informação. A O2 também é a maior operadora móvel do Reino Unido e tem contratos com o governo. É decepcionante que não tenham respondido, mas também era esperado. A O2 está internamente uma bagunça; qualquer coisa que não possa ser resolvida na loja demora uma eternidade para ser corrigida (como problemas de portabilidade de número), os sistemas são antigos, alguns clientes ainda não conseguem usar VoLTE, o 5G SA não oferece suporte a chamadas de voz e depende demais da n28, o que muitas vezes o torna lento. O CTO escreve posts no sentido de "deixar as métricas de vaidade de lado e focar no que importa", mas a qualidade de dados continua sempre entre as piores. Blog relacionado: https://news.virginmediao2.co.uk/leaving-the-vanity-metrics-behind-and-focusing-on-what-matters-customer-experience/
    • Estou começando a pensar se eles não deixam de cobrar roaming na UE porque nem têm um sistema tarifário para isso.
  • Fico pensando se desativar o VoLTE evitaria esse problema. No iPhone 11 encontrei como desligar, mas no iPhone 15 essa opção não aparece.
    • Mesmo desativando o 4G Calling (VoLTE), esses headers ainda vazam. E mesmo com o aparelho desligado, a localização e o horário da última célula conectada continuam expostos. Portanto, isso não ajuda.
    • A O2 UK não oferece VoLTE para clientes antigos de pré-pago (PAYG), apenas para clientes de plano. Ironicamente, agora isso até parece uma sorte.
  • Não entendo de IMS, mas fiquei na dúvida se seria preciso manter a chamada por tempo suficiente para que esses headers de debug fossem enviados, como em filmes de espionagem em que a chamada precisa durar para ser rastreada. Se for esse o caso, talvez daria para evitar o problema simplesmente não atendendo números desconhecidos. Claro, isso não ajuda se alguém conhecido ligar para o seu número.
    • Essas informações já são conhecidas pela rede antes mesmo de a chamada ser conectada. Como parecem ser headers de depuração, provavelmente são necessários para debug até quando a chamada não se completa. Se entendi corretamente, eles fornecem as informações da última célula usada mesmo com o aparelho desligado.
    • IMS é basicamente um núcleo SIP + vários gateways + a infraestrutura LTE básica (como eNodeB, PCRF etc.). As mensagens de sinalização ali são simplesmente mensagens SIP. Se esses headers estiverem presentes também em algo como um SIP 180 Ringing, a informação pode vazar mesmo sem atender a chamada. Explicação baseada em experiência real com implementação de IMS em operadora.
  • Fico pensando se esse problema também existe na O2 NZ. Mudei para ela na semana passada por causa do roaming ilimitado e chamadas VoLTE na Austrália.
    • Provavelmente esse problema é específico da O2 UK.