WO2020137852A1 - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
WO2020137852A1
WO2020137852A1 PCT/JP2019/050023 JP2019050023W WO2020137852A1 WO 2020137852 A1 WO2020137852 A1 WO 2020137852A1 JP 2019050023 W JP2019050023 W JP 2019050023W WO 2020137852 A1 WO2020137852 A1 WO 2020137852A1
Authority
WO
WIPO (PCT)
Prior art keywords
update
information processing
communication
unit
processing device
Prior art date
Application number
PCT/JP2019/050023
Other languages
English (en)
French (fr)
Inventor
伸義 森田
裕紀 山▲崎▼
恒太 井手口
Original Assignee
日立オートモティブシステムズ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日立オートモティブシステムズ株式会社 filed Critical 日立オートモティブシステムズ株式会社
Priority to US17/414,824 priority Critical patent/US12039050B2/en
Priority to CN201980084948.0A priority patent/CN113226858B/zh
Priority to EP19902616.2A priority patent/EP3904161A4/en
Publication of WO2020137852A1 publication Critical patent/WO2020137852A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/60Intended control result
    • G05D1/617Safety or protection, e.g. defining protection zones around obstacles or avoiding hazards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running

Definitions

  • the present invention relates to an information processing device.
  • an in-vehicle system installed in an automobile is provided with various services to a user by connecting to an external server or an information processing device via a communication line such as the Internet, Bluetooth (registered trademark), or Wi-Fi.
  • a communication line such as the Internet, Bluetooth (registered trademark), or Wi-Fi.
  • OSS Open Source Software
  • connection with an information processing device such as a smart phone whose security is not secured are being considered. Therefore, there is growing concern over security cyber attacks that have exploited vulnerabilities more than ever.
  • IDS Intrusion Detection System
  • IPS Intrusion Prevention System
  • Patent Document 1 in the integrated production system built in the plant, the target and type of the cyber attack are specified based on the detection result of the detection means for detecting the cyber attack on the integrated production system, and the specified cyber attack A control device for executing countermeasures according to the target and the type is disclosed.
  • Patent Document 1 The technology of Patent Document 1 is based on the premise that a cyber attack can be correctly detected, and whether or not appropriate post-event response can be executed according to an event depends on the detection accuracy of the cyber attack. For this reason, if a cyber attack is erroneously detected, even if it is not necessary to take a post action, the all communication functions will be stopped or the system will be shut down as a post action, which will have a great adverse effect on system availability. There is a fear. In particular, in an in-vehicle system, it is necessary to keep the vehicle in a safe state as much as possible when an abnormality occurs. Therefore, in many cases, emergency measures such as degenerate operation and emergency stop are performed as a subsequent action when the abnormality is detected.
  • Patent Document 1 when the technology of Patent Document 1 is applied to an in-vehicle system, when the false detection rate (FPR: False Positive Rate) against a cyber attack is high, degenerate driving or emergency stop may occur even if no cyber attack actually occurs. It is frequently executed, which may have a bad effect that the availability of the vehicle is significantly reduced.
  • FPR False Positive Rate
  • the present invention has been made in view of the above problems, and it is an object of the present invention to protect a system safely from a cyber attack while suppressing the adverse effect of false detection in a system controlled using an information processing device.
  • An information processing apparatus is capable of updating software, and a storage unit that stores control information for controlling whether or not the software can be updated, and another information processing apparatus connected via a communication line.
  • a communication unit that receives a communication message transmitted from the communication unit; an update control unit that updates the control information based on the communication message received by the communication unit; and whether the software can be updated based on the control information.
  • an updatability determination unit that determines whether the software can be updated based on the control information.
  • the information processing device installed in the vehicle and capable of updating the software updates the flag indicating whether or not the software can be updated, based on a specific communication message received from another information processing device.
  • the technical idea of the present invention is not limited to this example. Note that it is preferable to use a secure communication path using encryption technology or the like for communication between each device and outside the vehicle. In addition, it is preferable that the encryption key and seed used in each device be safely distributed, managed, and updated, and can be distributed at any time such as when the engine is started/stopped, during product development, or during maintenance. Updates may be made.
  • FIG. 1 is a diagram showing a configuration of a software update control security system according to a first embodiment of the present invention.
  • the software update control security system of FIG. 1 is configured by connecting one or a plurality of information processing apparatuses 1, 2, and 3 to each other via a communication bus 4.
  • the information processing devices 1, 2, and 3 are, for example, ECUs (Electronic Control Units) mounted on the vehicle, and are also connected to other devices via a communication bus 4 in the vehicle.
  • the communication bus 4 is physically composed of a plurality of communication buses, and the standards of these communication buses may be the same or different.
  • the standards of these communication buses are CAN (registered trademark), LIN (registered trademark), FlexRay (registered trademark), Ethernet (registered trademark), and the like.
  • Each of the information processing devices 1, 2, and 3 includes a CPU (not shown), a ROM (not shown), and a RAM (not shown).
  • the CPU stores a program stored in the ROM into the RAM and executes the program to execute the following operations. Realize each function.
  • the information processing device 1 includes a communication unit 11, a communication verification unit 12, and a verification result notification unit 13 as its functions. Further, the communication determination information storage unit 14 configured by using a recording medium such as a flash memory is provided.
  • the communication unit 11 receives a communication message transmitted from another information processing device via the communication bus 4, and transmits a communication message to another information processing device via the communication bus 4. Since the communication bus 4 is physically composed of a plurality of communication buses as described above, the communication unit 11 has the same number of connection ports as the physical communication buses.
  • the communication verification unit 12 verifies the communication message received by the communication unit 11 and detects any event that requires a subsequent response on the system. For example, based on the communication message received by the communication unit 11, when a sign of an unauthorized cyber attack occurs, it is detected. Specifically, for example, an event caused by a cyber attack such as an address scan, a port scan, an illegal message reception, an illegal file generation, an illegal process activation, etc. is detected as a sign of a cyber attack.
  • the communication unit 11 receives the communication message indicating that the occurrence of the prohibited operation is detected in the other information processing device, the occurrence of the prohibited operation is detected based on this communication message. For example, when a software update request is made while software update is prohibited, this is detected as a prohibited operation.
  • the verification result notification unit 13 notifies other information processing devices of the verification result of the communication message by the communication verification unit 12. For example, if the communication verification unit 12 detects a sign of an unauthorized cyber attack, the sign of the cyber attack has occurred by transmitting a predetermined communication message to another information processing device using the communication unit 11. In addition to the above notification, it will also provide follow-up measures such as prohibiting software updates. When the communication verification unit 12 detects the occurrence of the prohibited operation, the communication unit 11 is used to send a predetermined communication message to another information processing apparatus to notify the occurrence of the prohibited operation and to perform degeneration. Instruct after-action such as driving or emergency stop.
  • the communication determination information storage unit 14 stores communication verification information 141 used by the communication verification unit 12 to verify the received communication message.
  • the communication verification unit 12 verifies the communication message by referring to the communication verification information 141.
  • the information processing device 2 includes, as its functions, a communication unit 21, an update control unit 22, an updatability determination unit 23, an update authentication unit 24, an update execution unit 25, a state verification unit 26, and a state management unit 27. Further, the update control information storage unit 28 configured by using a recording medium such as a flash memory is provided.
  • the communication unit 21 receives a communication message transmitted from another information processing device via the communication bus 4, and transmits a communication message to another information processing device via the communication bus 4. Since the communication bus 4 is physically composed of a plurality of communication buses as described above, the communication unit 21 has the same number of connection ports as the physical communication buses.
  • the update control unit 22 updates the update status flag 281 stored in the update control information storage unit 28 based on the communication message received by the communication unit 21.
  • the update status flag 281 is flag information for controlling whether or not the software of the information processing device 2 can be updated.
  • the updatability determining unit 23 determines updatability of the software based on the update status flag 281.
  • the update authentication unit 24 executes the authentication process of the information processing device. For example, by confirming whether or not the authentication request message is transmitted according to the regular software update protocol, it is determined whether or not the authentication request message is correct.
  • the update execution unit 25 updates the software of the information processing device 2. For example, software is updated by executing a process based on the UDS (Unified Diagnosis Services, ISO 14229) protocol.
  • UDS Unified Diagnosis Services, ISO 14229) protocol.
  • the state verification unit 26 verifies whether or not the information processing device 2 is affected by an unauthorized cyber attack at an arbitrary timing.
  • the timing of this state verification is set, for example, when the vehicle is started or when the communication unit 21 receives a predetermined communication message. Further, the state verification may be repeatedly executed at a predetermined cycle.
  • the status management unit 27 manages the status of the information processing device 2 using the update status flag 281 and the device status information 282 stored in the update control information storage unit 28.
  • the update control information storage unit 28 stores an update status flag 281 indicating the status of software update availability in the information processing apparatus 2 and apparatus status information 282 indicating the status of the information processing apparatus 2.
  • the updatability determination unit 23 refers to this update status flag 281 to determine updability of software.
  • the information processing device 3 is connected to the information processing devices 1 and 2 and transmits/receives various communication messages to/from the information processing devices 1 and 2 via the communication bus 4.
  • the information processing device 3 may have the same function as either the information processing device 1 or 2. Alternatively, it may have both functions of the information processing devices 1 and 2.
  • FIG. 2 is a diagram showing an example of the overall processing sequence in the software update control security system according to the first embodiment of the present invention.
  • the executing body of each step described below is a CPU (not shown) included in each information processing device.
  • step 101 the information processing device 1 receives a communication message transmitted from another information processing device by the communication unit 11 via the communication bus 4.
  • step 102 the information processing device 1 causes the communication verification unit 12 to verify the communication message received in step 101.
  • the communication verification unit 12 it is verified whether the received communication message indicates the occurrence of the prohibited operation or the sign of the cyber attack.
  • a sign of a cyber attack is detected in step 102 from the communication message received in step 101, and it is decided to prohibit the software update as a post-action against this.
  • step 103 the information processing device 1 uses the verification result notifying unit 13 to notify the other information processing device of the verification result in step 102 via the communication bus 4.
  • a predetermined communication message for instructing prohibition of software update which is determined as a subsequent response to the sign of the cyber attack in step 102, is transmitted to the information processing device 2 using the communication unit 11.
  • step 201 the information processing apparatus 2 uses the communication unit 21 to communicate the communication message transmitted from the information processing apparatus 1 in step 103, that is, a communication for instructing prohibition of software update as a post-event response to the occurrence of a sign of cyber attack.
  • the message is received via the communication bus 4.
  • step 202 the information processing device 2 confirms the update status flag 281 stored in the update control information storage unit 28 by the state management unit 27 and determines the software update availability.
  • the update status flag 281 has not been updated and represents “update permission”, which is a status permitting software update.
  • step 203 the information processing device 2 sets the status of the information processing device 2 by the update control unit 22 based on the communication message received in step 201 and the confirmation result of the update status flag 281 in step 202.
  • Update In the example of FIG. 2, the received communication message is a communication message indicating the occurrence of a sign of a cyber attack, and the update status flag 281 has not been updated, so the update status flag 281 is changed accordingly. As a result, the status of the information processing device 2 is updated from “update allowed”, which is a status permitting software update, to “update not possible”, a status not permitting update.
  • step 204 the information processing device 2 determines the current status of the information processing device 2 based on the contents of the update status flag 281 and the device status information 282 stored in the update control information storage unit 28 by the state management unit 27.
  • the other information processing devices are notified via the communication bus 4.
  • a predetermined communication message for notifying that the status of the information processing device 2 is “not updateable” is transmitted using the communication unit 11 according to the update status flag 281 changed in step 203. It is transmitted to the information processing device 1.
  • step 30 the information processing device 3 sends a predetermined communication message for notifying the authentication request to the information processing device 2 in accordance with the regular software update protocol to update the information processing device 2 with the software. Give instructions.
  • step 205 the information processing apparatus 2 receives, via the communication bus 4, the communication message of the authentication request transmitted from the information processing apparatus 3 in step 30 by the communication unit 21.
  • step 206 the information processing device 2 determines whether or not the software can be updated by the updatability determination unit 23 based on the update status flag 281 stored in the update control information storage unit 28.
  • the software update instruction indicated by the notification message received from the information processing device 3 in step 205 is regarded as the prohibition operation. Detects and determines that software update is not possible.
  • step 207 the information processing device 2 updates the status of the information processing device 2 by the state management unit 27 based on the determination result in step 206.
  • the occurrence of the prohibited operation is detected in step 206, and it is determined that the software cannot be updated accordingly.
  • the status of the information processing device 2 is updated by reflecting the determination result in the device status information 282.
  • step 208 the information processing apparatus 2 sets the current status of the information processing apparatus 2 based on the contents of the update status flag 281 and the apparatus status information 282 stored in the update control information storage section 28 by the state management section 27.
  • the other information processing devices are notified via the communication bus 4.
  • a predetermined communication message for notifying that the information processing device 2 has detected the occurrence of the prohibited operation is sent by using the communication unit 21. It is transmitted to the processing device 1.
  • step 104 the information processing device 1 receives the communication message transmitted from the information processing device 2 in step 208 via the communication bus 4 by the communication unit 11.
  • step 105 the information processing device 1 causes the communication verification unit 12 to verify the communication message received in step 104.
  • the communication verification unit 12 Similar to step 102, it is verified whether the received communication message indicates the occurrence of the prohibited operation or the sign of the cyber attack.
  • the occurrence of the prohibited operation is detected in step 105 from the communication message received in step 104, and it is decided to perform the degenerate operation or the emergency stop as a post-action for this.
  • step 106 the information processing device 1 uses the verification result notifying unit 13 to notify the other information processing device of the verification result in step 105 via the communication bus 4.
  • a predetermined communication message for instructing degenerate driving or an emergency stop determined as a subsequent response to the prohibited operation in step 105 is transmitted to the information processing device 2 using the communication unit 11.
  • step 209 the information processing device 2 receives the communication message transmitted from the information processing device 1 in step 106 via the communication bus 4, and carries out the degenerate operation of the vehicle or the emergency stop based on the communication message.
  • the control mode is changed to a predetermined control mode for doing so.
  • the software update in the information processing device 2 is prohibited by the above steps when a sign of an unauthorized cyber attack on security is detected. Further, when an operation related to software update is detected during the prohibition period, the information processing apparatus 2 is caused to execute an emergency measure such as degenerate operation or emergency stop so that the vehicle can be maintained in a safe state.
  • an emergency measure such as degenerate operation or emergency stop
  • FIG. 3 is a flowchart of the communication monitoring identification processing executed by the information processing device 1 in steps 101 to 105 of FIG.
  • step 301 the information processing apparatus 1 receives the communication message transmitted from another information processing apparatus via the communication bus 4 by the communication unit 11, as described in steps 101 and 104 of FIG.
  • step 302 the information processing apparatus 1 causes the communication verification unit 12 to execute step 301 based on the communication verification information 141 stored in the communication determination information storage unit 14 as described in steps 102 and 105 of FIG. Verify the communication message received in. That is, it is verified whether the received communication message corresponds to “occurrence of prohibited operation” or “occurrence of sign of cyber attack”.
  • FIG. 7 is a diagram showing an example of the data structure of the communication verification information 141 used by the communication verification unit 12 in step 302 to verify the communication message.
  • the communication verification information 141 includes, for example, a verification ID 1411, a communication type 1412, and a corresponding communication ID list 1413.
  • the verification ID 1411 is information for identifying each record that constitutes the communication verification information 141, and a unique value is set for each record.
  • the communication type 1412 is information indicating the type of communication message, and represents what event the communication message to be verified corresponds to.
  • the corresponding communication ID list 1413 is information indicating a list of communication IDs included in the communication message.
  • the communication verification unit 12 can determine which event the received communication message corresponds to by collating these pieces of information included in the communication verification information 141 with the communication message received by the communication unit 11. For example, when the value of the communication ID in the communication message received in step 301 is “0x001”, this value is included in the corresponding communication ID list 1413 for the record whose verification ID 1411 has the value “V1”. .. Therefore, from the content of the communication type 1412 associated with this record, the received communication message indicates “occurrence of a prohibited operation”, and the software update request is made in a state where the software update is prohibited. You can judge.
  • step 303 the communication verification unit 12 determines whether or not the prohibited operation is detected based on the verification result of the communication message performed in step 302. When the prohibited operation is detected, the process proceeds to step 304, and otherwise, the process proceeds to step 305.
  • step 304 the information processing device 1 uses the verification result notifying unit 13 to perform a notification requesting a shift to a degenerate operation or an emergency stop as a follow-up action to the prohibited operation detected in step 302.
  • the communication unit 11 transmits a predetermined communication message instructing degenerate driving or emergency stop to the other information processing devices via the communication bus 4. To instruct post-action for the prohibited operation.
  • step 305 the communication verification unit 12 determines whether a sign of an unauthorized cyber attack has been detected based on the verification result of the communication message performed in step 302. When the sign of the attack is detected, the process proceeds to step 306, and otherwise, the process proceeds to step 307.
  • step 306 the information processing device 1 uses the verification result notifying unit 13 to make a notification requesting a predetermined update control as a post-event response to the sign of the cyber attack detected in step 302.
  • a predetermined communication message update control request message
  • each other The information processing device is instructed to take a subsequent response to the sign of the attack.
  • step 307 the communication verification unit 12 shifts to a continuous monitoring state in which the communication message received by the communication unit 11 is continuously monitored.
  • the information processing device 1 After executing any of steps 304, 306, and 307, the information processing device 1 ends the process of FIG.
  • the information processing device 1 can verify the received communication message and notify the other information processing device of the post-action depending on the event based on the verification result.
  • the information processing device 1 may include the information processing device 1 itself in the notification destination of the verification result.
  • events other than the predictive sign of attack and the prohibited operation may be included in the communication type 1412, so that the communication verification unit 12 may verify these events as events requiring a posterior target.
  • FIG. 4 is a flowchart of status update processing executed by the information processing device 2 in steps 201 to 204 of FIG.
  • step 401 the information processing device 2 updates the update control request message transmitted from the information processing device 1 via the communication bus 4, that is, the update status flag 281 to update the software, as described in step 201 of FIG.
  • the communication unit 21 receives the communication message requesting the prohibition of updating.
  • step 402 the information processing device 2 confirms the update status flag 281 stored in the update control information storage part 28 by the state management part 27 as described in step 202 of FIG. Determine the situation.
  • FIG. 8 is a diagram showing an example of the data structure of the update status flag 281 confirmed by the state management unit 27 in the above step 402.
  • the update status flag 281 includes a flag value 2811, for example.
  • the flag value 2811 is information indicating whether software update is permitted or prohibited. When the flag value 2811 is "0", it indicates that the software update is permitted, that is, the status of the information processing device 2 is "update permitted", and when the flag value 2811 is "1", the software update is prohibited. That is, that is, the status of the information processing device 2 is “update disabled”.
  • the state management unit 27 can determine the software update availability status in the information processing device 2. That is, when the flag value 2811 is “0”, it can be determined that the software update is permitted, and when the flag value 2811 is “1”, it can be determined that the software update is prohibited.
  • step 403 the information processing device 2 determines whether the status of the information processing device 2 is “update permitted” or “update not possible” based on the latest update status flag 281 confirmed in step 402. Which of the above is determined. That is, when the flag value 2811 is “0”, it is determined that “updating is permitted” and the process proceeds to step 404, and when the flag value 2811 is “1”, it is determined that the updating is impossible and proceeds to step 405. As a result, even when the communication unit 21 receives the update control request message as the communication message, the flag value 2811 of the update status flag 281 is set because the following step 404 has been executed in the past in the information processing device 2. If it has been updated from "0" to "1", step 404 is not executed and the update status flag 281 is not updated.
  • step 404 the information processing device 2 updates the update status flag 281 by the update control unit 22.
  • the status of the information processing device 2 represented by the update status flag 281 is set to "1" as described in step 203 of FIG. Change from "Allow update” to "No update”.
  • step 405 the information processing device 2 updates the device status information 282 by the update control unit 22.
  • a log is recorded in the device status information 282 according to the determination result of step 403.
  • FIG. 9 is a diagram showing an example of the data structure of the device status information 282 recorded by the update control unit 22 in step 405.
  • the device status information 282 includes, for example, a device status ID 2821, a status type 2822, and an occurrence count 2823.
  • the device status ID 2821 is information for identifying each record forming the device status information 282, and a unique value is set for each record.
  • the status type 2822 is information indicating the type of status, and represents the state of the information processing device 2.
  • the number of occurrences 2823 is information indicating the number of occurrences of the status. Note that information other than this, for example, supplementary information such as time information and a detection location may be added to the device status information 282.
  • the update control unit 22 rewrites information corresponding to the determination result of step 403 among these pieces of information included in the device status information 282 to record the processing result for the update control request from the information processing device 1 as a log. ..
  • the status of the information processing device 2 is changed from “update permitted” to “update not possible” by updating the update status flag 281 in step 404.
  • a record in which the status type 2822 indicates "update of update status flag" that is, a record in which the device status ID 2821 is "D5" is specified, and "1" is added to the value of the number of times of occurrence 2823 of this record. The registered value is registered.
  • step 404 is not executed and the update status flag 281 is not updated.
  • a record in which the status type 2822 indicates “update status flag access denied”, that is, a record in which the device status ID 2821 is “D3” is specified, and “1” is added to the number of occurrences 2823 value of this record. Register the value.
  • step 406 the information processing device 2 updates the update status flag when the step 404 is executed by the state management unit 27 as described in step 204 of FIG. Any information indicating the current status of the information processing device 2 is transmitted to the information processing device 1 via the communication bus 4 on the basis of 281 and the device status information 282 updated in step 405. For example, only the value of the update status flag 281 may be transmitted as arbitrary information, or part of the device status information 282 may be transmitted.
  • step 406 the information processing device 2 ends the process of FIG.
  • the information processing device 2 can update the content of the update status flag 281 for controlling whether or not the software can be updated, based on the verification result notified from the information processing device 1. Further, even if the update status flag 281 is updated even once, the update status flag 281 can be maintained as it is thereafter.
  • FIG. 5 is a flowchart of the software update control process executed by the information processing device 2 in steps 205 to 208 of FIG.
  • step 501 the information processing device 2 sends a predetermined communication message (authentication request message) transmitted from the information processing device 3 via the communication bus 4 to update the software, as described in step 205 of FIG. It is received by the communication unit 21 as an instructed communication message.
  • a predetermined communication message authentication request message
  • the information processing apparatus 2 refers to the update status flag 281 stored in the update control information storage unit 28 by the updatability determination unit 23, as described in step 206 of FIG. 2, and based on this. Determine whether the software can be updated. For example, referring to the flag value 2811 in the update status flag 281 in FIG. 8, if the flag value 2811 is “0”, it is determined that the software update is permitted. That is, if the update control unit 22 has not updated the flag value 2811 of the update status flag 281 from “0” to “1” in step 404, it is determined that the software update is permitted. On the other hand, if the flag value 2811 is "1”, it is determined that the software update is not permitted. That is, if the update control unit 22 updates the flag value 2811 of the update status flag 281 from “0” to “1” even once in step 404, it is determined that the software update is not permitted.
  • step 503 the information processing device 2 determines whether or not the software can be updated by the updatability determination unit 23 based on the determination result in step 502. If it is determined in step 502 that the software update is permitted, it is determined that the software update is possible, and the process proceeds to step 504. On the other hand, if it is determined in step 502 that the software update is not permitted, it is determined that the software update is impossible and the process proceeds to step 507.
  • the information processing device 2 causes the update authentication part 24 to perform an authentication process for the information processing device 3 that has requested authentication by the authentication request message received by the communication part 21 in step 501.
  • any process can be executed.
  • any one or a plurality of processes such as device authentication, authentication of received message, and signature verification can be performed as the authentication process.
  • step 505 the information processing device 2 determines whether or not the information processing device 3 has passed the authentication based on the result of the authentication processing executed in step 504 by the update authentication part 24. If the information processing device 3 is authenticated as a legitimate device in the authentication processing, it is determined that the authentication has passed, and the process proceeds to step 506. If not, it is determined that the authentication has not passed. And proceeds to step 507.
  • step 506 the information processing apparatus 2 causes the update execution unit 25 to execute software update processing based on a predetermined procedure.
  • the process proceeds to step 508.
  • the information processing device 2 updates the device status information 282 based on the determination result of step 503 or step 505 by the state management unit 27. For example, when it is determined in step 503 that the software cannot be updated, a record in which the status type 2822 indicates “update disabled” in the device status information 282 of FIG. 9, that is, the device status ID 2821 is “D2”. A certain record is specified, and the value obtained by adding "1" to the value of the number of occurrences 2823 of this record is registered. Further, for example, when it is determined in step 505 that the information processing device 3 has not passed the authentication, the record in which the status type 2822 indicates “authentication failed” in the device status information 282 in FIG.
  • the device status ID 2821 is A record that is "D1" is specified, and a value obtained by adding "1" to the value of the number of occurrences 2823 of this record is registered. After updating the device status information 282 in step 507, the process proceeds to step 508.
  • step 508 the information processing device 2 indicates the current status of the information processing device 2 based on the update status flag 281 and the device status information 282 by the state management unit 27, as described in step 207 of FIG. Arbitrary information is transmitted to the information processing device 1 via the communication bus 4.
  • the information processing device 1 via the communication bus 4.
  • step 406 of FIG. 4 for example, only the value of the update status flag 281 may be transmitted as arbitrary information, or a part of the device status information 282 may be transmitted.
  • step 508 the information processing device 2 ends the process of FIG.
  • the information processing device 2 can determine whether or not the software can be updated based on the update status flag 281 in response to the software update instruction from the information processing device 3.
  • step 601 the information processing device 2 detects a request for state verification. For example, when the vehicle is started up or when a predetermined communication message transmitted from the information processing device 1 via the communication bus 4 is received by the communication unit 21, a state verification request is made at an arbitrary timing such as a fixed cycle. It is judged that it is, and this is detected.
  • step 602 the information processing device 2 verifies whether the information processing device 2 is affected by an unauthorized cyber attack in response to the request for the state verification detected in step 601 by the state verification unit 26.
  • a predetermined secure boot process is executed to verify that the information processing device 2 has not been tampered with, thereby verifying the influence of the cyber attack.
  • step 603 the information processing device 2 determines whether there is an abnormality in the information processing device 2 based on the verification result performed in step 602. If it can be confirmed that the information processing apparatus 2 has not been tampered with by the verification in step 602, it is determined that there is no abnormality and the process proceeds to step 604. If it cannot be confirmed, it is determined that there is abnormality and the step is performed. Proceed to 605.
  • step 604 the information processing device 2 updates the update status flag 281 by the update control unit 22.
  • the flag value 2811 of the update status flag 281 is updated in step 404 of FIG. It returns from a certain "update not possible” to the "update permitted” which is the state before the update.
  • the flag value 2811 of the update status flag 281 is "0"
  • the update status flag 281 is not updated and is left as it is.
  • step 605 the information processing device 2 updates the device status information 282 by the update control unit 22.
  • a log is recorded in the device status information 282 according to the determination result of step 603.
  • the update status flag 281 is updated in step 604, so that the status of the information processing device 2 is changed from “update not possible” to “update allowed”.
  • a record in which the status type 2822 indicates "update of update status flag" that is, a record in which the device status ID 2821 is "D5" is specified, and "1" is added to the value of the number of times of occurrence 2823 of this record. The registered value is registered.
  • step 603 when it is determined in step 603 that “abnormality exists”, a record whose status type 2822 indicates “abnormal state verification”, that is, a record whose device status ID 2821 is “D4” is specified, and this record is identified. A value obtained by adding “1” to the value of the number of occurrences 2823 is registered.
  • step 606 the information processing device 2 causes the state management unit 27 to send arbitrary information indicating the current status of the information processing device 2 via the communication bus 4 based on the update status flag 281 and the device status information 282. It is transmitted to the processing device 1.
  • the processing device 1 Similar to step 406 of FIG. 4 and step 508 of FIG. 5, for example, only the value of the update status flag 281 may be transmitted as arbitrary information, or part of the device status information 282 may be transmitted. Good.
  • step 606 the information processing device 2 ends the process of FIG.
  • the information processing device 2 verifies at any timing whether or not the information processing device 2 is affected by the cyber attack, and determines whether to permit the software update again according to the verification result. Can decide.
  • the software update control security system effectively copes with a cyber attack targeting the ECU when the information processing device 2 is an ECU of a vehicle control system, for example. be able to. That is, in the information processing device 2, the update status flag 281 stored in the update control information storage unit 28 is used by the update control unit 22 and the update permission/inhibition determination unit 23 separately from the update authentication unit 24 that performs software update authentication. Then, the software update is prohibited when the sign of cyber attack is detected. In addition, when a prohibited operation such as a software update instruction is detected during the period in which the software update is prohibited, an emergency measure such as degenerate operation or emergency stop is entered.
  • the information processing device 2 capable of updating software is connected via a communication bus 4 to an update control information storage unit 28 that stores an update status flag 281 that is control information for controlling whether software can be updated.
  • a communication unit 21 that receives a communication message transmitted from another information processing apparatus 1 and 3, an update control unit 22 that updates the update status flag 281 based on the communication message received by the communication unit 21, and an update status flag.
  • an updatability determination unit 23 that determines updability of software based on 281. Since it did in this way, the system of vehicles etc. controlled using the information processing apparatus 2 can be protected safely from a cyber attack, suppressing the bad influence by false detection.
  • the update control unit 22 updates (2).
  • the status flag 281 is updated (step 404). Since it did in this way, the update status flag 281 can be updated at an appropriate timing.
  • step 403 No
  • the update status flag. 281 is not updated. Since this is done, even after the update status flag 281 has been updated even once and the status of the information processing device 2 has been set to "not updateable", that state can be reliably maintained.
  • the updatability determination unit 23 determines that the software update is permitted, and the update control unit 22 sets the update status flag 281 even once. If it is updated, it is determined that the software update is not permitted (step 502). Since this is done, it is possible to reliably prevent software from being illegally updated when there is a sign that a cyber attack will occur.
  • the information processing device 2 further includes a state verification unit 26 that verifies whether or not there is an influence of an unauthorized attack.
  • the update control unit 22 restores the updated update status flag 281 to the state before the update based on the verification result by the status verification unit 26 (steps 602 to 604). Since this was done, even after detecting the sign of a cyber attack and prohibiting the software update once, if it is confirmed that the cyber attack is not affected, re-enable the software update. Availability can be restored.
  • the update availability determination unit 23 updates the update status flag 281. Whether or not the software can be updated is determined based on (step 502). Since this is done, it is possible to determine whether or not the software can be updated at an appropriate timing.
  • the information processing device 2 performs the update authentication unit 24 that executes the authentication process of the other information processing device 3 and the update that executes the software update. And an execution unit 25.
  • the update execution unit 25 determines that the update permission/inhibition determination unit 23 permits the software update (step 503: Yes), and in the authentication processing executed by the update authentication unit 24, the other information processing device 3 is a regular device. If it is authenticated (step 505: Yes), the software is updated (step 506). Since this is done, it is possible to reliably prevent the software from being updated by improper means such as spoofing.
  • the information processing device 2 sets the control mode. Switch to a predetermined degenerate mode (step 304). Since this is done, the vehicle can be kept in a safe state even if it is attacked by an unauthorized cyber attack.
  • FIG. 10 is a diagram showing the configuration of a software update control security system according to the second embodiment of the present invention.
  • the software update control security system shown in FIG. 10 is configured by connecting one or more information processing apparatuses 2A and 3 to each other via a communication bus 4.
  • the information processing devices 2A and 3 are, for example, ECUs (Electronic Control Units) mounted on a vehicle, and are connected to other devices via a communication bus 4 in the vehicle.
  • the communication bus 4 is physically composed of a plurality of communication buses, and the standards of these communication buses may be the same or different.
  • the information processing device 2A is different from the information processing device 2 described in the first embodiment in that the information processing device 2A further has the same function as the information processing device 1. Specifically, the communication verification unit 12 and the verification result notification unit 13 are further included, and an information storage unit 28A is provided instead of the update control information storage unit 28.
  • the information storage unit 28A has an update status flag 281 and The difference is that communication verification information 141 is stored in addition to the device status information 282.
  • the communication verification unit 12, the verification result notification unit 13, and the communication verification information 141 are the same as those described in the first embodiment.
  • FIG. 11 is a diagram showing an example of a processing sequence in the software update control security system according to the second embodiment of the present invention. Note that, in FIG. 11, the step numbers common to those in FIG. 2 are assigned to the processes having the same contents as those in FIG. 2 described in the first embodiment.
  • the execution body of each step is a CPU (not shown) included in the information processing device 2A.
  • step 101 the information processing apparatus 2A receives a communication message transmitted from another information processing apparatus via the communication bus 4 by the communication unit 21.
  • step 102 the information processing device 2A causes the communication verification unit 12 to verify the communication message received in step 101.
  • the communication verification unit 12 it is verified whether the received communication message indicates the occurrence of the prohibited operation or the sign of the cyber attack.
  • a sign of a cyber attack is detected in step 102 from the communication message received in step 101, and it is determined to prohibit the software update as a subsequent action against the sign.
  • step 202 the information processing device 2A confirms the update status flag 281 stored in the update control information storage unit 28 by the state management unit 27. Then, determine whether the software can be updated. In the example of FIG. 11, it is assumed that the update status flag 281 has not been updated and represents “update permission”, which is a status permitting software update.
  • step 203 the information processing apparatus 2A updates the status of the information processing apparatus 2A by the update control unit 22 based on the verification result in step 102 and the confirmation result of the update status flag 281 in step 202.
  • software update prohibition is determined as the verification result, and the update status flag 281 has not been updated, so the update status flag 281 is changed accordingly.
  • the status of the information processing apparatus 2A is updated from "update permission", which is a status permitting update of software, to "update not possible", which is a status not permitting update.
  • step 203 when the software update prohibition is not determined as the verification result of step 102, or when it is confirmed in step 202 that the update status flag 281 has been updated In step 203, the update status flag 281 is left unchanged without being updated.
  • step 105 the information processing device 2A causes the communication verification unit 12 to verify the communication message received in step 205.
  • the communication verification unit 12 Similar to step 102, it is verified whether the received communication message indicates the occurrence of the prohibited operation or the sign of the cyber attack.
  • the occurrence of the prohibited operation is detected in step 206 from the communication message of the authentication request received in step 205. Therefore, in step 105, it is decided to perform the degenerate operation or the emergency stop as a subsequent action against the occurrence of the prohibited operation.
  • step 209 the information processing device 2A shifts to a predetermined control for carrying out the degenerate operation or the emergency stop of the vehicle according to the follow-up action determined in step 105.
  • the software update in the information processing device 2A is performed as in the first embodiment. Ban. Furthermore, when an operation related to software update is detected during the prohibition period, emergency measures such as degenerate operation and emergency stop are executed so that the vehicle can be maintained in a safe state.
  • the information processing device 2A further includes the communication verification unit 12 that detects a sign of an unauthorized attack based on the communication message received by the communication unit 21.
  • the update control unit 22 updates the update status flag 281 when the communication verification unit 12 detects a sign of an unauthorized attack (step 203).
  • the update status flag 281 can be surely updated in order to prevent the software from being illegally updated when a sign of a cyber attack occurs.
  • the update control unit 22 does not update the update status flag 281 in step 203 if the update status flag 281 has already been updated even when the communication verification unit 12 detects a sign of an unauthorized attack. .. Since it did in this way, after updating the update status flag 281 once and setting the status of the information processing apparatus 2A to "update impossible" like the 1st embodiment, that state can be maintained reliably. it can.
  • Information processing device 4 Communication bus 11: Communication unit 12: Communication verification unit 13: Verification result notification unit 14: Communication determination information storage unit 21: Communication unit 22: Update control unit 23: Update availability Judgment unit 24: Update authentication unit 25: Update execution unit 26: Status verification unit 27: Status management unit 28: Update control information storage unit 28A: Information storage unit 141: Communication verification information 281: Update status flag 282: Device status information

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Computer And Data Communications (AREA)
  • Storage Device Security (AREA)

Abstract

ソフトウェアを更新可能な情報処理装置は、前記ソフトウェアの更新可否を制御するための制御情報を記憶する記憶部と、通信回線を介して接続された他の情報処理装置から送信される通信メッセージを受信する通信部と、前記通信部が受信した前記通信メッセージに基づいて前記制御情報を更新する更新制御部と、前記制御情報に基づいて前記ソフトウェアの更新可否を判定する更新可否判定部と、を備える。

Description

情報処理装置
 本発明は、情報処理装置に関する。
 近年、自動車に搭載される車載システムは、インターネット、Bluetooth(登録商標)、Wi-Fi等の通信回線を介して車外のサーバや情報処理装置と繋がることにより、ユーザに様々なサービスを提供するようになりつつある。これに伴い、従来の閉じた車載システムとは異なり、外部からのセキュリティサイバー攻撃に対する備えが重要になってきている。さらに、このような車載システムでは、OSS(Open Source Software)の活用や、セキュリティが担保されていないスマートフォン等の情報処理装置との接続も検討されている。そのため、これまで以上に脆弱性を悪用されたセキュリティサイバー攻撃が懸念されつつある。
 一般的にセキュリティ対策では、脅威のリスクを減らすために設計段階で対策を検討する「事前対策」、運用段階で顕在化する脅威を検知する「侵入検知」、顕在化した脅威による被害を最小化する「事後対処」の3つの観点により、設計から運用にわたって対象システムの保護資産を守ることが有効と考えられている。特に、事後対処を適切に行うためには、サイバー攻撃者の侵入を確実に検知できることが重要である。一般的な情報システムにおける外部からの不正な侵入を検知する仕組みとしては、例えばIDS(Intrusion Detection System)やIPS(Intrusion Prevention System)が利用されている。
 プラントや工場で使用される統合生産システムのセキュリティ対策に関して、例えば下記の特許文献1の技術が知られている。特許文献1には、プラントに構築された統合生産システムにおいて、前記統合生産システムに対するサイバー攻撃を検知する検知手段の検知結果に基づいて、サイバー攻撃の対象及び種別を特定し、特定したサイバー攻撃の対象及び種別に応じた対策手段を実行する制御装置が開示されている。
日本国特開2017-111532号公報
 特許文献1の技術では、サイバー攻撃を正しく検知できることが前提となっており、事象に応じた適切な事後対処を実行できるか否かはサイバー攻撃の検知精度に依存する。このため、サイバー攻撃を誤検知した場合、本来は事後対処が必要ない状況であっても、事後対処として全通信機能の停止やシステムシャットダウン等が実行されてしまい、システムの可用性に大きな悪影響を及ぼす恐れがある。特に、車載システムでは異常発生時に自動車をなるべく安全な状態に維持する必要があるため、異常を検知した場合の事後対処として、縮退運転や緊急停車等の緊急対処が行われることが多い。このため、特許文献1の技術を車載システムに適用すると、サイバー攻撃に対する誤検知率(FPR:False Positive Rate)が高い場合、実際にはサイバー攻撃が発生していなくても縮退運転や緊急停車が頻繁に実行されてしまい、車両の可用性が大きく低下するという悪影響を生じるおそれがある。
 本発明は、以上の問題に鑑みなされたものであり、情報処理装置を用いて制御されるシステムにおいて、誤検知による悪影響を抑えつつ、システムをサイバー攻撃から安全に守ることを目的とする。
 本発明による情報処理装置は、ソフトウェアを更新可能なものであって、前記ソフトウェアの更新可否を制御するための制御情報を記憶する記憶部と、通信回線を介して接続された他の情報処理装置から送信される通信メッセージを受信する通信部と、前記通信部が受信した前記通信メッセージに基づいて前記制御情報を更新する更新制御部と、前記制御情報に基づいて前記ソフトウェアの更新可否を判定する更新可否判定部と、を備える。
 本発明によれば、誤検知による悪影響を抑えつつ、情報処理装置を用いて制御されるシステムをサイバー攻撃から安全に守ることができる。
本発明の第1の実施形態に係るソフトウェア更新制御用セキュリティシステムの構成を示す図 本発明の第1の実施形態に係るソフトウェア更新制御用セキュリティシステムにおける全体処理シーケンスの一例を示す図 通信監視識別処理のフローチャート ステータス更新処理のフローチャート ソフトウェア更新制御処理のフローチャート ステータス回復処理のフローチャート 通信検証情報のデータ構造の例を示す図 更新ステータスフラグのデータ構造の例を示す図 装置ステータス情報のデータ構造の例を示す図 本発明の第2の実施形態に係るソフトウェア更新制御用セキュリティシステムの構成を示す図 本発明の第2の実施形態に係るソフトウェア更新制御用セキュリティシステムにおける全体処理シーケンスの一例を示す図
 以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
 以下の実施形態では、車両に搭載されてソフトウェアを更新可能な情報処理装置が、他の情報処理装置から受信する特定の通信メッセージに基づいて、ソフトウェアの更新可否を示すフラグを更新し、このフラグに基づいてソフトウェアの更新可否を判定する方法の例を説明する。ただし、本発明の技術的思想は、この例に限定されるものではない。なお、各装置間及び車外との通信は、暗号技術などを用いた安全な通信路を利用することが好ましい。また、各装置で利用する暗号用の鍵及びシードは、安全に配布、管理、更新されていることが好ましく、エンジン起動時/停止時、製品開発時、メンテナンス時などの任意のタイミングで配布や更新が行なわれてもよい。
(第1の実施形態)
 図1は、本発明の第1の実施形態に係るソフトウェア更新制御用セキュリティシステムの構成を示す図である。図1のソフトウェア更新制御用セキュリティシステムは、それぞれ一つまたは複数の情報処理装置1、情報処理装置2、情報処理装置3が通信バス4を介して互いに接続されることにより構成されている。なお、情報処理装置1,2および3は、例えば車両に搭載されるECU(Electronic Control Unit)であり、車内の通信バス4を介して他の装置にも接続されている。ただし通信バス4は、物理的には複数の通信バスで構成されており、これらの通信バスの規格はすべて同一でもよいし異なっていてもよい。これら通信バスの規格は、例えばCAN(登録商標)、LIN(登録商標)、FlexRay(登録商標)、イーサネット(登録商標)などである。
 情報処理装置1,2および3は、不図示のCPU、不図示のROM、および不図示のRAMをそれぞれ備え、ROMに格納されたプログラムをCPUがRAMに展開して実行することにより、以下の機能をそれぞれ実現する。
 情報処理装置1は、その機能として、通信部11、通信検証部12、検証結果通知部13を備える。また、フラッシュメモリ等の記録媒体を用いて構成された通信判定情報記憶部14を備える。
 通信部11は、通信バス4を介して他の情報処理装置から送信される通信メッセージを受信するとともに、通信バス4を介して他の情報処理装置に対して通信メッセージを送信する。前述のとおり通信バス4は物理的に複数の通信バスから構成されているため、通信部11はこの物理的な通信バスと同数の接続ポートを有する。
 通信検証部12は、通信部11が受信した通信メッセージの検証を行い、システム上で何らかの事後対処が必要な事象が発生した場合にはこれを検知する。例えば、通信部11が受信した通信メッセージに基づき、不正なサイバー攻撃の予兆が発生した場合にはこれを検知する。具体的には、例えばアドレススキャン、ポートスキャン、不正メッセージ受信、不正ファイル生成、不正プロセス起動等のサイバー攻撃によって生じる事象を、サイバー攻撃の予兆として検知する。また、他の情報処理装置において禁止動作の発生が検知されたことを示す通信メッセージを通信部11が受信した場合は、この通信メッセージに基づいて禁止動作の発生を検知する。例えば、ソフトウェアの更新が禁止されている状態でソフトウェアの更新依頼が行われた場合、これを禁止動作として検知する。
 検証結果通知部13は、通信検証部12による通信メッセージの検証結果を他の情報処理装置に通知する。例えば、通信検証部12によって不正なサイバー攻撃の予兆が検知された場合は、通信部11を用いて所定の通信メッセージを他の情報処理装置に送信することにより、サイバー攻撃の予兆が発生したことを通知するとともに、ソフトウェア更新の禁止などの事後対処を指示する。また、通信検証部12によって禁止動作の発生が検知された場合は、通信部11を用いて所定の通信メッセージを他の情報処理装置に送信することにより、禁止動作の発生を通知するとともに、縮退運転や緊急停車などの事後対処を指示する。
 通信判定情報記憶部14には、受信した通信メッセージを通信検証部12が検証するために用いられる通信検証情報141が記憶されている。通信検証部12は、この通信検証情報141を参照することで、通信メッセージの検証を行う。
 情報処理装置2は、その機能として、通信部21、更新制御部22、更新可否判定部23、更新認証部24、更新実行部25、状態検証部26、状態管理部27を備える。また、フラッシュメモリ等の記録媒体を用いて構成された更新制御情報記憶部28を備える。
 通信部21は、通信バス4を介して他の情報処理装置から送信される通信メッセージを受信するとともに、通信バス4を介して他の情報処理装置に対して通信メッセージを送信する。前述のとおり通信バス4は物理的に複数の通信バスから構成されているため、通信部21はこの物理的な通信バスと同数の接続ポートを有する。
 更新制御部22は、通信部21が受信した通信メッセージに基づいて、更新制御情報記憶部28に記憶されている更新ステータスフラグ281を更新する。この更新ステータスフラグ281は、情報処理装置2のソフトウェアの更新可否を制御するためのフラグ情報である。
 更新可否判定部23は、更新ステータスフラグ281に基づいてソフトウェアの更新可否を判定する。
 更新認証部24は、通信部21が他の情報処理装置から通信メッセージとして所定の認証依頼メッセージを受信した場合に、その情報処理装置の認証処理を実行する。例えば、正規のソフトウェア更新プロトコルに従って送信された認証依頼メッセージであるか否かを確認することで、その認証依頼メッセージが正しいものであるか否かを判定する。
 更新実行部25は、情報処理装置2のソフトウェアの更新を実行する。例えば、UDS(Unified Diagnosis Services、ISO14229)プロトコルに基づく処理を実行することで、ソフトウェアの更新を行う。
 状態検証部26は、ある任意のタイミングで、情報処理装置2が不正なサイバー攻撃による影響を受けているかどうかを検証する。この状態検証のタイミングには、例えば車両の起動時や、通信部21が予め決められた通信メッセージを受信した時などが設定される。また、所定の周期で状態検証を繰り返し実行してもよい。
 状態管理部27は、更新制御情報記憶部28に記憶されている更新ステータスフラグ281および装置ステータス情報282を用いて、情報処理装置2の状態を管理する。
 更新制御情報記憶部28には、情報処理装置2におけるソフトウェアの更新可否の状態を示す更新ステータスフラグ281と、情報処理装置2の状態を示す装置ステータス情報282とが記憶されている。更新可否判定部23は、この更新ステータスフラグ281を参照することで、ソフトウェアの更新可否の判定を行う。
 情報処理装置3は、情報処理装置1および2と接続され、情報処理装置1および2と通信バス4を介して様々な通信メッセージを送受信する。なお、情報処理装置3は、情報処理装置1または2のいずれかと同様の機能を有してもよい。あるいは、情報処理装置1と2の両方の機能を有してもよい。
 図2は、本発明の第1の実施形態に係るソフトウェア更新制御用セキュリティシステムにおける全体処理シーケンスの一例を示す図である。なお、以下に説明する各ステップの実行主体は、各情報処理装置が有する不図示のCPUである。
 ステップ101において、情報処理装置1は、通信部11により通信バス4を介して他の情報処理装置から送信される通信メッセージを受信する。
 ステップ102において、情報処理装置1は、通信検証部12により、上記ステップ101で受信した通信メッセージの検証を行う。ここでは、受信した通信メッセージが禁止動作の発生やサイバー攻撃の予兆の発生を示しているかを検証する。図2の例では、ステップ101で受信した通信メッセージから、ステップ102でサイバー攻撃の予兆が検知され、これに対する事後対処として、ソフトウェアの更新を禁止することが決定される。
 ステップ103において、情報処理装置1は、検証結果通知部13により、上記ステップ102での検証結果を通信バス4を介して他の情報処理装置に通知する。図2の例では、ステップ102でサイバー攻撃の予兆への事後対処として決定されたソフトウェア更新の禁止を指示するための所定の通信メッセージを、通信部11を用いて情報処理装置2に送信する。
 ステップ201において、情報処理装置2は、通信部21により、上記ステップ103で情報処理装置1から送信された通信メッセージ、すなわち、サイバー攻撃の予兆の発生に対する事後対処としてソフトウェア更新の禁止を指示する通信メッセージを、通信バス4を介して受信する。
 ステップ202において、情報処理装置2は、状態管理部27により、更新制御情報記憶部28に記憶されている更新ステータスフラグ281を確認し、ソフトウェアの更新可否状況を判断する。図2の例では、更新ステータスフラグ281が未更新であり、ソフトウェアの更新を許可するステータスである「更新許可」を表しているものとする。
 ステップ203において、情報処理装置2は、更新制御部22により、上記ステップ201で受信した通信メッセージと、上記ステップ202での更新ステータスフラグ281の確認結果とに基づいて、情報処理装置2のステータスを更新する。図2の例では、受信した通信メッセージがサイバー攻撃の予兆の発生を示す通信メッセージであり、かつ、更新ステータスフラグ281が未更新であるため、これらに従って更新ステータスフラグ281を変更する。これにより、情報処理装置2のステータスを、ソフトウェアの更新を許可するステータスである「更新許可」から、更新を許可しないステータスである「更新不可」に更新する。
 ステップ204において、情報処理装置2は、状態管理部27により、更新制御情報記憶部28に記憶されている更新ステータスフラグ281および装置ステータス情報282の内容に基づき、現在の情報処理装置2のステータスを通信バス4を介して他の情報処理装置に通知する。図2の例では、上記ステップ203で変更された更新ステータスフラグ281に従い、情報処理装置2のステータスが「更新不可」であることを通知するための所定の通信メッセージを、通信部11を用いて情報処理装置1に送信する。
 ステップ30において、情報処理装置3は、正規のソフトウェア更新プロトコルに従って、認証依頼を通知するための所定の通信メッセージを情報処理装置2に送信することで、情報処理装置2に対してソフトウェアの更新を指示する。
 ステップ205において、情報処理装置2は、通信部21により、上記ステップ30で情報処理装置3から送信された認証依頼の通信メッセージを、通信バス4を介して受信する。
 ステップ206において、情報処理装置2は、更新可否判定部23により、更新制御情報記憶部28に記憶されている更新ステータスフラグ281に基づいて、ソフトウェアの更新可否を判定する。図2の例では、上記ステップ203で更新ステータスフラグ281が「更新不可」に変更されているため、ステップ205で情報処理装置3から受信した通知メッセージが示すソフトウェアの更新指示を禁止動作の発生として検知し、ソフトウェアの更新を不可と判定する。
 ステップ207において、情報処理装置2は、状態管理部27により、上記ステップ206での判定結果に基づいて、情報処理装置2のステータスを更新する。図2の例では、ステップ206で禁止動作の発生が検知され、これに従ってソフトウェアの更新が不可であると判定されている。こうした判定結果を装置ステータス情報282に反映させることで、情報処理装置2のステータスを更新する。
 ステップ208において、情報処理装置2は、状態管理部27により、更新制御情報記憶部28に記憶されている更新ステータスフラグ281および装置ステータス情報282の内容に基づき、現在の情報処理装置2のステータスを通信バス4を介して他の情報処理装置に通知する。図2の例では、上記ステップ207で変更された装置ステータス情報282に従い、情報処理装置2が禁止動作の発生を検知したことを通知するための所定の通信メッセージを、通信部21を用いて情報処理装置1に送信する。
 ステップ104において、情報処理装置1は、通信部11により通信バス4を介して、上記ステップ208で情報処理装置2から送信された通信メッセージを受信する。
 ステップ105において、情報処理装置1は、通信検証部12により、上記ステップ104で受信した通信メッセージの検証を行う。ここでは上記ステップ102と同様に、受信した通信メッセージが禁止動作の発生やサイバー攻撃の予兆の発生を示しているかを検証する。図2の例では、ステップ104で受信した通信メッセージから、ステップ105で禁止動作の発生が検知され、これに対する事後対処として、縮退運転や緊急停車を行うことが決定される。
 ステップ106において、情報処理装置1は、検証結果通知部13により、上記ステップ105での検証結果を通信バス4を介して他の情報処理装置に通知する。図2の例では、ステップ105で禁止動作への事後対処として決定された縮退運転や緊急停車を指示するための所定の通信メッセージを、通信部11を用いて情報処理装置2に送信する。
 ステップ209において、情報処理装置2は、上記ステップ106で情報処理装置1から送信された通信メッセージを通信バス4を介して受信し、この通信メッセージに基づいて、車両の縮退運転や緊急停車を実施するための所定の制御モードに移行する。
 本実施形態のソフトウェア更新制御用セキュリティシステムでは、以上の各ステップにより、セキュリティに対する不正なサイバー攻撃の予兆を検知した場合に、情報処理装置2におけるソフトウェアの更新を禁止する。さらに、当該禁止期間においてソフトウェアの更新に関る動作を検知した場合に、縮退運転や緊急停車などの緊急対処を情報処理装置2に実行させ、自動車を安全な状態で維持できるようにする。
 次に、図2の処理シーケンスの詳細について、図3~図5および図7~図9を参照して以下に説明する。
 図3は、図2のステップ101からステップ105において情報処理装置1が実行する通信監視識別処理のフローチャートである。
 ステップ301において、情報処理装置1は、図2のステップ101、104で説明したように、通信バス4を介して他の情報処理装置から送信される通信メッセージを通信部11により受信する。
 ステップ302において、情報処理装置1は、通信検証部12により、図2のステップ102、105で説明したように、通信判定情報記憶部14に記憶されている通信検証情報141に基づいて、ステップ301で受信した通信メッセージの検証を行う。すなわち、受信した通信メッセージが「禁止動作の発生」や「サイバー攻撃の予兆の発生」に該当するかどうかを検証する。
 図7は、上記ステップ302において通信検証部12が通信メッセージの検証に用いる通信検証情報141のデータ構造の例を示す図である。図7に示すように、通信検証情報141は、例えば検証ID1411と、通信種別1412と、該当通信ID一覧1413とを含んで構成される。検証ID1411は、通信検証情報141を構成する各レコードを識別するための情報であり、レコードごとに固有の値が設定されている。通信種別1412は、通信メッセージの種別を示す情報であり、これは検証対象の通信メッセージがどのような事象に該当するかを表している。該当通信ID一覧1413は、通信メッセージに含まれる通信IDの一覧を示す情報である。
 通信検証部12は、通信検証情報141に含まれるこれらの情報を通信部11が受信した通信メッセージと照合することで、受信した通信メッセージがどの事象に該当するかを判断することができる。例えば、上記ステップ301で受信した通信メッセージにおける通信IDの値が「0x001」の場合、この値が該当通信ID一覧1413に含まれているのは、検証ID1411の値が「V1」のレコードである。したがって、このレコードに紐づけられた通信種別1412の内容から、受信した通信メッセージが「禁止動作の発生」を示しており、ソフトウェアの更新が禁止されている状態でソフトウェアの更新依頼が行われたと判断することができる。
 図3の説明に戻ると、ステップ303において、通信検証部12は、上記ステップ302で行った通信メッセージの検証結果に基づいて、禁止動作を検知したか否かを判定する。禁止動作を検知した場合はステップ304に進み、それ以外の場合はステップ305に進む。
 ステップ304において、情報処理装置1は、検証結果通知部13により、ステップ302で検知した禁止動作への事後対処として、縮退運転や緊急停車への移行を依頼する通知を行う。ここでは図2のステップ106で説明したように、通信部11により通信バス4を介して、縮退運転や緊急停車を指示する所定の通信メッセージを送信することで、他の各情報処理装置に対して禁止動作への事後対処を指示する。
 ステップ305において、通信検証部12は、上記ステップ302で行った通信メッセージの検証結果に基づいて、不正なサイバー攻撃の予兆を検知したか否かを判定する。攻撃の予兆を検知した場合はステップ306に進み、それ以外の場合はステップ307に進む。
 ステップ306において、情報処理装置1は、検証結果通知部13により、ステップ302で検知したサイバー攻撃の予兆への事後対処として、所定の更新制御を依頼する通知を行う。ここでは図2のステップ103で説明したように、通信部11により通信バス4を介して、ソフトウェア更新の禁止を指示する所定の通信メッセージ(更新制御依頼メッセージ)を送信することで、他の各情報処理装置に対して攻撃の予兆への事後対処を指示する。
 ステップ307において、通信検証部12は、通信部11により受信される通信メッセージを継続して監視する継続監視状態に移行する。
 ステップ304、306、307のいずれかを実行したら、情報処理装置1は図3の処理を終了する。
 以上の処理により、情報処理装置1は、受信した通信メッセージを検証し、その検証結果に基づいて、事象に応じた事後対処を他の情報処理装置に通知できる。なお、情報処理装置1は、検証結果の通知先に情報処理装置1自身を含めてもよい。また、通信検証情報141において、攻撃の予兆と禁止動作以外の事象も通信種別1412に含めることで、通信検証部12がこれらの事象についても事後対象を要する事象として検証できるようにしてもよい。
 図4は、図2のステップ201からステップ204において情報処理装置2が実行するステータス更新処理のフローチャートである。
 ステップ401において、情報処理装置2は、図2のステップ201で説明したように、通信バス4を介して情報処理装置1から送信される更新制御依頼メッセージ、すなわち更新ステータスフラグ281を更新してソフトウェア更新の禁止を依頼する通信メッセージを、通信部21により受信する。
 ステップ402において、情報処理装置2は、図2のステップ202で説明したように、状態管理部27により、更新制御情報記憶部28に記憶されている更新ステータスフラグ281を確認し、ソフトウェアの更新可否状況を判断する。
 図8は、上記ステップ402において状態管理部27が確認する更新ステータスフラグ281のデータ構造の例を示す図である。図8に示すように、更新ステータスフラグ281は、例えばフラグ値2811を含んで構成される。フラグ値2811は、ソフトウェアの更新が許可されているか禁止されているかを示す情報である。フラグ値2811が「0」の場合は、ソフトウェアの更新が許可されている、すなわち情報処理装置2のステータスが「更新許可」であることを表し、「1」の場合は、ソフトウェアの更新が禁止されている、すなわち情報処理装置2のステータスが「更新不可」であることを表す。
 状態管理部27は、更新ステータスフラグ281に含まれるこの情報を確認することで、情報処理装置2におけるソフトウェアの更新可否状況を判断することができる。すなわち、フラグ値2811が「0」の場合はソフトウェアの更新が許可されていると判断し、「1」の場合は禁止されていると判断することができる。
 図4の説明に戻ると、ステップ403において、情報処理装置2は、上記ステップ402で確認した最新の更新ステータスフラグ281に基づいて、情報処理装置2のステータスが「更新許可」と「更新不可」のいずれであるかを判定する。すなわち、フラグ値2811が「0」の場合は「更新許可」と判定してステップ404に進み、フラグ値2811が「1」の場合は更新不可状態と判定してステップ405に進む。これにより、通信部21が通信メッセージとして更新制御依頼メッセージを受信した場合であっても、情報処理装置2において過去に下記のステップ404が実行されたことにより、更新ステータスフラグ281のフラグ値2811を「0」から「1」に更新済みである場合は、ステップ404を実行せずに更新ステータスフラグ281を更新しないようにする。
 ステップ404において、情報処理装置2は、更新制御部22により、更新ステータスフラグ281を更新する。ここでは、更新ステータスフラグ281のフラグ値2811を「0」から「1」に更新することで、図2のステップ203で説明したように、更新ステータスフラグ281が表す情報処理装置2のステータスを「更新許可」から「更新不可」に変更する。
 ステップ405において、情報処理装置2は、更新制御部22により、装置ステータス情報282を更新する。ここでは、ステップ403の判定結果に従って、装置ステータス情報282にログを記録する。
 図9は、上記ステップ405において更新制御部22がログを記録する装置ステータス情報282のデータ構造の例を示す図である。図9に示すように、装置ステータス情報282は、例えば装置ステータスID2821と、ステータス種別2822と、発生回数2823とを含んで構成される。装置ステータスID2821は、装置ステータス情報282を構成する各レコードを識別するための情報であり、レコードごとに固有の値が設定されている。ステータス種別2822は、ステータスの種別を示す情報であり、これは情報処理装置2がどのような状態であるかを表している。発生回数2823は、当該ステータスの発生回数を示す情報である。なお、装置ステータス情報282にこれ以外の情報、例えば時刻情報や検知箇所等の補足情報を追加してもよい。
 更新制御部22は、装置ステータス情報282に含まれるこれらの情報のうち、ステップ403の判定結果に応じた情報を書き換えることで、情報処理装置1からの更新制御依頼に対する処理結果をログとして記録する。例えば、ステップ403で「更新許可」と判定された場合、ステップ404で更新ステータスフラグ281が更新されることにより、情報処理装置2のステータスが「更新許可」から「更新不可」に変更される。この場合は、ステータス種別2822が「更新ステータスフラグの更新」を示しているレコード、すなわち装置ステータスID2821が「D5」であるレコードを特定し、このレコードの発生回数2823の値に「1」を加算した値を登録する。一方、ステップ403で「更新不可」と判定された場合、ステップ404が実行されずに更新ステータスフラグ281が更新されない。この場合は、ステータス種別2822が「更新ステータスフラグアクセス拒否」を示しているレコード、すなわち装置ステータスID2821が「D3」であるレコードを特定し、このレコードの発生回数2823値に「1」を加算した値を登録する。
 図4の説明に戻ると、ステップ406において、情報処理装置2は、図2のステップ204で説明したように、状態管理部27により、上記ステップ404が実行された場合に更新された更新ステータスフラグ281と、上記ステップ405で更新された装置ステータス情報282とに基づいて、現在の情報処理装置2のステータスを示す任意の情報を通信バス4を介して情報処理装置1に送信する。例えば、任意の情報として更新ステータスフラグ281の値のみを送信してもよいし、装置ステータス情報282の一部を送信してもよい。
 ステップ406を実行したら、情報処理装置2は図4の処理を終了する。
 以上の処理により、情報処理装置2は、情報処理装置1から通知された検証結果に基づいて、ソフトウェアの更新可否を制御するための更新ステータスフラグ281の内容を更新することができる。また、一度でも更新ステータスフラグ281が更新されたら、その後は更新ステータスフラグ281をそのままの状態に維持することができる。
 図5は、図2のステップ205からステップ208において情報処理装置2が実行するソフトウェア更新制御処理のフローチャートである。
 ステップ501において、情報処理装置2は、図2のステップ205で説明したように、通信バス4を介して情報処理装置3から送信される所定の通信メッセージ(認証依頼メッセージ)を、ソフトウェアの更新を指示する通信メッセージとして、通信部21により受信する。
 ステップ502において、情報処理装置2は、図2のステップ206で説明したように、更新可否判定部23により、更新制御情報記憶部28に記憶されている更新ステータスフラグ281を参照し、これに基づいてソフトウェアの更新可否を判定する。例えば、図8の更新ステータスフラグ281におけるフラグ値2811を参照し、フラグ値2811が「0」であれば、ソフトウェアの更新を許可すると判定する。すなわち、上記ステップ404で更新制御部22によって更新ステータスフラグ281のフラグ値2811が一度も「0」から「1」に更新されていない場合は、ソフトウェアの更新を許可すると判定する。一方、フラグ値2811が「1」であれば、ソフトウェアの更新を許可しないと判定する。すなわち、上記ステップ404で更新制御部22によって更新ステータスフラグ281のフラグ値2811が一度でも「0」から「1」に更新された場合は、ソフトウェアの更新を許可しないと判定する。
 ステップ503において、情報処理装置2は、更新可否判定部23により、上記ステップ502の判定結果に基づいて、ソフトウェアの更新が可能か否かを判定する。ステップ502でソフトウェアの更新を許可すると判定された場合は、ソフトウェアの更新が可能であると判定してステップ504に進む。一方、ステップ502でソフトウェアの更新を許可しないと判定された場合は、ソフトウェアの更新が不可であると判定してステップ507に進む。
 ステップ504において、情報処理装置2は、更新認証部24により、ステップ501で通信部21が受信した認証依頼メッセージによって認証を依頼してきた情報処理装置3に対する認証処理を実施する。このときの認証処理としては、任意の処理を実行できる。例えば機器認証、受信したメッセージの認証、署名検証等のうちいずれか一つまたは複数の処理を、認証処理として実施することができる。
 ステップ505において、情報処理装置2は、更新認証部24により、上記ステップ504で実施した認証処理の結果に基づいて、情報処理装置3が認証をパスしたか否かを判定する。認証処理において情報処理装置3が正規の装置であると認証された場合は、認証をパスしたと判定してステップ506に進み、そうでないと判断された場合は、認証をパスしなかったと判定してステップ507に進む。
 ステップ506において、情報処理装置2は、更新実行部25により、所定の手順に基づいてソフトウェアの更新処理を実行する。ステップ506でソフトウェアの更新を完了したら、ステップ508に進む。
 ステップ507において、情報処理装置2は、状態管理部27により、上記ステップ503またはステップ505の判定結果に基づいて、装置ステータス情報282を更新する。例えば、ステップ503でソフトウェアの更新が不可であると判定した場合は、図9の装置ステータス情報282において、ステータス種別2822が「更新不可」を示しているレコード、すなわち装置ステータスID2821が「D2」であるレコードを特定し、このレコードの発生回数2823の値に「1」を加算した値を登録する。また例えば、ステップ505で情報処理装置3が認証をパスしなかったと判定した場合は、図9の装置ステータス情報282において、ステータス種別2822が「認証失敗」を示しているレコード、すなわち装置ステータスID2821が「D1」であるレコードを特定し、このレコードの発生回数2823の値に「1」を加算した値を登録する。ステップ507で装置ステータス情報282を更新したら、ステップ508に進む。
 ステップ508において、情報処理装置2は、図2のステップ207で説明したように、状態管理部27により、更新ステータスフラグ281および装置ステータス情報282に基づいて、現在の情報処理装置2のステータスを示す任意の情報を通信バス4を介して情報処理装置1に送信する。ここでは図4のステップ406と同様に、例えば、任意の情報として更新ステータスフラグ281の値のみを送信してもよいし、装置ステータス情報282の一部を送信してもよい。
 ステップ508を実行したら、情報処理装置2は図5の処理を終了する。
 以上の処理により、情報処理装置2は、情報処理装置3からのソフトウェアの更新指示に対して、更新ステータスフラグ281に基づいて、ソフトウェアの更新可否を判定することができる。
 次に、更新された更新ステータスフラグ281を元に戻す場合の処理について説明する。上記図4の処理では、情報処理装置2において更新ステータスフラグ281が一度でも更新されると、その後は更新ステータスフラグ281がそのままの状態に維持されることで、ソフトウェアの更新が禁止された状態のままとなる。以下では、図6に示すステータス回復処理のフローチャートを参照して、任意のタイミングで情報処理装置2がサイバー攻撃による影響を受けているかどうかを検証し、サイバー攻撃による影響を受けていない場合は、更新ステータスフラグ281を元に戻して、ソフトウェアの更新を再び許可する場合を説明する。
 ステップ601において、情報処理装置2は、状態検証の要求を検知する。例えば、車両の起動時や、通信バス4を介して情報処理装置1から送信される所定の通信メッセージを通信部21により受信したとき、一定周期など、任意のタイミングで状態検証の要求が行われたと判断し、これを検知する。
 ステップ602において、情報処理装置2は、状態検証部26により、ステップ601で検知した状態検証の要求に応じて、情報処理装置2が不正なサイバー攻撃による影響を受けているかどうかの検証を行う。ここでは、例えば所定のセキュアブート処理を実行し、情報処理装置2が改ざんされていないことを検証することで、サイバー攻撃による影響の有無を検証する。
 ステップ603において、情報処理装置2は、上記ステップ602で実施した検証結果に基づいて、情報処理装置2における異常の有無を判定する。ステップ602の検証によって情報処理装置2が改ざんされていないことを確認できた場合は、「異常なし」と判定してステップ604に進み、確認できなかった場合は「異常あり」と判定してステップ605に進む。
 ステップ604において、情報処理装置2は、更新制御部22により、更新ステータスフラグ281を更新する。ここでは、更新ステータスフラグ281のフラグ値2811を「1」から「0」に更新することで、更新ステータスフラグ281が表す情報処理装置2のステータスを、図4のステップ404において更新済みの状態である「更新不可」から更新前の状態である「更新許可」に戻す。ただし、更新ステータスフラグ281のフラグ値2811が「0」である場合は、更新せずにそのままとする。
 ステップ605において、情報処理装置2は、更新制御部22により、装置ステータス情報282を更新する。ここでは、ステップ603の判定結果に従って、装置ステータス情報282にログを記録する。例えば、ステップ603で「異常なし」と判定された場合、ステップ604で更新ステータスフラグ281が更新されることにより、情報処理装置2のステータスが「更新不可」から「更新許可」に変更される。この場合は、ステータス種別2822が「更新ステータスフラグの更新」を示しているレコード、すなわち装置ステータスID2821が「D5」であるレコードを特定し、このレコードの発生回数2823の値に「1」を加算した値を登録する。一方、ステップ603で「異常あり」と判定された場合は、ステータス種別2822が「状態検証異常あり」を示しているレコード、すなわち装置ステータスID2821が「D4」であるレコードを特定し、このレコードの発生回数2823の値に「1」を加算した値を登録する。
 ステップ606において、情報処理装置2は、状態管理部27により、更新ステータスフラグ281および装置ステータス情報282に基づいて、現在の情報処理装置2のステータスを示す任意の情報を通信バス4を介して情報処理装置1に送信する。ここでは図4のステップ406や図5のステップ508と同様に、例えば、任意の情報として更新ステータスフラグ281の値のみを送信してもよいし、装置ステータス情報282の一部を送信してもよい。
 ステップ606を実行したら、情報処理装置2は図6の処理を終了する。
 以上の処理により、情報処理装置2は、任意のタイミングで、情報処理装置2がサイバー攻撃による影響を受けているかどうかを検証し、その検証結果に応じて、ソフトウェアの更新を再び許可するか否かを決定することができる。
 以上説明した第1の実施形態によれば、ソフトウェア更新制御用セキュリティシステムは、例えば情報処理装置2を車両制御系のECUとした場合に、このECUを狙ったサイバー攻撃に対して有効に対処することができる。すなわち、情報処理装置2では、ソフトウェアの更新認証を行う更新認証部24とは別に、更新制御部22および更新可否判定部23により、更新制御情報記憶部28に記憶された更新ステータスフラグ281を用いて、サイバー攻撃の予兆が検知された段階でソフトウェアの更新を禁止する。また、ソフトウェアの更新を禁止している期間において、ソフトウェアの更新指示等の禁止動作を検知した場合は、縮退運転や緊急停車などの緊急対処に移行する。これにより、サイバー攻撃者によって正規ソフトウェア更新プロトコルが破られたとしても、不正なソフトウェアの更新を防止することができる。また、サイバー攻撃の予兆が誤検知の場合でも、一時的にソフトウェアの更新ができないだけで、走行制御に影響を与えずに自動車を安全な状態に維持することができる。
 以上説明した本発明の第1の実施形態によれば、以下の作用効果を奏する。
(1)ソフトウェアを更新可能な情報処理装置2は、ソフトウェアの更新可否を制御するための制御情報である更新ステータスフラグ281を記憶する更新制御情報記憶部28と、通信バス4を介して接続された他の情報処理装置1,3から送信される通信メッセージを受信する通信部21と、通信部21が受信した通信メッセージに基づいて更新ステータスフラグ281を更新する更新制御部22と、更新ステータスフラグ281に基づいてソフトウェアの更新可否を判定する更新可否判定部23と、を備える。このようにしたので、誤検知による悪影響を抑えつつ、情報処理装置2を用いて制御される自動車等のシステムをサイバー攻撃から安全に守ることができる。
(2)更新制御部22は、通信部21が通信メッセージとして、更新ステータスフラグ281の更新を依頼する所定の更新制御依頼メッセージを他の情報処理装置1から受信した場合(ステップ401)に、更新ステータスフラグ281を更新する(ステップ404)。このようにしたので、適切なタイミングで更新ステータスフラグ281を更新することができる。
(3)更新制御部22は、通信部21が通信メッセージとして更新制御依頼メッセージを受信した場合であっても、更新ステータスフラグ281を更新済みである場合(ステップ403:No)は、更新ステータスフラグ281を更新しない。このようにしたので、一度でも更新ステータスフラグ281を更新して情報処理装置2のステータスを「更新不可」に設定した後は、その状態を確実に維持することができる。
(4)更新可否判定部23は、更新制御部22により更新ステータスフラグ281が一度も更新されていない場合は、ソフトウェアの更新を許可すると判定し、更新制御部22により更新ステータスフラグ281が一度でも更新された場合は、ソフトウェアの更新を許可しないと判定する(ステップ502)。このようにしたので、サイバー攻撃の発生の予兆がある場合に、ソフトウェアが不正に更新されてしまうことを確実に防止できる。
(5)情報処理装置2は、不正な攻撃による影響の有無を検証する状態検証部26をさらに備える。更新制御部22は、状態検証部26による検証結果に基づいて、更新済みの更新ステータスフラグ281を更新前の状態に戻す(ステップ602~604)。このようにしたので、サイバー攻撃の発生の予兆を検知して一度ソフトウェアの更新を禁止した後でも、サイバー攻撃による影響を受けていないことが確認できた場合は、ソフトウェアの更新を再び許可して可用性を回復することができる。
(6)更新可否判定部23は、通信部21が通信メッセージとして、ソフトウェアの更新を依頼する所定の認証依頼メッセージを他の情報処理装置3から受信した場合(ステップ501)に、更新ステータスフラグ281に基づいてソフトウェアの更新可否を判定する(ステップ502)。このようにしたので、適切なタイミングでソフトウェアの更新可否を判定することができる。
(7)情報処理装置2は、通信部21が通信メッセージとして認証依頼メッセージを受信した場合に、他の情報処理装置3の認証処理を実行する更新認証部24と、ソフトウェアの更新を実行する更新実行部25と、をさらに備える。更新実行部25は、更新可否判定部23がソフトウェアの更新を許可すると判定し(ステップ503:Yes)、かつ、更新認証部24が実行した認証処理において他の情報処理装置3が正規の装置であると認証された場合(ステップ505:Yes)に、ソフトウェアの更新を実行する(ステップ506)。このようにしたので、なりすまし等の不正な手段でソフトウェアが更新されてしまうことを確実に防止できる。
(8)情報処理装置2は、更新制御部22により更新ステータスフラグ281が更新された後、通信部21が通信メッセージとして所定の禁止メッセージを受信した場合(ステップ303:Yes)に、制御モードを所定の縮退モードに切り替える(ステップ304)。このようにしたので、不正なサイバー攻撃の攻撃を受けた場合でも、自動車を安全な状態に維持することができる。
(第2の実施形態)
 図10は、本発明の第2の実施形態に係るソフトウェア更新制御用セキュリティシステムの構成を示す図である。図10のソフトウェア更新制御用セキュリティシステムは、それぞれ一つまたは複数の情報処理装置2A、情報処理装置3が通信バス4を介して互いに接続されることにより構成されている。なお、第1の実施形態と同様に、情報処理装置2Aおよび3は、例えば車両に搭載されるECU(Electronic Control Unit)であり、車内の通信バス4を介して他の装置にも接続されている。ただし通信バス4は、物理的には複数の通信バスで構成されており、これらの通信バスの規格はすべて同一でもよいし異なっていてもよい。
 情報処理装置2Aは、第1の実施形態で説明した情報処理装置2と比べて、情報処理装置1と同様の機能をさらに有する点が異なっている。具体的には、通信検証部12および検証結果通知部13をさらに有する点と、更新制御情報記憶部28に替えて情報記憶部28Aを有し、この情報記憶部28Aには更新ステータスフラグ281および装置ステータス情報282に加えて、さらに通信検証情報141が記憶されている点とが異なっている。なお、通信検証部12、検証結果通知部13および通信検証情報141は、第1の実施形態で説明したのとそれぞれ同様のものである。
 図11は、本発明の第2の実施形態に係るソフトウェア更新制御用セキュリティシステムにおける処理シーケンスの一例を示す図である。なお、図11では、第1の実施形態で説明した図2と同じ内容の処理に対して、図2と共通のステップ番号を付している。また、各ステップの実行主体は、情報処理装置2Aが有する不図示のCPUである。
 ステップ101において、情報処理装置2Aは、通信部21により通信バス4を介して他の情報処理装置から送信される通信メッセージを受信する。
 ステップ102において、情報処理装置2Aは、通信検証部12により、上記ステップ101で受信した通信メッセージの検証を行う。ここでは、受信した通信メッセージが禁止動作の発生やサイバー攻撃の予兆の発生を示しているかを検証する。図11の例では、ステップ101で受信した通信メッセージから、ステップ102でサイバー攻撃の予兆が検知され、これに対する事後対処として、ソフトウェアの更新を禁止することが決定される。
 上記ステップ102でソフトウェアの更新を禁止することが決定されると、ステップ202において、情報処理装置2Aは、状態管理部27により、更新制御情報記憶部28に記憶されている更新ステータスフラグ281を確認し、ソフトウェアの更新可否状況を判断する。図11の例では、更新ステータスフラグ281が未更新であり、ソフトウェアの更新を許可するステータスである「更新許可」を表しているものとする。
 ステップ203において、情報処理装置2Aは、更新制御部22により、上記ステップ102での検証結果と、上記ステップ202での更新ステータスフラグ281の確認結果とに基づいて、情報処理装置2Aのステータスを更新する。図11の例では、検証結果としてソフトウェアの更新禁止が決定され、かつ、更新ステータスフラグ281が未更新であるため、これらに従って更新ステータスフラグ281を変更する。これにより、情報処理装置2Aのステータスを、ソフトウェアの更新を許可するステータスである「更新許可」から、更新を許可しないステータスである「更新不可」に更新する。
 なお、図11の例では上記のとおりであるが、ステップ102の検証結果としてソフトウェアの更新禁止が決定されなかった場合や、ステップ202で更新ステータスフラグ281が更新済みであることが確認された場合は、ステップ203において、更新ステータスフラグ281を更新せずにそのままとする。
 ステップ205~207では、図2と同様の処理をそれぞれ実施する。
 ステップ105において、情報処理装置2Aは、通信検証部12により、上記ステップ205で受信した通信メッセージの検証を行う。ここでは上記ステップ102と同様に、受信した通信メッセージが禁止動作の発生やサイバー攻撃の予兆の発生を示しているかを検証する。図11の例では、ステップ205で受信した認証依頼の通信メッセージにより、ステップ206で禁止動作の発生が検知されている。そのため、ステップ105では禁止動作の発生に対する事後対処として、縮退運転や緊急停車を行うことが決定される。
 ステップ209において、情報処理装置2Aは、上記ステップ105で決定された事後対処に従って、車両の縮退運転や緊急停車を実施するための所定の制御に移行する。
 本実施形態のソフトウェア更新制御用セキュリティシステムでは、以上の各ステップにより、第1の実施形態と同様に、セキュリティに対する不正なサイバー攻撃の予兆を検知した場合に、情報処理装置2Aにおけるソフトウェアの更新を禁止する。さらに、当該禁止期間においてソフトウェアの更新に関る動作を検知した場合に、縮退運転や緊急停車などの緊急対処を実行し、自動車を安全な状態で維持できるようにする。
 以上説明した本発明の第2の実施形態によれば、第1の実施形態で説明した(1)、(4)~(8)に加えて、さらに以下の作用効果を奏する。
