The automotive industry is evolving with incredible speed. As time passes, manufacturers continue to add new technology in our vehicles and the number of Electronic Control Units (ECUs) is increasing. The de facto standard protocol for the design of the internal network of a vehicle is the CAN bus. In the past, the internal network of a vehicle was protected from possible attackers from physical isolation from the rest of the world. With the improvement in technology, the different ECUs have become more and more advanced and the vehicles are now connected to external networks and devices. Recent studies have shown that the increased complexity of the ECUs and the connection of the CAN bus to the external world has expanded the attack surface and made it possible, for an attacker, to gain control of some subsystems of a vehicle with the injection of malicious packets. Researchers have started to focus on security in the automotive field but the lack of public specifications of internal architectures makes long and difficult the initial study of a vehicle. To carry out these studies, it is necessary to reverse engineer the packets sent by the different ECUs to understand their logic and study their vulnerabilities. In this work, we propose a new approach to the reverse engineering of CAN bus packets to reduce the effort and time needed for this phase. Our model is a machine learning classifier based on LSTM networks which can be used to identify different signals encoded in the CAN packets and find some specific physical signals without any prior knowledge on the vehicle architecture. We show in this thesis that such a model can be trained with manually labeled signals and then used to classify data collected from generic vehicles, even very different from those used in the training phase. In our evaluation phase, we demonstrate that this model can drastically reduce the time needed to reverse engineer messages and signals of a vehicle without its proprietary specification.

Le automobili sono uno dei principali mezzi di trasporto usati oggigiorno. La maggior parte di noi si muove quotidianamente in macchina, considerata, nel nostro immaginario, un semplice veicolo meccanico. In realtà, negli ultimi decenni, la tecnologia all’interno delle nostre auto è cresciuta enormemente. Un semplice esempio di questo cambiamento è il meccanismo di funzionamento del pedale dell’acceleratore. In passato questo pedale era direttamente collegato alla valvola che regolava il flusso della miscela del carburante nel motore, ora è invece collegato solo ad un sensore di posizione. Il dato registrato dal sensore viene poi elaborato da una centralina elettronica, che regolerà, tramite degli attuatori, la formazione della miscela di carburante e l’iniezione di questa nel motore, in modo da ottimizzare le performance e contenere le emissioni inquinanti dell’automobile. Ogni anno escono sul mercato automobili con nuove tecnologie (basti pensare a tutte le nuove auto con funzioni di guida autonoma) e, di conseguenza, il numero di queste centraline elettroniche di controllo (ECU) aumenta vertiginosamente (un’auto moderna ne ha più di 100). Tutte le ECU sono interconnesse tra di loro grazie ad una o più reti di trasmissione dati interne al veicolo. Ci sono vari protocolli per il design di queste reti ma il Controller Area Network (CAN bus), sviluppato da Bosch nel 1986, è lo standard più diffuso. La rete CAN è composta da un bus, che connette tutte le ECU di un veicolo. I dati dei vari sensori e i comandi per gli attuatori sono inviati dalle ECU nella rete senza definire un destinatario. Sarà poi ciascuna ECU ad analizzare ogni messaggio che transita sul bus e a valutare se elaborarlo o no, a seconda dell’identificativo del pacchetto. Il CAN bus è stato progettato per essere semplice, economico ma capace di rispettare gli stringenti requisiti temporali di un sistema real-time (come ad esempio i tempi massimi per attivare l’air-bag in caso di indicente). La sicurezza del sistema nei confronti di un attaccante esterno non era un problema quando le prime reti CAN sono state sviluppate, poiché la rete interna di un veicolo era isolata dal resto del mondo. Con il miglioramento della tecnologia, le ECU installate nelle automobili sono diventate sempre più avanzate e complesse e nuove centraline, con capacità di connessione a dispositivi e reti esterne, sono state aggiunte. Le auto moderne hanno moduli per la connessione Bluetooth e, a volte, anche per la connessione a internet grazie alla rete mobile. Grazie a queste tecnologie è possibile avere il controllo della nostra auto dal nostro smartphone o implementare nuove funzioni antifurto e di guida autonoma. Ora che la rete interna dei veicoli non è più isolata dall’esterno, la mancanza di forti meccanismi di sicurezza (come autenticazione, crittografia dei messaggi, sistemi di controllo degli accessi) è diventata un rischio per la sicurezza dei veicoli e dei loro passeggeri. La complessità delle attuali centraline di controllo le rende più vulnerabili agli attacchi e tutti i nuovi punti d’accesso alla rete interna da dispositivi esterni possono dare la possibilità, a degli attaccanti, di iniettare nella rete CAN dei messaggi malevoli che ingannano le ECU per far loro eseguire azioni indesiderate. Negli ultimi anni sempre più ricercatori stanno studiando le vulnerabilità di sicurezza dei sistemi utilizzati nell’industria automobilistica e proposto idee per migliorarne la sicurezza. Una delle più grandi difficoltà di questi studi è che i produttori di automobili si affidano al paradigma della sicurezza tramite segretezza: essi non pubblicano il codice che viene eseguito nelle varie centraline e le specifiche dettagliate che illustrano la struttura dei pacchetti inviati tra le varie centraline. Quindi, all’inizio di ogni loro lavoro, i ricercatori devono studiare attentamente tutte le loro automobili (poiché queste specifiche cambiano per ognuna di esse) e, a partire dai pacchetti inviati dalle varie centraline, decifrare il contenuto dei messaggi e comprendere la logica interna delle varie ECU, senza avere a disposizione il codice sorgente che ne regola il funzionamento. L’obiettivo del nostro lavoro è ridurre lo sforzo ed il tempo necessario per questa fase di studio della struttura interna di un veicolo sconosciuto. La parte principale di questo processo è comprendere come le centraline si scambino dati e comandi. Capire come i messaggi sono strutturati è fondamentale per capire la logica interna delle centraline che li elaborano e per scoprire se sia possibile mandare messaggi malevoli che inducano una centralina elettronica a eseguire azioni errate e potenzialmente pericolose. In questa tesi studiamo un nuovo approccio per questo processo di “reverse engineering”. Proponiamo un classificatore che utilizzi tecniche di machine learning per analizzare i messaggi che vengono inviati all’interno del CAN bus e riconoscere determinati segnali che possano essere utili ad un ricercatore (come la rappresentazione interna al veicolo dell’andamento della velocità) senza l’utilizzo di dati esterni o conoscenza approfondita del veicolo preso in esame. Il nostro modello si basa sull’utilizzo di reti neurali artificiali, ed in particolari di Long Short-Term Memory neural networks. In questo studio dimostriamo come tale modello possa essere addestrato con dati provenienti da un gruppo selezionato di macchine che sono state analizzate manualmente e poi possa essere utilizzato per classificare dati provenienti da veicoli generici diversi da quelli usati per l’addestramento. Infine, valutiamo i risultati ottenuti nei test per dimostrare quanto il nostro modello possa velocizzare lo studio di nuovi veicoli nel caso non si abbiamo a disposizione le informazioni proprietarie sulle loro specifiche.

