Controllare o (addirittura) dirottare un aereo con Android è possibile?

hitb

Durante la recente conferenza sulla sicurezza, organizzata da Hack in the box lo scorso mese di aprile ad Amsterdam, ha richiamato una notevole attenzione la presentazione di Hugo Teso, uno specialista di sicurezza informatica. Teso avrebbe infatti dimostrato la possibilità di controllare remotamente, tramite un dispositivo Android, alcuni sistemi avionici di bordo, non escludendo la possibilità di attuare in questo modo anche un dirottamento. Vediamo più in dettaglio su quali fondamenti si basa questa ipotesi, come dovrebbe funzionare e quali reazioni ha scatenato nel mondo legato alla sicurezza aerea.

Vediamo anzitutto di definire i contorni di questa vicenda, che soltanto qualche mese fa ha calamitato l'attenzione dei principali organi di stampa e degli enti preposti alla sicurezza aerea, presentandosi a tutti gli effetti come un vero e proprio fulmine a ciel sereno.

Nessuno, infatti, avrebbe mai dubitato della sicurezza dei sistemi avionici di bordo, e tantomeno della possibilità di intromettersi remotamente al loro interno, arrivando a prendere il controllo (o influenzandone il comportamento) di un comune aereo di linea. Come vedremo al termine di questo articolo, questa vicenda ha avuto un epilogo tutto sommato rassicurante, anche se è dovuta intervenire direttamente la Federal Aviation Administration (FAA), il principale organo mondiale competente in materia (come la FAA stessa afferma: "our mission is to provide the safest, most efficient aerospace system in the world").

Hugo Teso, il protagonista di questa vicenda, è anzitutto un esperto e consulente per la sicurezza tedesco, con una discreta esperienza e conoscenza del settore avionico, essendo egli stesso provvisto di una regolare licenza di pilota commerciale. Nella sua presentazione, frutto di una ricerca durata tre anni, Hugo ha fornito una dimostrazione pratica di come si possa attaccare remotamente il sistema avionico di un velivolo di linea, arrivando a prenderne il pieno controllo. Poichè l'attacco viene condotto remotamente, non è necessario accedere fisicamente ai sistemi avionici del velivolo.

Oltre a un comune dispositivo mobile Android equipaggiato con una particolare app Android (PlaneSploit), Teso ha utilizzato un sistema completo hardware/software (un vero e proprio "framework", denominato "SIMON"), un sistema quindi utilizzabile solo in laboratorio, non certo a bordo di un velivolo vero e proprio.

L'immagine seguente mostra una videata dell'applicazione per Android sviluppata espressamente da Hugo Teso per la sua ricerca:

L' "attacco", o meglio la simulazione di attacco, costruita da Teso si articola in quattro fasi principali:

  • discovery (individuazione) - è la fase iniziale, nella quale viene utilizzato lo strumento ADS-B
  • info gathering (raccolta delle informazioni) - in questa fase viene utilizzata la strumentazione ACARS
  • exploitation (sfruttamento) - in questa fase, sfruttando i due protocolli precedenti, viene dimostrata la vulnerabilità dei sistemi avionici
  • post-exploitation (post-sfruttamento) - questa è la fase conclusiva del processo, nella quale si dovrebbe riuscire a prendere il controllo del velivolo

ADS-B e ACARS sono due protocolli avionici che sono stati utilizzati da Teso durante la sua simulazione di attacco, ma essi non rappresentano l'obiettivo della sua ricerca, bensì lo strumento impiegato per dimostrare la vulnerabilità del sistema.

Vediamo ora qualche informazione più dettagliata relativa a questi due protocolli avionici.

