![]() VEHICLE NETWORK SYSTEM AND METHOD FOR DETECTING INTRUSION ON THE INBOARD NETWORK
专利摘要:
The method of real-time intrusion detection in an on-board vehicle communication network, comprises steps of observing (100) a stream of messages circulating on the on-board network and detecting an intrusion when the observed stream contains a prohibited message . Remarkably, the method comprises at least one step consisting in: accessing (103, 107) in memory of at least one on-board computer of the vehicle, at least one data structure encoding prohibited sequences of messages circulating on the network embedded, - detect (104, 108) an intrusion when the observation of the flow reveals a prohibited message as being a last prohibited sequence message. 公开号:FR3027129A1 申请号:FR1459640 申请日:2014-10-08 公开日:2016-04-15 发明作者:Ivan Studnia;Youssef Laarouchi;Vincent Nicomette;Eric Alata;Mohamed Kaaniche 申请人:Renault SAS; IPC主号:
专利说明:
[0001] The present invention relates to a computer system for controlling and controlling motor vehicle components comprising on-board computers connected within an on-board communication network. of a vehicle and a method of real-time detection of intrusion into the on-board communications network for secure use of the computer system. It has been possible for a long time to listen to and transmit messages on the networks embedded in an automobile, for example by directly interfacing a computer with the one or one of the buses of the network, or for example still via an OBD port. It is recalled that the OBD port (acronym for On Board Diagnostics in English which means Diagnosis On Board) allows the after-sales services of a car manufacturer to observe the vehicle system, for example by connecting a diagnostic outlet on a connector usually provided for this purpose. These ways of accessing the interior of the system require prolonged physical access to the vehicle network, which can be a guarantee of security. Thus, the network protocols currently used in a vehicle of the automotive world being designed to operate in a closed system, they have no real mechanism to prevent intrusions. It is therefore sufficient to obtain access to a vehicle network bus and to have the necessary technical knowledge to control the on-board computers present on this network. No matter where it comes from, a message that complies with the network's messaging specifications is then accepted by the embedded computers to which it is addressed. However, the presence of an ever increasing number of widely used communication mechanisms (USB, Bluetooth, WiFi, 3G ...) between the vehicle and external equipment, makes it hazardous to consider that the vehicle's computer system is a system closed. To give a brief overview of various potential entry points on the network, for example, vehicle-to-vehicle communications, on-board multimedia equipment for listening to broadcast channels 3027129 2 or the content of a medium memory, the hands-free kit to open and close the vehicle remotely and / or start it, telematic equipment to communicate with remote external systems via the Internet or mobile telephony. [0002] 5 The points of entry mentioned above and many others, constitute new interfaces likely to stir the curiosity of some hackers who seek to exploit the vulnerabilities that may be present in the implementation of the vehicle computer system . In the "Comprehensive Experimental Analyzes of Automotive Attack 10 Surfaces" article by Checkoway et al., USENIX Security, August 10-12, 2011, a team of researchers, for example, managed to identify such software vulnerabilities in embedded computers managing communications. 3G or Bluetooth, which enabled them to force these computers to send packets of their choice on the bus, and as a result to remotely control 15 different organs of the vehicle, up to start it. Attacks similar to those reported in the article are made possible due to errors in software managing remote communications. While there are ways to guard against this, beginning with the need for good coding practices, it is also difficult to ensure that the system then implemented is perfectly impervious to attack. This is why a need arises to install a second "line of defense" by placing itself closer to the network. Intrusion detection methods are already known in large networked computer systems, but the known methods are not suitable for the automotive world. For example, the EP2040435B1 patent published on November 6, 2013, teaches a prior method comprising steps of capturing data related to the targeted system, and then comparing the captured data to attack signatures to generate a security alert when the data is captured. Captured data correspond to an attack signature. However, to generate a verified security alarm, the prior method requires capturing insurance data from the monitoring of a targeted perimeter and then generating insurance information to verify a match with conditions. prerequisites. The double monitoring imposed by the previous method is a source of problems in a real-time on-board system as encountered on a vehicle. For example also the patent EP1085447B1 published on October 18, 2006, teaches a prior method including a step of formulating audit conditions that it is desired to detect using specification formulas, expressing attack patterns or fraudulent intrusion, to be verified by the examination of records of the report file of the computer system. The prior process based on recordings, is a posteriori examination that poses a problem to secure without delay a real-time embedded system as can be found on a vehicle in which the safety of the system has a direct impact on the safety of the passengers of the vehicle. . For example, patent EP2214115B1, published on May 25, 2011, teaches an earlier method comprising in particular packet reception followed by an exploration of a deterministic finite group automaton to determine whether the packet includes an explosive rational expression segment. defined by a signature fingerprint to then identify a network application to which the packet belongs. The need for an application identified in the prior method, if it may be useful for detecting certain intrusions into the Internet world, is problematic not only in detecting intrusions at low network layers in which the character intrusive of a packet is or is not related to an identifiable application but also causes problems to detect intrusions quickly in the sense of what requires a real-time execution as found on a vehicle. Another problem is that possible intrusive intrusion detections which do not necessarily lend themselves to serious consequences in pure information processing methods such as those mentioned above, without direct interaction with the physical environment. On the contrary, an inadvertent detection would be detrimental to the proper functioning of the vehicle in the case of an on-board vehicle communication network whose known objective is to interact with vehicle components. [0003] In order to overcome the problems of the prior art, the object of the invention is a method for real-time detection of intrusion into an on-board vehicle communication network, comprising the steps of observing a flow of messages. traveling on said on-board network 5 and detecting an intrusion when the observed stream contains a prohibited message, characterized in that it comprises at least one step consisting in: - accessing in memory of at least one on-board computer of the vehicle, to least one data structure encoding prohibited sequences of messages circulating on said embedded network, 10 - detecting an intrusion when the observation of the flow reveals a prohibited message as being a last prohibited sequence message. In this way, the method that is the subject of the invention is capable of rapidly detecting an intrusion as soon as the observation of the flow reveals a prohibited message without having to perform a double surveillance. In addition, the intrusion detection is realizable in real time without having to go through a recording phase or to go back to a complex application level. In addition, the method makes it possible to avoid untimely detections as long as the last forbidden sequence message does not reveal a prohibited message. In particular, at least one data structure accessed in memory of the at least one calculator, includes an outlawed formal language comprising an alphabet of symbols each identifying a message conforming to one or more organic specifications of the vehicle and a set of outlawed words that are external to a regular formal language comprising the same alphabet of symbols as the forbidden formal language and a set of 25 regular words each conforming to at least one functional specification of the vehicle. In this way, the method is able to detect an intrusion even when each observed message taken individually, is in accordance with at least one organic specification, in other words, the message observed at each instant respects the messaging rules of the on-board network. . However, a sequence of conforming messages which does not belong to the conforming conforming message sequences, is candidate for an intrusion detection which would not take place if it were satisfied to analyze each message 3027129 taken individually. The identification of each message by a symbol is conducive to a fast processing and saving memory resources. More particularly, said data structure implements said forbidden formal language by means of an automaton stored in memory of said at least one onboard computer, comprising transitions each associated with a symbol of the alphabet and at least one accessible terminal state. by a chain of transitions validated by one of said forbidden words. The registered automaton allows an advantageously compact processing of the method in memory. [0004] Even more particularly, the registered automaton is obtained beforehand from a synchronous product of elementary automata each associated with an organic specification of the vehicle. More particularly, the set of proscribed words includes a first set of words each obtained by a regular word prefix concatenation with a symbol of the alphabet and which do not belong to the set of regular words. Thus, the symbol identifies a prohibited message because it creates an identifiable message sequence break by a regular word. Advantageously, the set of proscribed words comprises a second set of words obtained by taking the suffixes of words of the first set that do not belong to a set of regular word radicals. It will be noted that the second set includes the first set with the additional technical effect of being able to detect a prohibited sequence in the event of a temporary interruption in the observation of the flow of messages circulating on the on-board network. Particularly also, at least one data structure accessed in memory of said at least one computer, comprises a message counter that does not comply with the organic specifications of the vehicle associated with a counting threshold whose violation or violation declares the message sequence contained in the meter. In this way, an inadvertent detection of intrusion is avoided in the event of a message accidentally not conforming to the organic specifications of the vehicle. Nevertheless, the method makes it possible to detect an intrusion by non-conforming messages which escape the identification by a symbol in case of repetition of such messages. The invention also relates to a computer system program comprising program code instructions for performing the steps of the method according to the invention when said program is executed on a computer system. The invention also relates to a computer system for controlling and controlling motor vehicle components comprising on-board computers connected to one or more on-board communication buses, characterized in that it comprises at least one computer connected to at least one one of the embedded bus (s) and hosting all or part of the computer system program according to the invention. The invention finally relates to a motor vehicle characterized in that it comprises a computer system according to the invention. [0005] Other characteristics and advantages of the invention will become apparent upon reading the detailed description which follows for the understanding of which reference will be made to the appended drawings in which: FIG. 1 is a diagram which shows a vehicle equipped the onboard network system on which the invention is based; FIGS. 2a, 2b, 2c are diagrams of possible network architecture variants for implementing the invention; FIG. 3 shows steps of intrusion detection method according to the invention; FIG. 4 shows process steps for producing a data structure according to the invention; FIGS. 5 to 7 are diagrams of automatons possibly obtained at different stages of the production process. In the rest of the description, elements having an identical structure or similar functions will be designated by the same reference number. FIG. 1 shows a motor vehicle 12 conventionally equipped with front wheels 21, rear wheels 22 and a steering wheel 9 for steering the front wheels 21 via a steering column 8, for illustrate the many possible entry points into the on-board computer system that controls and controls the components of the motor vehicle. A powertrain (not shown), electric, thermal or hybrid, is controlled acceleration and deceleration by an on-board computer 11, sometimes also programmed also to communicate via an onboard bus 2 with a module 8 electric power steering (DAE ) to control on the steering column, a steering angle commanded from the steering wheel 9 in manual mode or from a navigation module in autonomous mode, hosted for example in an onboard computer 60. The navigation module may comprise, in a manner known per se, a trajectory controller such as, for example, but not necessarily that described in document WO2014 / 009631. The on-board computer 60 or another on-board computer may also host a multimedia module connected to for example a CD player, an MP3 player, a USB key for emitting sound on one or more loudspeakers 13. The on-board computer 11 is otherwise connected directly or indirectly via the on-board bus 2 to means of action on the vehicle 12, in particular electronic means 3 for controlling / controlling mechanical braking, ABS, ESP or other known otherwise, on the wheels 21, 22 to maintain grip and trajectory. The wheels 21, 22 may be equipped with electronic tire pressure monitoring system (TPMS) modules 4 which sends information to one of the on-board computers generally via radio link. Note the critical nature of the on-board bus 2 in that a corrupt communication on this bus may trigger dangerous behavior of the controlled components, particularly in terms of longitudinal speed and lateral speed. An onboard bus 1 of lesser criticality on the driving of the vehicle 12 here connects the on-board computer 60 to an on-board computer 59 which houses a telematic module for communicating with a remote computer system 58 via WIFI, Bluetooth, GSM, 3 or 4G, satellite or other, widely known nowadays. The on-board computer 60 can also manage V2X communications for example with another vehicle 10 or 3027129 8 simply the receipt of GPS data (Global Positioning System in English). An on-board computer 58 connected to each of the on-board buses 1, 2 performs gateway functions between the two buses, for example to enable the on-board computer 11 to communicate with the on-board computer 60 and / or the on-board computer 59. A calculator embedded 57 connected to an OBD port, is connected to the on-board bus 1 to perform diagnostic functions relating to the conventional mechanical and electrical components of the vehicle. The on-board computer 57 10 is connected to the on-board bus 2 to perform diagnostic functions relating to the communicating capabilities of the vehicle. FIGS. 2a, 2b and 2c show different alternatives for implementing a computer system for controlling and controlling the members 3, 8, 4 on an on-board network of the vehicle 12, including on-board computers, among which the following can be recognized: embedded computers 11, 57, 58, 59, 60 of FIG. 1 and on-board buses, among which the on-board buses 1, 2 of FIG. 1 can be recognized. Other computers 54, 55, 56 may or may not be connected on an on-board bus 3. The on-board buses are CAN, LIN, Ethernet type buses for the automobile or another type known in the field of motorized vehicles. With reference to FIG. 2a, an existing computer of the network hosts a program for the execution of a method of real-time detection of intrusions in the on-board network, as explained in the remainder of the description. The program is for example hosted in the onboard computer 54 also acting as a gateway between the buses 2 and 3 so as to be able to observe both a message flow exchanged between the buses 2 and 3 as messages circulating only on the bus 2 and / or only on the bus 3. If it is useful to observe also a stream of messages circulating on the bus 1, the computer 54 can pass if necessary by the computer 58. To avoid 30 increase the traffic of messages, we can distribute the program in calculators 54 and 58 as we will see later. With reference to FIG. 2b, one or more computers 52, 53 are added to the network so as to host the program for the execution of a method for real-time detection of intrusions in the on-board network, as explained in FIG. following the description. The program is for example housed at least partly in the onboard computer 52 connected between the buses 2 and 3 so as to be able to observe both a message flow exchanged between the buses 2 and 3 as messages only circulating on the bus 2 and / or only on the bus 3. If it is useful to observe also a flow of messages flowing on the bus 1, the computer 53 connected at least to the bus 1 can execute a part of the program more specifically dedicated to the flow of messages flowing on the bus 1. [0006] With reference to FIG. 2c, a computer 51 is added to the network so as to host the program for the execution of the real-time detection method of intrusions in the on-board network, by connecting it to all the buses 1 , 2, 3 of the network. The program is then hosted at least partly in the on-board computer 51 so as to be able to observe both a stream of messages exchanged between the buses 1 and 2 or 2 and 3 as messages circulating only on the bus 1, only on the bus 2 and / or only on the bus 3. It will be understood that the various alternatives set out above can be combined by executing for example certain program parts in one or more existing computers and other parts of the program in one or more computers. added. It will also be understood that the network architecture described above is purely illustrative and that the invention is applicable to any type of network architecture of the field of motorized vehicles, for example the known architecture of type EVITA (acronym for E-safety Vehicle Intrusion ProTected Applications to designate a European project on the security of data processing applied to the automobile). The aforementioned program comprises program code instructions for executing the steps of the method now explained with reference to FIG. 3. In order to observe a flow of messages circulating on the on-board network, the method loops back to permanence on a step 100 which consists in observing a message which circulates at each moment of observation. [0007] A step 101 follows step 100 to check whether all the compliance rules are validated about the message. The rules include those related for example to the message identification header, message body size, parity check or other. By way of illustration, a CAN bus 5 (Controler Area Network in English) performs a multiplexing of signals previously listed in an organic specification of the vehicle and each conveyed in a message consisting of a bit frame with a recessive low bit state of 1 and a high dominant zero bit state so as to define in the message header both an identifier and an order of priority in accordance with the organic specification to ensure the best real-time execution of the functional specification executed by them. network calculator. In this case an unlisted identifier is a rule violation. Another rule violation is that of a message body that does not conform to its identifier when it is listed. More generally, the rules to be validated include those defined in a messaging protocol associated with the bus in question. It will be recalled that, in a manner known per se, an organic vehicle specification, elaborated from a functional specification, specifies, as the name implies, the vehicle components comprising the sensors, actuators and displays of the vehicle and furthermore specifies how its organs are organized to function by means of exchanges of signals and computers to process these signals. It will be recalled that, in a manner known per se, a functional specification of a vehicle, drawn up from a specification, specifies, as its name indicates, the functions performed within the vehicle, in other words the manner of operate the vehicle. There may be a single, global functional specification to the overall operation of the vehicle. There may also be several functional requirements specific to a particular function of the vehicle, for example window wiping, navigation, speed control, lighting, etc. Similarly, there may be a single global organic specification to all the vehicle components. There may also be several organic specifications each specific to a set of vehicle members linked or not functionally or locally to each other. A step 102 then generates a positive response if all the rules are validated and a negative response as soon as a rule is not validated. [0008] A first variant of the method takes into account the fact that a rule invalidation can mean a fragility to the intrusions without being really linked to an intrusion, for example in the case of momentary electrical variation on the cabling of the network or on the network. feeding a computer in a naturally highly disturbed environment as is that of a vehicle and this despite the many precautions taken which, greatly reducing the probability of such incidents, do not necessarily reduce to zero for all events materials that may occur. A negative response at step 102 then activates a step 103 which involves accessing a vehicle on-board computer in memory to a data structure that includes a message counter that does not conform to the vehicle's organic specifications. The counter is incremented each time in step 103 following a negative response of step 102, that is to say for each message observed that does not comply with all the messaging rules. [0009] After increasing the counter value in step 103, a step 104 checks whether the counter value reaches a critical threshold. The level of the critical threshold is determined either in the study phase taking into account statistical considerations on the known error rates for the type of bus considered, or in the test phase starting from a low threshold level. to cause frequent threshold attacks and then to go back up to no longer achieve attacks in a confined environment with regard to potential intrusions. A step 106 activated in case of a negative response in step 104 loops back to step 100 to proceed to the observation of the next message, for example by emptying a FIFO (first in, first out) type stack. The continuous or discontinuous sequence of observed messages which activated step 103 for the invalidated rule, when the critical threshold is reached, constitutes a prohibited sequence, often discontinuous, for which the last observed message of the flow reveals a prohibition on potential intrusion hazard. A positive response at step 104 then activates a step 105 which generates an alert to the driver of the vehicle and / or the vehicle control system to initiate active protection procedures up to stopping the vehicle if need. Preferably, step 105 generates a log of the prohibited sequence and / or the state of the vehicle for subsequent analysis of the intrusion detection indicated by step 105. In one implementation of the first variant only, a positive response in step 102 would directly activate step 106 to proceed to the next message of the observed stream. A second variant of the method takes into account the fact that an intrusion can very well be achieved by messages that comply with all the messaging rules. An intrusion attempt by means of messages validating the rules is all the more pernicious as such messages may be considered valid and therefore processed by the computers until triggering actions. A positive response at step 102 then activates a step 107 of accessing an on-board computer of the vehicle in memory to a data structure that includes a proscribed formal language. In linguistic technology, a formal language usually includes a set of words and an alphabet of symbols used to construct the words of the language. In the data structure according to the invention, the symbols of the alphabet each identify a message according to one or more organic specifications of the vehicle, in other words a message which validates the rules verified in steps 102. purely illustrative and not limiting, the messaging rules on a CAN bus are established to multiplex signals exchanged between computers or by computers from sensors or to actuators. In the absence of multiplexing on the CAN bus, wiring of the signals by wires connecting the computers to each other and the computers to the sensors and to the actuators is pre-established in organic specifications of the vehicle. In a comparable way, the multiplexing of the signals on the CAN bus is pre-established in organic specifications of the vehicle which associate with each signal a message whose header uniquely identifies the signal and its priority of circulation on the bus. The identifier contained in the header then constitutes the symbol in the form of a succession of bits or hexadecimal coding to save the memory space. With the teaching illustrated above for the CAN network, the person skilled in the art can easily define symbols for messages circulating on any other bus fitted to a vehicle, for example but not only a LIN bus or a bus. Automotive Ethernet. The set of words of the proscribed language is a set of proscribed words, in other words a set of words which each designate a prohibited sequence of messages circulating on the on-board network. More specifically, the proscribed words are outside a regular formal language 15 comprising the same alphabet of symbols as the forbidden formal language, ie symbols that each designate a message conforming to the organic specifications of the vehicle. The regular formal language includes a set of regular words that are each in accordance with at least one functional specification of the vehicle. [0010] In other words, the regular words represent sequences of messages which it is logical to encounter when the functional specification (s) are correctly executed by the electronic circuits which control the organs of the vehicle and by the computers which control and control these electronic circuits. [0011] As a purely illustrative example, let us consider symbols coded in hexadecimal AF, 1F, F0, F1, A1, 1B which respectively designate a signal for lighting taillights, a signal for pressing on the brake pedal, a clamping signal. platelets, a decreasing speed signal and an increasing speed signal, a fuel injection increase control signal, the words 1 F-FO-AF-F1 and 1 F-AF-F0-F1 may be or not contrary to a functional brake specification of the vehicle. The word 1F-AF-FO-A1 may remain a regular word according to the functional specification eg 3027129 14 if the vehicle descends a mountain road. The word 1F-AF-1B can then constitute an outlawed word. A step 108 consists in finding out if there exists in the proscribed language a forbidden word defined by a concatenation of a symbol chain corresponding to the sequence of messages previously observed with a symbol corresponding to the message observed. A positive response at step 108 then activates step 105 which detects the intrusion potentially related to the observation of the flow which reveals that the message is prohibited because the symbol which designates it is the last of a proscribed word, 10 corresponding to a prohibited sequence. A negative response at step 108 then activates step 106 to proceed to the next message, no forbidden words being detected. It is possible to envisage different ways of storing the forbidden language in memory of the calculator 54 of FIG. 2a, the calculators 52, 53 of FIG. 2b or the calculator 51 of FIG. 2c, for example in the form of lists each allocated to a word. However, we must beware of the explosion of memory space that could quickly be necessary, or even physically inaccessible, to store the entire proscribed language in the onboard computer memory. [0012] In order to remain in a memory space compatible with the storage capacities of the on-board computers, the data structure advantageously implements the forbidden digital language by means of a PLC stored in memory of the on-board computer that executes the method. Each state of the automaton is accessible from a previous state by a transition validated by a symbol of the alphabet. Thus, in step 107, the access is made to a current state of the automaton. The symbol associated with the observed message validates one of the transitions which follows the current state so as to pass to a next state which is accessible to a next passage in step 107. The automaton comprises a starting state preceding the first one. message observation in the stream. The automaton comprises at least one terminal state accessible from the initial state, by one or more transition chains each validated by a succession of symbols of a forbidden word. [0013] Step 108 then sends a positive response when the terminal state is reached and a negative response as long as the terminal state of the controller is not reached. To implement the automaton, the data structure may for example but not necessarily include a list of states starting with the start state and a path pointer initially pointing to the start state. Of the elements of the state list, at least one terminal state points to a test positive response indicator of step 108. Each of the other states, for example, points to a list of transitions each materialized by a pair whose first element is associated with a symbol of the alphabet and whose second element points to the same or to another state of the state list. Thus, before each activation of the step 107, the pointer of course of the automaton points to a current state which points on a list of associated transitions. Upon activation of step 107, the transitions list is scanned until the symbol representing the observed message is detected. The detection of the symbol causes the second element of the pair to be written to the path pointer so that the path pointer then points to the next state of the controller. In an implementation of the second variant only, a negative response in step 102 would directly activate step 106 to proceed to the next message of the observed stream. The two variants described above can also be advantageously combined at the output of step 102 as shown in FIG. 3, so as to detect an intrusion both by messages validating the messaging rules by activating step 107 and by messages not validating these rules by activating step 103. FIG. 4 shows process steps for producing the data structure of the second variant of the detection method, in particular carried out by means of one or more automata. [0014] In a step 94, the messages exchanged between each electronic control unit (ECU) and a bus to which it is connected are listed beforehand. The onboard computers 11 and 51 to 60 shown in Figures 1 to 2c are electronic control units. The 3027129 16 electronic means 3 mechanical brake control / control, and the electronic modules 4 tire pressure monitoring or any other actuator or sensor capable of communicating with one of the buses of the on-board network, are also control units ECU electronics. [0015] In FIGS. 5 to 7, used to illustrate the progressive construction of the recorded automaton for implementing the proscribed formal language, the circles represent states of automata and the numbers that can be seen within them. Circles do not represent benchmarks in the sense of the patents but order numbers of the states specific to each automaton. [0016] With reference to FIG. 5, the messages! M1,! M2,! M3,! M4 which are transmitted by the electronic control unit ECU1 on the bus to which it is connected, can be listed in various ways in step 94. messages! x,! y which are transmitted by the electronic control unit ECU2 on the bus to which it is connected and the messages M1, M2, M3, M4, x, y which are received by 15 electronic control unit ECU1 on the bus to which it is connected, a message mark preceded here by an exclamation mark when it is sent indicates the same message as that indicated by the same mark preceded by a question mark when he is received. Among the different ways of listing the messages transmitted on and received from each bus, mention may be made of the fact of recording, before construction of a vehicle, the messages in the organic and / or functional specifications, manually when the specifications are written. in natural language or automatically when the specifications are written in standard formal language or that of recording after construction of the vehicle, the messages circulating on the bus during the test phase for example by means of a network controller of largely known in the technical field considered. A unique association of symbols with each message listed in step 94 makes it possible to elaborate a symbol alphabet Zu specific to each electronic control unit ECUj, j varying from 1 to 3 in the very simplified case of FIG. beyond in the real cases of computer systems for controlling and controlling motor vehicle components and clean to each function fi executed in whole or in part by the electronic control unit considered. Then, in step 94, elementary automata Aij, each specific to an electronic control unit ECUj and to a function fi, such as those represented in FIG. 5, each with an initial state 0 corresponding, for example, to power-up of the control unit, are built in step 94. electronic control. To simplify the explanations, consider a single function f1 executed in relation to FIG. 5. In the automaton A11 of the electronic control unit ECU, the initial state 10 0 is associated with a transition recognized by the symbol of M1 message to state 1. State 1 is associated with a transition recognized by the message symbol M3 to a state 2 and a transition recognized by the message symbol M2 to the state O. State 2 is associated at a transition recognized by the message symbol M4 to state 1. [0017] In the controller Al2 of the electronic control unit ECU2, the initial state 0 is associated with a transition recognized by the message symbol x towards a state 1. The state 1 is associated with a transition recognized by the symbol from message y to state O. In the controller A13 of the electronic control unit ECU3, the initial state 20 0 is associated with a transition recognized by the message symbol M1 to a state 1. The state 1 is associated with a transition recognized by the message symbol M3 to a state 2 and to a transition recognized by the message symbol M2 to the state O. The state 2 is associated with a transition recognized by the message symbol M4 to the state 1, at a transition recognized by the message symbol y to itself and at a transition recognized by the message symbol x to a state 3. The state 3 is associated with a transition recognized by the symbol of message M4 to state 1, at a transition recognized by the message symbol x to itself and to a transition recognized by the message symbol y to state 2. [0018] A step 95 consists, preferably by means of an automatic procedure, in creating an alphabet E, (L) of regular formal language L, associated with each function f 'equal to the union of the alphabets Zu on all the units of ECU control, performing this function. [0019] Step 95 consists in particular in generating one or more automata A, (L), each of which implements the regular formal language L, making a synchronous product of the elementary automata related to the function f 1. FIG. 6 shows such a synchronous product automaton which is generated from the elementary automata of FIG. 5. It will be noted that each state resulting from the synchronous product automaton can be associated with a multiplet of states of the elementary automata accessed by a common transition following a previous product state. A step 96 consists first of all in generating PLCs AP (L) by adding to each synchronous product automaton A (L) a new state to which converge all the possible transitions, in other words those corresponding to all the symbols of the alphabet E, (L,) from the terminal states of the product automaton A, (L,). We then have automata AP, (L,) each recognizing a language Pref (L;) - E; (L;) consisting of prefixes 15 of the regular words of the regular language L 'followed by an additional symbol. Some of these words are also regular language words. Others do not. These are the latter that the production process seeks to recover. To do this, a step 97 consists in generating APC automata, (L,) 20 by calculating the intersection of each new PLC AP, (L,) with the complement of the product automaton A, (L) which recognizes the words of a complementary language L, *. Thus, we have APC automata, (L,) each recognizing a language Pref (L;) - E; (L;) f1L; * consisting of the words of the language Pref. (L;) - E; (L;) which also belong to the complementary language L *, therefore, which do not belong to the regular language L, and which consequently constitute a set of proscribed words comprising a first set of words each obtained by a concatenation of a regular word prefix to a alphabet symbol and that do not belong to the set of regular words. [0020] Each of the APC automata, (L,) recognizing the proscribed language Pref. (L;) - E; (L;) f1L; * can then be stored in memory of one of the previously mentioned calculators to then allow the method of Real-time detection to already detect a number of intrusions. [0021] However, it is still possible to improve the reactivity of the system executing the detection method described above with reference to FIG. 3. Indeed, for the detection to occur on the basis of the language recognized by the automaton generated in FIG. step 97, it must be possible to observe a course of the PLC APC, (L,) from its initial state without any interruption. However, it may not always be necessary to observe the entirety of a trace relating to the prohibited sequence of messages to find an anomaly that actually occurs only during the last transition. It is possible that only the last n transitions 10 encountered during the course of the PLC APC (L,) are sufficient. To do this, a step 98 consists in adding to the first set of proscribed words, a second set of words obtained by taking the suffixes of words of the first set so as to obtain a set of words constituted by the ends of the words of the proscribed language Pref. (L;) - E; (L;) f1L; * 15 which defines the proscribed language Suf. (Pref. (L;) - E; (L;) f1L; *). However, some of these suffixes are also present during legitimate executions of the system. From the point of view of our models, this means that we find the sequences corresponding to these suffixes in a place of the PLC APC, (L,) whatever the starting state or the arrival state. [0022] It is therefore important to take this fact into account when detecting by not raising an alert as long as it is not certain that the observed sequence is absent from the original automaton. In order to eliminate all the sequences of the detection system that are not prohibited, a step 99 then consists in generating exhaustive PLCs APE, (L,) of forbidden sequences by making for each the intersection of the automaton of the suffixes obtained in step 98 with the automaton describing the language Rad * (L,) corresponding to the complement of the language of the radicals of L. The radicals of L are all the sequences that can be found in a word of the language L, the prefixes and the suffixes being particular cases of radicals. The complement of their set therefore contains all the sequences which are never found in a portion of the word of the language L. [0023] Each exhaustive automaton APE, (L,) for recognizing forbidden sequences is then stored in memory of an onboard computer to recognize a proscribed language LP, defined from the regular language L, by the formula: 5 LP,: = Suff. (Prefe,) - E, (L,) (11_1 (1Rad * (L,) So as not to detect a forbidden sequence in relation to a function f, 1 which would be regular in relation to a function f, 2 it is preferable to require L-languages to be disjointed in step 95. This is feasible, for example by means of the following subroutine: If z, i (L, i) nz, 2 (_, 2 ) Then E, 10,1: = Ei1 (1-, 1) UE, 20-2) And A1 (L, 1): = A.1 (l_i1) * A2 (1-2)
权利要求:
Claims (10) [0001] REVENDICATIONS1. A method of real-time intrusion detection in an on-board vehicle communication network, comprising steps of observing (100) a stream of messages traveling on said on-board network and detecting an intrusion when the observed stream contains a prohibited message, characterized in that it comprises at least one step consisting in: - accessing in memory of at least one on-board computer of the vehicle, at least one data structure encoding prohibited sequences of messages circulating on said on-board network, - detecting a intrusion when the observation of the flow reveals a prohibited message as being a last forbidden sequence message. [0002] 2. Method according to claim 1, characterized in that at least one data structure accessed in memory of said at least one computer, includes an outlawed formal language comprising an alphabet of symbols each identifying a message according to one or more organic specifications of the vehicle and a set of proscribed words that are outside of a regular formal language comprising the same alphabet of symbols as the proscribed formal language and a set of regular words each conforming to at least one functional specification of the vehicle. [0003] 3. Method according to claim 2, characterized in that said data structure implements said forbidden formal language by means of an automaton stored in memory of said at least one onboard computer, comprising transitions each associated with symbol of the alphabet. and at least one terminal state accessible by a chain of transitions validated by one of said forbidden words. [0004] 4. Method according to claim 3, characterized in that the registered automaton is obtained beforehand from a synchronous product of elementary automata each associated with an organic specification of the vehicle. 3027129 22 [0005] 5. Method according to one of claims 2 to 4, characterized in that the set of proscribed words comprises a first set of words each obtained by a concatenation of regular word prefix to a symbol of the alphabet and n ' do not belong to the set of regular words. 5 [0006] 6. Method according to claim 5, characterized in that the set of proscribed words comprises a second set of words obtained by taking the suffixes of words of the first set which do not belong to a set of regular word radicals. 10 [0007] 7. Method according to one of the preceding claims, characterized in that at least one data structure accessed in memory of said at least one computer comprises a message counter not complying with the organic specifications of the vehicle associated with a count threshold of which an attaining or exceeding declares the sequence of messages contained in the counter prohibited. [0008] A computer system program comprising program code instructions for performing the steps of the method according to one of claims 1 to 7 when said program is executed on a computer system. [0009] 9. Computer system for controlling and controlling motor vehicle components comprising on-board computers connected to one or more on-board communication buses, characterized in that it comprises at least one computer connected to at least one of the bus (s). embedded and hosting all or part of the computer system program according to claim 8. 30 [0010] 10. Motor vehicle (12) characterized in that it comprises a computer system according to claim 9.
类似技术:
公开号 | 公开日 | 专利标题 EP3205070B1|2021-08-11|On-board vehicle network system and method for detecting intrusions on the on-board network US20210034745A1|2021-02-04|Security system and methods for identification of in-vehicle attack originator US10766439B2|2020-09-08|Context-aware firewall for in-vehicle cyber security US20180262466A1|2018-09-13|System and method for providing cyber security to an in-vehicle network Checkoway et al.2011|Comprehensive experimental analyses of automotive attack surfaces US8965626B2|2015-02-24|Event data recording for vehicles US10440120B2|2019-10-08|System and method for anomaly detection in diagnostic sessions in an in-vehicle communication network EP3437298A1|2019-02-06|Net sleuth for in-vehicle network anomaly detection US10630699B2|2020-04-21|Automotive cybersecurity EP3381207A1|2018-10-03|Method and terminal for controlling the establishment of a vehicle accident report US20180316700A1|2018-11-01|Data security inspection mechanism for serial networks FR3045822A1|2017-06-23|METHOD FOR SUPPLYING DIAGNOSTIC DATA FOR GENERATING CONTROL TESTS IN A TECHNICAL CONTROL PROCESS EP3857846A1|2021-08-04|Electronic controller security system EP1998183B1|2011-03-16|Diagnosis assistance system for an automobile vehicle US11277427B2|2022-03-15|System and method for time based anomaly detection in an in-vehicle communication Liu2021|Defending Vehicles Against Cyberthreats: Challenges and a Detection-Based Solution FR3102270A1|2021-04-23|Method and device for detecting an intrusion on a vehicle data bus WO2021062328A1|2021-04-01|Automated can message translator
同族专利:
公开号 | 公开日 WO2016055730A1|2016-04-14| EP3205070B1|2021-08-11| EP3205070A1|2017-08-16| FR3027129B1|2016-10-21|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 US20080052780A1|2006-03-24|2008-02-28|Shenyang Neusoft Co., Ltd.|Event detection method and device| WO2013093591A1|2011-12-21|2013-06-27|Toyota Jidosha Kabushiki Kaisha|Vehicle network monitoring method and apparatus| FR2798490B1|1999-09-13|2001-10-26|Inst Nat Rech Inf Automat|MODEL RESOLUTION METHOD AND DEVICE AND USE FOR DETECTING ATTACKS AGAINST COMPUTER SYSTEMS| EP2040435B1|2007-09-19|2013-11-06|Alcatel Lucent|Intrusion detection method and system| US20100192225A1|2009-01-28|2010-07-29|Juniper Networks, Inc.|Efficient application identification with network devices| FR2993376B1|2012-07-12|2014-07-25|Renault Sa|METHOD FOR CONTROLLING THE TRACK OF AN AUTONOMOUS VEHICLE WITH STEERING WHEELS|CN111466107A|2017-12-15|2020-07-28|通用汽车环球科技运作有限责任公司|Ethernet profiling intrusion detection control logic and architecture for in-vehicle controllers| EP3741091B1|2018-01-16|2022-02-02|C2A-SEC, Ltd.|Intrusion anomaly monitoring in a vehicle environment| EP3938249A1|2019-05-13|2022-01-19|Cummins, Inc.|Method and system for detecting intrusion in a vehicle system| FR3099835A1|2019-08-06|2021-02-12|Renault S.A.S .|Method of writing to a secure data area of a computer on a vehicle's on-board bus.| DE102019129628B3|2019-11-04|2021-05-06|Audi Ag|Method and control device for detecting unauthorized data traffic in a packet-oriented data network of a motor vehicle and a corresponding motor vehicle|
法律状态:
2015-10-23| PLFP| Fee payment|Year of fee payment: 2 | 2016-04-15| PLSC| Publication of the preliminary search report|Effective date: 20160415 | 2016-10-20| PLFP| Fee payment|Year of fee payment: 3 | 2017-10-24| PLFP| Fee payment|Year of fee payment: 4 | 2018-10-22| PLFP| Fee payment|Year of fee payment: 5 | 2019-10-28| PLFP| Fee payment|Year of fee payment: 6 | 2020-10-21| PLFP| Fee payment|Year of fee payment: 7 | 2021-10-21| PLFP| Fee payment|Year of fee payment: 8 |
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 FR1459640A|FR3027129B1|2014-10-08|2014-10-08|VEHICLE NETWORK SYSTEM AND METHOD FOR DETECTING INTRUSION ON THE INBOARD NETWORK|FR1459640A| FR3027129B1|2014-10-08|2014-10-08|VEHICLE NETWORK SYSTEM AND METHOD FOR DETECTING INTRUSION ON THE INBOARD NETWORK| PCT/FR2015/052681| WO2016055730A1|2014-10-08|2015-10-06|On-board vehicle network system and method for detecting intrusions on the on-board network| EP15791691.7A| EP3205070B1|2014-10-08|2015-10-06|On-board vehicle network system and method for detecting intrusions on the on-board network| 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|