IT201800021550A1 - "Procedimento di protezione da attacchi informatici al veicolo e corrispondente dispositivo" - Google Patents

"Procedimento di protezione da attacchi informatici al veicolo e corrispondente dispositivo" Download PDF

Info

Publication number
IT201800021550A1
IT201800021550A1 IT102018000021550A IT201800021550A IT201800021550A1 IT 201800021550 A1 IT201800021550 A1 IT 201800021550A1 IT 102018000021550 A IT102018000021550 A IT 102018000021550A IT 201800021550 A IT201800021550 A IT 201800021550A IT 201800021550 A1 IT201800021550 A1 IT 201800021550A1
Authority
IT
Italy
Prior art keywords
message
illegal
messages
node
protection device
Prior art date
Application number
IT102018000021550A
Other languages
English (en)
Inventor
Christian Rosadini
Walter Nesci
Luca BALDANZI
Luca CROCETTI
Luca Fanucci
Original Assignee
Magneti Marelli Spa
Univ Pisa
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Magneti Marelli Spa, Univ Pisa filed Critical Magneti Marelli Spa
Priority to IT102018000021550A priority Critical patent/IT201800021550A1/it
Priority to JP2019221395A priority patent/JP2020109953A/ja
Priority to CN201911409023.7A priority patent/CN111385286B/zh
Publication of IT201800021550A1 publication Critical patent/IT201800021550A1/it

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40104Security; Encryption; Content protection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0263Rule management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Bioethics (AREA)
  • Medical Informatics (AREA)
  • Small-Scale Networks (AREA)
  • Steering Control In Accordance With Driving Conditions (AREA)
  • Hardware Redundancy (AREA)

Description

DESCRIZIONE dell’invenzione industriale dal titolo:
"Procedimento di protezione da attacchi informatici al veicolo e corrispondente dispositivo”
TESTO DELLA DESCRIZIONE
La presente invenzione riguarda tecniche di protezione da attacchi informatici in una rete di comunicazione CAN (Controller Area Network) di un veicolo comprendente un bus CAN e una pluralità di nodi associati a detto bus CAN in rapporto di scambio di segnale e associati almeno in parte a unità di controllo di funzioni del veicolo, comprendente le operazioni di
analizzare il contenuto di messaggi CAN in transito fra nodi di detta pluralità di nodi per identificare messaggi CAN non leciti,
bloccare detti messaggi non leciti,
detta operazione di bloccare comprendendo di rendere non validi detti messaggi non leciti rispetto a una verifica di integrità eseguita da un controllore CAN di detti nodi, inserendo una sequenza di bit di corruzione riconosciuta come un errore da detto controllore CAN, in particolare sostituendo parte della sequenza originale di bit con una di corruzione, ottenendo un messaggio corrotto.
Il bus CAN, adottato come BUS di comunicazione negli autoveicoli, è un mezzo di comunicazione di tipo seriale e multi-master, in cui ogni master, detto anche nodo connesso al bus è in grado di inviare, ricevere e risolvere i conflitti di accesso contemporaneo in invio da parte di più nodi.
Un nodo 11 in grado di comunicare su bus CAN 10 comprende in generale, come mostrato in figura 1a:
- un ricetrasmettitore CAN, o CAN Transceiver, 12, associato attraverso a una linea di trasmissione TT e una linea di ricezione TR al CAN bus 10 e configurato per gestire i livelli elettrici propri del bus CAN (livello Fisico del modello OSI); - un controllore CAN, o CAN Controller, 13, che è connesso attraverso rispettive linee di trasmissione CT e ricezione CR al ricetrasmettitore CAN 12, e configurato per gestire i livelli logici e la serializzazione del bus CAN 10 (livello Data link del modello OSI);
- un microcontrollore 14, che contiene la logica di invio e ricezione dei messaggi (gestione dei livelli OSI superiori al livello Data link). In figura 1A è riportata una delle possibili soluzioni di implementazione che prevede che il controllore CAN 13 e il microcontrollore 14 siano posti in uno stesso System-on-Chip 15, mentre il ricetrasmettitore CAN è su un chip separato.
E’ noto installare un dispositivo di protezione 16 da attacchi informatici tra il controllore CAN 13 e il ricetrasmettitore CAN 12, come mostrato in Figura 1. Il dispositivo di protezione 16 elabora, in particolare analizza, i messaggi in transito tra il controllore CAN 13 e il ricetrasmettitore CAN 12 individuando i messaggi non leciti, o malevoli, e attua delle operazioni di bloccaggio dell’iniezione di tali messaggi malevoli su bus CAN in differenti casi d’uso, che sono descritti nelle Figure 2, 3, 4 e 5.
In particolare, in figura 1B il dispositivo di protezione 16 riceve messaggi CAN sulla linea di trasmissione CT dal controllore CAN 13 al dispositivo di protezione 16, li analizza e li filtra, tramite le summenzionate operazioni di bloccaggio, sicché la linea fra dispositivo di protezione 16 e ricetrasmettitore CAN 12 è una linea di trasmissione filtrata DT su cui transitano i messaggi CAN elaborati dal dispositivo di protezione 16. Viceversa i messaggi CAN arrivano dal ricetrasmettitore 12 al dispositivo di protezione sulla linea di ricezione CR, che connette tali moduli, e sono elaborati al dispositivo di protezione 16 e trasmessi su una linea di ricezione filtrata DR al controllore CAN 12 dal dispositivo di protezione 16.
In particolare in Figura 2, è mostrato un caso in cui data una rete veicolare 20 che comprende una pluralità di nodi 111….11n, rappresentativi ad esempi di centraline veicolari, quali ECU (Electronic Control Unit), ad esempio Engine Control Unit, ma anche centraline per l’illuminazione, il condizionamento, controllo trasmissione, ABS, controllo sospensioni, e altri moduli a processore dedicati altri servizi veicolari. In tale pluralità di nodi 111…11n il nodo 111 è un nodo protetto, equipaggiato di dispositivo di protezione 16, ed è raffigurato il caso in cui tale nodo 111 protetto è malevolo e inietta messaggi CAN, o CAN frame, malevoli, cioè non leciti, MF verso la rete veicolare 20. Tale caso d’uso è quello in cui ad esempio il microcontrollore 14 è stato violato per mezzo di altri canali di comunicazione, come ad esempio un canale wireless, come può accadere per nodi corrispondenti a unità di Infotainment/Telematics. In questo caso la presenza del dispositivo di protezione 16 evita che tali messaggi MF raggiungano la rete veicolare 20, ossia gli altri nodi non protetti 112….11n.
In Figura 3 è mostrato il caso in cui i messaggi CAN malevoli MF sono iniettati dalla rete veicolare 20, ossia da uno dei nodi privi di dispositivo di protezione, ossia nodi non protetti, 112….11n, in particolare il nodo 112. Tale figura rappresenta il caso d’uso in cui un nodo qualunque della rete veicolare 20 è stato violato. In questo caso la presenza del dispositivo di protezione 16 evita che i messaggi non pertinenti al rispettivo nodo CAN protetto 111 su cui è installato possano essere elaborati dal microcontrollore 14.
In Figura 4 è mostrato il caso in cui il dispositivo di protezione 16 è impiegato all’interno di un CAN gateway 18. Tale configurazione permette di isolare due reti CAN distinte 20A e 20B, con rispettivi nodi 11A1…11An e 11B1…11Bn, in generale non protetti, di garantire il filtraggio dei frame CAN in transito da e tra una rete e l’altro. Nel caso specifico di figura 4, il dispositivo di protezione 16 blocca i messaggi non leciti MF trasmessi dalla rete 20A e ne impedisce la diffusione sulla rete 20B. E’ chiaro che il dispositivo di protezione 16 può anche bloccare un messaggio CAN non lecito MF trasmesso da un nodo della rete 20B verso la rete 20A attraverso il gateway 18.
La domanda di brevetto statunitense US2015/191136 A1 descrive un dispositivo di protezione che opera in CAN bus di autoveicoli che prevede di bloccare messaggi in transito i cui parametri verificano criteri di messaggio non lecito. Il blocco è operato rendendo non validi rispetto a una verifica di validità eseguita dal controllore CAN, ossia corrompendo, i messaggi non leciti durante la loro trasmissione fra il ricetrasmettitore CAN e il controllore CAN, inserendo una sequenza di bit riconosciuta come un errore dal controllore CAN, in particolare bit di stuffing, o bit di riempimento, in particolare inserendo uno Stuff error mediante una sequenza che non rispetta la regola del bit stuffing previsto dal protocollo CAN che determina da parte del dal controllore CAN di ignorare tali messaggi non leciti e non propagare tali messaggi non leciti sulla rete CAN. Tuttavia, la manipolazione del numero di stuff bit può generare un disallineamento temporale tra il messaggio corrotto (inviato sul bus) ed il messaggio “Error-Frame” generato dal nodo CAN che riceve il messaggio corrotto.
La presente invenzione si prefigge lo scopo di ottenere un procedimento di monitoraggio che permetta di rendere non validi i messaggi non leciti, operando un corretto allineamento.
Secondo la presente invenzione, tale scopo viene raggiunto grazie ad un procedimento di protezione nonché a un corrispondente dispositivo di protezione aventi le caratteristiche richiamate in modo specifico nelle rivendicazioni che seguono.
L’invenzione verrà descritta con riferimento ai disegni annessi, forniti a puro titolo di esempio non limitativo, in cui:
- le Figure 1A e 1B, 2, 3, 4 sono già state descritte in precedenza;
- la Figura 5 rappresenta uno schema di principio del dispositivo di protezione implementante il procedimento qui descritto;
- la Figura 6 è un diagramma che rappresenta schematicamente messaggi CAN elaborati dal dispositivo di protezione;
- le Figure 7A, 7B, 7C rappresentano schematicamente il dispositivo di protezione qui descritto in tre fasi di funzionamento del procedimento;
- la Figura 8 è un diagramma di flusso che rappresenta operazioni del procedimento qui descritto.
In Figura 5 è riportato uno schema a blocchi di principio di un dispositivo di protezione 26 secondo l’invenzione. Tale dispositivo di protezione 26 è mostrato disposto fra un controllore CAN 13 e un ricetrasmettitore CAN 12 in un nodo protetto di una rete CAN 10, come ad esempio nella configurazione di figura 3 del nodo 111. La soluzione qui descritta prescinde dalla versione di CAN su cui è applicata (CAN2.0 e CAN-FD, quindi) e per semplicità di esposizione viene descritto solo lo scenario relativo alla versione CAN2.0
Il dispositivo di protezione 26 comprende un modulo di firewall 261, che in generale riceve una sequenza di messaggi CAN M inviati sulla linea di ricezione CR e sulla linea di trasmissione CT e invia una sequenza filtrata di messaggi CAN sulle linee filtrate di ricezione DR e trasmissione DT. I messaggi M possono essere, come detto, messaggi non leciti MF. La sequenza filtrata, come meglio descritto nel seguito, può contenere i messaggi CAN M medesimi, può contenere messaggi corrotti MF’ ottenuti dai messaggi non leciti MF oppure può applicare il blocco tramite corruzione (modalità B2 descritta nel seguito) in modo totale ai messaggi M leciti e non leciti MF.
Dunque, tale modulo di firewall 261 è configurato per: - estrarre il contenuto informativo di un messaggio CAN M transitante sulle linee di trasmissione CT o ricezione CR;
- operare l’analisi di tale contenuto informativo. Ciò ad esempio comprende confrontare valori di campi del messaggio CAN M transitante con un insieme di regole di firewall R memorizzate in un modulo di immagazzinamento regole 262 che rappresenta una base dati di regole, cui il modulo di firewall 261 ha accesso almeno in lettura;
- rendere non valido il messaggio CAN M in transito, qualora identificato in base al contenuto come messaggio CAN non lecito MF. Ciò avviene operandone la corruzione durante la trasmissione dal dispositivo di protezione 26 in accordo a modalità di blocco, ad esempio B1 e B2, meglio dettagliate nel seguito, nel caso in cui il messaggio M analizzato sia identificato come messaggio non lecito MF, mentre tale messaggio non lecito MF è ancora in transito sul bus CAN;
Come detto, il dispositivo di protezione 26 comprende inoltre una base dati di regole 262, che è la base dati che contiene regole R applicate dal firewall 261 ai messaggi CAN analizzati, cioè in transito, per identificare messaggi non leciti MF. I messaggi CAN M in transito, in arrivo dalla linea di trasmissione CT e dalla linea di ricezione CR, possono essere assoggettati a un medesimo insieme di regole R nel database di regole 262 oppure tale database di regole 262 può contenere due insiemi di regole applicati indipendentemente alla ricezione CR e alla trasmissione CT.
Il dispositivo di protezione 26 comprende inoltre un modulo di memorizzazione operazioni 263, ossia un’area di memoria dedicata per memorizzare un registro, o “log”, di operazioni B svolte dal dispositivo di protezione 26 sul bus CAN 10. Il dispositivo di protezione 26 accede a tale modulo 263 per scrivere tali operazioni B svolte dal dispositivo di protezione sul bus CAN 10. Tale registro B comprende statistiche relative all’attività del firewall 261, quali quantità di frame non leciti MF corrotti sulla linea di trasmissione CT, quantità di frame non leciti corrotti sulla linea di ricezione CR, etc …) e che possono essere consultate mediante un’interfaccia di configurazione 264 che può accedere in lettura al modulo di memorizzazione operazioni 263 come indicato in figura 5.
Il dispositivo di protezione 26 comprende poi, come detto, una interfaccia di configurazione 264 per definire le regole R di filtraggio applicate dal firewall 261 e memorizzate nel modulo 262. In particolare tale interfaccia di configurazione può ricevere una configurazione di filtraggio, cioè le regole R, del dispositivo di protezione 26 da un’interfaccia di comunicazione esterna non mostrata in figura. Tale interfaccia di configurazione 264 è in rapporto di scambio di dati con la base dati di regole 262, nella quale scrive ad esempio l’insieme di regole R per il filtraggio tramite firewall ed il modulo di memorizzazione operazioni 263, come detto ad esempio per leggere i dati del log delle operazioni del firewall 261.
Associato all’interfaccia di configurazione 264 è un modulo di autenticazione 265, che è configurato per verificare l’autenticità della configurazione di filtraggio ricevuta dall’interfaccia di comunicazione esterna, ad esempio tramite meccanismi di firma digitale e cifratura dei dati.
Il dispositivo di protezione 26 è in generale configurato per implementare un filtro che blocchi i messaggi CAN malevoli e non pertinenti, lasciando passare solamente i dati leciti
La distinzione tra messaggi leciti e illeciti può essere configurata in base alla destinazione d’uso del dispositivo di protezione 26 e definita attraverso i seguenti parametri distintivi C:
C1: identificativo messaggio CAN;
C2: lunghezza del messaggio CAN;
C3: tempi di trasmissione, ad esempio una frequenza nel caso di messaggio periodico;
C4: contenuto del messaggio. Tale parametro è impiegato solo per i messaggi di tipo diagnostico;
C5: stato del veicolo. Tale parametro è impiegato solo per i messaggi di tipo diagnostico;
C6: percentuale di utilizzo del bus nell’unità di tempo.
Il dispositivo di protezione 26 è configurato per applicare l’insieme delle regole R in generale ai messaggi non diagnostici e diagnostici, applicando in tale insieme ulteriori e specifiche regole di filtraggio nel caso in cui sia riconosciuto in transito un frame di tipo diagnostico Il dispositivo di protezione 26 è inoltre configurato, in particolare tramite il modulo firewall 261, per operare due modalità di blocco del messaggio:
una modalità di blocco selettiva B1: vengono bloccati tutti e soli i messaggi CAN MF non leciti
una modalità di blocco totale B2: tutti i messaggi CAN vengono bloccati, sia leciti M che non leciti MF.
La modalità di blocco totale B2 è configurabile nei seguenti modi d’impiego:
primo modo d’impiego BC1, in la modalità di blocco totale B2 è abilitata o disabilitata, secondo modo d’impiego BC2, in cui se la modalità di blocco totale B2 è abilitata, è possibile definire nel dispositivo di protezione 26 il tipo di violazione e il numero di violazioni, per ognuno dei tipi di violazione specificati, raggiunto il quale la modalità di blocco totale B2 deve essere attivata, nonché il tempo per cui deve rimanere attiva. Nel secondo modo d’impiego B2 si definiscono quindi uno o più parametri di disattivazione in una lista comprendente tipo di violazione, numero di violazione, tempo di disattivazione;
La modalità di blocco totale B2 permette di disconnettere virtualmente un i-esimo nodo 11i o una rete (es. 20B in figura 4) dal bus CAN 10 per un periodo di tempo arbitrario che, in base alla configurazione, può anche essere pressoché perpetuo, isolando quindi completamente il nodo 11i o rete oppure ripristinando le capacità di comunicazione del nodo 11i al termine del periodo di tempo impostato.
Il meccanismo mediante il quale il dispositivo di protezione 26 blocca un messaggio CAN non lecito implementa una modalità a zero-ritardo. Ciò rende vantaggioso l’utilizzo del dispositivo di protezione 26 in tutte le applicazioni in cui i ritardi di propagazione introdotti da elementi filtranti aggiuntivi, come appunto è il dispositivo di protezione 26, devono essere minimizzati.
Come detto, la modalità di filtraggio dei messaggi a zero-ritardo, implementata dal dispositivo di protezione 26, prevede di sfruttare i meccanismi di controllo integrità di per sé presenti nel bus CAN, rendendo non valido, cioè corrompendo, il messaggio CAN non lecito MF durante la trasmissione sul bus CAN, in modo tale che i nodi riceventi ignorino il suddetto messaggio non lecito MF già a livello digitale di controllore CAN 13, ossia il livello Data link, ove viene effettuato il controllo di integrità del messaggio, senza andare a propagare il messaggio al microcontrollore 14 (e ai livelli superiori dello stack OSI). Pertanto, tale modalità a zero ritardo si contrappone a quella in cui l’elemento filtrante riceveanalizza-ritrasmette, come è tipico comportamento dei gateway, in quanto anche nella condizione ideale di tempi di analisi nullo, l’elemento filtrante deve comunque attendere che il messaggio termini prima di poterlo analizzare e, nel caso sia lecito e debba essere ritrasmesso, partecipare nuovamente alla fase di contesa e arbitraggio del bus (dopo la fase di analisi), introducendo un ritardo aggiuntivo pari ad almeno la durata della ritrasmissione del messaggio stesso. Inoltre, poiché è necessario che l’elemento filtrante vinca la contesa del bus CAN affinché possa procedere alla ritrasmissione del messaggio precedentemente analizzato, tale ritardo aggiuntivo può risultare essere significativamente più lungo, con un limite superiore, a causa delle caratteristiche del protocollo CAN, teoricamente infinito: caso di trasmissione di messaggi con priorità superiore da parte di altri nodi della rete.
La modalità a zero-ritardo implementata dal dispositivo di protezione 26 invece, permette di ispezionare un messaggio CAN in transito, cioè durante la trasmissione o la ricezione stessa da parte del nodo su cui è installato, e consente quindi:
- di agire prontamente corrompendo il messaggio non lecito prima ancora che la sua trasmissione o ricezione termini
- lasciar passare il messaggio inalterato se lecito, non impattando quindi il suo tempo di propagazione.
La procedura di filtraggio del frame CAN a zero ritardo, tramite la prima modalità di blocco selettivo B1 o seconda modalità di blocco totale B2, implementata dal dispositivo di protezione 26, comprende specificamente due operazioni che determinano che il tempo di propagazione del messaggio CAN non sia alterato e che il messaggio non lecito sia ritenuto, dal nodo malevolo, inviato con successo.
Una prima operazione è un’operazione F1 di blocco del messaggio in transito al dispositivo di protezione 26 tramite corruzione della sequenza di bit del messaggio CAN stesso.
Una seconda operazione è un’operazione F2 di oscuramento al nodo CAN malevolo che trasmette il messaggio CAN MF non lecito intercettato dal dispositivo di protezione 26 della corruzione di tale messaggio CAN non lecito da lui trasmesso, e quindi del suo conseguente bloccaggio da parte dei controlli d’integrità nei controllori CAN degli altri nodi CAN.
In conseguenza di tali modalità di blocco B1 o B2 tramite corruzione F1 e di oscuramento F2, il dispositivo di protezione 26 e il procedimento di protezione implementato da tale dispositivo 26 permettono di garantire la simultaneità tra la fine del transito del messaggio CAN non lecito, e corrotto tramite l’operazione F1 da parte del dispositivo di protezione 26, e la fine della trasmissione di un messaggio di errore in risposta a tale messaggio CAN non lecito corrotto, ossia come conseguenza derivante dalla rilevazione della condizione di errore introdotta dal dispositivo di protezione 26 nel messaggio CAN malevolo, al fine di corromperlo, da parte del/dei nodo/nodi CAN ricevente/i, 111…11n, diversi dal nodo che comprende il dispositivo di protezione 26 che applica l’operazione di blocco F1 al messaggio non lecito MF e diversi dal nodo CAN che inietta il messaggio malevolo MF.
Tale simultaneità rappresenta un aspetto fondamentale al fine di impedire l’innesco di sovrapposizioni non allineate di invio di messaggi che porterebbero a continue corruzioni dei dati sul bus CAN 10, con overhead sulla occupazione del bus, e, da ultimo, ad una interruzione della comunicazione.
Il procedimento di protezione implementato dal dispositivo di protezione tramite le operazioni di corruzione F1 e oscuramento F2 sfrutta la particolare struttura dei messaggi di tipo Dato ed Errore del protocollo CAN; in particolare il messaggio di tipo Dato è strutturato con sezioni S di bit contigue elencate di seguito nella tabella 1:
Tabella 1
La struttura delle sezioni S del messaggio di tipo Dato è naturalmente di per sé nota, nello standard del bus CAN.
I messaggi di tipo Errore comprendono messaggi di tipo Attivo e Passivo strutturati come in Tabella 2 per l’Errore Attivo:
Tabella 2
mentre sono strutturati come in Tabella 3 per l’Errore Passivo:
Tabella 3
In Figura 6, a titolo di esempio, viene mostrato un caso riferito all’Errore Attivo. Con MF è indicato il messaggio CAN non lecito in trasmissione, mentre con MF’ è indicato il messaggio corrotto contenente in coda un messaggio d’errore EM, un messaggio CAN di tipo Errore in Risposta, da uno dei nodi riceventi, dopo che il controllo integrità del suo controllore CAN rileva la corruzione.
Con bt è indicato inoltre un’asse del tempo di bit e con NV un segnale scritto dal dispositivo di protezione 26 nel messaggio CAN non lecito MF. Con Si è indicato il segnale interno generato dal dispositivo di protezione. In particolare il segnale Si è il segnale DT nel dispositivo di protezione 26 nel caso di messaggio in trasmissione, o alternativamente è il segnale DR del dispositivo di protezione 26 nel caso di messaggio in ricezione.
Affinché sia garantita la simultaneità della fine della trasmissione del messaggio CAN non lecito MF, di tipo Data, corrotto dal dispositivo di protezione 26, e il relativo messaggio EM di tipo Errore di risposta, emesso da parte di uno qualsiasi dei nodo riceventi 11, ovvero affinché i campi ITM (campo S8 per il messaggio non lecito MF e campo SE3 per il messaggio di errore EM) di tali messaggi siano allineati e sovrapposti, è necessario inserire una condizione di errore in un punto esatto, ossia ad uno specifico valore di bit time bt del messaggio non lecito MF. Ciò viene eseguito in particolare sostituendo parte della sequenza originale di bit con una di corruzione, ottenendo un messaggio corrotto.
Il punto esatto in cui effettuare l’inserimento della sequenza di corruzione di 6 bit consecutivi (NV) è univocamente determinato dal formato del pacchetto e dalle regole del protocollo CAN e richiede l’impiego di risorse/moduli logici dedicati al computo dello stesso e al computo della polarità dei bit che costituiscono detta sequenza di corruzione NV.
In particolare, per calcolare il punto di inizio della sequenza di 6 bit consecutivi all’interno del campo CRC e la polarità (dominante o recessiva) dei bit che la compongono, il dispositivo di protezione 26, in particolare il modulo di firewall 261, è dotato di uno o più moduli/elementi logici atti a o configurati per:
- calcolare dinamicamente (a runtime) il valore del campo CRC (Cyclic Redundancy Check) S5 al fine di prevedere il numero di stuff bit che saranno presenti all’interno del campo CRC;
- analizzare il contenuto del campo CRC ricostruito nel passo precedente tenendo conto anche dei bit che precedono il CRC, al fine di valutare il numero di stuff bit che saranno presenti nel campo CRC, ossia nel campo S5 del messaggio M, MF. Poiché il campo CRC è data-dependent (e quindi varia a runtime così come i dati) anche il punto di inserzione esatto della sequenza di corruzione è determinato in modo dinamico. Con riferimento alla figura 6, il punto esatto di inserzione nella sequenza di corruzione è l’istante btj-5, mentre l’istante in cui il nodo ricevente rileva la condizione di “Stuff error” (SPE) è l’istante btj. Con btj-6 è indicato l’ultimo bit immediatamente precedente al primo bit della sequenza di corruzione, al fine di sottolineare che la sequenza di corruzione deve avere polarità opposta a tale bit.
In conseguenza di ciò:
- il nodo CAN 11 che riceve il messaggio MF corrotto risponde con un messaggio di errore EM (campi SE1, SE2, SE3 in quanto nell’esempio è illustrato un Errore Attivo, diversamente si impiegano i campi SP1, SP2, SP3 dell’Errore Passivo) a partire dal bit time btj+1 immediatamente successivo a quello btj nel punto in cui si verifica la condizione di Stuff error SPE. Più specificamente, come mostrato nella figura 6, a partire dal bit time btj+1 viene scritto il messaggio d’errore EM. Nel caso di più nodi riceventi, ciascun nodo ricevente 11i trasmette un messaggio CAN EM di tipo Errore i cui frame d’errore sono esattamente sovrapposti a quelli di qualsiasi altro messaggio CAN EM di tipo Errore inviato da qualsiasi altro nodo ricevente;
- il termine del messaggio (o dei messaggi sovrapposti) di Errore, il campo SE3 ITM, che contiene una zona di bit recessivi, specificamente 3 bit, che funge da separatore tra messaggi è allineato temporalmente con il corrispondente campo ITM, S8, del messaggio non lecito MF, che è contemporaneamente ritrasmesso inalterato al nodo malevolo mittente.
Anche a parità di lunghezza dei vari campi del frame di tipo Data di un messaggio CAN, la lunghezza del messaggio CAN può variare in base al loro contenuto, a causa della eventuale inserzione di bit di stuffing o bit di riempimento, pertanto il dispositivo di protezione 26 è configurato per calcolare dinamicamente, messaggio CAN per messaggio CAN, il punto di inserzione btj-5 del campo CRC in cui è necessario inserire la sequenza NV di 6 bit consecutivi con la stessa polarità, nel caso in cui il frame MF debba essere corrotto. Il dispositivo di protezione 26 è configurato per calcolare dinamicamente, messaggio CAN per messaggio CAN, sia il punto di inserzione btj-5 del campo CRC in cui è necessario inserire la sequenza NV di 6 bit consecutivi con la stessa polarità, sia la polarità dei bit di suddetta sequenza NV, la quale deve essere opposta a quella del bit btj-6, nel caso in cui il frame MF debba essere corrotto.
Come detto l’altra operazione fondamentale eseguita dal dispositivo di protezione 26 è l’oscuramento F2 al nodo CAN malevolo che trasmette il messaggio CAN non lecito intercettato dal dispositivo di protezione 26 della corruzione di tale messaggio CAN non lecito da lui stesso trasmesso, e quindi del suo conseguente blocco da parte dei controlli d’integrità nei controllori CAN degli altri nodi CAN.
Nel caso in cui il dispositivo di protezione 26 corrompa un frame non lecito MF, se il dispositivo di protezione 26 non nascondesse la corruzione, (ovvero la sequenza NV inserita in un punto di inserzione btj-5 del campo CRC S5 del frame non lecito MF e la quale determina la condizione di Stuff error SPE al punto btj), il nodo CAN mittente del frame malevolo MF rivelerebbe tale condizione di Stuff error SPE e, come conseguenza, procederebbe alla interruzione della trasmissione del frame malevolo MF, alla trasmissione di un frame di tipo Errore EM (disallineato rispetto a tutti gli altri frame di tipo Errore inviati da tutti gli altri nodi riceventi) e successivamente tenterebbe di ritrasmettere il medesimo frame malevolo.
L’operazione di oscuramento F2 del processo di corruzione del messaggio in transito è gestita come illustrato in Figura 7, dove gli elementi “CAN Controller” 13 e “CAN Transceiver” 12 evidenziati sono quelli ad esempio appartenenti al nodo CAN protetto 111 su cui è installato il dispositivo di protezione 26 e tale nodo CAN protetto trasmette un messaggio malevolo MF (caso in cui lo host del nodo CAN su cui è installato il dispositivo di protezione 26 è stato violato). In particolare, poiché ogni bit del messaggio CAN MF trasmesso sulla linea di trasmissione CT viene anche riletto sulla linea di ricezione CR, il dispositivo di protezione 26 opera come segue, eseguendo l’operazione di corruzione, dopo che, come rappresentato in figura 7A, è stato individuato il frame malevolo MF in arrivo al dispositivo 26 sulla linea di trasmissione CT, del frame malevolo, in due fasi:
in una prima fase, rappresentata in figura 7B, dal lato host, ossia verso il nodo malevolo, (linee di trasmissione CT e di ricezione filtrata DR), il messaggio CAN non lecito MF è replicato senza alcuna alterazione del bitstream sulla linea di ricezione filtrata DR, mentre dal lato CAN bus a valle del ricetrasmettitore 12, ossia verso nodi riceventi non malevoli, ossia sulla linea di trasmissione filtrata DT e sulla linea di ricezione non filtrata CR, il messaggio non lecito MF viene corrotto in maniera opportuna modificandone il bitstream, come messaggio corrotto MF’;
in una seconda fase, rappresentata in figura 7C, dal lato host, ossia verso il nodo malevolo, il dispositivo di protezione 26 emula il bus CAN segnalando la corretta ricezione del messaggio da parte degli altri nodi 112…11n della rete 20, tramite un messaggio di corretta ricezione OR sulla linea di DR (figura 7C), in particolare tramite l’invio del bit dominante durante il bit time ACK Slot; contemporaneamente, dal lato CAN bus, il dispositivo di protezione 26 blocca la segnalazione di errore, tramite Error Frame EM previsto dal protocollo CAN, sulla linea CR ad opera degli altri nodi 11 della rete che hanno ricevuto il messaggio corrotto MF’.
L’operazione di oscuramento F2 del processo di corruzione del messaggio in transito si applica anche al caso di messaggio non lecito in ricezione, ovvero trasmesso da un nodo CAN 111, diverso dal nodo CAN protetto 111 su cui è installato il dispositivo di protezione 26, in maniera analoga a quanto sopra espresso e da quanto riportato dalle figure 7A, 7B e 7C, in conformità alle caratteristiche del protocollo CAN in caso di ricezione di messaggio. In particolare, il messaggio MF da replicare verso il nodo malevolo, che dovrebbe essere per dualità trasmesso su DT in questo caso non è necessario, ossia non si adotta nessuna azione di replica, ma è sufficiente un messaggio di corretta ricezione OR a testimonianza di corretta ricezione del messaggio malevolo (che questa volta è sul CAN bus 10).
Dunque, il procedimento di protezione da attacchi informatici in una rete di comunicazione CAN (Controller Area Network) 20 di un veicolo comprendente un bus CAN 10 e una pluralità di nodi 11 associati a detto bus CAN 10 in rapporto di scambio di segnale e associati almeno in parte a unità di controllo di funzioni del veicolo, comprendente le operazioni di analizzare il contenuto di messaggi CAN M in transito fra nodi di detta pluralità di nodi 11 per identificare messaggi CAN non leciti MF, e bloccare tramite le modalità B1, B2 detti messaggi non leciti MF, dove tale operazione di bloccare tramite le modalità B1, B2 comprende di rendere non validi i messaggi non leciti MF, ossia corrompere F1, rispetto a una verifica di integrità eseguita da un controllore CAN 13, di detti nodi 11, inserendo F1 una sequenza di bit NV di corruzione riconosciuta come un errore da detto controllore CAN 13, ottenendo un messaggio corrotto MF’, prevede specificamente di inserire F1 detta sequenza di bit NV di corruzione in un campo di controllo integrità S5, in particolare un campo CRC, del messaggio CAN non lecito MF a un tempo di bit btj-5 il cui valore è tale da allineare temporalmente un campo separatore, ossia ITM, del messaggio non lecito con un corrispondente campo separatore di un messaggio d’errore EM generato da un nodo della rete 20 che riceve detto messaggio non lecito MF comprendente detta sequenza di corruzione NV. Si noti che tale operazione di inserire è effettuata sostituendo parte della sequenza originale di bit, in particolare del campo di controllo integrità S5, con una di corruzione, la sequenza di bit NV, in particolare tale sequenza di bit NV avendo polarità opposta alla polarità del bit al tempo btj-6 precedente il bit al punto di inserzione btj-5, ottenendo un messaggio corrotto o non lecito MF.
Il procedimento descritto comprende poi di
estrarre un contenuto informativo del messaggio M in transito durante la trasmissione;
- operare l’analisi di detto contenuto informativo detto contenuto informativo in base a un insieme di regole di firewall (R),
- rendere non valido F1 il messaggio M qualora detta analisi del contenuto informativo identifichi il messaggio (M) analizzato come messaggio non lecito MF ottenendo un messaggio corrotto MF’.
Il procedimento descritto comprende poi di selezionare se applicare l’operazione di rendere non valido F1 il messaggio non lecito MF almeno secondo una modalità di blocco selettiva B1 a tutti e soli i messaggi CAN MF non leciti o secondo una modalità di blocco totale B2 a tutti i messaggi CAN, leciti M e non leciti MF.
Il procedimento descritto comprende poi che detta operazione di rendere non valido il messaggio non lecito MF comprenda un’operazione di oscurare F2 al nodo CAN o rete CAN che trasmette il messaggio CAN MF non lecito detta operazione di inserzione di bit NV di corruzione, tramite i passi di
replicare detto messaggio CAN non lecito MF senza alcuna alterazione, in particolare senza sequenza NV, verso il nodo CAN 11 che trasmette detto messaggio non lecito MF, oppure non adottare nessuna azione di replica verso la rete CAN 10 che trasmette detto messaggio non lecito MF,
emulare il bus CAN 10 oppure il nodo CAN 11 per il caso di trasmissione del messaggio non lecito da parte di CAN 11 o bus CAN 10, rispettivamente segnalando la corretta ricezione del messaggio non lecito MF da parte di un nodo ricevente o nodi riceventi e contemporaneamente bloccare messaggi di errore EM associati a detto messaggio non lecito MF a detto nodo CAN o rete CAN che trasmette detto messaggio non lecito.
Tali operazioni sono implementate dal dispositivo di protezione 26, in particolare dal suo modulo di firewall 261 in base alle regole R memorizzate nel modulo di memorizzazione 262.
Il dispositivo di protezione 26 a questo scopo può essere in forme varianti è disposto fra un controllore CAN 13 e un ricetrasmettitore CAN 12 di un nodo CAN, che è così un nodo protetto, anche dovesse essere il medesimo nodo malizioso.
Il dispositivo di protezione 26 può essere in ulteriori forme varianti disposto interposto fra due reti CAN 20A, 20B in associazione a un gateway 18.
Il dispositivo di protezione 26 dispone come detto di una interfaccia di configurazione, l’interfaccia 264 che consente la definizione delle regole R di firewall tramite le seguenti liste e parametri:
- “white-list”, ossia lista di elementi abilitati o ammessi, per i messaggi ammessi (per ciascuna direzione) da applicare in determinate condizioni veicolo. Ogni voce di questa lista comprende i seguenti campi:
a) identificativo;
b) lunghezza;
c) parametri di trasmissione e di soglia di violazione;
d) Tipo di messaggio (diagnostico/non-diagnostico) - “white-list dei servizi diagnostici” ammessi (applicabile solo ai messaggi di tipo diagnostico); - “black-list, ossia lista di elementi non abilitati o non ammessi, dei servizi diagnostici” non ammessi (applicabile solo ai messaggi di tipo diagnostico) da applicare in determinate condizioni veicolo;
- “soglie di violazioni delle white/black list” per attivare la modalità di blocco totale;
- “soglie di occupazione del bus” per attivare la modalità di blocco totale;
“informazioni di rilevamento condizione veicolo” per determinare quale sia lo stato (ad es. velocità attuale maggiore di 5km/h) da usare congiuntamente alla “black-list dei servizi diagnostici” e alla “white list” dei messaggi ammessi.
Le regole di firewall R impostate mediante i parametri e le liste sopra riportate sono immagazzinate nelle tabelle del modulo di memorizzazione 262 e possono essere aggiornate aggiungendo nuove regole di firewall R oppure sovrascrivendo e/o eliminando le esistenti regole di firewall R. Il dispositivo di protezione 26 nel modulo di memorizzazione 263 memorizza tutte le informazioni B statistiche relative all’attività del firewall (quantità di frame non leciti corrotti sulla linea DT, quantità di frame non leciti corrotti sulla linea DR, etc …) e che possono essere consultate mediante l’interfaccia di configurazione 264 che può accedere al modulo 263 come indicato in figura 5.
L’applicazione delle regole di firewall R definite e contenute nel modulo di memorizzazione 262 è attuata per ogni messaggio CAN M di tipo Data frame o Remote frame. Una rappresentazione schematica del processo di filtraggio è rappresentata in Figura 8.
In accordo con il diagramma di flusso di figura 8, è descritta una forma realizzativa d’esempio di procedura di protezione 100 eseguita dal dispositivo di protezione 26.
Dopo un avvio 105 della procedura, in un passo 110 dal campo Arbitration S2 del messaggio CAN in transito M il firewall 261 estrae un identificativo messaggio (ID 11 / 29 bit), che viene confrontato con il relativo campo della “white-list” per la condizione del veicolo impostata. Se tale identificativo messaggio è presente si procede con il passo successivo 120, altrimenti il messaggio M viene considerato non lecito MF e si procede con il passo 180.
Al passo 120 dal campo Control S3 del messaggio CAN in transito M il firewall 261 estrae una lunghezza messaggio (DLC 4 bit), che viene confrontata con il relativo campo della “white-list”. Se la lunghezza è corretta si procede con il passo successivo 130, altrimenti il messaggio CAN M viene considerato messaggio non lecito MF e si procede con il passo 180.
Al passo 130 viene misurato il tempo intercorso dall’ultima ricezione dello stesso messaggio, in base all’identificativo, e viene confrontato con delle soglie di temporizzazione configurate (ad esempio un intervallo di tempo definito fra un tempo massimo Tmax e uno minimo Tmin, o tramite un periodo etc, anche in relazione alla cronologia delle violazioni delle regole di temporizzazione. Se il tempo intercorso dall’ultima ricezione dello stesso messaggio risulta ricadere in un intervallo ammesso oppure non è nell’'intervallo ammesso, ma il numero di violazioni rilevate è inferiore a un valore di soglia definita (parametri tutti estratti dalla “white list”, come quelli di intervallo di tempo) si procede con il passo successivo 135 altrimenti il messaggio CAN M viene considerato messaggio non lecito MF e si procede con il passo 180.
In tale passo 135 viene verificato se il messaggio M è di tipo diagnostico. In caso negativo si passa a un passo 160 di aggiornamento dello stato del veicolo. In caso affermativo, dal campo Data in un passo 140 viene estratto il valore del servizio diagnostico e controllato che sia presente nella “white-list dei servizi diagnostici” memorizzata nel modulo 262. Se presente si procede con il passo successivo 150 altrimenti il messaggio CAN M viene considerato messaggio non lecito MF e si procede con il passo 180.
Successivamente, nel passo 150 dal campo Data S4 viene estratto il valore del servizio diagnostico e controllato che non sia presente nella “black-list dei servizi diagnostici” per la condizione del veicolo impostata (si veda passo 160). Se presente il messaggio M viene considerato messaggio non lecito MF passando al passo 180, altrimenti lecito e si passa al passo 160 di aggiornamento dello stato del veicolo.
In tale passo 160, impiegando “informazioni di rilevamento condizione veicolo” congiuntamente ai campi di Arbitration e Data del messaggio M viene aggiornata l’informazione interna che rappresenta la condizione del veicolo. Specificamente, il passo 160 verifica se è necessario effettuare l’aggiornamento dello stato del veicolo. Il fattore discriminante per valutare se deve essere aggiornato lo stato del veicolo è contenuta nell’insieme delle regole R. La verifica si basa sui campi Arbitration e Data del frame in transito.
Quindi, in un passo 170, dalla lunghezza totale del messaggio viene aggiornato il valore dell’occupazione del bus e confrontato con le “soglie di occupazione del bus”. Se il messaggio non rispetta tali soglie il messaggio CAN M viene considerato messaggio non lecito MF e si procede con il passo 180. Viceversa la procedura 100 in un passo 195 ha termine.
Dunque, in generale, le operazioni del firewall 261 di estrarre il contenuto informativo di un messaggio CAN M transitante sulle linee di trasmissione CT o ricezione CR e operare l’analisi di tale contenuto informativo, comprendono una o più delle operazioni 110, 120, 130, 135, 140, 150, 170.
Nel passo 180, poiché il messaggio CAN M è considerato messaggio non lecito MF, viene determinato, combinando il tipo di violazione rilevata con le “soglie di violazioni delle white/black list” viene determinato se attivare la modalità di blocco B1 o B2.
Nel passo 190, le informazioni di validità del messaggio e della modalità di blocco B1 o B2 da attuare vengono trasmesse al blocco 261 di firewall che provvede a eseguire le operazioni richieste dalla modalità di blocco, ossia blocco totale (B1) oppure operazione di blocco tramite corruzione F1 e di oscuramento F2 (B2).
Il dispositivo di protezione 26 prevede di operare sia con messaggi diagnostici single-frame sia con messaggi multi-frame. Nel caso di messaggi diagnostici multi-frame, se viene riconosciuto come malevolo il primo frame della catena di messaggi, il dispositivo di protezione 26 è in grado di bloccare tale messaggio e tutti i messaggi successivi che compongono il messaggio multi-frame, attraverso il passo 135. Di conseguenza, sono presenti all’interno del dispositivo di protezione 26 contatori per tenere traccia di quanti CAN frame sono transitati sul CAN bus, e determinare quando terminare il processo di corruzione per uno specifico servizio diagnostico.
Dunque, da quanto descritto sopra, sono chiari i vantaggi della soluzione proposta.
Il dispositivo e procedimento descritti permettono di evitare il disallineamento temporale tra il messaggio corrotto (inviato sul bus) ed il messaggio “Error-Frame” generato dal nodo CAN che riceve il messaggio corrotto.
Il dispositivo e il procedimento descritti permettono inoltre, mediante un opportuno processo di offuscamento, di mascherare l’operazione di corruzione al nodo CAN che ha inviato il frame non lecito. In questo modo si evita la ritrasmissione automatica, con conseguente occupazione del CAN bus, da parte del nodo CAN malevolo.
Il dispositivo e procedimento descritti permettono di non introdurre alcun ritardo di propagazione dei messaggi CAN garantendone l’utilizzo in modo trasparente da parte dei nodi CAN coinvolti.
Il dispositivo e il procedimento descritti permettono di operare anche con i messaggi CAN di tipo diagnostico. Grazie ad una logica di controllo dedicata si è in grado di riconoscere una sequenza di messaggi diagnostici di tipo multi-frame ed invalidare, se il servizio diagnostico è identificato come malevolo, tutta la catena di messaggi.

Claims (11)

  1. RIVENDICAZIONI 1. Procedimento di protezione da attacchi informatici in una rete di comunicazione CAN (Controller Area Network) (20) di un veicolo comprendente un bus CAN (10) e una pluralità di nodi (11) associati a detto bus CAN (10) in rapporto di scambio di segnale e associati almeno in parte a unità di controllo di funzioni del veicolo, comprendente le operazioni di analizzare il contenuto di messaggi CAN (M) in transito fra nodi di detta pluralità di nodi (11) per identificare messaggi CAN non leciti (MF), bloccare (B1, B2) detti messaggi non leciti (MF), detta operazione di bloccare (B1, B2) comprendendo di rendere non validi (F1, F2) detti messaggi non leciti (MF) rispetto a una verifica di integrità eseguita da un controllore CAN (13) di detti nodi (11), inserendo (F1) una sequenza di bit (NV) di corruzione riconosciuta come un errore da detto controllore CAN (13), ottenendo un messaggio corrotto (MF’), caratterizzato dal fatto di inserire (F1) detta sequenza di bit (NV) di corruzione in un campo di controllo integrità (S5), in particolare un campo CRC, del messaggio CAN non lecito (MF) a un tempo di bit (btj-5) il cui valore è tale da allineare temporalmente un campo separatore (ITM) del messaggio non lecito con un corrispondente campo separatore di un messaggio d’errore (EM) generato da un nodo della rete (20) che riceve detto messaggio non lecito (MF) comprendente detta sequenza di corruzione (NV).
  2. 2. Procedimento secondo la rivendicazione 1, caratterizzato dal fatto che comprende di estrarre un contenuto informativo del messaggio (M) in transito durante la trasmissione; - operare l’analisi di detto contenuto informativo detto contenuto informativo in base a un insieme di regole di firewall (R), - rendere non valido (F1, F2, 190) detto messaggio (M) qualora detta analisi del contenuto informativo identifichi il messaggio (M) analizzato come messaggio non lecito (MF) ottenendo un messaggio corrotto (MF’).
  3. 3. Procedimento secondo la rivendicazione 1, caratterizzato dal fatto di selezionare (180) se applicare detto operazione di rendere non valido (F1, F2, 190) il messaggio non lecito (MF) almeno secondo una modalità di blocco selettiva (B1) a tutti e soli i messaggi CAN (MF) non leciti o secondo una modalità di blocco totale (B2) a tutti i messaggi CAN (M, MF).
  4. 4. Procedimento secondo una delle rivendicazioni da 1 a 3, caratterizzato dal fatto che detta operazione di rendere non valido (F1, F2, 190) detto messaggio (MF) non lecito comprende un’operazione di oscurare (F2) al nodo CAN (11) o rete CAN (10) che trasmette il messaggio CAN (MF) non lecito detta operazione di inserzione di una sequenza di bit (NV) di corruzione, tramite i passi di replicare detto messaggio CAN non lecito (MF) senza alcuna alterazione verso il nodo CAN (11) che trasmette detto messaggio non lecito (MF) oppure non adottare nessuna azione di replica verso la rete CAN (10) che trasmette detto messaggio non lecito (MF), emulare il bus CAN (10) oppure il nodo CAN (11) per il caso di trasmissione del messaggio non lecito da parte di CAN (11) o rete CAN (10), rispettivamente segnalando la corretta ricezione del messaggio non lecito (MF) da parte di un nodo ricevente o nodi riceventi e contemporaneamente bloccare messaggi di errore (EM) associati a detto messaggio non lecito (MF) a detto nodo CAN (11) o rete CAN (10) che trasmette detto messaggio non lecito (MF).
  5. 5. Procedimento secondo una delle rivendicazioni da 2 a 4, caratterizzato dal fatto che detto insieme di regole (R) di firewall comprende uno o più dei seguenti liste e parametri: - white-list per i messaggi ammessi da applicare in determinate condizioni veicolo; - white-list dei servizi diagnostici ammessi; - black-list dei servizi diagnostici non ammessi da applicare in determinate condizioni veicolo; - soglie di violazioni delle white list e black list per attivare la modalità di blocco totale (B2); - soglie di occupazione del CAN bus (10) per attivare la modalità di blocco totale (B2); - informazioni di rilevamento condizione veicolo indicative delle condizioni veicolo da impiegare per valutare detta black-list dei servizi diagnostici e detta “white list” dei messaggi ammessi.
  6. 6. Procedimento di protezione secondo la rivendicazione 5, caratterizzato dal fatto che comprende una o più delle seguenti operazioni di analisi del contenuto informativo del messaggio CAN (M) - estrarre (110) un identificativo messaggio e confrontare con un campo corrispondente di una white-list per una data condizione del veicolo; - estrarre (120) una lunghezza messaggio che viene confrontata con un campo corrispondente di un white list, con il relativo campo della white-list - misurato (130) di un tempo intercorso dall’ultima ricezione dello stesso messaggio e confronto con soglie di temporizzazione a) verifica, se il messaggio è di tipo diagnostico, della presenza in una white-list dei servizi diagnostici b) estrazione, se il messaggio è di tipo diagnostico, del valore del servizio diagnostico e verifica della presenza in una “black-list dei servizi diagnostici” per una data condizione del veicolo. - verifica di un valore dell’occupazione del bus e confronto con delle soglie di occupazione del bus.
  7. 7. Procedimento di protezione secondo una delle rivendicazioni precedenti, caratterizzato dal fatto che l’ultimo bit (btj-6) immediatamente precedente al primo bit (btj-5) della sequenza di corruzione (NV) ha polarità opposta rispetto a detto primo bit (btj-5) della sequenza di corruzione (NV).
  8. 8. Dispositivo di protezione da attacchi informatici in una rete di comunicazione CAN (Controller Area Network) (20) di un veicolo comprendente un bus CAN (10) e una pluralità di nodi (11) associati a detto bus CAN (10) in rapporto di scambio di segnale e associati almeno in parte a unità di controllo di funzioni del veicolo, caratterizzato dal fatto di essere configurato per operare secondo il procedimento secondo una o più delle rivendicazioni da 1 a 7.
  9. 9. Dispositivo di protezione secondo la rivendicazione 8, caratterizzato dal fatto che comprende un modulo di firewall (261) configurato per eseguire almeno dette operazioni di analizzare il contenuto di messaggi CAN (M) e rendere non validi (F1, F2) messaggi non leciti (MF) rispetto a una verifica di integrità eseguita da un controllore CAN (13) di detti nodi (11), e un modulo di memorizzazione per memorizzare detto insieme di regole (R) del firewall.
  10. 10. Dispositivo di protezione secondo la rivendicazione 8 o 9, caratterizzato dal fatto che detto dispositivo di protezione (26) è disposto fra un controllore CAN (13) e un ricetrasmettitore CAN (12) di un nodo CAN.
  11. 11. Dispositivo di protezione secondo la rivendicazione 8 o 9, caratterizzato dal fatto che detto dispositivo di protezione (26) è disposto interposto fra due reti CAN (20A, 20B) in associazione a un gateway (18).
IT102018000021550A 2018-12-31 2018-12-31 "Procedimento di protezione da attacchi informatici al veicolo e corrispondente dispositivo" IT201800021550A1 (it)

Priority Applications (3)

Application Number Priority Date Filing Date Title
IT102018000021550A IT201800021550A1 (it) 2018-12-31 2018-12-31 "Procedimento di protezione da attacchi informatici al veicolo e corrispondente dispositivo"
JP2019221395A JP2020109953A (ja) 2018-12-31 2019-12-06 サイバー攻撃から車両を保護するための方法及び対応する装置
CN201911409023.7A CN111385286B (zh) 2018-12-31 2019-12-31 用于保护车辆免受网络攻击的方法和相应的设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IT102018000021550A IT201800021550A1 (it) 2018-12-31 2018-12-31 "Procedimento di protezione da attacchi informatici al veicolo e corrispondente dispositivo"

Publications (1)

Publication Number Publication Date
IT201800021550A1 true IT201800021550A1 (it) 2020-07-01

Family

ID=66589619

Family Applications (1)

Application Number Title Priority Date Filing Date
IT102018000021550A IT201800021550A1 (it) 2018-12-31 2018-12-31 "Procedimento di protezione da attacchi informatici al veicolo e corrispondente dispositivo"

Country Status (3)

Country Link
JP (1) JP2020109953A (it)
CN (1) CN111385286B (it)
IT (1) IT201800021550A1 (it)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022205122A1 (zh) * 2021-03-31 2022-10-06 华为技术有限公司 确定防护方案的方法、装置、设备及计算机可读存储介质
JP2023112712A (ja) * 2022-02-02 2023-08-15 株式会社オートネットワーク技術研究所 車載中継装置、車載中継方法および車載中継プログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8788731B2 (en) * 2012-07-30 2014-07-22 GM Global Technology Operations LLC Vehicle message filter
US20150191136A1 (en) 2014-01-06 2015-07-09 Argus Cyber Security Ltd. Hosted watchman

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060168273A1 (en) * 2004-11-03 2006-07-27 Ofir Michael Mechanism for removing data frames or packets from data communication links
US8213321B2 (en) * 2007-02-01 2012-07-03 Deere & Company Controller area network condition monitoring and bus health on in-vehicle communications networks
CN101494519B (zh) * 2008-06-10 2011-06-08 杨福宇 一种在can协议中实现消极错帧的方法及其装置
JP5662188B2 (ja) * 2011-02-08 2015-01-28 株式会社日本自動車部品総合研究所 通信システム、トランシーバ、ノード
US8925083B2 (en) * 2011-10-25 2014-12-30 GM Global Technology Operations LLC Cyber security in an automotive network
EP3852313B1 (en) * 2014-04-03 2022-06-08 Panasonic Intellectual Property Corporation of America Network communication system, fraud detection electronic control unit and anti-fraud handling method
CN110610092B (zh) * 2014-04-17 2023-06-06 松下电器(美国)知识产权公司 车载网络***、网关装置以及不正常检测方法
EP3326312A4 (en) * 2015-07-22 2019-01-09 Arilou Information Security Technologies Ltd. DATA SECURITY FOR VEHICLE COMMUNICATION BUS
JP6836340B2 (ja) * 2015-09-29 2021-02-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 不正検知電子制御ユニット、車載ネットワークシステム及び通信方法
US10599840B2 (en) * 2016-07-21 2020-03-24 Ramot At Tel Aviv University Ltd. Anti-spoofing defense system for a can bus
IT201600109368A1 (it) * 2016-10-28 2018-04-28 Magneti Marelli Spa "Dispositivo di protezione da attacchi informatici al veicolo tramite connettore diagnostico e corrispondente procedimento"

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8788731B2 (en) * 2012-07-30 2014-07-22 GM Global Technology Operations LLC Vehicle message filter
US20150191136A1 (en) 2014-01-06 2015-07-09 Argus Cyber Security Ltd. Hosted watchman

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KWON HYEOKCHAN ET AL: "Mitigation mechanism against in-vehicle network intrusion by reconfiguring ECU and disabling attack packet", 2018 INTERNATIONAL CONFERENCE ON INFORMATION TECHNOLOGY (INCIT), MAHASARAKHAM UNIVERSITY, FACULTY OF INFORMATICS, 24 October 2018 (2018-10-24), pages 1 - 5, XP033483124, DOI: 10.23919/INCIT.2018.8584882 *

