2 pontos por GN⁺ 2025-05-18 | 1 comentários | Compartilhar no WhatsApp
  • Na implementação de 4G Calling/WiFi Calling da O2 UK, havia um problema em que o autor da chamada recebia cabeçalhos IMS/SIP que podiam ser usados para estimar a localização do destinatário, e essa exposição afetou todos os clientes da O2 por vários meses
  • As mensagens de sinalização IMS incluíam o servidor IMS/SIP da O2, o Mavenir UAG, sua versão, informações de depuração, mensagens de erro, além do IMSI e IMEI do autor e do destinatário da chamada e o Cellular-Network-Info do destinatário
  • Ao dividir o valor utran-cell-id-3gpp de Cellular-Network-Info em PLMN, Location Area Code e Cell ID, e cruzá-lo com dados públicos de estações-base como os do Cellmapper, era possível encontrar a localização aproximada do destinatário
  • Em áreas urbanas, small cells instaladas em postes de iluminação e outros pontos cobrem áreas estreitas, aumentando muito a precisão da estimativa; até clientes da O2 em roaming internacional puderam ser localizados no centro de Copenhague
  • Desativar tanto o 4G Calling quanto o WiFi Calling impede a exposição de localização, mas a exposição de IMEI e IMSI continua independentemente do estado de registro IMS, então a O2 precisa remover os cabeçalhos relacionados das mensagens IMS/SIP

Indícios de localização vazados em chamadas IMS

  • Voice over LTE (VoLTE) usa o padrão IP Multimedia Subsystem (IMS) para processar chamadas de voz em redes móveis por meio de protocolos baseados na internet
  • Implementações de IMS são complexas e altamente dependentes do dispositivo, e no passado houve aparelhos que exigiam firmware específico para usar VoLTE e WiFi Calling
  • As redes móveis escolhem como implementar os serviços IMS e quais configurações usar, e os telefones se comunicam diretamente com esses servidores
  • Nessa estrutura, cabe à operadora manter os servidores atualizados e garantir que as configurações não resultem em exposição desnecessária de dados

Como a análise do 4G Calling da O2 UK começou

  • A O2 UK lançou seu primeiro serviço IMS, o 4G Calling, em 27 de março de 2017
    • Era um serviço voltado a melhorar a qualidade das chamadas e a experiência de dados, já que a ligação não precisava cair para 3G durante a chamada
  • Após migrar para a O2, o pesquisador quis verificar quais codecs de voz eram suportados em 4G/WiFi Calling
  • Em um Google Pixel 8 com root, ele usou o Network Signal Guru (NSG) para ligar para outro cliente da O2 com um dispositivo compatível com 4G VoLTE
  • Havia um bug no NSG com o modem Samsung dos Google Pixel mais recentes, então o codec da chamada atual não aparecia automaticamente na seção VoLTE; em vez disso, ele examinou as mensagens brutas de sinalização IMS entre o aparelho e a rede

Cabeçalhos sensíveis presentes nas mensagens IMS/SIP

  • A resposta da rede era muito detalhada e longa, ao contrário do que ele havia visto em outras redes
  • As mensagens incluíam o Mavenir UAG, o servidor IMS/SIP usado pela O2, e seu número de versão
  • Também vazavam mensagens de erro e outras informações de depuração de serviços em C++ que tratavam os dados das chamadas
  • Perto do fim da mensagem, havia cabeçalhos dos seguintes tipos
    • P-Mav-Extension-IMSI: 2 IMSIs
    • P-Mav-Extension-IMEI: 2 IMEIs
    • Cellular-Network-Info: informações da célula do destinatário
  • Ao comparar os IMSIs e IMEIs com as informações do próprio dispositivo do pesquisador, ficou claro que a mensagem incluía não só os dados do autor da chamada, mas também o IMSI e o IMEI de quem recebeu a chamada