(9)情報処理装置2Aは、通信部21が受信した通信メッセージに基づいて不正な攻撃の予兆を検知する通信検証部12をさらに備える。更新制御部22は、通信検証部12が不正な攻撃の予兆を検知した場合に、更新ステータスフラグ281を更新する(ステップ203)。このようにしたので、サイバー攻撃の予兆が発生した場合に、ソフトウェアが不正に更新されてしまうことを防止するため、更新ステータスフラグ281を確実に更新することができる。
(10)更新制御部22は、通信検証部12が不正な攻撃の予兆を検知した場合であっても、更新ステータスフラグ281を更新済みである場合は、ステップ203で更新ステータスフラグ281を更新しない。このようにしたので、第1の実施形態と同様に、一度更新ステータスフラグ281を更新して情報処理装置2Aのステータスを「更新不可」に設定した後は、その状態を確実に維持することができる。
 なお、以上説明した各実施形態や各種変形例はあくまで一例であり、発明の特徴が損なわれない限り、本発明はこれらの内容に限定されるものではない。また、上記では種々の実施形態や変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
 次の優先権基礎出願の開示内容は引用文としてここに組み込まれる。
 日本国特許出願2018-247787(2018年12月28日出願)
 1,2,2A,3:情報処理装置
 4:通信バス
 11:通信部
 12:通信検証部
 13:検証結果通知部
 14:通信判定情報記憶部
 21:通信部
 22:更新制御部
 23:更新可否判定部
 24:更新認証部
 25:更新実行部
 26:状態検証部
 27:状態管理部
 28:更新制御情報記憶部
 28A:情報記憶部
 141:通信検証情報
 281:更新ステータスフラグ
 282:装置ステータス情報

