Abbiamo vinto una battaglia navale contro la Marina ma per migliorarla

innovaizone

Poco più di un anno fa scrissi un articolo su CheFuturo! nel quale raccontavo di un hacker etico, Hugo Teso, il quale aveva dimostrato ad una conferenza hacker come prendere il controllo dei diversi dispositivi a bordo degli aerei e che contribuiscono alla navigazione del velivolo ed al controllo del traffico aereo. La conferenza era Hack in the Box European Edition, nell’aprile del 2013.

La quinta edizione di Hack in the Box Europe si continua a tenere ad Amsterdam, e pare rispettare la tradizione: Marco Balduzzi ed Alessandro Pasta, ricercatori di security italiani, hanno presentato “AIS Exposed: new vulnerabilities and attacks” davanti ad una sala gremita dei maggiori esperti mondiali di cyber security.

AIS sta per Automatic Identification System, ed è il sistema di tracking nel settore navale, oltre che fornire funzionalità di comunicazione ship-to-ship e da/verso le autorità portuali.

AIS è applicato nei casi di pirateria marittima, per evitare collisioni tra imbarcazioni, per operazioni di Ricerca e Salvataggio (Search & Rescue), azioni investigative in seguito ad incidenti, l’invio delle condizioni del tempo. E’ insomma un sistema informativo e di dialogo essenziale, che svolge compiti cruciali. Essendo uno standard creato nel 2002, quindi in anni tutto sommato recenti, e con lo scopo supportare i sistemi di sicurezza esistenti, come ad esempio i radar tradizionali, ci si aspetta che sia un qualcosa di sicuro, inattaccabile, perfetto ed inespugnabile.

Qualunque cargo o nave con una stazza lorda di oltre 300 tonnellate, e qualunque nave passeggeri indipendentemente dalla dimensione, devono avere il sistema AIS a bordo: è obbligatorio Ad oggi si contano quasi mezzo milione di installazioni, e si prevede si arriverà al milione di mezzi in pochi anni.

Lo standard AIS ed i suoi messaggi sono scambiati in due modi: attraverso la radiofrequenza (RF), sui 162 MHz VHF, ed attraverso i c.d. “Online AIS Providers”. Marco e Alessandro hanno individuato – e dimostrato! – falle di sicurezza in ambo questi scenari.

Mentre il ruolo della RF è chiaro – serve per permettere alle navi di scambiarsi messaggi di allerta, informazione e stato, sia tra di loro che con le Autorità Portuali – gli AIS Online Provider hanno il compito di raccogliere e di permettere alle navi di visualizzare queste informazioni, su siti Internet dedicati e su quei dispositivi a bordo delle navi che, attraverso il 3G o altri tipi di connettività Internet (satellitare, wi-max, etc) ricevono quelle informazioni e le visualizzano sullo schermo.

Questo data upstream avviene attraverso Apps per cellulari, Software dedicato, Email, API apposite, ed attraverso gateway a radio-frequenza che sono sviluppati a livello nazionale o regionale.

Le problematiche di sicurezza identificate dai due italiani sono quindi riassumibili in due categorie: quelle relative all’implementazione, che impattano sugli Online Providers, e quelle relative ai Protocolli, che impattano invece sui Transponder AIS (RF / VHF).

Detto così, può sembrare roba da poco, e peggio ancora avviene quando Marco Balduzzi, che per me è anche un amico di lunga data ed una persona con cui, spesso, mi incontro in conferenze in giro per il mondo, mi spiega gli Application Layer del sistema AIS, i messaggi AIVDM e le sentence NMEA.

I primi permettono, tra le altre cose, il report interattivo della posizione del vascello, ma anche report statistici, la gestione (per esempio i canali radio del transponder) e, soprattutto, il SART, una funzionalità molto importante, dato che è relativa agli SOS lanciati dalle navi; i secondi invece possono parlare, ad esempio, con i sistemi GPS a bordo, hanno un proprio payload, e così via.

Marco e l’amico Alessandro hanno quindi, prima di tutto, scritto un encoder per i messaggi AIVDM, come possiamo vedere dalla foto qui sotto (con Balduzzi che indossa il cappello da Capitano, mentre è sul palco di Hack in the Box Amsterdam ed illustra la sua ricerca).

Questo encoder permette di togliersi parecchi sfizi, come ad esempio inviare un alert SART, dire che la tale nave viaggia ad una certa velocità in nodi e si trova in un punto preciso del mare, ed ovviamente assegnargli una “targa”, il codice MMSI, obbligatorio appunto per ogni natante oltre un certo tonnellaggio e per tutte le navi che trasportano passeggeri. Come esempi Marco Balduzzi non ci è certo andato leggero, guidato dalla passione per il suo lavoro di ricercatore di sicurezza e dalla gravità di quanto ha scoperto: ha “spoofato” (da spoof, attacco informatico, ndr) una nave italiana coinvolta in operazioni militari (type 35, MMSI 247 320162), delle dimensioni di dieci per venti metri, come possiamo vedere nell’immagine seguente.