Como calcular a localização com Cellular-Network-Info

  • A parte inicial do valor Cellular-Network-Info, 3GPP-E-UTRAN-FDD, indica que os dados da célula correspondem a 4G, formalmente chamado de E-UTRAN FDD
  • O valor utran-cell-id-3gpp que vem em seguida se divide em 3 partes
    • Os primeiros 5 a 6 caracteres são o PLMN da rede do destinatário
    • Os 4 caracteres seguintes são o Location Area Code (LAC) do destinatário, em hexadecimal
    • Os 7 últimos caracteres são o Cell ID do destinatário, em hexadecimal
  • A última seção indica a idade dos dados em segundos
    • Ela aparece quando o dispositivo não está conectado à rede no momento, está sem sinal ou depende de WiFi Calling
  • Na mensagem de exemplo, era possível calcular que o destinatário estava conectado à rede O2 234-10, no LAC 0x1003, no Cell ID 0x7a60773, e usava um Google Pixel 9 com SIM da O2

Estimativa de localização com dados públicos de estações-base

  • O Cell ID pode ser inserido na calculadora de cell ID do Cellmapper para obter o site ID correspondente
  • Depois, é possível localizar esse site no mapa do Cellmapper para verificar a macro célula usada no momento da chamada
  • Macrocélulas têm cobertura relativamente ampla, mas áreas urbanas densas usam muitas células pequenas
    • small cells podem ser instaladas diretamente em postes de iluminação
    • Cada site pode cobrir uma área tão pequena quanto 100 m²
  • O mesmo ataque foi testado com outro cliente da O2 em roaming internacional, e foi possível situá-lo no centro de Copenhague, na Dinamarca
  • O dispositivo do pesquisador não executou nenhum comportamento especial contra a rede; ele apenas permitiu visualizar as informações enviadas ao aparelho
  • Dispositivos da O2 que fazem chamadas por IMS, isto é, por 4G Calling ou WiFi Calling, podem receber informações que permitem estimar a localização geográfica de quem recebe a chamada

Cabeçalhos que a O2 precisa remover e mitigação disponível ao usuário

  • A O2 precisa remover os cabeçalhos destacados de todas as mensagens IMS/SIP para proteger a privacidade e a segurança de seus clientes
  • Também faria sentido desativar os cabeçalhos de depuração
    • Não há motivo para qualquer dispositivo fora do núcleo da rede poder ver esses cabeçalhos
    • Cabeçalhos de depuração podem acabar vazando informações adicionais de forma não intencional
  • A concorrente EE oferece um canal de divulgação responsável da BT, mas a O2 não tem um caminho claro de escalonamento para reportar esse tipo de vetor potencial de ataque
  • Em 26 e 27 de março de 2025, foram enviados e-mails ao CEO da O2, Lutz Schüler, e para securityincidents@virginmediao2.co.uk alertando sobre esse comportamento e o risco à privacidade, mas não houve resposta nem mudança observável
  • Desativar o 4G Calling e o WiFi Calling efetivamente bloqueia a parte de exposição de localização
    • O cabeçalho Cellular-Network-Info só é enviado quando o dispositivo do destinatário responde
    • A exposição de IMEI e IMSI continua ocorrendo independentemente do estado de registro IMS
  • Na atualização de 27 de maio de 2025, o texto foi corrigido: antes dizia que não havia forma de mitigar a exposição de localização, mas, após análise adicional da sinalização IMS e da forma como os cabeçalhos são enviados ao dispositivo, concluiu-se que desativar tanto o 4G Calling quanto o WiFi Calling mitiga essa parte da exposição

