[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

IT201800021550A1 - "Procedure for protecting against computer attacks on the vehicle and corresponding device" - Google Patents

"Procedure for protecting against computer attacks on the vehicle and corresponding device" 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
Italian (it)
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/en
Priority to JP2019221395A priority patent/JP7528402B2/en
Priority to CN201911409023.7A priority patent/CN111385286B/en
Publication of IT201800021550A1 publication Critical patent/IT201800021550A1/en

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

Description

DESCRIZIONE dell’invenzione industriale dal titolo: DESCRIPTION of the industrial invention entitled:

"Procedimento di protezione da attacchi informatici al veicolo e corrispondente dispositivo” "Procedure for protecting against computer attacks on the vehicle and corresponding device"

TESTO DELLA DESCRIZIONE TEXT OF THE DESCRIPTION

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 The present invention relates to techniques for protecting against computer attacks in a CAN (Controller Area Network) communication network of a vehicle comprising a CAN bus and a plurality of nodes associated with said CAN bus in a signal exchange relationship and associated at least in part with vehicle functions control unit, comprising the operations of

analizzare il contenuto di messaggi CAN in transito fra nodi di detta pluralità di nodi per identificare messaggi CAN non leciti, analyze the content of CAN messages in transit between nodes of said plurality of nodes to identify illegal CAN messages,

bloccare detti messaggi non leciti, block said illegal messages,

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. said blocking operation including making said illegal messages invalid with respect to an integrity check performed by a CAN controller of said nodes, by inserting a sequence of corruption bits recognized as an error by said CAN controller, in particular by replacing part of the sequence original bit with a corruption, getting a corrupt message.

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. The CAN bus, adopted as a communication BUS in vehicles, is a serial and multi-master communication means, in which each master, also known as a node connected to the bus, is able to send, receive and resolve simultaneous access conflicts. being sent by multiple nodes.

Un nodo 11 in grado di comunicare su bus CAN 10 comprende in generale, come mostrato in figura 1a: A node 11 capable of communicating on the CAN bus 10 generally comprises, as shown in Figure 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); - a CAN transceiver, or CAN Transceiver, 12, associated through a transmission line TT and a reception line TR to the CAN bus 10 and configured to manage the electrical levels of the CAN bus (Physical level of the OSI model); - a CAN controller, or CAN Controller, 13, which is connected through respective CT transmission and CR reception lines to the CAN transceiver 12, and configured to manage the logic levels and serialization of the CAN 10 bus (Data link level of the OSI model) ;

- 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. - a microcontroller 14, which contains the logic for sending and receiving messages (management of the OSI levels higher than the Data link level). Figure 1A shows one of the possible implementation solutions which provides that the CAN controller 13 and the microcontroller 14 are placed in the same System-on-Chip 15, while the CAN transceiver is on a separate chip.

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. It is known to install a protection device 16 from cyber attacks between the CAN 13 controller and the CAN 12 transceiver, as shown in Figure 1. The protection device 16 processes, in particular analyzes, the messages in transit between the CAN 13 controller and the CAN transceiver 12 identifies the illegal or malicious messages, and carries out operations to block the injection of these malicious messages on the CAN bus in different use cases, which are described in Figures 2, 3, 4 and 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 particular, in figure 1B the protection device 16 receives CAN messages on the transmission line CT from the CAN controller 13 to the protection device 16, analyzes them and filters them, by means of the aforementioned locking operations, so that the line between the protection device 16 and CAN transceiver 12 is a filtered transmission line DT on which the CAN messages processed by the protection device 16 transit. Conversely, the CAN messages arrive from the transceiver 12 to the protection device on the reception line CR, which connects these modules, and are processed to the protection device 16 and transmitted on a filtered reception line DR to the CAN controller 12 by the protection device 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 particular in Figure 2, a case is shown in which given a vehicle network 20 which comprises a plurality of nodes 111 ... 11n, representative for example of vehicle control units, such as ECU (Electronic Control Unit), for example Engine Control Unit, but also control units for lighting, air conditioning, transmission control, ABS, suspension control, and other dedicated processor modules other vehicle services. In this plurality of nodes 111 ... 11n the node 111 is a protected node, equipped with a protection device 16, and the case is shown in which this protected node 111 is malicious and injects CAN messages, or CAN frames, malicious, i.e. not lawful , MF to the vehicle network 20. This use case is that in which, for example, the microcontroller 14 has been violated by means of other communication channels, such as a wireless channel, as can happen for nodes corresponding to Infotainment units / Telematics. In this case the presence of the protection device 16 prevents such messages MF from reaching the vehicular network 20, that is to say the other unprotected nodes 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. Figure 3 shows the case in which the malicious CAN messages MF are injected from the vehicular network 20, ie from one of the nodes without a protection device, that is, unprotected nodes, 112… .11n, in particular node 112. This figure represents the use case in which any node of the vehicle network 20 has been violated. In this case, the presence of the protection device 16 prevents messages not pertinent to the respective protected CAN node 111 on which it is installed from being processed by the microcontroller 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. Figure 4 shows the case in which the protection device 16 is used inside a CAN gateway 18. This configuration makes it possible to isolate two distinct CAN networks 20A and 20B, with respective nodes 11A1 ... 11An and 11B1 ... 11Bn, in generally unprotected, to guarantee the filtering of CAN frames in transit from and between one network and another. In the specific case of Figure 4, the protection device 16 blocks the illegal messages MF transmitted by the network 20A and prevents their diffusion on the network 20B. It is clear that the protection device 16 can also block an illegal CAN message MF transmitted from a node of the network 20B to the network 20A through the 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. US patent application US2015 / 191136 A1 describes a protection device that operates in the CAN bus of motor vehicles which provides for blocking messages in transit whose parameters verify illegal message criteria. The block is operated by making invalid with respect to a validity check performed by the CAN controller, i.e. by corrupting the illegal messages during their transmission between the CAN transceiver and the CAN controller, by inserting a sequence of bits recognized as an error by the CAN controller , in particular stuffing bit, or filling bit, in particular by inserting a Stuff error through a sequence that does not respect the bit stuffing rule foreseen by the CAN protocol which determines by the CAN controller to ignore such illegal messages and not to propagate such illegal messages on the CAN network. However, the manipulation of the stuff bit number can generate a temporal misalignment between the corrupted message (sent on the bus) and the “Error-Frame” message generated by the CAN node that receives the corrupted message.

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. The present invention has the aim of obtaining a monitoring procedure which allows to make illegal messages invalid, by carrying out a correct alignment.

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. According to the present invention, this object is achieved thanks to a protection method as well as a corresponding protection device having the characteristics referred to specifically in the following claims.