A long short-term memory based approach for reverse engineering and classification of CAN signals

TRICARICO, ANDREA
2018/2019

Abstract

The automotive industry is evolving with incredible speed. As time passes, manufacturers continue to add new technology in our vehicles and the number of Electronic Control Units (ECUs) is increasing. The de facto standard protocol for the design of the internal network of a vehicle is the CAN bus. In the past, the internal network of a vehicle was protected from possible attackers from physical isolation from the rest of the world. With the improvement in technology, the different ECUs have become more and more advanced and the vehicles are now connected to external networks and devices. Recent studies have shown that the increased complexity of the ECUs and the connection of the CAN bus to the external world has expanded the attack surface and made it possible, for an attacker, to gain control of some subsystems of a vehicle with the injection of malicious packets. Researchers have started to focus on security in the automotive field but the lack of public specifications of internal architectures makes long and difficult the initial study of a vehicle. To carry out these studies, it is necessary to reverse engineer the packets sent by the different ECUs to understand their logic and study their vulnerabilities. In this work, we propose a new approach to the reverse engineering of CAN bus packets to reduce the effort and time needed for this phase. Our model is a machine learning classifier based on LSTM networks which can be used to identify different signals encoded in the CAN packets and find some specific physical signals without any prior knowledge on the vehicle architecture. We show in this thesis that such a model can be trained with manually labeled signals and then used to classify data collected from generic vehicles, even very different from those used in the training phase. In our evaluation phase, we demonstrate that this model can drastically reduce the time needed to reverse engineer messages and signals of a vehicle without its proprietary specification.
LONGARI, STEFANO
ING - Scuola di Ingegneria Industriale e dell'Informazione
29-apr-2020
2018/2019
Le automobili sono uno dei principali mezzi di trasporto usati oggigiorno. La maggior parte di noi si muove quotidianamente in macchina, considerata, nel nostro immaginario, un semplice veicolo meccanico. In realtà, negli ultimi decenni, la tecnologia all’interno delle nostre auto è cresciuta enormemente. Un semplice esempio di questo cambiamento è il meccanismo di funzionamento del pedale dell’acceleratore. In passato questo pedale era direttamente collegato alla valvola che regolava il flusso della miscela del carburante nel motore, ora è invece collegato solo ad un sensore di posizione. Il dato registrato dal sensore viene poi elaborato da una centralina elettronica, che regolerà, tramite degli attuatori, la formazione della miscela di carburante e l’iniezione di questa nel motore, in modo da ottimizzare le performance e contenere le emissioni inquinanti dell’automobile. Ogni anno escono sul mercato automobili con nuove tecnologie (basti pensare a tutte le nuove auto con funzioni di guida autonoma) e, di conseguenza, il numero di queste centraline elettroniche di controllo (ECU) aumenta vertiginosamente (un’auto moderna ne ha più di 100). Tutte le ECU sono interconnesse tra di loro grazie ad una o più reti di trasmissione dati interne al veicolo. Ci sono vari protocolli per il design di queste reti ma il Controller Area Network (CAN bus), sviluppato da Bosch nel 1986, è lo standard più diffuso. La rete CAN è composta da un bus, che connette tutte le ECU di un veicolo. I dati dei vari sensori e i comandi per gli attuatori sono inviati dalle ECU nella rete senza definire un destinatario. Sarà poi ciascuna ECU ad analizzare ogni messaggio che transita sul bus e a valutare se elaborarlo o no, a seconda dell’identificativo del pacchetto. Il CAN bus è stato progettato per essere semplice, economico ma capace di rispettare gli stringenti requisiti temporali di un sistema real-time (come ad esempio i tempi massimi per attivare l’air-bag in caso di indicente). La sicurezza del sistema nei confronti di un attaccante esterno non era un problema quando le prime reti CAN sono state sviluppate, poiché la rete interna di un veicolo era isolata dal resto del mondo. Con il miglioramento della tecnologia, le ECU installate nelle automobili sono diventate sempre più avanzate e complesse e nuove centraline, con capacità di connessione a dispositivi e reti esterne, sono state aggiunte. Le auto moderne hanno moduli per la connessione Bluetooth e, a volte, anche per la connessione a internet grazie alla rete mobile. Grazie a queste tecnologie è possibile avere il controllo della nostra auto dal nostro smartphone o implementare nuove funzioni antifurto e di guida autonoma. Ora che la rete interna dei veicoli non è più isolata dall’esterno, la mancanza di forti meccanismi di sicurezza (come autenticazione, crittografia dei messaggi, sistemi di controllo degli accessi) è diventata un rischio per la sicurezza dei veicoli e dei loro passeggeri. La complessità delle attuali centraline di controllo le rende più vulnerabili agli attacchi e tutti i nuovi punti d’accesso alla rete interna da dispositivi esterni possono dare la possibilità, a degli attaccanti, di iniettare nella rete CAN dei messaggi malevoli che ingannano le ECU per far loro eseguire azioni indesiderate. Negli ultimi anni sempre più ricercatori stanno studiando le vulnerabilità di sicurezza dei sistemi utilizzati nell’industria automobilistica e proposto idee per migliorarne la sicurezza. Una delle più grandi difficoltà di questi studi è che i produttori di automobili si affidano al paradigma della sicurezza tramite segretezza: essi non pubblicano il codice che viene eseguito nelle varie centraline e le specifiche dettagliate che illustrano la struttura dei pacchetti inviati tra le varie centraline. Quindi, all’inizio di ogni loro lavoro, i ricercatori devono studiare attentamente tutte le loro automobili (poiché queste specifiche cambiano per ognuna di esse) e, a partire dai pacchetti inviati dalle varie centraline, decifrare il contenuto dei messaggi e comprendere la logica interna delle varie ECU, senza avere a disposizione il codice sorgente che ne regola il funzionamento. L’obiettivo del nostro lavoro è ridurre lo sforzo ed il tempo necessario per questa fase di studio della struttura interna di un veicolo sconosciuto. La parte principale di questo processo è comprendere come le centraline si scambino dati e comandi. Capire come i messaggi sono strutturati è fondamentale per capire la logica interna delle centraline che li elaborano e per scoprire se sia possibile mandare messaggi malevoli che inducano una centralina elettronica a eseguire azioni errate e potenzialmente pericolose. In questa tesi studiamo un nuovo approccio per questo processo di “reverse engineering”. Proponiamo un classificatore che utilizzi tecniche di machine learning per analizzare i messaggi che vengono inviati all’interno del CAN bus e riconoscere determinati segnali che possano essere utili ad un ricercatore (come la rappresentazione interna al veicolo dell’andamento della velocità) senza l’utilizzo di dati esterni o conoscenza approfondita del veicolo preso in esame. Il nostro modello si basa sull’utilizzo di reti neurali artificiali, ed in particolari di Long Short-Term Memory neural networks. In questo studio dimostriamo come tale modello possa essere addestrato con dati provenienti da un gruppo selezionato di macchine che sono state analizzate manualmente e poi possa essere utilizzato per classificare dati provenienti da veicoli generici diversi da quelli usati per l’addestramento. Infine, valutiamo i risultati ottenuti nei test per dimostrare quanto il nostro modello possa velocizzare lo studio di nuovi veicoli nel caso non si abbiamo a disposizione le informazioni proprietarie sulle loro specifiche.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
Tricarico_Thesis_PoliMI.pdf

solo utenti autorizzati dal 10/04/2023

Descrizione: Thesis text
Dimensione 3.4 MB
Formato Adobe PDF
3.4 MB Adobe PDF   Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/164542