Claims (10)

  1.  ソフトウェアを更新可能な情報処理装置であって、
     前記ソフトウェアの更新可否を制御するための制御情報を記憶する記憶部と、
     通信回線を介して接続された他の情報処理装置から送信される通信メッセージを受信する通信部と、
     前記通信部が受信した前記通信メッセージに基づいて前記制御情報を更新する更新制御部と、
     前記制御情報に基づいて前記ソフトウェアの更新可否を判定する更新可否判定部と、を備える情報処理装置。
  2.  請求項1に記載の情報処理装置において、
     前記更新制御部は、前記通信部が前記通信メッセージとして、前記制御情報の更新を依頼する所定の更新制御依頼メッセージを前記他の情報処理装置から受信した場合に、前記制御情報を更新する情報処理装置。
  3.  請求項2に記載の情報処理装置において、
     前記更新制御部は、前記通信部が前記通信メッセージとして前記更新制御依頼メッセージを受信した場合であっても、前記制御情報を更新済みである場合は、前記制御情報を更新しない情報処理装置。
  4.  請求項1に記載の情報処理装置において、
     前記通信部が受信した前記通信メッセージに基づいて不正な攻撃の予兆を検知する通信検証部をさらに備え、
     前記更新制御部は、前記通信検証部が前記不正な攻撃の予兆を検知した場合に、前記制御情報を更新する情報処理装置。
  5.  請求項4に記載の情報処理装置において、
     前記更新制御部は、前記通信検証部が前記不正な攻撃の予兆を検知した場合であっても、前記制御情報を更新済みである場合は、前記制御情報を更新しない情報処理装置。
  6.  請求項1から請求項5のいずれか一項に記載の情報処理装置において、
     前記更新可否判定部は、
     前記更新制御部により前記制御情報が一度も更新されていない場合は、前記ソフトウェアの更新を許可すると判定し、
     前記更新制御部により前記制御情報が一度でも更新された場合は、前記ソフトウェアの更新を許可しないと判定する情報処理装置。
  7.  請求項6に記載の情報処理装置において、
     不正な攻撃による影響の有無を検証する状態検証部をさらに備え、
     前記更新制御部は、前記状態検証部による検証結果に基づいて、更新済みの前記制御情報を更新前の状態に戻す情報処理装置。
  8.  請求項1から請求項5のいずれか一項に記載の情報処理装置において、
     前記更新可否判定部は、前記通信部が前記通信メッセージとして、前記ソフトウェアの更新を依頼する所定の認証依頼メッセージを前記他の情報処理装置から受信した場合に、前記制御情報に基づいて前記ソフトウェアの更新可否を判定する情報処理装置。
  9.  請求項8に記載の情報処理装置において、
     前記通信部が前記通信メッセージとして前記認証依頼メッセージを受信した場合に、前記他の情報処理装置の認証処理を実行する更新認証部と、
     前記ソフトウェアの更新を実行する更新実行部と、をさらに備え、
     前記更新実行部は、前記更新可否判定部が前記ソフトウェアの更新を許可すると判定し、かつ、前記更新認証部が実行した前記認証処理において前記他の情報処理装置が正規の装置であると認証された場合に、前記ソフトウェアの更新を実行する情報処理装置。
  10.  請求項1から請求項5のいずれか一項に記載の情報処理装置において、
     前記更新制御部により前記制御情報が更新された後、前記通信部が前記通信メッセージとして所定の禁止メッセージを受信した場合に、制御モードを所定の縮退モードに切り替える情報処理装置。
PCT/JP2019/050023 2018-12-28 2019-12-20 情報処理装置 WO2020137852A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/414,824 US12039050B2 (en) 2018-12-28 2019-12-20 Information processing device
CN201980084948.0A CN113226858B (zh) 2018-12-28 2019-12-20 信息处理装置
EP19902616.2A EP3904161A4 (en) 2018-12-28 2019-12-20 INFORMATION PROCESSING DEVICE

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018247787A JP7138043B2 (ja) 2018-12-28 2018-12-28 情報処理装置
JP2018-247787 2018-12-28

Publications (1)

Publication Number Publication Date
WO2020137852A1 true WO2020137852A1 (ja) 2020-07-02

Family

ID=71126211

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/050023 WO2020137852A1 (ja) 2018-12-28 2019-12-20 情報処理装置

Country Status (5)

Country Link
US (1) US12039050B2 (ja)
EP (1) EP3904161A4 (ja)
JP (1) JP7138043B2 (ja)
CN (1) CN113226858B (ja)
WO (1) WO2020137852A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7564022B2 (ja) * 2021-03-09 2024-10-08 日立Astemo株式会社 分析装置
US12111958B2 (en) * 2021-05-13 2024-10-08 AO Kaspersky Lab Systems and methods for verifying the integrity of a software installation image
JP2023176126A (ja) * 2022-05-31 2023-12-13 日立Astemo株式会社 電子制御装置、検証プログラム及び検証方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014115973A (ja) * 2012-11-15 2014-06-26 Nintendo Co Ltd 情報処理装置、端末システム、情報処理プログラム、および、アプリケーションの更新用データの取得方法
JP2017004220A (ja) * 2015-06-09 2017-01-05 株式会社東芝 通信装置、通信システム、通信方法およびプログラム
JP2017111532A (ja) 2015-12-15 2017-06-22 横河電機株式会社 制御装置及び統合生産システム

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7707305B2 (en) * 2000-10-17 2010-04-27 Cisco Technology, Inc. Methods and apparatus for protecting against overload conditions on nodes of a distributed network
US6754895B1 (en) * 2001-04-26 2004-06-22 Palm Source, Inc. Method and system for automatic firmware updates in a portable hand-held device
US7010624B1 (en) * 2002-04-01 2006-03-07 Adaptec, Inc. System and method of software/firmware uploading and upgrading for peripheral devices
US8065725B2 (en) * 2003-05-30 2011-11-22 Yuliang Zheng Systems and methods for enhanced network security
CN101635021B (zh) * 2003-09-26 2011-08-10 日本电信电话株式会社 标签装置、标签自动识别系统和标签隐私保护方法
US7549042B2 (en) * 2003-12-16 2009-06-16 Microsoft Corporation Applying custom software image updates to non-volatile storage in a failsafe manner
JP4196969B2 (ja) 2005-06-07 2008-12-17 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置、画像処理装置におけるソフトウェアの更新方法、およびソフトウェア更新プログラム
US8375189B2 (en) * 2005-12-30 2013-02-12 Intel Corporation Configuring levels of program/erase protection in flash devices
US7966401B2 (en) * 2006-06-30 2011-06-21 Oracle America, Inc. Method and apparatus for containing a denial of service attack using hardware resources on a network interface card
JP5453323B2 (ja) * 2009-02-16 2014-03-26 パナソニック株式会社 改竄監視システム、管理装置及び改竄管理方法
US8490179B2 (en) * 2009-10-27 2013-07-16 Hewlett-Packard Development Company, L.P. Computing platform
US8522322B2 (en) * 2010-09-22 2013-08-27 Intel Corporation Platform firmware armoring technology
US9916454B2 (en) * 2011-12-22 2018-03-13 Intel Corporation User controllable platform-level trigger to set policy for protecting platform from malware
US8898797B2 (en) * 2012-04-12 2014-11-25 Dell Products L.P. Secure option ROM firmware updates
US8898654B2 (en) * 2012-08-29 2014-11-25 Microsoft Corporation Secure firmware updates
US9282116B1 (en) * 2012-09-27 2016-03-08 F5 Networks, Inc. System and method for preventing DOS attacks utilizing invalid transaction statistics
JP2015001764A (ja) * 2013-06-13 2015-01-05 パナソニックIpマネジメント株式会社 認証方法、通信システム、機器およびサーバ
US9847970B1 (en) * 2014-04-30 2017-12-19 Amazon Technologies, Inc. Dynamic traffic regulation
JP6147240B2 (ja) * 2014-12-05 2017-06-14 キヤノン株式会社 情報処理装置、該装置の制御方法、並びにプログラム
US9904785B2 (en) * 2015-06-02 2018-02-27 Rockwell Automation Technologies, Inc. Active response security system for industrial control infrastructure
CN112437056B (zh) * 2015-12-16 2023-07-25 松下电器(美国)知识产权公司 安全处理方法以及服务器
JP6629999B2 (ja) * 2016-04-12 2020-01-15 ガードノックス・サイバー・テクノロジーズ・リミテッドGuardKnox Cyber Technologies Ltd. セキュアロックダウンを実装するように構成された関連装置を有する特別にプログラムされたコンピューティングシステムおよびその使用方法
JP6849528B2 (ja) * 2016-07-28 2021-03-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America フレーム伝送阻止装置、フレーム伝送阻止方法及び車載ネットワークシステム
DE102017123252A1 (de) * 2016-10-07 2018-04-12 Hyundai Motor Company Softwareaktualisierungsverfahren und -vorrichtung für Fahrzeug
US11038887B2 (en) * 2017-09-29 2021-06-15 Fisher-Rosemount Systems, Inc. Enhanced smart process control switch port lockdown
US10678529B1 (en) * 2017-11-30 2020-06-09 Amazon Technologies, Inc. Secure device firmware installation
US10628149B2 (en) * 2018-02-05 2020-04-21 Vmware, Inc. Enterprise firmware management
JP6885361B2 (ja) * 2018-03-07 2021-06-16 株式会社オートネットワーク技術研究所 処理装置及び処理方法
US10949540B2 (en) * 2018-03-20 2021-03-16 Dell Products L.P. Security policy enforcement based on dynamic security context updates

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014115973A (ja) * 2012-11-15 2014-06-26 Nintendo Co Ltd 情報処理装置、端末システム、情報処理プログラム、および、アプリケーションの更新用データの取得方法
JP2017004220A (ja) * 2015-06-09 2017-01-05 株式会社東芝 通信装置、通信システム、通信方法およびプログラム
JP2017111532A (ja) 2015-12-15 2017-06-22 横河電機株式会社 制御装置及び統合生産システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3904161A4

Also Published As

Publication number Publication date
EP3904161A4 (en) 2022-09-07
US20220019669A1 (en) 2022-01-20
CN113226858A (zh) 2021-08-06
JP7138043B2 (ja) 2022-09-15
JP2020107237A (ja) 2020-07-09
EP3904161A1 (en) 2021-11-03
US12039050B2 (en) 2024-07-16
CN113226858B (zh) 2024-07-16

Similar Documents

Publication Publication Date Title
KR102642875B1 (ko) 차량 내 네트워크에 보안을 제공하는 시스템 및 방법
WO2020137852A1 (ja) 情報処理装置
JP6782444B2 (ja) 監視装置、監視方法およびコンピュータプログラム
CN114834393B (zh) 车辆控制系统
KR20190125047A (ko) 차량용 네트워크의 침입 대응 장치 및 방법
WO2017009634A1 (en) Electronic control units for vehicles
CN101369141B (zh) 用于可编程数据处理设备的保护单元
CN112219186B (zh) 用于将程序代码包安装到设备中的方法以及设备和机动车
WO2020008872A1 (ja) 車載セキュリティシステムおよび攻撃対処方法
CN112806034A (zh) 用于为车辆的控制设备提供通信的装置、方法和计算机程序,用于提供更新的方法、中央装置和计算机程序,控制设备和车辆
JP2017050719A (ja) 車載ネットワークシステム
JP7463928B2 (ja) 認証管理装置および認証管理方法
CN111133722B (zh) 用于保护现场总线的方法和设备
JP6968137B2 (ja) 車両用制御装置
US11036846B2 (en) Control device
US11418505B2 (en) Information processing apparatus, system and method
van Roermund In-vehicle networks and security
CN111480160B (zh) 用于过程验证的系统、方法和介质
US20230267204A1 (en) Mitigating a vehicle software manipulation
JP7403728B2 (ja) 侵入検知システム
KR20200006452A (ko) 경량 IoT 기기의 원격 공격 방어 방법 및 장치
KR102411797B1 (ko) 하드웨어 기반의 차량 사이버보안시스템
JP2023122637A (ja) 車両のソフトウェアの改竄の軽減
Potteiger A Moving Target Defense Approach Towards Security and Resilience in Cyber-Physical Systems
Wolf Vehicular security mechanisms

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: 19902616

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019902616

Country of ref document: EP

Effective date: 20210728