Se leggete con una certa frequenza i post di Kaspersky Daily, allora saprete già che è possibile hackerare un’automobile moderna e prenderne il controllo. Infatti, poco tempo fa abbiamo pubblicato un articolo su una ricerca del 2010 condotta dalle università del Wisconsin e della California (San Diego). Si trattava, però, di una ricerca un po’ datata, perché nel settore delle nuove tecnologie in tre anni si può fare molto. Per fortuna, la scorsa settimana il famoso e rispettato ricercatore che ha hackerato numerosi dispositivi Apple, il Dr. Charlie Miller, assieme a Chris Valasek, capo della sicurezza presso IOActive, sono intervenuti alla conferenza sulla sicurezza Def Con presentando il loro lavoro che tratta proprio di questo argomento. La presentazione è avvenuta al Ceasars Palace di Las Vegas, lo stesso giorno in cui si concludeva la conferenza Black Hat sulla sicurezza.
Il lavoro di Valasek e Miller è molto più esteso ed esaustivo rispetto ai precedenti, con oltre cento pagine di spiegazioni dettagliate. Ad esempio, i ricercatori hanno indicato le marche delle automobili utilizzate nei test, a differenza di quanto fatto dalle università del Wisconsin e della California-San Diego. I due ricercatori hanno descritto ogni aspetto della ricerca, dagli exploit ai codici utilizzati per comunicare con i computer dell’auto, dalle metodologie impiegate per prendere il controllo dei sistemi informatici delle vetture alle connessioni esistenti tra i diversi dispositivi. Ma al di là di tutto questo, i ricercatori hanno anche preso una delle due automobili hackerate e l’hanno portata sulla strada per un test drive; Miller e Valasek si trovavano sul sedile posteriore e non riuscivano a smettere di ridere mentre vedevano come il reporter di Forbes, Andy Greenberg, cercava invano di mantenere il controllo del veicolo.
Prima di farci due risate anche noi, meglio avere qualche informazione in più circa il funzionamento dei sistemi informatici nelle vetture moderne. Ogni automobile comprende una serie di piccoli computer chiamati unità di controllo elettroniche per autoveicoli (abbreviazione in inglese ECU). Il numero di queste unità elettroniche può variare a seconda del modello, ma in alcune automobili ce ne sono anche cinquanta. Le ECU servono per gli scopi più diversi; nelle automobili utilizzate da Miller e Valasek le ECU, separate tra loro, avevano il compito di monitorare e regolare i sistemi di frenata, verificare la disponibilità di carburante, evitare lo sbandamento, regolare l’uso delle cinture di sicurezza, degli airbag e del park assist, più tante altre funzionalità. Quasi tutte le ECU sono collegate tra loro attraverso il Controller Area Network (detto anche CAN-bus). Le unità ECU e il CAN-bus costituiscono insieme il sistema di gestione centrale delle autovetture moderne; esse comunicano tra loro costantemente per regolare gli aspetti più importanti della sicurezza e del funzionamento del veicolo. La maggior parte dei segnali provenienti dal CAN-bus sono trasmessi tramite sensori alle varie unità di controllo elettroniche.
Per quanto riguarda i modelli, Valasek e Miller hanno lavorato su una Ford Escape del 2010 e una Toyota Prius dello stesso anno. In ogni caso la ricerca può essere applicata anche ad altri modelli di autovetture.
I ricercatori si sono avvalsi di un cavo ECOM (piuttosto economico) che attraversa l’omonimo dispositivo e che viene collegato a un computer Windows mediante una porta USB. Facendo una piccola modifica, Valasek e Miller sono riusciti a collegare l’altra estremità del cavo alle porte OBD II delle automobili (i meccanici usano queste porte per ricevere dati dall’auto durante la revisione, per reimpostare alcuni codici, per spegnere la spia di controllo del motore e altro). Dopo aver collegato il cavo, i ricercatori hanno iniziato a monitorare il sistema di comunicazione tra le varie ECU all’interno del CAN-bus e a capire in che modo tali comunicazioni influissero sui comandi dei veicoli. Infine, hanno preso il controllo dei protocolli di comunicazione per imitarli e iniettare i propri segnali alle diverse unità di controllo.
A seconda del modello utilizzato, i ricercatori sono riusciti a prendere il comando di alcune funzionalità piuttosto che di altre. In questo post descriveremo solo le funzionalità più interessanti per ciascun modello; per maggiori dettagli, v’invitiamo a leggere il report per intero.
Valasek e Miller hanno manomesso il tachimetro, il contachilometri e l’indicatore del livello di carburante. Per quanto riguarda il tachimetro, hanno scoperto che la ECU che controlla la velocità del veicolo invia ripetutamente segnali alla ECU del pannello degli strumenti attraverso il CAN-bus. Per manomettere il tachimetro, i ricercatori hanno inviato al pannello degli strumenti un numero di segnali falsi maggiore rispetto a quelli inviati dall’ECU che controlla la velocità del veicolo. Una volta raggiunto il livello di segnale corretto, sono riusciti a prendere il pieno controllo del tachimetro.
Passiamo alle portiere: è possibile aprirle e chiuderle, a piacimento. Ad esempio, i ricercatori sono riusciti a fare in modo non solo che le portiere non si potessero bloccare dall’interno, ma anche che potessero essere aperte dall’esterno.
Per quanto riguarda il modello Ford, Valasek e Miller sono riusciti a far diminuire del 45% l’efficienza del servosterzo. Inoltre, hanno preso le redini del sistema di park assist anche se, operando a bassa velocità, l’unico risultato che si potrebbe eventualmente ottenere è dare un colpetto alle auto vicine parcheggiate.
Anche sulla Prius sono intervenuti sul park assist. L’unità di controllo preposta al park assist funziona soltanto quando viene inserita la retromarcia e se il veicolo si muove a meno di sei chilometri all’ora. Grazie a Valasek e Miller, è sembrato che l’auto andasse a una velocità inferiore e soprattutto in retromarcia, anche se così non era. Non sono riusciti a riprodurre gli stessi movimenti del park assist, ma hanno controllato le ruote, effettuando movimenti bruschi in un verso o in un altro.
Il modello Prius ha anche una funzionalità grazie alla quale la macchina rientra in carreggiata nel caso i sensori rilevino uno sbandamento fuori corsia. L’unità di controllo preposta consente un giro massimo dello sterzo di cinque gradi. I ricercatori hanno violato questo sistema e, anche se l’angolo di giro dello sterzo concesso può sembrare minimo, ciò può avere le sue conseguenze nel traffico o in strade strette.
Sulla vettura Ford è stato possibile inviare un comando al CAN-bus per effettuare il bleeding dei freni; nel caso ciò avvenga, i freni non fanno diminuire la velocità dell’auto. Il bleeding dei freni funziona solo se l’auto si muove a meno di dieci chilometri all’ora; tuttavia, se si prende il comando di questa funzionalità anche a velocità ridotta, è possibile far sbattere una Ford Escape contro il muro di un garage, come è successo durante i test.
Valasek e Miller hanno scoperto che, per il modello Ford, il CAN-bus può mettere fuori uso uno o più pistoni. I due ricercatori hanno inviato a ripetizione il segnale che disabilita temporaneamente i pistoni: l’auto si è riavviata soltanto quando non è stato più inviato questo segnale. Anche il modello Prius è vulnerabile a questo attacco, anche se bisogna utilizzare metodi leggermente diversi.
I ricercatori hanno trovato anche i comandi per accendere o spegnere le luci interne ed esterne della Ford. L’unità di controllo che si occupa del sistema d’illuminazione esegue i comandi solo se il veicolo è fermo. Tuttavia, quando i ricercatori hanno inviato il comando a macchina ferma, il veicolo ha continuato a eseguire il comando anche in movimento. Ciò significa che un’auto potrebbe andare in giro per strada a fari spenti. Inoltre, se l’auto è parcheggiata, non può uscire dal parcheggio perché l’unità dell’illuminazione controlla anche i freni. È possibile accendere o spegnere le luci anche sul modello Prius, ma solo nel caso in cui la leva dei fari sia ferma sulla modalità “automatico”, che consente di regolare i fari in base alle condizioni d’illuminazione della strada.
Per quanto riguarda la velocità, sul modello Prius i due ricercatori non sono riusciti ad aumentare la velocità di crociera del veicolo, il che è un bene. Tuttavia, sono riusciti a diminuire la velocità o a fermare l’auto del tutto, inviando un segnale all’unità di controllo preposta al rallentamento del veicolo nel caso di pericolo di scontro frontale. Anche se il guidatore schiaccia il pedale dell’acceleratore, l’auto continua a frenare. Per aumentare la velocità sul modello Prius, i ricercatori hanno dovuto modificare il cavo ECOM e collegarlo direttamente all’unità di controllo che si occupa dell’accelerazione dell’auto, poiché tale unità non è collegata al CAN-bus. I ricercatori sono riusciti solamente ad accelerare per alcuni secondi, dopo che il guidatore ha schiacciato il pedale dell’acceleratore. In ogni caso, un’accelerazione involontaria potrebbe essere potenzialmente pericolosa.
Un’altra funzione del sistema anti-collisione di cui abbiamo appena parlato, è il rinforzo automatico della tensione della cintura di sicurezza nel caso di immediato pericolo di uno scontro frontale. Valasek e Miller hanno preso il controllo di questa funzionalità, potendola attivare in qualsiasi momento.
Infine, i ricercatori hanno evidenziato anche la possibilità di iniettare malware nelle singole unità di controllo e nel CAN-bus. Non entreremo nei dettagli, possiamo soltanto dire che è possibile iniettare un codice pericoloso e farlo eseguire nelle varie ECU dei veicoli (20 o 30 pagine del report sono dedicate proprio a questo argomento).
Un altro fatto da tenere in considerazione in relazione a questo genere di manomissioni è che, al momento, per hackerare un auto è necessario accedervi fisicamente ed è impossibile realizzare l’attacco in modalità remota.
In definitiva, l’unica soluzione per evitare tutta questa serie di problemi sarebbe acquistare un vecchio modello di automobile. A essere sinceri però, è molto più sicuro guidare un modello moderno hackerabile che un vecchio modello non dotato di tutti i sistemi di sicurezza.
Inoltre, va sottolineato che Miller e Valasek sono due delle menti più brillanti nel campo della sicurezza. Il loro compito è hackerare i sistemi per evidenziare eventuali vulnerabilità. In ogni caso, le loro conoscenze sono così specifiche che sono gli unici a poter effettuare questo genere di attacchi. Inoltre, le case automobilistiche analizzano con cura report di questo genere per poi apportare le modifiche necessarie alle loro tecnologie.
Se ancora non lo avete fatto, date un’occhiata al video presente sul sito Internet di Forbes, in cui Andy Greenberg cerca di guidare l’auto mentre Valasek e Miller sabotano la sua Toyota Prius. Vi divertirete, ne siamo certi.