ADS-B (acronimo di Automatic Dependent Surveillance-Broadcast), ha la funzione di trasmettere continuamente nell'etere la posizione corrente dell'aeromobile (la trasmissione è di tipo broadcast), in modo tale che essa possa essere utilizzata per l'identificazione e il tracciamento dell'aereo stesso, funzioni fondamentali per una gestione efficiente del traffico aereo. Le informazioni trasmesse contengono i dati identificativi del velivolo, la sua posizione corrente, altitudine, condizioni metorologiche, e così via). Essendo la trasmissione di tipo broadcast, anche l'aereo stesso può ricevere messaggi di tipo ADS-B "lanciati" da altri velivoli posti nelle sue vicinanze.

ACARS (acronimo di Aircraft Communications Addressing and Reporting System), è invece un protocollo utilizzato per lo scambio di messaggi bidirezionale tra il velivolo e le stazioni di terra (controllori del traffico aereo), trasmissione che può avvenire sia via satellite che utilizzando particolari frequenze radio. I messaggi ACARS, inviati automaticamente, possono tuttavia essere ricevuti anche da altri velivoli, e in sostanza sono dei messaggi di testo del tutto simili a un comune SMS o a una email.

Stando alle affermazioni di Teso, le tecnologie ADS-B e ACARS sono entrambe fondamentalmente non sicure, soggette a possibili attacchi sia di tipo attivo che passivo. Utilizzando il framework messo a punto da Teso (SIMON), un hacker potrebbe caricare una configurazione specifica nel sistema di volo remoto (ovvero FSM, acronimo di Flight Management System), caricare e attivare un piano di volo, informazioni dettagliate sui comandi o addirittura plugin personalizzati che potrebbero essere sviluppati per il framework. Per rendere le cose ancora più interessanti, o persino più facili, Teso ha preparato un'applicazione Android che sfrutta le potenzialità offerte da SIMON per controllare a distanza gli aerei in movimento. L'applicazione, chiamata PlaneSploit, sfoggia un'interfaccia pulita e semplice, ma è piena zeppa di funzioni.

Questo è un esempio rimarchevole di come la tecnologia si sia rapidamente evoluta. Soltanto dieci anni fa disponevamo dei primi cellulari dotati di uno schermo a colori, oggi li possiamo addirittura utilizzare (secondo le affermazioni di Teso, ovviamente) per un potenziale dirottamento aereo.

L'applicazione PlaneSploit utilizza il servizio "live" di tracciatura del traffico aereo Flightradar24 (vi interessa per caso sapere quali aerei stanno volando sopra le vostre teste in questo preciso momento?), e si può selezionare tramite un tap qualunque velivolo che si trova nel raggio di azione dell'applicazione stessa. Parlando appunto di range, occorre considerare che stiamo parlando di un'applicazione "proof-of-concept" la quale viene utilizzata all'interno di un ambiente di simulazione virtuale. In un ipotetico caso reale, tale range sarebbe limitato in base alle dimensioni e portata delle antenne utilizzate.

L'interfaccia utente è suddivisa nelle sue principali funzioni che sono di per sè auto-esplicative: discovery, information gathering, exploitation, e post exploitation. Il potenziale hacker può fare clic su qualsiasi velivolo attivo, ricevendo così il suo identificativo, la posizione attuale, e la destinazione finale. Nel caso in cui nelle vicinanze vi sia un velivolo suscettibile di un possibile attacco (Teso non ha fornito informazioni dettagliate su come ciò sia determinabile), l'applicazione avverte l'utente tramite una segnalazione visiva oppure tramite un apposito messaggio di tipo push. La configurazione può essere caricata a questo punto tramite un tocco (tap) su un apposito pulsante, e dal quel momento in avanti il sistema di gestione del volo può essere comandato a distanza da un potenziale utente malintenzionato.

Nell'immagine seguente viene mostrato un componente tipico dell'FMS, la Control Display Unit (in sostanza una tastiera con relativo display). Si noti la presenza di un piano di volo sul display stesso:

Ecco alcune delle funzionalità che Teso ha mostrato al pubblico nel corso dell'ultimo HITBSecConf tenutosi ad Amsterdam:

  • Please go here: è un modo di interagire con l'aeroplano in cui l'utente può toccare dinamicamente varie posizioni sulla mappa, e cambiare così il percorso seguito dal velivolo.
  • Define area: permette di impostare dei filtri dettagliati relativi al velivolo; ad esempio, attivare qualcosa quando un aereo si trova nel raggio di X chilometri, oppure quando esso inizia a volare a una quota predefinita.
  • Visit ground: provoca il crash dell'aereo.
  • Kiss off: serve ad abbandonare il sistema.
  • Be punckish: un modo teatrale di allertare i piloti che sta avvenendo qualcosa di gravemente sbagliato - le luci iniziano a lampeggiare e un ronzio avvisa della presenza di allarmi.

Mostrando uno scenario di esempio nel quale un pilota ubriaco sta sorvolando Berlino, Teso ha inoltre ricordato che l'applicazione Android sfrutta anche i vantaggi dell'accelerometro e quindi un utente remoto può trasformare il moto del suo cellulare in cambiamenti fisici nel movimento del velivolo.

E' sorprendente a questo punto notare come l'aviazione, un settore in cui la sicurezza è di vitale importanza e in cui ogni dispositivo vitale per il volo possiede uno o addirittura due sistemi fail-safe (la cosiddetta "ridondanza"), non sia in grado di proteggere il computer di bordo, il cuore e il cervello del velivolo. Teso non ha per la verità svelato troppi dettagli circa gli strumenti che ha utilizzato per perpretare l'attacco simulato, in quanto ha ritenuto che i dipositivi coinvolti (quelli cioè affetti da qualche forma di vulnerabilità) dovessero essere prima modificati eliminando tali difetti. Teso afferma inoltre di essere stato piacevolmente sorpreso dalla reazione delle aziende del settore alle sue ricerche e scoperte, in quanto esse non hanno cercato di negare l'esistenza dei problemi e hanno promesso di aiutarlo nella sua ricerca. Teso sostiene che i sistemi avionici più vecchi, di tipo legacy, alcuni dei quali progettati negli anni '70, sono i più difficili, se non impossibili, da aggiornare. I sistemi moderni, per contro, possono essere agevolmente aggiornati tramite l'applicazione di appositi fix o patch a livello software e firmware. Il grado di vulnerabilità, chiaramente, varia da sistema a sistema e da aeroplano a aeroplano, ma dovrebbe essere semplice scoprire quali vulnerabilità sono presenti una volta che l'utente ha individuato il tipo e il modello dell'aeroplano, e la compagnia aerea per cui vola. Inoltre, secondo Teso i piloti hanno sempre la possibilità di riprendere il controllo dell'aereo e atterrare in modo sicuro. Gli attacchi di questo tipo funzionano solo quando il pilota automatico è attivo, per cui il trucco è quello di disattivarlo, e poi volare utilizzando gli strumenti analogici disponibili sul velivolo (volo strumentale). La brutta notizia è che i piloti si devono prontamente accorgere che il computer di bordo si trova sotto attacco, ed eseguire conseguentemente le opportune manovre. Un'impresa, come si può immaginare, tutt'altro che semplice.

L'epilogo finale?

La risposta ufficiale dei massimi organi preposti al controllo del volo e della sicurezza aerea, come era lecito aspettarsi, non si è fatta attendere. Verso la metà dello scorso mese di Aprile, infatti, sia la Federal Aviation Administration (FAA) che la European Aviation Safety Agency (EASA) si sono affrettate a comunicare ufficilamente che il dirottamento di un aeroplano tramite un'applicazione per smartphone non è possibile.