L’invenzione verrà descritta con riferimento ai disegni annessi, forniti a puro titolo di esempio non limitativo, in cui: The invention will be described with reference to the attached drawings, provided purely by way of non-limiting example, in which:

- le Figure 1A e 1B, 2, 3, 4 sono già state descritte in precedenza; Figures 1A and 1B, 2, 3, 4 have already been previously described;

- la Figura 5 rappresenta uno schema di principio del dispositivo di protezione implementante il procedimento qui descritto; Figure 5 represents a basic diagram of the protection device implementing the procedure described here;

- la Figura 6 è un diagramma che rappresenta schematicamente messaggi CAN elaborati dal dispositivo di protezione; Figure 6 is a diagram which schematically represents CAN messages processed by the protection device;

- le Figure 7A, 7B, 7C rappresentano schematicamente il dispositivo di protezione qui descritto in tre fasi di funzionamento del procedimento; Figures 7A, 7B, 7C schematically represent the protection device described here in three operating phases of the method;

- la Figura 8 è un diagramma di flusso che rappresenta operazioni del procedimento qui descritto. Figure 8 is a flow chart representing operations of the process described here.

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 Figure 5 shows a basic block diagram of a protection device 26 according to the invention. This protection device 26 is shown arranged between a CAN controller 13 and a CAN transceiver 12 in a protected node of a CAN 10 network, as for example in the configuration of Figure 3 of node 111. The solution described here is independent of the version of CAN on to which it is applied (CAN2.0 and CAN-FD, therefore) and for the sake of simplicity only the scenario relating to the CAN2.0 version is described

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. The protection device 26 comprises a firewall module 261, which generally receives a sequence of CAN messages M sent on the reception line CR and on the transmission line CT and sends a filtered sequence of CAN messages on the filtered reception and transmission lines DR DT. M messages can be, as mentioned, illegal MF messages. The filtered sequence, as better described below, can contain the CAN M messages themselves, can contain corrupt MF 'messages obtained from illegal MF messages or can apply the blocking through corruption (B2 mode described below) in total mode to M messages lawful and unlawful 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; Therefore, this firewall module 261 is configured to: - extract the information content of a CAN M message transiting on the transmission lines CT or reception 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; - perform the analysis of this information content. This for example comprises comparing field values of the transiting CAN message M with a set of firewall rules R stored in a rules storage module 262 which represents a rules database, to which the firewall module 261 has at least read access;

- 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; - make the CAN M message in transit invalid, if identified on the basis of the content as an illegal CAN message MF. This occurs by corrupting it during transmission from the protection device 26 in accordance with blocking modes, for example B1 and B2, better detailed below, in the event that the message M analyzed is identified as an illegal message MF, while this message illegal MF is still in transit on the CAN bus;

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. As said, the protection device 26 further comprises a rules database 262, which is the database containing rules R applied by the firewall 261 to the analyzed CAN messages, ie in transit, to identify illegal messages MF. The CAN messages M in transit, arriving from the transmission line CT and from the reception line CR, can be subjected to the same set of rules R in the rules database 262 or this rules database 262 can contain two sets of rules applied independently to CR reception and CT transmission.

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. The protection device 26 also comprises an operations storage module 263, i.e. a memory area dedicated to storing a register, or "log", of operations B carried out by the protection device 26 on the CAN bus 10. The protection device 26 accesses this module 263 to write such operations B carried out by the protection device on the CAN bus 10. This register B includes statistics relating to the activity of the firewall 261, such as quantity of illegal frames MF corrupted on the transmission line CT, quantity of frames corrupt on the reception line CR, etc ...) and which can be consulted through a configuration interface 264 which can read access to the operations storage module 263 as indicated in figure 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. The protection device 26 then comprises, as mentioned, a configuration interface 264 for defining the filtering rules R applied by the firewall 261 and stored in the module 262. In particular, this configuration interface can receive a filtering configuration, that is the rules R , of the protection device 26 from an external communication interface not shown in the figure. This configuration interface 264 has a data exchange relationship with the rules database 262, in which it writes for example the set of rules R for filtering through a firewall and the operations storage module 263, as said for example to read Firewall Operation Log Data 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. Associated with the 264 configuration interface is an authentication module 265, which is configured to verify the authenticity of the filtering configuration received from the external communication interface, for example through digital signature and data encryption mechanisms.

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 The protection device 26 is generally configured to implement a filter that blocks malicious and irrelevant CAN messages, allowing only legitimate data to pass.

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: The distinction between lawful and illegal messages can be configured based on the intended use of the protection device 26 and defined through the following distinctive parameters C:

C1: identificativo messaggio CAN; C1: CAN message identifier;

C2: lunghezza del messaggio CAN; C2: length of the CAN message;

C3: tempi di trasmissione, ad esempio una frequenza nel caso di messaggio periodico; C3: transmission times, for example a frequency in the case of a periodic message;

C4: contenuto del messaggio. Tale parametro è impiegato solo per i messaggi di tipo diagnostico; C4: content of the message. This parameter is used only for diagnostic messages;

C5: stato del veicolo. Tale parametro è impiegato solo per i messaggi di tipo diagnostico; C5: vehicle status. This parameter is used only for diagnostic messages;

C6: percentuale di utilizzo del bus nell’unità di tempo. C6: percentage of bus usage in the unit of time.

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: The protection device 26 is configured to apply the set of rules R in general to non-diagnostic and diagnostic messages, applying further and specific filtering rules in this set if a diagnostic frame is recognized in transit. protection 26 is also configured, in particular through the firewall module 261, to operate two message blocking modes:

una modalità di blocco selettiva B1: vengono bloccati tutti e soli i messaggi CAN MF non leciti a selective blocking mode B1: all and only illegal CAN MF messages are blocked

una modalità di blocco totale B2: tutti i messaggi CAN vengono bloccati, sia leciti M che non leciti MF. a total block mode B2: all CAN messages are blocked, both lawful M and non-lawful MF.

La modalità di blocco totale B2 è configurabile nei seguenti modi d’impiego: The total block mode B2 can be configured in the following ways of use:

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; first mode of use BC1, in the total blocking mode B2 is enabled or disabled, second mode of use BC2, in which if the total blocking mode B2 is enabled, it is possible to define the type of violation in the protection device 26 and the number of violations, for each of the specified violation types, at which total blocking mode B2 must be activated, as well as the time it must remain active. In the second way of use B2, one or more deactivation parameters are therefore defined in a list including type of violation, violation number, deactivation time;

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. The total block mode B2 allows you to virtually disconnect an i-th node 11i or a network (e.g. 20B in figure 4) from the CAN 10 bus for an arbitrary period of time which, depending on the configuration, can also be almost perpetual, thus completely isolating the node 11i or network or restoring the communication capabilities of the node 11i at the end of the set time period.

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. The mechanism by which the protection device 26 blocks an illegal CAN message implements a zero-delay mode. This makes it advantageous to use the protection device 26 in all applications in which the propagation delays introduced by additional filtering elements, such as the protection device 26, must be minimized.

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. As mentioned, the zero-delay message filtering mode, implemented by the protection device 26, provides for exploiting the integrity control mechanisms present in the CAN bus, making invalid, i.e. corrupting, the illegal CAN message MF during transmission on the CAN bus, so that the receiving nodes ignore the aforementioned illegal message MF already at the digital level of the CAN 13 controller, i.e. the Data link level, where the integrity check of the message is carried out, without propagating the message to the microcontroller 14 (and to the higher levels of the OSI stack). Therefore, this zero delay mode is opposed to that in which the filter element receives analysis-retransmits, as is typical behavior of gateways, since even in the ideal condition of null analysis times, the filter element must still wait for the message terms before being able to analyze it and, if it is lawful and must be retransmitted, participate again in the contention and arbitration phase of the bus (after the analysis phase), introducing an additional delay equal to at least the duration of the retransmission of the message itself. Furthermore, since it is necessary for the filter element to win the contest of the CAN bus in order to proceed with the retransmission of the previously analyzed message, this additional delay can be significantly longer, with an upper limit, due to the characteristics of the CAN protocol, theoretically infinite: case of transmission of messages with higher priority by other nodes in the network.

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: The zero-delay mode implemented by the protection device 26, on the other hand, makes it possible to inspect a CAN message in transit, i.e. during transmission or reception by the node on which it is installed, and therefore allows:

- di agire prontamente corrompendo il messaggio non lecito prima ancora che la sua trasmissione o ricezione termini - to act promptly by corrupting the illegal message even before its transmission or reception ends

- lasciar passare il messaggio inalterato se lecito, non impattando quindi il suo tempo di propagazione. - let the message pass unaltered if lawful, thus not impacting its propagation time.

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. The zero delay CAN frame filtering procedure, by means of the first selective blocking mode B1 or second total blocking mode B2, implemented by the protection device 26, specifically includes two operations which determine that the propagation time of the CAN message is not altered and that the illegal message is deemed, by the malicious node, to be sent successfully.

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. A first operation is an F1 blocking operation of the message in transit to the protection device 26 by corrupting the bit sequence of the CAN message itself.

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. A second operation is an obscuring F2 operation to the malicious CAN node which transmits the illegitimate CAN MF message intercepted by the protection device 26 of the corruption of this illegal CAN message transmitted by it, and therefore of its consequent blocking by the controls. integrity in the CAN controllers of the other CAN nodes.

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. As a consequence of these modes of blocking B1 or B2 through corruption F1 and obscuring F2, the protection device 26 and the protection procedure implemented by this device 26 make it possible to guarantee the simultaneity between the end of the transit of the illegal CAN message, and corrupted by the F1 operation by the protection device 26, and the end of the transmission of an error message in response to this corrupt illegitimate CAN message, i.e. as a consequence deriving from the detection of the error condition introduced by the protection device 26 in the malicious CAN message, in order to corrupt it, by the receiving CAN node (s), 111 ... 11n, other than the node that includes the protection device 26 which applies the blocking operation F1 to the illegal message MF and other than the CAN node which injects the MF malicious message.

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. This simultaneity represents a fundamental aspect in order to prevent the triggering of non-aligned overlaps in sending messages that would lead to continuous data corruption on the CAN 10 bus, with overhead on bus occupation, and, lastly, to a communication interruption. .

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: The protection procedure implemented by the protection device through the F1 corruption and F2 obscuring operations exploits the particular structure of the Data and Error type messages of the CAN protocol; in particular, the data type message is structured with S sections of contiguous bits listed below in table 1:

Tabella 1 Table 1

La struttura delle sezioni S del messaggio di tipo Dato è naturalmente di per sé nota, nello standard del bus CAN. The structure of the S sections of the Data type message is naturally known per se, in the CAN bus standard.

I messaggi di tipo Errore comprendono messaggi di tipo Attivo e Passivo strutturati come in Tabella 2 per l’Errore Attivo: Error messages include Active and Passive messages structured as in Table 2 for Active Error:

Tabella 2 Table 2

mentre sono strutturati come in Tabella 3 per l’Errore Passivo: while they are structured as in Table 3 for Passive Error:

Tabella 3 Table 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. In Figure 6, by way of example, a case referred to the Active Error is shown. MF indicates the CAN message not permitted in transmission, while MF 'indicates the corrupt message containing an EM error message in the queue, a CAN message of type Error in Response, from one of the receiving nodes, after the control integrity of its CAN controller detects corruption.

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. With bt a bit time axis is also indicated and with NV a signal written by the protection device 26 in the illegal CAN message MF. With Si is indicated the internal signal generated by the protection device. In particular, the signal Si is the signal DT in the protection device 26 in the case of a message being transmitted, or alternatively it is the signal DR of the protection device 26 in the case of a message being received.

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. In order to guarantee the simultaneity of the end of transmission of the illegal CAN message MF, of the Data type, corrupted by the protection device 26, and the related EM message of the Response error type, issued by any of the receiving nodes 11, or so that the ITM fields (S8 field for the illegal MF message and SE3 field for the EM error message) of these messages are aligned and overlapped, it is necessary to insert an error condition at an exact point, i.e. at a specific bit value time bt of the illegal message MF. This is done in particular by replacing part of the original bit sequence with one of corruption, resulting in a corrupted message.

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. The exact point in which to insert the corruption sequence of 6 consecutive bits (NV) is uniquely determined by the format of the packet and the rules of the CAN protocol and requires the use of resources / logic modules dedicated to its computation and computation of the polarity of the bits constituting said corruption sequence 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: In particular, to calculate the starting point of the sequence of 6 consecutive bits inside the CRC field and the polarity (dominant or recessive) of the bits that compose it, the protection device 26, in particular the firewall module 261, is equipped with one or more modules / logic elements suitable for or configured for:

- 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; - dynamically calculate (at runtime) the value of the CRC (Cyclic Redundancy Check) S5 field in order to predict the number of stuff bits that will be present within the CRC field;

- 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. - analyzing the content of the CRC field reconstructed in the previous step, also taking into account the bits that precede the CRC, in order to evaluate the number of stuff bits that will be present in the CRC field, that is, in the S5 field of the message M, MF. Since the CRC field is data-dependent (and therefore varies at runtime as does the data), the exact insertion point of the corruption sequence is also determined dynamically. With reference to Figure 6, the exact point of insertion in the corruption sequence is the instant btj-5, while the instant in which the receiving node detects the condition of "Stuff error" (SPE) is the instant btj. With btj-6 the last bit immediately preceding the first bit of the corruption sequence is indicated, in order to emphasize that the corruption sequence must have opposite polarity to this bit.

In conseguenza di ciò: Because of that:

- 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; - the CAN node 11 that receives the corrupt MF message responds with an EM error message (fields SE1, SE2, SE3 as in the example an Active Error is shown, otherwise the fields SP1, SP2, SP3 of the Passive Error are used ) starting from the bit time btj + 1 immediately following that btj at the point in which the Stuff error SPE condition occurs. More specifically, as shown in Figure 6, the error message EM is written starting from bit time btj + 1. In the case of multiple receiving nodes, each receiving node 11i transmits a CAN EM error message whose error frames are exactly superimposed on those of any other CAN EM error message sent by any other receiving node;