Also Published As

Publication number Publication date
CN111385286A (zh) 2020-07-07
JP2020109953A (ja) 2020-07-16
CN111385286B (zh) 2023-09-26

Similar Documents

Publication Publication Date Title
CN109076001B (zh) 帧传送阻止装置、帧传送阻止方法及车载网络***
JP7008100B2 (ja) 不正対処方法、不正検知電子制御ユニットおよびネットワーク通信システム
KR102243114B1 (ko) 차량 네트워크에서 id 익명화를 사용한 실시간 프레임 인증
CN107113214B (zh) 不正常检测电子控制单元、车载网络***以及通信方法
US10798114B2 (en) System and method for consistency based anomaly detection in an in-vehicle communication network
Nilsson et al. A first simulation of attacks in the automotive network communications protocol flexray
Ueda et al. Security authentication system for in-vehicle network
Nilsson et al. Simulated attacks on can buses: vehicle virus
CN109495439A (zh) 用于车内网络入侵检测的***和方法
CN108353015B (zh) 中继装置
CN111447235A (zh) 网络装置以及网络***
CN111492625B (zh) 非法检测方法以及非法检测装置
CN111448787B (zh) 用于提供安全的车载网络的***及方法
CN109104352B (zh) 车辆网络操作协议和方法
Bresch et al. Design and implementation of an intrusion detection system (IDS) for in-vehicle networks
WO2018168291A1 (ja) 情報処理方法、情報処理システム、及びプログラム
IT201600109368A1 (it) "Dispositivo di protezione da attacchi informatici al veicolo tramite connettore diagnostico e corrispondente procedimento"
CN111066001A (zh) 日志输出方法、日志输出装置以及程序
JP2014183395A (ja) 車載ネットワークシステム
JP2014236248A (ja) 電子制御装置、電子制御システム
KR20180127222A (ko) 사이버 공격에 대한 네트워크 보호 방법
IT201800021550A1 (it) "Procedimento di protezione da attacchi informatici al veicolo e corrispondente dispositivo"
Kammerer et al. Enhancing security in CAN systems using a star coupling router
Kwon et al. Mitigation mechanism against in-vehicle network intrusion by reconfiguring ECU and disabling attack packet
Groza et al. CANTO-covert authentication with timing channels over optimized traffic flows for CAN