Il rilevamento del GPS spoofing nei droni
Il controllo di un UAV (Unmanned Aerial Vehicle[1], cioè velivolo senza pilota umano a bordo) rappresenta una sfida tecnologica apparentemente gestibile e alla portata di un pubblico sempre più esteso; se non fosse soggetto ad attacchi di GPS spoofing, che hanno il potere di alterare la percezione dell’UAV in merito al posizionamento corrente.
Si capisce che l’effetto di tale pratica può essere spiacevole, fino a divenire devastante nei casi di velivoli ad uso militare. In questo articolo ci occuperemo di alcune possibilità di rilevare lo spoofing, in maniera che si possano prendere misure di contrasto, almeno per evitare effetti drastici conseguenti a queste tipologie di attacchi.
UAV e droni
I termini “UAV” e “droni” oggi sono usati praticamente come sinonimi.[2]
In realtà, mentre “UAV” è usato soprattutto in ambienti militari, “drone” viene utilizzato nell’ambito di applicazioni civili come la fotografia, l’esplorazione, l’agricoltura, la manutenzione di opere stradali e ferroviarie o le attività ricreative; e si tratta, in genere, di velivoli a pilotaggio remoto.
Il termine più tecnico (“UAV”) descrive invece l’assenza di un pilota umano a bordo. Si usano, in effetti, vari acronimi: Unmanned Aircraft System (UAS) sta ad indicare un intero sistema, composto non solo dal velivolo ma anche da una stazione di controllo e da un collegamento per la comunicazione tra questa e il velivolo. La statunitense FAA (Federal Aviation Administration, agenzia federale del Dipartimento dei Trasporti, che si occupa dell’aviazione civile) ha introdotto il termine UA per indicare un aeromobile senza pilota. Le regole della FAA richiedono che in un UAS ci sia un pilota in comando remoto (RPIC), o un osservatore visivo, che sia in grado di vedere il velivolo in ogni momento mentre l’aereo è in volo.
Spesso si usa la sigla “RPAV” (Remotely Piloted Aerial Vehicle), in italiano SAPR (Sistema Aeromobile a Pilotaggio Remoto[3],[4], ambito regolato dall’ENAC[5] ma divenuto obsoleto dopo l’emissione del regolamento UAS-IT[6]). A rendere più confuso lo scenario ci sono i termini UAVS e RPAS, ove la lettera S descrive il sistema, come già detto per gli UAS.
Precisiamo che gli UAV possono essere a guida completamente autonoma (se fanno uso di sensori e di una logica autonoma) o semi-autonoma (il velivolo funziona utilizzando sensori, un sistema di controllo a terra e una programmazione software specifica). Merita una menzione a parte la sottocategoria FPV (First-Person View) in cui il pilota remoto vede ciò che è visibile dal drone.[7] Naturalmente è un caso speciale di UAS.
È ancora dubbio se un velivolo a pilotaggio remoto possa essere chiamato UAV o meno: in letteratura ci sono indicazioni contrastanti al riguardo[8],[9].
Esistono numerose altre sigle[10] ma non si tratta di una questione rilevante ai fini della presente analisi. La letteratura sul tema è piuttosto ricca.[11]
Navigazione satellitare
Da parecchi anni è disponibile la navigazione satellitare, che supporta la localizzazione nel tempo e nello spazio di molti operatori; negli ultimi anni, grazie alla diffusione di smartphone e tablet, è utilizzata anche dal grande pubblico.
Tecnicamente si tratta di satelliti orbitanti che forniscono informazioni per il geoposizionamento; se la copertura è globale si parla di GNSS (Global Navigation Satellite Systems), mentre se è regionale si usa RNSS (Regional Navigation Satellite Systems).
I sistemi globali sono attualmente quattro: GPS (statunitense), GLONASS (russo), BDS (cinese) e Galileo (europeo). Il funzionamento del GNSS si basa su alcuni principi fisici che qui non discuteremo[12], limitandoci a osservare come il più diffuso sia sicuramente il GPS. In tutti i casi è prevista la messa a punto di un dispositivo di ricezione che riceve segnali dai satelliti per determinare la posizione. Da qui, due conseguenze pratiche: non c’è ricezione di segnale satellitare in un ambiente indoor[13]; la diffusa convinzione per cui un ricevitore è anche in grado di comunicare la posizione è errata, occorrendo, oltre al ricevitore, un trasmettitore.
Di seguito faremo riferimento al GPS, il più noto fra i GNSS; tuttavia, quanto discusso vale, in linea di principio, per tutti gli altri sistemi di navigazione satellitare.
Lo Spoofing e i suoi effetti
Il termine spoofing è usato in numerosi scenari differenti: tutti hanno in comune l’idea di un attaccante che falsifica l’identità per ottenere un vantaggio illegittimo. Può avvenire nell’email, nelle comunicazioni a pacchetto, nella telefonia, ecc.
L’attacco è pienamente applicabile ai sistemi di navigazione satellitare, attraverso determinate azioni che interferiscono con i (deboli) segnali emessi dai satelliti, facendo pervenire ai ricevitori satellitari informazioni errate. Con il termine GPS spoofing[14],[15] ci riferiamo alle azioni mirate a perturbare/avvelenare la ricezione di ricevitori satellitari, con lo scopo di far loro determinare una posizione errata.
Questo può avere varie conseguenze, che possono arrivare ad essere critiche.
Si capisce facilmente che nel caso FPV gli effetti di un tale attacco potranno essere arginati, poiché contrastati dalla visione del pilota remoto che, in molti casi, avrà altri elementi visuali per determinare la posizione del velivolo; per cui una discrepanza fra il posizionamento GPS e quello ottenuto usando altri elementi, per esempio visuali, può facilmente condurre a un rilevamento positivo e conclamato.
Nel caso di applicazioni civili il GPS spoofing potrà avere effetti da trascurabili a gravi, fino a comportare il fallimento della missione del drone; il che potrà essere magari trascurabile nelle applicazioni ludiche, ma ben più grave quando si usa un drone per attività di ricognizione, manutenzione infrastrutture, recupero/consegna, ecc.
Peggiori le conseguenze nel caso militare, in cui si immagina facilmente un drone kamikaze colpire un bersaglio errato, addirittura amico.
In sintesi, se facilmente possiamo immaginare scenari ove il GPS spoofing avrebbe conseguenze nulle o trascurabili, altrettanto facilmente immaginiamo differenti scenari ove le conseguenze potrebbero essere letali.
Alcuni droni sono costruiti con speciali integrazioni hardware che prevengono molti tipi di attacchi di GPS spoofing: tali integrazioni sono, però, piuttosto costose e di conseguenza vengono ritenute giustificate in poche applicazioni.[16]
Sono disponibili varie guide per combattere il GPS spoofing[17],[18],[19],[20],[21], che tuttavia molto spesso soffrono il limite di non offrire una visione metodologica. Se è chiaro che il GPS spoofing è indesiderabile, si capisce che un punto di partenza critico è la capacità di rilevare uno spoofing, per poi tentare di attuare delle contromisure.
Alcune tecniche di rilevamento
In questa sezione saranno prese in esame alcune tecniche che prevedono ipotesi non sempre soddisfatte, ma che possono essere anche impiegate simultaneamente.
Continuità della posizione
Assumiamo in questo caso che l’eventuale spoofing non avvenga presso la stazione di decollo del drone; il che appare anche abbastanza ragionevole perché la stazione, conoscendo la sua posizione, si accorgerebbe immediatamente di uno spoofing in atto, semplicemente confrontando la sua posizione (nota) con quella rilevata.
Se il drone rileva le proprie successive posizioni, queste dovranno allora variare descrivendo l’andamento di una funzione continua del tempo, perché il dispositivo non può registrare una discontinuità spaziale. Piuttosto, una discontinuità dovrebbe corrispondere all’ingresso in un’area soggetta a spoofing.
Il metodo si basa dunque sul confronto sistematico delle posizioni rilevate, con la prima posizione assunta come corretta. Inoltre, la tecnica potrebbe venir rafforzata dalla verifica che ogni mini-spostamento rilevato abbia ampiezza compatibile con tempi di rilevazione e velocità, applicando equazioni elementari della cinematica.
Denominiamo “falso positivo” l’errata rilevazione di uno spoofing non presente; un “falso negativo” è, invece, la rilevazione dell’assenza di spoofing quando questo è in realtà presente.
Possibilità di falsi negativi[22]: bassa; di falsi positivi: trascurabile.
Osservazione
Prendiamo atto della ampia disponibilità di mappe fotografiche, satellitari e non, che descrivono l’intero pianeta[23].
L’idea consiste nel dotare il drone di una fotocamera (magari che funzioni anche ad infrarossi) che effettui foto del paesaggio circostante e le confronti con le mappe disponibili, effettuando una verifica della posizione. Se le coordinate ottenute dal pattern matching sono compatibili con quelle rilevate dal GPS si ha conferma della posizione; in caso contrario, di uno spoofing in atto.
Il matching potrebbe essere a) verificato a bordo o b) elaborato nella ground station. Nel caso a) si pone il problema della necessità di potenza computazionale (per il pattern matching) a bordo e della banda necessaria (per caricare gli scenari fotografici di riferimento), il che incrementa i costi e va a svantaggio dell’autonomia.
Nel caso b) rimarrebbe la necessità di banda (per la continua trasmissione delle immagini ottenute).
Possibilità di falsi negativi: bassa; di falsi positivi: bassa.
Confronto con triangolazione GSM
Molti droni sono già resi disponibili con scheda per il collegamento GSM, se non UMTS. Quello che appare facile, anche se non sempre possibile, è rilevare la distanza dalla cella cui la scheda è agganciata.
Idealmente il drone si trova su una circonferenza il cui raggio è pari alla distanza rilevata e il centro è costituito dalla cella, che si trova in una posizione nota: il geoposizionamento GPS deve essere compatibile con l’appartenenza a tale circonferenza[24]. Se la scheda percepisce due torri, sebbene con potenze differenti, allora si possono intersecare le due circonferenze, determinando due sole zone per la compatibilità con le coordinate GPS. Nel caso di tre (o più; magari si considerano le tre più potenti) celle, si può completare la triangolazione e determinare una posizione esatta da confrontare con quella GPS.
Quindi, con l’aumentare delle celle percepite aumenta l’accuratezza. In generale il problema sarà la ridotta disponibilità di celle.
Nel caso di tre o più celle, la possibilità di falsi negativi o positivi è trascurabile; con il diminuire delle celle, aumenta la possibilità dei falsi negativi.
Analisi statistica
La tecnica in questo caso è applicabile quando il drone percorre una traiettoria abituale, per la quale esiste dunque una memoria storica dei posizionamenti. Si assume anche che un eventuale spoofing non sia persistente.
Il drone si limita a trasmettere le successive geolocalizzazioni GPS, che definiscono una successione da confrontare con i valori tipici delle successioni precedenti. Se i valori riscontrati non si discostano in maniera percettibile da quelli precedentemente riscontrati, deduciamo l’assenza di spoofing; altrimenti, rilevando una variazione anomala, si denuncia uno spoofing in atto.
Due elementi sono rilevanti. Il primo è dato dalla quantificazione statistica che misura la conformità o l’anomalia: questa deve essere il risultato di un’attenta valutazione condotta da un matematico. Il secondo è la scrupolosa annotazione di ogni evento anomalo che, per la stessa missione, determina una traiettoria parzialmente o totalmente differente.
Possibilità di falsi negativi: trascurabile; di falsi positivi: bassa.
Stormi
Qui si ipotizza il volo contemporaneo di più droni, sufficientemente distanziati per non essere considerati vittime dello stesso spoofing ma non così lontani da non poter comunicare tra loro.
Denominiamo l’insieme di droni “stormo coeso.” Questa situazione è analoga a quanto descritto nella sezione 4.3, ove al posto delle celle telefoniche vanno considerati droni dello stesso stormo coeso. Ciascun drone trasmette le proprie coordinate GPS; in qualunque insieme di tre droni ciascuno trasmetterà agli altri due le proprie coordinate GPS.
Ogni drone potrà costruire due triangoli: il primo usando la propria posizione GPS e le apparenti coordinate di origine delle trasmissioni degli altri due (triangolo di comunicazione) e il secondo usando solo coordinate GPS (triangolo GPS).
Se i due triangoli sono abbastanza simili fra loro, si deduce l’assenza di spoofing; altrimenti se ne determina la presenza. Ogni drone può effettuare tale verifica triangolando con i più vicini.
Lo stormo coeso è un’ipotesi piuttosto restrittiva, ma la possibilità di falsi positivi e negativi sono basse.
Angolazione Sole/Luna
In questa ultima tecnica si assume che un drone sia equipaggiato con sensori in grado di rilevare la posizione del Sole o della Luna, determinando in particolare l’angolo fra il piano di volo e la congiungente fra astro e drone stesso. Tale posizione deve essere compatibile con quella calcolata conoscendo le coordinate GPS e il tempo esatto. L’ipotesi che sia possibile rilevare Sole o Luna non è sempre soddisfatta, per cui l’applicabilità della tecnica è ridotta. Inoltre, il calcolo dell’angolo menzionato deve essere fatto da un astrofisico competente che fortunatamente può applicare una metodologia generale.
Falsi positivi e negativi possono essere considerati medi.
Riassumendo
Difendersi dal GPS spoofing – come dallo spoofing rivolto a qualsiasi sistema GNSS o RNSS – richiede o un esborso importante o una serie di metodologie che, se sapientemente impiegate, possono condurre al risultato.
Qui ne abbiamo proposte sei: le metodologie possono coesistere, ma alcune di esse richiedono ipotesi importanti. Abbiamo pensato di proporre una tabella riepilogativa in cui si evidenziano le caratteristiche di applicabilità, difficoltà, costo, falsi positivi e negativi.
Per applicabilità e difficoltà usiamo la scala ordinale (“nessuna, facile, media, difficile”); per il costo e i falsi positivi/negativi, i valori “trascurabile, basso, medio, alto”.
Metodologia | Applicabilità | Difficoltà | Costo | Falsi positivi | Falsi negativi |
4.1 Continuità della posizione | facile | nessuna | basso | trascurabili | bassi |
4.2 Osservazione | media | media | trascurabile | bassi | bassi |
4.3 Confronto con triangolazione GSM | media | facile | trascurabile | trascurabili | trascurabili |
4.4 Analisi statistica | media | media | trascurabile | bassi | trascurabili |
4.5 Stormi | difficile | facile | trascurabile | bassi | bassi |
4.6 Angolazione Sole/Luna | difficile | difficile | medio | medi | medi |
La questione merita ben altri approfondimenti e, in aggiunta, la rassegna di tecniche sovraesposta è incompleta; il presente articolo intende rappresentare, tuttavia, una prima utile riflessione sull’argomento.
Note
[1] https://www.britannica.com/technology/unmanned-aerial-vehicle
[2] https://www.linkedin.com/pulse/what-difference-between-uav-drone-sisi-yui-cuhcc
[3] https://www.overfly.me/operatore-sapr-significato
[4] https://www.enac.gov.it/sites/default/files/allegati/2020-Lug/Regolamento_APR_Ed_3_Emend_1.pdf
[6] https://www.enac.gov.it/sites/default/files/allegati/2021-Gen/Regolamento_UAS-IT080121.pdf
[7] https://www.dji-store.it/qual-e-la-differenza-tra-droni-uas-uav-e-sapr/
[8] https://en.wikipedia.org/wiki/Unmanned_aerial_vehicle
[9] https://it.wikipedia.org/wiki/Aeromobile_a_pilotaggio_remoto
[10] https://www.911foto.it/news/sapr.htm
[11] Oltre alle altre fonti già indicate (e limitandoci a quelle online), si segnalano: https://www.rand.org/topics/unmanned-aerial-vehicles.html, https://www.sciencedirect.com/topics/agricultural-and-biological-sciences/unmanned-aerial-vehicle, https://www.ai4business.it/robotica/uav-cose-e-come-funziona-un-velivolo-senza-pilota/, https://www.sciencedirect.com/topics/engineering/unmanned-aerial-vehicle, https://airandspace.si.edu/exhibitions/military-unmanned-aerial-vehicles-uav.
[12] https://en.wikipedia.org/wiki/Satellite_navigation, https://en.wikipedia.org/wiki/GNSS_augmentation
[13] Se si richiede il geoposizionamento a un dispositivo dotato di ricevitore GNSS situato in un ambiente indoor, questo, non ricevendo segnale satellitare, si limiterà a fornire la posizione della torre a cui il dispositivo è connesso; nel caso migliore, rilevando la presenza di almeno tre torri, potrà effettuare la triangolazione.
[14] https://www.repubblica.it/tecnologia/2023/10/18/news/che_cose_il_gps_spoofing_e_perche_e_potenzialmente_letale-417950578/
[15] https://www.doctorspy.it/che-cose-il-gps-spoofing-come-manipolare-un-segnale-gps/
[16] https://www.modis.com/it-it/insights/articoli/gps-spoofing-machine-learning-per-migliorare-la-sicurezza-dei-moderni-sistemi-per-droni/
[17] https://powerdmarc.com/it/what-is-gps-spoofing/
[18] https://www.okta.com/identity-101/gps-spoofing/
[19] https://www.scientificamerican.com/article/gps-is-easy-to-hack-and-the-u-s-has-no-backup/
[20] https://www.septentrio.com/en/learn-more/insights/what-spoofing-and-how-ensure-gps-security
[21] https://www.iplocation.net/10-tips-for-preventing-gps-spoofing-attacks
[22] Assumiamo il corretto funzionamento del drone.
[23] Ad es., https://earth.google.com/
[24] In realtà non è una circonferenza ma una semi-sfera.
Questo articolo è stato estratto dal white paper “Quaderni di Cyber Intelligence #6” disponibile in maniera libera e gratuita al seguente link: https://www.ictsecuritymagazine.com/pubblicazioni/quaderni-di-cyber-intelligence-6/
Articolo a cura di Fabrizio d’Amore
Romano, docente di Cybersecurity alla Sapienza Università di Roma. Ha trascorso periodi di studio e ricerca all’estero (Zurigo, Buenos Aires, Berkeley, UMIACS a College Park Maryland). Insegna inoltre corsi di crittografia, sicurezza delle informazioni, sicurezza applicativa e steganografia presso alcuni master ed altre iniziative di alta formazione. Direttore del master di 2° livello in Sicurezza delle informazioni e informazione strategica, in collaborazione con il DIS. Svolge attività di verificatore e di consulente tecnico di parte. Referente scientifico di contratti di ricerca applicata, studio e analisi fra università ed enti istituzionali e privati. Dal 2015 la sua attività di ricerca si concentra sul campo della steganografia/watermarking, sicurezza del software (antiplagio), cybersecurity del volo aero civile e delle infrastrutture, modelli di autenticazione, protezione dei dati & privacy e OSINT.