- 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. - the term of the error message (or overlapping messages), the SE3 ITM field, which contains a zone of recessive bits, specifically 3 bits, which acts as a separator between messages, is temporally aligned with the corresponding ITM field, S8, of the message unlawful MF, which is simultaneously retransmitted unaltered to the sending malicious node.

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. Even with the same length of the various fields of the Data frame of a CAN message, the length of the CAN message can vary according to their content, due to the possible insertion of stuffing or filling bits, therefore the protection device 26 is configured to dynamically calculate, CAN message by CAN message, the btj-5 insertion point of the CRC field in which it is necessary to insert the NV sequence of 6 consecutive bits with the same polarity, in case the MF frame is to be corrupted . The protection device 26 is configured to dynamically calculate, CAN message by CAN message, both the insertion point btj-5 of the CRC field in which it is necessary to insert the NV sequence of 6 consecutive bits with the same polarity, and the polarity of the bits of said sequence NV, which must be opposite to that of bit btj-6, in case the frame MF is to be corrupted.

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. As mentioned, the other fundamental operation performed by the protection device 26 is the obscuring F2 to the malicious CAN node which transmits the illegal CAN message intercepted by the protection device 26 of the corruption of this illegal CAN message transmitted by itself, and therefore of its consequent blocking by the integrity checks in the CAN controllers of the other CAN nodes.

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. In the event that the protection device 26 corrupts an illegal frame MF, if the protection device 26 does not hide the corruption, (i.e. the sequence NV inserted in an insertion point btj-5 of the CRC S5 field of the illegal frame MF and which determines the condition of Stuff error SPE at point btj), the sending CAN node of the malevolent frame MF would reveal this condition of Stuff error SPE and, as a consequence, would proceed to interrupt the transmission of the malevolent frame MF, to transmit a frame EM Error type (misaligned with respect to all other Error frames sent by all other receiving nodes) and would subsequently attempt to retransmit the same malicious frame.

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: The operation of obscuring F2 of the process of corruption of the message in transit is managed as shown in Figure 7, where the highlighted elements "CAN Controller" 13 and "CAN Transceiver" 12 are, for example, those belonging to the protected CAN node 111 on which it is the protection device 26 is installed and this protected CAN node transmits a malicious message MF (case in which the host of the CAN node on which the protection device 26 is installed has been violated). In particular, since each bit of the CAN MF message transmitted on the transmission line CT is also reread on the reception line CR, the protection device 26 operates as follows, carrying out the corruption operation, after which, as shown in Figure 7A, the malevolent frame MF arriving at device 26 on the transmission line CT, of the malevolent frame, has been identified in two phases:

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 a first phase, represented in figure 7B, from the host side, i.e. towards the malicious node, (CT transmission lines and DR filtered reception lines), the illegal CAN message MF is replicated without any alteration of the bitstream on the filtered reception line DR, while on the CAN bus side downstream of the transceiver 12, i.e. towards non-malicious receiving nodes, i.e. on the filtered transmission line DT and on the non-filtered reception line CR, the illegal message MF is appropriately corrupted by modifying its bitstream, as a corrupt message 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’. in a second phase, represented in figure 7C, from the host side, i.e. towards the malicious node, the protection device 26 emulates the CAN bus, signaling the correct reception of the message by the other nodes 112 ... 11n of the network 20, by means of a message correct OR reception on the DR line (Figure 7C), in particular by sending the dominant bit during the bit time ACK Slot; at the same time, on the CAN bus side, the protection device 26 blocks the error signaling, via Error Frame EM provided by the CAN protocol, on the CR line by the other nodes 11 of the network that have received the corrupt message 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). The operation of obscuring F2 of the process of corruption of the message in transit also applies to the case of an illegal message being received, or transmitted by a CAN node 111, other than the protected CAN node 111 on which the protection device 26 is installed, in a manner similar to what is expressed above and by what is reported in figures 7A, 7B and 7C, in accordance with the characteristics of the CAN protocol in the event of a message being received. In particular, the MF message to be replicated to the malicious node, which should be transmitted by duality on DT in this case, is not necessary, i.e. no replication action is adopted, but a correct reception OR message is sufficient as evidence of correct reception of the malicious message (which this time is on 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. Therefore, the method of protection against computer attacks in a CAN (Controller Area Network) communication network 20 of a vehicle comprising a CAN bus 10 and a plurality of nodes 11 associated with said CAN bus 10 in signal exchange relationship and associated at least partly to the vehicle function control unit, comprising the operations of analyzing the content of CAN messages M in transit between nodes of said plurality of nodes 11 to identify illegal CAN messages MF, and blocking said messages through the modes B1, B2 not lawful MF, where this blocking operation through the modes B1, B2 comprises making invalid the non lawful messages MF, i.e. corrupting F1, with respect to an integrity check performed by a CAN controller 13, of said nodes 11, by entering F1 a sequence of bits NV of corruption recognized as an error by said CAN controller 13, obtaining a corrupt message MF ', specifically foresees to insert F1 said sequence of bits NV of corruption in an S5 integrity check field, in particular a CRC field, of the illegal CAN message MF at a bit time btj-5 whose value is such as to temporally align a separator field, i.e. ITM, of the illegal message with a corresponding separator field of an error message EM generated by a node of the network 20 which receives said illegal message MF comprising said corruption sequence NV. Note that this inserting operation is performed by replacing part of the original bit sequence, in particular of the integrity check field S5, with a corruption one, the bit sequence NV, in particular this bit sequence NV having polarity opposite to the polarity of the bit at time btj-6 preceding bit at insertion point btj-5, resulting in a corrupt or illegal message MF.

Il procedimento descritto comprende poi di The process described further comprises of

estrarre un contenuto informativo del messaggio M in transito durante la trasmissione; extracting an information content of the message M in transit during transmission;

- operare l’analisi di detto contenuto informativo detto contenuto informativo in base a un insieme di regole di firewall (R), - perform the analysis of said information content called information content based on a set of firewall rules (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’. - make the message M F1 invalid if said analysis of the information content identifies the message (M) analyzed as an illegal message MF obtaining a corrupt message 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. The described procedure then comprises selecting whether to apply the operation of making F1 invalid the non-lawful message MF at least according to a selective blocking mode B1 to all and only the non-lawful CAN MF messages or according to a total blocking mode B2 to all CAN messages, legal M and illegal 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 The procedure described further comprises that said operation of making the illegal message MF invalid comprises an operation of obscuring F2 to the CAN node or CAN network which transmits the illegal MF CAN message, said operation of insertion of bits NV of corruption, by means of the steps of

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, replicate said unlawful CAN message MF without any alteration, in particular without sequence NV, towards the CAN node 11 which transmits said illicit message MF, or do not take any replication action towards the CAN 10 network which transmits said illicit message 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. emulate the CAN 10 bus or the CAN 11 node for the case of transmission of the illegal message by CAN 11 or CAN 10 bus, respectively signaling the correct reception of the illegal message MF by a receiving node or receiving nodes and at the same time blocking error messages EM associated with said illegal message MF to said CAN node or CAN network that transmits said illegal message.

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. These operations are implemented by the protection device 26, in particular by its firewall module 261 on the basis of the rules R stored in the storage module 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. The protection device 26 for this purpose can be in variant forms and is arranged between a CAN controller 13 and a CAN transceiver 12 of a CAN node, which is thus a protected node, even if it should be the same malicious node.

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. The protection device 26 can be in further variant forms arranged interposed between two CAN networks 20A, 20B in association with a 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: The protection device 26 has, as mentioned, a configuration interface, the interface 264 which allows the definition of firewall rules R through the following lists and parameters:

- “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: - “white-list”, ie list of enabled or admitted elements, for the admitted messages (for each direction) to be applied in certain vehicle conditions. Each item in this list includes the following fields:

a) identificativo; a) identification;

