Detectar interferência e spoofing de GNSS

A interferência do GNSS pode ser dividida em duas categorias:

  • Atolar
  • Spoofing

Os ataques de bloqueio envolvem a transmissão de sinais de rádio fortes na mesma faixa de frequência do GNSS, o que pode abafar os sinais relativamente mais fracos transmitidos pelos satélites GNSS. Isso pode impedir que os receptores GNSS, incluindo smartphones, calculem a localização.

O spoofing é um ataque mais sofisticado em que sinais falsos que fingem ser sinais GNSS reais são transmitidos. Esses sinais falsos podem enganar um receptor GNSS para calcular uma posição ou hora muito diferente da realidade, o que é suficiente para confundir os apps de mapeamento e navegação e fornecer informações erradas aos usuários.

Sobre a spoofing ou interferência de GNSS

A intensidade do sinal, ou a relação portador-ruído (C/N0), do sinal, bem como o controle de ganho automático (AGC) do rádio GNSS no smartphone podem ser um bom indicador de interferência.

A AGC tende a diminuir quando a falsificação ou a interferência é observada. Quando o rádio recebe ondas de rádio fortes, ele diminui o ganho do amplificador (AGC) para ajustar a potência do sinal recebido.

Comparação das intensidades de sinal indicando interferência
Figura 1. O AGC cai durante a interferência (área vermelha) e volta ao normal quando a interferência é removida (área verde). (Fonte da imagem: https://doi.org/10.33012/navi.537)

No entanto, o comportamento de C/N0 muda entre eventos de interferência e spoofing. Em casos de interferência, o ruído observado pelo rádio é muito mais forte do que o normal. Portanto, o denominador da relação portador-ruído aumenta e o valor C/N0 diminui. No spoofing, acontece o oposto: como um sinal falso está sendo transmitido com volume suficiente para abafar o sinal real do satélite, a intensidade do sinal geral é alta e, portanto, o C/N0 aumenta.

Verificar spoofing ou interferência de GNSS

É possível usar a guia Spoof/Jam no app GnssLogger para analisar o impacto do ambiente em C/N0 e AGC em tempo real.

Gráfico de AGC e C/N0 em tempo real

A guia Spoof/Jam mostra um gráfico em tempo real de AGC e C/N0 para cada constelação e banda do GNSS (por exemplo, "GPS L1" ou "G:L1:", "Galileo E5a" ou "E:E5A:").

Gráfico de AGC e C/N0 para cada constelação e banda do GNSS.
Figura 2. O AGC e o C/N0 caem quando um smartphone é mantido próximo a um roteador Wi-Fi (oval vermelho). Os três principais sinais médios de cada constelação e banda são mostrados como linhas tracejadas. O AGC de cada constelação e faixa, que é um único valor, é mostrado como uma linha sólida. A seção circulada em vermelho no gráfico mostra como o AGC e o C/N0 diminuem quando o smartphone é mantido ao lado de um roteador Wi-Fi e, portanto, a interferência é observada.

Verificações em tempo real para spoofing e interferência

Abaixo do gráfico em tempo real de AGC e C/N0, o app mostra uma série de verificações de dados automatizadas que identificam condições relacionadas à interferência do GNSS.

Interface mostrando evidências de condições
  potencialmente causadas por spoofing e jamming.
Figura 3. As verificações automatizadas podem identificar condições potencialmente causadas por spoofing e jamming.

Na seção Verificações de interferência, o app verifica se a média das 10 épocas mais recentes de C/N0 e AGC mudou em comparação com as 50 anteriores. Se a C/N0 e o AGC diminuírem simultaneamente, isso pode ser um sintoma de interferência de GNSS. Se essa situação for detectada, o cartão vai mostrar uma mensagem de FALHA com mais informações:

Condições potencialmente causadas por interferência do GNSS.
Figura 4. Uma falha indicando que condições potencialmente causadas por interferência do GNSS foram detectadas.

O primeiro card na seção Verificações de spoofing também verifica C/N0 e AGC, mas procura um aumento simultâneo em C/N0 e uma queda no AGC.

A segunda verificação relacionada à falsificação procura uma diferença de mais de um segundo entre o tempo do GNSS calculado no dispositivo e o tempo recuperado pela Internet de um servidor do Network Time Protocol (NTP) (tempo da rede - tempo do GNSS). Uma grande diferença pode indicar que o horário do GNSS calculado não é válido.

Dicas, truques e advertências

Confira alguns pontos a serem considerados ao usar o recurso Spoof/Jam do GnssLogger:

  • Este é um recurso experimental. À medida que aprendemos mais sobre as características do AGC em vários dispositivos Android, os algoritmos exatos usados para mudanças de spoofing e jamming podem ser atualizados.
  • Esse recurso não detecta todas as falsificações e interferências. O gráfico em tempo real e as verificações de dados facilitam a descoberta de propriedades de dados em tempo real, mas não são robustos o suficiente para detectar todos os exemplos de falsificação ou interferência.
  • Esse recurso foi projetado para detectar uma mudança no C/N0 e no AGC. Se você abrir o app na presença de spoofing ou jamming e o C/N0 e o AGC permanecerem constantes, o spoofing e o jamming não serão detectados.
  • Os servidores NTP não são necessariamente seguros. O tempo da rede também pode ser falsificado.

Envie feedback sobre o recurso Spoof/Jam usando nosso rastreador de problemas público.