WO2021117665A1 - 電子機器および電子機器の攻撃検知方法 - Google Patents

電子機器および電子機器の攻撃検知方法 Download PDF

Info

Publication number
WO2021117665A1
WO2021117665A1 PCT/JP2020/045419 JP2020045419W WO2021117665A1 WO 2021117665 A1 WO2021117665 A1 WO 2021117665A1 JP 2020045419 W JP2020045419 W JP 2020045419W WO 2021117665 A1 WO2021117665 A1 WO 2021117665A1
Authority
WO
WIPO (PCT)
Prior art keywords
execution
electronic device
predetermined
feature value
processor
Prior art date
Application number
PCT/JP2020/045419
Other languages
English (en)
French (fr)
Inventor
健一 新保
鳥羽 忠信
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to EP20897866.8A priority Critical patent/EP4075310A4/en
Priority to US17/642,793 priority patent/US12086240B2/en
Publication of WO2021117665A1 publication Critical patent/WO2021117665A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Definitions

  • the present invention relates to an electronic device and an attack detection method for the electronic device.
  • the present invention claims the priority of application number 2019-225330 of the Japanese patent filed on December 13, 2019, and for designated countries that are permitted to be incorporated by reference to the literature, the contents described in the application are as follows. Incorporated into this application by reference.
  • Patent Document 1 describes signatures (feature values) obtained from system parameters (number of logged-in users, web hit rate, number of received packets, CPU operating rate, login error, parity error, etc.) that can be manually collected for a server. A technique for detecting an abnormal state by monitoring a change over time is described.
  • Patent Document 1 The technology described in Patent Document 1 described above does not monitor the execution state inside the processor, and it is difficult to detect attacks on a processor-by-processor basis, including tampering at the kernel level.
  • An object of the present invention is to detect in real time abnormal operation due to malware infection or malicious attack even in an electronic device having a relatively inferior processing capacity.
  • the present application includes a plurality of means for solving at least a part of the above problems, and examples thereof are as follows.
  • One aspect of the present invention is an electronic device that receives an execution code string output from a processor and at least distinguishes between an execution address of an OS (Operating System) user program area and an execution address of a kernel area.
  • the execution code identification unit and the determination unit that determines that there is an attack when a predetermined feature value obtained from the identification result by the execution code identification unit is collated with a predetermined expected value at a predetermined timing and there is a difference of a predetermined value or more.
  • the determination unit determines that there is an attack, the determination unit notifies the processor of a predetermined abnormality notification signal.
  • IoT Internet of Things
  • embedded devices such as connected cars, PLCs, and industrial robots
  • Security damage such as information theft due to malware infection and use of botnets has become apparent.
  • a firewall is installed at the boundary of the network to prevent intrusion of suspicious packets and unauthorized access, and eavesdropping and falsification of communication information by encrypted communication and authentication using a digital certificate.
  • the method to prevent is effective.
  • IoT devices have limited manufacturing / operation costs and performance resources, it is generally difficult to implement the same security measures as servers.
  • attacks that directly falsify the boot files of processors such as IoT devices equipped with an OS have appeared. Therefore, it is becoming important to detect and recover from malicious attacks on processors by monitoring the operating status of IoT devices themselves, rather than completely stopping attacks and virus infections.
  • Electronic devices including IoT devices to which the technology according to the present invention is applied can detect malware infection and abnormal operations due to malicious attacks in real time without deteriorating the processing performance of the processor.
  • an IoT device that has become an illegal operating state such as a botnet due to malware infection in a short time and notify the host system, etc.
  • FIGS. 1 to 4 based on the execution code information of the processor, the operation in the user program execution area (hereinafter, also referred to as “user space”) and the kernel area (hereinafter, also referred to as “kernel space”).
  • user space user program execution area
  • kernel area hereinafter, also referred to as “kernel space”
  • An IoT device (electronic device) with an attack detection function, which can detect an attack event on the processor such as program tampering or unauthorized operation from the outside, will be described as an example by monitoring the operation separately from the above.
  • the IoT is called the "Internet of Things" in Japanese, and in general, things that were not previously connected to the Internet (sensor devices, actuators, buildings, cars, electronic devices, etc.) are servers through the network. By connecting to the Internet of Things or the cloud, it is possible to process, transform, analyze, and link previously buried data. In this application as well, the term IoT is used as a similar concept.
  • FIG. 1 is a diagram showing a configuration example of an IoT device which is an electronic device in the first embodiment.
  • the IoT device 100 includes a processor 101 that performs main processing (processing related to the main functions of the IoT device 100) and an attack detection unit 1 that detects abnormal behavior of the processor due to malware infection or hijacking. ..
  • the processor 101 collects external world information (measurement information of physical properties) around the IoT device 100 digitized by the sensor module as sensor information, and the cloud is used via the network. It is to transfer to a server or the like.
  • the processor 101 is an execution code output interface that sequentially outputs one or a plurality of CPU cores 102, a memory 106 for storing an execution program and data, and an execution code executed by the CPU core 102 to the outside of the processor.
  • communication interface (IF) unit 104 that serves as a communication unit for communicating with other devices connected to the external network
  • interrupt interface (IF) unit 105 for receiving interrupt signals from the outside, sensors and actuators. It is configured to include an external IO unit 107 for connecting an external input / output signal such as.
  • the processor 101 performs arithmetic processing, statistical processing, AI (artificial intelligence) processing, etc. on the sensor information according to the program stored in the memory 106. Further, an OS such as Linux is mounted on the processor 101, and these processes are divided into small processes, which are scheduled and executed by a plurality of CPU cores 102 in the processor.
  • the execution code output interface 103 sequentially outputs information including the execution address and exception processing processed by the CPU core 102 to the attack detection unit 1 outside the processor 101 as the execution code string 101a.
  • the attack detection unit 1 includes an execution code identification unit 2, a kernel space feature value generation unit 3, a user space feature value generation unit 4, a collection time control unit 5, a determination unit 6, and an expected value memory 7. ..
  • the attack detection unit 1 detects an attack using the execution code string 101a output from the processor 101.
  • the execution code identification unit 2 identifies and outputs the execution address 2a in the kernel space, the execution address 2b in the user space, and the interrupt code 2c due to exception handling from the information in the execution code string 101a.
  • the execution address 2a in the kernel space and the execution address 2b in the user space indicate the address when calling an instruction or data in the virtual address space managed by the OS and the address information of the branch destination.
  • the kernel space feature value generation unit 3 generates a predetermined feature value using the input execution address 2a in the kernel space. For example, the kernel space feature value generation unit 3 counts the number of accesses of the execution address 2a in the kernel space and outputs the kernel space feature value 3a to the determination unit 6.
  • the user space feature value generation unit 4 also generates a predetermined feature value using the input execution address 2b in the user space. For example, the user space feature value generation unit 4 counts the number of accesses of the execution address 2b in the user space and outputs it to the determination unit 6 as the user space feature value 4a.
  • the collection time control unit 5 When the interrupt code 2c is input, the collection time control unit 5 generates a feature value generation signal 5a, and inputs the feature value generation signal 5a to the kernel space feature value generation unit 3 and the user space feature value generation unit 4, respectively. Control the output timing.
  • FIG. 2 is a diagram showing an example of data and feature values of the execution code string in the first embodiment.
  • the graph in the figure is an image for explaining the generation of feature values based on the execution address 2a in the kernel space identified from the execution code string 101a, the execution address 2b in the user space, and the interrupt code 2c.
  • the vertical axis is the virtual address and the horizontal axis is the execution address detection cycle, that is, the operating time of the processor.
  • the interrupt code 2c is plotted in chronological order.
  • the virtual address space is divided into a user space address area and a kernel space address area depending on the OS settings. That is, from the execution address, it is possible to determine whether the process in the kernel space has been executed or the process in the user program space has been executed. Further, according to the interrupt code 2c, it can be determined that a kernel periodic interrupt or other exception handling has occurred.
  • the kernel space feature value generation unit 3 and the user space feature value generation unit 4 that have received the feature value generation signal 5a from the collection time control unit 5 have collected information on the number of execution addresses collected so far. Is output as a feature value. That is, the interrupt code generation interval is the execution address collection interval in the kernel space feature value generation unit 3 and the user space feature value generation unit 4.
  • the kernel space feature value generation unit 3 and the user space feature value generation unit 4 have an execution address 2a in the kernel space and an execution address 2b in the user space collected in the collection section. Each feature value generated from the data is output.
  • FIG. 3 is a diagram showing a configuration example of a determination unit and an expected value memory.
  • the determination unit 6 includes a kernel space feature value comparison unit 60 that determines the normality of the input kernel space feature value 3a, and a user space feature value comparison unit 61 that determines the normality of the input user space feature value 4a. , Anomalous level determination unit 62, and the like.
  • the expected value memory 7 stores a plurality of feature values during normal operation that have not been infected with malware or attacks as expected values in advance as a kernel space expected value data group 71 and a user space expected value data group 72, respectively. ..
  • the determination unit 6 collates each of the input kernel space feature value 3a and user space feature value 4a with the kernel space expected value data group 71 and the user space expected value data group 72 read from the expected value memory 7.
  • the kernel space feature value comparison unit 60 outputs a mismatch signal 60a when the input kernel space feature value 3a and any of the expected value data of the kernel space expected value data group 71 do not match, and the abnormality level determination unit 62 Enter in. Further, the user space feature value comparison unit 61 outputs a mismatch signal 61a when the input user space feature value 4a and any expected value data of the user space expected value data group 72 do not match, and determines the abnormality level. Input to unit 62.
  • the abnormality level determination unit 62 determines the abnormality level according to the combination of the input mismatch signal 60a and the mismatch signal 61a, and generates an abnormality notification signal (interrupt signal) 6a to the processor 101.
  • the abnormality notification signal 6a may be composed of a plurality of bits of signals to represent an abnormality level.
  • FIG. 4 is a diagram showing an example of the flow of monitoring and restoration processing in the first embodiment.
  • the processor 101 and the execution code output interface 103 start outputting the execution code string 101a immediately after the initialization process including the booting of the OS and the software reset is completed.
  • the attack detection unit 1 receives the execution code string 101a output from the monitored processor 101.
  • the execution code identification unit 2 identifies the execution address 2a in the kernel space, the execution address 2b in the user space, and the interrupt code 2c from the received execution code string 101a (step S100).
  • the collection time control unit 5 generates a feature value generation signal 5a at the timing when the interrupt code 2c is input, and inputs the feature value generation signal 5a to the kernel space feature value generation unit 3 and the user space feature value generation unit 4 (step S101). ..
  • the kernel space feature value generation unit 3 and the user space feature value generation unit 4 output the generated feature value by the feature value generation signal 5a (step S102).
  • the kernel space feature value generation unit 3 and the user space feature value generation unit 4 that have received the feature value generation signal 5a from the collection time control unit 5 may have the feature value generation signal 5a received last time.
  • a feature value is generated based on the execution addresses collected so far, and the generated feature value is output to the determination unit 6.
  • the determination unit 6 collates each feature value of the kernel space and the user space with the expected value data group stored in the expected value memory 7 in advance (step S103).
  • step S104 determines whether or not any of the mismatch signals 60a and 61a is output. If neither is output (in the case of "NO" in step S104), the determination unit 6 returns the control to step S100.
  • Step S104 When either of the mismatch signals 60a and 61a is output (when “YES” in step S104), the determination unit 6 notifies the processor 101 of the abnormality notification signal 6a by the combination of the mismatched spaces. (Step S105).
  • the abnormality level determination unit 62 resets the software to the processor 101. Output the requested error notification signal.
  • the abnormality level determination unit 62 disconnects the IoT device 100 from the network and displays the boot file and ROM data. An abnormality notification signal for checking is output to the processor 101.
  • the processor 101 executes the recovery process of the CPU core 102 depending on the type of the abnormality notification signal (step S106). Specifically, as described above, the processor 101 performs a software reset or disconnects the IoT device 100 from the network and checks the boot file and ROM data.
  • the above is the flow of monitoring and restoration processing according to the first embodiment.
  • the operation in the user area and the operation in the kernel area are separately monitored, and the processor such as program tampering or unauthorized operation from the outside is monitored.
  • Attack events can be detected by light processing. In other words, it is possible to improve reliability and security resistance to detect abnormal operations due to malware infection or malicious attacks in real time even for electronic devices with relatively inferior processing power.
  • the attack detection unit 1 may be realized by a device (coprocessor) different from the processor, or a similar processor may be prepared and mutually monitored.
  • the processor 101 and the attack detection unit 1 may be realized in one chip by using FPGA (Field-Programmable Gate Array) or ASIC (Application specific Integrated Circuit).
  • FPGA Field-Programmable Gate Array
  • ASIC Application specific Integrated Circuit
  • the value of the ratio of the number of execution addresses to the number of execution addresses may be used as a feature value. Further, the kernel space feature value comparison unit 60 and the user space feature value comparison unit 61 output a mismatch signal when the input feature value does not match any of the expected value data of the expected value data group. Not limited to this, a mismatch signal may be output when a predetermined difference is exceeded.
  • the above is the IoT device with an attack detection function, which is the electronic device according to the first embodiment.
  • an electronic device having a relatively inferior processing capacity can detect an abnormal operation due to a malware infection or a malicious attack in real time.
  • the present invention is not limited to the electronic device according to the first embodiment.
  • program tampering and unauthorized operations from the outside can be performed.
  • the attack event on the processor may be detected.
  • Such a second embodiment will be described with reference to FIGS. 5 to 8.
  • the electronic device according to the second embodiment is basically the same as the electronic device according to the first embodiment, but there are some differences. The following will mainly explain the differences.
  • FIG. 5 is a diagram showing a configuration example of the IoT device 100'which is an electronic device in the second embodiment.
  • the IoT device 100' includes an attack detection unit 10.
  • the attack detection unit 10 includes an execution code identification unit 2, a kernel space feature value generation unit 11, a user space feature value generation unit 12, an interrupt feature value generation unit 13, a determination unit 14, and an expected value memory 15. Including.
  • the kernel space feature value generation unit 11 generates a predetermined feature value using the input execution address 2a in the kernel space. For example, the kernel space feature value generation unit 11 counts the number of accesses of the execution address 2a in the kernel space and outputs the kernel space feature value 11a to the determination unit 14.
  • the user space feature value generation unit 12 also generates a predetermined feature value using the input execution address 2b in the user space. For example, the user space feature value generation unit 12 counts the number of accesses of the execution address 2b in the user space and outputs it to the determination unit 14 as the user space feature value 12a.
  • the interrupt feature value generation unit 13 generates a predetermined feature value using the input interrupt code 2c. For example, the interrupt feature value generation unit 13 counts the number of interrupts and outputs the feature value 13a to the determination unit 14.
  • the attack detection unit 10 has an internal time measuring unit that can set an arbitrary time Ta, and manages the generation cycle of each feature value at the arbitrary time Ta.
  • FIG. 6 is a diagram showing an example of data and feature values of the execution code string in the second embodiment.
  • the graph in the figure is an image for explaining the generation of feature values based on the execution address 2a in the kernel space identified from the execution code string 101a, the execution address 2b in the user space, and the interrupt code 2c.
  • the vertical axis is the virtual address and the horizontal axis is the execution address detection cycle, that is, the operating time of the processor.
  • the interrupt code 2c is plotted in chronological order.
  • the number of times is output as a feature value.
  • the determination unit 14 reads from the expected value memory 15 for each of the input kernel space feature value 11a, user space feature value 12a, and interrupt feature value 13a, and the kernel space expected value data group 71 and user space expected value data. Compare with group 72 and interrupt expected value data group.
  • the determination unit 14 outputs a mismatch signal when there is a mismatch between the input feature value 11a in the kernel space and any expected value data of the expected value data group 71 in the kernel space. Further, the determination unit 14 outputs a mismatch signal when the input user space feature value 12a and any expected value data of the user space expected value data group 72 do not match. Further, the determination unit 14 outputs a mismatch signal when the feature value 13a of the input interrupt and any expected value data of the expected interrupt value data group do not match.
  • the determination unit 14 sets the combination.
  • the abnormality notification signal 14a indicating the abnormal operation of the processor is output.
  • the expected value memory 15 has a plurality of feature values during normal operation that have not been infected with malware or an attack as expected values in advance, such as a kernel space expected value data group 71, a user space expected value data group 72, and an expected interrupt value. It is stored as a data group.
  • FIG. 7 is a diagram showing an example of a flow of monitoring and restoration processing in the second embodiment.
  • the processor 101 and the execution code output interface 103 start outputting the execution code string 101a immediately after the initialization process including the booting of the OS and the software reset is completed.
  • the attack detection unit 10 receives the execution code string 101a output from the monitored processor 101.
  • the execution code identification unit 2 identifies the execution address 2a in the kernel space, the execution address 2b in the user space, and the interrupt code 2c from the received execution code string 101a (step S200).
  • the execution code identification unit 2 sets the identified three types of information (execution address 2a in kernel space, execution address 2b in user space, and interrupt code 2c) in the internal time interval (arbitrary time). Collect in Ta) (step S201).
  • the generation unit of each feature value generates the feature values of the collected information (execution address 2a in the kernel space, execution address 2b in the user space, and interrupt code 2c), respectively (step S202).
  • the determination unit 14 collates each feature value with each expected value data group stored in the expected value memory 15 (step S203).
  • the determination unit 14 determines whether or not any of the mismatch signals has been output (step S204). If neither is output (in the case of "NO" in step S204), the determination unit 14 returns the control to step S200.
  • the determination unit 14 notifies the processor 101 of the abnormality notification signal 14a by the mismatched space or the combination of interrupt codes. (Step S205).
  • the determination unit 14 requests the processor 101 to reset the software. Notify the abnormality notification signal 14a.
  • the determination unit 14 disconnects the IoT device 100'from the network and checks the boot file and ROM data.
  • the abnormality notification signal 14a is output to the processor 101.
  • the determination unit 14 disconnects the IoT device 100'from the network and sends the boot file and ROM data.
  • An abnormality notification signal 14a that causes a check and requests a software reset is output to the processor 101.
  • the abnormality notification signal 14a may be finely set according to the mismatched space or the combination of interrupt codes, and this may be notified to finely change the countermeasures.
  • the processor 101 executes the recovery process of the CPU core 102 depending on the type of the abnormality notification signal (step S206). Specifically, as described above, the processor 101 performs a software reset or disconnects the IoT device 100 from the network and checks the boot file and ROM data.
  • the above is the flow of monitoring and restoration processing according to the second embodiment.
  • the operation in the user area, the operation in the kernel area, and the interrupt code are separately monitored and tampered with. Attack events on the processor such as unauthorized operations from the outside can be detected by light processing. In other words, it is possible to improve reliability and security resistance to detect abnormal operations due to malware infection or malicious attacks in real time even for electronic devices with relatively inferior processing power.
  • the arbitrary time Ta is not limited to fixed, and may fluctuate depending on the external environment or the like.
  • IoT equipment used in a factory it may be changed depending on the operating environment of the factory (operating date and time, day of the week, season, temperature, etc.).
  • the operating environment of the factory operating date and time, day of the week, season, temperature, etc.
  • an in-vehicle IoT device it may be changed depending on whether the vehicle is running or stopped.
  • FIG. 8 is a diagram showing another configuration example of the attack detection unit according to the second embodiment.
  • the attack detection unit 20 further includes a collection time control unit 5 (controlling the generation timing of the feature value at a timing corresponding to the generation of the interrupt code 2c) according to the first embodiment.
  • the attack detection unit 20 can make a finer abnormality determination.
  • the interrupt feature value is not the number of interrupts but the interrupt occurrence interval (time) as the feature value.
  • the expected value data in the expected value memory 23 of this other example may be stored so as to individually determine each of the three types of feature values.
  • the kernel space or the user space when the interrupt generation intervals are the same.
  • the kernel space feature value and the user space feature value may be associated with the interrupt generation interval to perform a mismatch determination.
  • the feature values of the kernel space, the user space, and the interrupt are directly compared with the expected values, but the determination unit 14 is not limited to this, and the determination unit 14 determines the number of execution addresses in the user program area and the kernel as predetermined feature values.
  • the value of the ratio of the number of execution addresses in the area to the number of interrupts or the interval at which interrupts occur may be used as a feature value.
  • the determination unit 14 outputs a mismatch signal when the input feature value does not match any expected value data of the expected value data group, but the present invention is not limited to this, and when the difference exceeds a predetermined difference.
  • a mismatch signal may be output.
  • the attack detection unit 20 can make a finer abnormality determination.
  • the present invention is not limited to the electronic devices according to the first embodiment, the second embodiment and other examples thereof.
  • An example of the IoT device 100 ′′ according to the third embodiment will be described with reference to FIG.
  • the electronic device according to the third embodiment is basically the same as the electronic device according to the second embodiment, but there are some differences. The following will mainly explain the differences.
  • FIG. 9 is a diagram showing a configuration example of an IoT device which is an electronic device according to the third embodiment.
  • the IoT device 100 ′′ includes an attack detection unit 30.
  • the attack detection unit 30 includes an execution code identification unit 2, a kernel space feature value generation unit 11, a user space feature value generation unit 12, an interrupt feature value generation unit 13, a selector 31, a determination unit 32, and an expected value. Includes memory 33.
  • the external IO unit 107 related to the processor 101 sends a mode switching signal 107a to the selector 31, the determination unit 32, and the expected value memory 33.
  • the attack detection unit 30 is provided with two types of operation modes, a calibration mode and a normal determination mode, and when the mode switching signal 107a is received, the operation mode is switched.
  • the IoT device 100 ′′ is calibrated using the feature values collected during normal operation, that is, it is operated in a calibration mode in which the expected value memory 33 is trained, and the mode is set at the time of shipment.
  • the operation mode can be switched to the normal determination mode for shipment.
  • the operation mode switching control is basically performed from the processor 101.
  • the mode switching signal 107a is input to the selector 31 (also referred to as the selection unit), the determination unit 32, and the expected value memory 33 of the attack detection unit 30.
  • the selector 31 sends the generated feature value to the determination unit 32 if the operation mode is the normal determination mode, and sends the generated feature value to the expected value memory 33 if the operation mode is the calibration mode. That is, the selector 31 selectively sends the feature value to either the determination unit 32 or the expected value memory 33 according to the operation mode.
  • the selector 31 switches the port that outputs the kernel space feature value 11a, the user space feature value 12a, and the interrupt feature value 13a.
  • the selector 31 switches to output each feature value from the port 31a on the determination unit 32 side, and in the calibration mode, outputs each feature value from the port 31b on the expected value memory 33 side.
  • the determination unit 32 stops the determination process so that an erroneous abnormality notification is not output to the processor 101, and does not output the abnormality notification signal 32a.
  • the expected value memory 33 When the expected value memory 33 receives each generated feature value from the port 31b in the calibration mode, the expected value memory 33 searches in the memory, and if the same value is not already stored, a new feature is added to the free memory area. Add values and store them. While operating in the calibration mode, the expected value memory 33 repeats the above operation and stores (learns) the feature values generated during the operation. When the mode switching signal 107a is received, the expected value memory 33 releases the calibration mode and switches to the normal determination mode. In the normal determination mode, the expected value memory 33 passes all the stored feature values to the determination unit 32.
  • the above is the IoT device 100 ′′ according to the third embodiment.
  • the IoT device 100 ′′ according to the third embodiment has a function of automatically eliminating duplication and accumulating feature values generated during the operation of the processor 101 in the expected value memory 33, for example, of the processor 101. Even if the program is changed, it can be automatically adjusted to a new feature value by operating it in the calibration mode once.
  • the programs will be collectively updated by remote control, such as changing the connected sensor and changing the arithmetic processing for the acquired data.
  • remote control such as changing the connected sensor and changing the arithmetic processing for the acquired data.
  • the calibration function is not limited to this, and the expected value may be specified and calibrated by performing simple statistical processing on the acquired actual value.
  • the median value can be adopted, or the average value can be adopted.
  • it may be stored as an individual table according to the external environment (for example, date and time or day of the week), and the expected value data group may be switched by switching the table according to the external environment at the time of operation. By doing so, it is possible to exclude large fluctuations in the expected value.
  • the present invention is not limited to the electronic device according to the first embodiment, the second embodiment, another example thereof, and the third embodiment.
  • it is not limited to the IoT device, and may be applied to an ECU (Electronic Control Unit) mounted on a vehicle.
  • ECU Electronic Control Unit
  • An example of the ECU according to the fourth embodiment will be described with reference to FIG.
  • the electronic device according to the fourth embodiment is basically the same as the electronic device according to the third embodiment, but there are some differences. The following will mainly explain the differences.
  • the attack detection unit 30' is included in the processor 201. Further, instead of the CPU core, a core group 202 including a plurality of CPUs is included. Further, the mode switching signal 107a is passed to the selector 31, the determination unit 32, and the expected value memory 33 via the shared memory unit 207.
  • the attack detection unit 30' includes a core management unit 34, and the determination unit 32 sends the abnormality notification signal 32a to the core management unit 34 instead of the interrupt IF unit 105.
  • the core management unit 34 sends a control signal 34a for the operation of each core of the core group 202 via an interrupt IF205 to isolate a specific core from the core group 202, or causes the core to participate in the core group 202.
  • the core management unit 34 receives the abnormality notification signal 32a output from the determination unit 32, the core management unit 34 isolates the abnormal core from the core group 202 to avoid propagation of the abnormality to the processor 201.
  • the ECU of the vehicle controls in real time and plays an important role in ensuring safety, so it is important to control damage in the minimum range when an abnormality occurs and to recover quickly.
  • attack detection unit 30'itself can also be carried by a specific core constituting the core group 202.
  • the above is the ECU which is the electronic device according to the fourth embodiment. According to the electronic device according to the fourth embodiment, it is possible to quickly detect an abnormality in the mounted vehicle, minimize the influence, and quickly recover the vehicle.
  • each of the above-mentioned parts, configurations, functions, processing parts and the like may be realized by hardware by designing a part or all of them by, for example, an integrated circuit.
  • each of the above parts, configurations, functions and the like may be realized by software by interpreting and executing a program in which the processor realizes each function.
  • Information such as programs, tables, and files that realize each function can be placed in a memory, a recording device such as a hard disk or SSD, or a recording medium such as an IC card, SD card, or DVD.
  • control lines and information lines according to the above-described embodiment are shown as necessary for explanation, and not all control lines and information lines are necessarily shown in the product. In practice, it can be considered that almost all configurations are interconnected.
  • Attack detection unit 2 Execution code identification unit 2a: Execution address in kernel space
  • 2b Execution address in user space
  • 2c Interrupt code
  • 7: Expected value memory 100 : IoT device, 101: Processor, 101a: Execution code string, 102: CPU core, 103: Execution code output interface, 104: Communication IF section, 105: Interrupt IF section, 106: Memory, 107: External IO section.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

処理能力が比較的劣る電子機器であっても、マルウェア感染や、悪意のある攻撃による異常動作をリアルタイムに検知する。 電子機器であって、プロセッサから出力される実行コード列を受け付けて、OS(Operating System)のユーザープログラム領域の実行アドレスと、カーネル領域の実行アドレスと、を少なくとも識別する実行コード識別部と、所定のタイミングで実行コード識別部による識別結果から得られる所定の特徴値を所定の期待値と照合して所定以上の差がある場合に攻撃があると判定する判定部と、を備え、判定部は、攻撃があると判定すると、プロセッサに所定の異常通知信号を通知する。

Description

電子機器および電子機器の攻撃検知方法
 本発明は、電子機器および電子機器の攻撃検知方法に関する。本発明は2019年12月13日に出願された日本国特許の出願番号2019-225330の優先権を主張し、文献の参照による織り込みが認められる指定国については、その出願に記載された内容は参照により本出願に織り込まれる。
 特許文献1には、サーバーを対象に、手動で収集できるシステムパラメータ(ログインユーザ数、webヒット率、受信パケット数、CPU稼働率、ログインエラー、パリティエラーなど)から求めたシグネチャ(特徴値)の時間変化を監視することで異常状態を検出する技術が記載されている。
特開2004-348740号公報
 上述の特許文献1に記載の技術では、プロセッサ内部の実行状態までの監視はしておらず、カーネルレベルでの改ざんを含めたプロセッサ単位での攻撃検知は難しい。
 本発明の目的は、処理能力が比較的劣る電子機器であっても、マルウェア感染や、悪意のある攻撃による異常動作をリアルタイムに検知することを目的とする。
 本願は、上記課題の少なくとも一部を解決する手段を複数含んでいるが、その例を挙げるならば、以下のとおりである。
 本発明の一態様は、電子機器であって、プロセッサから出力される実行コード列を受け付けて、OS(Operating System)のユーザープログラム領域の実行アドレスと、カーネル領域の実行アドレスと、を少なくとも識別する実行コード識別部と、所定のタイミングで前記実行コード識別部による識別結果から得られる所定の特徴値を所定の期待値と照合して所定以上の差がある場合に攻撃があると判定する判定部と、を備え、前記判定部は、攻撃があると判定すると、前記プロセッサに所定の異常通知信号を通知する、ことを特徴とする。
 本発明によれば、処理能力が比較的劣る電子機器であっても、マルウェア感染や、悪意のある攻撃による異常動作をリアルタイムに検知する技術を提供することができる。
 上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