Non contento, Balduzzi ha poi dimostrato la vulnerabilità degli Online Provider, facendo apparire a tutti gli utenti Internet che utilizzano la nave USA “Zero Cool” proprio di fronte alla Corea del Nord.

Gli esempi continuano in un susseguirsi di (teorici) scenari di attacco quasi comici, se non fosse per l’estrema gravità delle vulnerabilità scoperte dai due ricercatori italiani: una vera nave passeggeri, la Eleanor Gordon, è stata “spostata” dal fiume Mississippi in un lago in Nebraska, a migliaia di chilometri di distanza.

Ora, quello che mi preoccupa non è tanto il fatto che uno standard di navigazione abbia (serie) problematiche di sicurezza. Come abbiamo detto già all’inizio di questo articolo, la stessa cosa è successa con Hugo Teso e lo standard ADS-B per il controllo del traffico aereo, è successo con i dispositivi SCADA e di Automazione Industriale, che gestiscono ad esempio centrali elettriche, acquedotti e così via: sono problemi noti nel mondo dell’Information Security, è successo con la sicurezza satellitare, ed il problema sta nel fatto che queste tecnologie sono state progettate diversi decenni fa, quando non esistevano gli odierni concetti base di security.

L’AIS però è uscito nel 2002, ed è quindi preoccupante che uno standard così recente sia così “bucato”. Balduzzi ed il suo collega sono riusciti persino ad emulare via software i segnali SDR (Software Defined Radio), ricostruendo in un laboratorio di fronte al Porto di Genova tutti gli elementi necessari, dalla radio di bordo al transponder, sino alla sirena per le emergenze, il ricevitore e l’antenna GPS e la radio SDR.

A questo punto non solo è possibile ottenere l’elenco di tutti i natanti intorno alla “nostra nave”, ma anche ovviamente inserirci come vascello in navigazione nella zona, fare inject di dati nei gateway AIS legittimi, simulare un allarme SART (come quando c’è un uomo in mare, il classico SOS) sia come visualizzazione sui pannelli di controllo delle altre navi, sia come sirena acustica!

Le vulnerabilità proseguono, dal disabilitare i transponder delle altre navi forzandoli a cambiare la frequenza (RX e TX) ad una non standard, sino a programmarli per fare in modo che, quando entrano ad esempio in una determinata zona geografica (tipo la Somalia), la nave di colpo “sparisca”.

C’è poi il CPA alerting, ovverosia il “Closest Port of Approach”, che avverte il comandante nel caso di probabile collisione con altri natanti: in questo caso interviene il pilota automatico, che cambia la rotta della nave ed evita lo scontro in mare. Peccato che il CPA sia stato lanciato dal Capitano Marco Balduzzi ed il suo equipaggio.

Ma si possono anche inviare agli altri natanti false informazioni meteorologiche (e chi va per mare sa quanto siano importanti le condizioni del tempo), impersonificare l’autorità portuale, fare spoofing alle base station che inviano i segnali ai natanti, prenotare slot TDMA per trasmettere, mandare in DoS (Denial of Service) il sistema della stessa autorità portuale, fare ritardare la trasmissione dei dati (Timing Attack), lanciare un attacco DoS mirato verso il sistema di una nave target (Hardware DoS + GPS), e lanciare attacchi anche contro il sistema D-GPS (Differential Global Positioning System), un GPS avanzato utilizzato in ambito navale e non solo, nel quale la precisione di tracciamento passa dai metri ai centimetri: decisamente non una cosa da poco.

Tutte le autorità del caso, dall’ITU-R alla IALA, passando per la United States Coast Guard, ed i tre principali provider (Marine Traffic, VesselFinder e ShipFinder, che comunicano tra di loro attraverso il sistema AISHub) sono state informate di queste vulnerabilità e della ricerca effettuata dai due ethical hacker italiani.

Io stesso ho preso molto a cuore questa faccenda, e con Marco stiamo già lavorando alle contromisure per rendere inefficaci le falle individuate: Autenticazione obbligatoria, Time check, Monitoring dell’integrità dei dati, Validity Check sul contesto dei dati, come ad esempio le informazioni geografiche del vascello che le sta trasmettendo.

Insomma, la Marina Militare e Civile italiana, la Guardia Costiera, le Autorità Portuali possono stare tranquille, le soluzioni ci sono: sarebbe però molto bello ed interessante se, in seguito a questo articolo, qualcuno di loro ci contattasse, per verificare nel concreto se e come i natanti che navigano nel nostro Mar Mediterraneo, e le navi militari che utilizziamo in operazioni in giro per il mondo, sono suscettibili o meno a questi attacchi alquanto pericolosi.

Amsterdam, 31 maggio 2014RAOUL “NOBODY” CHIESARaoul “Nobody” Chiesa

Originariamente pubblicato su chefuturo.it

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

What do you think?

Scritto da chef

innovaizone

E se il MISE diventasse Ministero per l’Innovazione e lo Sviluppo Economico?

innovaizone

Tre cose che ho imparato come direttore di iStarter