Rilevare jamming e spoofing GNSS

Le interferenze GNSS possono essere suddivise nelle seguenti due categorie:

  • Jam session
  • Spoofing

Gli attacchi di compromissione del segnale implicano la trasmissione di segnali radio forti nella stessa gamma di frequenza del GNSS, che possono coprire i segnali relativamente più deboli trasmessi dai satelliti GNSS. Ciò può impedire ai ricevitori GNSS, inclusi gli smartphone, di calcolare la loro posizione.

Lo spoofing è un attacco più sofisticato durante il quale vengono trasmessi segnali falsi che pretendono di essere segnali GNSS reali. Questi falsi segnali possono ingannare un ricevitore GNSS facendogli calcolare una posizione o un orario molto diverso dalla realtà, il che è sufficiente per confondere le app di mappatura e navigazione e fornire agli utenti informazioni sbagliate.

Informazioni sullo spoofing o sull'interferenza del GNSS

L'intensità del segnale o il rapporto segnale/rumore (C/N0) del segnale, nonché il controllo automatico del guadagno (AGC) della radio GNSS dello smartphone possono essere un buon indicatore di interferenza.

L'AGC tende a diminuire quando si verificano spoofing o jamming. Quando la radio riceve onde radio forti, riduce il guadagno dell'amplificatore (AGC) per regolare l'intensità del segnale ricevuto.

Confronto delle intensità del segnale che indicano interferenze
Figura 1. L'AGC diminuisce durante l'interferenza (area rossa) e torna ai livelli normali quando l'interferenza viene rimossa (area verde). (Fonte immagine: https://doi.org/10.33012/navi.537)

Tuttavia, il comportamento di C/N0 cambia tra gli eventi di jamming e spoofing. Per gli eventi di jamming, il rumore osservato dalla radio è molto più forte del normale, pertanto il denominatore del rapporto segnale/rumore aumenta e il valore C/N0 diminuisce. Per lo spoofing accade il contrario: poiché viene trasmesso un segnale falso sufficientemente alto da coprire il segnale reale del satellite, la potenza del segnale complessiva è elevata e quindi il rapporto C/N0 aumenta.

Verifica la presenza di spoofing o jamming GNSS

Puoi utilizzare la scheda Spoof/Jam nell'app GnssLogger per esaminare in tempo reale l'impatto dell'ambiente su C/N0 e AGC.

Grafico AGC e C/N0 in tempo reale

La scheda Spoof/Jam mostra un grafico in tempo reale di AGC e C/N0 per ogni costellazione e banda GNSS (ad es. "GPS L1" o "G:L1:", "Galileo E5a" o "E:E5A:").

Grafico di AGC e C/N0 per ogni costellazione e banda GNSS.
Figura 2. L'AGC e il C/N0 diminuiscono quando lo smartphone viene tenuto accanto a un router Wi-Fi (ovale rosso). I tre indicatori medi principali per ogni costellazione e banda sono mostrati come linee tratteggiate. L'AGC per ogni costellazione e banda, che è un singolo valore, viene visualizzato come una linea continua. La sezione cerchiata in rosso sul grafico mostra come sia l'AGC sia il C/N0 diminuiscono quando lo smartphone viene tenuto vicino a un router Wi-Fi e, di conseguenza, viene osservata l'interferenza.

Controlli in tempo reale per rilevare spoofing e jamming

Sotto il grafico in tempo reale di AGC e C/N0, l'app mostra una serie di controlli automatici dei dati che identificano le condizioni relative alle interferenze GNSS.

Interfaccia utente che mostra prove di condizioni
  potenzialmente causate da spoofing e jamming.
Figura 3. I controlli automatici possono identificare condizioni potenzialmente causate da spoofing e jamming.

Nella sezione Controlli di jamming, l'app verifica se la media delle 10 epoche più recenti di C/N0 e AGC è cambiata rispetto alle 50 epoche precedenti. Se C/N0 e AGC diminuiscono contemporaneamente, potrebbe essere un sintomo di jamming GNSS. Se viene rilevata questa situazione, nella scheda viene visualizzato un messaggio FAIL insieme a maggiori informazioni:

Condizioni potenzialmente causate da interferenze GNSS.
Figura 4. Un errore che indica che sono state rilevate condizioni potenzialmente causate da interferenze GNSS.

La prima scheda della sezione Controlli di spoofing controlla anche C/N0 e AGC, ma cerca un aumento simultaneo di C/N0 e un calo di AGC.

Il secondo controllo relativo allo spoofing cerca una differenza superiore a un secondo tra il tempo GNSS calcolato sul dispositivo e il tempo recuperato tramite internet da un server NTP (Network Time Protocol) (tempo di rete - tempo GNSS). Una grande differenza può indicare che l'ora GNSS calcolata non è valida.

Suggerimenti, trucchi e avvertenze

Ecco alcuni aspetti da tenere presente quando utilizzi la funzionalità Spoof/Jam di GnssLogger:

  • Si tratta di una funzionalità sperimentale. Man mano che apprendiamo di più sulle caratteristiche dell'AGC su vari dispositivi Android, gli algoritmi esatti utilizzati per lo spoofing e le modifiche di jamming potrebbero essere aggiornati.
  • Questa funzionalità non rileva tutto lo spoofing e l'interferenza: i controlli dei dati e del grafico in tempo reale semplificano la scoperta delle proprietà dei dati in tempo reale, ma non sono abbastanza efficaci per rilevare ogni esempio di spoofing o interferenza.
  • Questa funzionalità è progettata per rilevare una variazione di C/N0 e AGC: se apri l'app in presenza di spoofing o jamming e C/N0 e AGC rimangono costanti, lo spoofing e il jamming non vengono rilevati.
  • I server NTP non sono necessariamente sicuri: anche l'ora di rete può essere falsificata.

Fornisci un feedback sulla funzionalità Spoof/Jam utilizzando il nostro issue tracker pubblico.