Consultando o espião de bolso: vulnerabilidades SS7 e rastreamento global

Coding Rights
Coding Rights
Published in
8 min readJul 28, 2017

Por Lucas Teixeira | Boletim Antivigilância n.11

Falhas de configuração de operadoras de telefonia móvel permitem rastrear e seguir o posicionamento de celulares em tempo real, interceptar e gravar ligações, de qualquer lugar do mundo, bastando que se saiba o número do telefone alvo.

Os pesquisadores Tobias Engel e Karsten Nohl descobriram as brechas independentemente, e apresentaram durante o 31C3, o 31º congresso anual realizado pelo Chaos Computer Club na Alemanha.

SS7, a “internet” das operadoras

O Sistema de Sinalização Nº 7 (Signalling System Nº 7) é a sétima versão de um protocolo usado por centrais telefônicas ao redor do mundo para trocar informações de “sinalização”, que seus equipamentos usam para encaminhar mensagens e chamadas para o telefone certo, redirecionar chamadas, funcionar em roaming e tudo mais que é necessário para que possamos ligar para o Japão com a mesma facilidade (mesmo que não pelo mesmo preço) de ligar para alguém de outro estado ou da vizinhança.

As operadoras dividem as áreas que cobrem em células (por isso o nome telefonia celular), com uma estação rádio-base (mais conhecidas pelas grandes antenas) responsável por cada célula.

Suponha que Alice quer ligar para o celular de Bernardo. Para que um circuito seja estabelecido entre os dois telefones, a rede de telefonia precisa saber em que célula está o telefone de Bernardo — em qual antena o celular dele está conectado.

Cada operadora é responsável por monitorar, então, em quais células seus clientes se encontram.

Localizando pelo número

O primeiro problema detectado é que há uma mensagem no protocolo SS7 chamada “anyTimeInterrogation”, que permite pedir o ID da célula em que um número se encontra. A partir desse ID, é possível saber a atitude e longitude a partir de bancos de dados disponíveis comercialmente.

Essa mensagem específica foi criada para ser usada internamente pela operadora — o SS7 é usado tanto entre duas operadoras quanto dentro de cada uma delas, para a comunicação de seus diferentes servidores e dispositivos — mas descobriu-se que nenhuma operadora bloqueava esses pedidos quando vindos de fora, tornando possível que uma operadora em qualquer lugar do mundo pudesse fazer ilimitados pedidos sobre números de outros países.

Após a publicação dessa falha, muitas operadoras passaram a bloquear essas mensagens “anyTimeInterrogation”. Mas o que Karsten, Tobias e outros pesquisadores vêm descobrindo são diversas outras mensagens que, quando enviadas para os locais certos e na ordem correta, permitem encontrar a localização de um celular, mas também mudar o seu tipo de plano, acrescentar ou tirar créditos, impedir o funcionamento do celular (denial of service), e até interceptar chamadas. Tudo a partir de uma rede de telefonia em qualquer lugar do mundo, sabendo somente o número do telefone celular.

Durante a apresentação no 31C3, Tobias Engel mostrou uma ferramenta que usa para testar suas pesquisas: um mapa mostra os movimentos de pessoas amigas que o autorizaram a lhes seguir. É possível ver pontos se deslocando através de uma rodovia, e logo depois saltando da América para Europa quando a pessoa em questão viaja de avião.

Tudo indica que essa é a mesma técnica por trás do produto SkyLock, da Verint — de fato, a pesquisa de Tobias começou a partir do contato de um jornalista do Washington Post que investigava esse software e o Infiltrator, de funções semelhante .

O SkyLock é apresentado em um material de divulgação como uma “solução para descobrir localizações em tempo real e de forma independente, para clientes GSM e UMTS, que permite que agências operacionais recolham informações de localização do cliente em escala global”. Seu slogan é “Localize. Monitore. Manipule.” Distribuído em janeiro de 2013, o material garante funcionar com 70% dos celulares do mundo, e além de mostrar a localização dos números no mapa oferece também funcionalidades avançadas como alertas quando um determinado celular é ligado, entra em uma área pré-determinada ou se aproxima de certos outros celulares cadastrados.

Telas do software Skylock. Fonte: material de divulgação

A Verint é uma das gigantes em tecnologias de inteligência e monitoramento. A empresa, de origem israelense mas que agora é sediada nos EUA, possui escritórios em mais de vinte países ao redor do mundo; na América Latina, estão presentes no Brasil e no México.

Outra falha muito grave descoberta permite conseguir a chave de criptografia usada para proteger chamadas e mensagens em redes de telefonia 3G.

Ligações feitas usando esse padrão ou outro mais novos são protegidas com criptografia, impedindo que alguém nas proximidades possa interceptar as ondas de rádio e ouvir a conversa.

Ao se registrar em uma célula, o celular troca chaves criptográficas com a estação rádio-base; mas para que ele possa ser transferido de uma célula para outra (ao falar dentro de um automóvel que corre por uma estrada, por exemplo) sem que a ligação caia, a estação rádio-base que o recebe deve obter as chaves que a estação que ficou para trás estava usando.

Esse repasse de chaves é feito através de mensagens SS7, que (adivinhe) raramente são são bloqueadas ou filtradas. Isso permite então que um adversário fisicamente próximo de uma pessoa possa grampear a conexão celular-antena, obter a chave pela rede SS7, abrir a proteção criptográfica e acessar as ligações e mensagens.

Uma internet sem firewalls

A história do SS7 remonta aos anos 70, e ao longo de seu desenvolvimento — feito em conjunto por empresas de telecomunicações — ele tornou-se bastante complexo. Além disso, o modo como ele interconecta as operadoras e permite que elas troquem informações é quase todo baseado em confiança. “Não existe autenticação para nenhum desses serviços, então se você está na rede SS7 e tem um acordo de roaming com outras operadoras, pode simplesmente usá-los”, diz Tobias.

Com o crescimento das redes de telefonia, elas são acessadas por prestadoras de serviço, alugadas, disponibilizadas através de VPN’s… segundo o pesquisador, o acesso à rede “pode ser comprado de empresas de telecom ou roaming hubs por algumas centenas de euros ao mês”. Dessa maneira, a rede de telefonia global tecida pelo protocolo SS7 passou de algumas poucas e grandes corporações controladas por governos para uma miríade de empresas de telecomunicações, grandes e pequenas, espalhadas pelo mundo. Karsten Nohl, quando perguntado, não soube estimar quantos atores há na rede SS7 (“mais do que se pode confiar”).

Mas Karsten acredita que a infraestrutura pode ser consertada sem reconstrui-la do zero. Muitas das brechas de segurança podem ser mitigadas bloqueando as mensagens que vêm de fora da rede interna da operadora, ou mesmo totalmente — estão ali para permitir funcionalidades obsoletas.

Outras não podem ser completamente bloqueadas: se as células vizinhas não puderem passar as chaves de criptografia, ligações cairiam enquanto você volta para casa no ônibus. Nesses casos, a decisão de responder ou não a pedidos de chave pode ser tomada através de “testes de plausibilidade”: se fonte do pedido atua próximo de onde o celular está, se esses pedidos estão sendo feitos dentro de um limite razoável, etc.

Mapeando redes vulneráveis

No mesmo congresso do Chaos Computer Club, Laurent Ghigonis e Alexandre de Oliveira, da P1 Security, apresentaram uma ferramenta interessante para entender e atuar sobre esse problema.

Através de parcerias com operadoras de telefonia, a P1 Security testou cada uma das diferentes formas de extrair informações sensíveis de redes SS7 de todo o mundo, e consolidou suas descobertas no SS7map. Cada país é classificado de acordo com a segurança de suas redes de telefonia perante essas vulnerabilidades.

Clicando em um país, é possível ver detalhes sobre as brechas de suas operadoras que permitem vazamentos de dados de seu clientes (“privacy leaks”) e de sua infraestrutura interna e configurações de segurança (“network exposure”).

O cenário, ao menos à época da geração do mapa (natal de 2014), é entristecedor. Dentre os países da América Latina, somente a Venezuela bloqueia todas as possíveis maneiras de extrair a localização de um celular a nível de cidade (só uma operadora do país foi escaneada, pois era a única com a qual as operadoras parceiras do projeto possuíam um acordo de roaming). Poucas são as que fecham todas as brechas de localização mais graves, com precisão de 200 metros. Pedidos que revelam as chaves de criptografia 3G que protegem chamadas e mensagens SMS de grampos também são aceitos pela maioria das operadoras.

Após entrarmos em contato com a P1 Security, fomos informados de que há um novo scan da rede SS7 em curso, e os resultados serão publicados no terceiro trimestre desse ano.

Autodefesa: detecte ataques com o SnoopSnitch

Karsten Nohl apresentou também uma poderosa ferramenta para que possamos tomar as rédeas dessa situação. Ele, Tobias e outras pessoas envolvidas com o SS7 vêm, durante anos, alertando sobre esse tipo de problema. “Não dá mais para esperar, pelo menos para mim. Sou impaciente, quero fazer algo agora, e quero tratar de todos esses problemas”, fala Karsten sobre as vulnerabilidades como as que mostramos nesse artigo.

Foi para isso que a Security Research Labs desenvolveu o SnoopSnitch — um aplicativo (livre e de código aberto) para Android que mostra as vulnerabilidades da sua operadora e detecta ataques SS7 e interferências na rede causadas por equipamentos como Stingrays e IMSI catchers.

“Seu celular tecnicamente sabe que esses ataques estão acontecendo, e que sua rede está configurada de forma insegura. Mas infelizmente essas informações estão bem escondida no telefone, dentro do baseband. Então não dá para ter acesso a elas programando normalmente para Android.” No ano passado, o cenário mudou um pouco. A equipe e Karsten descobriu que certos modelos de celular (os que possuem chipsets Qualcomm) podem ser configurados para que o baseband repasse os dados necessários para detectar os ataques.

Para quem preenche os requisitos (Android com acesso root e chipset Qualcomm), o aplicativo permite fazer essas análises, e, se consentido, enviar dados para contribuir para um projeto paralelo da Security Research Labs, o GSM Security Map — que funciona como o SS7map, mas que leva em consideração toda a segurança da rede de telefonia celular.

Ao saber mais dados sobre as redes de uma região, o SnoopSnitch pode fazer comparações para detectar súbitas mudanças de configurações de segurança — que podem indicar a presença de algum equipamento usado para orquestrar ou facilitar ataques. A avaliação da América Latina ainda é toda baseada em estimativas; ao contribuir com o banco de dados usando o SnoopSnitch, podemos contribuir para pintar melhor esse mapa e saber, mesmo sem o aplicativo, o quão segura são nossas operadoras.

--

--