WO2022255247A1 - 監視装置、監視システム及び監視方法 - Google Patents
監視装置、監視システム及び監視方法 Download PDFInfo
- Publication number
- WO2022255247A1 WO2022255247A1 PCT/JP2022/021731 JP2022021731W WO2022255247A1 WO 2022255247 A1 WO2022255247 A1 WO 2022255247A1 JP 2022021731 W JP2022021731 W JP 2022021731W WO 2022255247 A1 WO2022255247 A1 WO 2022255247A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- monitoring
- unit
- software
- execution authority
- virtual machine
- Prior art date
Links
- 238000012544 monitoring process Methods 0.000 title claims abstract description 1719
- 238000012806 monitoring device Methods 0.000 title claims abstract description 74
- 238000000034 method Methods 0.000 title claims description 40
- 238000004891 communication Methods 0.000 claims abstract description 186
- 230000006870 function Effects 0.000 claims description 116
- 230000005856 abnormality Effects 0.000 claims description 89
- 230000008859 change Effects 0.000 claims description 76
- 230000002159 abnormal effect Effects 0.000 claims description 62
- 230000004044 response Effects 0.000 claims description 13
- 238000010187 selection method Methods 0.000 claims description 7
- 238000003745 diagnosis Methods 0.000 claims description 5
- 239000000446 fuel Substances 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 97
- 230000000694 effects Effects 0.000 description 82
- 238000012545 processing Methods 0.000 description 57
- 230000007246 mechanism Effects 0.000 description 15
- 238000004590 computer program Methods 0.000 description 10
- 230000004048 modification Effects 0.000 description 10
- 238000012986 modification Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 8
- 238000012795 verification Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000010354 integration Effects 0.000 description 5
- 230000033001 locomotion Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 238000012508 change request Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 102100034112 Alkyldihydroxyacetonephosphate synthase, peroxisomal Human genes 0.000 description 2
- 101000799143 Homo sapiens Alkyldihydroxyacetonephosphate synthase, peroxisomal Proteins 0.000 description 2
- 238000000848 angular dependent Auger electron spectroscopy Methods 0.000 description 2
- 230000002547 anomalous effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/301—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/04—Monitoring the functioning of the control system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/51—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Definitions
- the present disclosure relates to a monitoring device, monitoring system, and monitoring method for monitoring software and communication logs.
- Patent Document 1 discloses a method of detecting an abnormality in a monitored virtual machine by having a monitoring virtual machine on virtual software monitor a monitored virtual machine on virtual software.
- the present disclosure solves conventional problems, and provides a monitoring device that can detect an abnormality that occurs in an ECU even if a monitoring program installed in a low-reliability area has been tampered with.
- a monitoring device includes three or more monitoring units that each monitor at least one of software and a communication log as a monitoring target, and the three or more monitoring units have a first execution authority A first monitoring unit that operates and a second monitoring unit that operates with a second execution authority that is less reliable than the first execution authority have the same reliability as the second execution authority, or , and a third monitoring unit that operates with a third execution authority that is less reliable than the second execution authority, wherein the first monitoring unit monitors the software of the second monitoring unit. , at least one of the first monitoring unit and the second monitoring unit monitors the software of the third monitoring unit.
- a monitoring system is a monitoring system comprising a monitoring device and a monitoring server, wherein each of the monitoring devices monitors at least one of software and communication logs as a monitoring target.
- a monitoring unit identifier a monitoring target identifier, a normality determination time, and an abnormality determination time
- a monitoring server communication unit that transmits at least two of the above to the monitoring server as a monitoring result
- the three or more monitoring units are a first monitoring unit that operates with a first execution authority, and a second monitoring unit that operates with a second execution authority that is less reliable than the first execution authority.
- a third monitoring unit that operates with a third execution authority that has the same reliability as the second execution authority or that has lower reliability than the second execution authority, The unit monitors the software of the second monitoring unit, at least one of the first monitoring unit and the second monitoring unit monitors the software of the third monitoring unit, and the monitoring server is and a monitoring result display unit for receiving the monitoring result and displaying the monitoring result on a graphical user interface.
- a monitoring method is a monitoring method executed by a monitoring device including three or more monitoring units, wherein the three or more monitoring units operate with a first execution authority.
- the monitoring device of the present disclosure even if a monitoring program installed in a low-reliability area has been tampered with, an abnormality that has occurred in the ECU can be detected.
- FIG. 1 is a diagram showing an overall configuration diagram of a monitoring system according to an embodiment.
- FIG. 2 is a diagram showing a configuration diagram of an in-vehicle system according to the embodiment.
- FIG. 3 is a diagram showing a configuration diagram of an integrated ECU in the embodiment.
- FIG. 4 is a diagram showing details of a configuration diagram of the integrated ECU in the embodiment.
- FIG. 5 is a diagram showing a configuration diagram of an external application according to the embodiment.
- FIG. 6 is a diagram showing a configuration diagram of a control application according to the embodiment.
- FIG. 7 is a diagram showing a configuration diagram of a video application in the embodiment.
- FIG. 8 is a diagram showing a configuration diagram of an external virtual machine in the embodiment.
- FIG. 1 is a diagram showing an overall configuration diagram of a monitoring system according to an embodiment.
- FIG. 2 is a diagram showing a configuration diagram of an in-vehicle system according to the embodiment.
- FIG. 3 is a diagram showing
- FIG. 9 is a diagram showing a configuration diagram of a control virtual machine in the embodiment.
- FIG. 10 is a diagram showing a configuration diagram of a video virtual machine according to the embodiment.
- FIG. 11 is a block diagram of a hypervisor according to the embodiment.
- FIG. 12 is a diagram showing a configuration diagram of a secure application according to the embodiment.
- FIG. 13 is a block diagram of a monitoring server according to the embodiment; 14 is a diagram illustrating an example of monitoring information according to the embodiment;
- FIG. 15 is a diagram illustrating an example of monitoring information according to the embodiment;
- FIG. 18 is a diagram illustrating an example of a monitoring configuration according to the embodiment
- FIG. 19 is a diagram illustrating an example of a monitoring configuration according to the embodiment
- FIG. FIG. 20 is a diagram illustrating an example of a monitoring configuration according to the embodiment
- FIG. 21 is a diagram illustrating an example of a monitoring change rule according to the embodiment
- FIG. 22 is a diagram illustrating an example of a monitor result display according to the embodiment
- FIG. 23 is a diagram illustrating an example of a monitor result display according to the embodiment
- 24 is a diagram illustrating a sequence of monitoring processing by an application monitoring unit in the embodiment
- FIG. 25 is a diagram illustrating a sequence of monitoring processing by a VM monitoring unit in the embodiment
- FIG. 26 is a diagram illustrating a sequence of monitoring processing by the HV monitoring unit in the embodiment
- 27 is a diagram illustrating a sequence of monitoring processing by an SA monitoring unit in the embodiment
- FIG. 28 is a diagram illustrating a sequence of monitoring server notification processing in the embodiment
- FIG. 29 is a diagram illustrating a sequence of processing for changing monitoring from a management unit in the embodiment
- FIG. 30 is a diagram showing a flowchart of monitoring processing in the embodiment.
- 31 is a diagram depicting a flowchart of monitoring change processing in the embodiment
- FIG. 32 is a diagram showing a detailed modified example 1 of the configuration of the integrated ECU in the embodiment.
- FIG. 33 is a diagram showing Modification 2 of the details of the configuration diagram of the integrated ECU in the embodiment.
- ECUs Electronic Control Units
- hypervisor software serving as a virtualization platform for operating a plurality of virtual machines
- Patent Document 1 a monitoring virtual machine and a virtual machine to be monitored are arranged on virtual software, and the monitoring target is monitored from the monitoring virtual machine, so that an abnormality in the monitoring target is detected. It describes how to detect it.
- IVI In-Vehicle Infotainment
- ADAS Advanced System
- Driver Assistance System into one ECU, if a third party's malicious application tampered with the memory area related to the ADAS control method, there is a risk of hindering the driving of the vehicle.
- Patent Literature 1 can detect an abnormality in the monitoring target if the monitoring virtual machine has not been tampered with, but if the monitoring virtual machine itself has been tampered with by a third party's malicious application. In such a case, there is a problem that anomalies cannot be detected.
- a monitoring device includes three or more monitoring units each monitoring at least one of software and a communication log, wherein the three or more monitoring units , a first monitoring unit that operates with a first execution authority, a second monitoring unit that operates with a second execution authority that is less reliable than the first execution authority, and the second execution authority a third monitoring unit that has the same authority and reliability or operates with a third execution authority that is lower in reliability than the second execution authority, wherein the first monitoring unit operates with the second and at least one of the first monitoring unit and the second monitoring unit monitors the software of the third monitoring unit.
- the active monitoring unit has the advantage of being able to employ sophisticated and complex algorithms.
- the three or more monitoring units include four or more monitoring units, and the four or more monitoring units are the first monitoring unit, the second monitoring unit, the third monitoring unit, a fourth monitoring unit that operates with a fourth execution authority that has the same reliability as the third execution authority or that has lower reliability than the third execution authority, , the second monitoring unit, and the third monitoring unit may monitor software of the fourth monitoring unit.
- the active monitoring unit has the advantage of being able to employ sophisticated and complex algorithms.
- the monitoring device operates on a secure application, a virtual software platform, and one or more virtual machines
- the first execution authority includes execution authority for the secure application, execution authority for the virtual software infrastructure, and one of virtual machine kernel execution rights, wherein the second execution right is one of the virtual software infrastructure execution rights, the virtual machine kernel execution rights, and the virtual machine user rights
- the third execution authority is one of kernel execution authority of the virtual machine and user authority of the virtual machine
- execution authority of the secure application is execution authority of the virtual software platform the virtual software infrastructure execution authority is more reliable than the virtual machine kernel execution authority, and the virtual machine kernel execution authority is more reliable than the virtual machine user authority can be higher.
- communication logs such as software in the user space of the virtual machine, network logs in the user space of the virtual machine, and system calls between the user space and the kernel space of the virtual machine Since it can be assumed that acquisition is difficult, separating the monitoring units for each execution authority has the effect of enabling monitoring of a wider range of monitoring targets.
- software that operates with secure app execution privileges, hypervisor execution privileges, and virtual machine kernel privileges is implemented with a simple algorithm that does not include vulnerabilities, monitoring that operates with strong execution privileges A simple algorithm can be adopted for the part, and an advanced and complicated algorithm can be adopted for the monitoring part which operates with weak execution authority.
- the monitoring device operates on a virtual software platform and two or more virtual machines.
- the monitoring unit of the first virtual machine among the two or more monitoring units operating with the execution authority includes the software of the monitoring unit of the second virtual machine among the two or more monitoring units as a monitoring target;
- the two or more virtual machines may be classified into either the first virtual machine or the second virtual machine according to the possibility of being tampered with by an attacker.
- virtual machines with vehicle control functions are isolated from the external network, and it can be assumed that secure design and implementation have been fully considered to meet the requirements of a high functional safety level. can be treated as a reliable first virtual machine.
- the monitoring unit of the second monitoring machine which has a high tampering risk, must be monitored from the execution authority of the secure application or hypervisor. Since the monitoring unit of the second monitoring machine can be monitored from the second monitoring unit, there is an effect of simplifying the software that operates with the execution authority of the secure application and the execution authority of the hypervisor.
- the monitoring device operates on a secure application, a host operating system, one or more virtual software platforms, and one or more virtual machines, or one or more container virtualization platforms and two or more containers,
- the first execution authority, the second execution authority, the third execution authority, and the fourth execution authority are a secure application execution authority, a host operating system execution authority, and a virtual software execution authority.
- the monitoring unit of the first virtual machine among the two or more monitoring units of the two or more virtual machines operating with the same execution authority monitors the two or more of the two or more virtual machines
- the software of the monitoring unit of the second virtual machine among the units is included in the monitoring target, and the two or more virtual machines are the first virtual machine and the second virtual machine according to the possibility of being tampered with by an attacker.
- the monitoring unit of the first container includes software of the monitoring unit of the second container among the two or more monitoring units of the two or more containers as a monitoring target, and the two or more containers are tampered with by an attacker. It may be classified into either the first container or the second container according to the possibility of being executed.
- the host operating system uses a hypervisor, which is a virtual software platform, to run and manage multiple virtual machines.
- a hypervisor which is a virtual software platform, to run and manage multiple virtual machines.
- the reliability of virtual machines or containers can be assumed to differ depending on the possibility of tampering, such as the presence or absence of a connection function with an external network.
- By building a trust chain even if the monitoring part of the second virtual machine or second container with low trust is hijacked, the monitoring part of the first virtual machine with high trust or the first There is an effect that anomalies can be detected from the monitoring part of the container.
- each of the three or more monitoring units includes at least one of elapse of a predetermined time, elapse of a predetermined external network connection time, system startup, system restart, establishment of external network connection, and external device connection.
- the monitoring of the monitoring target may be started according to the timing when the event occurs.
- the monitoring unit whose integrity is verified by the front-stage monitoring unit is not a serial monitoring method that verifies the rear-stage monitoring unit.
- the load of the monitoring process can be flexibly distributed without imposing a load on the system, such as performing the monitoring process using the idle time of the CPU of each virtual machine.
- the monitoring device operates on an in-vehicle system, and each of the three or more monitoring units is operable to monitor elapse of a predetermined running time, elapse of a predetermined stop time, elapse of a predetermined running distance, switching of running modes, refueling or power feeding.
- the monitoring of the monitoring target may be started in accordance with the timing at which an event including at least one of the completion of the vehicle diagnosis, the execution of the vehicle diagnosis, and the calling of an emergency alert occurs.
- each of the three or more monitoring units performs at least one of the number of times the other monitoring units execute the monitoring process, the number of times the monitoring process is determined to be abnormal, and the number of times the monitoring process is determined to be normal.
- the monitoring of the monitoring target may be started according to the timing when the number of times is reached.
- the first monitoring unit monitors the software of the second monitoring unit.
- the second monitoring unit to be monitored by the first monitoring unit detects an abnormality once
- the first monitoring unit executes the software monitoring process of the second monitoring unit.
- the monitoring process can be executed only when an abnormality occurs in the monitoring target of the second monitoring unit, and the number of monitoring processes can be reduced.
- the first monitoring unit executes the software monitoring process of the second monitoring unit once.
- the monitoring processing of the first monitoring unit can be reduced, and the number of times of monitoring processing can be reduced. This has the effect of reducing the overhead by reducing the number of times the execution mode is switched, since it is assumed that the execution mode needs to be switched in order to operate the software with strong execution authority.
- each of the three or more monitoring units includes at least one of a hash value, a mask value, and a copy value of the monitoring target software stored in a memory or storage. acquires two pieces of information as acquired values, compares the expected value, which is a predefined correct value, with the acquired value, and determines that the software is normal when the expected value and the acquired value match. Then, it may be determined that the software is abnormal when the expected value and the acquired value do not match.
- the software is tampered with, the expected value and the obtained value will differ, so it has the effect of being able to determine whether the software has been tampered with.
- a hash value it is possible to determine falsification more efficiently than a duplicate value, and by using a mask value, it is possible to determine the presence or absence of falsification more efficiently than a duplicate value.
- the duplicate value it is possible to determine falsification more accurately than the hash value, and by using the mask value, it is possible to determine falsification more accurately than the hash value.
- the software includes a combination of virtual software platform programs and configuration files, a combination of virtual machine kernel programs and configuration files, a combination of user application programs and configuration files on virtual machines, and the three or more monitoring and at least one combination of each program and configuration file combination of the parts.
- each of the three or more monitoring units obtains a communication log when the monitoring target is a communication log, and uses at least one of a permission list, a rejection list, and normal statistical information. (i) determining that the communication log is normal if it is included in the permission list, and determining that the communication log is abnormal if it is not included in the permission list; (ii) a second determination of determining that the communication log is normal if it is not included in the rejection list, and determining that the communication log is abnormal if it is included in the rejection list; iii) determining that the communication log is normal when the statistical information does not deviate from the normal state, and determining that the communication log is abnormal when the statistical information deviates from the normal state; Any one of three judgments may be made.
- the communication log may include at least one of Ethernet, CAN protocol, FlexRay protocol, SOME/IP protocol, SOME/IP-SD protocol, system call, and hypercall.
- the network protocol installed in the in-vehicle system it is possible to determine communication abnormalities using protocol-specific parameters. Furthermore, the sender and destination can be acquired from the communication log determined to be abnormal, and there is an effect that the monitoring unit and the monitoring target in which the abnormality may occur can be specified. Furthermore, by monitoring system calls and hypercalls, which are privileged instructions, it is possible to determine anomalies that occur at the boundaries of execution rights, and to identify a monitoring unit and a monitoring target that may cause anomalies.
- each of the three or more monitoring units selects one of the monitoring frequency of the monitoring target, the verification method of the monitoring target, and the selection method of the monitoring target according to the priority set for each of the monitoring targets. At least one may be changed.
- the priority includes execution authority of the monitoring target, whether or not one of the three or more monitoring units or a virtual machine on which the monitoring operates has an external network connection function, and whether or not the one monitoring unit operates. It may be set according to at least one of whether or not the monitoring unit or the virtual machine on which the monitoring operates has a vehicle control function.
- the monitoring device further has a monitoring configuration that is a combination of the priority included in the monitoring information, and the person in charge of monitoring and the monitoring target included in the monitoring target, according to the state or event of the system in which the monitoring device operates. and a management unit that changes at least one of
- monitoring information As a result, if the importance of monitoring targets differs depending on the system state or event, it can be assumed that it is difficult to set the monitoring information as an appropriate fixed value.
- By flexibly changing the monitoring configuration effective monitoring is possible. For example, by flexibly changing the priority and changing the monitoring frequency, monitoring accuracy, and monitoring method according to the priority, it is possible to focus on monitoring targets with high tampering risk within limited resources. effective.
- by changing the monitoring information so that when one of the monitoring modules becomes inoperable, such as when one of the virtual machines is restarted, the monitoring of the other monitoring modules that cannot operate can be taken over. It has the effect of continuously monitoring the target.
- another monitoring unit takes over the monitoring of the monitoring target, so that there is an effect that the monitoring target can be monitored from a reliable monitoring unit.
- another monitoring unit additionally performs monitoring of the monitoring target, so that there is an effect that monitoring can be strengthened by a plurality of monitoring units.
- another monitoring unit takes over the monitoring of the monitoring target, thereby reducing the system impact due to resource pressure.
- the management unit determines whether or not an external network connection is being established, whether or not an external network connection establishment event has occurred, the system status of the monitoring machine, the monitoring result of the monitoring unit, and the execution authority of the monitoring unit that has detected an abnormality.
- the priority may be changed according to at least one of the execution authority of the software that detected the abnormality and the destination or source of the communication log that detected the abnormality.
- the state of network connections affects the possibility of attack, so it has the effect of changing the priority according to changes in the attack possibility of the monitored target.
- a software error it is assumed that there is a high possibility that an attack will occur in the same virtual machine software as the error software, software that operates with the same execution privileges, or software in the monitoring unit that has determined the error. Therefore, there is an effect that the priority can be changed according to the change of attack possibility.
- a communication abnormality is determined, there is a high possibility that an abnormality has occurred at the transmission source of the communication, and there is a high possibility that an attack will develop on the transmission destination of the communication. There is an effect that can change the degree.
- the monitoring device operates on an in-vehicle system
- the management unit changes the priority of a monitoring target operated by a virtual machine having a vehicle control function according to the running state of the vehicle.
- the state may be any one of stopped, manual driving, advanced driving assistance, and automatic driving.
- control commands related to running, turning, and stopping of the vehicle are sent from the control virtual machine software, which controls the engine, steering, braking, etc. Since it can be assumed that the control ECU follows the control command and the influence of software falsification is large, there is an effect that the software of the control virtual machine having the vehicle control function can be monitored intensively by raising the priority thereof. On the other hand, when the vehicle is stopped or manually driven, it can be assumed that the control ECU does not follow control commands, and the influence of software tampering is small. By lowering the degree, there is an effect that priority can be given to monitoring processing of other monitoring targets.
- the management unit establishes a monitoring trust chain in which the software of the monitoring unit with low reliability is monitored by the monitoring unit with higher reliability than the monitoring unit with low reliability. You may change the monitoring configuration so that it can be built.
- the management unit determines whether or not an external network connection is being established, whether or not an external network connection establishment event has occurred, the system state of the virtual machine, the monitoring result of the monitoring unit, and the execution authority of the monitoring unit that has detected an abnormality.
- the monitoring configuration may be changed according to at least one of the execution authority of the software that detected the abnormality and the destination or source of the communication log that detected the abnormality.
- the status of network connections affects the possibility of attacks, so it has the effect of changing the monitoring configuration according to changes in the attack potential of the monitored target.
- another monitoring unit takes over the monitoring of the monitored object, which has the effect of enabling continuous monitoring of the monitored object. be.
- another monitoring unit takes over the monitoring of the monitoring target, so that there is an effect that the monitoring target can be monitored from a reliable monitoring unit.
- another monitoring unit additionally performs monitoring of the monitoring target, so that there is an effect that monitoring can be strengthened by a plurality of monitoring units.
- the CPU or memory resources of one virtual machine are under pressure, another monitoring unit takes over the monitoring of the monitored object, thereby reducing the system impact due to resource pressure.
- the monitoring device operates on an in-vehicle system
- the management unit changes a monitoring configuration related to a virtual machine having a vehicle control function according to the running state of the vehicle, and the running state of the vehicle changes , during stop, during manual operation, during advanced driving assistance, or during automatic operation.
- control commands related to running, turning, and stopping of the vehicle are sent from the control virtual machine software, which controls the engine, steering, braking, etc. Since it can be assumed that the control ECU follows the control command and the influence of software tampering is large, there is an effect that the monitoring configuration can be changed so that the software of the control virtual machine is monitored by a plurality of monitoring units. When the vehicle is stopped or manually driven, it can be assumed that the control ECU does not follow the control command, and the influence of software tampering is small. be.
- the management unit includes (i) means for selecting one from two or more predefined monitoring configurations; (iii) means for storing the monitoring configuration as a directed graph with the end point of the road, and reconstructing the directed graph by a predetermined algorithm;
- the monitoring configuration may be changed by at least one of means for storing the monitoring configuration as a tree structure whose object is a child node, and reconstructing the tree structure using a predetermined algorithm.
- the management unit stores the monitoring configuration as a tree structure in which the monitoring unit is a node, the person in charge of monitoring is a parent node, and the monitoring target is a child node, and reconstructs the tree structure using a predetermined algorithm, A monitoring device for changing the monitoring configuration.
- At least one of the monitoring units will select the monitoring target when some of the monitoring units are disabled or an abnormality is detected in some of the monitoring units. This has the effect of making it possible to recalculate the monitoring configuration so that it can be monitored.
- the monitoring device may further include a monitoring server communication unit that notifies the monitoring server of the monitoring result.
- a monitoring system is a monitoring system including a monitoring device and a monitoring server, wherein each of the monitoring devices monitors at least one of software and a communication log as a monitoring target.
- the three or more monitoring units are a first monitoring unit that operates with a first execution authority, and a second monitoring unit that operates with a second execution authority that is less reliable than the first execution authority.
- a third monitoring unit that operates with a third execution authority that has the same reliability as the second execution authority or that has lower reliability than the second execution authority, The unit monitors the software of the second monitoring unit, at least one of the first monitoring unit and the second monitoring unit monitors the software of the third monitoring unit, and the monitoring server is and a monitoring result display unit for receiving the monitoring result and displaying the monitoring result on a graphical user interface.
- the monitoring result display unit displays the monitoring results in association with the system architecture, means for emphasizing the monitoring unit that has detected an abnormality or the monitoring target in which the abnormality has been detected, and the monitoring results in association with a predetermined timeline. and emphasizing the normality determination time or the abnormality determination time on the graphical user interface.
- the security analyst can intuitively grasp the location of the monitoring department, the location of the monitored object, and the monitoring results. be.
- security analysts can intuitively grasp the time series of monitoring results, and in the event of an anomaly, there is an effect that they can more quickly consider countermeasures such as updating software.
- the monitoring server further changes at least one monitoring information among the monitoring target, a monitoring unit that monitors the monitoring target, the priority of the monitoring target, and a monitoring method corresponding to the priority. and requesting the monitoring device to make the change, and the monitoring device further comprises a monitoring information updating unit for updating the monitoring information in response to a request from the monitoring information changing unit. good.
- a monitoring method is a monitoring method executed by a monitoring device including three or more monitoring units, wherein the three or more monitoring units operate with a first execution authority.
- the active monitoring unit has the advantage of being able to employ sophisticated and complex algorithms.
- FIG. 1 is an overall configuration diagram of a monitoring system according to an embodiment.
- the monitoring system includes a monitoring server 10 and an in-vehicle system 20.
- the monitoring server 10 and the in-vehicle system 20 are connected via an external network 30 .
- the external network 30 is, for example, the Internet.
- the communication method of the external network 30 may be wired or wireless.
- the wireless communication system may be Wi-Fi (registered trademark), which is an existing technology, 3G/LTE (Long Term Evolution), Bluetooth (registered trademark), or V2X communication system.
- the monitoring server 10 is a device that acquires monitoring results, which are information about the security status of the in-vehicle system 20, from the in-vehicle system 20 and displays the monitoring results using a graphical user interface.
- the monitoring server 10 is used, for example, at a security operation center when a security analyst checks the monitoring results and considers countermeasures such as software update when an abnormality occurs in the in-vehicle system 20 .
- the in-vehicle system 20 is a device that performs communication control, vehicle control, image output, etc., monitors the security status of the in-vehicle system 20, and notifies the monitoring server 10 of the security status monitoring results. Although only one in-vehicle system 20 is shown in FIG. 1 , each of the one or more in-vehicle systems 20 transmits the security status monitoring result to the monitoring server 10 . Details of the in-vehicle system 20 will be described later.
- FIG. 2 is a diagram showing a configuration diagram of an in-vehicle system according to the embodiment.
- the in-vehicle system 20 includes an integrated ECU 200, a gateway ECU 300, a steering ECU 400a, a brake ECU 400b, a zone ECU 500, a front camera ECU 600a, and a rear camera ECU 600b.
- the integrated ECU 200 and the gateway ECU 300 are connected via a CAN 40, which is a kind of network protocol CAN (Control Area Network).
- CAN Controller Area Network
- the network protocol used here is not limited to CAN, and may be a network protocol used in an in-vehicle system such as CAN-FD or FlexRay protocol.
- gateway ECU 300 the steering ECU 400a, and the brake ECU 400b are connected via the CAN 41.
- Ethernet 50 is a protocol of Ethernet (registered trademark), which is a kind of network protocol.
- Ethernet 50 is, for example, SOME/IP (Scalable Service-Oriented Middleware over IP) protocol.
- SOME/IP Scalable Service-Oriented Middleware over IP
- the network protocol used here may not be SOME/IP, but may be SOME/IP-SD, CAN-XL, or other network protocol used in an in-vehicle system.
- Ethernet 51 may be of the same network protocol as Ethernet 50, or may be of a different network protocol.
- the integrated ECU 200 and the monitoring server 10 are connected via an external network 30 .
- the integrated ECU 200 performs communication control for transmitting and receiving messages via the external network 30, the CAN 40, and the Ethernet 50, vehicle control for instructing the gateway ECU 300 and the ZoneECU 500 to control the vehicle via the CAN 40 and the Ethernet 50, and an infotainment system and an instrument. It is an ECU that performs video output to the management panel. Also, the integrated ECU 200 is an ECU that monitors the security state of the integrated ECU 200 and notifies the monitoring server 10 of the monitoring results. Details of the integrated ECU 200 will be described later.
- the gateway ECU 300 is an ECU that mediates messages sent and received between the integrated ECU 200 and the steering ECU 400a and the brake ECU 400b.
- the steering ECU 400a is an ECU that controls steering by a steering wheel mounted on the vehicle.
- the brake ECU 400b is an ECU that controls the brakes mounted on the vehicle.
- the in-vehicle system 20 realizes control such as running, turning, and stopping of the vehicle using ECUs that control the engine and body of the vehicle in addition to the steering ECU 400a and the brake ECU 400b.
- the ZoneECU 500 is an ECU that mediates messages exchanged between the integrated ECU 200 and the front camera ECU 600a and the rear camera ECU 600b.
- the front camera ECU 600a is an ECU that is mounted in front of the vehicle and acquires the image of the camera that captures the front of the vehicle.
- the rear camera ECU 600b is an ECU that is mounted at the rear of the vehicle and acquires images from a camera that captures the rear of the vehicle.
- FIG. 3 is a configuration diagram of the integrated ECU 200 in the embodiment.
- the integrated ECU 200 includes an external application A100, a control application A200, a video application A300, an external virtual machine VM100, a control virtual machine VM200, a video virtual machine VM300, a hypervisor HV100, a secure application SA100, and a secure operating system. and an SOS 100.
- the external application A100, the control application A200, and the video application A300 may be collectively referred to as applications.
- the external virtual machine VM100, the control virtual machine VM200, and the video virtual machine VM300 may be collectively referred to as virtual machines.
- Integrated ECU 200 is an example of a monitoring device.
- the hypervisor HV100 is a virtual software platform such as a hypervisor, and is software that executes and manages one or more virtual machines.
- hypervisors are classified into a bare metal type hypervisor called type 1 and a host type called type 2.
- type 1 is generally used in consideration of processing overhead by the hypervisor.
- Type 1 hypervisors are less likely to contain vulnerabilities due to their smaller code size, and can be assumed to be more reliable than applications and virtual machines.
- the virtualization system is implemented by a type 1 hypervisor
- the virtualization system may be implemented by a type 2 hypervisor, or by a container-type virtualization application. may be
- the secure operating system SOS100 is a reliable operating system implemented without vulnerabilities. Furthermore, since the operating system software is verified from the Root Of Trust of reliable hardware at system startup, it can be assumed to be the most reliable among the applications, virtual machines, and hypervisor HV100.
- the secure operating system SOS 100 is realized, for example, by controlling an execution environment called TEE (Trusted Execution Environment).
- TEE Trusted Execution Environment
- the secure operating system SOS 100 can be realized, for example, by the TrustZone mechanism, which is one of the standard functions in the Cortex-A family of ARM-based CPUs (Central Processing Units).
- the secure operating system SOS 100 can also be realized by Apple's SEP (Secure Enclave Processor) or Google's TitanM.
- the secure application SA100 is a reliable application that is implemented without vulnerabilities. Since the secure application SA100 runs on a reliable secure operating system SOS100, it can be assumed to be more reliable than the application, virtual machine, and hypervisor HV100. On the other hand, since secure application SA100 is required to be implemented without vulnerability, the program of secure application SA100 is required to be simple.
- the external application A100 is an application that communicates with the monitoring server 10 via the external network 30. Since the external application A100 is connected to the external network 30 that can serve as an entry point for attackers, it can be assumed to be more vulnerable than the control application A200 and the video application A300 that are not connected to the external network 30 .
- the external virtual machine VM100 is an operating system that runs the external application A100. Since the external virtual machine VM100 runs the external application A100 that can serve as an entry point for attackers, it can be assumed to be more vulnerable than the control virtual machine VM200 and the video virtual machine VM300.
- the control application A200 is an application that communicates with the gateway ECU 300 via the CAN 40 and controls operations related to running of the vehicle equipped with the in-vehicle system 20 . Since the control application A200 is not connected to the external network 30, it can be assumed to be more reliable than the external application A100. Furthermore, the control application A200 is designed and implemented in a secure manner in order to comply with functional safety standards in software development related to control of operations related to running of the vehicle. Therefore, it can be assumed that the control application A200 is more reliable than the external application A100. However, if the control application A200 is hijacked, an attacker can use the function of controlling the movement of the vehicle.
- the control virtual machine VM200 is an operating system that runs the control application A200. Since the control virtual machine VM200 is not connected to the external network 30, it can be assumed that the possibility of becoming an intrusion point for an attacker is low. Furthermore, the control virtual machine VM200 is designed and implemented in a secure manner in order to comply with functional safety standards in software development related to control of vehicle running operations. Therefore, it can be assumed that the control virtual machine VM200 is more reliable than the external application A100 or the external virtual machine VM100. However, if the control virtual machine VM200 is hijacked, the attacker can use the function of controlling the movement of the vehicle. can be assumed to be large.
- the video application A300 is an application that communicates with ZoneECU 500 via Ethernet 50, acquires camera video, etc., and outputs video to the infotainment system, instrument panel, and head-up display. Camera images are also used as information to realize advanced driving support functions such as autonomous driving. Since the video application A300 is not connected to the external network 30, it is less likely to become an intrusion point for attackers and can be assumed to be more reliable than the external application A100. In addition, if the video application A300 is hijacked, the attacker cannot use the function for controlling the movement of the vehicle. It can be assumed that the impact is small.
- the video virtual machine VM300 is an operating system that runs the video application A300. Since the video virtual machine VM300 is not connected to the external network 30, it is less likely to become an intrusion point for attackers and can be assumed to be more reliable than the external application A100. In addition, if the video virtual machine VM300 is hijacked, the attacker cannot use the function of controlling the motion related to the running of the vehicle. It can be assumed that the influence of
- the CPU can assign multiple privilege levels to each program.
- an ARM CPU corresponds to EL (Exception Level)
- an Intel CPU corresponds to Protection Ring.
- the CPU can securely execute a program by controlling two types of execution environments, a secure world and a normal world, using the TEE.
- five types of execution rights are selectively used according to this privilege level and control of two types of execution environments.
- the secure operating system SOS100 is assigned the strongest secure execution authority (PL4)
- the application on the operating system that is, the secure application SA100
- the next strongest secure execution authority (PL3) Assign the next strongest execution authority (PL2) to the hypervisor HV100
- assign the next strongest execution authority (PL1) to the virtual machines that is, the external virtual machine VM100, the control virtual machine VM200, and the video virtual machine VM300
- applications that is, the external application A100, the control application A200, and the video application A300
- the software may be tampered with due to vulnerabilities or design flaws, so software that operates with strong execution authority is required to be a simple program.
- the external application A100 is most likely to be tampered with, and thus has low reliability.
- the possibility of falsification decreases in the order of the application SA100 and the secure operating system SOS100.
- a low possibility of falsification means high reliability.
- An attacker exploits the vulnerability of the external application A100 to intrude into the external virtual machine VM100 from the external network 30 and gain user authority. Then, by exploiting vulnerabilities such as system calls of the external virtual machine VM100, kernel privileges of the external virtual machine VM100 are acquired. Then, by exploiting the vulnerability of the hypervisor HV100 such as hypercall, the authority of the hypervisor HV100 or the authority of the control virtual machine VM200 or the video virtual machine VM300 is acquired.
- a hypercall is, for example, a privileged instruction for instructing internal communication between virtual machines and activation and termination of virtual machines.
- the security countermeasure mechanism includes an application monitoring unit, a virtual machine monitoring unit, a HV monitoring unit HV110, and an SA monitoring unit SA110, which will be described later.
- functions for managing fuel, power supply status, and refueling status functions for issuing emergency alerts in the event of system abnormalities such as accidents, functions for controlling vehicle diagnosis, functions for controlling external
- the integrated ECU 200 is equipped with a function of monitoring device connection.
- FIG. 4 is a diagram showing details of a configuration diagram of the integrated ECU in the embodiment.
- the external application A100 includes an application monitoring unit A110 that monitors external communication and software in the application area
- the control application A200 includes an application monitoring unit A210 that monitors CAN communication and software in the application area
- the video application A300 includes Ethernet communication. and the software in the application area.
- the software in the application area is the software in the user area.
- the application monitoring unit A110, the application monitoring unit A210, and the application monitoring unit A310 may be collectively referred to as an application monitoring unit.
- the external virtual machine VM100 includes a VM monitoring unit VM110 that monitors system calls, hypercalls, software in the VM area (also called OS area or kernel area), and software in the application area.
- the video virtual machine VM300 includes a VM monitoring unit VM210 that monitors hypercalls, software in the VM area (also called OS area or kernel area), and software in the application area. area) and software in the application area.
- the VM monitoring unit VM110, the VM monitoring unit VM210, and the VM monitoring unit VM310 may be collectively referred to as virtual machine monitoring units.
- the hypervisor HV100 also includes an HV monitoring unit HV110 that monitors software in the HV area and software in the VM area.
- the secure application SA100 also includes an SA monitoring unit SA110 that monitors software in the HV area and software in the VM area, and a management unit SA120 that manages monitoring information.
- the application monitoring unit, the virtual machine monitoring unit, the HV monitoring unit HV110, and the SA monitoring unit SA110 may be collectively referred to as multi-layer monitoring units. Details of the monitoring information will be described later. The details of the application, the application monitoring unit, the virtual machine, the virtual machine monitoring unit, the hypervisor HV100, the HV monitoring unit HV110, the secure application SA100, and the SA monitoring unit SA110 will be described later.
- each of the application, virtual machine, hypervisor HV100, and secure application SA100 has security countermeasures such as an application monitoring unit, a virtual machine monitoring unit, and an HV Integrated ECU 200 having a configuration in which monitoring unit HV110 and SA monitoring unit SA110 are introduced is assumed.
- security countermeasures such as an application monitoring unit, a virtual machine monitoring unit, and an HV Integrated ECU 200 having a configuration in which monitoring unit HV110 and SA monitoring unit SA110 are introduced is assumed.
- an attacker can disable the security countermeasure mechanism by tampering with the software of the security countermeasure mechanism that is executed with the acquired execution authority, simply introducing the security countermeasure mechanism is insufficient.
- a configuration can be considered in which the SA monitoring unit SA110 monitors the software of the HV monitoring unit HV110, the HV monitoring unit HV110 monitors the software of the virtual machine monitoring unit, and the virtual machine monitoring unit monitors the software of the application monitoring unit. be done.
- the virtual machine monitoring unit can detect an abnormality
- the software of the virtual machine monitoring unit has been tampered with
- the HV monitoring unit HV110 can detect an abnormality
- the SA monitor SA110 can detect an abnormality.
- monitoring is chained from the SA monitoring unit SA110, which is reliable software, to the hypervisor HV100, virtual machines, and applications, it is difficult for an attacker to avoid all monitoring.
- a multi-tiered supervisory chain of trust build a chain of supervisors from supervisors with stronger execution authority or higher trust to supervisors with weaker execution authority or lower trust. Call it build.
- FIG. 5 is a diagram showing a configuration diagram of an external application according to the embodiment.
- the external application A100 includes an external communication unit A101, an external application execution unit A102, an application area storage unit A103, and an application monitoring unit A110.
- the external communication unit A101 communicates via the external network 30 .
- the external application execution unit A102 acquires navigation information, acquires streaming information such as music and video, and downloads update software using external communication and system calls.
- the application area storage unit A103 is storage and memory for storing external application programs and setting files.
- the application monitoring unit A110 includes a monitoring target acquiring unit A111, a system state acquiring unit A112, a monitoring unit A113, a monitoring information storage unit A114, a monitoring information updating unit A115, and a monitoring result notification unit A116.
- the monitoring target acquisition unit A111 has a function of acquiring information related to software to be monitored from the application area storage unit A103 and acquiring information related to external communication logs from the external communication unit A101.
- the system status acquisition unit A112 has a function of acquiring the Internet connection status as the system status from the external communication unit A101 and a function of acquiring the security status as the system status from the monitoring unit A113.
- the monitoring unit A113 compares the acquired value of the software-related information acquired by the monitoring target acquisition unit A111 with the expected value included in the monitoring information stored in the monitoring information storage unit A114, and the acquired value and the expected value are different. It has a function of judging that the information on the software is abnormal when the acquired value and the expected value match, and judging that the information on the software is normal when the acquired value and the expected value match. Furthermore, the monitoring unit A113 uses the external communication log acquired by the monitoring target acquiring unit A111 to determine whether a specific message included in the external communication log is abnormal using the permission list or the denial list and normal statistical information. It has a function to determine whether or not there is
- the monitoring information storage unit A114 has a function of storing monitoring information including monitoring personnel, monitoring targets, expected values, and priorities.
- the monitoring information updating unit A115 has a function of updating monitoring information in response to a request from the management unit SA120.
- the monitoring result notification unit A116 has a function of notifying the management unit SA120 of monitoring results and system status.
- the application monitoring unit A110 can monitor software in the application area and external communication, and acquire the Internet connection status and the security status of the external application A100. Monitoring of external communications is assumed to be a complex algorithm using statistical information.
- FIG. 6 is a diagram showing a configuration diagram of a control application according to the embodiment.
- the control application A200 includes a CAN communication unit A201, a control application execution unit A202, an application area storage unit A203, and an application monitoring unit A210.
- CAN communication part A201 communicates with gateway ECU300 via CAN40.
- the control application execution unit A202 uses CAN communication and system calls to instruct the VM 100 to control the running of the vehicle, such as running, turning, and stopping.
- the application area storage unit A203 is a storage and memory that stores programs and setting files of control applications.
- the application monitoring unit A210 includes a monitoring target acquiring unit A211, a system state acquiring unit A212, a monitoring unit A213, a monitoring information storage unit A214, a monitoring information updating unit A215, and a monitoring result notification unit A216.
- the monitoring target acquisition unit A211 has a function of acquiring information on software to be monitored from the application area storage unit A203 and acquiring information on CAN communication logs from the CAN communication unit A201.
- the system state acquisition unit A212 has a function of acquiring the state of the vehicle, such as the driving state, the distance traveled since activation, and the elapsed time since activation, as the system state from the control application execution unit A202, and the security state from the monitoring unit A213. It has a function to acquire as
- the monitoring unit A213 compares the acquired value of the software-related information acquired by the monitoring target acquisition unit A211 with the expected value included in the monitoring information stored in the monitoring information storage unit A214, and determines that the acquired value and the expected value are different. It has a function of judging that the information on the software is abnormal when the acquired value and the expected value match, and judging that the information on the software is normal when the acquired value and the expected value match. Furthermore, the monitoring unit A213 uses the CAN communication log acquired by the monitoring target acquisition unit A211 to determine whether a specific message included in the CAN log is abnormal using the permission list or the denial list and normal statistical information. It has a function to determine whether or not
- the monitoring information storage unit A214 has a function of storing monitoring information including monitoring personnel, monitoring targets, expected values, and priorities.
- the monitoring information updating unit A215 has a function of updating monitoring information in response to a request from the management unit SA120.
- the monitoring result notification unit A216 has a function of notifying the management unit SA120 of monitoring results and system status.
- the application monitoring unit A210 can monitor software in the application area and CAN communication, and can acquire the state of the vehicle and the security state of the control application A200. It is assumed that CAN communication monitoring will be a complex algorithm with statistical information.
- FIG. 7 is a diagram showing a configuration diagram of a video application in the embodiment.
- the video application A300 includes an Ethernet communication unit A301, a video application execution unit A302, an application area storage unit A303, and an application monitoring unit A310.
- Ethernet communication unit A301 communicates with ZoneECU 500 via Ethernet 50 .
- the video application execution unit A302 uses Ethernet communication and system calls to acquire camera video and output the video to the display.
- the application area storage unit A303 is a storage and memory that stores the video application program and setting file.
- the application monitoring unit A310 includes a monitoring target acquisition unit A311, a system state acquisition unit A312, a monitoring unit A313, a monitoring information storage unit A314, a monitoring information updating unit A315, and a monitoring result notification unit A316.
- the monitoring target acquisition unit A311 has a function of acquiring information on software to be monitored from the application area storage unit A303 and information on Ethernet communication logs from the Ethernet communication unit A301.
- the system status acquisition unit A312 has a function of acquiring the security status as the system status from the monitoring unit A313.
- the monitoring unit A313 compares the acquired value of the software-related information acquired by the monitoring target acquiring unit A311 with the expected value included in the monitoring information stored in the monitoring information storage unit A314, and the acquired value and the expected value are different. It has a function of judging that the information on the software is abnormal when the acquired value and the expected value match, and judging that the information on the software is normal when the acquired value and the expected value match. Furthermore, the Ethernet communication log acquired by the monitoring target acquiring unit A311 is used to determine whether or not a specific message included in the Ethernet communication log is abnormal using the permission list or the denial list and normal statistical information. It has a judgment function.
- the monitoring information storage unit A314 has a function of storing monitoring information including monitoring personnel, monitoring targets, expected values, and priorities.
- the monitoring information updating unit A315 has a function of updating monitoring information in response to a request from the management unit SA120.
- the monitoring result notification unit A316 has a function of notifying the management unit SA120 of monitoring results and system status.
- the application monitoring unit A310 can monitor software and Ethernet communication in the application area, and acquire the security status of the video application A300.
- Ethernet communication monitoring is assumed to be a complex algorithm with statistical information.
- FIG. 8 is a diagram showing a configuration diagram of an external virtual machine in the embodiment.
- the external virtual machine VM100 includes an application communication unit VM101, a system call control unit VM102, a VM area storage unit VM103, a hypercall calling unit VM104, and a VM monitoring unit VM110.
- the application communication unit VM101 receives system calls from the external application execution unit A102.
- the system call control unit VM102 executes system calls.
- the VM area storage unit VM103 is a storage and memory that stores programs of the external virtual machine VM100, middleware, and setting files.
- a hypercall calling unit VM 104 calls a hypercall.
- the VM monitoring unit VM110 includes a monitoring target acquisition unit VM111, a system state acquisition unit VM112, a monitoring unit VM113, a monitoring information storage unit VM114, a monitoring information update unit VM115, and a monitoring result notification unit VM116.
- the monitoring target acquisition unit VM111 has a function of acquiring information on software to be monitored from the VM area storage unit VM103 and the application area storage unit A103, and acquiring information on system calls from the application communication unit VM101.
- the system state acquisition unit VM112 has a function of acquiring the security state from the monitoring unit VM113 as the system state.
- the monitoring unit VM113 compares the acquired value of the software-related information acquired by the monitoring target acquisition unit VM111 with the expected value included in the monitoring information stored by the monitoring information storage unit VM114, and the acquired value and the expected value are different. It has a function of judging that the information on the software is abnormal when the acquired value and the expected value match, and judging that the information on the software is normal when the acquired value and the expected value match. Furthermore, the monitoring unit VM 113 uses the system call log acquired by the monitoring target acquisition unit VM 111 to check whether a specific system call contained in the system call log It has a function to determine whether or not
- the monitoring information storage unit VM 114 has a function of storing monitoring information including monitoring personnel, monitoring targets, expected values, and priorities.
- the monitoring information update unit VM115 has a function of updating monitoring information in response to a request from the management unit SA120.
- the monitoring result notification unit VM116 has a function of notifying the management unit SA120 of the monitoring result and system status.
- the VM monitoring unit VM110 can monitor software and system calls in the application area and VM area, and can acquire the security status of the external virtual machine VM100 and the external application A100.
- System call monitoring is assumed to be a complex algorithm with statistical information.
- FIG. 9 is a diagram showing a configuration diagram of a control virtual machine in the embodiment.
- the control virtual machine VM200 includes an application communication unit VM201, a system call control unit VM202, a VM area storage unit VM203, a hypercall calling unit VM204, and a VM monitoring unit VM210.
- the application communication unit VM201 receives a system call from the control application execution unit A202.
- the system call control unit VM202 executes system calls.
- the VM area storage unit VM203 is a storage and memory that stores programs of the control virtual machine VM200, middleware, and setting files.
- a hypercall calling unit VM 204 calls a hypercall.
- the VM monitoring unit VM210 includes a monitoring target acquisition unit VM211, a system state acquisition unit VM212, a monitoring unit VM213, a monitoring information storage unit VM214, a monitoring information update unit VM215, and a monitoring result notification unit VM216.
- the monitoring target acquisition unit VM211 has a function of acquiring information on software to be monitored from the VM area storage unit VM203 and the application area storage unit A103, and acquiring information on system calls from the application communication unit VM201. It has a function of acquiring information about a hypercall from the hypercall control unit HV102.
- the system state acquisition unit VM212 has a function of acquiring the security state from the monitoring unit VM213 as the system state.
- the monitoring unit VM213 compares the acquired value of the software-related information acquired by the monitoring target acquiring unit VM211 with the expected value included in the monitoring information stored by the monitoring information storage unit VM214, and the acquired value and the expected value are different. It has a function of judging that the information on the software is abnormal when the acquired value and the expected value match, and judging that the information on the software is normal when the acquired value and the expected value match.
- the monitoring unit VM 213 uses the system call log acquired by the monitoring target acquisition unit VM 211 to check whether a specific system call included in the system call log It has a function to determine whether or not Furthermore, the monitoring unit VM213 uses the hypercall log acquired by the monitoring target acquiring unit VM211 to check whether a specific hypercall contained in the hypercall log is abnormal by using the permission list or the denial list and normal statistical information. It has a function to determine whether or not
- the monitoring information storage unit VM 214 has a function of storing monitoring information including monitoring personnel, monitoring targets, expected values, and priorities.
- the monitoring information update unit VM215 has a function of updating monitoring information in response to a request from the management unit SA120.
- the monitoring result notification unit VM216 has a function of notifying the management unit SA120 of the monitoring result and system status.
- the VM monitoring unit VM210 can monitor software, system calls, and hypercalls in the application area and VM area, and can acquire the security status of the control virtual machine VM200 and the control application A200. Monitoring of system calls and hypercalls is assumed to be a complex algorithm using statistical information.
- hypercall monitoring is performed by the control virtual machine VM200, it may be performed by the hypervisor HV100.
- FIG. 10 is a diagram showing a configuration diagram of a video virtual machine according to the embodiment.
- the video virtual machine VM300 includes an application communication unit VM301, a system call control unit VM302, a VM area storage unit VM303, a hypercall calling unit VM304, and a VM monitoring unit VM310.
- the application communication unit VM301 receives a system call from the video application execution unit A302.
- the system call control unit VM302 executes system calls.
- the VM area storage unit VM303 is storage and memory for storing the program of the video virtual machine VM300, middleware, and setting files.
- a hypercall calling unit VM 304 calls a hypercall.
- the VM monitoring unit VM310 includes a monitoring target acquisition unit VM311, a system state acquisition unit VM312, a monitoring unit VM313, a monitoring information storage unit VM314, a monitoring information update unit VM315, and a monitoring result notification unit VM316.
- the monitoring target acquisition unit VM311 has a function of acquiring information on software to be monitored from the VM area storage unit VM303 and the application area storage unit A303, and acquiring information on system calls from the application communication unit VM301.
- the system state acquisition unit VM312 has a function of acquiring the security state from the monitoring unit VM313 as the system state.
- the monitoring unit VM313 compares the acquired value of the software-related information acquired by the monitoring target acquisition unit VM311 with the expected value included in the monitoring information stored by the monitoring information storage unit VM314, and the acquired value and the expected value are different. It has a function of judging that the information on the software is abnormal when the acquired value and the expected value match, and judging that the information on the software is normal when the acquired value and the expected value match. Furthermore, the monitoring unit VM 313 uses the system call log acquired by the monitoring target acquisition unit VM 311 to detect whether a specific system call included in the system call log is abnormal using the allow list or the deny list and normal statistical information. It has a function to determine whether or not
- the monitoring information storage unit VM 314 has a function of storing monitoring information including monitoring personnel, monitoring targets, expected values, and priorities.
- the monitoring information update unit VM315 has a function of updating monitoring information in response to a request from the management unit SA120.
- the monitoring result notification unit VM316 has a function of notifying the management unit SA120 of the monitoring result and system status.
- the VM monitoring unit VM310 can monitor software and system calls in the application area and VM area, and can acquire the security status of the video virtual machine VM300 and the video application A300.
- System call monitoring is assumed to be a complex algorithm with statistical information.
- FIG. 11 is a block diagram of a hypervisor according to the embodiment.
- the hypervisor HV100 includes a virtual machine communication unit HV101, a hypercall control unit HV102, an HV area storage unit HV103, and an HV monitoring unit HV110.
- the virtual machine communication unit HV101 receives hypercalls from the hypercall calling units VM104, VM204, and VM304.
- the hypercall control unit HV102 executes hypercalls.
- the HV area storage unit HV103 is a storage and memory that stores programs of the hypervisor HV100 and setting files.
- the HV monitoring unit HV110 includes a monitoring target acquiring unit HV111, a system state acquiring unit HV112, a monitoring unit HV113, a monitoring information storage unit HV114, a monitoring information updating unit HV115, and a monitoring result notification unit HV116.
- the monitoring target acquisition unit HV111 has a function of acquiring information about software to be monitored from the HV area storage unit HV103, the VM area storage unit VM103, the VM area storage unit VM203, and the VM area storage unit VM303.
- the system state acquisition unit HV112 has a function of acquiring the system state of the virtual machine, the CPU utilization rate, the memory utilization rate, and the security state from the monitoring unit HV113 as the system state.
- the monitoring unit HV113 compares the acquired value of the software-related information acquired by the monitoring target acquisition unit HV111 with the expected value included in the monitoring information stored in the monitoring information storage unit HV114, and finds that the acquired value and the expected value are different. It has a function of judging that the information on the software is abnormal when the acquired value and the expected value match, and judging that the information on the software is normal when the acquired value and the expected value match.
- the monitoring information storage unit HV114 has a function of storing monitoring information including monitoring personnel, monitoring targets, expected values, and priorities.
- the monitoring information update unit HV115 has a function of updating monitoring information in response to a request from the management unit SA120.
- the monitoring result notification unit HV116 has a function of notifying the management unit SA120 of monitoring results and system status.
- the HV monitoring unit HV110 can monitor the external virtual machine VM100, the control virtual machine VM200, the video virtual machine VM300, and the software in the HV area. Can get state and security state.
- FIG. 12 is a diagram showing a configuration diagram of a secure application according to the embodiment.
- the secure application SA100 comprises an SA monitoring part SA110 and a management part SA120.
- the SA monitoring unit SA110 includes a monitoring target acquiring unit SA111, a system state acquiring unit SA112, a monitoring unit SA113, a monitoring information storage unit SA114, a monitoring information updating unit SA115, and a monitoring result notification unit SA116.
- the monitoring target acquisition unit SA111 has a function of acquiring information about software to be monitored from the HV area storage unit HV103, the VM area storage unit VM103, the VM area storage unit VM203, and the VM area storage unit VM303.
- the system state acquisition unit SA112 has a function of acquiring the security state from the monitoring unit SA113 as the system state.
- the monitoring unit SA113 compares the acquired value of the software-related information acquired by the monitoring target acquisition unit SA111 with the expected value included in the monitoring information stored in the monitoring information storage unit SA114, and determines that the acquired value is different from the expected value. It has a function of judging that the information on the software is abnormal when the acquired value and the expected value match, and judging that the information on the software is normal when the acquired value and the expected value match.
- the monitoring information storage unit SA114 has a function of storing monitoring information including monitoring personnel, monitoring targets, expected values, and priorities.
- the monitoring information updating unit SA115 has a function of updating monitoring information in response to a request from the management unit SA120.
- the monitoring result notification unit SA116 has a function of notifying the management unit SA120 of the monitoring result and system status.
- the management unit SA120 includes a monitoring result acquisition unit SA121, a system state acquisition unit SA122, a monitoring configuration storage unit SA123, a monitoring change rule storage unit SA124, a monitoring information change unit SA125, and a monitoring server communication unit SA126.
- the monitoring result acquisition unit SA121 has a function of receiving monitoring results from the monitoring result notification units A116, A216, A316, VM116, VM216, VM316, HV116, and SA116.
- the system state acquisition unit SA122 has a function of receiving system states from the monitoring result notification units A116, A216, A316, VM116, VM216, VM316, HV116, and SA116.
- the monitoring configuration storage unit SA123 has a function of storing a monitoring configuration including trust chain configuration patterns of multiple multilayer monitoring units.
- the monitoring change rule storage unit SA124 has a function of storing monitoring change rules including rules for changing the priority and monitoring configuration included in the monitoring information according to the system state.
- the monitoring information changing unit SA125 has a function of requesting the monitoring information updating unit SA115 to change the monitoring information.
- the monitoring server communication unit SA126 has a function of notifying the monitoring result to the monitoring server 10, receiving requests from the monitoring server 10 for changes in monitoring information, changes in the monitoring configuration, and changes in monitoring change rules, and responding to the requests.
- the SA monitoring unit SA110 can monitor the external virtual machine VM100, the control virtual machine VM200, the video virtual machine VM300, and the software in the HV area. Get security status.
- the management unit SA120 can change the monitoring configuration and monitoring information appropriately according to the system state.
- FIG. 13 is a block diagram of a monitoring server according to the embodiment.
- the monitoring server 10 includes an in-vehicle system communication unit 11, a monitoring result display unit 12, a monitoring configuration changing unit 13, a monitoring change rule changing unit 14, and a monitoring information changing unit 15.
- the in-vehicle system communication unit 11 has a function of communicating with the external communication unit A101 of the in-vehicle system 20.
- the monitoring result display unit 12 has a function of receiving monitoring results from the external communication unit A101 of the in-vehicle system 20 via the in-vehicle system communication unit 11 and displaying information on the monitoring results on a graphical user interface.
- the monitoring configuration change unit 13 accepts changes in the monitoring configuration and transmits a change request to the monitoring server communication unit SA126.
- the monitoring change rule changing unit 14 accepts changes to the monitoring change rules and transmits a change request to the monitoring server communication unit SA126.
- the monitoring information changing unit 15 accepts changes in monitoring information and transmits a change request to the monitoring server communication unit SA126.
- Example of monitoring information 14 and 15 are diagrams showing examples of monitoring information.
- the monitoring information contains information for each of the multi-layered monitoring units to confirm their own monitoring targets and monitor software and communication logs.
- the monitoring information includes number, supervisor, monitoring target, memory address, expected value, and priority. Numbers are used to identify monitoring information. The person in charge of monitoring is used to recognize the subject who monitors the monitoring target. The monitoring target is used to recognize software and communication logs to be monitored. The memory address is used to recognize the memory address where the target is stored in order to retrieve the target. Expected values are used to recognize normal values of information about monitored objects. The priority is used to more intensively monitor a monitoring target with a higher priority. Details of the priority will be described later.
- an application monitoring unit A110 is an external application monitoring unit
- an application monitoring unit A210 is a control application monitoring unit
- an application monitoring unit A310 is a video application monitoring unit
- a VM monitoring unit VM110 is an external VM monitoring unit
- a VM monitoring unit VM210 is a control application monitoring unit.
- the VM monitoring unit and the VM monitoring unit VM310 are described as a video VM monitoring unit, and this description may also be used below.
- the monitoring charge is the external VM monitoring unit
- the monitoring target is the VM program 1
- the memory address is the VM area B10
- the expected value is B10
- the priority is high.
- the monitoring information numbered 15 has the control VM monitoring unit as the monitoring manager, the hyper call log as the monitoring target, the memory address as "-", and the expected value as "-”.
- the priority is "-”. This indicates that the control VM monitoring unit monitors hypercall logs, but does not need to specify memory addresses, expected values, and priorities.
- the external communication log, the CAN communication log, the Ethernet communication log, the system call log, and the hyper call log are each abnormal can be determined.
- each of the multi-layered monitoring units can confirm its own monitoring targets and monitor software and communication logs.
- the software of the multi-layered monitoring unit in the monitoring target, it is possible to construct a trust chain for the monitoring of the multi-layered monitoring unit.
- the SA monitoring unit SA110 monitors the software of the HV monitoring unit HV110
- the HV monitoring unit HV110 monitors the software of the VM monitoring unit VM210
- the VM monitoring unit VM210 monitors the software of the VM monitoring unit VM110 and the VM monitoring unit VM310.
- the VM monitoring unit VM110 monitors the software of the application monitoring unit A110
- the VM monitoring unit VM210 monitors the software of the application monitoring unit A110
- the VM monitoring unit VM310 monitors the software of the application monitoring unit A310.
- the multilayer monitoring unit is connected from the reliable SA monitoring unit SA110 to the application monitoring unit, and a trust chain for monitoring can be constructed.
- FIG. 15 describes information for changing the software monitoring method according to the priority.
- priority, monitoring cycle (minutes), verification method, and monitoring target selection method are associated with each other.
- One of three types of priority, high, medium, and low, is described and used to identify the priority.
- the monitoring period (minutes) is used to recognize the period for performing the monitoring process of the monitoring target.
- the verification method is used to recognize how to perform the monitoring process of the monitored object.
- the monitoring target selection method is used to recognize a selection method when there are multiple monitoring targets.
- the monitoring period minutes
- the verification method is replication value
- the monitoring target selection method is fixed. This indicates validating a fixed target with duplicate values at 1 minute intervals.
- “Fixation” means monitoring all of one or more predetermined monitoring targets each time the monitoring timing determined by the monitoring period comes. It is to verify.
- the priority indicates that the monitoring targets are to be verified in a specific order at 10-minute intervals using not the duplicated values but the masked values obtained by masking the duplicated values.
- the order is to select one or more monitoring targets one by one in a specific order and monitor the selected monitoring targets each time the monitoring timing determined by the monitoring cycle comes.
- the priority is low, it indicates that the monitoring targets are verified in random order at intervals of 100 minutes using the hash value of the replicated value. Random means that one or more monitoring targets are randomly selected one by one and the selected monitoring targets are monitored each time the monitoring timing determined by the monitoring cycle comes.
- the memory area may be divided into two or more blocks, and the divided blocks may be randomly selected and monitored. Thereby, the processing load can be reduced.
- a specific monitoring cycle may be set, and instead of immediately executing monitoring when the cycle has elapsed since the previous monitoring, monitoring may be performed during the idle time of the CPU after the cycle has elapsed. .
- the monitoring timing differs each time, the load on the system where real-time performance is emphasized can be reduced.
- a period during which at least one monitoring is performed may be set.
- monitoring can be performed by utilizing idle time of the CPU during a predetermined period.
- monitoring timing may be defined according to specific events or verification results of specific monitoring units.
- the software of the application monitoring unit A110 may be monitored at the timing of Internet connection
- the software of the control virtual machine may be monitored at the timing when the driving state of the vehicle is changed to automatic driving
- the security abnormality may be monitored. It is possible to monitor the software of the multi-layered monitoring unit related to the abnormality at the timing when is determined once, or to monitor the software of the connected monitoring unit at the timing when the security is determined to be normal twice without an abnormality. .
- the area containing the log may be specified in the memory address, the permission list may be specified in the expected value, and the priority may be specified.
- the communication log monitoring method may be changed according to the priority.
- a method of detecting anomalies using the payload information of all messages which can be expected to be highly accurate, is applied.
- a method of detecting anomalies using header information may be applied.
- communication logs can be intensively monitored according to priority.
- FIG. 16 is a diagram illustrating an example of system states.
- the system state is used by the management unit SA120 to grasp the system state of the integrated ECU 200.
- system information includes number, classification, system status, and parameters. Numbers are used to identify system states. There are four classifications, network, VM, security, and vehicle, which are used to classify the system state. For example, the system state describes the name of a specific system state, and the parameter describes a parameter for specifying the system state.
- the system state whose number is 5 is classified as VM
- the system state is VM state
- the parameter is a VM identifier, one of on, off, and restarting, and time.
- the parameters include an identifier that identifies the specific virtual machine, the state of being restarted, and the time when the state was determined. be done.
- the system state with number 1 if the system state with number 1 is confirmed, the state of whether or not the integrated ECU 200 is connected to the Internet can be grasped, and the system state with number 9 can be confirmed with the running state of the vehicle. For example, it is possible to grasp the state of automatic operation or not, and by confirming the system state whose number is 7, it is possible to grasp the information of the monitoring target software determined to be abnormal as a result of the software verification.
- a predetermined time elapse a predetermined external network connection time elapse, system startup, and system restart.
- System status can be obtained including booting, establishing an external network connection, connecting an external device, switching driving modes, terminating fuel or power supply, performing vehicle diagnostics, and issuing an emergency alert.
- the system state in FIG. 16 shows a list of system states and items to be described in the parameters.
- the management unit SA120 acquires the system status included in the list, it can share the system status with other programs by notifying the other programs of the numbers and parameters or leaving them in a log.
- Example of monitoring configuration 17 to 20 are diagrams showing examples of monitoring configurations.
- a monitoring configuration is used to connect multiple monitoring units and change the monitoring trust chain.
- the blocks at the beginning of the arrows indicate the monitoring units that perform monitoring, and the blocks at the ends of the arrows indicate the monitoring units to be monitored.
- the monitoring configuration includes numbers and monitoring configurations.
- the number is used to identify the monitoring configuration, and the monitoring configuration describes the connection pattern of the multi-layer monitoring units.
- the software of the VM monitoring unit VM310 is monitored, the VM monitoring unit VM110 monitors the software of the application monitoring unit A110, the VM monitoring unit VM210 monitors the software of the application monitoring unit A110, and the VM monitoring unit VM310 monitors the software of the application monitoring unit A310.
- the multi-layered monitoring unit is connected from the reliable SA monitoring unit SA110 to the application monitoring unit, and a trust chain for monitoring can be constructed.
- control virtual machine VM200 since the control virtual machine VM200 is not directly connected to the external network, it can be assumed to be more reliable than the external virtual machine VM100, so it can be treated as a monitoring unit with higher reliability.
- the monitoring configuration of number 2 in FIG. 17 is the same as the management configuration of number 1 except that the SA monitoring unit SA110 monitors the software of the VM monitoring unit VM210 instead of the HV monitoring unit HV110.
- the processing and program complexity of the SA monitoring part SA110 increase, but by monitoring from the reliable SA monitoring part SA110, the reliability of the software of the VM monitoring part VM210 is increased. can be done.
- the monitoring configuration of number 3 in FIG. 18 is a monitoring configuration that can maintain trust chain monitoring of monitoring even when the control virtual machine VM200 goes down. If the monitoring configuration of number 1 or number 2 is continued when the control virtual machine VM200 goes down, the person in charge of monitoring the VM monitoring unit VM110 or the VM monitoring unit VM310 will be absent, and the trust chain for monitoring will be broken. can't keep up.
- the application This is a monitoring configuration capable of maintaining trust chain monitoring of monitoring other than the monitoring unit A210. If the monitoring configuration of number 1 or number 2 is continued when a security abnormality is detected in the control virtual machine VM200, the control virtual VM machine 210 is in charge of monitoring the software of the VM monitoring unit VM110 and the VM monitoring unit VM310. However, since the control virtual machine VM200 is highly likely to be tampered with, the monitoring trust chain cannot be maintained.
- the monitoring configuration of number 5 in FIG. 19 is a monitoring configuration that can enhance monitoring when an abnormality is detected in the control virtual machine VM200 or when the risk of tampering with the control virtual machine VM200 is high.
- the frequency and reliability of monitoring can be increased.
- the monitoring result of the SA monitoring unit SA110 which has a high degree of reliability, can be adopted.
- the monitoring configuration of number 6 in FIG. 19 even if an abnormality is detected in the control virtual machine VM200, the VM monitoring unit VM210 is completely removed from the monitoring charge and application monitoring is performed by another virtual machine monitoring unit. By taking over the monitoring of the part A110, the monitoring configuration is such that the trust chain monitoring of the monitoring can be maintained. If the monitoring configuration of number 1 or number 2 is continued when a security abnormality is detected in the control virtual machine VM200, the control virtual machine VM200 is in charge of monitoring the software of the VM monitoring unit VM110 and the VM monitoring unit VM310. , the control virtual machine VM200 is highly likely to be tampered with, so the monitoring trust chain cannot be maintained.
- the monitoring configuration of number 7 in FIG. 20 is a monitoring configuration that can strengthen monitoring when there is a high possibility that the external virtual machine VM100 will be tampered with, such as in the Internet connection state.
- the frequency and reliability of monitoring can be increased.
- the monitoring result of the HV monitoring unit HV110 with high reliability can be adopted.
- the VM monitoring unit VM210 monitors the software of the VM monitoring unit VM310
- the VM monitoring unit VM310 monitors the software of the VM monitoring unit VM110
- the VM monitoring unit VM110 monitors the software of the VM monitoring unit VM210, or a mutual monitoring configuration in which each virtual machine monitoring unit monitors the software of the other virtual machine monitoring units.
- the monitoring configuration may be dynamically calculated and changed.
- the monitoring configuration is stored as a directed graph in which the monitoring unit is the vertex, the person in charge of monitoring is the starting point of the road, and the monitoring target is the ending point of the road, and the monitoring configuration is changed by reconstructing the directed graph using a predetermined algorithm.
- the monitoring configuration is stored as a tree structure in which the monitoring unit is a node, the person in charge of monitoring is a parent node, and the monitoring target is a child node, and the tree structure is reconstructed by a predetermined algorithm. can be changed.
- FIG. 21 is a diagram showing an example of a monitoring change rule.
- the monitoring change rule is used by the management unit SA120 to change the priority of monitoring information and the monitoring configuration according to the system state.
- the monitoring change rule includes numbers, change conditions, and change processing.
- the number is used to identify the supervision change rule.
- the change condition is used to determine whether the system state is to perform change processing.
- the change process describes changes to the monitoring configuration that are performed when change conditions are met.
- the change condition is Internet connection establishment, and the change process is to temporarily raise the monitoring priority of the VM monitor VM110 and the application monitor A110.
- the management part SA120 temporarily raises the monitoring priority of the VM monitoring part VM110 and the application monitoring part A110. As a result, high-frequency and high-precision monitoring of these monitoring units can be performed. After a predetermined period of time has elapsed or a predetermined monitoring process has been completed, the temporarily raised priority is returned to its original value.
- a monitoring unit that monitors the source of the abnormal communication when an abnormality occurs in a specific communication, a monitoring unit that monitors the source of the abnormal communication, a monitoring unit that monitors the destination of the abnormal communication, and a monitoring unit that detects the abnormal communication Raising the priority of each of the monitors is shown. Since there is a high possibility that an error has occurred in the source software, there is a high possibility that an attack will be carried out on the destination software, and there is a high possibility that the monitoring unit that determined the communication error will also be disabled.
- the part SA120 raises the priority of each of the monitoring part that monitors the source of the abnormal communication, the monitoring part that monitors the destination of the abnormal communication, and the monitoring part that detects the abnormal communication. This allows focused monitoring to be performed on these monitoring units. Furthermore, management unit SA120 can monitor software that is likely to be tampered with by multiple monitoring units by changing the monitoring configuration.
- a monitoring change rule with a number of 6 indicates that when the CPU usage rate of a specific VM is low, the monitoring configuration is changed to one that imposes a heavy processing load on that VM.
- performing many monitoring processes in a virtual machine monitoring unit arranged in a virtual machine with a high CPU usage rate may affect other main functions. Therefore, a virtual machine monitoring unit that operates on a virtual machine with a low CPU usage rate performs monitoring, thereby reducing the burden on a system in which real-time performance is important.
- the management unit SA120 determines whether an external network is being connected, the occurrence of an external network connection establishment event, the system state of the virtual machine, the monitoring result of the multi-layered monitoring unit, and the execution authority of the monitoring unit that has detected an abnormality.
- the priority and monitoring configuration can be changed according to the execution authority of the software that detected the abnormality and the destination or source of the communication log that detected the abnormality.
- Example of monitoring result display 22 and 23 are diagrams showing an example of a monitor result display.
- the monitoring result display is used to convey monitoring information to security analysts.
- the monitor result display is generated by the monitor server 10 when the monitor server 10 receives the monitor result from the in-vehicle system 20 .
- a monitoring result display is a display in which monitoring results are represented in a graphical user interface.
- the monitoring results received from the in-vehicle system 20 are the same as the system status classification security items. If the software is normal, the monitoring result includes an identifier identifying the monitoring unit, an identifier identifying the software to be monitored, and the time when the software was determined to be normal. If the software is abnormal, the monitoring result includes an identifier identifying the monitoring unit, an identifier identifying the software to be monitored, and the time when the abnormality was determined. If the communication log is normal, the monitoring result includes an identifier identifying the monitoring unit, an identifier identifying the communication protocol, a normal communication message, and the normal determination time.
- the monitoring result includes an identifier identifying the monitoring unit, an identifier identifying the communication protocol, a normal communication message, and the time when the abnormality was determined. Further, in order to identify the integrated ECU 200 , a vehicle ID for identifying the vehicle and an ECUID for identifying the ECU may be added to the monitoring result and transmitted to the monitoring server 10 .
- thick-framed blocks indicate monitored software determined to be normal, and thin-framed blocks indicate monitored software determined to be abnormal.
- FIG. 22 an abstracted system architecture of the integrated ECU 200 is displayed, abnormal and normal components are emphasized and expressed so as to be distinguished, and corresponding monitoring results are displayed below the components. ing.
- the security analyst can intuitively understand the component in which the anomaly has occurred, so that security anomaly analysis can be carried out quickly.
- buttons for changing the monitoring configuration and changing the monitoring information are arranged at the bottom of the graphical user interface.
- monitoring server 10 may display a graphical user interface that accepts changes to the monitoring configuration. That is, the monitoring server 10 receives a change in at least one of the monitoring information of the monitoring target, the monitoring unit that monitors the monitoring target, the priority of the monitoring target, and the monitoring method corresponding to the priority, and sends the change to the integrated ECU 200. You may request changes.
- FIG. 23 shows that monitoring from the SA monitoring unit to the HV monitoring unit was executed at time T1, and monitoring from the VM monitoring unit 1 to the application monitoring unit 1 was executed at time T2. , and that the HV monitoring unit has monitored the VM monitoring unit 1 at time T3.
- FIG. 24 is a diagram illustrating a sequence of monitoring processing by an application monitoring unit in the embodiment.
- FIG. 24 shows the processing from when the monitoring target acquisition unit A111 of the application monitoring unit A110 acquires the external communication log and the hash value of the software (SW) in the application area until the monitoring result acquisition unit SA121 is notified of the monitoring result. shows the sequence.
- the external application A100 will be described as an example, but the control application A200 and the video application A300 have the same processing sequence except for the types of communication logs, so the description is omitted.
- the monitoring target acquisition unit A111 of the application monitoring unit A110 acquires a communication log, which is an external communication log, from the external communication unit A101 and transmits it to the monitoring unit A113.
- the monitoring unit A113 determines whether the communication log contains an abnormality, and notifies the monitoring result notification unit A116 of the monitoring result.
- the monitoring result includes an identifier identifying the monitoring unit, an identifier identifying the software to be monitored, and the determination time.
- the monitoring result includes an identifier identifying the monitoring unit, an identifier identifying the software to be monitored, and the determination time.
- the communication is normal, the monitoring result includes an identifier identifying the monitoring unit, an identifier identifying the communication protocol, and the determination time.
- the monitoring result notification unit A116 notifies the monitoring result acquisition unit SA121 of the monitoring result.
- the monitoring result acquisition unit SA121 acquires the monitoring result.
- the monitoring target acquisition unit A111 acquires the hash value of the software stored in the application area storage unit A103 each time a certain period of time elapses according to the priority of the monitoring target described in the monitoring information storage unit A114. Then, the expected value of the hash value of the software stored in the monitoring information storage unit A114 is obtained and transmitted to the monitoring unit A113.
- the monitoring unit A113 determines that each piece of software is normal if the obtained value and the expected value match, and determines that it is abnormal if they do not match, and notifies the monitoring result notification unit A116 of the monitoring result.
- the monitoring result notification unit A116 notifies the monitoring result acquisition unit SA121 of the monitoring result.
- the monitoring result acquisition unit SA121 acquires the monitoring result.
- FIG. 25 is a diagram illustrating a sequence of monitoring processing by a virtual machine monitoring unit according to the embodiment.
- FIG. 25 shows that after the monitoring target acquisition unit VM211 of the VM monitoring unit VM210 acquires the system call, the hyper call, the software in the application area, and the hash value of the software in the VM area, the monitoring result acquisition unit SA121 is notified of the monitoring result. It shows the processing sequence up to
- the VM monitoring unit VM210 will be described as an example, but the VM monitoring unit VM110 and the VM monitoring unit VM310 have the same sequence of processing except that the hypercall is not obtained, so the description is omitted.
- the monitoring target acquisition unit VM211 of the VM monitoring unit VM210 acquires communication logs, which are system calls and hypercalls, respectively, from the system call control unit VM202 and the hypercall control unit HV102 of the hypervisor HV100. Send to VM 213 .
- the monitoring unit VM 213 determines whether the communication log contains an abnormality, and notifies the monitoring result notification unit VM 216 of the monitoring result.
- the monitoring result notification unit VM216 notifies the monitoring result acquisition unit SA121 of the monitoring result.
- the monitoring result acquisition unit SA121 acquires the monitoring result.
- the monitoring target acquisition unit VM211 updates software stored in the VM area storage units VM103, VM203, and VM303 each time a certain period of time elapses according to the priority of the monitoring target described in the monitoring information storage unit VM214.
- a hash value is acquired, an expected value of the hash value of the software stored in the monitoring information storage unit VM214 is acquired, and the expected value is transmitted to the monitoring unit VM213.
- the monitoring unit VM213 determines that it is normal when the acquired value and the expected value match, and determines that it is abnormal when they do not match, and notifies the monitoring result notification unit VM216 of the monitoring result.
- the monitoring result notification unit VM216 notifies the monitoring result acquisition unit SA121 of the monitoring result.
- the monitoring result acquisition unit SA121 acquires the monitoring result.
- FIG. 26 is a diagram illustrating a sequence of monitoring processing of a hypervisor in the embodiment
- FIG. 26 shows a processing sequence from when the monitoring target acquiring unit HV111 of the HV monitoring unit HV110 acquires the hash values of the software in the VM area and the software in the HV area to notifying the monitoring result acquiring unit SA121 of the monitoring result. is shown.
- the monitoring target acquisition unit HV111 of the HV monitoring unit HV110 acquires the VM area storage units VM103, VM203, and VM303 each time a certain period of time elapses according to the priority of the monitoring target described in the monitoring information storage unit HV114.
- the hash value of the software stored in the HV area storage unit HV103 is acquired, the expected value of the hash value of the software stored in the monitoring information storage unit HV114 is acquired, and transmitted to the monitoring unit HV113.
- the monitoring unit HV113 determines that it is normal if the acquired value and the expected value match, and determines that it is abnormal if they do not match, and notifies the monitoring result notification unit HV116 of the monitoring result.
- the monitoring result notification unit HV116 notifies the monitoring result acquisition unit SA121 of the monitoring result.
- the monitoring result acquisition unit SA121 acquires the monitoring result.
- FIG. 27 is a diagram illustrating a sequence of secure application monitoring processing according to the embodiment.
- FIG. 27 shows a processing sequence from when the monitoring target acquiring unit SA111 of the SA monitoring unit SA110 acquires the hash values of the software in the VM area and the software in the HV area to notifying the monitoring result acquiring unit SA121 of the monitoring result. is shown.
- the monitoring target acquisition unit SA111 of the SA monitoring unit SA110 according to the priority of the monitoring target described in the monitoring information storage unit SA114, each time a certain period of time elapses,
- the hash value of the software stored in the HV area storage unit HV103 is acquired, the expected value of the hash value of the software stored in the monitoring information storage unit SA114 is acquired, and transmitted to the monitoring unit SA113.
- the monitoring unit SA113 determines that it is normal if the obtained value and the expected value match, and determines that it is abnormal if they do not match, and notifies the monitoring result notification unit SA116 of the monitoring result.
- the monitoring result notification unit SA116 notifies the monitoring result acquisition unit SA121 of the monitoring result.
- the monitoring result acquisition unit SA121 acquires the monitoring result.
- FIG. 28 is a diagram illustrating a sequence of monitoring server notification processing according to the embodiment.
- the monitoring result acquisition unit SA121 of the SA monitoring unit SA110 acquires monitoring results from the application monitoring unit, the virtual machine monitoring unit, the HV monitoring unit HV110, and the SA monitoring unit SA110, and displays the monitoring results on the monitoring server 10. It shows a processing sequence until the unit 12 displays the monitoring result.
- the monitoring result acquisition unit SA121 of the SA monitoring unit SA110 acquires monitoring results from the application monitoring unit, virtual machine monitoring unit, HV monitoring unit HV110, and SA monitoring unit SA110, and transmits them to the monitoring server communication unit SA126. .
- the monitoring server communication unit SA126 notifies the in-vehicle system communication unit 11 of the monitoring server 10 of the monitoring result via the external communication unit A101.
- the in-vehicle system communication unit 11 receives the monitoring result and transmits it to the monitoring result display unit 12.
- the monitoring result display unit 12 displays the monitoring result.
- FIG. 29 is a diagram illustrating a sequence of monitoring information change processing according to the embodiment.
- the system state acquisition unit SA122 of the SA monitoring unit SA110 acquires the security state from the application monitoring unit, the virtual machine monitoring unit, the HV monitoring unit HV110, and the SA monitoring unit SA110. section, HV monitoring section HV110, and SA monitoring section SA110.
- the system status acquisition part SA122 of the SA monitoring part SA110 acquires the security status as the system status from the application monitoring part, the virtual machine monitoring part, the HV monitoring part HV110, and the SA monitoring part SA110, and Send to SA125.
- the monitoring information change unit SA125 confirms the monitoring change rule stored in the monitoring change rule storage unit SA124, and if the system state satisfies the change condition of the monitoring change rule, performs change processing, and the monitoring information update unit SA125 performs change processing. Request changes to A115, A215, A315, VM115, VM215, VM315, HV115, and SA115.
- the monitoring information update units A115, A215, A315, VM115, VM215, VM315, HV115, and SA115 update the monitoring information.
- the monitoring information and monitoring configuration can also be changed by the monitoring server 10.
- the monitoring server communication unit SA126 receives the change information from the monitoring server 10 and transmits it to the monitoring information change unit SA125.
- the monitoring information change unit SA125 updates the configuration information contained in the monitoring configuration storage unit SA123, and requests the monitoring information update units A115, A215, A315, VM115, VM215, VM315, HV115, and SA115 to change the monitoring information. It will be realized by doing.
- FIG. 30 shows a flowchart of monitoring processing in the embodiment.
- the application monitoring unit A110 will be described as an example. are the same except that the type is different.
- the monitoring target acquisition unit A111 of the application monitoring unit A110 acquires the hash value of the external communication log and software to be monitored, and executes steps S3002 and S3005.
- step S3002 The monitoring unit A113 determines whether or not the external communication log acquired in step S3001 contains an abnormality. If not (No in S3002), step S3004 is executed.
- the monitoring unit A113 determines that the communication to be monitored is abnormal, updates the system state, and executes step S3005.
- the monitoring unit A113 updates the system state assuming that the communication to be monitored is normal, and executes step S3005.
- the monitoring result notification unit A116 notifies the monitoring result acquisition unit SA121 of the monitoring result and the system state, and terminates.
- Step S3006 The monitoring unit A 113 determines whether or not the software contains an abnormality. Step S3008 is implemented.
- the monitoring unit A113 determines that the monitored software is abnormal, updates the system state, and executes step S3005.
- the monitoring unit A113 determines that the monitored software is normal, updates the system state, and executes step S3005.
- FIG. 31 shows a flowchart of monitoring change processing in the embodiment.
- the monitoring information change unit SA125 confirms the monitoring change rule stored in the monitoring change rule storage unit SA124, and determines whether or not the system state acquired in step S3101 satisfies the change condition of the monitoring change rule. If the change condition is satisfied (Yes in S3102), step S3103 is executed, and if the change condition is not satisfied (No in S3102), the process ends.
- the monitoring information changing unit SA125 performs change processing corresponding to the change condition satisfied in step S3102 in the monitoring change rule, A request is made to the HV 115 and SA 115 to change the monitoring information, and the process ends.
- Integrated ECU 200 as a monitoring device includes three or more monitoring units each monitoring at least one of software and a communication log as a monitoring target.
- the three or more monitoring units are a first monitoring unit that operates with a first execution authority, a second monitoring unit that operates with a second execution authority that is less reliable than the first execution authority, and a third monitoring unit that operates with a third execution authority that has the same reliability as the second execution authority or a third execution authority that is less reliable than the second execution authority.
- the integrated ECU 200 builds a monitoring trust chain in which the software of the low-reliability monitoring unit is monitored from at least one high-reliability monitoring unit. At least one of the first monitor and the second monitor monitor monitors the software of the third monitor.
- the active monitoring unit has the advantage of being able to employ sophisticated and complex algorithms.
- the three or more monitoring units include four or more monitoring units.
- the four or more monitoring units have the same reliability as the first monitoring unit, the second monitoring unit, the third monitoring unit, and the third execution authority, or have higher reliability than the third execution authority. and a fourth monitor operating with a lower fourth execution privilege.
- the integrated ECU 200 includes a first monitoring unit, a second monitoring unit, and a second monitoring unit so as to build a monitoring trust chain in which software of a low-reliability monitoring unit is monitored from at least one high-reliability monitoring unit. At least one of the three monitors monitors the software of the fourth monitor.
- the active monitoring unit has the advantage of being able to employ sophisticated and complex algorithms.
- the integrated ECU 200 operates on a secure application, a virtual software platform, and one or more virtual machines.
- the first execution authority is one of a secure application execution authority, a virtual software infrastructure execution authority, and a virtual machine kernel execution authority.
- the second execution right is one of a virtual software infrastructure execution right, a virtual machine kernel execution right, and a virtual machine user right.
- the third execution right is one of a virtual machine kernel execution right and a virtual machine user right.
- Execution permissions for secure apps are more reliable than execution permissions for virtual software platforms.
- Virtual software infrastructure execution privileges are more reliable than virtual machine kernel execution privileges.
- Virtual machine kernel execution privileges are more reliable than virtual machine user privileges.
- communication logs such as software in the user space of the virtual machine, network logs in the user space of the virtual machine, and system calls between the user space and the kernel space of the virtual machine Since it can be assumed that acquisition is difficult, separating the monitoring units for each execution authority has the effect of enabling monitoring of a wider range of monitoring targets.
- software that operates with secure app execution privileges, hypervisor execution privileges, and virtual machine kernel privileges is implemented with a simple algorithm that does not include vulnerabilities, monitoring that operates with strong execution privileges A simple algorithm can be adopted for the part, and an advanced and complicated algorithm can be adopted for the monitoring part which operates with weak execution authority.
- the monitoring device operates on a virtual software platform and two or more virtual machines.
- the first virtual machine among the two or more monitoring units operating with the execution authority assigned to the virtual machine The monitoring unit includes the software of the monitoring unit of the second virtual machine among the two or more monitoring units as a monitoring target; It is classified as either one virtual machine or a second virtual machine.
- virtual machines with vehicle control functions are isolated from the external network, and it can be assumed that secure design and implementation have been fully considered to meet the requirements of a high functional safety level. can be treated as a reliable first virtual machine.
- the monitoring unit of the second monitoring machine which has a high tampering risk, must be monitored from the execution authority of the secure application or hypervisor. Since the monitoring unit of the second monitoring machine can be monitored from the second monitoring unit, there is an effect of simplifying the software that operates with the execution authority of the secure application and the execution authority of the hypervisor.
- each of the three or more monitoring units monitors the elapse of a predetermined time period, the elapse of a predetermined external network connection time period, the system startup, the system restart, the establishment of an external network connection, and the external device
- the monitoring of the monitoring target is started according to the timing at which an event including at least one of connection occurs.
- the monitoring unit whose integrity is verified by the front-stage monitoring unit is not a serial monitoring method that verifies the rear-stage monitoring unit.
- the load of the monitoring process can be flexibly distributed without imposing a load on the system, such as performing the monitoring process using the idle time of the CPU of each virtual machine.
- the monitoring device operates on the in-vehicle system.
- Each of the three or more monitoring units is responsible for elapse of a predetermined running time, elapse of a predetermined stop time, elapse of a predetermined running distance, switching of driving modes, termination of fuel supply or power supply, execution of vehicle diagnosis, and calling of an emergency alert.
- Monitoring of the monitoring target is started in accordance with the timing at which an event including at least one of .
- each of the three or more monitoring units determines the number of times the other monitoring unit executes the monitoring process, the number of times the monitoring process is determined to be abnormal, and the monitoring process determines that it is normal.
- the monitoring of the monitoring target is started according to the timing when at least one of the number of times set is reached.
- the first monitoring unit monitors the software of the second monitoring unit.
- the second monitoring unit to be monitored by the first monitoring unit detects an abnormality once
- the first monitoring unit executes the software monitoring process of the second monitoring unit.
- the monitoring process can be executed only when an abnormality occurs in the monitoring target of the second monitoring unit, and the number of monitoring processes can be reduced.
- the first monitoring unit executes the software monitoring process of the second monitoring unit once.
- the monitoring processing of the first monitoring unit can be reduced, and the number of times of monitoring processing can be reduced. This has the effect of reducing the overhead by reducing the number of times the execution mode is switched, since it is assumed that the execution mode needs to be switched in order to operate the software with strong execution authority.
- each of the three or more monitoring units stores the hash value, mask value, and , at least one of the replicated values is obtained as an obtained value, the expected value, which is a predefined correct value, is compared with the obtained value, and if the expected value and the obtained value match, the software is normal. If the expected value and the obtained value do not match, it is determined that the software is abnormal.
- the software is tampered with, the expected value and the obtained value will differ, so it has the effect of being able to determine whether the software has been tampered with.
- a hash value it is possible to determine falsification more efficiently than a duplicate value, and by using a mask value, it is possible to determine the presence or absence of falsification more efficiently than a duplicate value.
- the duplicate value it is possible to determine falsification more accurately than the hash value, and by using the mask value, it is possible to determine falsification more accurately than the hash value.
- the software includes a combination of a virtual software platform program and setting files, a combination of a virtual machine kernel program and setting files, and a user application program and setting files on the virtual machine. and a combination of programs and configuration files for each of the three or more monitoring units.
- each of the three or more monitoring units acquires the communication log when the object to be monitored is the communication log, and obtains the permission list, the denial list, and the normal statistical information. and (i) determining that the communication log is normal if it is included in the permission list, and determining that the communication log is abnormal if it is not included in the permission list.
- the communication log includes the Ethernet, the CAN protocol, the FlexRay protocol, the SOME/IP protocol, the SOME/IP-SD protocol, the system call, and the hyper call. At least one may be included.
- the network protocol installed in the in-vehicle system it is possible to determine communication abnormalities using protocol-specific parameters. Furthermore, the sender and destination can be acquired from the communication log determined to be abnormal, and there is an effect that the monitoring unit and the monitoring target in which the abnormality may occur can be specified. Furthermore, by monitoring system calls and hypercalls, which are privileged instructions, it is possible to determine anomalies that occur at the boundaries of execution rights, and to identify a monitoring unit and a monitoring target that may cause anomalies.
- each of the three or more monitoring units provides a monitoring target monitoring frequency, a monitoring target verification method, a monitoring target verification method, and a monitoring target verification method according to the priority set for each monitoring target. change at least one of the selection methods of
- the priority is determined by the execution authority of the monitoring target and whether one of the three or more monitoring units or the virtual machine in which the monitoring operates has an external network connection function. and whether or not the virtual machine on which one monitoring unit or monitor operates has a vehicle control function.
- the integrated ECU 200 further includes a priority included in the monitoring information, and a supervisor and a monitoring target included in the monitoring target, according to the state or event of the system in which the monitoring device operates. and a management unit for changing at least one of the target combination and the monitoring configuration.
- monitoring information As a result, if the importance of monitoring targets differs depending on the system state or event, it can be assumed that it is difficult to set the monitoring information as an appropriate fixed value.
- By flexibly changing the monitoring configuration effective monitoring is possible. For example, by flexibly changing the priority and changing the monitoring frequency, monitoring accuracy, and monitoring method according to the priority, it is possible to focus on monitoring targets with high tampering risk within limited resources. effective.
- by changing the monitoring information so that when one of the monitoring modules becomes inoperable, such as when one of the virtual machines is restarted, the monitoring of the other monitoring modules that cannot operate can be taken over. It has the effect of continuously monitoring the target.
- another monitoring unit takes over the monitoring of the monitoring target, so that there is an effect that the monitoring target can be monitored from a reliable monitoring unit.
- another monitoring unit additionally performs monitoring of the monitoring target, so that there is an effect that monitoring can be strengthened by a plurality of monitoring units.
- another monitoring unit takes over the monitoring of the monitoring target, thereby reducing the system impact due to resource pressure.
- the management unit determines whether or not an external network connection is being established, whether or not an external network connection establishment event has occurred, the system state of the monitoring machine, the monitoring result of the monitoring unit, an abnormality
- the priority is changed according to at least one of the execution authority of the monitoring unit that detected the error, the execution authority of the software that detected the abnormality, and the destination or transmission source of the communication log that detected the abnormality.
- the state of network connections affects the possibility of attack, so it has the effect of changing the priority according to changes in the attack possibility of the monitored target.
- a software error it is assumed that there is a high possibility that an attack will occur in the same virtual machine software as the error software, software that operates with the same execution privileges, or software in the monitoring unit that has determined the error. Therefore, there is an effect that the priority can be changed according to the change of attack possibility.
- a communication abnormality is determined, there is a high possibility that an abnormality has occurred at the transmission source of the communication, and there is a high possibility that an attack will develop on the transmission destination of the communication. There is an effect that can change the degree.
- the integrated ECU 200 operates on an in-vehicle system.
- the management unit changes the priority of the monitoring target operating on the virtual machine having the vehicle control function, according to the running state of the vehicle.
- the running state of the vehicle is one of stopped, manual driving, advanced driving assistance, and automatic driving.
- control commands related to running, turning, and stopping of the vehicle are sent from the control virtual machine software, which controls the engine, steering, braking, etc. Since it can be assumed that the control ECU follows the control command and the influence of software falsification is large, there is an effect that the software of the control virtual machine having the vehicle control function can be monitored intensively by raising the priority thereof. On the other hand, when the vehicle is stopped or manually driven, it can be assumed that the control ECU does not follow control commands, and the influence of software tampering is small. By lowering the degree, there is an effect that priority can be given to monitoring processing of other monitoring targets.
- the management unit changes the software of the low-reliability monitoring unit to the software of the high-reliability monitoring unit rather than the low-reliability monitoring unit. Change the monitor configuration so that you can build a chain of trust for the monitors you monitor.
- the management unit determines whether or not an external network connection is being established, whether or not an external network connection establishment event has occurred, the system state of the virtual machine, the monitoring result of the monitoring unit, and the abnormality
- the monitoring configuration is changed according to at least one of the execution authority of the monitoring unit that detected the error, the execution authority of the software that detected the abnormality, and the destination or transmission source of the communication log that detected the abnormality.
- the status of network connections affects the possibility of attacks, so it has the effect of changing the monitoring configuration according to changes in the attack potential of the monitored target.
- another monitoring unit takes over the monitoring of the monitored object, which has the effect of enabling continuous monitoring of the monitored object. be.
- another monitoring unit takes over the monitoring of the monitoring target, so that there is an effect that the monitoring target can be monitored from a reliable monitoring unit.
- another monitoring unit additionally performs monitoring of the monitoring target, so that there is an effect that monitoring can be strengthened by a plurality of monitoring units.
- the CPU or memory resources of one virtual machine are under pressure, another monitoring unit takes over the monitoring of the monitored object, thereby reducing the system impact due to resource pressure.
- the integrated ECU 200 operates on an in-vehicle system.
- the management unit changes the monitoring configuration related to the virtual machine having the vehicle control function according to the running state of the vehicle.
- the running state of the vehicle is one of stopped, manual driving, advanced driving support, and automatic driving.
- control commands related to running, turning, and stopping of the vehicle are sent from the control virtual machine software, which controls the engine, steering, braking, etc. Since it can be assumed that the control ECU follows the control command and the influence of software tampering is large, there is an effect that the monitoring configuration can be changed so that the software of the control virtual machine is monitored by a plurality of monitoring units. When the vehicle is stopped or manually driven, it can be assumed that the control ECU does not follow the control command, and the influence of software tampering is small. be.
- the management unit includes (i) means for selecting one from two or more predefined monitoring configurations; means for storing a monitoring configuration as a directed graph in which a person in charge is the starting point of a road and an object to be monitored is the end point of the road, and reconstructing the directed graph by a predetermined algorithm;
- the monitoring configuration is changed by at least one of means for storing the monitoring configuration as a tree structure with parent nodes and monitoring targets as child nodes, and reconstructing the tree structure using a predetermined algorithm.
- the management unit stores the monitoring configuration as a tree structure in which the monitoring unit is a node, the person in charge of monitoring is a parent node, and the monitoring target is a child node.
- the integrated ECU 200 further includes a monitoring server communication unit that notifies the monitoring server of the monitoring result.
- the monitoring system is a monitoring system including a monitoring device and a monitoring server, and each of the monitoring devices monitors at least one of software and communication logs as a monitoring target.
- a monitoring unit identifier e.g., a monitoring target identifier, a normality determination time, and an abnormality determination time
- a monitoring server communication unit configured to transmit at least two of the monitoring result to the monitoring server.
- the three or more monitoring units are a first monitoring unit that operates with a first execution authority, a second monitoring unit that operates with a second execution authority that is less reliable than the first execution authority, and a third monitoring unit that operates with a third execution authority that has the same reliability as the second execution authority or a third execution authority that is less reliable than the second execution authority.
- the first monitoring unit monitors the software of the second monitoring unit
- the third At least one of the one monitoring unit and the second monitoring unit monitors the software of the third monitoring unit.
- the monitoring server includes a monitoring result display unit that receives monitoring results and displays the monitoring results on a graphical user interface.
- the monitoring result display unit displays the monitoring result in association with the system architecture, means for emphasizing the monitoring unit that has detected an abnormality or the monitoring target for which an abnormality has been detected, and a predetermined display the monitoring results in association with the timeline, and display the monitoring results on the graphical user interface by at least one means of emphasizing the normality determination time or the abnormality determination time.
- the security analyst can intuitively grasp the location of the monitoring department, the location of the monitored object, and the monitoring results. be.
- security analysts can intuitively grasp the time series of monitoring results, and in the event of an anomaly, there is an effect that they can more quickly consider countermeasures such as updating software.
- the monitoring server further includes at least one of a monitoring target, a monitoring unit that monitors the monitoring target, a priority of the monitoring target, and a monitoring method corresponding to the priority. and a monitoring information changing unit that accepts changes in one piece of monitoring information and requests the monitoring device to change the information.
- the monitoring device further includes a monitoring information updating unit that updates the monitoring information in response to a request from the monitoring information changing unit.
- FIG. 32 is a diagram showing a detailed modification 1 of the configuration of the integrated ECU in the embodiment.
- FIG. 4 assumes that the type 1 hypervisor HV100 is used as the virtual software platform, but the type 2 hypervisor HV200 may also be used. In this case, the host operating system HOS100 activates the hypervisor HV200, and the hypervisor HV200 activates the virtual machine.
- the hypervisor HV200 comprises an HV monitoring unit HV210 that monitors software in the HV area and software in the VM area.
- the host operating system HOS100 includes a host OS monitoring unit HOS110 that monitors software in the host OS area, software in the HV area, software in the VM area, and system calls.
- the secure operating system is assigned the most secure execution rights (PL4) and the applications on the operating system are assigned the next most secure execution rights (PL3).
- the host operating system HOS100 is assigned a strong execution privilege (PL1), and the hypervisor HV200 and the virtual machine are assigned the same execution privilege (PL1) as the host operating system HOS100.
- the weakest execution authority is assigned to the application (PL0) on the virtual machine. Note that the execution authority is PL4, PL3, PL2, PL1, and PL0 in descending order.
- the external application A100 which is connected to the external network, is most likely to be tampered with and has the lowest reliability. It is assumed that the external virtual machine VM100 with weak authority, the control virtual machine VM200, the video virtual machine VM300, the hypervisor HV200, and the host operating system HOS100 have low reliability, and the secure application SA100 and the secure operating system SOS100 have the highest reliability. can. Also, when the host operating system HOS100 provides an external network interface to the external virtual machine by means of a bridge or the like, the host operating system HOS100 may be connected to the external network, and the host operating system HOS100 provides the virtual machine with an external network interface. Since there is a possibility that the storage can be accessed, unlike the hypervisor HV200 in FIG. 4, the reliability of the software of the host operating system HOS100 is low. Therefore, the secure application desirably monitors not only the host operating system HOS100, but also the hypervisor HV200 and virtual machine software.
- the SA monitoring unit SA110 may monitor the software of the host OS monitoring unit HOS110, the software of the HV monitoring unit HV210, and the software of the virtual machine, and the virtual machine monitoring unit may monitor the application monitoring unit.
- hypervisor HV200 may be assigned a stronger execution authority (PL2) than the host operating system HOS100.
- execution authority PL2
- reliability the same as those described in FIG.
- FIG. 33 is a diagram showing Modification 2 of the details of the configuration diagram of the integrated ECU in the embodiment.
- FIG. 4 shows that the hypervisor HV100 executes and monitors three types of virtual machines.
- the application layer may be virtualized to operate the container application CA100 and the container application CA200.
- the container virtual machine VM400 includes a VM monitoring unit VM410 that monitors software in the VM area including the software of the container engine CE100, the software and settings of the container application CA100, and the software and settings of the container application CA200.
- the container application CA200 includes a container application monitoring unit CA210 that monitors software in the application area, the container application CA100, and inter-container communication.
- the secure operating system is assigned the strongest secure execution privilege (PL4)
- the applications on the operating system are assigned the next strongest secure execution privilege (PL3)
- the hypervisor HV100 is assigned the next strongest execution privilege (PL3).
- the weakest execution authority is assigned to the container engine CE100, the container application CA100, and the container application CA200. Note that the execution authority is PL4, PL3, PL2, PL1, and PL0 in descending order.
- multiple containers that operate with the same execution authority may have different degrees of trust.
- the container application CA100 has a function to communicate with a proximity network such as Wi-Fi or Bluetooth
- the container application CA200 has a vehicle control function
- the container application CA100 The reliability of the container application CA200 is considered to be high.
- the container application monitoring unit CA210 monitor the software of the container application CA100, a trust chain for monitoring can be established even between containers operating with the same execution authority.
- the external application A100 which is connected to the external network, is most likely to be tampered with, so it has the lowest reliability. is the second lowest, the container application CA100 which has the same execution authority but does not directly communicate via the network, the container engine CE100 which has the lowest reliability, the next lowest execution authority is the external virtual machine VM100, and the container virtual machine VM100. It can be assumed that the reliability of the machine VM400 is low, the reliability of the hypervisor HV100 with weak execution authority is low, and the reliability of the secure application SA100 and the secure operating system SOS100 is the highest.
- the SA monitoring unit SA110 monitors the software of the HV monitoring unit HV110 and the software of the virtual machine
- the VM monitoring unit VM410 monitors the container engine CE100, the container application CA100, the container application CA200, and the container application monitoring unit CA210.
- the container application monitoring unit CA210 monitors the application monitoring software, the container application CA100, and the inter-container communication. Since it can be monitored from the multi-layered monitoring unit, a reliable chain of monitoring can be constructed.
- hypervisor HV100 is not essential, and the host operating system may virtualize the application using the container engine CE100 to operate the container application CA100 and the container application CA200.
- execution authority, reliability, and monitoring trust chain can be explained in the same way as in FIG. 33 by deleting the hypervisor HV100 and replacing it with the operating system that hosts the container virtual machine VM400.
- the monitoring device includes a secure application, a host operating system, one or more virtual software platforms, and one or more virtual machines, or one or more container virtualization platforms and Runs on 2 or more containers.
- the first execution authority, the second execution authority, the third execution authority, and the fourth execution authority are the execution authority of the secure application, the execution authority of the host operating system, and the execution authority of the virtual software platform. , the virtual machine kernel execution right, the virtual machine user execution right, and the container execution right.
- the monitoring unit of the first container among the two or more monitoring units of the two or more containers operating with the same execution authority is , of the two or more monitoring units of the two or more containers, the software of the monitoring unit of the second container is included in the monitoring target, and the two or more containers are monitored according to the possibility of being tampered with by the attacker. and second container.
- the host operating system uses a hypervisor, which is a virtual software platform, to run and manage multiple virtual machines.
- a hypervisor which is a virtual software platform, to run and manage multiple virtual machines.
- the reliability of virtual machines or containers can be assumed to differ depending on the possibility of tampering, such as the presence or absence of a connection function with an external network.
- By building a trust chain even if the monitoring part of the second virtual machine or second container with low trust is hijacked, the monitoring part of the first virtual machine with high trust or the first There is an effect that anomalies can be detected from the monitoring part of the container.
- the security measures for the in-vehicle system installed in the vehicle have been explained, but the scope of application is not limited to this. It may be applied not only to automobiles but also to mobility such as construction machines, agricultural machines, ships, railroads, and airplanes. That is, it can be applied as a security measure in a mobility system. It may also be applied to industrial control systems such as factories and buildings.
- a secure monitor call used for secure application communication is not used as a communication log. It may be monitored. This has the effect of supplementing attempted attacks on confidential information stored in secure applications and secure OSs.
- the hypervisor HV 100 has three types of virtual machines to be executed and managed. Alternatively, four or more types of virtual machines may be used.
- the reliability of the virtual machine varies depending on whether or not there is a connection to an external network or whether or not there is a vehicle control function.
- the reliability of the virtual machine may differ depending on the presence or absence of the third-party application download function. In this case, if it has a user login function, there is a possibility of unauthorized login, so the reliability is low. can be assumed to be low.
- all virtual machines, all applications, the hypervisor HV100, and the secure application SA100 are provided with monitoring units. It suffices that two or more monitoring units having different degrees of reliability of the virtual machines are arranged.
- a part or all of the components constituting each device in the above embodiments may be configured from one system LSI (Large Scale Integration).
- a system LSI is an ultra-multifunctional LSI manufactured by integrating multiple components on a single chip. Specifically, it is a computer system that includes a microprocessor, ROM, RAM, etc. . A computer program is recorded in the RAM. The system LSI achieves its functions by the microprocessor operating according to the computer program. Further, each part of the constituent elements constituting each of the above devices may be individually integrated into one chip, or may be integrated into one chip so as to include part or all of them.
- system LSI may also 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, and may be realized by a dedicated circuit or a general-purpose processor.
- An FPGA Field Programmable Gate Array
- a reconfigurable processor that can reconfigure the connections and settings of the circuit cells inside the LSI may be used.
- an integration technology that replaces the LSI appears due to advances in semiconductor technology or another derived technology, the technology may naturally be used to integrate the functional blocks. Application of biotechnology, etc. is possible.
- a part or all of the components that make up each device described above may be configured from an IC card or a single module that can be attached to and removed from each device.
- An IC card or module is a computer system composed of a microprocessor, ROM, RAM and the like.
- the IC card or module may include the super multifunctional LSI.
- the IC card or module achieves its function by the microprocessor operating according to the computer program. This IC card or this module may have tamper resistance.
- the present disclosure may be a program (computer program) that implements an abnormality detection method by a computer, or it may be a digital signal composed of a computer program.
- computer programs or digital signals can be computer-readable recording media such as flexible discs, hard disks, CD-ROMs, MOs, DVDs, DVD-ROMs, DVD-RAMs, BDs (Blu - ray (registered trademark) Disc), semiconductor memory or the like.
- the computer program or digital signal may be transmitted via an electric communication line, a wireless or wired communication line, a network represented by the Internet, data broadcasting, or the like.
- one aspect of the present disclosure may be a computer system including a microprocessor and memory, the memory recording the computer program, and the microprocessor operating according to the computer program.
- the program or digital signal may be recorded on a recording medium and transferred, or the program or digital signal may be transferred via a network or the like to be implemented by another independent computer system.
- the monitoring device of the present disclosure even if an attacker intrudes into an in-vehicle system and tampered with and invalidates a monitoring program implemented in a low-reliability area, an abnormality occurring in the in-vehicle system can be detected. detectable.
- the aim is to provide safe automated driving and advanced driver assistance systems.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Automation & Control Theory (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
[監視システムの全体構成図]
図1は、実施の形態における監視システムの全体構成図である。
図2は、実施の形態における車載システムの構成図を示す図である。
図3は、実施の形態における統合ECU200の構成図である。統合ECU200は、外部アプリA100と、制御アプリA200と、映像アプリA300と、外部仮想マシンVM100と、制御仮想マシンVM200と、映像仮想マシンVM300と、ハイパーバイザHV100と、セキュアアプリSA100と、セキュアオペレーティングシステムSOS100とを備える。なお、以下では、外部アプリA100と、制御アプリA200と、映像アプリA300を総称してアプリケーションと呼ぶことがある。また、外部仮想マシンVM100と、制御仮想マシンVM200と、映像仮想マシンVM300を総称して仮想マシンと呼ぶことがある。統合ECU200は、監視装置の一例である。
図4は、実施の形態における統合ECUの構成図の詳細を示す図である。
図5は、実施の形態における外部アプリの構成図を示す図である。
図6は、実施の形態における制御アプリの構成図を示す図である。
図7は、実施の形態における映像アプリの構成図を示す図である。
図8は、実施の形態における外部仮想マシンの構成図を示す図である。
図9は、実施の形態における制御仮想マシンの構成図を示す図である。
図10は、実施の形態における映像仮想マシンの構成図を示す図である。
図11は、実施の形態におけるハイパーバイザの構成図を示す図である。
図12は、実施の形態におけるセキュアアプリの構成図を示す図である。
図13は、実施の形態における監視サーバーの構成図を示す図である。
図14及び図15は、監視情報の一例を示す図である。
図16は、システム状態の一例を示す図である。
図17~図20は、監視構成の一例を示す図である。
図21は、監視変更ルールの一例を示す図である。
図22及び図23は、監視結果表示の一例を示す図である。
図24は、実施の形態におけるアプリ監視部の監視処理のシーケンスを示す図である。
図25は、実施の形態における仮想マシン監視部の監視処理のシーケンスを示す図である。
図26は、実施の形態におけるハイパーバイザの監視処理のシーケンスを示す図である。
図27は、実施の形態におけるセキュアアプリの監視処理のシーケンスを示す図である。
図28は、実施の形態における監視サーバー通知処理のシーケンスを示す図である。
図29は、実施の形態における監視情報変更処理のシーケンスを示す図である。
図30に、実施の形態における監視処理のフローチャートを示す。
図31に、実施の形態における監視変更処理のフローチャートを示す。
本実施の形態に係る監視装置としての統合ECU200は、それぞれがソフトウェア及び通信ログの少なくとも1つを監視対象として監視する3以上の監視部を備える。3以上の監視部は、第一の実行権限にて動作する第一の監視部と、第一の実行権限よりも信頼性が低い第二の実行権限にて動作する第二の監視部と、第二の実行権限と信頼性が同じ、または、第二の実行権限よりも信頼性が低い第三の実行権限にて動作する第三の監視部とを含む。統合ECU200は、信頼度の低い監視部のソフトウェアを少なくとも1つの信頼度の高い監視部から監視する監視の信頼チェーンを構築できるように、第一の監視部は、第二の監視部のソフトウェアを監視し、第一の監視部及び第二の監視部の少なくとも1つは、第三の監視部のソフトウェアを監視する。
図32は、実施の形態における統合ECUの構成図の詳細の変形例1を示す図である。図4では、仮想ソフトウェア基盤としてタイプ1のハイパーバイザHV100の利用を想定して記載しているが、タイプ2のハイパーバイザHV200を用いてもよい。この場合、ホストオペレーティングシステムHOS100がハイパーバイザHV200を起動し、ハイパーバイザHV200が仮想マシンを起動する。
図33は、実施の形態における統合ECUの構成図の詳細の変形例2を示す図である。図4では、ハイパーバイザHV100が3種類の仮想マシンを実行及び監視を実施する記載しているが、ハイパーバイザHV100がホストするコンテナ仮想マシンVM400がコンテナ仮想化基盤であるコンテナエンジンCE100を用いて、アプリケーション層を仮想化して、コンテナアプリCA100とコンテナアプリCA200とを動作させてもよい。
以上のように、本開示に係る技術の例示として実施の形態を説明した。しかしながら、本開示に係る技術は、これに限定されず、適宜、変更、置き換え、付加、省略等を行った実施の形態にも適用可能である。例えば、以下のような変形例も本開示の一実施態様に含まれる。
11 車載システム通信部
12 監視結果表示部
13 監視構成変更部
14 監視変更ルール変更部
15 監視情報変更部
20 車載システム
30 外部ネットワーク
40、41 CAN
50、51 イーサネット
200 統合ECU
300 ゲートウェイECU
400a ステアリングECU
400b ブレーキECU
500 ZoneECU
600a フロントカメラECU
600b リアカメラECU
A100 外部アプリ
A101 外部通信部
A102 外部アプリ実行部
A103、A203、A303 アプリ領域記憶部
A110、A210、A310 アプリ監視部
A111、A211、A311、VM111、VM211、VM311、HV111、SA111 監視対象取得部
A112、A212、A312、VM112、VM212、VM312、HV112、SA112 システム状態取得部
A113、A213、A313、VM113、VM213、VM313、HV113、SA113 監視部
A114、A214、A314、VM114、VM214、VM314、HV114、SA114 監視情報記憶部
A115、A215、A315、VM115、VM215、VM315、HV115、SA115 監視情報更新部
A116、A216、A316、VM116、VM216、VM316、HV116、SA116 監視結果通知部
A200 制御アプリ
A201 CAN通信部
A202 制御アプリ実行部
A300 映像アプリ
A301 イーサネット通信部
A302 映像アプリ実行部
CA100、CA200 コンテナアプリ
CA210 コンテナアプリ監視部
CE100 コンテナエンジン
HV100、HV200 ハイパーバイザ
HV101 仮想マシン通信部
HV102 ハイパーコール制御部
HV103 HV領域記憶部
HV110、HV210 HV監視部
HOS100 ホストオペレーティングシステム
HOS110 ホストOS監視部
SA100 セキュアアプリ
SA110 SA監視部
SA120 管理部
SA121 監視結果取得部
SA122 システム状態取得部
SA123 監視構成記憶部
SA124 監視変更ルール記憶部
SA125 監視情報変更部
SA126 監視サーバー通信部
SOS100 セキュアオペレーティングシステム
VM100 外部仮想マシン
VM101、VM201、VM301 アプリ通信部
VM102、VM202、VM302 システムコール制御部
VM103、VM203、VM303 VM領域記憶部
VM104、VM204、VM304 ハイパーコール呼出部
VM110、VM210、VM310、VM410 VM監視部
VM200 制御仮想マシン
VM300 映像仮想マシン
VM400 コンテナ仮想マシン
Claims (26)
- それぞれがソフトウェア及び通信ログの少なくとも1つを監視対象として監視する3以上の監視部を備え、
前記3以上の監視部は、第一の実行権限にて動作する第一の監視部と、前記第一の実行権限よりも信頼性が低い第二の実行権限にて動作する第二の監視部と、前記第二の実行権限と信頼性が同じ、または、前記第二の実行権限よりも信頼性が低い第三の実行権限にて動作する第三の監視部とを含み、
前記第一の監視部は、前記第二の監視部のソフトウェアを監視し、
前記第一の監視部及び前記第二の監視部の少なくとも1つは、前記第三の監視部のソフトウェアを監視する
監視装置。 - 前記3以上の監視部は、4以上の監視部を備え、
前記4以上の監視部は、前記第一の監視部と、前記第二の監視部と、前記第三の監視部と、前記第三の実行権限と信頼性が同じ、または、前記第三の実行権限よりも信頼性が低い第四の実行権限にて動作する第四の監視部とを含み、
前記第一の監視部、前記第二の監視部、及び、前記第三の監視部の少なくとも1つは、前記第四の監視部のソフトウェアを監視する
請求項1に記載の監視装置。 - 前記監視装置は、セキュアアプリ、仮想ソフトウェア基盤、及び、1以上の仮想マシン上にて動作し、
前記第一の実行権限は、セキュアアプリの実行権限、仮想ソフトウェア基盤の実行権限、及び、仮想マシンのカーネル実行権限のうちの1つであり、
前記第二の実行権限は、前記仮想ソフトウェア基盤の実行権限、前記仮想マシンのカーネル実行権限、及び、前記仮想マシンのユーザ権限のうちの1つであり、
前記第三の実行権限は、前記仮想マシンのカーネル実行権限、及び、前記仮想マシンのユーザ権限のうちの1つであり、
前記セキュアアプリの実行権限は、前記仮想ソフトウェア基盤の実行権限よりも信頼性が高く、
前記仮想ソフトウェア基盤の実行権限は、前記仮想マシンのカーネル実行権限よりも信頼性が高く、
前記仮想マシンのカーネル実行権限は、前記仮想マシンのユーザ権限よりも信頼性が高い
請求項1に記載の監視装置。 - 前記監視装置は、仮想ソフトウェア基盤及び2以上の仮想マシン上にて動作し、
前記仮想マシンに割り当てられた実行権限にて動作する監視部が2以上存在する場合、
前記仮想マシンに割り当てられた実行権限にて動作する2以上の監視部のうちの第一の仮想マシンの監視部は、前記2以上の監視部のうちの第二の仮想マシンの監視部のソフトウェアを監視対象に含み、
前記2以上の仮想マシンは、攻撃者によって改ざんされる可能性に応じて前記第一の仮想マシン及び前記第二の仮想マシンのいずれかに分類される
請求項1から3のいずれか1項に記載の監視装置。 - 前記監視装置は、セキュアアプリ、ホストオペレーティングシステム、1以上の仮想ソフトウェア基盤、及び、1以上の仮想マシン上、または、1以上のコンテナ仮想化基盤及び2以上のコンテナ上にて動作し、
前記第一の実行権限と、前記第二の実行権限と、前記第三の実行権限と、前記第四の実行権限とは、セキュアアプリの実行権限と、ホストオペレーティングシステムの実行権限と、仮想ソフトウェア基盤の実行権限と、仮想マシンのカーネル実行権限と、仮想マシンのユーザ実行権限と、コンテナの実行権限とのうちの1つであり、
同一の実行権限にて動作する仮想マシンの監視部が2以上存在する場合、
前記同一の実行権限にて動作する2以上の仮想マシンの2以上の監視部のうちの第一の仮想マシンの監視部は、前記2以上の仮想マシンの前記2以上の監視部のうちの第二の仮想マシンの監視部のソフトウェアを監視対象に含み、
前記2以上の仮想マシンは、攻撃者によって改ざんされる可能性に応じて前記第一の仮想マシン及び前記第二の仮想マシンのいずれかに分類され、
同一の実行権限にて動作するコンテナの監視部が2以上存在する場合、
前記同一の実行権限にて動作する2以上のコンテナの2以上の監視部のうちの第一のコンテナの監視部は、前記2以上のコンテナの前記2以上の監視部のうちの第二のコンテナの監視部のソフトウェアを監視対象に含み、
前記2以上のコンテナは、攻撃者によって改ざんされる可能性に応じて前記第一のコンテナ及び前記第二のコンテナのいずれかに分類される
請求項2に記載の監視装置。 - 前記3以上の監視部のそれぞれは、所定の時間経過、所定の外部ネットワーク接続時間経過、システム起動、システム再起動、外部ネットワーク接続確立、及び、外部デバイス接続、のうち少なくとも1つを含むイベントが発生したタイミングに応じて、前記監視対象の監視を開始する
請求項1から5のいずれか1項に記載の監視装置。 - 前記監視装置は、車載システム上において動作し、
前記3以上の監視部のそれぞれは、所定の走行時間経過、所定の停止時間経過、所定の走行距離経過、走行モードの切り替え、給油または給電の終了、車両診断の実施、及び、緊急アラートの発呼、のうち少なくとも1つを含むイベントが発生したタイミングに応じて、前記監視対象の監視を開始する
請求項1から5のいずれか1項に記載の監視装置。 - 前記3以上の監視部のそれぞれは、他の監視部の監視処理の実行回数、監視処理において異常と判定された回数、及び、監視処理において正常と判定された回数、のうち少なくとも1つの回数に到達したタイミングに応じて、前記監視対象の監視を開始する
請求項1から5のいずれか1項に記載の監視装置。 - 前記3以上の監視部のそれぞれは、前記監視対象がソフトウェアである場合、メモリまたはストレージに記憶されている前記監視対象であるソフトウェアのハッシュ値、マスク値、及び、複製値のうち少なくとも1つの情報を取得値として取得し、事前に定義された正解値である期待値と前記取得値とを比較し、前記期待値と前記取得値とが一致する場合に前記ソフトウェアが正常であると判定し、前記期待値と前記取得値とが一致しない場合に前記ソフトウェアが異常であると判定する
請求項1から8のいずれか1項に記載の監視装置。 - 前記ソフトウェアは、仮想ソフトウェア基盤のプログラム及び設定ファイルの組み合わせと、仮想マシンのカーネルプログラム及び設定ファイルの組み合わせと、仮想マシン上のユーザアプリのプログラム及び設定ファイルの組み合わせと、前記3以上の監視部のそれぞれのプログラム及び設定ファイルの組み合わせとのうち少なくとも1つの組み合わせを含む
請求項9に記載の監視装置。 - 前記3以上の監視部のそれぞれは、前記監視対象が通信ログである場合、
通信ログを取得し、
許可リストと、拒否リストと、正常時の統計情報とのうち少なくとも1つを用いて前記通信ログを検証し、
(i)前記許可リストに含まれる場合に前記通信ログが正常であると判定し、前記許可リストに含まれない場合に前記通信ログが異常であると判定する第一判定、(ii)前記拒否リストに含まれない場合に前記通信ログが正常であると判定し、前記拒否リストに含まれる場合に前記通信ログが異常であると判定する第二判定、及び、(iii)前記正常時の統計情報から逸脱していない場合に前記通信ログが正常であると判定し、前記正常時の統計情報から逸脱している場合に前記通信ログが異常であると判定する第三判定、のいずれか1つの判定を行う
請求項1から10のいずれか1項に記載の監視装置。 - 前記通信ログは、イーサネットと、CANプロトコルと、FlexRayプロトコルと、SOME/IPプロトコルと、SOME/IP-SDプロトコルと、システムコールと、ハイパーコールとのうち少なくとも一つを含む
請求項11に記載の監視装置。 - 前記3以上の監視部のそれぞれは、前記監視対象ごとに設定された優先度に応じて、前記監視対象の監視頻度と、前記監視対象の検証方法と、前記監視対象の選択方法のうち少なくとも1つを変更する
請求項1から12のいずれか1項に記載の監視装置。 - 前記優先度は、前記監視対象の実行権限と、前記3以上の監視部のうちの1つの監視部または前記監視が動作する仮想マシンが外部ネットワーク接続機能を有するか否かと、前記1つの監視部または前記監視が動作する仮想マシンが車両制御機能を有するか否かとのうち少なくとも1つに応じて設定される
請求項13に記載の監視装置。 - 前記監視装置は、さらに、前記監視装置が動作するシステムの状態またはイベントに応じて、監視情報に含まれる優先度と、前記監視対象に含まれる監視担当及び監視対象の組み合わせである監視構成とのうち少なくとも1つを変更する管理部を含む
請求項1から14のいずれか1項に記載の監視装置。 - 前記管理部は、外部ネットワーク接続中か否かと、外部ネットワーク接続確立イベントの発生の有無と、監視マシンのシステム状態と、前記監視部の監視結果と、異常を検知した監視部の実行権限と、異常を検知したソフトウェアの実行権限と、異常を検知した通信ログの宛先または送信元とのうち少なくとも1つに応じて、前記優先度を変更する
請求項15に記載の監視装置。 - 前記監視装置は、車載システム上において動作し、
前記管理部は、車両の走行状態に応じて、車両の制御機能を有する仮想マシンで動作する監視対象の優先度を変更し、
車両の走行状態は、停止中、手動運転中、高度運転支援中、及び、自動運転中のうちいずれかである
請求項15に記載の監視装置。 - 前記管理部は、前記監視構成の変更後であっても、信頼度の低い監視部のソフトウェアを前記信頼度の低い監視部よりも信頼度の高い監視部が監視する監視の信頼チェーンを構築できるように、監視構成を変更する
請求項15に記載の監視装置。 - 前記管理部は、外部ネットワーク接続中か否かと、外部ネットワーク接続確立イベントの発生の有無と、仮想マシンのシステム状態と、前記監視部の監視結果と、異常を検知した監視部の実行権限と、異常を検知したソフトウェアの実行権限と、異常を検知した通信ログの宛先または送信元とのうち少なくとも1つに応じて、監視構成を変更する
請求項15または18に記載の監視装置。 - 前記監視装置は、車載システム上において動作し、
前記管理部は、車両の走行状態に応じて、車両の制御機能を有する仮想マシンに関係する監視構成を変更し、
前記車両の走行状態は、停止中、手動運転中、高度運転支援中、自動運転中のうちいずれかである
請求項15または18に記載の監視装置。 - 前記管理部は、(i)予め定義された2以上の監視構成から一つを選択する手段と、(ii)2以上の監視部を頂点とし、監視担当を道の始点とし、監視対象を道の終点とする有向グラフとして前記監視構成を記憶し、所定のアルゴリズムで有向グラフを再構築する手段と、(iii)前記2以上の監視部をノードとし、前記監視担当を親ノードとし、前記監視対象を子ノードとするツリー構造として前記監視構成を記憶し、所定のアルゴリズムでツリー構造を再構築する手段と、のうち少なくとも1つの手段で前記監視構成を変更する
請求項15、及び、19から20のいずれかの1項に記載の監視装置。 - 前記監視装置は、さらに、監視サーバーへ監視結果を通知する監視サーバー通信部を備える
請求項1に記載の監視装置。 - 監視装置と監視サーバーとで構成される監視システムであって、
前記監視装置は、
それぞれがソフトウェア及び通信ログの少なくとも1つを監視対象として監視する3以上の監視部と、
監視部識別子と、監視対象識別子と、正常判定時刻と、異常判定時刻と、のうち少なくとも2つを監視結果として前記監視サーバーへ送信する監視サーバー通信部と、を備え、
前記3以上の監視部は、第一の実行権限にて動作する第一の監視部と、前記第一の実行権限よりも信頼性が低い第二の実行権限にて動作する第二の監視部と、前記第二の実行権限と信頼性が同じ、または、前記第二の実行権限よりも信頼性が低い第三の実行権限にて動作する第三の監視部とを含み、
前記第一の監視部は、前記第二の監視部のソフトウェアを監視し、
前記第一の監視部及び前記第二の監視部の少なくとも1つは、前記第三の監視部のソフトウェアを監視し、
前記監視サーバーは、前記監視結果を受信し、グラフィカルユーザーインターフェース上に前記監視結果を表示する監視結果表示部を備える
監視システム。 - 前記監視結果表示部は、システムアーキテクチャに関連付けて前記監視結果を表示し、異常を検知した監視部または異常が検知された監視対象を強調する手段と、所定のタイムラインに関連付けて監視結果を表示し、正常判定時刻または異常判定時刻を強調する手段とのうち少なくとも1つの手段でグラフィカルユーザーインターフェース上に監視結果を表示する
請求項23に記載の監視システム。 - 前記監視サーバーは、さらに、前記監視対象と、前記監視対象を監視する監視部と、前記監視対象の優先度と、前記優先度に対応した監視方法とのうち少なくとも1つの監視情報の変更を受け付け、前記監視装置に前記変更を要求する監視情報変更部を備え、
前記監視装置は、さらに、前記監視情報変更部の要求に応じて前記監視情報を更新する監視情報更新部を備える
請求項24に記載の監視システム。 - 3以上の監視部を備える監視装置によって実行される監視方法であって、
前記3以上の監視部は、第一の実行権限にて動作する第一の監視部と、前記第一の実行権限よりも信頼性が低い第二の実行権限にて動作する第二の監視部と、前記第二の実行権限と信頼性が同じ、または、前記第二の実行権限よりも信頼性が低い第三の実行権限にて動作する第三の監視部とを含み、
前記第一の監視部は、前記第二の監視部のソフトウェアを監視し、
前記第一の監視部及び前記第二の監視部の少なくとも1つは、前記第三の監視部のソフトウェアを監視する
監視方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP22815997.6A EP4350548A4 (en) | 2021-05-31 | 2022-05-27 | MONITORING DEVICE, MONITORING SYSTEM AND MONITORING METHOD |
JP2022567193A JP7189397B1 (ja) | 2021-05-31 | 2022-05-27 | 監視装置、監視システム及び監視方法 |
CN202280036869.4A CN117355832A (zh) | 2021-05-31 | 2022-05-27 | 监视装置、监视系统及监视方法 |
US18/519,690 US20240086290A1 (en) | 2021-05-31 | 2023-11-27 | Monitoring device, monitoring system, and monitoring method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JPPCT/JP2021/020677 | 2021-05-31 | ||
PCT/JP2021/020677 WO2022254519A1 (ja) | 2021-05-31 | 2021-05-31 | 監視装置、監視システムおよび監視方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/519,690 Continuation US20240086290A1 (en) | 2021-05-31 | 2023-11-27 | Monitoring device, monitoring system, and monitoring method |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022255247A1 true WO2022255247A1 (ja) | 2022-12-08 |
Family
ID=84323955
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2021/020677 WO2022254519A1 (ja) | 2021-05-31 | 2021-05-31 | 監視装置、監視システムおよび監視方法 |
PCT/JP2022/021731 WO2022255247A1 (ja) | 2021-05-31 | 2022-05-27 | 監視装置、監視システム及び監視方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2021/020677 WO2022254519A1 (ja) | 2021-05-31 | 2021-05-31 | 監視装置、監視システムおよび監視方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20240086290A1 (ja) |
EP (1) | EP4350548A4 (ja) |
JP (2) | JP7189397B1 (ja) |
CN (1) | CN117355832A (ja) |
WO (2) | WO2022254519A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022254519A1 (ja) * | 2021-05-31 | 2022-12-08 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 監視装置、監視システムおよび監視方法 |
CN118103820A (zh) * | 2022-09-27 | 2024-05-28 | 松下汽车电子系统株式会社 | 信息处理装置、信息处理装置的控制方法以及程序 |
WO2024070141A1 (ja) * | 2022-09-27 | 2024-04-04 | パナソニックオートモーティブシステムズ株式会社 | 情報処理装置、情報処理装置の制御方法及びプログラム |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019057167A (ja) * | 2017-09-21 | 2019-04-11 | 大日本印刷株式会社 | コンピュータプログラム、デバイス及び判定方法 |
JP2019144785A (ja) | 2018-02-20 | 2019-08-29 | 富士通株式会社 | 監視プログラム、監視装置及び監視方法 |
WO2020004315A1 (ja) * | 2018-06-27 | 2020-01-02 | 日本電信電話株式会社 | 異常検知装置、および、異常検知方法 |
WO2020026693A1 (ja) * | 2018-07-30 | 2020-02-06 | 株式会社デンソー | センター装置、表示装置、車両状態の特定結果表示システム、車両状態の特定結果送信プログラム及び車両状態の特定結果表示プログラム |
WO2021014539A1 (ja) * | 2019-07-22 | 2021-01-28 | 日本電気株式会社 | セキュリティ管理装置、セキュリティ管理方法、及び非一時的なコンピュータ可読媒体 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050132122A1 (en) * | 2003-12-16 | 2005-06-16 | Rozas Carlos V. | Method, apparatus and system for monitoring system integrity in a trusted computing environment |
WO2010092830A1 (ja) * | 2009-02-16 | 2010-08-19 | パナソニック株式会社 | 改竄監視システム、管理装置及び改竄管理方法 |
WO2022254519A1 (ja) * | 2021-05-31 | 2022-12-08 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 監視装置、監視システムおよび監視方法 |
-
2021
- 2021-05-31 WO PCT/JP2021/020677 patent/WO2022254519A1/ja active Application Filing
-
2022
- 2022-05-27 JP JP2022567193A patent/JP7189397B1/ja active Active
- 2022-05-27 EP EP22815997.6A patent/EP4350548A4/en active Pending
- 2022-05-27 WO PCT/JP2022/021731 patent/WO2022255247A1/ja active Application Filing
- 2022-05-27 CN CN202280036869.4A patent/CN117355832A/zh active Pending
- 2022-11-02 JP JP2022176683A patent/JP7253663B2/ja active Active
-
2023
- 2023-11-27 US US18/519,690 patent/US20240086290A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019057167A (ja) * | 2017-09-21 | 2019-04-11 | 大日本印刷株式会社 | コンピュータプログラム、デバイス及び判定方法 |
JP2019144785A (ja) | 2018-02-20 | 2019-08-29 | 富士通株式会社 | 監視プログラム、監視装置及び監視方法 |
WO2020004315A1 (ja) * | 2018-06-27 | 2020-01-02 | 日本電信電話株式会社 | 異常検知装置、および、異常検知方法 |
WO2020026693A1 (ja) * | 2018-07-30 | 2020-02-06 | 株式会社デンソー | センター装置、表示装置、車両状態の特定結果表示システム、車両状態の特定結果送信プログラム及び車両状態の特定結果表示プログラム |
WO2021014539A1 (ja) * | 2019-07-22 | 2021-01-28 | 日本電気株式会社 | セキュリティ管理装置、セキュリティ管理方法、及び非一時的なコンピュータ可読媒体 |
Non-Patent Citations (1)
Title |
---|
See also references of EP4350548A4 |
Also Published As
Publication number | Publication date |
---|---|
US20240086290A1 (en) | 2024-03-14 |
JP7253663B2 (ja) | 2023-04-06 |
JPWO2022255247A1 (ja) | 2022-12-08 |
WO2022254519A1 (ja) | 2022-12-08 |
EP4350548A1 (en) | 2024-04-10 |
CN117355832A (zh) | 2024-01-05 |
EP4350548A4 (en) | 2024-08-28 |
JP2023002832A (ja) | 2023-01-10 |
JP7189397B1 (ja) | 2022-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7194396B2 (ja) | セキュアロックダウンを実装するように構成された関連装置を有する特別にプログラムされたコンピューティングシステムおよびその使用方法 | |
JP7189397B1 (ja) | 監視装置、監視システム及び監視方法 | |
US20240311481A1 (en) | Secure controller operation and malware prevention | |
US11509666B2 (en) | Automated security policy generation for controllers | |
JP7520913B2 (ja) | 車載ネットワークに接続された構成要素の悪用を検出するシステムおよび方法 | |
CN112653655B (zh) | 汽车安全通信控制方法、装置、计算机设备及存储介质 | |
JP7584748B2 (ja) | セキュアロックダウンを実装するように構成された関連装置を有する特別にプログラムされたコンピューティングシステムおよびその使用方法 | |
US12139169B2 (en) | System and method for detecting exploitation of a component connected to an in-vehicle network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 2022567193 Country of ref document: JP Kind code of ref document: A |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22815997 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 202280036869.4 Country of ref document: CN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2022815997 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2022815997 Country of ref document: EP Effective date: 20240102 |