第一の実施形態における電子機器であるIoT機器の構成例を示す図である。 第一の実施形態における実行コード列のデータと特徴値の例を示す図である。 判定部および期待値メモリの構成例を示す図である。 第一の実施形態における監視及び復旧処理のフローの例を示す図である。 第二の実施形態における電子機器であるIoT機器の構成例を示す図である。 第二の実施形態における実行コード列のデータと特徴値の例を示す図である。 第二の実施形態における監視及び復旧処理のフローの例を示す図である。 第二の実施形態における攻撃検知部の別の構成例を示す図である。 第三の実施形態における電子機器であるIoT機器の構成例を示す図である。 第四の実施形態における電子機器であるECUの構成例を示す図である。
 以下の実施形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらはお互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。
 また、以下の実施形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でもよい。
 さらに、以下の実施形態において、その構成要素(要素ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。
 同様に、以下の実施形態において、構成要素等の形状、位置関係等に言及するときは特に明示した場合および原理的に明らかにそうではないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。
 また、実施形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。ただし、同一の部材であっても環境変更等により変更前の部材と称呼を共有すると混乱を生ぜしめるおそれが高い場合、別の異なる符号や名称を付すことがある。以下、本発明の各実施形態について図面を用いて説明する。
 IoT(Internet of Things)を活用したシステムでは、webカメラやセンサー機器はもちろん、コネクテッドカーやPLC、産業ロボットなど、多数の組み込み機器がネットワークに接続されるが、IoT機器自身を対象とした乗っ取りやマルウェア感染による情報窃取、ボットネット利用といったセキュリティ被害が顕在化している。
 従来のサーバーレベルの対策としては、ネットワークの境界にファイヤウォールを設置し、不審パケットの侵入や不正アクセスを防止したり、暗号通信やデジタル証明書を用いた認証などによって、通信情報の盗聴、改ざんを防ぐ手法が有効である。
 しかし、IoT機器は製造・運用コストや性能リソースに限りがあるため、サーバーと同様のセキュリティ対策を実現することは一般的に困難である。一方で、近年ではOSが搭載されたIoT機器等のプロセッサのブートファイルを直接改ざんする攻撃も登場している。そこで、攻撃やウイルス感染を完全に阻止するのではなく、IoT機器自身が動作状態を監視し、プロセッサに対する悪意のある攻撃の検知・復旧技術が重要になってきている。
 また、ネットワークに接続されるIoT機器では、プロセッサにLinuxなどのOSを実装する機器が増えており、カーネルによる定期割込みや、仮想アドレスにより動作する等の要因により、従来の物理アドレスベースの実行コードによる診断が難しくなっている。また、プロセッサの処理内容のトレースも制限されることが多くなっているため、全ての処理内容を監視することも難しい。
 本発明に係る技術を適用したIoT機器を含む電子機器は、プロセッサの処理性能を低下させることなく、マルウェア感染や、悪意のある攻撃による異常動作をリアルタイムに検知できる。また、マルウェア感染によりボットネット化など不正な動作状態となったIoT機器を短時間で特定し、上位システム等に通知できるため、異常機器を早期にネットワークから切断する、などの対策を行うことが可能となり、セキュリティ被害の拡大を抑止できる。
 図1~4を用いて、プロセッサの実行コード情報をもとに、ユーザープログラム実行領域(以降、「ユーザー空間」ともいう)での動作と、カーネル領域(以降、「カーネル空間」ともいう)での動作とを区別して監視することで、プログラムの改ざんや外部からの不正操作などプロセッサへの攻撃事象を検出することができる攻撃検出機能付きIoT機器(電子機器)を例に用いて説明する。
 なお、IoTとは、日本語では「モノのインターネット」と呼ばれ、一般的には従来インターネットに接続されていなかったモノ(センサー機器、アクチュエーター、建物、車、電子機器など)が、ネットワークを通じてサーバーやクラウドに接続されることによって、これまで埋もれていたデータを処理、変換、分析、連携することが可能となることをいう。本願でも、同様の概念としてIoTという言葉を用いる。
 図1は、第一の実施形態における電子機器であるIoT機器の構成例を示す図である。IoT機器100は、メインの処理(IoT機器100の担う主要な機能に関する処理)を行うプロセッサ101と、マルウェア感染や乗っ取りなどによるプロセッサの異常なふるまいを検知する攻撃検知部1を含んで構成される。
 IoT機器100自身の動作例としては、図示していないが、センサーモジュールでデジタル化されたIoT機器100周辺の外界情報(物性の測定情報)をセンサー情報としてプロセッサ101で収集し、ネットワーク経由でクラウドサーバーなどに転送するというものである。
 ここで、プロセッサ101は、1個または複数のCPUコア102と、実行プログラムやデータを格納するためのメモリ106、CPUコア102で実行された実行コードをプロセッサの外部に順次出力する実行コード出力インターフェース103、外部ネットワークに接続する他の機器との通信を行うための通信部となる通信インターフェース(IF)部104、外部からの割込み信号を受信するための割込みインターフェース(IF)部105、センサーやアクチュエーターなどの外部入出力信号を接続するための外部IO部107を含んで構成される。
 プロセッサ101は、メモリ106に格納されたプログラムに従い、センサー情報に対する演算処理や統計処理、AI(人工知能)処理などを行う。また、プロセッサ101にはLinuxなどのOSが実装され、これらの処理を細かいプロセスに分割し、プロセッサ内の複数のCPUコア102にスケジューリングして実行する。実行コード出力インターフェース103は、CPUコア102で処理された実行アドレスや例外処理などが含まれた情報を順次、実行コード列101aとしてプロセッサ101の外部の攻撃検知部1に出力する。
 攻撃検知部1は、実行コード識別部2と、カーネル空間特徴値生成部3と、ユーザー空間特徴値生成部4と、収集時間制御部5と、判定部6と、期待値メモリ7とを含む。攻撃検知部1は、プロセッサ101から出力される実行コード列101aを用いて攻撃を検知する。
 実行コード識別部2は、実行コード列101aの情報から、カーネル空間における実行アドレス2aと、ユーザー空間における実行アドレス2bと、例外処理による割込みコード2cと、を識別して出力する。カーネル空間における実行アドレス2aと、ユーザー空間における実行アドレス2bとは、OSで管理される仮想アドレス空間における命令やデータを呼び出す際のアドレスや分岐先のアドレス情報を示す。
 カーネル空間特徴値生成部3は、入力されるカーネル空間における実行アドレス2aを用いて所定の特徴値を生成する。例えば、カーネル空間特徴値生成部3は、カーネル空間における実行アドレス2aのアクセス回数をカウントし、カーネル空間の特徴値3aとして判定部6に出力する。
 ユーザー空間特徴値生成部4も同様に、入力されるユーザー空間における実行アドレス2bを用いて所定の特徴値を生成する。例えば、ユーザー空間特徴値生成部4は、ユーザー空間における実行アドレス2bのアクセス回数をカウントし、ユーザー空間の特徴値4aとして判定部6に出力する。
 収集時間制御部5は、割込みコード2cが入力されると特徴値生成信号5aを生成し、カーネル空間特徴値生成部3およびユーザー空間特徴値生成部4に入力することで、それぞれの特徴値の出力タイミングを制御する。
 図2は、第一の実施形態における実行コード列のデータと特徴値の例を示す図である。図中のグラフは、実行コード列101aから識別したカーネル空間における実行アドレス2a、ユーザー空間における実行アドレス2b、割込みコード2cを基にした特徴値の生成を説明するイメージである。図中のグラフは、縦軸を仮想アドレス、横軸を実行アドレスの検出サイクル、つまりはプロセッサの動作時間とし、実行コード列101aから識別されたカーネル空間における実行アドレス2a、ユーザー空間における実行アドレス2b、割込みコード2cを時間順にプロットしている。
 仮想アドレス空間は、OSの設定により、ユーザー空間のアドレス領域と、カーネル空間のアドレス領域に分けられる。つまり、実行アドレスから、カーネル空間における処理が実行されたか、ユーザープログラム空間における処理が実行されたかを判別できる。さらに、割込みコード2cによれば、カーネルの定期割込みや、その他の例外処理が発生したことを判別できる。
 第一の実施形態においては、収集時間制御部5からの特徴値生成信号5aを受信したカーネル空間特徴値生成部3およびユーザー空間特徴値生成部4は、それまでに収集した実行アドレスの回数情報を特徴値として出力する。つまり、割込みコードの発生間隔が、カーネル空間特徴値生成部3およびユーザー空間特徴値生成部4における実行アドレスの収集区間となる。カーネル空間特徴値生成部3と、ユーザー空間特徴値生成部4とは、特徴値生成信号5aを受信するごとに、その収集区間において収集したカーネル空間における実行アドレス2a、ユーザー空間における実行アドレス2bのデータから生成された特徴値をそれぞれ出力する。
 図3は、判定部および期待値メモリの構成例を示す図である。判定部6は、入力されるカーネル空間の特徴値3aの正常判定を行うカーネル空間特徴値比較部60と、入力されるユーザー空間の特徴値4aの正常判定を行うユーザー空間特徴値比較部61と、異常レベル判定部62と、を含んでいる。
 期待値メモリ7は、マルウェア感染や攻撃を受けていない正常動作時の複数の特徴値を、あらかじめ期待値としてそれぞれカーネル空間期待値データ群71と、ユーザー空間期待値データ群72として格納している。
 判定部6は、入力されるカーネル空間の特徴値3a、ユーザー空間の特徴値4aのそれぞれについて、期待値メモリ7から読み出すカーネル空間期待値データ群71およびユーザー空間期待値データ群72と照合する。
 カーネル空間特徴値比較部60は、入力されるカーネル空間の特徴値3aと、カーネル空間期待値データ群71のいずれの期待値データとも不一致の場合に不一致信号60aを出力し、異常レベル判定部62に入力する。また、ユーザー空間特徴値比較部61は、入力されるユーザー空間の特徴値4aと、ユーザー空間期待値データ群72のいずれの期待値データとも不一致の場合に不一致信号61aを出力し、異常レベル判定部62に入力する。
 異常レベル判定部62は、入力された不一致信号60aと不一致信号61aとの組み合わせに応じて異常レベルを判定し、プロセッサ101への異常通知信号(割込み信号)6aを生成する。異常通知信号6aは、異常レベルを表すために複数ビットの信号で構成されてもよい。
 図4は、第一の実施形態における監視及び復旧処理のフローの例を示す図である。図示していないが、プロセッサ101および実行コード出力インターフェース103は、OSのブートおよびソフトウェアリセットを含む初期化処理完了直後から実行コード列101aの出力を開始する。
 随時、攻撃検知部1は、監視対象のプロセッサ101から出力される実行コード列101aを受信する。実行コード識別部2は、受信した実行コード列101aから、カーネル空間における実行アドレス2aと、ユーザー空間における実行アドレス2bと、割込みコード2cと、を識別する(ステップS100)。
 次に、収集時間制御部5は、割込みコード2cが入力されたタイミングで特徴値生成信号5aを生成し、カーネル空間特徴値生成部3およびユーザー空間特徴値生成部4に入力する(ステップS101)。
 そして、特徴値生成信号5aによって、カーネル空間特徴値生成部3およびユーザー空間特徴値生成部4は、生成した特徴値を出力する(ステップS102)。具体的には、収集時間制御部5からの特徴値生成信号5aを受信したカーネル空間特徴値生成部3およびユーザー空間特徴値生成部4は、前回受信した特徴値生成信号5aがある場合にはその間に、無い場合にはそれまでに収集した実行アドレスをもとに、特徴値を生成し、生成した特徴値を判定部6に出力する。
 判定部6は、カーネル空間およびユーザー空間のそれぞれの特徴値について、あらかじめ期待値メモリ7に格納された期待値データ群とそれぞれを照合する(ステップS103)。
 そして、判定部6は、不一致信号60a、61aのいずれかが出力されたか否か判定する(ステップS104)。いずれも出力されていない場合(ステップS104にて「NO」の場合)には、判定部6は、ステップS100に制御を戻す。
 不一致信号60a、61aのいずれかが出力された場合(ステップS104にて「YES」の場合)には、判定部6は、不一致となった空間の組み合わせによって異常通知信号6aをプロセッサ101に通知する(ステップS105)。
 具体的には、ユーザー空間における実行アドレスに関する特徴値のみが期待値のいずれとも不一致だった場合には、ユーザープログラムの改ざんのおそれがあるため、異常レベル判定部62は、ソフトウェアリセットをプロセッサ101にリクエストする異常通知信号を出力する。
 カーネル空間における実行アドレスに関する特徴値が期待値のいずれとも不一致だった場合は、OSの改ざんのおそれがあるため、異常レベル判定部62は、IoT機器100をネットワークから切り離し、ブートファイルやROMデータのチェックを行わせる異常通知信号をプロセッサ101に出力する。
 そして、プロセッサ101は、異常通知信号の種類によって、CPUコア102の復旧処理を実行する(ステップS106)。具体的には、上述のように、プロセッサ101は、ソフトウェアリセット、またはIoT機器100をネットワークから切り離してブートファイルやROMデータのチェックを行う。
 以上が、第一の実施形態に係る監視および復旧処理の流れである。本実施形態におけるIoT機器100では、プロセッサ101の実行コード情報をもとに、ユーザー領域での動作と、カーネル領域での動作とを区別して監視し、プログラムの改ざんや外部からの不正操作などプロセッサへの攻撃事象を軽い処理により検出することができる。つまり、処理能力が比較的劣る電子機器に対しても、マルウェア感染や、悪意のある攻撃による異常動作をリアルタイムに検知する信頼性・セキュリティ耐性を向上させることができる。
 本実施形態においては、攻撃検知部1は、プロセッサと別のデバイス(コプロセッサ)で実現してもよいし、同様のプロセッサを用意し、相互監視してもよい。あるいは、FPGA(Field-Programmable Gate Array)またはASIC(Application specific Integrated Circuit)を用いて、プロセッサ101と攻撃検知部1とを1チップ内で実現してもよい。期待値メモリ7の期待値データは、プロセッサが起動した時点であらかじめ書き込まれている構成として説明しているが、プロセッサ101経由で新たな期待値を書き込むこともできる。また、カーネル空間およびユーザー空間のそれぞれの特徴値を期待値と直接比較しているが、これに限られず、判定部6は、所定の特徴値としてユーザープログラム領域の実行アドレス数と、カーネル領域の実行アドレス数と、の比の値を特徴値として用いるものであってもよい。また、カーネル空間特徴値比較部60およびユーザー空間特徴値比較部61は、入力される特徴値が、期待値データ群のいずれの期待値データとも不一致の場合に不一致信号を出力しているが、これに限られず、所定の差を越える場合に不一致信号を出力するようにしてもよい。
 以上が、第一の実施形態に係る電子機器である攻撃検知機能付きIoT機器である。第一の実施形態に係る電子機器によれば、処理能力が比較的劣る電子機器であっても、マルウェア感染や、悪意のある攻撃による異常動作をリアルタイムに検知することができる。
 [第二の実施形態]本発明は、第一の実施形態に係る電子機器に限られるものではない。例えば、プロセッサの実行コード情報をもとに、ユーザー空間での動作と、カーネル空間での動作に加えて、割込みに関する動作も特徴値として監視することで、プログラムの改ざんや外部からの不正操作などプロセッサへの攻撃事象を検出するようにしてもよい。このような第二の実施形態について、図5~8を用いて説明する。
 第二の実施形態に係る電子機器は、第一の実施形態に係る電子機器と、基本的には同一であるが、一部に相違がある。以下は、その相違点を中心に説明する。
 図5は、第二の実施形態における電子機器であるIoT機器100´の構成例を示す図である。IoT機器100´は、攻撃検知部10を含んでいる。攻撃検知部10は、実行コード識別部2と、カーネル空間特徴値生成部11と、ユーザー空間特徴値生成部12と、割込み特徴値生成部13と、判定部14と、期待値メモリ15とを含む。
 カーネル空間特徴値生成部11は、入力されるカーネル空間における実行アドレス2aを用いて所定の特徴値を生成する。例えば、カーネル空間特徴値生成部11は、カーネル空間における実行アドレス2aのアクセス回数をカウントし、カーネル空間の特徴値11aとして判定部14に出力する。
 ユーザー空間特徴値生成部12も同様に、入力されるユーザー空間における実行アドレス2bを用いて所定の特徴値を生成する。例えば、ユーザー空間特徴値生成部12は、ユーザー空間における実行アドレス2bのアクセス回数をカウントし、ユーザー空間の特徴値12aとして判定部14に出力する。
 割込み特徴値生成部13は、入力される割込みコード2cを用いて所定の特徴値を生成する。例えば、割込み特徴値生成部13は割込み回数をカウントし、特徴値13aとして判定部14に出力する。ここで、攻撃検知部10には、図示しないが任意時間Taを設定できる内部計時部を有しており、各特徴値の生成サイクルを任意時間Taにて管理する。
 図6は、第二の実施形態における実行コード列のデータと特徴値の例を示す図である。図中のグラフは、実行コード列101aから識別したカーネル空間における実行アドレス2a、ユーザー空間における実行アドレス2b、割込みコード2cを基にした特徴値の生成を説明するイメージである。図中のグラフは、縦軸を仮想アドレス、横軸を実行アドレスの検出サイクル、つまりはプロセッサの動作時間とし、実行コード列101aから識別されたカーネル空間における実行アドレス2a、ユーザー空間における実行アドレス2b、割込みコード2cを時間順にプロットしている。
 ここで、カーネル空間特徴値生成部11、ユーザー空間特徴値生成部12および割込み特徴値生成部13は、内部計時部に設定された任意時間Taで示すタイマ時間内において、各実行アドレスおよび割込みの回数を特徴値としてそれぞれ出力する。
 判定部14は、入力されるカーネル空間の特徴値11a、ユーザー空間の特徴値12a、割込みの特徴値13aのそれぞれについて、期待値メモリ15から読み出すカーネル空間期待値データ群71、ユーザー空間期待値データ群72および割込み期待値データ群と比較する。
 判定部14は、入力されるカーネル空間の特徴値11aと、カーネル空間期待値データ群71のいずれの期待値データとも不一致の場合に不一致信号を出力する。また、判定部14は、入力されるユーザー空間の特徴値12aと、ユーザー空間期待値データ群72のいずれの期待値データとも不一致の場合に不一致信号を出力する。また、判定部14は、入力される割込みの特徴値13aと、割込み期待値データ群のいずれの期待値データとも不一致の場合に不一致信号を出力する。
 判定部14は、カーネル空間特徴値生成部11、ユーザー空間特徴値生成部12および割込み特徴値生成部13のいずれかの生成部が生成した特徴値に不一致信号が出力されると、その組み合わせに応じて、プロセッサの異常動作を示す異常通知信号14aを出力する。
 期待値メモリ15は、マルウェア感染や攻撃を受けていない正常動作時の複数の特徴値を、あらかじめ期待値としてそれぞれカーネル空間期待値データ群71と、ユーザー空間期待値データ群72と、割込み期待値データ群として格納している。
 図7は、第二の実施形態における監視及び復旧処理のフローの例を示す図である。図示していないが、プロセッサ101および実行コード出力インターフェース103は、OSのブートおよびソフトウェアリセットを含む初期化処理完了直後から実行コード列101aの出力を開始する。
 随時、攻撃検知部10は、監視対象のプロセッサ101から出力される実行コード列101aを受信する。実行コード識別部2は、受信した実行コード列101aから、カーネル空間における実行アドレス2aと、ユーザー空間における実行アドレス2bと、割込みコード2cと、を識別する(ステップS200)。
 次に、実行コード識別部2は、識別した3種類の情報(カーネル空間の実行アドレス2aと、ユーザー空間の実行アドレス2bと、割込みコード2c)を内部計時部に設定された時間区間(任意時間Ta)で収集する(ステップS201)。
 そして、各特徴値の生成部は、収集した情報(カーネル空間の実行アドレス2aと、ユーザー空間の実行アドレス2bと、割込みコード2c)の特徴値を、それぞれ生成する(ステップS202)。
 そして、判定部14は、各特徴値について、期待値メモリ15に格納されたそれぞれの期待値データ群と照合する(ステップS203)。
 そして、判定部14は、いずれかの不一致信号が出力されたか否か判定する(ステップS204)。いずれも出力されていない場合(ステップS204にて「NO」の場合)には、判定部14は、ステップS200に制御を戻す。
 いずれかの不一致信号が出力された場合(ステップS204にて「YES」の場合)には、判定部14は、不一致となった空間あるいは割込みコードの組み合わせによって異常通知信号14aをプロセッサ101に通知する(ステップS205)。
 具体的には、ユーザー空間における実行アドレスに関する特徴値のみが期待値のいずれとも不一致だった場合には、ユーザープログラムの改ざんのおそれがあるため、判定部14は、ソフトウェアリセットをプロセッサ101にリクエストする異常通知信号14aを通知する。
 カーネル空間における実行アドレスに関する特徴値が期待値のいずれとも不一致だった場合は、OSの改ざんのおそれがあるため、判定部14は、IoT機器100´をネットワークから切り離し、ブートファイルやROMデータのチェックを行わせる異常通知信号14aをプロセッサ101に出力する。
 割込みのコードに関する特徴値が期待値のいずれとも不一致だった場合は、カーネル動作を含めて改ざんのおそれがあるため、判定部14は、IoT機器100´をネットワークから切り離し、ブートファイルやROMデータのチェックを行わせ、ソフトウェアリセットをリクエストする異常通知信号14aをプロセッサ101に出力する。
 なお、これに限られず、不一致となった空間あるいは割込みコードの組み合わせによって異常通知信号14aを細かに設定し、これを通知して対処を細かに変更するようにしてもよい。
 そして、プロセッサ101は、異常通知信号の種類によって、CPUコア102の復旧処理を実行する(ステップS206)。具体的には、上述のように、プロセッサ101は、ソフトウェアリセット、またはIoT機器100をネットワークから切り離してブートファイルやROMデータのチェックを行う。
 以上が、第二の実施形態に係る監視および復旧処理の流れである。第二の実施形態におけるIoT機器100´では、プロセッサ101の実行コード情報をもとに、ユーザー領域での動作と、カーネル領域での動作と、割込みコードとを区別して監視し、プログラムの改ざんや外部からの不正操作などプロセッサへの攻撃事象を軽い処理により検出することができる。つまり、処理能力が比較的劣る電子機器に対しても、マルウェア感染や、悪意のある攻撃による異常動作をリアルタイムに検知する信頼性・セキュリティ耐性を向上させることができる。
 なお、任意時間Taは、固定に限られず、外部環境等により変動するものであってもよい。例えば、工場で使用されるIoT機器の場合、工場の操業環境(操業日時や曜日、季節、気温等)によって変動させるものであってもよい。あるいは、車載のIoT機器の場合、車両の走行時と停車時で変動させるものであってもよい。
 図8は、第二の実施形態における攻撃検知部の別の構成例を示す図である。攻撃検知部20は、第一の実施形態に係る収集時間制御部5(割込みコード2cの発生に応じたタイミングで特徴値の発生タイミングを制御する)をさらに有する。攻撃検知部20は、割込みコード2cを特徴値と時間制御の両方に用いることで、さらに細かい異常判定が可能となる。この場合、割込みの発生間隔に応じて特徴値が生成されることになるため、割込みの特徴値は割込みの回数ではなく、割込みの発生間隔(時間)を特徴値とすることが望ましい。
 本別例の期待値メモリ23内の期待値データは、3種類の特徴値をそれぞれ個別に判定するように格納してもよいし、例えば、割込みの発生間隔が同じときのカーネル空間またはユーザー空間の特徴値を判定するように、カーネル空間特徴値およびユーザー空間特徴値を、割込み発生間隔に紐付けて不一致判定を行うようにしてもよい。
 また、カーネル空間、ユーザー空間、割込みのそれぞれの特徴値を期待値と直接比較しているが、これに限られず、判定部14は、所定の特徴値としてユーザープログラム領域の実行アドレス数と、カーネル領域の実行アドレス数と、割込み回数または割込みの発生間隔の比の値を特徴値として用いるものであってもよい。
 また、判定部14は、入力される特徴値が、期待値データ群のいずれの期待値データとも不一致の場合に不一致信号を出力しているが、これに限られず、所定の差を越える場合に不一致信号を出力するようにしてもよい。
 以上が、第二の実施形態の別の構成例である。この構成例では、攻撃検知部20は、さらに細かい異常判定が可能となる。
 [第三の実施形態]本発明は、第一の実施形態、第二の実施形態およびその別例に係る電子機器に限られるものではない。例えば、正常動作時の特徴値情報を較正できるようにしてもよい。このような第三の実施形態に係るIoT機器100´´の例を、図9を用いて説明する。
 第三の実施形態に係る電子機器は、第二の実施形態に係る電子機器と、基本的には同一であるが、一部に相違がある。以下は、その相違点を中心に説明する。
 図9は、第三の実施形態における電子機器であるIoT機器の構成例を示す図である。IoT機器100´´は、攻撃検知部30を含んでいる。攻撃検知部30は、実行コード識別部2と、カーネル空間特徴値生成部11と、ユーザー空間特徴値生成部12と、割込み特徴値生成部13と、セレクタ31と、判定部32と、期待値メモリ33とを含む。また、プロセッサ101に係る外部IO部107については、セレクタ31、判定部32、期待値メモリ33に対してモード切替信号107aを送る。
 攻撃検知部30は、較正モードと通常判定モードの2種類の動作モードが設けられており、モード切替信号107aを受け取ると、動作モードを切り替える。例えば、IoT機器100´´の出荷前試験時などには、正常な動作時に収集される特徴値を用いて較正する、すなわち期待値メモリ33に対して学習させる較正モードで動作させ、出荷時にモード切替信号107aをプロセッサ101から送らせることで動作モードを通常判定モードに切り替えて出荷することができる。
 動作モードの切り替え制御は、基本的にはプロセッサ101から行う。モード切替信号107aは、攻撃検知部30のセレクタ31(選択部ともいう)、判定部32および期待値メモリ33に入力される。
 セレクタ31は、動作モードが通常判定モードであれば判定部32に生成した特徴値を送り、動作モードが較正モードであれば期待値メモリ33に生成した特徴値を送る。すなわち、セレクタ31は、動作モードに応じて判定部32か期待値メモリ33のいずれかに特徴値を選択的に送る。
 具体的には、セレクタ31は、カーネル空間の特徴値11a、ユーザー空間の特徴値12a、割込みの特徴値13aを出力するポートの切り替えを行う。通常判定モードの場合、セレクタ31は、判定部32側のポート31aから各特徴値を出力し、較正モードの場合、期待値メモリ33側のポート31bから各特徴値を出力するよう切り替える。
 判定部32は、較正モードの場合には、プロセッサ101へ誤った異常通知が出力されないように判定処理を停止し、異常通知信号32aを出力しない。
 期待値メモリ33は、較正モードの場合は、生成された各特徴値をポート31bから受け取ると、メモリ内を検索し、同じ値が既に格納されていない場合に、空いているメモリ領域に新しい特徴値を追加して格納していく。較正モードで動作する間、期待値メモリ33は上記の動作を繰り返し、動作中に生成された特徴値を格納(学習)していく。モード切替信号107aを受け付けると、期待値メモリ33は較正モードを解除し、通常判定モードに切り替える。通常判定モードでは、期待値メモリ33は格納された特徴値をすべて、判定部32に受け渡す。
 以上が、第三の実施形態に係るIoT機器100´´である。第三の実施形態におけるIoT機器100´´では、プロセッサ101の動作中に生成される特徴値を期待値メモリ33に自動的に重複を排除して蓄積する機能を有することによって、例えばプロセッサ101のプログラムが変更された場合でも、一旦較正モードで動作させることによって自動で新たな特徴値に調整することができる。
 IoT機器100´´では、接続されるセンサーの変更や取得データに対する演算処理の変更など、遠隔操作によるプログラムの一括アップデートがなされることが予想される。その際、自動で較正を行う機能を有することによって、特にIoT機器100´´が大量に存在する環境においてアップデート工数を削減できる。
 また、較正の機能はこれに限られず、取得した実績値に対して簡単な統計処理を行って期待値を特定し較正するものであってもよい。例えば、中央値を採用することや、平均値を採用することもできる。あるいは、外部環境(例えば、日時あるいは曜日)に応じて個別のテーブルとして格納し、運用時の外部環境に応じてテーブルを切り替えることで期待値データ群を切り替えるようにしてもよい。このようにすることで、大幅な期待値の変動を除外することが可能となる。
 [第四の実施形態]本発明は、第一の実施形態、第二の実施形態、その別例、第三の実施形態に係る電子機器に限られるものではない。例えば、IoT機器に限られず、車両に搭載されるECU(Electronic Control Unit)に適用するようにしてもよい。このような第四の実施形態に係るECUの例を、図10を用いて説明する。
 第四の実施形態に係る電子機器は、第三の実施形態に係る電子機器と、基本的には同一であるが、一部に相違がある。以下は、その相違点を中心に説明する。
 第四の実施形態における車載のECU200では、プロセッサ201内に、攻撃検知部30´が含まれる。また、CPUコアに代えて、複数のCPUを含むコア群202が含まれる。また、モード切替信号107aは、共用メモリ部207を介してセレクタ31、判定部32、期待値メモリ33に受け渡される。
 攻撃検知部30´は、コア管理部34を備え、判定部32は、異常通知信号32aを割込IF部105ではなくコア管理部34へ送る。
 コア管理部34は、コア群202の各コアの動作の制御信号34aを、割込IF205を介して送りコア群202から特定のコアを隔離し、あるいはコアをコア群202に参加させる。コア管理部34は、判定部32から出力される異常通知信号32aを受け付けると、異常となったコアをコア群202から隔離することで、プロセッサ201への異常の伝播を回避する。
 特に、車両のECUは、リアルタイムな制御を行うものであり、かつ安全の確保に重要な役割を持つため、異常発生時の最小限の範囲のダメージコントロールと、迅速な復旧が重要である。
 また、攻撃検知部30´自体も、コア群202を構成する特定のコアが担うことも可能である。
 以上が、第四の実施形態に係る電子機器であるECUである。第四の実施形態に係る電子機器によれば、搭載される車両の異常検出を迅速に行い、影響を最小限に留め、復旧を迅速に行うことが可能となる。
 上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
 また、実施形態の構成の一部について、構成の追加・削除・置換をすることが可能である。また、上記の各部、各構成、機能、処理部等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各部、各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
 なお、上述した実施形態にかかる制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えても良い。
 以上、本発明について、実施形態を中心に説明した。
1:攻撃検知部、2:実行コード識別部、2a:カーネル空間における実行アドレス、2b:ユーザー空間における実行アドレス、2c:割込みコード、3:カーネル空間特徴値生成部、3a:カーネル空間の特徴値、4:ユーザー空間特徴値生成部、4a:ユーザー空間の特徴値、5:収集時間制御部、5a:特徴値生成信号、6:判定部、6a:異常通知信号、7:期待値メモリ、100:IoT機器、101:プロセッサ、101a:実行コード列、102:CPUコア、103:実行コード出力インターフェース、104:通信IF部、105:割込IF部、106:メモリ、107:外部IO部。

Claims (12)

  1.  プロセッサから出力される実行コード列を受け付けて、OS(Operating System)のユーザープログラム領域の実行アドレスと、カーネル領域の実行アドレスと、を少なくとも識別する実行コード識別部と、
     所定のタイミングで前記実行コード識別部による識別結果から得られる所定の特徴値を所定の期待値と照合して所定以上の差がある場合に攻撃があると判定する判定部と、を備え、
     前記判定部は、攻撃があると判定すると、前記プロセッサに所定の異常通知信号を通知する、
     ことを特徴とする電子機器。
  2.  請求項1に記載の電子機器であって、
     前記実行コード識別部は、前記実行コード列を用いて、前記ユーザープログラム領域の実行アドレス数と、前記カーネル領域の実行アドレス数と、を少なくとも識別し、
     前記判定部は、前記所定の特徴値として前記ユーザープログラム領域の実行アドレス数と、前記カーネル領域の実行アドレス数と、を用いる、
     ことを特徴とする電子機器。
  3.  請求項1に記載の電子機器であって、
     前記実行コード識別部は、前記実行コード列を用いて、前記ユーザープログラム領域の実行アドレス数と、前記カーネル領域の実行アドレス数と、前記OSへの割込み発生回数と、を少なくとも識別し、
     前記判定部は、前記所定の特徴値として前記ユーザープログラム領域の実行アドレス数と、前記カーネル領域の実行アドレス数と、前記OSへの割込み発生回数と、を用いる、
     ことを特徴とする電子機器。
  4.  請求項1に記載の電子機器であって、
     前記実行コード識別部は、前記実行コード列を用いて、前記ユーザープログラム領域の実行アドレス数と、前記カーネル領域の実行アドレス数と、を少なくとも識別し、
     前記判定部は、前記所定の特徴値として前記ユーザープログラム領域の実行アドレス数と、前記カーネル領域の実行アドレス数と、の比の値を用いる、
     ことを特徴とする電子機器。
  5.  請求項1に記載の電子機器であって、
     前記実行コード識別部は、前記実行コード列を用いて、前記ユーザープログラム領域の実行アドレス数と、前記カーネル領域の実行アドレス数と、前記OSへの割込み発生回数と、を少なくとも識別し、
     前記判定部は、前記所定の特徴値として前記ユーザープログラム領域の実行アドレス数と、前記カーネル領域の実行アドレス数と、前記OSへの割込み発生回数と、の比の値を用いる、
     ことを特徴とする電子機器。
  6.  請求項1に記載の電子機器であって、
     前記プロセッサは、
     前記異常通知信号を受信すると、該異常通知信号に応じて所定のリセット処理を行う、
     ことを特徴とする電子機器。
  7.  請求項1に記載の電子機器であって、
     前記判定部は、前記所定のタイミングとして、前記実行コード列上の前記OSへの割込み発生タイミングを用いる、
     ことを特徴とする電子機器。
  8.  請求項1に記載の電子機器であって、
     前記判定部は、前記所定のタイミングとして、所定の時間の経過を用いる、
     ことを特徴とする電子機器。
  9.  請求項1に記載の電子機器であって、
     開始指示を受け付けると、前記識別結果を前記期待値の候補に取り込むことで前記期待値の較正を行う選択部、
     を備えることを特徴とする電子機器。
  10.  請求項1に記載の電子機器であって、
     前記プロセッサは、
     所定のセンサーと、
     接続された所定のネットワーク上の他の装置と、前記センサーにより得られた情報を含む情報を送受信する通信部と、
     を備えることを特徴とする電子機器。
  11.  車載のECU(Electronic Control Unit)であって、
     CPU(Central Processing Unit)コア群から出力される実行コード列を受け付けて、OS(Operating System)のユーザープログラム領域の実行アドレスと、カーネル領域の実行アドレスと、を少なくとも識別する実行コード識別部と、
     所定のタイミングで前記実行コード識別部による識別結果から得られる所定の特徴値を所定の期待値と照合して所定以上の差がある場合に攻撃があると判定する判定部と、
     前記攻撃があると判定されたCPUコアを前記CPUコア群から隔離する所定の信号を通知するコア管理部と、
     を備えることを特徴とするECU。
  12.  電子機器の攻撃検知方法であって、
     前記電子機器は、
     プロセッサから出力される実行コード列を受け付けて、OS(Operating System)のユーザープログラム領域の実行アドレスと、カーネル領域の実行アドレスと、を少なくとも識別する実行コード識別処理と、
     所定のタイミングで前記実行コード識別処理による識別結果から得られる所定の特徴値を所定の期待値と照合して所定以上の差がある場合に攻撃があると判定する判定処理と、
     攻撃があると判定すると、前記プロセッサに所定の異常通知信号を通知する通知処理と、
     を実施することを特徴とする電子機器の攻撃検知方法。
PCT/JP2020/045419 2019-12-13 2020-12-07 電子機器および電子機器の攻撃検知方法 WO2021117665A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP20897866.8A EP4075310A4 (en) 2019-12-13 2020-12-07 ELECTRONIC INSTRUMENT AND ATTACK DETECTION METHOD FOR AN ELECTRONIC INSTRUMENT
US17/642,793 US12086240B2 (en) 2019-12-13 2020-12-07 Electronic device and attack detection method of electronic device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019225330A JP7333748B2 (ja) 2019-12-13 2019-12-13 電子機器および電子機器の攻撃検知方法
JP2019-225330 2019-12-13

Publications (1)

Publication Number Publication Date
WO2021117665A1 true WO2021117665A1 (ja) 2021-06-17

Family

ID=76330666

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/045419 WO2021117665A1 (ja) 2019-12-13 2020-12-07 電子機器および電子機器の攻撃検知方法

Country Status (4)

Country Link
US (1) US12086240B2 (ja)
EP (1) EP4075310A4 (ja)
JP (1) JP7333748B2 (ja)
WO (1) WO2021117665A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230334014A1 (en) * 2022-04-13 2023-10-19 Oracle International Corporation Implementing graph search with in-structure metadata of a graph-organized file system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004348740A (ja) 2003-05-22 2004-12-09 Microsoft Corp 異常検出のための自己学習方法及びシステム
JP2010182196A (ja) * 2009-02-06 2010-08-19 Kddi Corp 情報処理装置およびファイル検証システム
JP2015099466A (ja) * 2013-11-19 2015-05-28 日本電信電話株式会社 データ送出制限方法、データ送出制限装置及びデータ送出制限プログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8528093B1 (en) * 2006-04-12 2013-09-03 Hewlett-Packard Development Company, L.P. Apparatus and method for performing dynamic security testing using static analysis data
EP2691908B1 (en) * 2011-03-28 2018-12-05 McAfee, LLC System and method for virtual machine monitor based anti-malware security
US10127379B2 (en) * 2013-03-13 2018-11-13 Mcafee, Llc Profiling code execution
CN105408911A (zh) * 2013-08-28 2016-03-16 英特尔公司 硬件和软件执行概况分析
US9436603B1 (en) * 2014-02-27 2016-09-06 Amazon Technologies, Inc. Detection and mitigation of timing side-channel attacks
US9686312B2 (en) * 2014-07-23 2017-06-20 Cisco Technology, Inc. Verifying network attack detector effectiveness
US10255434B2 (en) * 2015-09-17 2019-04-09 Qualcomm Incorporated Detecting software attacks on processes in computing devices
US10650141B2 (en) * 2016-08-03 2020-05-12 Sophos Limited Mitigation of return-oriented programming attacks
CN106682498B (zh) * 2016-08-16 2019-12-06 腾讯科技(深圳)有限公司 样本的执行方法和装置
US10296464B2 (en) * 2016-12-09 2019-05-21 Intel Corporation System, apparatus and method for dynamic profiling in a processor
RU2725033C2 (ru) * 2018-03-30 2020-06-29 Акционерное общество "Лаборатория Касперского" Система и способ создания правил
KR20210076882A (ko) * 2018-11-08 2021-06-24 인텔 코포레이션 서비스형 함수(faas) 시스템 향상
US12093398B2 (en) * 2020-11-30 2024-09-17 RAM Laboratories, Inc. Vulnerability analysis and reporting for embedded systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004348740A (ja) 2003-05-22 2004-12-09 Microsoft Corp 異常検出のための自己学習方法及びシステム
JP2010182196A (ja) * 2009-02-06 2010-08-19 Kddi Corp 情報処理装置およびファイル検証システム
JP2015099466A (ja) * 2013-11-19 2015-05-28 日本電信電話株式会社 データ送出制限方法、データ送出制限装置及びデータ送出制限プログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
OHIRA, SHUJI ET AL.,: "Forensics Mechanism in Kernel Land to Preserve Evidence of Malware Intruding into In-vehicle LAN", TRANSACTIONS OF INFORMATION PROCESSING SOCIETY OF JAPAN, vol. 60, no. 3, 15 March 2019 (2019-03-15), pages 791 - 802, XP055904816 *
See also references of EP4075310A4

Also Published As

Publication number Publication date
EP4075310A4 (en) 2023-12-27
JP7333748B2 (ja) 2023-08-25
US20220414207A1 (en) 2022-12-29
US12086240B2 (en) 2024-09-10
EP4075310A1 (en) 2022-10-19
JP2021096505A (ja) 2021-06-24

Similar Documents

Publication Publication Date Title
JP5374485B2 (ja) 情報セキュリティ保護ホスト
CN109815698B (zh) 用于执行安全动作的方法和非暂时性机器可读存储介质
EP3654218B1 (en) Method for detecting malicious code and deferring countermeasures
JP4938576B2 (ja) 情報収集システムおよび情報収集方法
JP6693114B2 (ja) 制御装置及び統合生産システム
CN102663274B (zh) 一种检测远程入侵计算机行为的方法及系统
JP6759572B2 (ja) 統合生産システム
CN103905450A (zh) 智能电网嵌入式设备网络检测评估系统与检测评估方法
CN117272325B (zh) 一种基于dos的设备运行保护方法、系统、设备和储存介质
WO2021084961A1 (ja) 分析装置及び分析方法
US20230376591A1 (en) Method and apparatus for processing security events in container virtualization environment
WO2021117665A1 (ja) 電子機器および電子機器の攻撃検知方法
US20200344249A1 (en) Automated incident response process and automated actions
RU2746105C2 (ru) Система и способ конфигурирования шлюза для защиты автоматизированных систем
CN111213144B (zh) 单芯片系统,用于运行单芯片系统的方法及机动车
RU2724796C1 (ru) Система и способ защиты автоматизированных систем при помощи шлюза
US20220391507A1 (en) Malware identification
CN111935085A (zh) 工业控制网络异常网络行为的检测防护方法和系统
US20210382988A1 (en) Robust monitoring of computer systems and/or control systems
JP2017228887A (ja) 制御システム、ネットワーク装置、及び制御装置の制御方法
EP2819053A1 (en) Diagnosing a device in an automation and control system
WO2020109252A1 (en) Test system and method for data analytics
JP5955165B2 (ja) 管理装置、管理方法及び管理プログラム
WO2017099062A1 (ja) 診断装置、診断方法、及び、診断プログラムが記録された記録媒体
WO2017099066A1 (ja) 診断装置、診断方法、及び、診断プログラムが記録された記録媒体

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20897866

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020897866

Country of ref document: EP

Effective date: 20220713