Sulla base delle ultime dichiarazioni rilasciate da entrambe le organizzazioni di cui sopra e dalle società Honeywell e Rockwell Collins (aziende leader nella fornitura di sistemi avionici commerciali, sistemi informativi, e sistemi aerospaziali ai produttori di aeromobili e le cui attrezzature sono state utilizzate da Teso nella sua ricerca), l'attacco descritto non è fattibile. La Federal Aviation Administration ha dichiarato che "è consapevole che un consulente di tecnologia dell'informazione tedesco ha affermato di aver rilevato un problema di sicurezza nell'apparato FMS (Flight Management System) NZ-2000 di Honeywell, utilizzando solo un computer desktop. La FAA ha stabilito che la tecnica di hacking descritta durante una recente conferenza sulla sicurezza informatica non pone problemi di sicurezza del volo, perché essa non funziona sui sistemi hardware certificati per il volo. La tecnica descritta non può ingaggiare o controllare il sistema di pilota automatico del velivolo utilizzando l'FMS o impedire a un pilota di escludere il pilota automatico. Pertanto, un hacker non può ottenere "il pieno controllo di un aeromobile" come il consulente tecnologico ha sostenuto". L'EASA ha inoltre sottolineato che il software embedded certificato per il volo presenta una "robustezza che non è presente sul software di simulazione a terra", e Rockwell Collins ha commentato a Forbes che "i sistemi avionici certificati di oggi sono progettati e costruiti con alti livelli di ridondanza e sicurezza, e che la ricerca di Teso "implica dei test eseguiti con aeromobili virtuali in un ambiente di laboratorio, che non è analogo ai sistemi certificati per il volo che operano nello spazio aereo regolamentato".

Parole pesanti, queste, che sembrano aver messo la parola fine a una vicenda che, comprensibilmente, aveva sucitato una certa apprensione in tutto il mondo dell'aviazione. L'errore commesso da Teso, se di errore è giusto parlare, è stato quello di aver utilizzato delle apparecchiature (come l'FMS) acquistati su internet o comunque da rivenditori non ufficiali. Dispositivi, questi, diversi da quelli effettivamente installati sugli aeromobili, e dotati di un minore grado di sicurezza a livello di software o firmware. Resta il fatto, tuttavia, di aver portato alla luce degli aspetti inerenti la sicurezza del volo che non vanno assolutamente sottovalutati, tenendo anche presente la recente decisione di molte compagnie aeree di consentire l'utilizzo di dispositivi mobili durante il volo.

Per chi volesse approfondire ulteriormente l'argomento, consiglio di leggere la documentazione (slide) della presentazione di Hugo Teso alla conferenza di HackInTheBox, e di guardarsi il seguente video, con la riproduzione integrale dell'intervento di Teso (dura circa un'ora, ma ne vale la pena):

 

Quello che hai appena letto è un Articolo Premium reso disponibile affinché potessi valutare la qualità dei nostri contenuti!

 

Gli Articoli Tecnici Premium sono infatti riservati agli abbonati e vengono raccolti mensilmente nella nostra rivista digitale EOS-Book in PDF, ePub e mobi.
volantino eos-book1
Vorresti accedere a tutti gli altri Articoli Premium e fare il download degli EOS-Book? Allora valuta la possibilità di sottoscrivere un abbonamento a partire da € 2,95!
Scopri di più

10 Comments

  1. IvanScordato Ivan Scordato 26 dicembre 2013
  2. slovati slovati 26 dicembre 2013
  3. Emanuele Emanuele 27 dicembre 2013
  4. Giorgio B. Giorgio B. 27 dicembre 2013
  5. slovati slovati 27 dicembre 2013
  6. Ermetico.Cangaceiro 28 dicembre 2013
  7. adrirobot 30 dicembre 2013
  8. slovati slovati 31 dicembre 2013
  9. matrixdave 28 gennaio 2014
  10. amdigen amdigen 29 gennaio 2014

Leave a Reply

Raspberry Pi 3 GRATIS! (Win10 compatibile)

Fai un abbonamento Platinum (EOS-Book + Firmware), ricevi in OMAGGIO la RASPBERRY 3, inviaci il tuo progetto e OTTIENI IL RIMBORSO