b) lunghezza; b) length;

c) parametri di trasmissione e di soglia di violazione; c) transmission parameters and violation threshold;

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; d) Type of message (diagnostic / non-diagnostic) - "white-list of diagnostic services" allowed (applicable only to diagnostic messages); - “black-list, ie list of non-enabled or non-allowed elements, of non-allowed diagnostic services” (applicable only to diagnostic messages) to be applied in certain vehicle conditions;

- “soglie di violazioni delle white/black list” per attivare la modalità di blocco totale; - "white / black list violation thresholds" to activate the total block mode;

- “soglie di occupazione del bus” per attivare la modalità di blocco totale; - “bus occupation thresholds” to activate the total block mode;

“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. "Vehicle condition detection information" to determine which status (eg current speed greater than 5km / h) to be used in conjunction with the "black-list of diagnostic services" and the "white list" of allowed messages.

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. The R firewall rules set using the above parameters and lists are stored in the storage module 262 tables and can be updated by adding new R firewall rules or by overwriting and / or deleting the existing R firewall rules. 26 in the storage module 263 stores all the statistical information B relating to the activity of the firewall (quantity of illegal frames corrupted on the DT line, quantity of illegal frames corrupted on the DR line, etc ...) and which can be consulted through the configuration interface 264 which can access module 263 as indicated in figure 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. The application of the firewall rules R defined and contained in the storage module 262 is implemented for each CAN M message of the Data frame or Remote frame type. A schematic representation of the filtering process is shown in Figure 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. In accordance with the flow chart of Figure 8, an exemplary embodiment of the protection procedure 100 performed by the protection device 26 is described.

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. After a start 105 of the procedure, in a step 110 from the Arbitration S2 field of the CAN message in transit M the firewall 261 extracts a message identifier (ID 11/29 bit), which is compared with the relative field of the "white-list" to the vehicle condition set. If this message identifier is present, proceed with the next step 120, otherwise the message M is considered illegal MF and proceed with step 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. At step 120 from the Control S3 field of the CAN message in transit M the firewall 261 extracts a message length (4-bit DLC), which is compared with the relative field of the "white-list". If the length is correct, proceed with the next step 130, otherwise the CAN M message is considered illegal message MF and proceed with step 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. At step 130 the time elapsed since the last reception of the same message is measured, based on the identifier, and is compared with the configured timing thresholds (for example a time interval defined between a maximum time Tmax and a minimum Tmin, or through a period etc, also in relation to the history of the violations of the timing rules. If the time elapsed since the last reception of the same message falls within an allowed interval or is not within the allowed interval, but the number of violations detected is lower than a defined threshold value (parameters all extracted from the "white list", such as the time interval ones) proceed with the next step 135 otherwise the CAN M message is considered illegal message MF and proceed with step 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. In this step 135 it is checked whether the message M is of the diagnostic type. If not, one passes to a step 160 for updating the vehicle status. If so, the value of the diagnostic service is extracted from the Data field in a step 140 and checked that it is present in the "white-list of diagnostic services" stored in module 262. If present, proceed with the next step 150 otherwise the CAN message M is considered illegal message MF and one proceeds with step 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. Subsequently, in step 150 the value of the diagnostic service is extracted from the Data S4 field and checked that it is not present in the “black-list of diagnostic services” for the vehicle condition set (see step 160). If the message M is present, it is considered illegal message MF passing to step 180, otherwise it is legal and one moves on to step 160 for updating the vehicle status.

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. In this step 160, using "vehicle condition detection information" together with the Arbitration and Date fields of the M message, the internal information representing the condition of the vehicle is updated. Specifically, step 160 checks whether it is necessary to update the vehicle status. The discriminating factor for assessing whether the vehicle status must be updated is contained in the set of R rules. The verification is based on the Arbitration and Date fields of the frame in transit.

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. Then, in a step 170, the bus occupation value is updated from the total length of the message and compared with the "bus occupation thresholds". If the message does not respect these thresholds, the CAN message M is considered illegal message MF and one proceeds with step 180. Conversely, procedure 100 in a step 195 ends.

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. Therefore, in general, the operations of the firewall 261 of extracting the information content of a CAN M message transiting on the transmission lines CT or reception CR and performing the analysis of this information content, comprise one or more of the operations 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. In step 180, since the CAN message M is considered illegal message MF, it is determined by combining the type of violation detected with the "white / black list violations thresholds" it is determined whether to activate the blocking mode B1 or 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). In step 190, the information of the validity of the message and of the blocking mode B1 or B2 to be implemented are transmitted to the firewall block 261 which carries out the operations required by the blocking mode, i.e. total blocking (B1) or blocking operation through corruption F1 and blackout 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. The protection device 26 provides to operate both with single-frame diagnostic messages and with multi-frame messages. In the case of multi-frame diagnostic messages, if the first frame of the message chain is recognized as malicious, the protection device 26 is able to block this message and all subsequent messages that make up the multi-frame message, through the step 135. Consequently, there are 26 counters inside the protection device to keep track of how many CAN frames have transited on the CAN bus, and to determine when to terminate the corruption process for a specific diagnostic service.