1 comentários

 
GN⁺ 2025-05-18
Opiniões no Hacker News
  • É realmente péssimo que, mesmo depois de terem avisado o CEO da O2 e o endereço de e-mail para incidentes de segurança, em 26 e 27 de março de 2025, sobre esse comportamento e o risco à privacidade, não tenha havido resposta nem mudança
    Também é questionável por que um endereço da Virgin Media é o mais próximo de um melhor contato, e https://www.o2.co.uk/.well-known/security.txt deveria retornar 200, não 404
    Acho que não há problema em divulgar publicamente nesse tipo de situação, mas talvez o NCSC pudesse lidar com casos assim sob certas condições e também se comunicar melhor com a organização

    • Na verdade, isso foi um erro nosso
      O e-mail contatado não era @virginmedia.co.uk, e sim @virginmediao2.co.uk, e havia um erro de digitação no texto
      Vamos corrigir e atualizar
    • A política de privacidade lista vários endereços de e-mail por causa dos requisitos do GDPR
      Por exemplo, talvez alguém esteja monitorando algo como DPO@o2.com
      https://www.o2.co.uk/termsandconditions/privacy-policy
  • A O2 costumava ter um endereço para divulgação responsável, mas o removeu há alguns anos
    Quando trabalhei lá muito tempo atrás, a equipe de segurança era excelente; mas, quando enviei um e-mail no ano passado sobre um problema, todas aquelas pessoas tinham desaparecido

    • Sei que a equipe relevante dentro da O2 foi de fato notificada, mas, no fim, parece que nenhuma medida foi tomada ou que ela não foi suficiente
  • O que é realmente interessante neste caso é que, na maioria das jurisdições, provavelmente nem seria classificado como hacking
    Os dados estão sendo transmitidos voluntariamente pela rede durante o uso normal
    Nenhum sistema foi enganado para expor informações pessoais, e esse tipo de ato muitas vezes é ilegal mesmo quando o hacking é trivial
    Só acrescentar algo como &reveal_privat_data=true a uma URL já poderia ser visto como ilegal por demonstrar intenção clara de acessar dados sem autorização, mas aqui nem isso existe

    • Ainda assim, isto é um vazamento de dados e, se estiver sob a regulamentação do Reino Unido, precisa ser comunicado imediatamente à autoridade supervisora; não comunicar pode gerar multas e outras consequências
    • Acho que você não sabe bem o quão ampla é a aplicação do Computer Misuse Act no Reino Unido
  • A parte assustadora é que isso não é um bug teórico
    Como o texto menciona, é uma preguiça de implementação que outras operadoras do Reino Unido já resolveram, e o vazamento de ECI vem sendo apontado desde a introdução do LTE
    Há artigos como https://arxiv.org/abs/2106.05007—and, e, com bancos de dados públicos de estações rádio-base, mapear localização automaticamente é algo trivial

    • É possível que estejam em pânico esperando que alguma agência de segurança que vinha usando isso diga o que fazer
  • Tenho muita curiosidade sobre como o originador da chamada conseguiu ver as mensagens de controle da chamada, ou seja, SIP
    Essas mensagens não ficam dentro de um túnel GRE criptografado entre o aparelho, a estação rádio-base e o MME? Se for possível descriptografar o túnel GRE, isso seria uma brecha enorme, mas talvez seja possível porque o autor do post fez a análise no próprio dispositivo
    Ainda assim, é surpreendente que o payload antes da criptografia esteja visível

    • Sou editor do texto
      Muitos dispositivos Android com chip Qualcomm podem expor uma porta de diagnóstico do modem via USB, então nem é necessário ter um aparelho com root
      Porém, é muito mais fácil usar o NSG com root no próprio dispositivo do que sair por aí carregando um laptop
      Depois de ativar a porta de diagnóstico do modem, basta usar o Scat(https://github.com/fgsect/scat) para conseguir ver todo o tráfego de sinalização trocado com a rede
    • Estou usando um celular Android com root e um app chamado Network Signal Guru: https://play.google.com/store/apps/details?id=com.qtrun.Quic...
      Pelo menos a versão gratuita do app não parece “descriptografar” nada, mas, como tem permissões de root e acesso ao modem, consegue ler esses logs
      Também permite desligar bandas ou tentar fixar em uma estação rádio-base específica, o que é útil quando se usa dados móveis como conexão principal de internet, como em um roteador 4G/5G dedicado
    • Muitas operadoras configuram a sinalização SIP de VoLTE para usar transporte IPsec terminado no P-CSCF, mas a maioria, ou todas, configura o IPsec apenas para proteção de integridade
    • Acho que o que você queria dizer não era GRE, mas túnel GTP
      O túnel GTP fica entre o eNodeB e a rede core e só é protegido quando roda dentro de IPsec
    • Correção: é GTP
  • A O2 agora afirma que o problema foi resolvido: https://www.ispreview.co.uk/index.php/2025/05/o2-uk-fixes-vo...

    • O texto submetido foi atualizado hoje de manhã
      Diz: “A O2 entrou em contato por e-mail e confirmou que esse problema foi resolvido. Verifiquei pessoalmente, e a vulnerabilidade parece ter sido corrigida”
    • No comunicado, disseram que “a equipe de engenharia vinha trabalhando e testando uma correção há várias semanas”
      Imagine um banco de dados contendo informações tão sensíveis ficando intencionalmente desprotegido por esse período, aparentemente sem avisar ninguém
      Vai ser interessante ver como o ICO vai lidar com isso
  • Parece um problema bem sério
    Não é difícil fazer root no celular, instalar o NSG e ver essas informações
    A O2 também é a maior rede móvel do Reino Unido e tem contratos com o governo
    O fato de não terem respondido é decepcionante, mas não surpreende
    A O2 parece uma bagunça por dentro, e qualquer coisa que alguém em uma loja não consiga consertar na hora leva muito tempo para ser resolvida
    Por exemplo, erros de portabilidade de número
    Os sistemas parecem antigos, algumas bases de usuários ainda não conseguem usar VoLTE, e o novo 5G SA não oferece suporte a voz e parece depender demais do n28, ficando lento em muitos casos
    O CTO escreveu em um blog para “deixar as métricas de vaidade de lado”, apesar de ser uma rede que normalmente é a pior em desempenho de dados
    [0] https://news.virginmediao2.co.uk/leaving-the-vanity-metrics-...

    • Estou começando a pensar que o motivo de não cobrarem roaming na UE talvez seja, na verdade, não terem um sistema para fazer a cobrança
  • Não sei como a O2 ainda consegue continuar operando
    É disparado a pior rede, e até a Three, com sua situação deplorável de backhaul, é melhor
    O único motivo para eu ter um SIM da O2 junto com um SIM da EE é o Priority Tickets e o sinal dentro dos locais de eventos da O2

    • Se você tiver acesso à rede 5G Standalone, fica muito melhor
      Mas é preciso um SIM novo e um celular compatível, e a diferença percebida é totalmente outra
  • A giffgaff, que usa a rede da O2, afirma que não é afetada porque usa sua própria implementação de serviço sobre a rede física da O2
    Pode ser verdade, mas, como agora sei que pertencem à mesma empresa, parece bastante provável que haja integração, então fico um pouco desconfiado
    Se alguém reproduzir isso com um SIM da giffgaff, gostaria de saber o resultado

    • A Telefónica é dona dela há muito tempo
      Pelo que lembro, a Telefónica comprou a O2 em 2006 e lançou a Giffgaff como uma nova marca em 2009
    • Testei na rede da giffgaff, e ela é de fato afetada
      Não sei como chegaram a outra conclusão
  • Desativar o VoLTE poderia mitigar isso? Vi documentação online para desativá-lo no iPhone 11, mas no meu iPhone 15 essa opção não existe

    • Diz que “desativar o 4G Calling não impede que esse cabeçalho seja exposto; quando o aparelho fica indisponível, o cabeçalho interno continua revelando a última célula à qual ele esteve conectado e há quanto tempo isso ocorreu”
      Então acho que não teria efeito
    • Uma das coisas irritantes da O2 UK é que ela não oferece VoLTE para clientes pré-pagos antigos, apenas para clientes de plano mensal, mas agora isso até parece um pouco uma sorte