Progetto in corso · Sicurezza informatica
Cyber
Cerchiamo i punti deboli nelle reti di bordo delle navi e costruiamo le difese.
- la velocità di una linea NMEA 0183
- 4800 bit/s
- al massimo in una frase
- 82 caratteri
- autenticazione nel protocollo
- Nessuna
- la prova di attacco e difesa sul simulatore di plancia
- Aprile 2026
Per chi viene da informatica, ingegneria, telecomunicazioni
La rete di plancia
Su una nave la girobussola, il GPS, la carta nautica elettronica e l’autopilota si parlano con lo standard NMEA 0183, che nella norma internazionale si chiama IEC 61162-1. Un apparato parla, tutti gli altri ascoltano: frasi di testo, una riga alla volta, a 4800 bit al secondo.
Sulle navi più nuove le stesse frasi viaggiano su Ethernet, in pacchetti UDP mandati a tutta la rete. Il protocollo però non ha autenticazione: chi riceve una frase non può sapere chi l’ha scritta. Uno studio dell’Università di Genova, del 2023, ha mostrato che un programma sulla rete di plancia può iniettare frasi false della bussola o dell’AIS, e gli apparati le accettano.
- 01
Girobussola
Manda la prora vera, cioè dove punta la prua rispetto al nord: frase HDT.
- 02
GPS
Manda posizione, ora e qualità del segnale: frase GGA.
- 03
Carta nautica
Mette insieme posizione, prora e le altre navi viste dall’AIS.
- 04
Autopilota
Tiene la rotta muovendo il timone, fidandosi della prora che riceve.
Com’è fatta una frase
Ogni frase comincia con $, poi due lettere per chi parla e tre per il tipo di frase, poi i campi separati da virgole. Alla fine un asterisco e il checksum: due cifre esadecimali, lo XOR di tutti i caratteri fra $ e *. Serve a scoprire gli errori di trasmissione, non gli inganni: chi scrive una frase falsa calcola anche il checksum giusto.
$GPGGA,100008.83,4419.699,N,00858.415,E,1,01,0.9,18.000,M,0.000,M,,0000*64
$GP GGA GPS, frase di posizione
100008.83 ora UTC, 10:00:08,83
4419.699,N latitudine 44° 19,699′ nord
00858.415,E longitudine 8° 58,415′ est
1 qualità: fix GPS
01 satelliti usati
0.9 precisione orizzontale, HDOP
18.000,M quota dell’antenna in metri
*64 checksum
def checksum(frase):
corpo = frase[1:frase.index('*')]
x = 0
for carattere in corpo:
x ^= ord(carattere)
return f'{x:02X}'
checksum('$IIXDR,A,0.0,D,PTCH,A,0.1,D,ROLL,C,0.0,C,AirTemp*05') # '05'
L’attacco
Nella prova un computer collegato alla rete di plancia manda frasi di prora false, come se fosse la girobussola, e molto più spesso di lei. Chi ascolta tiene l’ultima frase arrivata, quindi vince quasi sempre quella falsa. L’autopilota corregge la rotta su una prora sbagliata, e la carta nautica non mostra nulla di strano.
Non è teoria. Nel 2013 un gruppo dell’Università del Texas, con il permesso dell’armatore, ha portato fuori rotta uno yacht da 65 metri al largo delle coste italiane, con segnali GPS falsi: la carta mostrava una linea dritta. Nel 2017, nel Mar Nero, il GPS di una nave la metteva a terra, vicino a un aeroporto; secondo il comandante, più di 20 navi nella zona avevano lo stesso problema. Nel 2019 il rapporto C4ADS ha contato 9.883 casi sospetti di falsificazione del GPS, che avevano colpito 1.311 navi civili.
| HDT | prora vera | dalla girobussola: il bersaglio dell’attacco |
|---|---|---|
| GGA | posizione GPS | ora, latitudine, longitudine, quota |
| ZDA | data e ora | con il fuso orario |
| XDR | sensori | beccheggio, rollio, temperatura dell’aria |
| VDM | AIS | le altre navi: posizione, velocità, rotta |
La difesa
La difesa è un programma ponte fra due parti della rete. Inoltra le frasi vere e ferma quelle che arrivano dal lato sbagliato: la prora e il GPS possono venire solo dagli strumenti giusti. Il traffico passa in pacchetti UDP, e le regole si cambiano mentre il sistema è in funzione.
> set block heading blocca le frasi di prora in arrivo
> set block gps in blocca i dati GPS in arrivo
> set allow all lascia passare tutto
Le regole
Dal 2021 l’Organizzazione marittima internazionale chiede che i rischi informatici entrino nei sistemi di sicurezza delle compagnie di navigazione. Le sue linee guida, nella revisione del 2025, ordinano il lavoro in sei funzioni.
Per molte navi nuove, contrattate dal 1° luglio 2024, le regole IACS E26 ed E27 sono obbligatorie: la prima per la nave intera, dal progetto a tutta la vita in servizio; la seconda per ogni sistema di bordo, a carico dei fornitori.
- 01
Governare
Ruoli, responsabilità e regole della compagnia.
- 02
Identificare
Quali sistemi ci sono a bordo e quali rischi portano.
- 03
Proteggere
Credenziali uniche, password cambiate, reti separate.
- 04
Rilevare
Accorgersi in fretta che qualcosa non va.
- 05
Rispondere
Cosa fare durante un attacco.
- 06
Ripristinare
Tornare a navigare e capire le cause.
A che punto siamo
- 2025Abbiamo definito come funzionerebbe un attacco con falsi segnali GPS e trovato le prime vulnerabilità.
- 17 aprile 2026Abbiamo provato l’attacco e la difesa sul simulatore di plancia dell’Università di Genova.
- OggiLavoriamo alle difese.
Foto
Video
Persone del progetto
Con chi lo facciamo
Fonti
- IEC 61162-1 e IEC 61162-450; gpsd, NMEA Revealed.
- Longo, Russo, Armando e Merlo, Attacking (and Defending) the Maritime Radar System, IEEE Transactions on Information Forensics and Security, 2023.
- Bhatti e Humphreys, Hostile Control of Ships via False GPS Signals, NAVIGATION, 2017.
- C4ADS, Above Us Only Stars, 2019.
- IMO, MSC-FAL.1/Circ.3, revisione 3, 2025; risoluzione MSC.428(98).
- IACS, Unified Requirements E26 ed E27.
- Presentazione del Deep-Tech Showcase, Palazzo della Borsa, 21 aprile 2026.
Vuoi lavorarci?
Non serve esperienza e non serve un curriculum. Scrivici: ti invitiamo al prossimo incontro, dove conosci la squadra.