Dunque, da quanto descritto sopra, sono chiari i vantaggi della soluzione proposta. Therefore, from what has been described above, the advantages of the proposed solution are clear.

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. The described device and procedure allow to avoid the temporal misalignment between the corrupt message (sent on the bus) and the “Error-Frame” message generated by the CAN node that receives the corrupted message.

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. The device and the procedure described also allow, through an appropriate obfuscation process, to mask the corruption operation to the CAN node that sent the illegal frame. This avoids automatic retransmission, with consequent occupation of the CAN bus, by the malicious CAN node.

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. The device and procedure described make it possible not to introduce any propagation delay of the CAN messages, guaranteeing their use transparently by the CAN nodes involved.

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. The device and the procedure described also allow operating with diagnostic CAN messages. Thanks to a dedicated control logic, it is possible to recognize a sequence of multi-frame diagnostic messages and invalidate, if the diagnostic service is identified as malicious, the entire chain of messages.

Claims (11)

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). CLAIMS 1. A method of protecting against computer attacks in a CAN (Controller Area Network) communication network (20) of a vehicle comprising a CAN bus (10) and a plurality of nodes (11) associated with said CAN bus (10) in relation signal exchange and associated at least in part with vehicle function control units, comprising the operations of analyze the content of CAN messages (M) in transit between nodes of said plurality of nodes (11) to identify illegal CAN messages (MF), blocking (B1, B2) said illegal messages (MF), said blocking operation (B1, B2) including making said illegal messages (MF) invalid (F1, F2) with respect to an integrity check performed by a controller CAN (13) of said nodes (11), by inserting (F1) a sequence of bits (NV) of corruption recognized as an error by said CAN controller (13), obtaining a corrupt message (MF '), characterized by the fact of insert (F1) said sequence of bits (NV) of corruption in an integrity check field (S5), in particular a CRC field, of the CAN illegal message (MF) at a bit time (btj-5) whose value is such as to temporally align a separator field (ITM) of the illegal message with a corresponding separator field of an error message (EM) generated by a network node (20) that receives said illegal message (MF) comprising said sequence of corruption (NV). 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’). 2. Process according to claim 1, characterized in that it comprises of extracting an information content of the message (M) in transit during transmission; - perform the analysis of said information content called information content based on a set of firewall rules (R), - make invalid (F1, F2, 190) said message (M) if said analysis of the information content identifies the message (M) analyzed as an illegal message (MF) obtaining a corrupt message (MF '). 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). 3. Process according to claim 1, characterized by the fact of selecting (180) whether to apply said operation of making invalid (F1, F2, 190) the illegal message (MF) at least according to a selective blocking mode (B1) to all and only the CAN (MF) messages that are not lawful or according to a total block mode (B2) to all CAN messages (M, MF). 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). Method according to one of claims 1 to 3, characterized in that said operation of making invalid (F1, F2, 190) said illegal message (MF) comprises an operation of obscuring (F2) to the CAN node (11 ) or CAN network (10) that transmits the illegal CAN (MF) message, said operation of insertion of a sequence of bits (NV) of corruption, through the steps of replicate said illicit CAN message (MF) without any alteration towards the CAN node (11) which transmits said illicit message (MF) or do not take any replication action towards the CAN network (10) which transmits said illicit message (MF) ), emulate the CAN bus (10) or the CAN node (11) for the case of transmission of the illegal message by CAN (11) or CAN network (10), respectively signaling the correct reception of the illegal message (MF) from part of a receiving node or receiving nodes and at the same time blocking error messages (EM) associated with said illegal message (MF) to said CAN node (11) or CAN network (10) which transmits said illegal message (MF). 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. Method according to one of claims 2 to 4, characterized in that said set of firewall rules (R) comprises one or more of the following lists and parameters: - white-list for the messages allowed to be applied in certain vehicle conditions; - white-list of admitted diagnostic services; - black-list of diagnostic services not allowed to be applied under certain vehicle conditions; - thresholds for violations of white lists and black lists to activate the total blocking mode (B2); - CAN bus occupation thresholds (10) to activate the total block mode (B2); - vehicle condition detection information indicative of the vehicle conditions to be used to evaluate said black-list of diagnostic services and said “white list” of admitted messages. 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. 6. Protection method according to claim 5, characterized in that it comprises one or more of the following operations for analyzing the information content of the CAN (M) message - extracting (110) a message identifier and comparing it with a corresponding field of a white-list for a given condition of the vehicle; - extract (120) a message length that is compared with a corresponding field of a white list, with the relative field of the white-list - measured (130) of a time elapsed since the last reception of the same message and comparison with timing thresholds a) verifies, if the message is of a diagnostic type, the presence in a white-list of diagnostic services b) extraction, if the message is of a diagnostic type, of the value of the diagnostic service and verification of the presence in a "black-list of diagnostic services" for a given condition of the vehicle. - verification of a bus occupancy value and comparison with the bus occupancy thresholds. 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). 7. Protection method according to one of the preceding claims, characterized in that the last bit (btj-6) immediately preceding the first bit (btj-5) of the corruption sequence (NV) has opposite polarity with respect to said first bit ( btj-5) of the corruption sequence (NV). 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. 8. Device for protecting against cyber attacks in a CAN (Controller Area Network) communication network (20) of a vehicle comprising a CAN bus (10) and a plurality of nodes (11) associated with said CAN bus (10) in relation signal exchange and associated at least in part with vehicle function control units, characterized in that it is configured to operate according to the method according to one or more of claims 1 to 7. 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. 9. Protection device according to claim 8, characterized in that it comprises a firewall module (261) configured to perform at least said security operations analyze the content of CAN (M) messages and render invalid (F1, F2) illegal messages (MF) with respect to an integrity check performed by a CAN controller (13) of said nodes (11), and a storage module for storing said firewall rule set (R). 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. Protection device according to claim 8 or 9, characterized in that said protection device (26) is arranged between a CAN controller (13) and a CAN transceiver (12) of a CAN node. 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). 11. Protective device according to claim 8 or 9, characterized in that said protection device (26) is placed between two CAN networks (20A, 20B) in association with a gateway (18).
IT102018000021550A 2018-12-31 2018-12-31 "Procedure for protecting against computer attacks on the vehicle and corresponding device" IT201800021550A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
IT102018000021550A IT201800021550A1 (en) 2018-12-31 2018-12-31 "Procedure for protecting against computer attacks on the vehicle and corresponding device"
JP2019221395A JP7528402B2 (en) 2018-12-31 2019-12-06 Method and corresponding device for protecting a vehicle against cyber attacks
CN201911409023.7A CN111385286B (en) 2018-12-31 2019-12-31 Method for protecting a vehicle from network attacks and corresponding device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IT102018000021550A IT201800021550A1 (en) 2018-12-31 2018-12-31 "Procedure for protecting against computer attacks on the vehicle and corresponding device"

Publications (1)

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

Family

ID=66589619

Family Applications (1)

Application Number Title Priority Date Filing Date
IT102018000021550A IT201800021550A1 (en) 2018-12-31 2018-12-31 "Procedure for protecting against computer attacks on the vehicle and corresponding device"

Country Status (3)

Country Link
JP (1) JP7528402B2 (en)
CN (1) CN111385286B (en)
IT (1) IT201800021550A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022205122A1 (en) * 2021-03-31 2022-10-06 华为技术有限公司 Method and apparatus for determining defense scheme, device, and computer-readable storage medium
JP2023112712A (en) * 2022-02-02 2023-08-15 株式会社オートネットワーク技術研究所 On-vehicle relay device, on-vehicle relay method and on-vehicle relay program

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 (12)

* 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 (en) * 2008-06-10 2011-06-08 杨福宇 Method and apparatus for implementing passive error frame in CAN protocol
JP5662188B2 (en) * 2011-02-08 2015-01-28 株式会社日本自動車部品総合研究所 Communication system, transceiver, node
US8925083B2 (en) * 2011-10-25 2014-12-30 GM Global Technology Operations LLC Cyber security in an automotive network
EP2800316A1 (en) * 2013-05-01 2014-11-05 Renesas Electronics Europe GmbH Can fd
EP3128699B1 (en) * 2014-04-03 2021-04-28 Panasonic Intellectual Property Corporation of America Network communication system, fraud detection electronic control unit and fraud handling method
WO2015159520A1 (en) * 2014-04-17 2015-10-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Vehicle-mounted network system, abnormality detection electronic control unit and abnormality detection method
EP3326312A4 (en) * 2015-07-22 2019-01-09 Arilou Information Security Technologies Ltd. Vehicle communications bus data security
JP6836340B2 (en) * 2015-09-29 2021-02-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America Fraud detection electronic control unit, in-vehicle network system and communication method
US10599840B2 (en) * 2016-07-21 2020-03-24 Ramot At Tel Aviv University Ltd. Anti-spoofing defense system for a can bus
IT201600109368A1 (en) * 2016-10-28 2018-04-28 Magneti Marelli Spa "Device for protection against cyber attacks on the vehicle via diagnostic connector and corresponding procedure"

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
CN111385286B (en) 2023-09-26
JP2020109953A (en) 2020-07-16
JP7528402B2 (en) 2024-08-06
CN111385286A (en) 2020-07-07

Similar Documents

Publication Publication Date Title
CN109076001B (en) Frame transfer preventing device, frame transfer preventing method, and vehicle-mounted network system
JP7008100B2 (en) Fraud handling methods, fraud detection electronic control units and network communication systems
CN106031098B (en) Abnormal frame coping method, abnormal detection electronic control unit and vehicle-mounted network system
Nilsson et al. A first simulation of attacks in the automotive network communications protocol flexray
KR102243114B1 (en) Real-time frame authentication using id anonymization in automotive networks
CN107113214B (en) Abnormality detection electronic control unit, vehicle-mounted network system, and communication method
Ueda et al. Security authentication system for in-vehicle network
US10798114B2 (en) System and method for consistency based anomaly detection in an in-vehicle communication network
JP6407981B2 (en) In-vehicle network system, electronic control unit, and fraud countermeasure method
Nilsson et al. Simulated attacks on can buses: vehicle virus
CN109495439A (en) System and method for in-vehicle network intrusion detection
CN111492625B (en) Illegal detection method and illegal detection device
CN111448787B (en) System and method for providing a secure in-vehicle network
CN111447235A (en) Network device and network system
CN109104352B (en) Vehicle network operation protocol and method
WO2018168291A1 (en) Information processing method, information processing system, and program
Bresch et al. Design and implementation of an intrusion detection system (IDS) for in-vehicle networks
CN111066001A (en) Log output method, log output device, and program
IT201600109368A1 (en) "Device for protection against cyber attacks on the vehicle via diagnostic connector and corresponding procedure"
JP2014236248A (en) Electronic control device and electronic control system
Olufowobi et al. Controller area network intrusion prevention system leveraging fault recovery
KR20180127222A (en) Method for protecting a network against a cyber attack
IT201800021550A1 (en) "Procedure for protecting against computer attacks on the vehicle and corresponding device"
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