WO2017125978A1 - 評価装置、評価システム及び評価方法 - Google Patents
評価装置、評価システム及び評価方法 Download PDFInfo
- Publication number
- WO2017125978A1 WO2017125978A1 PCT/JP2016/005040 JP2016005040W WO2017125978A1 WO 2017125978 A1 WO2017125978 A1 WO 2017125978A1 JP 2016005040 W JP2016005040 W JP 2016005040W WO 2017125978 A1 WO2017125978 A1 WO 2017125978A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- evaluation
- frame
- bus
- attack
- unit
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R16/00—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
- B60R16/02—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
- B60R16/023—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/12—Detection or prevention of fraud
- H04W12/128—Anti-malware arrangements, e.g. protection against SMS fraud or mobile malware
Definitions
- This disclosure relates to a technique for evaluating security (attack resistance, etc.) of an electronic control system in which an electronic control unit such as an in-vehicle network system communicates.
- ECUs electronice control units
- CAN Controller Area Network
- ISO11898-1 Controller Area Network
- the communication path is a bus composed of two wires, and the ECU connected to the bus is called a node.
- Each node connected to the bus transmits and receives a message called a frame.
- a transmission node that transmits a frame applies a voltage to two buses to generate a potential difference between the buses, thereby transmitting a value of “1” called recessive and a value of “0” called dominant.
- the dominant is transmitted with priority.
- the receiving node transmits a frame called an error frame.
- An error frame is a notification of frame abnormality to a transmitting node or another receiving node by transmitting dominants continuously for 6 bits.
- the attacker accesses the information terminal in the vehicle by wireless communication, illegally rewrites the program of the information terminal, transmits an arbitrary CAN message from the information terminal to the in-vehicle network, and sends it to the in-vehicle ECU. Attacks that control connected actuators against the driver's intention are known. If the in-vehicle ECU itself is equipped with wireless communication functions such as V2X (V2V: Vehicle to Vehicle) and road-to-vehicle communication (V2I: Vehicle to Infrastructure) for auto driving, etc. Similarly to the information terminal, the ECU program corresponding to V2X can be illegally rewritten and used for an attack.
- V2X Vehicle to Vehicle
- V2I Vehicle to Infrastructure
- Non-Patent Document 1 discloses a problem by sending data to a single in-vehicle ECU and paying attention to the response (mixing bugs due to programming errors). Etc.) is disclosed.
- An evaluation apparatus is an evaluation apparatus that is connected to a bus used for communication by a plurality of electronic control units constituting an electronic control system, and performs evaluation related to security of the electronic control system.
- a monitoring unit that monitors one or more electronic control units among the plurality of electronic control units, and a transmission unit that transmits one or more attack frames including an invalidation frame for invalidating the frames to the bus
- an evaluation unit that performs the evaluation based on a monitoring result of the monitoring unit when the attack frame is transmitted to the bus by the transmission unit.
- An evaluation system is an evaluation system that evaluates security of an electronic control system including a plurality of electronic control units that communicate via a bus, and invalidates a frame on the bus.
- a transmission unit that transmits one or more attack frames including an invalidation frame to the bus, a monitoring unit that monitors one or more electronic control units among the plurality of electronic control units, and the transmission unit
- the evaluation system includes an evaluation unit that performs the evaluation based on a monitoring result of the monitoring unit when the attack frame is transmitted to the bus.
- An evaluation method is an evaluation method for evaluating the security of an electronic control system including a plurality of electronic control units that communicate via a bus, and invalidates a frame on the bus.
- One or more attack frames including invalidation frames are transmitted to the bus, and one or more electronic control units of the plurality of electronic control units are transmitted when the attack frames are transmitted to the bus.
- It is an evaluation method for monitoring a control unit and performing the evaluation based on a monitoring result by the monitoring.
- FIG. 1 is a configuration diagram illustrating a schematic configuration of an evaluation system according to an embodiment.
- FIG. 2 is a configuration diagram of an evaluation apparatus in the evaluation system.
- FIG. 3 is a configuration diagram of the rewriting (rewriting) executing ECU in the electronic control system to be evaluated.
- FIG. 4 is a configuration diagram of the rewritten ECU in the electronic control system to be evaluated.
- FIG. 5 is a configuration diagram of the security ECU in the electronic control system to be evaluated.
- FIG. 6 is a diagram illustrating an example of attack procedure information held by the holding unit of the evaluation device.
- FIG. 7 is a diagram illustrating another example of attack procedure information held by the holding unit of the evaluation device.
- FIG. 8 is a sequence diagram illustrating an operation example related to software update in the electronic control system.
- FIG. 1 is a configuration diagram illustrating a schematic configuration of an evaluation system according to an embodiment.
- FIG. 2 is a configuration diagram of an evaluation apparatus in the evaluation system.
- FIG. 3 is
- FIG. 9 is a sequence diagram illustrating an operation example 1 of the evaluation system.
- FIG. 10 is a sequence diagram illustrating an operation example 1 of the evaluation system.
- FIG. 11 is a sequence diagram illustrating an operation example 2 of the evaluation system.
- FIG. 12 is a sequence diagram illustrating an operation example 2 of the evaluation system.
- FIG. 13 is a sequence diagram illustrating an operation example 3 of the evaluation system.
- FIG. 14 is a sequence diagram illustrating an operation example 3 of the evaluation system.
- FIG. 15 is a sequence diagram illustrating an operation example 4 of the evaluation system.
- FIG. 16 is a sequence diagram illustrating an operation example 4 of the evaluation system.
- FIG. 17 is a sequence diagram illustrating an operation example 5 of the evaluation system.
- FIG. 18 is a sequence diagram illustrating an operation example 5 of the evaluation system.
- Non-Patent Document 1 Although the technique of Non-Patent Document 1 can find a defect in a single in-vehicle ECU, security (applied to the evaluation object) is a system (electronic control system) composed of a plurality of ECUs forming an in-vehicle network. It is not possible to evaluate whether the security countermeasure technology that has been adopted can prevent an attack appropriately.
- the present disclosure provides an evaluation device capable of performing an evaluation regarding security using an electronic control system including a plurality of ECUs as an evaluation target.
- the present disclosure also provides an evaluation system capable of performing an evaluation on security of an electronic control system including a plurality of ECUs, and an evaluation method for the evaluation.
- An evaluation apparatus is an evaluation apparatus that is connected to a bus used for communication by a plurality of electronic control units constituting an electronic control system, and performs evaluation related to security of the electronic control system.
- a monitoring unit that monitors one or more electronic control units among the plurality of electronic control units, and a transmission unit that transmits one or more attack frames including an invalidation frame for invalidating the frames to the bus
- an evaluation unit that performs the evaluation based on a monitoring result of the monitoring unit when the attack frame is transmitted to the bus by the transmission unit.
- the monitoring unit performs electronic control when an attack frame (for example, a CAN data frame, an error frame, or the like) is transmitted to the bus by the transmission unit (for example, immediately after transmission or immediately before transmission to immediately after transmission).
- the unit can be monitored directly or indirectly. Accordingly, it is possible to evaluate a security function (such as attack resistance) such as a defense function against an attack to the ECU based on transmission of a frame with an electronic control system including a plurality of ECUs as an evaluation target.
- a security function such as attack resistance
- a defense function against an attack to the ECU based on transmission of a frame with an electronic control system including a plurality of ECUs as an evaluation target.
- the plurality of electronic control units may communicate via the bus in accordance with a CAN (Controller Area Network) protocol, and the invalidation frame may be an error frame. Accordingly, it may be possible to evaluate a security function against an attack caused by transmission of an attack frame including an error frame in a network conforming to CAN for exchanging frames between ECUs.
- CAN Controller Area Network
- the evaluation device further includes a holding unit that holds attack procedure information indicating the contents and transmission order of a plurality of attack frames, and the transmission unit performs the attack according to the transmission order indicated by the attack procedure information.
- a plurality of frames may be transmitted to the bus.
- the evaluation device includes a receiving unit that receives a frame from the bus, and the attack procedure information indicates that an attack frame having a predetermined ID is transmitted next to an error frame, and the transmitting unit May be configured to transmit the error frame when the receiving unit receives a frame having the predetermined ID from the bus.
- the attack procedure information further indicates a transmission interval for the plurality of frames for attack
- the transmission unit transmits the plurality of frames to the bus according to a transmission order and a transmission interval indicated by the attack procedure information. It is also good to do. As a result, it is possible to evaluate a defense function against an attack method determined by the transmission order and transmission intervals of a plurality of frames.
- the transmission unit may transmit an attack frame having the same ID and different content as the invalidated frame.
- efficient security can be achieved by using an attack method that can be implemented relatively easily, in which a frame transmitted to the bus is invalidated with an error frame and a frame whose contents are partially changed is transmitted. It may be possible to evaluate the function.
- the transmission unit may be used for an attack having an update ID predetermined for update processing of software of any of the plurality of electronic control units in the electronic control system after transmitting the error frame. Transmits a frame, and the monitoring unit transmits an electronic control unit having a function of performing update processing of software held in response to reception of a frame having the update ID, or transmits a frame having the update ID
- the electronic control unit that performs the monitoring may be performed.
- the software update process may be an update itself, an incidental process performed for an appropriate update such as a pre-process or post-process of update, or may include both.
- evaluation of the security function of the electronic control system against an attack related to software update such as ECU firmware, which is a kind of attack for an attacker to control a part of the ECU of the electronic control system Can be possible.
- the monitoring unit may check whether an operation of one electronic control unit of the plurality of electronic control units matches a predetermined operation when an attack frame is transmitted to the bus by the transmission unit.
- the evaluation unit performs the monitoring by detecting whether or not the evaluation result is in accordance with a result of the detection by the monitoring unit after the transmission unit transmits the attack frame to the bus. It is good also as performing the said evaluation so that it may differ.
- the predetermined operation may be an ECU operation that is predicted (expected) when the attack is successful, an ECU operation that is predicted when the attack is unsuccessful, a normal operation of the ECU when a regular frame is received, or the like. . Thereby, it is possible to appropriately evaluate the security function of the electronic control system.
- the evaluation apparatus includes a receiving unit that receives a frame from the bus, and the monitoring unit detects that the specific frame is received by the receiving unit as the monitoring of the electronic control unit.
- the evaluation unit determines whether the monitoring unit detects that the specific frame has been received within a certain period after the transmission unit transmits the attack frame to the bus.
- the evaluation may be performed so that the evaluation results are different.
- the specific frame is a frame that is predicted (expected) to be transmitted when the attack succeeds or fails, for example, and can be identified by the ID of the frame defined by the electronic control system. Accordingly, the electronic control system can be appropriately evaluated by monitoring the bus without depending on, for example, direct communication with the ECU.
- the evaluation unit may output information indicating whether or not the electronic control system has attack resistance as an evaluation result. Thereby, for example, a user of the evaluation apparatus can know whether or not the electronic control system has attack resistance.
- An evaluation system is an evaluation system that evaluates security of an electronic control system including a plurality of electronic control units that communicate via a bus, and invalidates a frame on the bus.
- a transmission unit that transmits one or more attack frames including an invalidation frame to the bus, a monitoring unit that monitors one or more electronic control units among the plurality of electronic control units, and the transmission unit
- the evaluation system includes an evaluation unit that performs the evaluation based on a monitoring result of the monitoring unit when the attack frame is transmitted to the bus.
- An evaluation method is an evaluation method for evaluating the security of an electronic control system including a plurality of electronic control units that communicate via a bus, and invalidates a frame on the bus.
- One or more attack frames including invalidation frames are transmitted to the bus, and one or more electronic control units of the plurality of electronic control units are transmitted when the attack frames are transmitted to the bus.
- It is an evaluation method for monitoring a control unit and performing the evaluation based on a monitoring result by the monitoring. Accordingly, it is possible to evaluate a security function such as a defense function against an attack by transmitting a frame, with an electronic control system including a plurality of ECUs as an evaluation target.
- an evaluation apparatus and an evaluation method for evaluating the security of an in-vehicle network system that includes a plurality of electronic control units (ECUs) that are mounted on an automobile (vehicle) and communicate via a bus
- ECUs electronice control units
- An evaluation system including an electronic control system and an evaluation device will be described.
- FIG. 1 is a configuration diagram showing a schematic configuration of the evaluation system 10.
- the evaluation system 10 includes an evaluation device 101 and an electronic control system 11.
- the evaluation system 10 uses the electronic control system 11 as an evaluation target, and evaluates the attack resistance of the electronic control system 11 (for example, whether or not a security countermeasure technique that protects against an attack is acting properly).
- the electronic control system 11 is an in-vehicle network system, and is connected to various devices such as a control device, a sensor, an actuator (for example, a steering, an accelerator, a brake, etc. that can be electronically controlled) and a user interface device in the vehicle.
- a vehicle-mounted network including a plurality of electronic control units (ECUs) that transmit and receive frames via a bus (CAN bus).
- ECUs electronice control units
- CAN bus bus
- each ECU exchanges frames to cooperate with each other, for example, a parking assistance function, a lane maintenance assistance function, and collision avoidance that are functions of an advanced driver assistance system (ADAS).
- ADAS advanced driver assistance system
- Implement functions such as support functions.
- Each ECU is controlled by software, and the software of the ECU can be rewritten (updated) by a procedure including transmission / reception of a certain type of frame on the CAN bus.
- the electronic control system 11 includes a rewriting execution ECU 102, a rewritten ECU 103, and a security ECU 104 as shown in FIG. Will be described.
- Each ECU performs communication according to the CAN standard (protocol) using the CAN bus 20 as a communication path.
- a data frame also referred to as a CAN message
- a data frame that is a frame used for data transmission in CAN is defined to include an ID field that stores an ID (message ID), a data field that stores data, and the like.
- the rewrite execution ECU 102 is connected to the CAN bus 20 and has a function (rewrite execution function) for transmitting an update frame, which is a CAN message (data frame) for software update processing of the rewritten ECU 103, to the CAN bus 20.
- the update frame is a frame having, as a message ID, an update ID predetermined for software update processing in the electronic control system 11.
- the update frame includes, for example, a rewrite mode transition instruction, an authentication key, a memory erasure instruction, update software (update software that is an update program), update software signature (digital signature for the update software), and restart instruction. There are frames etc. to show.
- the rewrite execution ECU 102 is, for example, an ECU having a function of taking update software into the electronic control system 11 from the outside.
- the rewrite execution ECU 102 includes, as a specific example, an ECU having a car navigation function, an ECU having an external communication function for communicating with the outside of the vehicle, an ECU having a function of reading data from a mounted recording medium, and a diagnosis connected to a diagnosis port Tools (fault diagnosis tools).
- the diagnostic port is an interface for communicating with, for example, a diagnostic tool such as OBD2 (On-Board Diagnostics 2) in the in-vehicle network (CAN bus).
- the rewritten ECU 103 is an ECU that is connected to the CAN bus 20 and has a function of updating software (rewritten function) in its own ECU (rewritten ECU 103) by receiving an update frame.
- the rewritten ECU 103 may be, for example, an ECU that controls an actuator (for example, steering, accelerator, brake, etc.), and the updated software is software for processing including control of the actuator, for example. Also good.
- the security ECU 104 constantly monitors (monitors) the CAN bus 20 and takes measures such as invalidating the CAN message when it is detected that an illegal CAN message (an attack CAN message) is flowing, for example. .
- an illegal CAN message an attack CAN message
- any method can be used.
- the CAN message can be invalidated by transmitting an error frame defined by the CAN protocol so as to be superimposed on an illegal CAN message.
- the evaluation device 101 is a device that evaluates the attack resistance of the security countermeasure technology applied to the electronic control system 11 (evaluation target).
- the evaluation device 101 performs an attack (hacking) on the evaluation target based on the held attack procedure information 105, performs monitoring (monitoring) for observing a reaction to the attack, and performs evaluation according to the monitoring result.
- an attack for example, determination of presence / absence of resistance to the attack (attack or defense success / failure) can be given.
- the evaluation apparatus 101 monitors a frame (message) flowing through the CAN bus 20 and monitors output signals of the rewriting execution ECU 102 and the rewritten ECU 103.
- the evaluation apparatus 101 may monitor the behavior (operation) of an actuator or the like controlled by the rewriting execution ECU 102 or the rewritten ECU 103.
- the attack procedure information 105 indicates the procedure (the type, order, timing, frequency, etc. of the frame to be transmitted) when performing an attack.
- FIG. 2 is a configuration diagram of the evaluation apparatus 101 in the evaluation system 10.
- the evaluation apparatus 101 includes a monitoring unit 200 (CAN bus monitoring unit 203 and signal monitoring unit 204), a transmission / reception unit 201 (transmission unit 201a and reception unit 201b), a holding unit 202, and an evaluation unit. 206, a control unit 207, and a storage unit 208.
- the evaluation device 101 is a device including, for example, a processor (microprocessor), a digital circuit such as a memory, an analog circuit, a communication circuit, and a hard disk.
- the memory is ROM, RAM, or the like, and can store a control program (computer program as software) executed by the processor.
- the processor operates (controls various circuits, etc.) according to a control program (computer program)
- the evaluation apparatus 101 realizes various functions.
- the computer program is configured by combining a plurality of instruction codes indicating instructions for the processor in order to achieve a predetermined function.
- the transmission / reception unit 201 is realized by a communication circuit or the like.
- the transmission / reception unit 201 includes a transmission unit 201a and a reception unit 201b.
- the transmission unit 201a sends a CAN message (for example, various frames indicating various information such as a rewrite mode transition instruction, an authentication key, a memory erasure command, update software, and update software signature) to the CAN bus 20 or an error.
- Send a frame invalidates the CAN message flowing through the CAN bus 20, and can, for example, set the ECU that has transmitted the CAN message to be invalidated to a bus off state or an error active state.
- the receiving unit 201b transmits a CAN message (for example, a rewrite mode transition instruction, an authentication key, a memory erasure instruction, an update software, an update software signature, a restart instruction, authentication, transmitted by the rewrite execution ECU 102 or the rewritten ECU 103) through the CAN bus 20. Receiving various types of information such as seeds, authentication results, etc.).
- a CAN message for example, a rewrite mode transition instruction, an authentication key, a memory erasure instruction, an update software, an update software signature, a restart instruction, authentication, transmitted by the rewrite execution ECU 102 or the rewritten ECU 103
- the holding unit 202 is realized by a storage medium such as a memory or a hard disk, and stores attack procedure information 105 indicating an attack procedure set by the evaluation apparatus 101 to evaluate the attack resistance of the evaluation target.
- the attack procedure information 105 indicates the transmission order of a plurality of attack frames (CAN message or error frame). Details of the attack procedure information 105 will be described later with reference to FIGS.
- the CAN bus monitoring unit 203 is realized by, for example, a processor that executes a program, and monitors the CAN bus 20 to which a plurality of ECUs are connected in the electronic control system 11 to be evaluated. Specifically, the CAN bus monitoring unit 203 receives the CAN message via the receiving unit 201b, records the content (payload) of data included in the CAN message in the storage unit 208, and confirms it. For example, for monitoring the rewrite execution ECU 102, the CAN bus monitoring unit 203 includes an update frame indicating each of a rewrite mode transition instruction, an authentication key, a memory erasure instruction, update software, an update software signature, and a restart instruction.
- the CAN bus monitoring unit 203 detects that a frame indicating an authentication seed and an authentication result has been transmitted to the CAN bus 20, and confirms the content of the frame.
- the monitoring unit 200 detects that a specific frame has been received by the receiving unit 201b as the monitoring of the ECU of the electronic control system 11 by the CAN bus monitoring unit 203.
- This specific frame is a pre-defined frame having a specific content, and may be a frame specified by the ID of the frame, the content of the data field, or the like. This specific frame has been successfully defended against whether or not the attack has succeeded by some ECUs of the electronic control system 11 transmitting or not transmitting the specific frame against an attack caused by the transmission of the attack frame. It is a frame that is assumed to be distinguishable in advance.
- the signal monitoring unit 204 observes signals output from the rewrite execution ECU 102 and the rewritten ECU 103 to signal lines other than the CAN bus 20 and confirms the signal contents.
- the signal monitoring unit 204 is realized by, for example, a communication circuit connected to a signal line from which each of the rewriting execution ECU 102 and the rewritten ECU 103 outputs a signal, a processor that executes a program, and the like.
- the signal monitoring unit 204 may monitor, for example, the debug output signals of the rewriting execution ECU 102 and the rewritten ECU 103, and each ECU of the electronic control system 11 outputs the debug output signal for evaluation. It is good also as being comprised so that can be output.
- each ECU outputs information indicating the state of the ECU, information indicating the contents of the memory, information indicating that the processor executing the software has been reset (restarted), etc. as an output signal for debugging.
- the signal monitoring unit 204 can confirm, for example, whether or not the rewritten ECU 103 has completed processing related to software update (rewrite) by executing restart by observing the signal.
- the operation of one of the ECUs of the electronic control system 11 when the attack frame is transmitted to the CAN bus 20 by the transmission unit 201a by the signal monitoring unit 204 or the like is a predetermined operation (for example, an attack is performed). By detecting whether or not it is consistent with the operation predicted when it succeeds, the operation expected when the attack fails, the normal operation when a regular frame is received, etc. Do.
- Evaluation unit 206 The evaluation unit 206 is realized by a processor or the like that executes a program.
- the evaluation unit 206 evaluates the security of the electronic control system 11 based on the confirmation result obtained by monitoring by the monitoring unit 200 (CAN bus monitoring unit 203 and signal monitoring unit 204). Specifically, the evaluation unit 206 compares all or a part of the confirmation result by the monitoring unit 200 with an expected value when the CAN message is transmitted based on the attack procedure information 105, and whether the attack is successful. Whether or not (for example, whether or not a defense function against an attack has been appropriately activated) is determined.
- the expected value is information (operation or the like) indicated by a CAN message to be transmitted or a signal to be transmitted by the rewriting execution ECU 102 or the rewritten ECU 103 that is expected as an attack result (for example, a result of transmission of a frame for each attack). Yes, it can be predefined.
- the evaluation unit 206 is configured to monitor the monitoring unit 200 when the transmission unit 201a transmits an attack frame based on the attack procedure information 105 to the CAN bus 20 (for example, for a certain period immediately after transmission, or from immediately before transmission to immediately after transmission). Evaluation is based on the monitoring results.
- the evaluation unit 206 determines that the specific frame as an expected value is within a certain period after one or more of a plurality of frames for attack indicated in the attack procedure information 105 are transmitted to the CAN bus 20 by the transmission unit 201a. It can be determined whether the CAN bus monitoring unit 203 has detected that the transmission on the CAN bus 20 has been detected, and evaluation can be performed so that the evaluation results differ depending on whether a specific frame has been detected. Further, the evaluation unit 206 indicates that, for example, the rewriting execution ECU 102 or the rewritten ECU 103 has performed a predetermined operation related to the expected value within a certain period after one or more of the attack frames are transmitted to the CAN bus 20. The evaluation can be performed so that the evaluation results differ depending on whether or not the signal is detected by the signal monitoring unit 204.
- the storage unit 208 includes a storage medium such as a memory, and includes fake update software (update software), a fake signature for the update software, an update procedure, and the contents of a CAN message received from the CAN bus 20 (memory erasure command, update software) Update software signature, authentication key, authentication seed, etc.).
- fake update software update software
- a fake signature for the update software an update procedure
- contents of a CAN message received from the CAN bus 20 memory erasure command, update software
- Update software signature authentication key, authentication seed, etc.
- Control unit 207 is realized by a processor or the like that executes a program, and manages and controls the monitoring unit 200, the transmission / reception unit 201, the holding unit 202, the storage unit 208, and the evaluation unit 206, thereby realizing the function of the evaluation apparatus 101. .
- the control unit 207 can perform arithmetic processing necessary for generating and confirming an authentication key.
- FIG. 3 is a configuration diagram of the rewrite execution ECU 102.
- the rewrite execution ECU 102 includes a transmission / reception unit 301, a signature storage unit 302, a key storage unit 303, a program storage unit 304, a rewrite procedure information storage unit 305, and a control unit 306. Composed.
- the rewrite execution ECU 102 is an ECU connected to the CAN bus 20.
- the ECU is a device including a digital circuit such as a processor and a memory, an analog circuit, a communication circuit, and the like.
- the memory is a ROM, a RAM, or the like, and can store a control program executed by the processor.
- the rewrite execution ECU 102 functions as a processor operates (controls various circuits, etc.) according to a control program (computer program).
- the transmission / reception unit 301 transmits a CAN message to the CAN bus 20 and receives a CAN message flowing through the CAN bus 20.
- the transmission / reception unit 301 transmits, for example, an update frame indicating each of a rewrite mode transition instruction, an authentication key, a memory erasure command, update software, an update software signature, and a restart instruction, and an authentication seed and authentication result flowing in the CAN bus 20 A frame indicating each of the above is received.
- the transmission / reception unit 301 has, for example, an external communication function for communicating with a device outside the vehicle (external to the vehicle) of the electronic control system 11, and receives update software, an update software signature, and the like from an external device.
- the authentication seed used in the update process for the rewrite execution ECU 102 to update the software of the rewritten ECU 103 is information used by the rewrite execution ECU 102 and the rewritten ECU 103 to authenticate each other.
- the authentication key is information generated by the rewriting execution ECU 102 performing encryption using a common secret key based on the authentication seed transmitted by the rewritten ECU 103.
- the rewriting execution ECU 102 In the update process, the rewriting execution ECU 102 generates an authentication key by encryption using a common secret key based on the authentication seed transmitted by the rewritten ECU 103, transmits the authentication key to the rewritten ECU 103, and the rewritten ECU 103 If the authentication key is decrypted with a common secret key and the decryption result matches the previously transmitted authentication seed, it is determined that the authentication is successful, and if it does not match, it is determined that the authentication is unsuccessful. Renewal permission is indicated in the case of success, and information indicating that rewriting is not permitted in the case of unsuccessful authentication) is transmitted to the rewriting execution ECU 102. In the case of successful authentication, a memory erase command, update software, update software signature, restart instruction, etc. are transmitted from the rewrite execution ECU 102 to rewrite the software, and the rewritten ECU 103 performs software rewrite in response to this. Is called.
- Signature storage unit 302 stores a signature for the update software stored in the program storage unit 304.
- the key storage unit 303 stores a key (secret key) used for encryption when generating an authentication key by encrypting the authentication seed transmitted from the rewritten ECU 103.
- Program storage unit 304 stores update software (update software) for the rewritten ECU 103.
- Rewrite procedure information storage unit 305 stores a software update procedure (a processing procedure related to software rewrite) of the rewritten ECU 103.
- Control unit 306 manages and controls the transmission / reception unit 301, the signature storage unit 302, the key storage unit 303, the program storage unit 304, and the rewrite procedure information storage unit 305 to realize the function of the rewrite execution ECU 102. That is, the control unit 306 controls each unit in accordance with the rewrite procedure information (update procedure) stored in the rewrite procedure information storage unit 305 to update the software of the rewritten ECU 103 to update software (various types A series of processes including transmission of an update frame, reception of an authentication seed and an authentication result, and the like can be executed.
- FIG. 4 is a configuration diagram of the rewritten ECU 103.
- the rewritten ECU 103 includes a transmission / reception unit 401, a signature storage unit 402, a key storage unit 403, a program storage unit 404, a rewrite procedure information storage unit 405, and a control unit 406. Composed.
- the rewritten ECU 103 is an ECU connected to the CAN bus 20 and includes a digital circuit such as a processor and a memory, an analog circuit, a communication circuit, and the like.
- the rewritten ECU 103 functions as the processor operates according to a control program stored in the memory.
- the transmission / reception unit 401 transmits a CAN message to the CAN bus 20 and receives a CAN message flowing through the CAN bus 20.
- the transmission / reception unit 401 transmits a frame indicating each of an authentication seed and an authentication result, and each of a rewrite mode transition instruction, an authentication key, a memory erasure instruction, update software, an update software signature, and a restart instruction that flows through the CAN bus 20 An update frame indicating is received.
- Signature storage unit 402 stores a signature for the update software stored in the program storage unit 404.
- the key storage unit 403 includes a decryption key (secret key) used for decrypting the authentication key generated by the rewrite execution ECU 102 based on the authentication seed transmitted from the rewritten ECU 103, and a program stored in the program storage unit 404 (The signature verification key used for verifying the validity of the signature stored in the signature storage unit 402 that is the signature of the update software) is stored.
- secret key secret key
- the signature verification key used for verifying the validity of the signature stored in the signature storage unit 402 that is the signature of the update software
- Program storage unit 404 stores software of the rewritten ECU 103 (for example, update software acquired from the rewriting execution ECU 102).
- Rewrite procedure information storage unit 405 stores a software update procedure of the rewritten ECU 103.
- Control unit 406 manages and controls the transmission / reception unit 401, the signature storage unit 402, the key storage unit 403, the program storage unit 404, and the rewrite procedure information storage unit 405 to realize the function of the rewritten ECU 103. That is, the control unit 406 controls each unit in accordance with the rewrite procedure information (update procedure) stored in the rewrite procedure information storage unit 405 to update the software of the rewritten ECU 103 to update software (various types A series of processes including reception of an update frame, transmission of an authentication seed and an authentication result, and the like can be executed.
- FIG. 5 is a configuration diagram of the security ECU 104.
- the security ECU 104 includes a transmission / reception unit 501, a CAN bus monitoring unit 502, and a control unit 503.
- the security ECU 104 is an ECU that is connected to the CAN bus 20 and has a security function (such as a defense function) for dealing with attacks.
- the security ECU 104 functions by the processor of the security ECU 104 operating according to a control program (computer program) stored in the memory.
- Transmission / reception unit 501 receives the CAN message flowing through the CAN bus 20 and transmits an error frame to the CAN bus 20 in response to an instruction from the CAN bus monitoring unit 502 in order to invalidate the invalid CAN message.
- the CAN bus monitoring unit 502 confirms the content (payload) of data included in the CAN message received via the transmission / reception unit 501 from the CAN bus 20 to which a plurality of ECUs are connected.
- an illegal CAN message for example, a CAN message that does not comply with a predetermined rule in the electronic control system 11
- an error frame is transmitted via the transmission / reception unit 501.
- Any method may be used as a method for the CAN bus monitoring unit 502 to detect an unauthorized CAN message.
- Control unit 503 manages and controls the transmission / reception unit 501 and the CAN bus monitoring unit 502 to realize the function of the security ECU 104.
- Attack procedure information stored in the holding unit 202 of the evaluation apparatus 101 will be described. 6 and 7 each show an example of attack procedure information.
- the attack procedure information includes, for example, an attack message to be transmitted as an attack for evaluating the evaluation target function for each evaluation item (for each evaluation target function) by the evaluation apparatus 101. Frame)), the message ID, the transmission interval of the transmission message (time interval with the preceding frame), and the transmission order.
- the attack procedure information is determined based on, for example, various information (specifications and the like) related to the electronic control system 11.
- the attack procedure transmits an error frame first (first), thereby transmitting the authentication seed transmitted by the rewritten ECU 103.
- the CAN message containing the fake authentication seed is transmitted next (second), and then the response is received after receiving the authentication key corresponding to the authentication seed from the rewriting execution ECU 102 (second).
- a CAN message including an authentication result (authentication response) is transmitted.
- the attack procedure transmits the error frame first (first), thereby deleting the memory transmitted by the rewriting execution ECU 102.
- the CAN message including the command is invalidated, the update frame (CAN message) including the memory erase command is transmitted next (second), and the update frame (CAN) including the fake update software is transmitted next (third).
- Message) and then (fourth) a series of procedures for transmitting an update frame (CAN message) including a signature corresponding to the fake update software.
- information related to the transmission of the update frame indicating the restart instruction may be included next to the information related to the transmission of the update frame including the update software signature.
- the evaluation apparatus 101 attacks and evaluates the electronic control system 11 by transmitting attack frames determined for each evaluation item in a predetermined transmission order. For example, in the attack procedure information, the evaluation apparatus 101 transmits an attack frame having a predetermined ID (for example, an ID for an authentication seed, an ID for an authentication response as an authentication result) after the error frame.
- a predetermined ID for example, an ID for an authentication seed, an ID for an authentication response as an authentication result
- the receiving unit 201b receives a CAN message having a predetermined ID from the CAN bus 20, it first transmits an error frame, and then transmits an attack frame having the predetermined ID.
- This predetermined ID is an ID for updating predetermined for software update processing (for example, an ID for memory erasure instruction, an ID for update software, an ID for update software signature, an ID for restart instruction, etc. ).
- an operation example related to software update executed by the electronic control system 11 when the evaluation apparatus 101 does not transmit an attack frame in the evaluation system 10 will be described. Thereafter, an operation example (operation example 1) for each evaluation item regarding the operation to be evaluated by attacking the electronic control system 11 to be evaluated by the evaluation apparatus 101 according to the attack procedure information 105 (attack by transmitting an attack frame). To 5) will be described.
- the rewrite execution ECU 102 transmits an update frame (CAN message) including a rewrite mode transition instruction (information indicating a transition to the rewrite mode) to the CAN bus 20 (step S601).
- the rewritten ECU 103 that has received the update frame including the rewrite mode transition instruction from the CAN bus 20 transmits a CAN message including the authentication seed to the CAN bus 20 (step S602).
- Rewriting execution ECU102 which received the CAN message containing an authentication seed produces
- the rewritten ECU 103 that has received the update frame including the authentication key decrypts the received authentication key using the key stored in the key storage unit 403, and confirms the match between the decryption result and the transmitted authentication seed.
- the rewritten ECU 103 confirms that they match, the rewritten ECU 103 sends a CAN message indicating permission to rewrite to the CAN bus 20 as an authentication result, permits the subsequent update procedure, and confirms that they do not match.
- a CAN message indicating that rewriting is not permitted is transmitted to the CAN bus 20 as an authentication result, and execution of the subsequent update procedure is not permitted (step S604).
- the rewrite execution ECU 102 that has received the CAN message including the authentication result executes the subsequent update procedure if the received CAN message means that rewriting is permitted as the authentication result, and means that rewriting is not permitted.
- the subsequent update procedure is not performed.
- the rewrite execution ECU 102 that has received the CAN message indicating rewrite permission as the authentication result transmits an update frame including a memory erase command to the CAN bus 20 (step S605).
- Rewritten ECU 103 that has received the update frame including the memory erasure command erases the contents stored in program storage unit 404 (the contents of the area for storing the update software).
- the rewriting execution ECU 102 transmits an update frame including update software to the CAN bus 20 (step S606).
- the update frame may be composed of a plurality of CAN messages.
- the update frame including the update software is composed of one or a plurality of CAN messages according to the data amount of the update software.
- the rewritten ECU 103 that has received the update frame including the update software writes the received update software in the program storage unit 404.
- the rewriting execution ECU 102 transmits an update frame including an update software signature corresponding to the update software to the CAN bus 20 (step S607).
- the rewritten ECU 103 that has received the update frame including the update software signature writes the received update software signature in the signature storage unit 402.
- the rewriting execution ECU 102 transmits an update frame indicating a restart instruction to the CAN bus 20 (step S608).
- the rewritten ECU 103 that has received the update frame indicating the restart instruction performs restart (reset of the processor).
- the rewritten ECU 103 for example, the signature stored in the key storage unit 403 indicates whether the signature stored in the signature storage unit 402 is valid as the signature of the program (update software) stored in the program storage unit 404. Verification is performed using the verification key, and if it is valid, the processor is reset. When the processor is reset, the update software in the program storage unit 404 is executed by the processor.
- the rewritten ECU 103 does not execute restart for executing the update software.
- the rewritten ECU 103 for example, when erasing the storage contents of the program storage unit 404 (the contents of the area for storing the update software) in response to the memory erasure command, the original storage contents are stored in the storage medium (for example, it may be stored in a non-volatile memory, a hard disk, or the like, and the original storage content may be restored to the program storage unit 404 when the signature related to the update software is not valid.
- FIGS. 9 and 10 are sequence diagrams illustrating the operation (operation example 1) of the evaluation system 10 that evaluates the electronic control system 11.
- the sequence diagram shown in FIG. 9 is continued from the sequence diagram shown in FIG.
- the operation example 1 shows an example in which the evaluation apparatus 101 performs the evaluation related to the evaluation item of the rewrite execution function 1 shown in FIG.
- This example is an example in which the evaluation device 101 evaluates the security of the electronic control system 11 by performing an attack that impersonates the rewritten ECU 103 and causes the rewriting execution ECU 102 to perform erroneous recognition.
- the operation example 1 will be described with reference to FIGS. 9 and 10.
- the rewrite execution ECU 102 transmits an update frame (CAN message) indicating a rewrite mode transition instruction to the CAN bus 20 (step S601).
- Rewritten ECU 103 that has received the update frame including the rewrite mode transition instruction transmits a CAN message including the authentication seed to CAN bus 20 (step S602).
- the evaluation device 101 When the evaluation device 101 receives the CAN message from the CAN bus 20 and detects that the CAN message including the authentication seed flows to the CAN bus 20, the evaluation device 101 before the entire CAN message is received by the rewrite execution ECU 102. The error frame is transmitted, and the CAN message including the authentication seed transmitted by the rewritten ECU 103 is invalidated (step S701). The CAN message including the authentication seed on the CAN bus 20 is overwritten by an error frame, and becomes invalid because it cannot be correctly received.
- the evaluation apparatus 101 transmits a CAN message including a false authentication seed to the CAN bus 20 (step S702).
- the signal monitoring unit 204 of the evaluation apparatus 101 sequentially records in the storage unit 208 the results of the sequential monitoring of the behavior of the rewrite execution ECU 102 after step S702.
- Rewriting execution ECU102 which received the CAN message containing a fake authentication seed produces
- the rewriting execution ECU 102 transmits an update frame (CAN message) including the generated authentication key to the CAN bus 20 (step S603).
- the evaluation apparatus 101 Upon receiving the update frame including the authentication key, the evaluation apparatus 101 transmits a CAN message indicating permission of rewriting to the CAN bus 20 as an authentication result regardless of the validity of the received authentication key (step S703).
- the rewrite execution ECU 102 that has received the CAN message indicating rewrite permission as the authentication result transmits an update frame including a memory erase command to the CAN bus 20 (step S605).
- the evaluation apparatus 101 causes the CAN bus monitoring unit 203 to record the content of the received update frame including the memory erasure command in the storage unit 208.
- the rewriting execution ECU 102 transmits an update frame including update software to the CAN bus 20 (step S606).
- the evaluation device 101 that has received the update frame including the update software records the received update software in the storage unit 208 by the CAN bus monitoring unit 203.
- the rewriting execution ECU 102 transmits an update frame including an update software signature corresponding to the update software to the CAN bus 20 (step S607).
- the rewritten ECU 103 that has received the update frame including the update software signature records the received update software signature in the storage unit 208 by the CAN bus monitoring unit 203.
- the rewrite execution ECU 102 transmits an update frame indicating a restart instruction to the CAN bus 20 (step S608).
- the evaluation apparatus 101 Upon receiving the update frame indicating the restart instruction, the evaluation apparatus 101 causes the CAN bus monitoring unit 203 to record the content of the received update frame indicating the restart instruction in the storage unit 208.
- the evaluation apparatus 101 performs evaluation by confirming the information related to the content received from the CAN bus 20 and the information related to the operation of the rewrite execution ECU 102 after step S702 recorded in the storage unit 208. (Step S801). That is, the evaluation device 101 evaluates the security of the electronic control system 11 (determination of success or failure of the attack, etc.) by comparing the received content and the operation of the rewriting execution ECU 102 with the expected value of the attack. In the evaluation apparatus 101, for example, the confirmed received content and the confirmed operation of the rewriting execution ECU 102 are the same as the expected attack value (the same operation as the execution of the update procedure such as transmission of the update frame to the rewritten ECU 103).
- step S801 it is possible to evaluate even when the attack fails (for example, when the CAN message transmitted by the evaluation apparatus 101 in step S703 or the like is invalidated by transmission of an error frame by the security ECU 104).
- the evaluation apparatus 101 determines whether or not the attack is successful based on the expected value of the attack using only one of the monitoring result in the CAN bus monitoring unit 203 and the monitoring result in the signal monitoring unit 204. May be. Further, the evaluation apparatus 101 may perform detailed evaluation of the security of the electronic control system 11 that is the evaluation target in step S801. For example, in addition to the success or failure of the entire attack, the transmission of an attack frame is referred to. The success or failure of each attack may be determined, and it may be confirmed whether or not each of various defense functions has acted, the degree of protection, and the like.
- FIGS. 11 and 12 are sequence diagrams illustrating the operation (operation example 2) of the evaluation system 10 that evaluates the electronic control system 11.
- the sequence diagram shown in FIG. 11 is continued from the sequence diagram shown in FIG.
- the operation example 2 shows an example in which the evaluation apparatus 101 performs the evaluation related to the evaluation item called the rewrite execution function 2 shown in FIG.
- This example is an example in which the evaluation device 101 evaluates the security of the electronic control system 11 by performing an attack that impersonates the rewritten ECU 103 and causes the rewriting execution ECU 102 to perform erroneous recognition.
- the operation example 2 will be described with reference to FIGS. 11 and 12.
- the rewrite execution ECU 102 transmits an update frame indicating a rewrite mode transition instruction to the CAN bus 20 (step S601).
- Rewritten ECU 103 that has received the update frame including the rewrite mode transition instruction transmits a CAN message including the authentication seed to CAN bus 20 (step S602).
- Rewriting execution ECU102 which received the CAN message containing an authentication seed produces
- Rewritten ECU 103 that has received the update frame including the authentication key transmits a CAN message related to the authentication result based on the received authentication key to CAN bus 20 (step S604).
- the evaluation apparatus 101 When the evaluation apparatus 101 receives the CAN message related to the authentication result from the CAN bus 20 and detects that the CAN message related to the authentication result flows to the CAN bus 20, the entire CAN message is received by the rewriting execution ECU 102. Before being sent, an error frame is transmitted, and the CAN message related to the authentication result transmitted by the rewritten ECU 103 is invalidated (step S901). The CAN message related to the authentication result on the CAN bus 20 is overwritten by an error frame, and becomes invalid because it cannot be received correctly.
- the evaluation apparatus 101 transmits a CAN message that means rewrite permission as a false authentication result to the CAN bus 20 (step S902).
- the signal monitoring unit 204 of the evaluation apparatus 101 sequentially records in the storage unit 208 the results of the sequential monitoring of the behavior of the rewrite execution ECU 102 after step S902.
- Rewriting execution ECU102 which received the CAN message meaning the rewriting permission which concerns on a false authentication result implements the subsequent update procedure. That is, the rewrite execution ECU 102 transmits an update frame including a memory erasure command to the CAN bus 20 (step S605).
- the evaluation apparatus 101 causes the CAN bus monitoring unit 203 to record the content of the received update frame including the memory erasure command in the storage unit 208.
- the rewriting execution ECU 102 transmits an update frame including update software to the CAN bus 20 (step S606).
- the evaluation device 101 that has received the update frame including the update software records the received update software in the storage unit 208 by the CAN bus monitoring unit 203.
- the rewriting execution ECU 102 transmits an update frame including an update software signature corresponding to the update software to the CAN bus 20 (step S607).
- the rewritten ECU 103 that has received the update frame including the update software signature records the received update software signature in the storage unit 208 by the CAN bus monitoring unit 203.
- the rewrite execution ECU 102 transmits an update frame indicating a restart instruction to the CAN bus 20 (step S608).
- the evaluation apparatus 101 Upon receiving the update frame indicating the restart instruction, the evaluation apparatus 101 causes the CAN bus monitoring unit 203 to record the content of the received update frame indicating the restart instruction in the storage unit 208.
- the evaluation apparatus 101 performs evaluation by confirming the information related to the content received from the CAN bus 20 and the information related to the operation of the rewrite execution ECU 102 after step S902 recorded in the storage unit 208. (Step S1001). That is, the evaluation apparatus 101 compares the received content and the operation of the rewrite execution ECU 102 with the expected value of the attack in the same manner as the evaluation in step S801 described above, thereby evaluating the security of the electronic control system 11 (success / failure of the attack). Etc.).
- FIGS. 13 and 14 are sequence diagrams illustrating the operation (operation example 3) of the evaluation system 10 that evaluates the electronic control system 11.
- the sequence diagram shown in FIG. 13 is continued from the sequence diagram shown in FIG.
- the operation example 3 shows an example in which the evaluation apparatus 101 performs evaluation related to the evaluation item of the rewritten function 1 shown in FIG.
- the evaluation apparatus 101 evaluates the security of the electronic control system 11 by performing an attack that impersonates the rewriting execution ECU 102 and causes the rewritten ECU 103 to perform erroneous recognition.
- the operation example 3 will be described below with reference to FIGS. 13 and 14.
- the rewrite execution ECU 102 transmits an update frame indicating a rewrite mode transition instruction to the CAN bus 20 (step S601).
- Rewritten ECU 103 that has received the update frame including the rewrite mode transition instruction transmits a CAN message including the authentication seed to CAN bus 20 (step S602).
- Rewriting execution ECU102 which received the CAN message containing an authentication seed produces
- the rewritten ECU 103 that has received the update frame including the authentication key transmits a CAN message indicating permission of rewriting to the CAN bus 20 as an authentication result based on the received authentication key (step S604).
- Rewriting execution ECU102 which received CAN message which means rewriting permission as an authentication result transmits the frame for an update containing a memory deletion command to CAN bus 20 (step S605).
- the evaluation apparatus 101 When the evaluation apparatus 101 receives the update frame including the memory erase command from the CAN bus 20 and detects that the update frame including the memory erase command is flowing to the CAN bus 20, the entire CAN message is received. An error frame is transmitted before being received by the rewrite ECU 103, and the update frame transmitted by the rewrite execution ECU 102 is invalidated (step S1101). An update frame including a memory erasure command on the CAN bus 20 is overwritten by an error frame, and becomes invalid because it cannot be correctly received.
- the evaluation apparatus 101 transmits an update frame including a memory erase command to the CAN bus 20 (step S1102).
- the CAN bus monitoring unit 203 and the signal monitoring unit 204 of the evaluation apparatus 101 sequentially record in the storage unit 208 the results of sequential monitoring of the operation or response of the rewritten ECU 103 after step S1102.
- the signal monitoring unit 204 records, in the storage unit 208, the operation of the rewritten ECU 103 after receiving the update frame including the memory erasure command (for example, the stored contents of the program storage unit 404 is deleted).
- the evaluation apparatus 101 transmits an update frame including update software to the CAN bus 20 (step S1103).
- the update software does not necessarily have regular contents, and may be fake update software.
- the evaluation apparatus 101 records the operation or response of the rewritten ECU 103 after receiving the update frame including the update software in the storage unit 208.
- the evaluation apparatus 101 transmits an update frame including an update software signature corresponding to the update software to the CAN bus 20 (step S1201).
- the evaluation apparatus 101 records the operation, response, and the like of the rewritten ECU 103 after receiving the update frame including the update software signature in the storage unit 208.
- the evaluation apparatus 101 may have information such as update software, an update software signature, and a key necessary for use in signature generation (information necessary for update processing) in advance.
- the evaluation apparatus 101 transmits an update frame indicating a restart instruction to the CAN bus 20 (step S1202).
- the evaluation apparatus 101 records the operation (for example, whether the restart has been performed) or the response of the rewritten ECU 103 after receiving the update frame indicating the restart instruction in the storage unit 208.
- the evaluation apparatus 101 performs evaluation by confirming the information related to the content received from the CAN bus 20 and the information related to the operation of the rewritten ECU 103 after step S1102 recorded in the storage unit 208. (Step S1203). That is, the evaluation apparatus 101 evaluates the security of the electronic control system 11 (determination of the success or failure of the attack, etc.) by comparing the received content and the operation of the rewritten ECU 103 with the expected value of the attack. In the evaluation apparatus 101, for example, the confirmed received content and the confirmed operation of the rewritten ECU 103 are the same as the expected attack value (the same operation as when the update frame is received from the rewriting execution ECU 102). It is determined that the attack is successful.
- the evaluation apparatus 101 may determine whether or not the attack is successful based on the expected value of the attack using only one of the monitoring result from the CAN bus monitoring unit 203 and the monitoring result from the signal monitoring unit 204. good. Further, the evaluation apparatus 101 may perform detailed evaluation of the security of the electronic control system 11 that is the evaluation target in step S1203. For example, in addition to the success or failure of the entire attack, the transmission of an attack frame may be referred to. The success or failure of each attack may be determined, and it may be confirmed whether or not each of various defense functions has acted, the degree of protection, and the like.
- FIG. 15 and FIG. 16 are sequence diagrams illustrating the operation (operation example 4) of the evaluation system 10 that evaluates the electronic control system 11.
- the sequence diagram shown in FIG. 15 is continued from the sequence diagram shown in FIG.
- the operation example 4 shows an example in which the evaluation apparatus 101 performs the evaluation related to the evaluation item called the rewritten function 2 shown in FIG.
- the evaluation apparatus 101 evaluates the security of the electronic control system 11 by performing an attack that impersonates the rewriting execution ECU 102 and causes the rewritten ECU 103 to perform erroneous recognition.
- the operation example 4 will be described with reference to FIGS. 15 and 16.
- the rewrite execution ECU 102 transmits an update frame indicating a rewrite mode transition instruction to the CAN bus 20 (step S601).
- Rewritten ECU 103 that has received the update frame including the rewrite mode transition instruction transmits a CAN message including the authentication seed to CAN bus 20 (step S602).
- Rewriting execution ECU102 which received the CAN message containing an authentication seed produces
- the rewritten ECU 103 that has received the update frame including the authentication key transmits a CAN message indicating permission of rewriting to the CAN bus 20 as an authentication result based on the received authentication key (step S604).
- Rewriting execution ECU102 which received CAN message which means rewriting permission as an authentication result transmits the frame for an update containing a memory deletion command to CAN bus 20 (step S605).
- Rewritten ECU 103 that has received the update frame including the memory erasure command erases the contents stored in program storage unit 404 (the contents of the area for storing the update software).
- the rewriting execution ECU 102 transmits an update frame including update software to the CAN bus 20 (step S606).
- the evaluation apparatus 101 When the evaluation apparatus 101 receives the update frame including the update software from the CAN bus 20 and detects that the update frame including the update software flows to the CAN bus 20, the entire CAN message is rewritten to the ECU 103. Before being received, the error frame is transmitted, and the update frame transmitted by the rewrite execution ECU 102 is invalidated (step S1301). An update frame including update software on the CAN bus 20 is overwritten by an error frame, and becomes invalid because it cannot be received correctly.
- the evaluation apparatus 101 transmits an update frame including fake update software to the CAN bus 20 (step S1302).
- the CAN bus monitoring unit 203 and the signal monitoring unit 204 of the evaluation apparatus 101 sequentially record the results of sequential monitoring of the operation or response of the rewritten ECU 103 after step S1302 in the storage unit 208.
- the signal monitoring unit 204 receives the update frame including the fake update software based on the debug output signal of the rewritten ECU 103 or the like (for example, the false operation to the program storage unit 404). Storage of the update software) and the like in the storage unit 208.
- the evaluation apparatus 101 transmits an update frame including a fake update software signature corresponding to the fake update software to the CAN bus 20 (step S1401).
- the evaluation apparatus 101 records the operation, response, and the like of the rewritten ECU 103 after receiving the update frame including the fake update software signature in the storage unit 208.
- the evaluation apparatus 101 transmits an update frame indicating a restart instruction to the CAN bus 20 (step S1402).
- the evaluation apparatus 101 records the operation or response of the rewritten ECU 103 after receiving the update frame indicating the restart instruction in the storage unit 208.
- the evaluation apparatus 101 performs evaluation by checking the information related to the content received from the CAN bus 20 and the information related to the operation of the rewritten ECU 103 after step S1302 recorded in the storage unit 208. (Step S1403). That is, the evaluation apparatus 101 evaluates the security of the electronic control system 11 (success / failure of the attack) by comparing the received content and the operation of the rewritten ECU 103 with the expected value of the attack, similarly to the evaluation in step S1203 described above. Etc.).
- FIGS. 17 and 18 are sequence diagrams illustrating the operation (operation example 5) of the evaluation system 10 that evaluates the electronic control system 11.
- the sequence diagram shown in FIG. 17 is continued from the sequence diagram shown in FIG.
- the operation example 5 shows an example in which the evaluation apparatus 101 performs the evaluation related to the evaluation item of the rewritten function 3 shown in FIG.
- the evaluation apparatus 101 evaluates the security of the electronic control system 11 by performing an attack that impersonates the rewriting execution ECU 102 and causes the rewritten ECU 103 to perform erroneous recognition.
- the operation example 5 will be described with reference to FIGS. 17 and 18.
- the rewrite execution ECU 102 transmits an update frame indicating a rewrite mode transition instruction to the CAN bus 20 (step S601).
- Rewritten ECU 103 that has received the update frame including the rewrite mode transition instruction transmits a CAN message including the authentication seed to CAN bus 20 (step S602).
- Rewriting execution ECU102 which received the CAN message containing an authentication seed produces
- the rewritten ECU 103 that has received the update frame including the authentication key transmits a CAN message indicating permission of rewriting to the CAN bus 20 as an authentication result based on the received authentication key (step S604).
- Rewriting execution ECU102 which received CAN message which means rewriting permission as an authentication result transmits the frame for an update containing a memory deletion command to CAN bus 20 (step S605).
- Rewritten ECU 103 that has received the update frame including the memory erasure command erases the contents stored in program storage unit 404 (the contents of the area for storing the update software).
- the rewriting execution ECU 102 transmits an update frame including update software to the CAN bus 20 (step S606).
- the rewritten ECU 103 that has received the update frame including the update software writes the received update software in the program storage unit 404.
- the rewriting execution ECU 102 transmits an update frame including an update software signature corresponding to the update software to the CAN bus 20 (step S607).
- the evaluation apparatus 101 When the evaluation apparatus 101 receives the update frame including the update software signature from the CAN bus 20 and detects that the update frame including the update software signature is flowing into the CAN bus 20, the entire CAN message is received. An error frame is transmitted before being received by the rewrite ECU 103, and the update frame transmitted by the rewrite execution ECU 102 is invalidated (step S1501). An update frame including an update software signature on the CAN bus 20 is overwritten by an error frame, and becomes invalid because it cannot be received correctly.
- the evaluation apparatus 101 transmits an update frame including a fake update software signature corresponding to the update software to the CAN bus 20 (step S1601).
- the evaluation apparatus 101 records the operation, response, and the like of the rewritten ECU 103 after receiving the update frame including the fake update software signature in the storage unit 208.
- the evaluation apparatus 101 transmits an update frame indicating a restart instruction to the CAN bus 20 (step S1602).
- the evaluation apparatus 101 records the operation or response of the rewritten ECU 103 after receiving the update frame indicating the restart instruction in the storage unit 208.
- the evaluation apparatus 101 performs evaluation by confirming the information related to the content received from the CAN bus 20 and the information related to the operation of the rewritten ECU 103 after step S1601 recorded in the storage unit 208. (Step S1603). That is, the evaluation apparatus 101 evaluates the security of the electronic control system 11 (success / failure of the attack) by comparing the received content and the operation of the rewritten ECU 103 with the expected value of the attack, similarly to the evaluation in step S1203 described above. Etc.).
- the evaluation device 101 has been shown to attack by impersonating the rewriting execution ECU 102 or the rewritten ECU 103 in relation to the software update processing in the electronic control system 11.
- An impersonation attack may be performed, or an attack may be performed by transmitting an error frame and a CAN message not related to the update process.
- the various ECUs have been described assuming real (actual) ECUs.
- various ECUs in the electronic control system 11 as an evaluation target of the evaluation system 10 simulate (simulate) the ECU instead of a real ECU (for example, an ECU mounted on an evaluation board, an ECU as a product, etc.).
- G) may be a simulated ECU (for example, a computer that executes simulation software that simulates the function, behavior, etc. of the ECU).
- the evaluation apparatus 101 monitors the operation of the ECU by observing changes in predetermined data (the contents of the predetermined memory area of the computer or the output contents) related to the simulation software in the computer. You may do it.
- the evaluation apparatus 101 is an example of one apparatus connected to the CAN bus 20. However, the evaluation apparatus 101 transmits an attack frame according to the attack procedure information 105. Separated into a plurality of housings such as a device and a monitoring device that monitors a CAN message flowing through the CAN bus 20, a stored content of an ECU connected to the CAN bus 20, an output signal output to a signal line, etc. It is also possible to provide a different configuration.
- the monitoring device or monitoring unit 200 may monitor any ECU connected to the CAN bus 20.
- the monitoring device or the monitoring unit 200 may use any method as a monitoring method for the ECU, for example, may directly monitor using a dedicated signal line connected to the ECU, or may use a CAN message. Indirect monitoring may be performed, or indirect monitoring may be performed based on the state of the vehicle that may change in connection with the operation of the ECU.
- the electronic control system 11 including the in-vehicle network using the CAN bus 20 is exemplified as the evaluation target of the evaluation system 10.
- the evaluation apparatus 101 transmits an attack frame in the evaluation system 10.
- the network to be monitored does not necessarily have to be an in-vehicle network, and may be a network other than the CAN bus 20 that performs communication using the CAN protocol.
- the evaluation system 10 may evaluate a network such as a robot or an industrial device or another network communication system.
- the CAN protocol has a broad meaning including CANNOpen used for embedded systems in automation systems, or derivative protocols such as TTCAN (Time-Triggered CAN) and CANFD (CAN with Flexible Data Rate). It may be treated as.
- a communication protocol other than the CAN protocol such as Ethernet (registered trademark), MOST (registered trademark), FlexRay (registered trademark), LIN (Local Interconnect Network), etc. May be used.
- a system including a complex network in which networks in accordance with various protocols are combined may be evaluated, and the evaluation apparatus 101 may attack and monitor the network.
- the evaluation apparatus 101 can perform evaluation by transmitting an attack frame including an invalidation frame (for example, an error frame in CAN) for invalidation of a frame transmitted by another node in the above-described network.
- the invalidation frame may be a frame that invalidates a frame transmitted by another node by overwriting or other methods.
- Invalidation is to change the state of the frame from the normal state in order to prevent proper reception of the frame. For example, it may be overwritten to change one bit or more, or without changing the frame itself.
- An invalid state may be set by a method defined by the communication protocol (addition of information indicating that the preceding frame is invalid).
- the evaluation device 101 after the evaluation device 101 invalidates the CAN message transmitted by the ECU to be impersonated by transmitting an error frame, the evaluation device 101 performs an operation of updating the ECU to be impersonated.
- the evaluation apparatus 101 may transmit only a part of a plurality of CAN messages that should be transmitted by the ECU to be impersonated.
- the attack procedure information 105 defines the transmission order of a plurality of attack frames including an error frame and a CAN message has been described.
- transmission of only a plurality of error frames may be specified.
- transmission timing of error frames, transmission interval, or transmission condition (which ID should be transmitted when a CAN message flows on the bus) Conditions, etc.) may be specified.
- the evaluation device 101 can evaluate the security of the electronic control system 11 by confirming the behavior of the ECU with respect to the transmission of the error frame.
- the evaluation apparatus 101 performs evaluation such as determination of presence / absence of attack resistance based on the number and ratio of fraudulent CAN messages that have passed through the defense as an evaluation of the security to be evaluated (attack resistance, etc.) It may be.
- the evaluation apparatus 101 can use a threshold value that defines an upper limit or the like for the number and ratio of fraudulent CAN messages in order to determine whether or not there is attack resistance. This threshold value may be arbitrarily set for the evaluation apparatus 101, or may be changed (adjusted) according to the evaluation result or the like when the evaluation is repeatedly performed. Further, the evaluation apparatus 101 may calculate the attack success rate (success frequency or the like).
- the evaluation apparatus 101 may evaluate whether or not each of the plurality of defense functions operates or how effectively it acts, in addition to the determination of success or failure of the attack or the success or failure of the defense.
- the transmission unit 201a repeats an attack pattern for transmitting a plurality of frames to the CAN bus 20 in the transmission order indicated by the attack procedure information 105, and the evaluation unit 206 monitors the attack pattern by repeating the attack pattern.
- the evaluation may be performed so that the evaluation results differ depending on whether or not there are 200 monitoring result changes.
- the evaluation apparatus 101 repeats the transmission of a false authentication seed or the transmission of a false authentication key a plurality of times, the success or failure of the attack is determined based on whether or not a response can be received by performing a certain number of times. May be.
- the evaluation result in the evaluation unit 206 of the evaluation apparatus 101 is recorded in a storage medium such as a memory by the evaluation apparatus 101 and is also output to the outside of the evaluation apparatus 101 (for example, display of the evaluation result, information indicating the evaluation result) Etc.).
- the evaluation unit 206 may output information indicating whether or not the electronic control system to be evaluated has attack resistance as an evaluation result.
- the security function including the security ECU 104 in the electronic control system 11 to be evaluated may record log information (such as a CAN message reception history) regarding fraud detection.
- the evaluation apparatus 101 By comparing the log information with the expected value related to the attack held by the evaluation apparatus 101, it is possible to determine whether or not the attack has succeeded or to calculate the probability of successful attack, etc. It is good also as performing evaluation of.
- the electronic control system 11 can include the independent security ECU 104 as a security function.
- all or some of the plurality of ECUs that communicate via the bus have security functions. It is good also as providing.
- a plurality of ECUs may be realized by distributing security functions.
- the evaluation apparatus 101 is directly connected to the bus in the electronic control system 11 to be evaluated.
- a relay device such as a gateway is provided between the evaluation apparatus 101 and the evaluation object. It may be interposed.
- the evaluation apparatus 101 performs mutual authentication or one-way authentication with the gateway and transmits an attack CAN message to cause the gateway to transfer the CAN message to the CAN bus 20. It is good also as evaluating the security (attack tolerance etc.) of evaluation object by acquiring the CAN message from A through a gateway.
- the evaluation device 101 performs the operation of transmitting a false authentication seed and obtaining the authentication key from the rewrite execution ECU 102 a plurality of times, and analyzing the tendency to determine whether the authentication key can be analogized. May be evaluated.
- the evaluation device 101 and the various ECUs in the above embodiment are devices including a digital circuit such as a processor and a memory, an analog circuit, a communication circuit, etc., but other than a display, a keyboard, a mouse, etc.
- the hardware components may be included.
- the function may be realized by dedicated hardware (digital circuit or the like).
- the functional blocks of the CAN bus monitoring unit 203, the signal monitoring unit 204, the transmission / reception unit 201, the holding unit 202, the evaluation unit 206, the storage unit 208, and the control unit 207 of the evaluation apparatus 101 can be realized by an integrated circuit.
- the functional blocks of the transmission / reception unit 301, the signature storage unit 302, the key storage unit 303, the program storage unit 304, the rewrite procedure information storage unit 305, and the control unit 306 of the rewrite execution ECU 102 can be realized by an integrated circuit.
- the functional blocks of the transmission / reception unit 401, signature storage unit 402, key storage unit 403, program storage unit 404, rewrite procedure information storage unit 405, and control unit 406 of the rewritten ECU 103 can be realized by an integrated circuit.
- the functional blocks of the transmission / reception unit 501, the CAN bus monitoring unit 502, and the control unit 503 of the security ECU 104 can be realized by an integrated circuit.
- the system LSI is an ultra-multifunctional LSI manufactured by integrating a plurality of components on a single chip.
- the system LSI is a computer system including a microprocessor, a ROM, a RAM, and the like. .
- a computer program is recorded in the RAM.
- the system LSI achieves its functions by the microprocessor operating according to the computer program.
- each part of the constituent elements constituting each of the above devices may be individually made into one chip, or may be made into one chip so as to include a part or the whole.
- the system LSI is used here, it may be called IC, LSI, super LSI, or ultra LSI depending on the degree of integration.
- the method of circuit integration is not limited to LSI's, and implementation using dedicated circuitry or general purpose processors is also possible.
- An FPGA Field Programmable Gate Array
- a reconfigurable processor that can reconfigure the connection and setting of circuit cells inside the LSI may be used.
- integrated circuit technology comes out to replace LSI's as a result of the advancement of semiconductor technology or a derivative other technology, it is naturally also possible to carry out function block integration using this technology. Biotechnology can be applied as a possibility.
- a part or all of the constituent elements constituting each of the above devices may be constituted by an IC card or a single module that can be attached to and detached from each device.
- the IC card or the module is a computer system including a microprocessor, a ROM, a RAM, and the like.
- the IC card or the module may include the super multifunctional LSI described above.
- the IC card or the module achieves its function by the microprocessor operating according to the computer program. This IC card or this module may have tamper resistance.
- an evaluation method including all or part of the processing procedures illustrated in FIGS. 9 to 18 and the like may be used.
- the evaluation method is an evaluation method for evaluating the security of the electronic control system 11 including a plurality of ECUs communicating via a bus (for example, the CAN bus 20), and an invalidation frame for invalidating a frame on the bus.
- attack frames including for example, CAN error frames
- the bus for example, S701 to S703, S901, S902, S1101 to S1103, S1201, S1202, S1301, S1302, S1401, S1402, S1501, S1601, S1602
- attack frame is transmitted to the bus
- one or more of the plurality of ECUs are monitored and evaluated based on the monitoring results (eg, S801, S1001, S1203, It is an evaluation method for performing S1403 and S1603) .
- a computer program that realizes the processing according to the evaluation method by a computer may be used, or a digital signal that includes the computer program may be used.
- a computer-readable recording medium such as a flexible disk, a hard disk, a CD-ROM, an MO, a DVD, a DVD-ROM, a DVD-RAM, or a BD can be used as the computer program or the digital signal.
- (Blu-ray (registered trademark) Disc) recorded on a semiconductor memory or the like.
- the digital signal may be recorded on these recording media.
- the computer program or the digital signal may be transmitted via an electric communication line, a wireless or wired communication line, a network typified by the Internet, data broadcasting, or the like.
- an aspect of the present disclosure may be a computer system including a microprocessor and a memory, the memory recording the computer program, and the microprocessor operating according to the computer program. Also, by recording and transferring the program or the digital signal on the recording medium, or by transferring the program or the digital signal via the network or the like, by another independent computer system It may be carried out.
- This disclosure can be used to evaluate whether or not the security countermeasure technology applied to the electronic control system can appropriately prevent an attack.
- Evaluation System 11 Electronic Control System 20 Bus (CAN Bus) 101 Evaluation Device 102 Rewriting Execution ECU 103 Rewritten ECU 104 Security ECU 105 Attack procedure information 200 Monitoring unit 201, 301, 401, 501 Transmission / reception unit 201a Transmission unit 201b Reception unit 202 Holding unit 203, 502 CAN bus monitoring unit 204 Signal monitoring unit 206 Evaluation unit 207, 306, 406, 503 Control unit 208 Storage Unit 302, 402 Signature storage unit 303, 403 Key storage unit 304, 404 Program storage unit 305, 405 Rewrite procedure information storage unit
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mechanical Engineering (AREA)
- Computing Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
複数のECUが通信に用いるバスに接続され、電子制御システムのセキュリティに関する評価を行う評価装置(101)は、バス上のフレームを無効化する無効化フレームを含む、1つ以上の攻撃用のフレームを、バスに送信する送信部(201a)と、複数のECUのうち1つ以上のECUについて監視する監視部(200)と、送信部(201a)により攻撃用のフレームがバスに送信される際における監視部(200)の監視結果に基づいて評価を行う評価部(206)とを備える。
Description
本開示は、車載ネットワークシステム等の電子制御ユニットが通信を行う電子制御システムのセキュリティ(攻撃耐性等)に関する評価を行う技術に関する。
近年、自動車には多数の電子制御ユニット(ECU:Electronic Control Unit)が配置され、ECUをつなぐ車載ネットワークには、例えばISO11898-1で規定されているCAN(Controller Area Network)規格等が用いられる。
CANでは、通信路は2本のワイヤで構成されたバスであり、バスに接続されているECUはノードと呼ばれる。バスに接続されている各ノードは、フレームと呼ばれるメッセージを送受信する。フレームを送信する送信ノードは、2本のバスに電圧をかけ、バス間で電位差を発生させることによって、レセシブと呼ばれる「1」の値と、ドミナントと呼ばれる「0」の値を送信する。複数の送信ノードが全く同一のタイミングで、レセシブとドミナントを送信した場合は、ドミナントが優先されて送信される。受信ノードは、受け取ったフレームのフォーマットに異常がある場合には、エラーフレームと呼ばれるフレームを送信する。エラーフレームとは、ドミナントを6bit連続して送信することで、送信ノードや他の受信ノードにフレームの異常を通知するものである。
車載ネットワークに対する攻撃としては、攻撃者が車内の情報端末に無線通信でアクセスし、情報端末のプログラムを不正に書き換えてその情報端末から車載ネットワークに対して任意のCANメッセージを送信し、車載ECUにつながるアクチュエータを運転者の意図に反して制御するような攻撃が知られている。自動車の運転自動化等に向けて、車載ECU自体がV2X(車車間通信(V2V:Vehicle to Vehicle)及び路車間通信(V2I:Vehicle to Infrastructure))等の無線通信の機能を搭載する状況になれば、情報端末と同様に、V2Xに対応するECUのプログラムが不正に書き換えられ、攻撃に利用され得る。
攻撃対策の評価手法については、現状ではまだ研究が少ないが、例えば、非特許文献1には、単体の車載ECUにデータを送信してその応答に注目することで不具合(プログラミング間違いによるバグの混入等)を見つけるファジング手法が開示されている。
松本勉、小林優希、土屋遊、吉田直樹、森田伸義、萱島信、「車載ECUに対するCAN経由のファジング手法」、SCIS2015、2015年1月20日
本開示の一態様に係る評価装置は、電子制御システムを構成する複数の電子制御ユニットが通信に用いるバスに接続され、当該電子制御システムのセキュリティに関する評価を行う評価装置であって、前記バス上のフレームを無効化する無効化フレームを含む、1つ以上の攻撃用のフレームを、前記バスに送信する送信部と、前記複数の電子制御ユニットのうち1つ以上の電子制御ユニットについて監視する監視部と、前記送信部により前記攻撃用のフレームが前記バスに送信される際における前記監視部の監視結果に基づいて前記評価を行う評価部とを備える評価装置である。
また、本開示の一態様に係る評価システムは、バスを介して通信する複数の電子制御ユニットを備える電子制御システムのセキュリティに関する評価を行う評価システムであって、前記バス上のフレームを無効化する無効化フレームを含む、1つ以上の攻撃用のフレームを、前記バスに送信する送信部と、前記複数の電子制御ユニットのうち1つ以上の電子制御ユニットについて監視する監視部と、前記送信部により前記攻撃用のフレームが前記バスに送信される際における前記監視部の監視結果に基づいて前記評価を行う評価部とを備える評価システムである。
また、本開示の一態様に係る評価方法は、バスを介して通信する複数の電子制御ユニットを備える電子制御システムのセキュリティに関する評価を行う評価方法であって、前記バス上のフレームを無効化する無効化フレームを含む、1つ以上の攻撃用のフレームを、前記バスに送信し、前記攻撃用のフレームが前記バスに送信される際に、前記複数の電子制御ユニットのうち1つ以上の電子制御ユニットについて監視し、前記監視による監視結果に基づいて前記評価を行う評価方法である。
本開示によれば、複数のECUから構成される電子制御システムの攻撃耐性(電子制御システムに施されたセキュリティ対策技術が攻撃を適切に防御できるか否か等)について評価することが可能となる。
(本発明の基礎となった知見)
非特許文献1の手法は、単体の車載ECUの不具合を見つけることはできても、車載ネットワークを形成する複数のECUで構成されるシステム(電子制御システム)を評価対象としてセキュリティ(評価対象に施されたセキュリティ対策技術が攻撃を適切に防御できるか否かという攻撃耐性等)に関する評価を行えるものではない。
非特許文献1の手法は、単体の車載ECUの不具合を見つけることはできても、車載ネットワークを形成する複数のECUで構成されるシステム(電子制御システム)を評価対象としてセキュリティ(評価対象に施されたセキュリティ対策技術が攻撃を適切に防御できるか否かという攻撃耐性等)に関する評価を行えるものではない。
そこで、本開示は、複数のECUから構成される電子制御システムを評価対象としてセキュリティに関する評価を行い得る評価装置を提供する。また、本開示は、複数のECUから構成される電子制御システムのセキュリティに関する評価を行い得る評価システム及びその評価のための評価方法を提供する。
本開示の一態様に係る評価装置は、電子制御システムを構成する複数の電子制御ユニットが通信に用いるバスに接続され、当該電子制御システムのセキュリティに関する評価を行う評価装置であって、前記バス上のフレームを無効化する無効化フレームを含む、1つ以上の攻撃用のフレームを、前記バスに送信する送信部と、前記複数の電子制御ユニットのうち1つ以上の電子制御ユニットについて監視する監視部と、前記送信部により前記攻撃用のフレームが前記バスに送信される際における前記監視部の監視結果に基づいて前記評価を行う評価部とを備える評価装置である。監視部は、送信部により攻撃用のフレーム(例えばCANのデータフレーム、エラーフレーム等)がバスに送信される際に(例えば、送信直後に、或いは、送信直前から送信直後に亘り)、電子制御ユニット(ECU)について直接又は間接的に監視し得る。これにより、複数のECUから構成される電子制御システムを評価対象として、フレームの送信に基づくECUへの攻撃への防御機能等といったセキュリティ機能(攻撃耐性等)の評価を行い得る。
また、例えば、前記複数の電子制御ユニットは、CAN(Controller Area Network)プロトコルに従って前記バスを介して通信を行い、前記無効化フレームは、エラーフレームであることとしても良い。これにより、ECU間でフレームの授受を行うためのCANに従うネットワークにおける、エラーフレームを含む攻撃用のフレームの送信による攻撃に対するセキュリティ機能の評価が可能となり得る。
また、例えば、前記評価装置は更に、攻撃用の複数のフレームの内容及び送信順序を示す攻撃手順情報を保持する保持部を備え、前記送信部は、前記攻撃手順情報が示す送信順序に従って前記攻撃用の複数のフレームを前記バスに送信することとしても良い。これにより、複数のフレームの送信順序等で定まる攻撃方法に対する防御機能等の評価が可能となり得る。
また、例えば、前記評価装置は、前記バスからフレームを受信する受信部を備え、前記攻撃手順情報は、エラーフレームの次に所定IDを有する攻撃用のフレームを送信することを示し、前記送信部は、前記受信部が前記バスから前記所定IDを有するフレームを受信した際に前記エラーフレームを送信することとしても良い。これにより、例えば、電子制御システムにおいて所定IDを有するフレームの送信元として規定されているECUになりすまして攻撃する攻撃方法に対するセキュリティ機能の評価が可能となり得る。
また、例えば、前記攻撃手順情報は更に攻撃用の前記複数のフレームについての送信間隔を示し、前記送信部は、前記攻撃手順情報が示す送信順序及び送信間隔に従って前記複数のフレームを前記バスに送信することとしても良い。これにより、複数のフレームの送信順序及び送信間隔で定まる攻撃方法に対する防御機能等の評価が可能となり得る。
また、例えば、前記送信部は、エラーフレームの送信後に、当該エラーフレームで無効化したフレームと、同一のIDを有し内容の相違する攻撃用のフレームを送信することとしても良い。これにより、例えば、電子制御システムにおいてバスに送信されたフレームをエラーフレームで無効化して内容を一部変更したフレームを送信するという比較的容易に実施可能な攻撃方法を用いることで効率的なセキュリティ機能の評価が可能となり得る。
また、例えば、前記送信部は、エラーフレームの送信後に、前記電子制御システムにおいて前記複数の電子制御ユニットのいずれかのソフトウェアの更新処理のために予め定められている更新用IDを有する攻撃用のフレームを送信し、前記監視部は、前記更新用IDを有するフレームの受信に応じて保持しているソフトウェアの更新処理を行う機能を有する電子制御ユニット、又は、前記更新用IDを有するフレームを送信する電子制御ユニットについて、前記監視を行うこととしても良い。ソフトウェアの更新処理は、更新そのものであっても良いし、更新の前処理や後処理といった適切な更新のために行われる付帯処理等であっても良いし、両方を含んでいても良い。これにより、例えば、攻撃者が電子制御システムの一部のECUを支配するための攻撃の一種であるところの、ECUのファームウェア等といったソフトウェアの更新に関連した攻撃に対する電子制御システムのセキュリティ機能の評価が可能となり得る。
また、例えば、前記監視部は、前記送信部により攻撃用のフレームが前記バスに送信された場合における前記複数の電子制御ユニットのうちの1つの電子制御ユニットの動作が、所定動作と一致するか否かを検出することで、前記監視を行い、前記評価部は、前記送信部により前記攻撃用のフレームが前記バスに送信された後における前記監視部による前記検出の結果に応じて評価結果が相違するように前記評価を行うこととしても良い。所定動作は、攻撃が成功した場合に予測(期待)されるECUの動作、攻撃が失敗した場合に予測されるECUの動作、正規のフレームを受信した場合におけるECUの通常の動作等であり得る。これにより、電子制御システムのセキュリティ機能の適切な評価が可能となり得る。
また、例えば、前記評価装置は、前記バスからフレームを受信する受信部を備え、前記監視部は、前記電子制御ユニットについての前記監視として、前記受信部により特定フレームが受信されたことの検出を行い、前記評価部は、前記送信部により前記攻撃用のフレームが前記バスに送信された後の一定期間内に、前記特定フレームが受信されたことが前記監視部により検出されたか否かに応じて評価結果が相違するように前記評価を行うこととしても良い。特定フレームは、例えば攻撃が成功した場合或いは失敗した場合に送信されることが予測(期待)されるフレームであり、例えば、電子制御システムで規定されたフレームのIDにより識別可能である。これにより、例えばECUと直接通信する等に依らなくても、バスの監視により適切に電子制御システムを評価し得る。
また、例えば、前記評価部は、評価結果として前記電子制御システムに攻撃耐性があるか否かを示す情報を出力することとしても良い。これにより、例えば、評価装置の利用者等は、電子制御システムに攻撃耐性があるか否かを知り得る。
また、本開示の一態様に係る評価システムは、バスを介して通信する複数の電子制御ユニットを備える電子制御システムのセキュリティに関する評価を行う評価システムであって、前記バス上のフレームを無効化する無効化フレームを含む、1つ以上の攻撃用のフレームを、前記バスに送信する送信部と、前記複数の電子制御ユニットのうち1つ以上の電子制御ユニットについて監視する監視部と、前記送信部により前記攻撃用のフレームが前記バスに送信される際における前記監視部の監視結果に基づいて前記評価を行う評価部とを備える評価システムである。これにより、複数のECUから構成される電子制御システムにおけるECUへのフレームの送信による攻撃への防御機能等といったセキュリティ機能の評価が可能となり得る。
また、本開示の一態様に係る評価方法は、バスを介して通信する複数の電子制御ユニットを備える電子制御システムのセキュリティに関する評価を行う評価方法であって、前記バス上のフレームを無効化する無効化フレームを含む、1つ以上の攻撃用のフレームを、前記バスに送信し、前記攻撃用のフレームが前記バスに送信される際に、前記複数の電子制御ユニットのうち1つ以上の電子制御ユニットについて監視し、前記監視による監視結果に基づいて前記評価を行う評価方法である。これにより、複数のECUから構成される電子制御システムを評価対象として、フレームの送信による攻撃への防御機能等といったセキュリティ機能の評価が可能となり得る。
なお、これらの全般的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータで読み取り可能なCD-ROM等の記録媒体で実現されても良く、システム、方法、集積回路、コンピュータプログラム又は記録媒体の任意な組み合わせで実現されても良い。
以下、実施の形態に係る評価システムについて、図面を参照しながら説明する。ここで示す実施の形態は、いずれも本開示の一具体例を示すものである。従って、以下の実施の形態で示される数値、構成要素、構成要素の配置及び接続形態、並びに、ステップ(工程)及びステップの順序等は、一例であって本開示を限定するものではない。以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意に付加可能な構成要素である。また、各図は、模式図であり、必ずしも厳密に図示されたものではない。
(実施の形態1)
以下、自動車(車両)に搭載され、バスを介して通信する複数の電子制御ユニット(ECU)を含んで構成される車載ネットワークシステム(電子制御システム)のセキュリティに関する評価を行う評価装置及び評価方法、並びに、電子制御システムと評価装置とを含む評価システムについて説明する。
以下、自動車(車両)に搭載され、バスを介して通信する複数の電子制御ユニット(ECU)を含んで構成される車載ネットワークシステム(電子制御システム)のセキュリティに関する評価を行う評価装置及び評価方法、並びに、電子制御システムと評価装置とを含む評価システムについて説明する。
[1.1 評価システム10の構成]
図1は、評価システム10の概略構成を示す構成図である。評価システム10は、同図に示すように、評価装置101と、電子制御システム11とを含んで構成される。評価システム10は、電子制御システム11を評価対象として、電子制御システム11の攻撃耐性(攻撃に対して防御を行うセキュリティ対策技術が適切に作用しているか否か等)について評価を行う。
図1は、評価システム10の概略構成を示す構成図である。評価システム10は、同図に示すように、評価装置101と、電子制御システム11とを含んで構成される。評価システム10は、電子制御システム11を評価対象として、電子制御システム11の攻撃耐性(攻撃に対して防御を行うセキュリティ対策技術が適切に作用しているか否か等)について評価を行う。
電子制御システム11は、車載ネットワークシステムであり、車両内の制御装置、センサ、アクチュエータ(例えば電子制御可能にされたステアリング、アクセル、ブレーキ等)、ユーザインタフェース装置等の各種機器に接続されて、車内のバス(CANバス)を介してフレームの送受信を行う複数の電子制御ユニット(ECU)を含んで構成される車載ネットワークを備える。電子制御システム11では、各ECUがフレームを授受して連携することで、例えば、先進運転者支援システム(ADAS:Advanced Driver Assistance System)の一機能である駐車支援機能、車線維持支援機能、衝突回避支援機能等の機能を実現する。各ECUは、ソフトウェアにより制御されており、ECUのソフトウェアは、ある種のフレームのCANバスでの授受を含む手順により書き換え(更新)可能である。
車内には多数のECU等が含まれ得るが、ここでは説明の便宜上、一例として、電子制御システム11は、図1に示すように、書換実施ECU102、被書換ECU103、及び、セキュリティECU104を備えるものとして説明する。なお、各ECUは、CANバス20を通信路としてCAN規格(プロトコル)に従って通信を行う。CANにおいてデータの伝送に用いられるフレームであるデータフレーム(CANメッセージとも称する)は、ID(メッセージID)を格納するIDフィールド、データを格納するデータフィールド等を含むように規定されている。
書換実施ECU102は、CANバス20に接続され、被書換ECU103のソフトウェアの更新処理のためのCANメッセージ(データフレーム)である更新用フレームを、CANバス20へ送信する機能(書換実施機能)を有するECUである。更新用フレームは、電子制御システム11においてソフトウェアの更新処理のために予め定められている更新用IDをメッセージIDとして有するフレームである。更新用フレームとしては、例えば、書換モード遷移指示、認証鍵、メモリ消去命令、更新ソフト(更新用のプログラムである更新ソフトウェア)、更新ソフト署名(更新ソフトウェアに対するデジタル署名)、再起動指示のそれぞれを示すフレーム等がある。書換実施ECU102は、例えば、更新用のソフトウェアを外部から電子制御システム11内に取り込む機能を有するECUである。書換実施ECU102は、具体例としては、カーナビゲーション機能を有するECU、車両外部と通信する外部通信機能を有するECU、装着された記録媒体からデータを読み取る機能を有するECU、診断ポートに接続された診断ツール(故障診断ツール)等である。診断ポートは、車載ネットワーク(CANバス)における、例えばOBD2(On-Board Diagnostics2)等といった診断ツール等と通信するためのインタフェースである。
被書換ECU103は、CANバス20に接続され、更新用フレームの受信によって、自ECU(被書換ECU103)におけるソフトウェアを更新する機能(被書換機能)を有するECUである。被書換ECU103は、例えば、アクチュエータ(例えば、ステアリング、アクセル、ブレーキ等)を制御するECU等であっても良く、更新されるソフトウェアは、例えばそのアクチュエータの制御を含む処理のためのソフトウェアであっても良い。
セキュリティECU104は、CANバス20を常時監視(モニタリング)し、例えば不正なCANメッセージ(攻撃用のCANメッセージ)が流れていることを検知した場合に、そのCANメッセージを無効化する等の対処を行う。CANメッセージの無効化の方法としては、任意の方法を用いることができるが、例えば不正なCANメッセージに重畳させるように、CANプロトコルで規定されたエラーフレームを送信することで無効化し得る。
評価装置101は、電子制御システム11(評価対象)に対して施されたセキュリティ対策技術の攻撃耐性を評価する装置である。評価装置101は、保持する攻撃手順情報105に基づいて、評価対象に対して攻撃(ハッキング)を仕掛け、攻撃への反応を観測するための監視(モニタリング)を行い、監視結果に応じた評価を行う。評価装置101による評価の一例としては、例えば、その攻撃に対する耐性の有無(攻撃或いは防御の成否)の判定が挙げられる。評価装置101は、監視として具体的には、CANバス20を流れるフレーム(メッセージ)の監視、書換実施ECU102及び被書換ECU103の出力信号の監視を行う。なお、評価装置101は、書換実施ECU102或いは被書換ECU103により制御されたアクチュエータ等の挙動(動作)の監視を行うこととしても良い。攻撃手順情報105は、攻撃を仕掛ける際の手順(送信すべきフレームの種類、順序、タイミング、頻度等)を示す。
以下、評価システム10の各構成要素について詳細に説明する。
[1.2 評価装置101の構成]
図2は、評価システム10における評価装置101の構成図である。
図2は、評価システム10における評価装置101の構成図である。
評価装置101は、図2に示すように、監視部200(CANバス監視部203及び信号監視部204)と、送受信部201(送信部201a及び受信部201b)と、保持部202と、評価部206と、制御部207と、記憶部208を含んで構成される。
評価装置101は、例えば、プロセッサ(マイクロプロセッサ)、メモリ等のデジタル回路、アナログ回路、通信回路、ハードディスク等を含む装置である。メモリは、ROM、RAM等であり、プロセッサにより実行される制御プログラム(ソフトウェアとしてのコンピュータプログラム)を記憶することができる。例えばプロセッサが、制御プログラム(コンピュータプログラム)に従って動作(各種回路の制御等)することにより、評価装置101は各種機能を実現することになる。なお、コンピュータプログラムは、所定の機能を達成するために、プロセッサに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
(1)送受信部201
送受信部201は、通信回路等により実現される。送受信部201は、送信部201a及び受信部201bで構成される。送信部201aは、CANバス20に対して、CANメッセージ(例えば、書換モード遷移指示、認証鍵、メモリ消去命令、更新ソフト、更新ソフト署名等の各種情報を示す各種のフレーム等)、或いは、エラーフレームを送信する。エラーフレームは、CANバス20に流れるCANメッセージを無効化し、例えば、その無効化対象となったCANメッセージを送信したECUを、バスオフ状態やエラーアクティブ状態にし得る。受信部201bは、CANバス20を流れるCANメッセージ(例えば書換実施ECU102或いは被書換ECU103により送信された、書換モード遷移指示、認証鍵、メモリ消去命令、更新ソフト、更新ソフト署名、再起動指示、認証シード、認証結果、等の各種情報を示す各種のフレーム等)を受信する。
送受信部201は、通信回路等により実現される。送受信部201は、送信部201a及び受信部201bで構成される。送信部201aは、CANバス20に対して、CANメッセージ(例えば、書換モード遷移指示、認証鍵、メモリ消去命令、更新ソフト、更新ソフト署名等の各種情報を示す各種のフレーム等)、或いは、エラーフレームを送信する。エラーフレームは、CANバス20に流れるCANメッセージを無効化し、例えば、その無効化対象となったCANメッセージを送信したECUを、バスオフ状態やエラーアクティブ状態にし得る。受信部201bは、CANバス20を流れるCANメッセージ(例えば書換実施ECU102或いは被書換ECU103により送信された、書換モード遷移指示、認証鍵、メモリ消去命令、更新ソフト、更新ソフト署名、再起動指示、認証シード、認証結果、等の各種情報を示す各種のフレーム等)を受信する。
(2)保持部202
保持部202は、メモリ、ハードディスク等の記憶媒体で実現され、評価装置101が評価対象の攻撃耐性等を評価するために仕掛ける攻撃の手順を示す攻撃手順情報105を記憶している。攻撃手順情報105は攻撃用の複数のフレーム(CANメッセージ或いはエラーフレーム)の送信順序等を示す。攻撃手順情報105の詳細については後に図6及び図7を用いて説明する。
保持部202は、メモリ、ハードディスク等の記憶媒体で実現され、評価装置101が評価対象の攻撃耐性等を評価するために仕掛ける攻撃の手順を示す攻撃手順情報105を記憶している。攻撃手順情報105は攻撃用の複数のフレーム(CANメッセージ或いはエラーフレーム)の送信順序等を示す。攻撃手順情報105の詳細については後に図6及び図7を用いて説明する。
(3)CANバス監視部203
CANバス監視部203は、例えばプログラムを実行するプロセッサ等により実現され、評価対象の電子制御システム11で複数のECUが接続されているCANバス20を監視する。CANバス監視部203は、具体的には受信部201bを介してCANメッセージを受信して、CANメッセージに含まれるデータの中身(ペイロード)を、記憶部208に記録し、確認する。CANバス監視部203は、例えば、書換実施ECU102についての監視として、書換モード遷移指示、認証鍵、メモリ消去命令、更新ソフト、更新ソフト署名、再起動指示のそれぞれを示す更新用フレームがCANバス20に送信されたことを検出してフレームの内容を確認する。また、CANバス監視部203は、例えば、被書換ECU103についての監視として、認証シード、認証結果のそれぞれを示すフレームがCANバス20に送信されたことを検出してフレームの内容を確認する。監視部200は、CANバス監視部203により、電子制御システム11のECUについての監視として、受信部201bにより特定フレームが受信されたことの検出を行う。この特定フレームは、特定の内容を有する予め規定されたフレームであって、フレームのID、データフィールドの内容等により特定されるフレームであり得る。この特定フレームは、攻撃用のフレームの送信による攻撃に対して電子制御システム11の一部のECUが、特定フレームを送信する或いは送信しないことにより、攻撃が成功したか否か、防御が成功したか否か等が予め区別可能と想定されるフレームである。
CANバス監視部203は、例えばプログラムを実行するプロセッサ等により実現され、評価対象の電子制御システム11で複数のECUが接続されているCANバス20を監視する。CANバス監視部203は、具体的には受信部201bを介してCANメッセージを受信して、CANメッセージに含まれるデータの中身(ペイロード)を、記憶部208に記録し、確認する。CANバス監視部203は、例えば、書換実施ECU102についての監視として、書換モード遷移指示、認証鍵、メモリ消去命令、更新ソフト、更新ソフト署名、再起動指示のそれぞれを示す更新用フレームがCANバス20に送信されたことを検出してフレームの内容を確認する。また、CANバス監視部203は、例えば、被書換ECU103についての監視として、認証シード、認証結果のそれぞれを示すフレームがCANバス20に送信されたことを検出してフレームの内容を確認する。監視部200は、CANバス監視部203により、電子制御システム11のECUについての監視として、受信部201bにより特定フレームが受信されたことの検出を行う。この特定フレームは、特定の内容を有する予め規定されたフレームであって、フレームのID、データフィールドの内容等により特定されるフレームであり得る。この特定フレームは、攻撃用のフレームの送信による攻撃に対して電子制御システム11の一部のECUが、特定フレームを送信する或いは送信しないことにより、攻撃が成功したか否か、防御が成功したか否か等が予め区別可能と想定されるフレームである。
(4)信号監視部204
信号監視部204は、書換実施ECU102及び被書換ECU103がCANバス20以外の信号線等に出力した信号を観測し、信号内容を確認する。信号監視部204は、例えば、書換実施ECU102及び被書換ECU103のそれぞれが信号を出力する信号線に接続する通信回路、プログラムを実行するプロセッサ等により実現される。なお、信号監視部204は、例えば、書換実施ECU102及び被書換ECU103のそれぞれのデバッグ用の出力信号を監視するものであっても良く、電子制御システム11の各ECUは評価に際してデバッグ用の出力信号を出力し得るように構成されることとしても良い。この場合において各ECUは、デバッグ用の出力信号として、ECUの状態を示す情報、メモリ内容を示す情報、或いは、ソフトウェアを実行するプロセッサのリセット(再起動)がなされたことを示す情報等を出力し得る構成を有していても良い。信号監視部204は、信号の観測により、例えば、被書換ECU103がソフトウェアの更新(書き換え)に係る処理を再起動の実行によって完了したか否か等を確認し得る。監視部200は、信号監視部204等により、送信部201aにより攻撃用のフレームがCANバス20に送信された場合における電子制御システム11のいずれかのECUの動作が、所定動作(例えば、攻撃が成功した場合に予測される動作、攻撃が失敗した場合に予測される動作、正規のフレームを受信した場合における通常の動作等)と一致するか否かを検出することで、そのECUの監視を行う。
信号監視部204は、書換実施ECU102及び被書換ECU103がCANバス20以外の信号線等に出力した信号を観測し、信号内容を確認する。信号監視部204は、例えば、書換実施ECU102及び被書換ECU103のそれぞれが信号を出力する信号線に接続する通信回路、プログラムを実行するプロセッサ等により実現される。なお、信号監視部204は、例えば、書換実施ECU102及び被書換ECU103のそれぞれのデバッグ用の出力信号を監視するものであっても良く、電子制御システム11の各ECUは評価に際してデバッグ用の出力信号を出力し得るように構成されることとしても良い。この場合において各ECUは、デバッグ用の出力信号として、ECUの状態を示す情報、メモリ内容を示す情報、或いは、ソフトウェアを実行するプロセッサのリセット(再起動)がなされたことを示す情報等を出力し得る構成を有していても良い。信号監視部204は、信号の観測により、例えば、被書換ECU103がソフトウェアの更新(書き換え)に係る処理を再起動の実行によって完了したか否か等を確認し得る。監視部200は、信号監視部204等により、送信部201aにより攻撃用のフレームがCANバス20に送信された場合における電子制御システム11のいずれかのECUの動作が、所定動作(例えば、攻撃が成功した場合に予測される動作、攻撃が失敗した場合に予測される動作、正規のフレームを受信した場合における通常の動作等)と一致するか否かを検出することで、そのECUの監視を行う。
(5)評価部206
評価部206は、プログラムを実行するプロセッサ等により実現される。評価部206は、監視部200(CANバス監視部203及び信号監視部204)での監視による確認結果に基づいて、電子制御システム11のセキュリティに関する評価を行う。具体的には、評価部206は、監視部200による確認結果の全部又は一部と、攻撃手順情報105に基づいてCANメッセージを送信するときの期待値とを比較し、攻撃が成功しているか否か(例えば攻撃に対する防御機能が適切に作動したか否か)等を判定する。期待値は、攻撃結果(例えば各攻撃用のフレームの送信に対する結果)として期待される書換実施ECU102或いは被書換ECU103が、送信するCANメッセージ、或いは、送信する信号で示される情報(動作等)であり、予め規定され得る。評価部206は、送信部201aにより攻撃手順情報105に基づく攻撃用のフレームがCANバス20に送信される際(例えば送信直後の一定期間、或いは送信直前から送信直後まで等)における監視部200の監視結果に基づいて評価を行う。評価部206は、例えば、送信部201aにより攻撃手順情報105に示される攻撃用の複数のフレームの1つ以上がCANバス20に送信された後の一定期間内に、期待値としての特定フレームがCANバス20上で送信されたことがCANバス監視部203により検出されたか否かを判定し、特定フレームが検出されたか否かに応じて評価結果が相違するように評価を行い得る。また評価部206は、例えば、攻撃用のフレームの1つ以上がCANバス20に送信された後の一定期間内に、書換実施ECU102或いは被書換ECU103が期待値に係る所定動作をしたことを示す信号が信号監視部204により検出されたか否かに応じて評価結果が相違するように評価を行い得る。
評価部206は、プログラムを実行するプロセッサ等により実現される。評価部206は、監視部200(CANバス監視部203及び信号監視部204)での監視による確認結果に基づいて、電子制御システム11のセキュリティに関する評価を行う。具体的には、評価部206は、監視部200による確認結果の全部又は一部と、攻撃手順情報105に基づいてCANメッセージを送信するときの期待値とを比較し、攻撃が成功しているか否か(例えば攻撃に対する防御機能が適切に作動したか否か)等を判定する。期待値は、攻撃結果(例えば各攻撃用のフレームの送信に対する結果)として期待される書換実施ECU102或いは被書換ECU103が、送信するCANメッセージ、或いは、送信する信号で示される情報(動作等)であり、予め規定され得る。評価部206は、送信部201aにより攻撃手順情報105に基づく攻撃用のフレームがCANバス20に送信される際(例えば送信直後の一定期間、或いは送信直前から送信直後まで等)における監視部200の監視結果に基づいて評価を行う。評価部206は、例えば、送信部201aにより攻撃手順情報105に示される攻撃用の複数のフレームの1つ以上がCANバス20に送信された後の一定期間内に、期待値としての特定フレームがCANバス20上で送信されたことがCANバス監視部203により検出されたか否かを判定し、特定フレームが検出されたか否かに応じて評価結果が相違するように評価を行い得る。また評価部206は、例えば、攻撃用のフレームの1つ以上がCANバス20に送信された後の一定期間内に、書換実施ECU102或いは被書換ECU103が期待値に係る所定動作をしたことを示す信号が信号監視部204により検出されたか否かに応じて評価結果が相違するように評価を行い得る。
(6)記憶部208
記憶部208は、メモリ等の記憶媒体により構成され、偽の更新ソフト(更新ソフトウェア)、更新ソフトに対する偽の署名、更新手順、CANバス20から受信したCANメッセージの内容(メモリ消去命令、更新ソフト、更新ソフト署名、認証鍵、認証シード等)を保持する。
記憶部208は、メモリ等の記憶媒体により構成され、偽の更新ソフト(更新ソフトウェア)、更新ソフトに対する偽の署名、更新手順、CANバス20から受信したCANメッセージの内容(メモリ消去命令、更新ソフト、更新ソフト署名、認証鍵、認証シード等)を保持する。
(7)制御部207
制御部207は、プログラムを実行するプロセッサ等により実現され、監視部200、送受信部201、保持部202、記憶部208、及び、評価部206を管理、制御して評価装置101の機能を実現する。また、制御部207は、認証鍵の生成、確認等のために必要な演算処理を行い得る。
制御部207は、プログラムを実行するプロセッサ等により実現され、監視部200、送受信部201、保持部202、記憶部208、及び、評価部206を管理、制御して評価装置101の機能を実現する。また、制御部207は、認証鍵の生成、確認等のために必要な演算処理を行い得る。
[1.3 書換実施ECU102の構成]
図3は、書換実施ECU102の構成図である。
図3は、書換実施ECU102の構成図である。
書換実施ECU102は、図3に示すように、送受信部301と、署名記憶部302と、鍵記憶部303と、プログラム記憶部304と、書換手順情報記憶部305と、制御部306とを含んで構成される。
書換実施ECU102は、CANバス20に接続されたECUである。ECUは、例えば、プロセッサ、メモリ等のデジタル回路、アナログ回路、通信回路等を含む装置である。メモリは、ROM、RAM等であり、プロセッサにより実行される制御プログラムを記憶することができる。例えばプロセッサが、制御プログラム(コンピュータプログラム)に従って動作(各種回路の制御等)することにより、書換実施ECU102は機能を果たす。
(1)送受信部301
送受信部301は、CANバス20に対してCANメッセージを送信し、CANバス20を流れるCANメッセージを受信する。送受信部301は、例えば、書換モード遷移指示、認証鍵、メモリ消去命令、更新ソフト、更新ソフト署名、再起動指示のそれぞれを示す更新用フレームを送信し、CANバス20に流れる認証シード、認証結果のそれぞれを示すフレームを受信する。また、送受信部301は、例えば、電子制御システム11の外部(車両外部)の装置と通信する外部通信機能を担い、更新ソフト、更新ソフト署名等を外部の装置から受信する。
送受信部301は、CANバス20に対してCANメッセージを送信し、CANバス20を流れるCANメッセージを受信する。送受信部301は、例えば、書換モード遷移指示、認証鍵、メモリ消去命令、更新ソフト、更新ソフト署名、再起動指示のそれぞれを示す更新用フレームを送信し、CANバス20に流れる認証シード、認証結果のそれぞれを示すフレームを受信する。また、送受信部301は、例えば、電子制御システム11の外部(車両外部)の装置と通信する外部通信機能を担い、更新ソフト、更新ソフト署名等を外部の装置から受信する。
なお、書換実施ECU102が被書換ECU103のソフトウェアを更新するための更新処理において用いられる認証シードは、書換実施ECU102と被書換ECU103とが互いを認証するために用いられる情報である。また、認証鍵は、被書換ECU103が送信した認証シードに基づいて、書換実施ECU102が、互いに共通の秘密鍵を用いた暗号化を施すことで生成した情報である。更新処理では、書換実施ECU102が、被書換ECU103が送信した認証シードに基づいて共通の秘密鍵を用いた暗号化により認証鍵を生成し、認証鍵を被書換ECU103へ送信し、被書換ECU103が、共通の秘密鍵にて認証鍵を復号してその復号結果が先に送信した認証シードと一致すれば認証成功、一致しなければ認証不成功と判断し、判断結果である認証結果(例えば認証成功の場合に書換許可を示し認証不成功の場合に書換不許可を示す情報)を書換実施ECU102に送信する。認証成功の場合において、ソフトウェアの書き換えのために、メモリ消去命令、更新ソフト、更新ソフト署名、再起動指示等が書換実施ECU102から送信され、これに応じて被書換ECU103ではソフトウェアの書き換え等が行われる。
(2)署名記憶部302
署名記憶部302は、プログラム記憶部304で記憶している更新ソフトに対する署名を記憶する。
署名記憶部302は、プログラム記憶部304で記憶している更新ソフトに対する署名を記憶する。
(3)鍵記憶部303
鍵記憶部303は、被書換ECU103から送信された認証シードを暗号化することで認証鍵を生成するときの暗号化に用いる鍵(秘密鍵)を記憶する。
鍵記憶部303は、被書換ECU103から送信された認証シードを暗号化することで認証鍵を生成するときの暗号化に用いる鍵(秘密鍵)を記憶する。
(4)プログラム記憶部304
プログラム記憶部304は、被書換ECU103用の更新ソフト(更新ソフトウェア)を記憶する。
プログラム記憶部304は、被書換ECU103用の更新ソフト(更新ソフトウェア)を記憶する。
(5)書換手順情報記憶部305
書換手順情報記憶部305は、被書換ECU103のソフトウェアの更新手順(ソフトウェアの書き換えに係る処理手順)を記憶する。
書換手順情報記憶部305は、被書換ECU103のソフトウェアの更新手順(ソフトウェアの書き換えに係る処理手順)を記憶する。
(6)制御部306
制御部306は、送受信部301、署名記憶部302、鍵記憶部303、プログラム記憶部304、及び、書換手順情報記憶部305を管理、制御して、書換実施ECU102の機能を実現する。即ち、制御部306は、書換手順情報記憶部305が記憶する書換手順情報(更新手順)に従って、各部を制御して、被書換ECU103のソフトウェアを、更新ソフトウェアへと更新するための更新処理(各種更新用フレームの送信、認証シード及び認証結果の受信等を含む一連の処理)等を実行し得る。
制御部306は、送受信部301、署名記憶部302、鍵記憶部303、プログラム記憶部304、及び、書換手順情報記憶部305を管理、制御して、書換実施ECU102の機能を実現する。即ち、制御部306は、書換手順情報記憶部305が記憶する書換手順情報(更新手順)に従って、各部を制御して、被書換ECU103のソフトウェアを、更新ソフトウェアへと更新するための更新処理(各種更新用フレームの送信、認証シード及び認証結果の受信等を含む一連の処理)等を実行し得る。
[1.4 被書換ECU103の構成]
図4は、被書換ECU103の構成図である。
図4は、被書換ECU103の構成図である。
被書換ECU103は、図4に示すように、送受信部401と、署名記憶部402と、鍵記憶部403と、プログラム記憶部404と、書換手順情報記憶部405と、制御部406とを含んで構成される。
被書換ECU103は、CANバス20に接続されたECUであり、プロセッサ、メモリ等のデジタル回路、アナログ回路、通信回路等を含む装置である。例えばプロセッサが、メモリに格納された制御プログラムに従って動作することにより、被書換ECU103は機能を果たす。
(1)送受信部401
送受信部401は、CANバス20に対してCANメッセージを送信し、CANバス20を流れるCANメッセージを受信する。送受信部401は、例えば、認証シード、認証結果のそれぞれを示すフレームを送信し、CANバス20に流れる書換モード遷移指示、認証鍵、メモリ消去命令、更新ソフト、更新ソフト署名、再起動指示のそれぞれを示す更新用フレームを受信する。
送受信部401は、CANバス20に対してCANメッセージを送信し、CANバス20を流れるCANメッセージを受信する。送受信部401は、例えば、認証シード、認証結果のそれぞれを示すフレームを送信し、CANバス20に流れる書換モード遷移指示、認証鍵、メモリ消去命令、更新ソフト、更新ソフト署名、再起動指示のそれぞれを示す更新用フレームを受信する。
(2)署名記憶部402
署名記憶部402は、プログラム記憶部404で記憶している更新ソフトに対する署名を記憶する。
署名記憶部402は、プログラム記憶部404で記憶している更新ソフトに対する署名を記憶する。
(3)鍵記憶部403
鍵記憶部403は、被書換ECU103が送信した認証シードに基づいて書換実施ECU102が暗号化により生成した認証鍵の復号に用いる復号鍵(秘密鍵)、及び、プログラム記憶部404に記憶したプログラム(更新ソフト)の署名である署名記憶部402に記憶した署名の正当性の検証に用いる署名検証鍵を記憶する。
鍵記憶部403は、被書換ECU103が送信した認証シードに基づいて書換実施ECU102が暗号化により生成した認証鍵の復号に用いる復号鍵(秘密鍵)、及び、プログラム記憶部404に記憶したプログラム(更新ソフト)の署名である署名記憶部402に記憶した署名の正当性の検証に用いる署名検証鍵を記憶する。
(4)プログラム記憶部404
プログラム記憶部404は、被書換ECU103のソフトウェア(例えば書換実施ECU102から取得した更新ソフト等)を記憶する。
プログラム記憶部404は、被書換ECU103のソフトウェア(例えば書換実施ECU102から取得した更新ソフト等)を記憶する。
(5)書換手順情報記憶部405
書換手順情報記憶部405は、被書換ECU103のソフトウェアの更新手順を記憶する。
書換手順情報記憶部405は、被書換ECU103のソフトウェアの更新手順を記憶する。
(6)制御部406
制御部406は、送受信部401、署名記憶部402、鍵記憶部403、プログラム記憶部404、及び、書換手順情報記憶部405を管理、制御して、被書換ECU103の機能を実現する。即ち、制御部406は、書換手順情報記憶部405が記憶する書換手順情報(更新手順)に従って、各部を制御して、被書換ECU103のソフトウェアを、更新ソフトウェアへと更新するための更新処理(各種更新用フレームの受信、認証シード及び認証結果の送信等を含む一連の処理)等を実行し得る。
制御部406は、送受信部401、署名記憶部402、鍵記憶部403、プログラム記憶部404、及び、書換手順情報記憶部405を管理、制御して、被書換ECU103の機能を実現する。即ち、制御部406は、書換手順情報記憶部405が記憶する書換手順情報(更新手順)に従って、各部を制御して、被書換ECU103のソフトウェアを、更新ソフトウェアへと更新するための更新処理(各種更新用フレームの受信、認証シード及び認証結果の送信等を含む一連の処理)等を実行し得る。
[1.5 セキュリティECU104の構成]
図5は、セキュリティECU104の構成図である。
図5は、セキュリティECU104の構成図である。
セキュリティECU104は、図5に示すように、送受信部501と、CANバス監視部502と、制御部503とを含んで構成される。
セキュリティECU104は、CANバス20に接続され、攻撃に対処するセキュリティ機能(防御機能等)を備えたECUである。セキュリティECU104のプロセッサが、メモリに記憶された制御プログラム(コンピュータプログラム)に従って動作することにより、セキュリティECU104は機能を果たす。
(1)送受信部501
送受信部501は、CANバス20を流れるCANメッセージを受信し、CANバス監視部502の指示を受けてCANバス20に、不正なCANメッセージを無効化するためにエラーフレームを送信する。
送受信部501は、CANバス20を流れるCANメッセージを受信し、CANバス監視部502の指示を受けてCANバス20に、不正なCANメッセージを無効化するためにエラーフレームを送信する。
(2)CANバス監視部502
CANバス監視部502は、複数のECUが接続されているCANバス20から送受信部501を介して受信したCANメッセージに含まれるデータの中身(ペイロード)を確認する。CANバス監視部502は、不正なCANメッセージ(例えば電子制御システム11において予め定められたルールに準拠していないCANメッセージ)が流れていることを確認した場合に、送受信部501を介してエラーフレームを送信する。CANバス監視部502が、不正なCANメッセージを検知する方法としては、いかなる方法を用いても良い。
CANバス監視部502は、複数のECUが接続されているCANバス20から送受信部501を介して受信したCANメッセージに含まれるデータの中身(ペイロード)を確認する。CANバス監視部502は、不正なCANメッセージ(例えば電子制御システム11において予め定められたルールに準拠していないCANメッセージ)が流れていることを確認した場合に、送受信部501を介してエラーフレームを送信する。CANバス監視部502が、不正なCANメッセージを検知する方法としては、いかなる方法を用いても良い。
(3)制御部503
制御部503は、送受信部501及びCANバス監視部502を管理、制御してセキュリティECU104の機能を実現する。
制御部503は、送受信部501及びCANバス監視部502を管理、制御してセキュリティECU104の機能を実現する。
[1.6 攻撃手順情報]
評価装置101の保持部202が記憶する攻撃手順情報について説明する。図6及び図7は、それぞれ攻撃手順情報の一例を示す。
評価装置101の保持部202が記憶する攻撃手順情報について説明する。図6及び図7は、それぞれ攻撃手順情報の一例を示す。
図6及び図7に示すように、攻撃手順情報は、例えば、評価装置101による評価項目毎(評価対象機能毎)に、送信メッセージ(評価対象機能の評価のための攻撃として送信すべき攻撃用のフレーム)の内容及びメッセージIDと、送信メッセージの送信間隔(先行フレームとの時間間隔)と、送信順序とを含む情報である。この攻撃手順情報は、例えば、電子制御システム11に関する各種情報(仕様等)に基づいて定められる。
例えば、図6に示す評価対象機能が「書換実施機能1」という評価項目の例では、攻撃手順は、最初(1番目)に、エラーフレームを送信することで、被書換ECU103が送信した認証シードを含むCANメッセージを無効化し、次(2番目)に、偽の認証シードを含むCANメッセージを送信し、次(3番目)に、書換実施ECU102から認証シードに対応した認証鍵を受信した後に応答として、認証結果(認証応答)を含むCANメッセージを送信するという一連の手順となる。
例えば、図7に示す評価対象機能が「被書換機能1」という評価項目の例では、攻撃手順は、最初(1番目)に、エラーフレームを送信することで、書換実施ECU102が送信したメモリ消去命令を含むCANメッセージを無効化し、次(2番目)に、メモリ消去命令を含む更新用フレーム(CANメッセージ)を送信し、次(3番目)に、偽の更新ソフトを含む更新用フレーム(CANメッセージ)を送信し、次(4番目)に、その偽の更新ソフトに対応した署名を含む更新用フレーム(CANメッセージ)を送信するという一連の手順となる。なお、図7の攻撃手順情報において、更新ソフト署名を含む更新用フレームの送信に係る情報の次に、再起動指示を示す更新用フレームの送信に係る情報を含み得る。
このような攻撃手順情報に従って、評価装置101は、各評価項目について定められた攻撃用のフレームを定められた送信順序で送信することにより、電子制御システム11を攻撃して評価する。評価装置101は、例えば、攻撃手順情報で、エラーフレームの次に、所定ID(例えば認証シード用のID、認証結果である認証応答用のID等)を有する攻撃用のフレームを送信することを示す場合には、受信部201bがCANバス20から所定IDを有するCANメッセージを受信した際に、まずエラーフレームを送信し、続いて所定IDを有する攻撃用のフレームを送信する。この所定IDは、ソフトウェアの更新処理のために予め定められている更新用ID(例えば、メモリ消去命令用のID、更新ソフト用のID、更新ソフト署名用のID、再起動指示用のID等)であっても良い。
[1.7 評価システム10の動作]
以下、上述した構成を備える評価システム10の動作について説明する。
以下、上述した構成を備える評価システム10の動作について説明する。
まず、評価システム10で評価装置101が攻撃用のフレームを送信しないときにおいて、電子制御システム11で実施されるソフトウェアの更新に係る動作例について説明する。その後に、評価装置101により評価対象の電子制御システム11を、攻撃手順情報105に従って攻撃(攻撃用のフレームの送信により攻撃)することで評価する動作について、評価項目毎の動作例(動作例1~5)を説明する。
[1.7.1 ソフトウェアの更新の動作例]
評価装置101が攻撃用のフレームを送信しないときに、電子制御システム11で実施されるソフトウェア(被書換ECU103におけるソフトウェア)の更新について、図8のシーケンス図に即して説明する。図8の例では、ソフトウェアの更新は、書換実施ECU102が予め定められた各種の更新用フレームを主導的に送信し、これに被書換ECU103が対応することで実現される。
評価装置101が攻撃用のフレームを送信しないときに、電子制御システム11で実施されるソフトウェア(被書換ECU103におけるソフトウェア)の更新について、図8のシーケンス図に即して説明する。図8の例では、ソフトウェアの更新は、書換実施ECU102が予め定められた各種の更新用フレームを主導的に送信し、これに被書換ECU103が対応することで実現される。
書換実施ECU102は、書換モード遷移指示(書換モードへの遷移を指示する旨の情報)を含む更新用フレーム(CANメッセージ)をCANバス20へ送信する(ステップS601)。
CANバス20から書換モード遷移指示を含む更新用フレームを受信した被書換ECU103は、認証シードを含むCANメッセージをCANバス20へ送信する(ステップS602)。
認証シードを含むCANメッセージを受信した書換実施ECU102は、受信した認証シードを鍵記憶部303に記憶した鍵を用いて暗号化することで認証鍵を生成し、認証鍵を含む更新用フレーム(CANメッセージ)をCANバス20へ送信する(ステップS603)。
認証鍵を含む更新用フレームを受信した被書換ECU103は、受信した認証鍵を鍵記憶部403に記憶した鍵を用いて復号し、復号結果と送信した認証シードとの一致の確認を行う。被書換ECU103は、一致していると確認した場合は、認証結果として書換許可を意味するCANメッセージをCANバス20へ送信し、以後の更新手順の実施を許可し、一致していないと確認した場合は、認証結果として書換不許可を意味するCANメッセージをCANバス20に送信し、以後の更新手順の実施を許可しない(ステップS604)。認証結果を含むCANメッセージを受信した書換実施ECU102は、受信したCANメッセージが認証結果として書換許可を意味している場合は、以後の更新手順を実施し、書換不許可を意味している場合は、以後の更新手順を実施しない。
認証結果として書換許可を意味するCANメッセージを受信した書換実施ECU102は、メモリ消去命令を含む更新用フレームをCANバス20へ送信する(ステップS605)。メモリ消去命令を含む更新用フレームを受信した被書換ECU103は、プログラム記憶部404の記憶内容(更新ソフトを格納するための領域の内容)を消去する。
次に、書換実施ECU102は、更新ソフトを含む更新用フレームをCANバス20へ送信する(ステップS606)。なお、更新用フレームは、複数のCANメッセージで構成されていても良く、例えば、更新ソフトを含む更新用フレームは、更新ソフトのデータ量に応じて、1つ又は複数のCANメッセージで構成される。更新ソフトを含む更新用フレームを受信した被書換ECU103は、プログラム記憶部404へ、受信した更新ソフトを書き込む。
次に、書換実施ECU102は、更新ソフトに対応した更新ソフト署名を含む更新用フレームをCANバス20へ送信する(ステップS607)。更新ソフト署名を含む更新用フレームを受信した被書換ECU103は、署名記憶部402に、受信した更新ソフト署名を書き込む。
最後に、書換実施ECU102は、再起動指示を示す更新用フレームをCANバス20へ送信する(ステップS608)。再起動指示を示す更新用フレームを受信した被書換ECU103は、再起動(プロセッサのリセット)を実施する。再起動に際して、被書換ECU103は、例えば、プログラム記憶部404が記憶するプログラム(更新ソフト)の署名として、署名記憶部402に記憶した署名が正当か否かを、鍵記憶部403が記憶する署名検証鍵を用いて検証し、正当であった場合はプロセッサのリセットを実行する。プロセッサがリセットされると、プロセッサにより、プログラム記憶部404内の更新ソフトが実行される。被書換ECU103は、プログラムの署名の検証により、署名が正当でなかった場合は、更新ソフトを実行するための再起動を実行しない。なお、被書換ECU103は、例えば、メモリ消去命令に対応して、プログラム記憶部404の記憶内容(更新ソフトを格納するための領域の内容)を消去する際に、元の記憶内容を記憶媒体(例えば不揮発性メモリ、ハードディスク等)に保存することとしても良く、更新ソフトに係る署名が正当でなかった場合に元の記憶内容をプログラム記憶部404に復元することとしても良い。
[1.7.2 評価システム10の動作例1]
図9及び図10は、電子制御システム11を評価する評価システム10の動作(動作例1)を示すシーケンス図である。なお、図9に示すシーケンス図は、図10に示すシーケンス図へ続く。動作例1では、評価装置101が、図6に示す書換実施機能1という評価項目に係る評価を行う例を示す。この例は、評価装置101が、被書換ECU103になりすまして書換実施ECU102に誤認識をさせる攻撃を行うことで、電子制御システム11のセキュリティを評価する例である。以下、図9及び図10に即して、動作例1について説明する。
図9及び図10は、電子制御システム11を評価する評価システム10の動作(動作例1)を示すシーケンス図である。なお、図9に示すシーケンス図は、図10に示すシーケンス図へ続く。動作例1では、評価装置101が、図6に示す書換実施機能1という評価項目に係る評価を行う例を示す。この例は、評価装置101が、被書換ECU103になりすまして書換実施ECU102に誤認識をさせる攻撃を行うことで、電子制御システム11のセキュリティを評価する例である。以下、図9及び図10に即して、動作例1について説明する。
書換実施ECU102は、書換モード遷移指示を示す更新用フレーム(CANメッセージ)をCANバス20へ送信する(ステップS601)。書換モード遷移指示を含む更新用フレームを受信した被書換ECU103は、認証シードを含むCANメッセージをCANバス20へ送信する(ステップS602)。
評価装置101は、CANバス20からCANメッセージを受信することで、認証シードを含むCANメッセージがCANバス20に流れていることを検知すると、そのCANメッセージ全体が書換実施ECU102に受信される前に、エラーフレームを送信し、被書換ECU103が送信する認証シードを含むCANメッセージを無効化する(ステップS701)。CANバス20上において認証シードを含むCANメッセージは、エラーフレームにより上書きされ、正しく受信できない無効なものとなる。
次に、評価装置101は、偽の認証シードを含むCANメッセージをCANバス20へ送信する(ステップS702)。評価装置101の信号監視部204は、このステップS702以降の書換実施ECU102の挙動の逐次監視の結果を記憶部208に逐次記録する。偽の認証シードを含むCANメッセージを受信した書換実施ECU102は、受信した認証シードを、鍵記憶部303に記憶した鍵を用いて暗号化することで認証鍵を生成する。そして、書換実施ECU102は、生成した認証鍵を含む更新用フレーム(CANメッセージ)をCANバス20へ送信する(ステップS603)。
認証鍵を含む更新用フレームを受信した評価装置101は、その受信した認証鍵の正当性に拘わらず、認証結果として書換許可を意味するCANメッセージをCANバス20へ送信する(ステップS703)。
認証結果として書換許可を意味するCANメッセージを受信した書換実施ECU102は、メモリ消去命令を含む更新用フレームをCANバス20へ送信する(ステップS605)。メモリ消去命令を含む更新用フレームを受信した評価装置101は、CANバス監視部203で、その受信したメモリ消去命令を含む更新用フレームの内容を記憶部208に記録する。
次に、書換実施ECU102は、更新ソフトを含む更新用フレームをCANバス20へ送信する(ステップS606)。更新ソフトを含む更新用フレームを受信した評価装置101は、CANバス監視部203により、受信した更新ソフトを記憶部208に記録する。
次に、書換実施ECU102は、更新ソフトに対応した更新ソフト署名を含む更新用フレームをCANバス20へ送信する(ステップS607)。更新ソフト署名を含む更新用フレームを受信した被書換ECU103は、CANバス監視部203により、受信した更新ソフト署名を、記憶部208に記録する。
次に、書換実施ECU102は、再起動指示を示す更新用フレームをCANバス20へ送信する(ステップS608)。再起動指示を示す更新用フレームを受信した評価装置101は、CANバス監視部203により、受信した再起動指示を示す更新用フレームの内容を記憶部208に記録する。
最後に、評価装置101は、記憶部208に記録された、CANバス20からの受信内容に係る情報、及び、ステップS702以降の書換実施ECU102の動作に係る情報を確認することで、評価を行う(ステップS801)。即ち、評価装置101は、受信内容及び書換実施ECU102の動作について、攻撃の期待値と比較することにより、電子制御システム11のセキュリティの評価(攻撃の成否についての判定等)を行う。評価装置101は、例えば、確認した受信内容、及び、確認した書換実施ECU102の動作が、攻撃の期待値(被書換ECU103に対する更新用フレームの送信等の更新手順の実施と同様の動作)と同じようになっている場合に攻撃が成功していると判定する。評価装置101は、再起動指示を示す更新用フレーム等を受信しなくても、一定時間が経過した後(例えばステップS703での認証結果としてのCANメッセージの送信等から予め定められた時間が経過した後)において、ステップS801での評価を行い得る。このため、攻撃が失敗する場合(例えば、評価装置101がステップS703等で送信したCANメッセージが、セキュリティECU104によるエラーフレームの送信等により無効化された場合等)についても評価可能である。また、評価装置101は、CANバス監視部203での監視結果と、信号監視部204での監視結果とのうち一方のみを用いて攻撃の期待値に基づいて攻撃の成否についての判定等を行っても良い。また、評価装置101は、ステップS801で、評価対象である電子制御システム11のセキュリティの評価をどのように詳しく行っても良く、例えば、攻撃全体の成否の他に、攻撃用のフレームの送信という個々の攻撃の成否を判定しても良いし、各種の防御機能それぞれが作用したか否か、防御できた程度等について確認しても良い。
[1.7.3 評価システム10の動作例2]
図11及び図12は、電子制御システム11を評価する評価システム10の動作(動作例2)を示すシーケンス図である。なお、図11に示すシーケンス図は、図12に示すシーケンス図へ続く。動作例2では、評価装置101が、図6に示す書換実施機能2という評価項目に係る評価を行う例を示す。この例は、評価装置101が、被書換ECU103になりすまして書換実施ECU102に誤認識をさせる攻撃を行うことで、電子制御システム11のセキュリティを評価する例である。以下、図11及び図12に即して、動作例2について説明する。
図11及び図12は、電子制御システム11を評価する評価システム10の動作(動作例2)を示すシーケンス図である。なお、図11に示すシーケンス図は、図12に示すシーケンス図へ続く。動作例2では、評価装置101が、図6に示す書換実施機能2という評価項目に係る評価を行う例を示す。この例は、評価装置101が、被書換ECU103になりすまして書換実施ECU102に誤認識をさせる攻撃を行うことで、電子制御システム11のセキュリティを評価する例である。以下、図11及び図12に即して、動作例2について説明する。
書換実施ECU102は、書換モード遷移指示を示す更新用フレームをCANバス20へ送信する(ステップS601)。書換モード遷移指示を含む更新用フレームを受信した被書換ECU103は、認証シードを含むCANメッセージをCANバス20へ送信する(ステップS602)。認証シードを含むCANメッセージを受信した書換実施ECU102は、受信した認証シードに基づいて認証鍵を生成し、認証鍵を含む更新用フレームをCANバス20へ送信する(ステップS603)。認証鍵を含む更新用フレームを受信した被書換ECU103は、受信した認証鍵に基づく認証結果に係るCANメッセージをCANバス20へ送信する(ステップS604)。
評価装置101は、CANバス20から認証結果に係るCANメッセージを受信することで、認証結果に係るCANメッセージがCANバス20に流れていることを検知すると、そのCANメッセージ全体が書換実施ECU102に受信される前に、エラーフレームを送信し、被書換ECU103が送信する認証結果に係るCANメッセージを無効化する(ステップS901)。CANバス20上において認証結果に係るCANメッセージは、エラーフレームにより上書きされ、正しく受信できない無効なものとなる。
次に、評価装置101は、偽の認証結果として書換許可を意味するCANメッセージをCANバス20へ送信する(ステップS902)。評価装置101の信号監視部204は、このステップS902以降の書換実施ECU102の挙動の逐次監視の結果を記憶部208に逐次記録する。偽の認証結果に係る書換許可を意味するCANメッセージを受信した書換実施ECU102は、以後の更新手順を実施する。即ち、書換実施ECU102は、メモリ消去命令を含む更新用フレームをCANバス20へ送信する(ステップS605)。メモリ消去命令を含む更新用フレームを受信した評価装置101は、CANバス監視部203で、その受信したメモリ消去命令を含む更新用フレームの内容を記憶部208に記録する。
次に、書換実施ECU102は、更新ソフトを含む更新用フレームをCANバス20へ送信する(ステップS606)。更新ソフトを含む更新用フレームを受信した評価装置101は、CANバス監視部203により、受信した更新ソフトを記憶部208に記録する。
次に、書換実施ECU102は、更新ソフトに対応した更新ソフト署名を含む更新用フレームをCANバス20へ送信する(ステップS607)。更新ソフト署名を含む更新用フレームを受信した被書換ECU103は、CANバス監視部203により、受信した更新ソフト署名を、記憶部208に記録する。
次に、書換実施ECU102は、再起動指示を示す更新用フレームをCANバス20へ送信する(ステップS608)。再起動指示を示す更新用フレームを受信した評価装置101は、CANバス監視部203により、受信した再起動指示を示す更新用フレームの内容を記憶部208に記録する。
最後に、評価装置101は、記憶部208に記録された、CANバス20からの受信内容に係る情報、及び、ステップS902以降の書換実施ECU102の動作に係る情報を確認することで、評価を行う(ステップS1001)。即ち、評価装置101は、上述のステップS801での評価と同様に、受信内容及び書換実施ECU102の動作について、攻撃の期待値と比較することにより、電子制御システム11のセキュリティの評価(攻撃の成否についての判定等)を行う。
[1.7.4 評価システム10の動作例3]
図13及び図14は、電子制御システム11を評価する評価システム10の動作(動作例3)を示すシーケンス図である。なお、図13に示すシーケンス図は、図14に示すシーケンス図へ続く。動作例3では、評価装置101が、図7に示す被書換機能1という評価項目に係る評価を行う例を示す。この例は、評価装置101が、書換実施ECU102になりすまして被書換ECU103に誤認識をさせる攻撃を行うことで、電子制御システム11のセキュリティを評価する例である。以下、図13及び図14に即して、動作例3について説明する。
図13及び図14は、電子制御システム11を評価する評価システム10の動作(動作例3)を示すシーケンス図である。なお、図13に示すシーケンス図は、図14に示すシーケンス図へ続く。動作例3では、評価装置101が、図7に示す被書換機能1という評価項目に係る評価を行う例を示す。この例は、評価装置101が、書換実施ECU102になりすまして被書換ECU103に誤認識をさせる攻撃を行うことで、電子制御システム11のセキュリティを評価する例である。以下、図13及び図14に即して、動作例3について説明する。
書換実施ECU102は、書換モード遷移指示を示す更新用フレームをCANバス20へ送信する(ステップS601)。書換モード遷移指示を含む更新用フレームを受信した被書換ECU103は、認証シードを含むCANメッセージをCANバス20へ送信する(ステップS602)。認証シードを含むCANメッセージを受信した書換実施ECU102は、受信した認証シードに基づいて認証鍵を生成し、認証鍵を含む更新用フレームをCANバス20へ送信する(ステップS603)。認証鍵を含む更新用フレームを受信した被書換ECU103は、受信した認証鍵に基づく認証結果として書換許可を意味するCANメッセージをCANバス20へ送信する(ステップS604)。認証結果として書換許可を意味するCANメッセージを受信した書換実施ECU102は、メモリ消去命令を含む更新用フレームをCANバス20へ送信する(ステップS605)。
評価装置101は、CANバス20からメモリ消去命令を含む更新用フレームを受信することで、メモリ消去命令を含む更新用フレームがCANバス20に流れていることを検知すると、そのCANメッセージ全体が被書換ECU103に受信される前に、エラーフレームを送信し、書換実施ECU102が送信する更新用フレームを無効化する(ステップS1101)。CANバス20上においてメモリ消去命令を含む更新用フレームは、エラーフレームにより上書きされ、正しく受信できない無効なものとなる。
次に、評価装置101は、メモリ消去命令を含む更新用フレームをCANバス20へ送信する(ステップS1102)。評価装置101のCANバス監視部203及び信号監視部204は、このステップS1102以降の被書換ECU103の動作或いは応答の逐次監視の結果を記憶部208に逐次記録する。例えば、信号監視部204は、メモリ消去命令を含む更新用フレームを受信した後の被書換ECU103の動作(例えばプログラム記憶部404の記憶内容を消去した等)等を記憶部208に記録する。
次に、評価装置101は、更新ソフトを含む更新用フレームをCANバス20へ送信する(ステップS1103)。更新ソフトは必ずしも正規の内容である必要はなく、偽の更新ソフトであっても良い。評価装置101は、更新ソフトを含む更新用フレームを受信した後の被書換ECU103の動作或いは応答を記憶部208に記録する。
次に、評価装置101は、更新ソフトに対応した更新ソフト署名を含む更新用フレームをCANバス20へ送信する(ステップS1201)。評価装置101は、更新ソフト署名を含む更新用フレームを受信した後の被書換ECU103の動作、応答等を記憶部208に記録する。なお、評価装置101は、更新ソフト、更新ソフト署名、署名生成に用いるために必要な鍵等の情報(更新処理に必要な情報)を、予め有していても良い。
次に、評価装置101は、再起動指示を示す更新用フレームをCANバス20へ送信する(ステップS1202)。評価装置101は、再起動指示を示す更新用フレームを受信した後の被書換ECU103の動作(例えば再起動が行われたか否か等)或いは応答を記憶部208に記録する。
最後に、評価装置101は、記憶部208に記録された、CANバス20からの受信内容に係る情報、及び、ステップS1102以降の被書換ECU103の動作に係る情報を確認することで、評価を行う(ステップS1203)。即ち、評価装置101は、受信内容及び被書換ECU103の動作について、攻撃の期待値と比較することにより、電子制御システム11のセキュリティの評価(攻撃の成否についての判定等)を行う。評価装置101は、例えば、確認した受信内容、及び、確認した被書換ECU103の動作が、攻撃の期待値(書換実施ECU102から更新用フレームを受信した場合と同様の動作)と同じようになっている場合に攻撃が成功していると判定する。評価装置101は、CANバス監視部203での監視結果と、信号監視部204での監視結果とのうち一方のみを用いて攻撃の期待値に基づいて攻撃の成否についての判定等を行っても良い。また、評価装置101は、ステップS1203で、評価対象である電子制御システム11のセキュリティの評価をどのように詳しく行っても良く、例えば、攻撃全体の成否の他に、攻撃用のフレームの送信という個々の攻撃の成否を判定しても良いし、各種の防御機能それぞれが作用したか否か、防御できた程度等について確認しても良い。
[1.7.5 評価システム10の動作例4]
図15及び図16は、電子制御システム11を評価する評価システム10の動作(動作例4)を示すシーケンス図である。なお、図15に示すシーケンス図は、図16に示すシーケンス図へ続く。動作例4では、評価装置101が、図7に示す被書換機能2という評価項目に係る評価を行う例を示す。この例は、評価装置101が、書換実施ECU102になりすまして被書換ECU103に誤認識をさせる攻撃を行うことで、電子制御システム11のセキュリティを評価する例である。以下、図15及び図16に即して、動作例4について説明する。
図15及び図16は、電子制御システム11を評価する評価システム10の動作(動作例4)を示すシーケンス図である。なお、図15に示すシーケンス図は、図16に示すシーケンス図へ続く。動作例4では、評価装置101が、図7に示す被書換機能2という評価項目に係る評価を行う例を示す。この例は、評価装置101が、書換実施ECU102になりすまして被書換ECU103に誤認識をさせる攻撃を行うことで、電子制御システム11のセキュリティを評価する例である。以下、図15及び図16に即して、動作例4について説明する。
書換実施ECU102は、書換モード遷移指示を示す更新用フレームをCANバス20へ送信する(ステップS601)。書換モード遷移指示を含む更新用フレームを受信した被書換ECU103は、認証シードを含むCANメッセージをCANバス20へ送信する(ステップS602)。認証シードを含むCANメッセージを受信した書換実施ECU102は、受信した認証シードに基づいて認証鍵を生成し、認証鍵を含む更新用フレームをCANバス20へ送信する(ステップS603)。認証鍵を含む更新用フレームを受信した被書換ECU103は、受信した認証鍵に基づく認証結果として書換許可を意味するCANメッセージをCANバス20へ送信する(ステップS604)。認証結果として書換許可を意味するCANメッセージを受信した書換実施ECU102は、メモリ消去命令を含む更新用フレームをCANバス20へ送信する(ステップS605)。メモリ消去命令を含む更新用フレームを受信した被書換ECU103は、プログラム記憶部404の記憶内容(更新ソフトを格納するための領域の内容)を消去する。
次に、書換実施ECU102は、更新ソフトを含む更新用フレームをCANバス20へ送信する(ステップS606)。
評価装置101は、CANバス20から更新ソフトを含む更新用フレームを受信することで、更新ソフトを含む更新用フレームがCANバス20に流れていることを検知すると、そのCANメッセージ全体が被書換ECU103に受信される前に、エラーフレームを送信し、書換実施ECU102が送信する更新用フレームを無効化する(ステップS1301)。CANバス20上において更新ソフトを含む更新用フレームは、エラーフレームにより上書きされ、正しく受信できない無効なものとなる。
次に、評価装置101は、偽の更新ソフトを含む更新用フレームをCANバス20へ送信する(ステップS1302)。評価装置101のCANバス監視部203及び信号監視部204は、このステップS1302以降の被書換ECU103の動作或いは応答の逐次監視の結果を記憶部208に逐次記録する。例えば、信号監視部204は、被書換ECU103のデバッグ用の出力信号等に基づき、偽の更新ソフトを含む更新用フレームを受信した後の被書換ECU103の動作(例えば、プログラム記憶部404への偽の更新ソフトの格納等)等を記憶部208に記録する。
次に、評価装置101は、偽の更新ソフトに対応した偽の更新ソフト署名を含む更新用フレームをCANバス20へ送信する(ステップS1401)。評価装置101は、偽の更新ソフト署名を含む更新用フレームを受信した後の被書換ECU103の動作、応答等を記憶部208に記録する。
次に、評価装置101は、再起動指示を示す更新用フレームをCANバス20へ送信する(ステップS1402)。評価装置101は、再起動指示を示す更新用フレームを受信した後の被書換ECU103の動作或いは応答を記憶部208に記録する。
最後に、評価装置101は、記憶部208に記録された、CANバス20からの受信内容に係る情報、及び、ステップS1302以降の被書換ECU103の動作に係る情報を確認することで、評価を行う(ステップS1403)。即ち、評価装置101は、上述のステップS1203での評価と同様に、受信内容及び被書換ECU103の動作について、攻撃の期待値と比較することにより、電子制御システム11のセキュリティの評価(攻撃の成否についての判定等)を行う。
[1.7.6 評価システム10の動作例5]
図17及び図18は、電子制御システム11を評価する評価システム10の動作(動作例5)を示すシーケンス図である。なお、図17に示すシーケンス図は、図18に示すシーケンス図へ続く。動作例5では、評価装置101が、図7に示す被書換機能3という評価項目に係る評価を行う例を示す。この例は、評価装置101が、書換実施ECU102になりすまして被書換ECU103に誤認識をさせる攻撃を行うことで、電子制御システム11のセキュリティを評価する例である。以下、図17及び図18に即して、動作例5について説明する。
図17及び図18は、電子制御システム11を評価する評価システム10の動作(動作例5)を示すシーケンス図である。なお、図17に示すシーケンス図は、図18に示すシーケンス図へ続く。動作例5では、評価装置101が、図7に示す被書換機能3という評価項目に係る評価を行う例を示す。この例は、評価装置101が、書換実施ECU102になりすまして被書換ECU103に誤認識をさせる攻撃を行うことで、電子制御システム11のセキュリティを評価する例である。以下、図17及び図18に即して、動作例5について説明する。
書換実施ECU102は、書換モード遷移指示を示す更新用フレームをCANバス20へ送信する(ステップS601)。書換モード遷移指示を含む更新用フレームを受信した被書換ECU103は、認証シードを含むCANメッセージをCANバス20へ送信する(ステップS602)。認証シードを含むCANメッセージを受信した書換実施ECU102は、受信した認証シードに基づいて認証鍵を生成し、認証鍵を含む更新用フレームをCANバス20へ送信する(ステップS603)。認証鍵を含む更新用フレームを受信した被書換ECU103は、受信した認証鍵に基づく認証結果として書換許可を意味するCANメッセージをCANバス20へ送信する(ステップS604)。認証結果として書換許可を意味するCANメッセージを受信した書換実施ECU102は、メモリ消去命令を含む更新用フレームをCANバス20へ送信する(ステップS605)。メモリ消去命令を含む更新用フレームを受信した被書換ECU103は、プログラム記憶部404の記憶内容(更新ソフトを格納するための領域の内容)を消去する。次に、書換実施ECU102は、更新ソフトを含む更新用フレームをCANバス20へ送信する(ステップS606)。更新ソフトを含む更新用フレームを受信した被書換ECU103は、プログラム記憶部404へ、受信した更新ソフトを書き込む。
次に、書換実施ECU102は、更新ソフトに対応した更新ソフト署名を含む更新用フレームをCANバス20へ送信する(ステップS607)。
評価装置101は、CANバス20から更新ソフト署名を含む更新用フレームを受信することで、更新ソフト署名を含む更新用フレームがCANバス20に流れていることを検知すると、そのCANメッセージ全体が被書換ECU103に受信される前に、エラーフレームを送信し、書換実施ECU102が送信する更新用フレームを無効化する(ステップS1501)。CANバス20上において更新ソフト署名を含む更新用フレームは、エラーフレームにより上書きされ、正しく受信できない無効なものとなる。
次に、評価装置101は、更新ソフトに対応した偽の更新ソフト署名を含む更新用フレームをCANバス20へ送信する(ステップS1601)。評価装置101は、偽の更新ソフト署名を含む更新用フレームを受信した後の被書換ECU103の動作、応答等を記憶部208に記録する。
次に、評価装置101は、再起動指示を示す更新用フレームをCANバス20へ送信する(ステップS1602)。評価装置101は、再起動指示を示す更新用フレームを受信した後の被書換ECU103の動作或いは応答を記憶部208に記録する。
最後に、評価装置101は、記憶部208に記録された、CANバス20からの受信内容に係る情報、及び、ステップS1601以降の被書換ECU103の動作に係る情報を確認することで、評価を行う(ステップS1603)。即ち、評価装置101は、上述のステップS1203での評価と同様に、受信内容及び被書換ECU103の動作について、攻撃の期待値と比較することにより、電子制御システム11のセキュリティの評価(攻撃の成否についての判定等)を行う。
(変形例)
以上のように、本開示に係る技術の例示として実施の形態1を説明した。しかしながら、本開示に係る技術は、これに限定されず、適宜、変更、置き換え、付加、省略等を行った実施の形態にも適用可能である。例えば、以下のような変形例も本開示の一実施態様に含まれる。
以上のように、本開示に係る技術の例示として実施の形態1を説明した。しかしながら、本開示に係る技術は、これに限定されず、適宜、変更、置き換え、付加、省略等を行った実施の形態にも適用可能である。例えば、以下のような変形例も本開示の一実施態様に含まれる。
(1)上記実施の形態では、評価装置101が、電子制御システム11におけるソフトウェアの更新処理に関連して書換実施ECU102或いは被書換ECU103になりすますことで攻撃する例を示したが、その他のECUになりすます攻撃を行っても良いし、エラーフレーム、及び、更新処理と関係ないCANメッセージの送信により、攻撃を行っても良い。
(2)上述の電子制御システム11では、各種ECUは、リアルな(実物としての)ECUを想定して説明した。しかし、評価システム10の評価対象としての電子制御システム11における各種ECUは、リアルなECU(例えば、評価ボード上で実装されたECU、製品としてのECU等)の代わりに、そのECUを模擬(シミュレート)する模擬ECU(例えば、そのECUの機能、挙動等を模擬するシミュレーションソフトウェアを実行するコンピュータ等)であることとしても良い。ECUが模擬ECUである場合においては、評価装置101はECUの動作の監視を、コンピュータにおいてシミュレーションソフトウェアに関わる所定データ(コンピュータの所定メモリ領域の内容或いは出力内容等)の変化を観測することによって実現しても良い。
(3)上記実施の形態では、評価装置101が、CANバス20に接続された1つの装置である例を示したが、評価装置101は、攻撃手順情報105に従って攻撃用のフレームを送信する送信装置と、CANバス20を流れるCANメッセージ、CANバス20に接続されたECUの記憶内容、信号線に出力する出力信号等を監視する監視装置とに分離される等、複数の筐体に分離された構成を備えても良い。また、監視装置或いは監視部200は、CANバス20に接続されたどのECUについて監視しても良い。また、監視装置或いは監視部200は、ECUについての監視の方法としていかなる方法を用いても良く、例えば、ECUと接続された専用の信号線等による直接監視を行っても良いし、CANメッセージによる間接的な監視を行っても良いし、ECUの動作に関連して変化し得る車両の状態による間接的な監視を行っても良い。
(4)上記実施の形態では、評価システム10の評価対象として、CANバス20による車載ネットワークを備える電子制御システム11を例示したが、評価システム10で評価装置101が攻撃用のフレームを送信したり監視の対象としたりするネットワークは、必ずしも車載ネットワークでなくても良く、また、CANプロトコルによる通信が行われるCANバス20以外のネットワークであっても良い。例えば、評価システム10は、ロボット、産業機器等のネットワークその他のネットワーク通信システムを評価対象としても良い。また、CANプロトコルは、オートメーションシステム内の組み込みシステム等に用いられるCANOpen、或いは、TTCAN(Time-Triggered CAN)、CANFD(CAN with Flexible Data Rate)等の派生的なプロトコルも包含する広義の意味のものと扱われることとしても良い。また、評価対象の電子制御システム(ネットワーク通信システム)で、CANプロトコル以外の通信プロトコル、例えば、Ethernet(登録商標)や、MOST(登録商標)、FlexRay(登録商標)、LIN(Local Interconnect Network)等を用いても良い。また、各種プロトコルに従ったネットワークを組み合わせた複合的なネットワークを含むシステムを評価対象として、評価装置101で、そのネットワークに対して攻撃及び監視を行うこととしても良い。評価装置101は、上述のネットワークで、他のノードが送信したフレームの無効化のための無効化フレーム(例えばCANではエラーフレーム)を含む攻撃用のフレームを送信することで評価を行い得る。無効化フレームは、他のノードが送信したフレームを、上書きその他の方法で無効化するフレームであれば良い。無効化は、フレームの適正な受信を阻害するために、フレームの状態を通常状態から変化させることであり、例えば上書きして1ビット以上を変化させる改変でも良いし、フレーム自体を改変せずに通信プロトコルで定められた方法で無効状態にすること(先行フレームが無効であることを示す情報の追加等)でも良い。
(5)上記実施の形態では、評価装置101が、エラーフレームの送信により、なりすまし対象とするECUが送信したCANメッセージを無効化した後に、評価装置101が、なりすまし対象のECUの更新処理の動作を全て実行する例を示したが、例えば、なりすまし対象のECUが送信するはずの複数のCANメッセージの一部のみを評価装置101が送信することとしても良い。
(6)上記実施の形態では、攻撃手順情報105が、エラーフレームとCANメッセージとを含む複数の攻撃用のフレームの送信順序を規定した例を示したが、攻撃手順情報105は、1つ又は複数のエラーフレームだけの送信について規定するものであっても良く、例えば、エラーフレームの送信タイミング、送信間隔、或いは、送信条件(バス上にどのIDのCANメッセージが流れた時に送信すべきかに係る条件等)を規定するものであっても良い。この場合でも、評価装置101は、エラーフレームの送信に対するECUの挙動等を確認することで、電子制御システム11のセキュリティに関する評価を行い得る。
(7)評価装置101は、評価対象のセキュリティ(攻撃耐性等)についての評価として、防御をすり抜けた不正なCANメッセージの個数や割合に基づいて、攻撃耐性の有無の判定等といった評価を行うものであっても良い。なお、評価装置101は、攻撃耐性の有無を判定するために、不正なCANメッセージの個数や割合についての上限等を規定する閾値を用い得る。この閾値は、評価装置101に対して任意に設定可能にしても良いし、評価を繰り返し実施する場合において評価結果等に応じて変化(調整)し得るようにしても良い。また、評価装置101は、攻撃の成功率(成功の頻度等)を算定しても良い。このように評価装置101は、攻撃成否或いは防御成否の択一判定の他に、例えば複数の防御機能それぞれが作動するか否か或いはどの程度有効に作用したかについて評価しても良い。また、評価装置101では、送信部201aが、攻撃手順情報105が示す送信順序で複数のフレームをCANバス20に送信する攻撃パターンを複数回繰り返し、評価部206が、攻撃パターンの繰り返しによる監視部200の監視結果の変化の有無に応じて評価結果が相違するように評価を行うこととしても良い。例えば、評価装置101が、偽の認証シードの送信、或いは、偽の認証鍵の送信を複数回繰り返した際に、一定回数以上実施して応答が受信できるか否かで攻撃の成否を判定しても良い。なお、評価装置101の評価部206での評価結果は、評価装置101によりメモリ等の記憶媒体に記録される他、評価装置101の外部に出力(例えば、評価結果の表示、評価結果を示す情報の送信等)され得る。例えば、評価部206は、評価結果として評価対象の電子制御システムに攻撃耐性があるか否かを示す情報を出力することとしても良い。
(8)評価対象の電子制御システム11におけるセキュリティECU104を含むセキュリティ機能は、不正の検知に関するログ情報(CANメッセージの受信履歴等)を記録することとしても良く、この場合には、評価装置101は、そのログ情報と、その評価装置101が保持する、攻撃に関する期待値とを比較することで、攻撃が成功したか否かの判定或いは攻撃が成功した確率等の算出を行うことで、セキュリティについての評価を行うこととしても良い。
(9)上記実施の形態では電子制御システム11はセキュリティ機能として、独立したセキュリティECU104を備え得ることとしたが、バスを介して通信する複数のECUのうちの全部又は一部のECUがセキュリティ機能を備えることとしても良い。また、複数のECUがセキュリティ機能を分散して実現しても良い。
(10)上記実施の形態では評価装置101が評価対象の電子制御システム11におけるバスに直接接続されている例を示したが、評価装置101と評価対象との間に、ゲートウェイ等の中継装置が介在しても良い。例えば、評価装置101が、ゲートウェイとの間で相互認証又は片方向認証を実施した上で攻撃用のCANメッセージを送信することでゲートウェイにそのCANメッセージをCANバス20へと転送させ、CANバス20からのCANメッセージを、ゲートウェイを介して取得する等により、評価対象のセキュリティ(攻撃耐性等)を評価することとしても良い。
(11)評価装置101は、偽の認証シードを送信し、書換実施ECU102から認証鍵を得るという動作を複数回実施して、その傾向を分析することで認証鍵を類推できるかどうかでセキュリティ機能の評価を行っても良い。
(12)上記実施の形態における評価装置101及び各種ECUは、例えば、プロセッサ、メモリ等のデジタル回路、アナログ回路、通信回路等を含む装置であることとしたが、ディスプレイ、キーボード、マウス等の他のハードウェア構成要素を含んでいても良い。また、メモリに記憶された制御プログラムがプロセッサにより実行されてソフトウェア的に機能を実現する代わりに、専用のハードウェア(デジタル回路等)によりその機能を実現することとしても良い。例えば、評価装置101のCANバス監視部203、信号監視部204、送受信部201、保持部202、評価部206、記憶部208及び制御部207の各機能ブロックは、集積回路で実現され得る。また、例えば、書換実施ECU102の送受信部301、署名記憶部302、鍵記憶部303、プログラム記憶部304、書換手順情報記憶部305及び制御部306の各機能ブロックは、集積回路で実現され得る。また、例えば、被書換ECU103の送受信部401、署名記憶部402、鍵記憶部403、プログラム記憶部404、書換手順情報記憶部405及び制御部406の各機能ブロックは、集積回路で実現され得る。また、例えば、セキュリティECU104の送受信部501、CANバス監視部502及び制御部503の各機能ブロックは、集積回路で実現され得る。
(13)上記実施の形態における各装置(評価装置101、各種ECU等)を構成する構成要素の一部又は全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしても良い。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAM等を含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、システムLSIは、その機能を達成する。また、上記各装置を構成する構成要素の各部は、個別に1チップ化されていても良いし、一部又は全部を含むように1チップ化されても良い。また、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現しても良い。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。更には、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。バイオ技術の適用等が可能性としてあり得る。
(14)上記各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしても良い。前記ICカード又は前記モジュールは、マイクロプロセッサ、ROM、RAM等から構成されるコンピュータシステムである。前記ICカード又は前記モジュールは、上記の超多機能LSIを含むとしても良い。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、前記ICカード又は前記モジュールは、その機能を達成する。このICカード又はこのモジュールは、耐タンパ性を有するとしても良い。
(15)本開示の一態様としては、例えば図9~図18等に例示する処理手順の全部又は一部を含む評価方法であるとしても良い。例えば、評価方法は、バス(例えばCANバス20)を介して通信する複数のECUを備える電子制御システム11のセキュリティに関する評価を行う評価方法であって、バス上のフレームを無効化する無効化フレーム(例えばCANのエラーフレーム)を含む、1つ以上の攻撃用のフレームを、バスに送信し(例えばS701~S703、S901、S902、S1101~S1103、S1201、S1202、S1301、S1302、S1401、S1402、S1501、S1601、S1602)、攻撃用のフレームがバスに送信される際に、複数のECUのうち1つ以上のECUについて監視し、監視による監視結果に基づいて評価(例えばS801、S1001、S1203、S1403、S1603)を行う評価方法である。また、本開示の一態様としては、この評価方法に係る処理をコンピュータにより実現するコンピュータプログラムであるとしても良いし、前記コンピュータプログラムからなるデジタル信号であるとしても良い。また、本開示の一態様としては、前記コンピュータプログラム又は前記デジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリ等に記録したものとしても良い。また、これらの記録媒体に記録されている前記デジタル信号であるとしても良い。また、本開示の一態様としては、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしても良い。また、本開示の一態様としては、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記録しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしても良い。また、前記プログラム若しくは前記デジタル信号を前記記録媒体に記録して移送することにより、又は、前記プログラム若しくは前記デジタル信号を、前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしても良い。
(16)上記実施の形態及び上記変形例で示した各構成要素及び機能を任意に組み合わせることで実現される形態も本開示の範囲に含まれる。
本開示は、電子制御システムに対して施されたセキュリティ対策技術が攻撃を適切に防御できるか否か等の評価を実施するために利用可能である。
10 評価システム
11 電子制御システム
20 バス(CANバス)
101 評価装置
102 書換実施ECU
103 被書換ECU
104 セキュリティECU
105 攻撃手順情報
200 監視部
201,301,401,501 送受信部
201a 送信部
201b 受信部
202 保持部
203,502 CANバス監視部
204 信号監視部
206 評価部
207,306,406,503 制御部
208 記憶部
302,402 署名記憶部
303,403 鍵記憶部
304,404 プログラム記憶部
305,405 書換手順情報記憶部
11 電子制御システム
20 バス(CANバス)
101 評価装置
102 書換実施ECU
103 被書換ECU
104 セキュリティECU
105 攻撃手順情報
200 監視部
201,301,401,501 送受信部
201a 送信部
201b 受信部
202 保持部
203,502 CANバス監視部
204 信号監視部
206 評価部
207,306,406,503 制御部
208 記憶部
302,402 署名記憶部
303,403 鍵記憶部
304,404 プログラム記憶部
305,405 書換手順情報記憶部
Claims (12)
- 電子制御システムを構成する複数の電子制御ユニットが通信に用いるバスに接続され、当該電子制御システムのセキュリティに関する評価を行う評価装置であって、
前記バス上のフレームを無効化する無効化フレームを含む、1つ以上の攻撃用のフレームを、前記バスに送信する送信部と、
前記複数の電子制御ユニットのうち1つ以上の電子制御ユニットについて監視する監視部と、
前記送信部により前記攻撃用のフレームが前記バスに送信される際における前記監視部の監視結果に基づいて前記評価を行う評価部とを備える
評価装置。 - 前記複数の電子制御ユニットは、CAN(Controller Area Network)プロトコルに従って前記バスを介して通信を行い、
前記無効化フレームは、エラーフレームである
請求項1記載の評価装置。 - 前記評価装置は更に、攻撃用の複数のフレームの内容及び送信順序を示す攻撃手順情報を保持する保持部を備え、
前記送信部は、前記攻撃手順情報が示す送信順序に従って前記攻撃用の複数のフレームを前記バスに送信する
請求項2記載の評価装置。 - 前記評価装置は、前記バスからフレームを受信する受信部を備え、
前記攻撃手順情報は、エラーフレームの次に所定IDを有する攻撃用のフレームを送信することを示し、
前記送信部は、前記受信部が前記バスから前記所定IDを有するフレームを受信した際に前記エラーフレームを送信する
請求項3記載の評価装置。 - 前記攻撃手順情報は更に攻撃用の前記複数のフレームについての送信間隔を示し、
前記送信部は、前記攻撃手順情報が示す送信順序及び送信間隔に従って前記複数のフレームを前記バスに送信する
請求項3又は4記載の評価装置。 - 前記送信部は、エラーフレームの送信後に、当該エラーフレームで無効化したフレームと、同一のIDを有し内容の相違する攻撃用のフレームを送信する
請求項2~5のいずれか一項に記載の評価装置。 - 前記送信部は、エラーフレームの送信後に、前記電子制御システムにおいて前記複数の電子制御ユニットのいずれかのソフトウェアの更新処理のために予め定められている更新用IDを有する攻撃用のフレームを送信し、
前記監視部は、前記更新用IDを有するフレームの受信に応じて保持しているソフトウェアの更新処理を行う機能を有する電子制御ユニット、又は、前記更新用IDを有するフレームを送信する電子制御ユニットについて、前記監視を行う
請求項2~6のいずれか一項に記載の評価装置。 - 前記監視部は、前記送信部により攻撃用のフレームが前記バスに送信された場合における前記複数の電子制御ユニットのうちの1つの電子制御ユニットの動作が、所定動作と一致するか否かを検出することで、前記監視を行い、
前記評価部は、前記送信部により前記攻撃用のフレームが前記バスに送信された後における前記監視部による前記検出の結果に応じて評価結果が相違するように前記評価を行う
請求項1~7のいずれか一項に記載の評価装置。 - 前記評価装置は、前記バスからフレームを受信する受信部を備え、
前記監視部は、前記電子制御ユニットについての前記監視として、前記受信部により特定フレームが受信されたことの検出を行い、
前記評価部は、前記送信部により前記攻撃用のフレームが前記バスに送信された後の一定期間内に、前記特定フレームが受信されたことが前記監視部により検出されたか否かに応じて評価結果が相違するように前記評価を行う
請求項1~7のいずれか一項に記載の評価装置。 - 前記評価部は、評価結果として前記電子制御システムに攻撃耐性があるか否かを示す情報を出力する
請求項1~9のいずれか一項に記載の評価装置。 - バスを介して通信する複数の電子制御ユニットを備える電子制御システムのセキュリティに関する評価を行う評価システムであって、
前記バス上のフレームを無効化する無効化フレームを含む、1つ以上の攻撃用のフレームを、前記バスに送信する送信部と、
前記複数の電子制御ユニットのうち1つ以上の電子制御ユニットについて監視する監視部と、
前記送信部により前記攻撃用のフレームが前記バスに送信される際における前記監視部の監視結果に基づいて前記評価を行う評価部とを備える
評価システム。 - バスを介して通信する複数の電子制御ユニットを備える電子制御システムのセキュリティに関する評価を行う評価方法であって、
前記バス上のフレームを無効化する無効化フレームを含む、1つ以上の攻撃用のフレームを、前記バスに送信し、
前記攻撃用のフレームが前記バスに送信される際に、前記複数の電子制御ユニットのうち1つ以上の電子制御ユニットについて監視し、
前記監視による監視結果に基づいて前記評価を行う
評価方法。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP16886223.3A EP3407545B1 (en) | 2016-01-18 | 2016-12-01 | Evaluation device, evaluation system, and evaluation method |
| CN201680003564.8A CN107251491B (zh) | 2016-01-18 | 2016-12-01 | 评价装置、评价系统以及评价方法 |
| US15/936,511 US10685124B2 (en) | 2016-01-18 | 2018-03-27 | Evaluation apparatus, evaluation system, and evaluation method |
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2016007481 | 2016-01-18 | ||
| JP2016-007481 | 2016-01-18 | ||
| JP2016-218329 | 2016-11-08 | ||
| JP2016218329A JP6741559B2 (ja) | 2016-01-18 | 2016-11-08 | 評価装置、評価システム及び評価方法 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US15/936,511 Continuation US10685124B2 (en) | 2016-01-18 | 2018-03-27 | Evaluation apparatus, evaluation system, and evaluation method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2017125978A1 true WO2017125978A1 (ja) | 2017-07-27 |
Family
ID=59362428
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2016/005040 Ceased WO2017125978A1 (ja) | 2016-01-18 | 2016-12-01 | 評価装置、評価システム及び評価方法 |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2017125978A1 (ja) |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2015114833A (ja) * | 2013-12-11 | 2015-06-22 | 三菱電機株式会社 | 検査システム、機器情報取得装置、検査指示装置、検査実行装置、機器検査方法及びプログラム |
-
2016
- 2016-12-01 WO PCT/JP2016/005040 patent/WO2017125978A1/ja not_active Ceased
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2015114833A (ja) * | 2013-12-11 | 2015-06-22 | 三菱電機株式会社 | 検査システム、機器情報取得装置、検査指示装置、検査実行装置、機器検査方法及びプログラム |
Non-Patent Citations (3)
| Title |
|---|
| RYO KURACHI ET AL.: "Proposal of the Error Frame Monitoring System with Improved Controller Area Network (CAN) Controller", CSS2015 COMPUTER SECURITY SYMPOSIUM 2015 RONBUNSHU GODO KAISAI ANTI MALWARE ENGINEERING WORKSHOP 2015, vol. 2015, no. 3, 14 October 2015 (2015-10-14), pages 110 - 115 * |
| SATOSHI OTSUKA ET AL.: "Intrusion Detection for In-vehicle Networks without Modifying Legacy ECUs", IPSJ SIG NOTES 2012 (HEISEI 24) NENDO, vol. 2013-EMB-28 / 2013-SLDM-160, no. 6, 15 April 2013 (2013-04-15), pages 1 - 5, XP008182240 * |
| TSUTOMU MATSUMOTO; YUUKI KOBAYASHI; YUU TSUCHIYA; NAOKI YOSHIDA; NOBUYOSHI MORITA; MAKOTO KAYASHIMA: "Methods of Fuzzing On-Vehicle ECUs through CAN", SC1S2015, 20 January 2015 (2015-01-20) |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6741559B2 (ja) | 評価装置、評価システム及び評価方法 | |
| JP6889296B2 (ja) | ゲートウェイ装置、システム及びファームウェア更新方法 | |
| US10785264B2 (en) | System and method for security inspection of electronic equipment | |
| CN113826351B (zh) | 在操作期间验证紧急车辆的标识 | |
| US11182485B2 (en) | In-vehicle apparatus for efficient reprogramming and controlling method thereof | |
| US10229547B2 (en) | In-vehicle gateway device, storage control method, and computer program product | |
| US20170134164A1 (en) | Update management method, update management system, and non-transitory recording medium | |
| JP6712938B2 (ja) | 評価装置、評価システム及び評価方法 | |
| Van den Herrewegen et al. | Beneath the bonnet: A breakdown of diagnostic security | |
| US11356256B2 (en) | Secure vehicular part communication | |
| WO2015080108A1 (ja) | プログラム更新システム及びプログラム更新方法 | |
| CN210136494U (zh) | 片上系统 | |
| US20230281017A1 (en) | Autonomous driving controller parallel processor boot order | |
| US20180310173A1 (en) | Information processing apparatus, information processing system, and information processing method | |
| CN114834393A (zh) | 车辆控制系统 | |
| CN106155043A (zh) | 车辆数据获取方法、装置及设备 | |
| JP2019071572A (ja) | 制御装置及び制御方法 | |
| JP2016127299A (ja) | 中継装置及びネットワーク構築方法 | |
| CN107111716B (zh) | 评价装置、评价系统以及评价方法 | |
| JP2013026964A (ja) | 車両用情報更新装置および車両用情報更新方法 | |
| JPWO2020090418A1 (ja) | 電子制御装置、電子制御装置のリプログラミング方法 | |
| WO2017125978A1 (ja) | 評価装置、評価システム及び評価方法 | |
| Tratter et al. | Shared mobility for transport and its environmental impact VeSIPreS: a vehicular soft integrity preservation scheme for shared mobility | |
| Mansor | Security and privacy aspects of automotive systems | |
| Bertschy | Vehicle computer and network security: Vulnerabilities and recommendations |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 16886223 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |