WO2021111681A1 - 情報処理装置、制御方法及びプログラム - Google Patents

情報処理装置、制御方法及びプログラム Download PDF

Info

Publication number
WO2021111681A1
WO2021111681A1 PCT/JP2020/032015 JP2020032015W WO2021111681A1 WO 2021111681 A1 WO2021111681 A1 WO 2021111681A1 JP 2020032015 W JP2020032015 W JP 2020032015W WO 2021111681 A1 WO2021111681 A1 WO 2021111681A1
Authority
WO
WIPO (PCT)
Prior art keywords
behavior
information
application
log information
state
Prior art date
Application number
PCT/JP2020/032015
Other languages
English (en)
French (fr)
Inventor
貴佳 伊藤
健人 田村
吉治 今本
淳一 鶴見
紘幸 和田
Original Assignee
パナソニックIpマネジメント株式会社
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 パナソニックIpマネジメント株式会社 filed Critical パナソニックIpマネジメント株式会社
Priority to DE112020005954.5T priority Critical patent/DE112020005954T5/de
Publication of WO2021111681A1 publication Critical patent/WO2021111681A1/ja
Priority to US17/825,709 priority patent/US11615183B2/en

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/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • 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
    • G06F21/54Monitoring 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 adding security routines or objects to programs
    • 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/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/561Virus type analysis
    • 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/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2151Time stamp

Definitions

  • This disclosure relates to information processing devices, control methods and programs.
  • Patent Document 1 discloses an abnormality detection device that detects an abnormality caused by a computer virus such as a bot.
  • access to a file by a process is monitored by an LSM (Linux (registered trademark) Security Module), and for example, when a process accesses a file other than a file that should be originally accessed, a computer virus It is determined that an abnormality has occurred due to.
  • LSM Linux (registered trademark) Security Module
  • the present disclosure provides an information processing device, a control method, and a program that can enhance security measures in mobility.
  • the information processing device is an information processing device connected to a mobility network mounted on the mobility, and whether or not the behavior of the application operating on the device mounted on the mobility is normal.
  • the storage unit that stores the judgment standard information indicating the judgment standard and the behavior information indicating the behavior of the application are acquired, and based on the acquired behavior information and the judgment standard information stored in the storage unit, the said It is provided with a detection unit that detects an abnormality in the behavior of the application.
  • a recording medium such as a system, a method, an integrated circuit, a computer program, or a computer-readable CD-ROM (Compact Disc-Read Only Memory). It may be realized by any combination of systems, methods, integrated circuits, computer programs and recording media.
  • security measures in mobility can be enhanced.
  • FIG. 1 is a block diagram showing a configuration of an information processing device according to the first embodiment.
  • FIG. 2 is a diagram showing an example of behavior log information according to the first embodiment.
  • FIG. 3 is a diagram showing an example of the state log information according to the first embodiment.
  • FIG. 4A is a diagram showing another example of the state log information according to the first embodiment.
  • FIG. 4B is a diagram showing another example of the state log information according to the first embodiment.
  • FIG. 5 is a flowchart showing an operation flow of the detection unit of the information processing apparatus according to the first embodiment.
  • FIG. 6 is a diagram showing an example of behavior log information and status log information acquired by the detection unit of the information processing apparatus according to the first embodiment.
  • FIG. 1 is a block diagram showing a configuration of an information processing device according to the first embodiment.
  • FIG. 2 is a diagram showing an example of behavior log information according to the first embodiment.
  • FIG. 3 is a diagram showing an example of the state log information according to the first embodiment.
  • FIG. 7 is a conceptual diagram for explaining the process of step S104 in the flowchart of FIG.
  • FIG. 8 is a block diagram showing a configuration of the information processing apparatus according to the second embodiment.
  • FIG. 9 is a diagram showing an example of determination standard information according to the second embodiment.
  • FIG. 10 is a flowchart showing an operation flow of the detection unit of the information processing apparatus according to the second embodiment.
  • FIG. 11 is a diagram showing an example of behavior log information and status log information acquired by the detection unit of the information processing apparatus according to the second embodiment, and determination standard information stored in the storage unit.
  • FIG. 12 is a block diagram showing a configuration of the information processing apparatus according to the third embodiment.
  • FIG. 13 is a flowchart showing an operation flow of the detection unit of the information processing apparatus according to the third embodiment.
  • FIG. 14 is a block diagram showing a configuration of the information processing apparatus according to the fourth embodiment.
  • FIG. 15 is a block diagram showing a configuration of the information processing apparatus according to the fifth embodiment.
  • the information processing device is an information processing device connected to a mobility network mounted on the mobility, and whether or not the behavior of the application operating on the device mounted on the mobility is normal.
  • the storage unit that stores the judgment standard information indicating the judgment standard and the behavior information indicating the behavior of the application are acquired, and based on the acquired behavior information and the judgment standard information stored in the storage unit, the said It is provided with a detection unit that detects an abnormality in the behavior of the application.
  • the detection unit acquires behavior information indicating the behavior of the application, and detects an abnormality in the behavior of the application based on the acquired behavior information and the judgment criterion information stored in the storage unit.
  • the detection unit has an abnormality in the behavior of the application based on the state information indicating the mobility state acquired from the mobility network, the behavior information, and the determination criterion information stored in the storage unit. May be configured to detect.
  • the detection unit detects an abnormality in the behavior of the application in consideration of the state information in addition to the behavior information.
  • abnormalities in application behavior caused by attacks on mobility can be detected more reliably, and security measures in mobility can be further enhanced.
  • the determination criterion information includes a rule-based model or a machine learning model relating to at least one of the behavior of the application and the state of mobility as a determination model for detecting an abnormality in the behavior of the application
  • the detection unit includes a rule-based model or a machine learning model.
  • a judgment model which is a rule-based model or a machine learning model to the behavior information and the state information, it is possible to accurately detect an abnormality in the behavior of the application.
  • the determination criterion information includes normal behavior log information indicating the history of the normal behavior of the application and normal state log information indicating the history of the normal state of the mobility, and the detection unit has acquired the above. It is configured to detect an abnormality in the behavior of the application by comparing the history of the behavior information and the history of the state information with the normal behavior log information and the normal state log information included in the judgment criterion information, respectively. You may.
  • the detection unit accurately compares the acquired behavior information history and status information history with the normal behavior log information and normal status log information included in the judgment criterion information, respectively, to accurately determine the abnormality in the behavior of the application. It can be detected well.
  • the determination criterion information includes abnormal behavior log information indicating the history of abnormal behavior of the application and abnormal state log information indicating the history of abnormal state of the mobility, and the detection unit has acquired the above. It is configured to detect an abnormality in the behavior of the application by comparing the history of the behavior information and the history of the state information with the abnormal behavior log information and the abnormal state log information included in the judgment criterion information, respectively. You may.
  • the detection unit accurately compares the acquired behavior information history and status information history with the abnormal behavior log information and abnormal status log information included in the judgment criterion information, respectively, to accurately determine the abnormality in the behavior of the application. It can be detected well.
  • the determination criterion information includes a determination model for determining the normality of the behavior of the application, which is generated in advance by machine learning, and the detection unit uses the determination model to acquire the behavior information.
  • the first feature amount is calculated from the history of the above, and the second feature amount is calculated from the history of the state information, and the behavior of the application is calculated from the calculated first feature amount and the second feature amount. It may be configured to detect an abnormality in the behavior of the application by calculating an evaluation value indicating normality and comparing the likelihood of the evaluation value with a threshold value.
  • the detection unit can accurately detect an abnormality in the behavior of the application by using the machine learning judgment model included in the judgment reference information.
  • the information processing device further includes an inference unit that infers the state of the mobility based on the state information, and the detection unit adds the inference result of the inference unit to the behavior of the application. It may be configured to detect anomalies.
  • the detection unit can detect an abnormality in the behavior of the application with even higher accuracy by taking into account the inference result of the inference unit.
  • the information processing device may be further configured to include a notification unit that notifies the outside when the detection unit detects an abnormality in the behavior of the application.
  • the notification unit since the notification unit notifies the outside of the abnormality in the behavior of the application, it is possible to quickly take measures such as forcibly stopping the application.
  • the control method is a control method in an information processing device connected to a mobility network mounted on the mobility, and behavior information indicating the behavior of an application operating on the device mounted on the mobility.
  • the behavior of the application is based on the step of acquiring the information, the acquired behavior information, and the judgment criteria information indicating whether or not the behavior of the application is normal and stored in advance in the storage unit. Includes steps to detect anomalies.
  • the behavior information indicating the history of the behavior of the application is acquired, and the abnormality of the behavior of the application is detected based on the acquired behavior information and the judgment standard information stored in the storage unit.
  • the program according to one aspect of the present disclosure causes a computer to execute the control method described above.
  • FIG. 1 is a block diagram showing a configuration of the information processing apparatus 2 according to the first embodiment.
  • FIG. 2 is a diagram showing an example of behavior log information according to the first embodiment.
  • FIG. 3 is a diagram showing an example of the state log information according to the first embodiment.
  • 4A and 4B are diagrams showing other examples of the state log information according to the first embodiment.
  • the information processing device 2 of the present embodiment is mounted on a vehicle (an example of mobility) such as an automobile.
  • vehicle an example of mobility
  • the vehicle is equipped with an automatic driving system for controlling the vehicle to automatically perform driving operations such as acceleration / deceleration, steering, and braking.
  • the information processing device 2 includes a behavior recording unit 4, a communication unit 6, and an abnormality detection unit 7.
  • the behavior recording unit 4 records behavior log information indicating the history of the behavior (behavior) of each of the plurality of applications 14 running on the software platform 12.
  • the behavior log information is an example of a history of behavior information indicating the behavior of the application.
  • the behavior recording unit 4 collects and records behavior log information, for example, by hooking a system call process issued by a process to an OS (Operating System).
  • the behavior recording unit 4 outputs the recorded behavior log information to the detection unit 10.
  • the application 14 is, for example, an application program that operates on an in-vehicle device (an example of a device) of a vehicle.
  • the application 14 is, for example, a) a video distribution application for distributing a video, b) an advertisement distribution application for operating in the background and presenting an advertisement to a user, and c) a vehicle trunk.
  • a delivery box application for using as a delivery box, d) a car sharing application for using a car sharing service, e) a ride sharing application for using a ride sharing service, and f) an advanced driver assistance system (ADAS: An automatic driving application for executing Advanced Driver Assistance System).
  • ADAS An automatic driving application for executing Advanced Driver Assistance System
  • the software platform 12 is, for example, a virtual machine that operates on a hypervisor and functions as a mobility service platform.
  • a virtual machine operating on the hypervisor in addition to the virtual machine for the mobility service platform described above, for example, a virtual machine for ADAS and the like exist.
  • the behavior log information includes a) time stamp, b) process name, c) process ID (identification), d) hook pointer name, e) hook pointer attribute 1, and f) hook pointer attribute. Includes 2nd magnitude.
  • the time stamp is information indicating the time when the behavior log information was recorded.
  • the process name and process ID are information indicating the process that issued the system call process to the OS.
  • the hook pointer name and the hook pointer attribute are information indicating the system call processing issued by the process to the OS.
  • the communication unit 6 is connected to the CAN bus 16 (an example of the mobility network), and receives the status log information indicating the history of the vehicle status from the CAN bus 16.
  • the state log information is an example of a history of state information indicating the state of the vehicle.
  • the communication unit 6 outputs the received status log information to the detection unit 10.
  • the CAN bus 16 is an in-vehicle network for communicating CAN messages according to the CAN protocol, and is mounted on a vehicle.
  • the state log information includes a) time stamp, b) vehicle speed, c) acceleration, d) steering angle, and the like.
  • the time stamp is information indicating the time when the status log information was recorded.
  • the vehicle speed is information indicating the speed of the vehicle. Acceleration is information indicating the acceleration of the vehicle.
  • the steering angle is information indicating the steering angle of the steering wheel of the vehicle. The vehicle speed, acceleration, steering angle, etc. are acquired by various sensors mounted on the vehicle.
  • the status log information includes, for example, a) time stamp, b) communication unit name, c) communication unit attribute 1, d) communication unit attribute 2, and e) communication, as shown in FIG. 4A. It may include the part attribute 3 and the like. Alternatively, the status log information may include, for example, a) time stamp, b) ID field, c) data field, and the like, as shown in FIG. 4B.
  • the abnormality detection unit 7 includes a storage unit 8 and a detection unit 10.
  • the storage unit 8 stores in advance the determination standard information indicating the determination criteria as to whether or not the behavior of the application 14 is normal.
  • the determination criterion information includes a determination model, which is a machine learning model for determining the normality of the behavior of the application 14, which is generated in advance by machine learning.
  • the normal behavior is defined (learned) for each individual application 14, but the present invention is not limited to this, and the normal behavior is defined (learned) for each application group including a plurality of related applications 14, or information. Normal behavior may be defined for each system including the processing device 2.
  • the detection unit 10 acquires the behavior log information from the behavior recording unit 4 and the status log information from the communication unit 6.
  • the detection unit 10 detects an abnormality in the behavior of the application 14 based on the acquired behavior log information and status log information, and the determination standard information stored in the storage unit 8. Specifically, the detection unit 10 calculates the first feature amount of the acquired behavior log information and the second feature amount of the state log information by using the judgment model included in the judgment reference information.
  • the detection unit 10 calculates an evaluation value indicating the normality of the behavior of the application 14 from the calculated first feature amount and the second feature amount, and compares the likelihood of the evaluation value with the threshold value to compare the evaluation value with the threshold value of the application 14. Detects abnormal behavior of.
  • FIG. 5 is a flowchart showing an operation flow of the detection unit 10 of the information processing apparatus 2 according to the first embodiment.
  • FIG. 6 is a diagram showing an example of behavior log information and status log information acquired by the detection unit 10 of the information processing apparatus 2 according to the first embodiment.
  • FIG. 7 is a conceptual diagram for explaining the process of step S104 in the flowchart of FIG.
  • the application 14 is a video distribution application, and while the vehicle is traveling on the highway at about 80 km / h, a malicious third party exploits the vulnerability of the application 14 and illegally controls the process of the application 14.
  • the case of hijacking (so-called hacking) will be described.
  • the application 14 that has been illegally hijacked is an API (Application Programming Interface) (hereinafter referred to as "emergency braking API") for instructing the communication unit 6 to send a CAN message for performing emergency braking. Is issued.
  • the emergency brake may be unintentionally activated while the vehicle is traveling on the highway.
  • the emergency brake API shall be issued only in an emergency while driving at low speed.
  • the detection unit 10 acquires the behavior log information from the behavior recording unit 4 and the status log information from the communication unit 6 (S101).
  • the detection unit 10 acquires the behavior log information and the state log information as shown in FIG. 6, for example, every 0.1 sec.
  • the behavior log information includes a) time stamp, b) hook pointer A expression number, c) hook pointer B expression number, d) hook pointer C expression number, e) hook pointer D expression number, and f.
  • Communication message A and g) Communication message B are included.
  • the state log information includes a) time stamp, b) vehicle speed, c) acceleration, and d) steering angle.
  • the detection unit 10 calculates the first feature amount of the acquired behavior log information and the second feature amount of the state log information by using the judgment model included in the judgment reference information stored in the storage unit 8 (S102). ). The detection unit 10 calculates an evaluation value indicating the normality of the behavior of the application 14 from the calculated first feature amount and the second feature amount (S103).
  • the detection unit 10 determines whether or not the behavior of the application 14 is abnormal by comparing the likelihood of the evaluation value (normality) with the threshold value (S104). The detection unit 10 determines whether or not the behavior of the application 14 is abnormal, for example, every 0.1 sec by a so-called time-driven method.
  • the detection unit 10 determines that the behavior of the application 14 is abnormal (S105). On the other hand, when the likelihood of the evaluation value does not fall below the threshold value (NO in S104), the detection unit 10 determines that the behavior of the application 14 is normal (S106).
  • step S104 uses the behavior log information in the 6-dimensional space and the state log information in the 3D space shown in FIG. 6 as input data in the 9-dimensional space in total, and the input data in the 9-dimensional space. Is mapped into a two-dimensional space to separate the observation data at the time stamps "0.1", "0.2", "0.3” and "0.4" shown in FIG.
  • each observation data at the time stamps "0.1", “0.2”, “0.3” and “0.4” is mapped in the two-dimensional space.
  • each observation data in the time stamps "0.1” and "0.3” is included in the pre-learned normal behavior group (the area surrounded by the broken line in FIG. 7), but the time stamp "0.1"
  • Each observation data in "0.2” and "0.4” is not included in the pre-learned normal behavior group.
  • the hook pointer A expression number of the behavior log information is "18", which is an abnormal value. It is considered that this is because an abnormal memory access was executed when the process control of the application 14 was illegally hijacked.
  • the observation data at the time stamp “0.2” is preliminarily displayed as shown in FIG. 7 due to the abnormal value of the hook pointer A expression number of the behavior log information at the time stamp “0.2”. It is no longer included in the learned normal behavior group.
  • the detection unit 10 determines that the behavior of the application 14 at the time stamp “0.2” is abnormal.
  • the communication message A of the behavior log information is "emergency braking instruction”, and the vehicle speed of the status log information is "79 km / h”. It is considered that this is because the application 14 issued an emergency brake API to the communication unit 6 while the vehicle was traveling on the highway.
  • the communication message A of the behavior log information at the time stamp “0.4” is the “emergency brake instruction”, and the vehicle speed of the status log information is “79 km / h”.
  • the observation data at the time stamp “0.4” is not included in the pre-learned normal behavior group.
  • the detection unit 10 determines that the behavior of the application 14 at the time stamp “0.4” is abnormal.
  • the detection unit 10 detects an abnormality in the behavior of the application 14 based on the acquired behavior log information and status log information, and the determination criterion information stored in the storage unit 8.
  • the information processing device 2 can reliably detect an abnormality in the behavior of the application 14 caused by an attack on the vehicle such as hacking, and can enhance security measures in the vehicle.
  • FIG. 8 is a block diagram showing a configuration of the information processing device 2A according to the second embodiment.
  • FIG. 9 is a diagram showing an example of determination standard information according to the second embodiment.
  • the same configurations as those in the first embodiment are designated by the same reference numerals, and the description thereof will be omitted.
  • the abnormality detection unit 7A of the information processing device 2A includes a log storage unit 18 and a notification unit 20 in addition to the components described in the first embodiment. ..
  • the log storage unit 18 stores (accumulates) the behavior log information from the behavior recording unit 4 and the status log information from the communication unit 6.
  • the detection unit 10A reads and acquires the behavior log information and the status log information stored in the log storage unit 18, and is based on the acquired behavior log information and the status log information and the determination standard information stored in the storage unit 8A. The abnormality of the behavior of the application 14 is detected.
  • the notification unit 20 When the detection unit 10A detects an abnormality in the behavior of the application 14, the notification unit 20 notifies the outside (for example, an external server or a user's terminal device) to that effect. As a result, for example, it is possible to take measures such as forcibly stopping the application 14 that is behaving abnormally.
  • the storage unit 8A stores in advance white-list type rule-based judgment standard information indicating a judgment standard as to whether or not the behavior of the application 14 is normal. That is, the determination criterion information includes a determination model which is a rule-based model for determining whether or not the behavior of the application 14 is normal.
  • the judgment criterion information includes the normal behavior log information indicating the history of the normal behavior of the application 14 and the normal status log information indicating the history of the normal state of the vehicle, which are defined for each event. Includes.
  • the detection unit 10A uses a so-called event-driven method to acquire the behavior log information and the status log information for each event (for example, each time a task is generated), and the normal behavior log information and the normal status log included in the judgment criterion information. By comparing each of the information with each other, an abnormality in the behavior of the application 14 is detected.
  • the detection unit 10A detects that the behavior of the application 14 is normal.
  • the detection unit 10A detects that the behavior of the application 14 is abnormal.
  • FIG. 10 is a flowchart showing an operation flow of the detection unit 10A of the information processing apparatus 2A according to the second embodiment.
  • FIG. 11 is a diagram showing an example of behavior log information and status log information acquired by the detection unit 10A of the information processing device 2A according to the second embodiment, and determination standard information stored in the storage unit 8A.
  • the customer information of the user registered by the application 14 (including, for example, the user name and the usage history of the application 14) is, for example, at the start of car sharing (when the vehicle is stopped (0 km / h)). Only assume that it is sent to an external server. However, the application 14 that has been illegally hijacked reads the customer information at a timing other than the start of car sharing (for example, when the vehicle is running), and transmits the customer information to the external server via the communication unit 6. As a result, the customer information of the user may be leaked to the outside.
  • the detection unit 10A reads and acquires the behavior log information and the status log information from the log storage unit 18 (S201).
  • the detection unit 10A acquires the behavior log information and the state log information as shown in (a) of FIG. 11, for example.
  • the behavior log information includes a) time stamp, b) process ID, c) hook pointer name, d) hook pointer attribute 1, and e) hook pointer attribute 2.
  • the state log information includes a) time stamp, b) vehicle speed, c) acceleration, and d) steering angle.
  • the detection unit 10A performs pattern matching between the acquired behavior log information and status log information and the white list type rule-based judgment criterion information stored in the storage unit 8A (S202).
  • the storage unit 8A stores, for example, the white list type rule-based determination standard information as shown in FIG. 11B.
  • the normal behavior log information of the judgment criterion information includes a) time stamp, b) hook pointer name, c) hook pointer attribute 1, and d) hook pointer attribute 2.
  • the normal state log information of the judgment standard information includes a) a time stamp and b) a vehicle speed.
  • the detection unit 10A Determines that the behavior of the application 14 is abnormal (S204). On the other hand, if there is no behavior log information (or status log information) that does not match the normal behavior log information (or normal status log information) of the judgment criterion information that is the white list type rule base (NO in S203), it is detected. Part 10A determines that the behavior of the application 14 is normal (S205).
  • the detection unit 10A has the hook pointer name, hook pointer attribute 1 and hook pointer attribute 2 included in the behavior log information, and the hook pointer included in the normal behavior log information of the judgment criterion information for each event. Pattern matching is performed with the name, hook pointer attribute 1 and hook pointer attribute 2, and pattern matching is performed between the vehicle speed included in the status log information and the vehicle speed included in the normal status log information of the judgment criterion information.
  • the detection unit 10A determines that the behavior of the application 14 is normal.
  • the hook pointer attribute 1 "fileB” and the hook pointer attribute 2 "write” of the behavior log information are the hook pointer attribute 1 "fileA” and the hook pointer attribute 2 "fileA” of the normal behavior log information of the judgment criterion information, respectively. Does not match "read”. It is considered that this is because the file was written, which is not normally performed. As a result, since there is behavior log information that does not match the normal behavior log information of the judgment reference information, the detection unit 10A determines that the behavior of the application 14 in the event 2 is abnormal.
  • the hook pointer attribute 1 “communication device” of the status log information and the hook pointer attribute 2 “data transmission” are the hook pointer attribute 1 “communication device” and the hook pointer of the normal status log information of the judgment criterion information, respectively.
  • the vehicle speed "57 (km / h)" in the status log information does not match the vehicle speed "0 (km / h)” in the normal status log information of the judgment criterion information. It is considered that this is because the customer information is transmitted to the external server at a timing other than the start of car sharing (when the vehicle is stopped) (when the vehicle is running).
  • the detection unit 10A determines that the behavior of the application 14 in the event 3 is abnormal.
  • attack example 1 As an attack example 1, assuming that the application 14 is an autonomous driving application, a case where a malicious third party exploits the vulnerability of the application 14 and illegally hijacks the process control of the application 14 will be described.
  • the application 14 acquires sensor information from a sensor mounted on the vehicle in order to present information on the state of the vehicle to the user.
  • the sensor is, for example, a LiDAR (Light Detection And Ringing), a millimeter wave sensor, a camera sensor, or the like for detecting an object existing around the vehicle.
  • the illegally hijacked application 14 seizes the authority to transmit the sensor information that is not originally permitted, and transmits the illegal sensor information to, for example, the ADAS of the vehicle via the communication unit 6.
  • the invalid sensor information is, for example, sensor information indicating that the presence of the vehicle in front is detected even though the vehicle in front does not exist.
  • the ADAS receives the illegal sensor information from the application 14, the erroneous operation of the vehicle may be induced.
  • the detection unit 10A detects an abnormality in the behavior of the application 14 based on the acquired behavior log information and status log information, and the judgment criterion information stored in the storage unit 8A.
  • the state log information based on invalid sensor information for example, the state log information indicating "there is a vehicle in front”
  • the state log information based on other sensor information for example, the state indicating "no vehicle in front”
  • attack example 2 As an attack example 2, assuming that the application 14 is a delivery box application, a case where a malicious third party exploits the vulnerability of the application 14 and illegally hijacks the process control of the application 14 will be described. Here, the application 14 is used only when the vehicle is stopped (0 km / h), and is not used while the vehicle is running.
  • the fraudulently hijacked application 14 executes an authentication process for unlocking the trunk of the vehicle and orders the communication unit 6 to unlock the trunk of the vehicle. Issue the API of. As a result, the lock of the trunk may be unlocked while the vehicle is running, and the trunk may be opened unexpectedly.
  • the detection unit 10A detects an abnormality in the behavior of the application 14 based on the acquired behavior log information and status log information, and the judgment criterion information stored in the storage unit 8A.
  • the hook pointer attribute 1 "execution of the authentication process (of the home delivery box application)" of the status log information is the hook pointer attribute 1 "of the authentication process (of the home delivery box application)" of the normal status log information of the judgment criterion information.
  • the vehicle speed "57 (km / h)" in the status log information does not match the vehicle speed "0 (km / h)" in the normal status log information of the judgment standard information. It is determined that the behavior of the application 14 is abnormal.
  • attack example 3 As an attack example 3, assuming that the application 14 is an advertisement distribution application, a case where a malicious third party exploits the vulnerability of the application 14 and illegally hijacks the process control of the application 14 will be described.
  • the application 14 mainly operates when the vehicle is stopped (0 km / h) to display an advertisement to the user, and hardly operates while the vehicle is running.
  • the application 14 that has been illegally hijacked executes the download and installation of the mining tool and performs a high-load calculation.
  • CPU Central Processing Unit
  • the detection unit 10A detects an abnormality in the behavior of the application 14 based on the acquired behavior log information and status log information, and the judgment criterion information stored in the storage unit 8A. Specifically, since the number of hook pointers A expressed at the vehicle speed "57 (km / h)" in the state log information is abnormal, the detection unit 10A determines that the behavior of the application 14 is abnormal.
  • FIG. 12 is a block diagram showing a configuration of the information processing device 2B according to the third embodiment.
  • the abnormality detection unit 7B of the information processing device 2B includes a log storage unit 18 and an inference unit 22 in addition to the components described in the first embodiment. .. Since the log storage unit 18 has already been described in the second embodiment, the description thereof will be omitted here.
  • the inference unit 22 infers the state of the vehicle based on the state log information stored in the log storage unit 18.
  • the state of the vehicle is, for example, the vehicle speed, acceleration, steering angle, and the like of the vehicle.
  • the inference unit 22 outputs the inference result to the detection unit 10B.
  • the storage unit 8B stores in advance blacklist-type rule-based judgment standard information indicating a judgment standard as to whether or not the behavior of the application 14 is normal. That is, the determination criterion information includes a determination model which is a rule-based model for determining whether or not the behavior of the application 14 is normal. This determination criterion information includes the abnormal behavior log information indicating the history of the abnormal behavior of the application 14 and the abnormal state log information indicating the history of the abnormal state of the vehicle, which are defined for each event.
  • the detection unit 10B uses a so-called event-driven method to compare the acquired behavior log information and status log information with the abnormal behavior log information and abnormal status log information included in the judgment criterion information for each event, thereby applying the application. 14 Abnormal behaviors are detected. Further, the detection unit 10B detects an abnormality in the behavior of the application 14 in consideration of the inference result from the inference unit.
  • FIG. 13 is a flowchart showing an operation flow of the detection unit 10B of the information processing apparatus 2B according to the third embodiment.
  • the detection unit 10B reads and acquires the behavior log information and the status log information from the log storage unit 18 (S301).
  • the detection unit 10B performs pattern matching between the acquired behavior log information and status log information and the blacklist-type rule-based determination criterion information stored in the storage unit 8B (S302).
  • the detection unit 10B Determines that the behavior of the application 14 is abnormal (S304). On the other hand, if there is no behavior log information (or status log information) that matches the abnormal behavior log information (or abnormal status log information) of the judgment criterion information that is the blacklist type rule base (NO in S303), it is detected. Part 10B determines that the behavior of the application 14 is normal (S305).
  • FIG. 14 is a block diagram showing a configuration of the information processing device 2C according to the fourth embodiment.
  • the abnormality detection unit 7C of the information processing device 2C includes a log storage unit 18 and an inference unit 22C in addition to the components described in the first embodiment. .. Since the log storage unit 18 has already been described in the second embodiment, the description thereof will be omitted here.
  • the inference unit 22C infers the state of the vehicle based on the state log information received by the communication unit 6.
  • the inference unit 22C stores the inference result as state log information in the log storage unit 18.
  • the inference unit 22C may filter only the status log information useful for detecting the abnormality of the application 14 from the plurality of status log information received by the communication unit 6. In this case, the inference unit 22C infers the state of the vehicle based on the filtered state log information.
  • FIG. 15 is a block diagram showing a configuration of the information processing apparatus 2D according to the fifth embodiment.
  • the abnormality detection unit 7D of the information processing apparatus 2D includes an inference unit 22D in addition to the components described in the first embodiment.
  • the reasoning unit 22D infers the state of the vehicle based on the state information received by the communication unit 6.
  • the inference unit 22D outputs the inference result as state information to the detection unit 10D.
  • the inference unit 22D may filter only the state information useful for detecting the abnormality of the application 14 from the plurality of state information received by the communication unit 6. In this case, the inference unit 22D infers the state of the vehicle based on the filtered state information.
  • the detection unit 10D acquires the behavior information from the behavior recording unit 4 and the state information (inference result) from the inference unit 22D.
  • the detection unit 10D detects an abnormality in the behavior of the application 14 based on the acquired behavior information and state information and the determination reference information stored in the storage unit 8.
  • the state information and behavior information are not necessarily log information, for example, an abnormality can be detected based on the history of behavior information and the state information at a certain timing, or the behavior information and the history of state information at a certain timing can be used. It is also possible to detect anomalies based on this.
  • the information processing device As an application example of the information processing device according to the present disclosure, application to security measures in an in-vehicle network mounted on a vehicle such as an automobile has been described, but the scope of application of the information processing device according to the present disclosure. Is not limited to this.
  • the information processing device according to the present disclosure is not limited to vehicles such as automobiles, and may be applied to any mobility such as construction machinery, agricultural machinery, ships, railways, and airplanes.
  • the communication unit 6 is connected to the CAN bus 16, but is not limited to this, and is connected to any in-vehicle network such as Ethernet (registered trademark) or FlexRay (registered trademark). It may be connected to a virtual machine other than the software platform 12.
  • Ethernet registered trademark
  • FlexRay registered trademark
  • each component may be configured by dedicated hardware or may be realized by executing a software program suitable for each component.
  • Each component may be realized by a program execution unit such as a CPU or a processor reading and executing a software program recorded on a recording medium such as a hard disk or a semiconductor memory.
  • a part or all of the functions of the information processing apparatus according to each of the above embodiments may be realized by executing a program by a processor such as a CPU.
  • a part or all of the components constituting each of the above devices may be composed of an IC card or a single module that can be attached to and detached from each device.
  • the IC card or the module is a computer system composed of a microprocessor, a ROM, a RAM, and the like.
  • the IC card or the module may include the above-mentioned super multifunctional LSI.
  • the microprocessor operates according to a computer program, the IC card or the module achieves its function. This IC card or this module may have tamper resistance.
  • the present disclosure may be the method shown above. Further, it may be a computer program that realizes these methods by a computer, or it may be a digital signal composed of the computer program. Further, the present disclosure discloses that the computer program or a recording medium capable of reading the digital signal by a computer, for example, a flexible disk, a hard disk, a CD-ROM, an MO, a DVD, a DVD-ROM, a DVD-RAM, or a BD (Blu-ray). It may be recorded in a trademark) Disc), a semiconductor memory, or the like. Further, it may be the digital signal recorded on these recording media.
  • the computer program or the digital signal may be transmitted via a telecommunication line, a wireless or wired communication line, a network typified by the Internet, data broadcasting, or the like.
  • the present disclosure is a computer system including a microprocessor and a memory, in which the memory stores the computer program, and the microprocessor may operate according to the computer program. Further, it is carried out by another independent computer system by recording and transferring the program or the digital signal on the recording medium, or by transferring the program or the digital signal via the network or the like. It may be.
  • the present disclosure is useful, for example, in an information processing device for detecting an abnormality in an application operating on an in-vehicle device of a vehicle.

Abstract

情報処理装置(2)は、車両に搭載された車載機器上で動作するアプリケーション(14)の挙動が正常であるか否かの判断基準を示す判断基準情報を記憶する記憶部(8)と、アプリケーション(14)の挙動の履歴を示す挙動ログ情報を取得し、取得した挙動ログ情報及び記憶部(8)に記憶された判断基準情報に基づいて、アプリケーション(14)の挙動の異常を検出する検出部(10)とを備える。

Description

情報処理装置、制御方法及びプログラム
 本開示は、情報処理装置、制御方法及びプログラムに関する。
 特許文献1は、ボット等のコンピュータウイルスによる異常を検出する異常検出装置を開示する。特許文献1の異常検出装置では、プロセスによるファイルへのアクセス等をLSM(Linux(登録商標) Security Module)により監視し、例えばプロセスが本来アクセスすべきファイル以外のファイルにアクセスした場合に、コンピュータウイルスによる異常が発生したと判定する。
特開2010-182019号公報
 近年、車両の加減速、操舵及び制動等の運転操作を自動で行う自動運転システムの開発が進められている。この自動運転システムでは、悪意のある第三者が、例えば車両に搭載されたECU(Electronic Control Unit)に対して不正なCAN(Controller Area Network)メッセージを送信することにより、車両が攻撃されるおそれがある。上述した特許文献1の異常検出装置では、このような車両への攻撃について考慮されておらず、車両におけるセキュリティ対策が十分とは言えないという課題が生じる。
 そこで、本開示は、モビリティにおけるセキュリティ対策を高めることができる情報処理装置、制御方法及びプログラムを提供する。
 本開示の一態様に係る情報処理装置は、モビリティに搭載されたモビリティネットワークに接続される情報処理装置であって、前記モビリティに搭載された機器上で動作するアプリケーションの挙動が正常であるか否かの判断基準を示す判断基準情報を記憶する記憶部と、前記アプリケーションの挙動を示す挙動情報を取得し、取得した前記挙動情報及び前記記憶部に記憶された前記判断基準情報に基づいて、前記アプリケーションの挙動の異常を検出する検出部と、を備える。
 なお、これらの包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータで読み取り可能なCD-ROM(Compact Disc-Read Only Memory)等の記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
 本開示の一態様に係る情報処理装置等によれば、モビリティにおけるセキュリティ対策を高めることができる。
図1は、実施の形態1に係る情報処理装置の構成を示すブロック図である。 図2は、実施の形態1に係る挙動ログ情報の一例を示す図である。 図3は、実施の形態1に係る状態ログ情報の一例を示す図である。 図4Aは、実施の形態1に係る状態ログ情報の他の例を示す図である。 図4Bは、実施の形態1に係る状態ログ情報の他の例を示す図である。 図5は、実施の形態1に係る情報処理装置の検出部の動作の流れを示すフローチャートである。 図6は、実施の形態1に係る情報処理装置の検出部により取得される挙動ログ情報及び状態ログ情報の一例を示す図である。 図7は、図5のフローチャートのステップS104の処理を説明するための概念図である。 図8は、実施の形態2に係る情報処理装置の構成を示すブロック図である。 図9は、実施の形態2に係る判断基準情報の一例を示す図である。 図10は、実施の形態2に係る情報処理装置の検出部の動作の流れを示すフローチャートである。 図11は、実施の形態2に係る情報処理装置の検出部により取得される挙動ログ情報及び状態ログ情報、並びに、記憶部に記憶された判断基準情報の一例を示す図である。 図12は、実施の形態3に係る情報処理装置の構成を示すブロック図である。 図13は、実施の形態3に係る情報処理装置の検出部の動作の流れを示すフローチャートである。 図14は、実施の形態4に係る情報処理装置の構成を示すブロック図である。 図15は、実施の形態5に係る情報処理装置の構成を示すブロック図である。
 本開示の一態様に係る情報処理装置は、モビリティに搭載されたモビリティネットワークに接続される情報処理装置であって、前記モビリティに搭載された機器上で動作するアプリケーションの挙動が正常であるか否かの判断基準を示す判断基準情報を記憶する記憶部と、前記アプリケーションの挙動を示す挙動情報を取得し、取得した前記挙動情報及び前記記憶部に記憶された前記判断基準情報に基づいて、前記アプリケーションの挙動の異常を検出する検出部と、を備える。
 本態様によれば、検出部は、アプリケーションの挙動を示す挙動情報を取得し、取得した挙動情報及び記憶部に記憶された判断基準情報に基づいて、アプリケーションの挙動の異常を検出する。これにより、モビリティへの攻撃に起因するアプリケーションの挙動の異常を確実に検出することができ、モビリティにおけるセキュリティ対策を高めることができる。
 例えば、前記検出部は、前記モビリティネットワークから取得した前記モビリティの状態を示す状態情報と、前記挙動情報と、前記記憶部に記憶された前記判断基準情報とに基づいて、前記アプリケーションの挙動の異常を検出するように構成してもよい。
 本態様によれば、検出部は、挙動情報に加えて状態情報をも考慮して、アプリケーションの挙動の異常を検出する。これにより、モビリティへの攻撃に起因するアプリケーションの挙動の異常をより一層確実に検出することができ、モビリティにおけるセキュリティ対策をより一層高めることができる。
 例えば、前記判断基準情報は、前記アプリケーションの挙動の異常を検出するための判定モデルとして、前記アプリケーションの挙動及び前記モビリティの状態の少なくとも一方に関するルールベースモデル又は機械学習モデルを含み、前記検出部は、前記挙動情報及び前記状態情報に前記判定モデルを適用することにより、前記アプリケーションの挙動の異常を検出するように構成してもよい。
 本態様によれば、挙動情報及び状態情報に対して、ルールベースモデル又は機械学習モデルである判定モデルを適用することにより、アプリケーションの挙動の異常を精度良く検出することができる。
 例えば、前記判断基準情報は、前記アプリケーションの正常な挙動の履歴を示す正常挙動ログ情報、及び、前記モビリティの正常な状態の履歴を示す正常状態ログ情報を含み、前記検出部は、取得した前記挙動情報の履歴及び前記状態情報の履歴と、前記判断基準情報に含まれる前記正常挙動ログ情報及び前記正常状態ログ情報とをそれぞれ比較することにより、前記アプリケーションの挙動の異常を検出するように構成してもよい。
 本態様によれば、判定基準情報により、モビリティの状態毎にアプリケーションの正常な挙動を定義することが可能となる。その結果、検出部は、取得した挙動情報の履歴及び状態情報の履歴と、判断基準情報に含まれる正常挙動ログ情報及び正常状態ログ情報とをそれぞれ比較することにより、アプリケーションの挙動の異常を精度良く検出することができる。
 例えば、前記判断基準情報は、前記アプリケーションの異常な挙動の履歴を示す異常挙動ログ情報、及び、前記モビリティの異常な状態の履歴を示す異常状態ログ情報を含み、前記検出部は、取得した前記挙動情報の履歴及び前記状態情報の履歴と、前記判断基準情報に含まれる前記異常挙動ログ情報及び前記異常状態ログ情報とをそれぞれ比較することにより、前記アプリケーションの挙動の異常を検出するように構成してもよい。
 本態様によれば、判定基準情報により、モビリティの状態毎にアプリケーションの異常な挙動を定義することが可能となる。その結果、検出部は、取得した挙動情報の履歴及び状態情報の履歴と、判断基準情報に含まれる異常挙動ログ情報及び異常状態ログ情報とをそれぞれ比較することにより、アプリケーションの挙動の異常を精度良く検出することができる。
 例えば、前記判断基準情報は、機械学習により予め生成された、前記アプリケーションの挙動の正常らしさを判定するための判定モデルを含み、前記検出部は、前記判定モデルを用いて、取得した前記挙動情報の履歴から第1の特徴量を算出し、且つ、前記状態情報の履歴から第2の特徴量を算出し、算出した前記第1の特徴量及び前記第2の特徴量から前記アプリケーションの挙動の正常らしさを示す評価値を算出し、前記評価値の尤度と閾値とを比較することにより、前記アプリケーションの挙動の異常を検出するように構成してもよい。
 本態様によれば、検出部は、判定基準情報に含まれる機械学習の判定モデルを用いて、アプリケーションの挙動の異常を精度良く検出することができる。
 例えば、前記情報処理装置は、さらに、前記状態情報に基づいて、前記モビリティの状態を推論する推論部を備え、前記検出部は、前記推論部の推論結果を加味して、前記アプリケーションの挙動の異常を検出するように構成してもよい。
 本態様によれば、検出部は、推論部の推論結果を加味して、アプリケーションの挙動の異常をより一層精度良く検出することができる。
 例えば、前記情報処理装置は、さらに、前記検出部が前記アプリケーションの挙動の異常を検出した際に、外部にその旨を通知する通知部を備えるように構成してもよい。
 本態様によれば、通知部は、アプリケーションの挙動の異常を外部に通知するので、例えばアプリケーションを強制的に停止するなどの処置を迅速に行うことができる。
 本開示の一態様に係る制御方法は、モビリティに搭載されたモビリティネットワークに接続される情報処理装置における制御方法であって、前記モビリティに搭載された機器上で動作するアプリケーションの挙動を示す挙動情報を取得するステップと、取得した前記挙動情報、及び、前記アプリケーションの挙動が正常であるか否かの判断基準を示し且つ記憶部に予め記憶された判断基準情報に基づいて、前記アプリケーションの挙動の異常を検出するステップと、を含む。
 本態様によれば、アプリケーションの挙動の履歴を示す挙動情報を取得し、取得した挙動情報及び記憶部に記憶された判断基準情報に基づいて、アプリケーションの挙動の異常を検出する。これにより、モビリティへの攻撃に起因するアプリケーションの挙動の異常を確実に検出することができ、モビリティにおけるセキュリティ対策を高めることができる。
 本開示の一態様に係るプログラムは、上述した制御方法をコンピュータに実行させる。
 なお、これらの包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータで読み取り可能なCD-ROM等の記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム又は記録媒体の任意な組み合わせで実現されてもよい。
 以下、実施の形態について、図面を参照しながら具体的に説明する。
 なお、以下で説明する実施の形態は、いずれも包括的又は具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序等は、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
 (実施の形態1)
 [1.情報処理装置の構成]
 まず、図1~図4Bを参照しながら、実施の形態1に係る情報処理装置2の構成について説明する。図1は、実施の形態1に係る情報処理装置2の構成を示すブロック図である。図2は、実施の形態1に係る挙動ログ情報の一例を示す図である。図3は、実施の形態1に係る状態ログ情報の一例を示す図である。図4A及び図4Bは、実施の形態1に係る状態ログ情報の他の例を示す図である。
 本実施の形態の情報処理装置2は、例えば自動車等の車両(モビリティの一例)に搭載されている。車両には、当該車両の加減速、操舵及び制動等の運転操作を自動で行うように制御するための自動運転システムが搭載されている。
 図1に示すように、情報処理装置2は、挙動記録部4と、通信部6と、異常検出部7とを備えている。
 挙動記録部4は、ソフトウェアプラットフォーム12上で動作する複数のアプリケーション14の各々の挙動(振る舞い)の履歴を示す挙動ログ情報を記録する。なお、挙動ログ情報は、アプリケーションの挙動を示す挙動情報の履歴の一例である。挙動記録部4は、例えばプロセスがOS(Operating System)に対して発行するシステムコール処理をフックすることにより、挙動ログ情報を収集し記録する。挙動記録部4は、記録した挙動ログ情報を検出部10に出力する。
 なお、アプリケーション14は、例えば車両の車載機器(機器の一例)上で動作するアプリケーションプログラムである。具体的には、アプリケーション14は、例えば、a)動画を配信するための動画配信アプリケーション、b)バックグラウンドで動作し、ユーザに対して広告を提示するための広告配信アプリケーション、c)車両のトランクを宅配ボックスとして使用するための宅配ボックスアプリケーション、d)カーシェアサービスを利用するためのカーシェアアプリケーション、e)ライドシェアサービスを利用するためのライドシェアアプリケーション、及び、f)先進運転者支援システム(ADAS:Advanced Driver Assistance System)を実行するための自動運転アプリケーション等である。
 ソフトウェアプラットフォーム12は、例えばハイパーバイザー上で動作する仮想マシンであり、モビリティサービスプラットフォームとして機能する。なお、ハイパーバイザー上で動作する仮想マシンとしては、上述したモビリティサービスプラットフォーム用の仮想マシンの他に、例えばADAS用の仮想マシン等が存在する。
 ここで、図2を参照しながら、挙動記録部4により記録される挙動ログ情報の一例について説明する。図2に示す例では、挙動ログ情報は、a)タイムスタンプ、b)プロセス名、c)プロセスID(Identification)、d)フックポインタ名称、e)フックポインタ属性1、及び、f)フックポインタ属性2等を含んでいる。タイムスタンプは、挙動ログ情報が記録された時刻を示す情報である。プロセス名及びプロセスIDは、OSに対してシステムコール処理を発行したプロセスを示す情報である。フックポインタ名称及びフックポインタ属性は、プロセスがOSに対して発行したシステムコール処理を示す情報である。
 図1に戻り、通信部6は、CANバス16(モビリティネットワークの一例)に接続されており、CANバス16から車両の状態の履歴を示す状態ログ情報を受信する。なお、状態ログ情報は、車両の状態を示す状態情報の履歴の一例である。通信部6は、受信した状態ログ情報を検出部10に出力する。CANバス16は、CANプロトコルに従ったCANメッセージを通信するための車載ネットワークであり、車両に搭載されている。
 ここで、図3を参照しながら、通信部6により受信される状態ログ情報の一例について説明する。図3に示す例では、状態ログ情報は、a)タイムスタンプ、b)車速、c)加速度、及び、d)操舵角等を含んでいる。タイムスタンプは、状態ログ情報が記録された時刻を示す情報である。車速は、車両の速度を示す情報である。加速度は、車両の加速度を示す情報である。操舵角は、車両のステアリングホイールの操舵角を示す情報である。なお、車速、加速度及び操舵角等は、車両に搭載された各種センサにより取得される。
 状態ログ情報は、上述した例の他に、例えば図4Aに示すように、a)タイムスタンプ、b)通信部名称、c)通信部属性1、d)通信部属性2、及び、e)通信部属性3等を含んでいてもよい。あるいは、状態ログ情報は、例えば図4Bに示すように、a)タイムスタンプ、b)IDフィールド、及び、c)データフィールド等を含んでいてもよい。
 図1に戻り、異常検出部7は、記憶部8と、検出部10とを備えている。記憶部8は、アプリケーション14の挙動が正常であるか否かの判断基準を示す判断基準情報を予め記憶している。本実施の形態では、判断基準情報は、機械学習により予め生成された、アプリケーション14の挙動の正常らしさを判定するための機械学習モデルである判定モデルを含んでいる。なお、本実施の形態では、個々のアプリケーション14毎に正常な挙動を定義(学習)するようにしたが、これに限定されず、関連する複数のアプリケーション14を含むアプリケーション群毎に、又は、情報処理装置2を含むシステム単位で、正常な挙動を定義するようにしてもよい。
 検出部10は、挙動記録部4からの挙動ログ情報と、通信部6からの状態ログ情報とを取得する。検出部10は、取得した挙動ログ情報及び状態ログ情報、並びに、記憶部8に記憶された判断基準情報に基づいて、アプリケーション14の挙動の異常を検出する。具体的には、検出部10は、判断基準情報に含まれる判定モデルを用いて、取得した挙動ログ情報の第1の特徴量及び状態ログ情報の第2の特徴量を算出する。検出部10は、算出した第1の特徴量及び第2の特徴量からアプリケーション14の挙動の正常らしさを示す評価値を算出し、評価値の尤度と閾値とを比較することにより、アプリケーション14の挙動の異常を検出する。
 [1-2.検出部の動作]
 次に、図5~図7を参照しながら、検出部10の動作について説明する。図5は、実施の形態1に係る情報処理装置2の検出部10の動作の流れを示すフローチャートである。図6は、実施の形態1に係る情報処理装置2の検出部10により取得される挙動ログ情報及び状態ログ情報の一例を示す図である。図7は、図5のフローチャートのステップS104の処理を説明するための概念図である。
 以下、アプリケーション14が動画配信アプリケーションであり、且つ、車両が高速道路を約80km/hで走行中に、悪意のある第三者がアプリケーション14の脆弱性を突き、アプリケーション14のプロセス制御を不正に乗っ取る(いわゆる、ハッキング)場合について説明する。この場合、不正に乗っ取られたアプリケーション14は、通信部6に対して、緊急ブレーキを行うCANメッセージを送信するように命令するためのAPI(Application Programming Interface)(以下、「緊急ブレーキAPI」という)を発行する。これにより、車両が高速道路を走行中に、緊急ブレーキが意図せず発動するおそれがある。前提として、緊急ブレーキAPIは、低速走行中の緊急時のみに発行されるものとする。
 図5に示すように、検出部10は、挙動記録部4からの挙動ログ情報、及び、通信部6からの状態ログ情報を取得する(S101)。ここで、検出部10は、例えば図6に示すような挙動ログ情報及び状態ログ情報を、0.1sec毎に取得する。図6に示す例では、挙動ログ情報は、a)タイムスタンプ、b)フックポインタA発現数、c)フックポインタB発現数、d)フックポインタC発現数、e)フックポインタD発現数、f)通信メッセージA、及び、g)通信メッセージBを含んでいる。また、状態ログ情報は、a)タイムスタンプ、b)車速、c)加速度、及び、d)操舵角を含んでいる。
 検出部10は、記憶部8に記憶された判断基準情報に含まれる判定モデルを用いて、取得した挙動ログ情報の第1の特徴量及び状態ログ情報の第2の特徴量を算出する(S102)。検出部10は、算出した第1の特徴量及び第2の特徴量からアプリケーション14の挙動の正常らしさを示す評価値を算出する(S103)。
 検出部10は、評価値(正常らしさ)の尤度と閾値とを比較することにより(S104)、アプリケーション14の挙動が異常であるか否かを判定する。なお、検出部10は、いわゆるタイムドリブン方式により、例えば0.1sec毎にアプリケーション14の挙動が異常であるか否かを判定する。
 評価値の尤度が閾値を下回る場合には(S104でYES)、検出部10は、アプリケーション14の挙動が異常であると判定する(S105)。一方、評価値の尤度が閾値を下回らない場合には(S104でNO)、検出部10は、アプリケーション14の挙動が正常であると判定する(S106)。
 ここで、図6及び図7を参照しながら、上述したステップS104の処理について具体的に説明する。検出部10は、所定の機械学習法を用いて、図6に示す6次元空間の挙動ログ情報及び3次元空間の状態ログ情報を合計9次元空間の入力データとし、この9次元空間の入力データを2次元空間に写像することにより、図6に示すタイムスタンプ「0.1」、「0.2」、「0.3」及び「0.4」における各観測データを分離する。
 これにより、例えば図7に示すように、タイムスタンプ「0.1」、「0.2」、「0.3」及び「0.4」における各観測データが2次元空間に写像される。この時、タイムスタンプ「0.1」及び「0.3」における各観測データは、事前に学習された正常な挙動群(図7において破線で囲まれた領域)に含まれるが、タイムスタンプ「0.2」及び「0.4」における各観測データは、事前に学習された正常な挙動群に含まれない。
 具体的には、図6に示すように、タイムスタンプ「0.2」において、挙動ログ情報のフックポインタA発現数が「18」と異常値を示している。これは、アプリケーション14のプロセス制御が不正に乗っ取られた際に、異常なメモリアクセスが実行されたためであると考えられる。これにより、タイムスタンプ「0.2」における挙動ログ情報のフックポインタA発現数が異常値であることに起因して、図7に示すようにタイムスタンプ「0.2」における観測データが事前に学習された正常な挙動群に含まれなくなる。その結果、評価値の尤度が閾値を下回るため、検出部10は、タイムスタンプ「0.2」におけるアプリケーション14の挙動が異常であると判定する。
 また、図6に示すように、タイムスタンプ「0.4」において、挙動ログ情報の通信メッセージAが「緊急ブレーキ指示」であり、且つ、状態ログ情報の車速が「79km/h」である。これは、車両が高速道路を走行中に、アプリケーション14から通信部6に対して緊急ブレーキAPIが発行されたためであると考えられる。これにより、タイムスタンプ「0.4」における挙動ログ情報の通信メッセージAが「緊急ブレーキ指示」であり、且つ、状態ログ情報の車速が「79km/h」であることに起因して、図7に示すようにタイムスタンプ「0.4」における観測データが事前に学習された正常な挙動群に含まれなくなる。その結果、評価値の尤度が閾値を下回るため、検出部10は、タイムスタンプ「0.4」におけるアプリケーション14の挙動が異常であると判定する。
 [1-3.効果]
 上述したように、検出部10は、取得した挙動ログ情報及び状態ログ情報、並びに、記憶部8に記憶された判断基準情報に基づいて、アプリケーション14の挙動の異常を検出する。これにより、情報処理装置2は、例えばハッキング等の車両への攻撃に起因するアプリケーション14の挙動の異常を確実に検出することができ、車両におけるセキュリティ対策を高めることができる。
 (実施の形態2)
 [2-1.情報処理装置の構成]
 次に、図8及び図9を参照しながら、実施の形態2に係る情報処理装置2Aの構成について説明する。図8は、実施の形態2に係る情報処理装置2Aの構成を示すブロック図である。図9は、実施の形態2に係る判断基準情報の一例を示す図である。なお、以下に示す各実施の形態において、上記実施の形態1と同一の構成には同一の符号を付して、その説明を省略する。
 図8に示すように、実施の形態2に係る情報処理装置2Aの異常検出部7Aは、上記実施の形態1で説明した構成要素に加えて、ログ記憶部18及び通知部20を備えている。
 ログ記憶部18は、挙動記録部4からの挙動ログ情報、及び、通信部6からの状態ログ情報を記憶(蓄積)する。検出部10Aは、ログ記憶部18に記憶された挙動ログ情報及び状態ログ情報を読み出して取得し、取得した挙動ログ情報及び状態ログ情報、並びに、記憶部8Aに記憶された判断基準情報に基づいて、アプリケーション14の挙動の異常を検出する。
 通知部20は、検出部10Aによりアプリケーション14の挙動の異常が検出された際に、外部(例えば外部サーバ又はユーザの端末装置等)にその旨を通知する。これにより、例えば異常な挙動をしているアプリケーション14を強制的に停止するなどの処置を行うことができる。
 記憶部8Aは、アプリケーション14の挙動が正常であるか否かの判断基準を示す、ホワイトリスト型のルールベースである判断基準情報を予め記憶している。すなわち、判断基準情報は、アプリケーション14の挙動が正常であるか否かを判定するためのルールベースモデルである判定モデルを含んでいる。ここで、図9を参照しながら、記憶部8Aに記憶された判断基準情報の一例について説明する。図9に示す例では、判断基準情報は、イベント毎に定義された、アプリケーション14の正常な挙動の履歴を示す正常挙動ログ情報、及び、車両の正常な状態の履歴を示す正常状態ログ情報を含んでいる。
 検出部10Aは、いわゆるイベントドリブン方式により、イベント毎(例えば、タスクが生成される毎)に、取得した挙動ログ情報及び状態ログ情報と、判断基準情報に含まれる正常挙動ログ情報及び正常状態ログ情報とをそれぞれ比較することにより、アプリケーション14の挙動の異常を検出する。
 具体的には、判断基準情報の全てのイベント(イベント1、イベント2、・・・、イベントn)において、取得した挙動ログ情報及び状態ログ情報と、判断基準情報に含まれる正常挙動ログ情報及び正常状態ログ情報とがそれぞれマッチする場合に、検出部10Aは、アプリケーション14の挙動が正常であると検出する。一方、判断基準情報のいずれかのイベントにおいて、取得した挙動ログ情報(又は状態ログ情報)と、判断基準情報に含まれる正常挙動ログ情報(又は正常状態ログ情報)とがマッチしない場合に、検出部10Aは、アプリケーション14の挙動が異常であると検出する。
 [2-2.検出部の動作]
 次に、図10及び図11を参照しながら、検出部10Aの動作について説明する。図10は、実施の形態2に係る情報処理装置2Aの検出部10Aの動作の流れを示すフローチャートである。図11は、実施の形態2に係る情報処理装置2Aの検出部10Aにより取得される挙動ログ情報及び状態ログ情報、並びに、記憶部8Aに記憶された判断基準情報の一例を示す図である。
 以下、アプリケーション14がカーシェアアプリケーションであることを前提として、悪意のある第三者がアプリケーション14の脆弱性を突き、アプリケーション14のプロセス制御を不正に乗っ取る場合について説明する。ここで、アプリケーション14により登録されたユーザの顧客情報(例えば、利用者名及びアプリケーション14の利用履歴等を含む)は、例えば、カーシェアの開始時(車両の停車時(0km/h))にのみ外部サーバに送信されるものと仮定する。しかしながら、不正に乗っ取られたアプリケーション14は、カーシェアの開始時以外のタイミング(例えば車両の走行時)で顧客情報を読み出し、通信部6を介して外部サーバに当該顧客情報を送信する。これにより、ユーザの顧客情報が外部に流出するおそれがある。
 図10に示すように、検出部10Aは、ログ記憶部18から挙動ログ情報及び状態ログ情報を読み出して取得する(S201)。ここで、検出部10Aは、例えば図11の(a)に示すような挙動ログ情報及び状態ログ情報を取得する。図11の(a)に示す例では、挙動ログ情報は、a)タイムスタンプ、b)プロセスID、c)フックポインタ名称、d)フックポインタ属性1、及び、e)フックポインタ属性2を含んでいる。また、状態ログ情報は、a)タイムスタンプ、b)車速、c)加速度、及び、d)操舵角を含んでいる。
 検出部10Aは、取得した挙動ログ情報及び状態ログ情報と、記憶部8Aに記憶されたホワイトリスト型のルールベースである判断基準情報とのパターンマッチングを行う(S202)。ここで、記憶部8Aは、例えば図11の(b)に示すようなホワイトリスト型のルールベースである判断基準情報を記憶している。図11の(b)に示す例では、判断基準情報の正常挙動ログ情報は、a)タイムスタンプ、b)フックポインタ名称、c)フックポインタ属性1、及び、d)フックポインタ属性2を含んでいる。また、判断基準情報の正常状態ログ情報は、a)タイムスタンプ、及び、b)車速を含んでいる。
 ホワイトリスト型のルールベースである判断基準情報の正常挙動ログ情報(又は正常状態ログ情報)とマッチしない挙動ログ情報(又は状態ログ情報)が存在する場合には(S203でYES)、検出部10Aは、アプリケーション14の挙動が異常であると判定する(S204)。一方、ホワイトリスト型のルールベースである判断基準情報の正常挙動ログ情報(又は正常状態ログ情報)とマッチしない挙動ログ情報(又は状態ログ情報)が存在しない場合には(S203でNO)、検出部10Aは、アプリケーション14の挙動が正常であると判定する(S205)。
 ここで、図11を参照しながら、上述したステップS203の処理について具体的に説明する。図11に示す例では、検出部10Aは、イベント毎に、挙動ログ情報に含まれるフックポインタ名称、フックポインタ属性1及びフックポインタ属性2と、判断基準情報の正常挙動ログ情報に含まれるフックポインタ名称、フックポインタ属性1及びフックポインタ属性2とのパターンマッチングを行うとともに、状態ログ情報に含まれる車速と、判断基準情報の正常状態ログ情報に含まれる車速とのパターンマッチングを行う。
 図11に示すように、イベント1では、判断基準情報とマッチしない挙動ログ情報及び/又は状態ログ情報が存在しないため、検出部10Aは、アプリケーション14の挙動が正常であると判定する。
 また、イベント2では、挙動ログ情報のフックポインタ属性1「fileB」及びフックポインタ属性2「write」はそれぞれ、判断基準情報の正常挙動ログ情報のフックポインタ属性1「fileA」及びフックポインタ属性2「read」とマッチしない。これは、通常行われないファイルへの書き込みが行われたためであると考えられる。これにより、判断基準情報の正常挙動ログ情報とマッチしない挙動ログ情報が存在するため、検出部10Aは、イベント2におけるアプリケーション14の挙動が異常であると判定する。
 また、イベント3では、状態ログ情報のフックポインタ属性1「通信機器」及びフックポインタ属性2「データ送信」はそれぞれ、判断基準情報の正常状態ログ情報のフックポインタ属性1「通信機器」及びフックポインタ属性2「データ送信」とマッチするが、状態ログ情報の車速「57(km/h)」は、判断基準情報の正常状態ログ情報の車速「0(km/h)」とマッチしない。これは、カーシェアの開始時(車両の停止時)以外のタイミング(車両の走行時)で、外部サーバへの顧客情報の送信が行われたためであると考えられる。これにより、判断基準情報の正常状態ログ情報とマッチしない状態ログ情報が存在するため、検出部10Aは、イベント3におけるアプリケーション14の挙動が異常であると判定する。
 したがって、本実施の形態においても、上記実施の形態1と同様の効果を得ることができる。
 [2-3.車両への他の攻撃例]
 以下、車両への他の攻撃例1~3について説明する。
 [2-3-1.攻撃例1]
 攻撃例1として、アプリケーション14が自動運転アプリケーションであることを前提として、悪意のある第三者がアプリケーション14の脆弱性を突き、アプリケーション14のプロセス制御を不正に乗っ取る場合について説明する。
 ここで、アプリケーション14は、ユーザに対して車両の状態に関する情報を提示するために、車両に搭載されたセンサからのセンサ情報を取得する。なお、センサは、例えば車両の周囲に存在する物体を検出するためのLiDAR(Light Detection And Ranging)、ミリ波センサ又はカメラセンサ等である。
 この場合、不正に乗っ取られたアプリケーション14は、本来は許可されていないセンサ情報を送信する権限を奪取し、通信部6を介して不正なセンサ情報を例えば車両のADASに送信する。なお、不正なセンサ情報は、例えば前方車両が存在しないにも拘らず、前方車両の存在を検出したことを示すセンサ情報等である。ADASがアプリケーション14からの不正なセンサ情報を受信することにより、車両の誤操作が誘発されるおそれがある。
 この攻撃例1においても、検出部10Aは、取得した挙動ログ情報及び状態ログ情報、並びに、記憶部8Aに記憶された判断基準情報に基づいて、アプリケーション14の挙動の異常を検出する。具体的には、不正なセンサ情報に基づく状態ログ情報(例えば、「前方車両あり」を示す状態ログ情報)が、他のセンサ情報に基づく状態ログ情報(例えば、「前方車両無し」を示す状態ログ情報)とは反しているため、検出部10Aは、アプリケーション14の挙動が異常であると判定する。
 [2-3-2.攻撃例2]
 攻撃例2として、アプリケーション14が宅配ボックスアプリケーションであることを前提として、悪意のある第三者がアプリケーション14の脆弱性を突き、アプリケーション14のプロセス制御を不正に乗っ取る場合について説明する。ここで、アプリケーション14は、車両の停車時(0km/h)にのみ使用され、車両の走行中は使用されない。
 この場合、不正に乗っ取られたアプリケーション14は、車両のトランクのロックを開錠するための認証プロセスを実行し、通信部6に対して、車両のトランクのロックを開錠するように命令するためのAPIを発行する。これにより、車両の走行中にトランクのロックが開錠され、トランクが不意に開くおそれがある。
 この攻撃例2においても、検出部10Aは、取得した挙動ログ情報及び状態ログ情報、並びに、記憶部8Aに記憶された判断基準情報に基づいて、アプリケーション14の挙動の異常を検出する。具体的には、状態ログ情報のフックポインタ属性1「(宅配ボックスアプリケーションの)認証プロセスの実行」は、判断基準情報の正常状態ログ情報のフックポインタ属性1「(宅配ボックスアプリケーションの)認証プロセスの実行」とマッチするが、状態ログ情報の車速「57(km/h)」は、判断基準情報の正常状態ログ情報の車速「0(km/h)」とマッチしないため、検出部10Aは、アプリケーション14の挙動が異常であると判定する。
 [2-3-3.攻撃例3]
 攻撃例3として、アプリケーション14が広告配信アプリケーションであることを前提として、悪意のある第三者がアプリケーション14の脆弱性を突き、アプリケーション14のプロセス制御を不正に乗っ取る場合について説明する。ここで、アプリケーション14は、主に車両の停車時(0km/h)に動作して、ユーザに対して広告を表示するものであり、車両の走行中にはほとんど動作しない。
 この場合、不正に乗っ取られたアプリケーション14は、マイニングツールのダウンロード及びインストールを実行し、高負荷の演算を行う。これにより、CPU(Central Processing Unit)リソースが枯渇し、他のアプリケーション14の動作に悪影響を与えるおそれがある。
 この攻撃例3においても、検出部10Aは、取得した挙動ログ情報及び状態ログ情報、並びに、記憶部8Aに記憶された判断基準情報に基づいて、アプリケーション14の挙動の異常を検出する。具体的には、状態ログ情報の車速「57(km/h)」におけるフックポインタA発現数が異常であるため、検出部10Aは、アプリケーション14の挙動が異常であると判定する。
 (実施の形態3)
 [3-1.情報処理装置の構成]
 次に、図12を参照しながら、実施の形態3に係る情報処理装置2Bの構成について説明する。図12は、実施の形態3に係る情報処理装置2Bの構成を示すブロック図である。
 図12に示すように、実施の形態3に係る情報処理装置2Bの異常検出部7Bは、上記実施の形態1で説明した構成要素に加えて、ログ記憶部18及び推論部22を備えている。ログ記憶部18については実施の形態2で既述したので、ここでの説明を省略する。
 推論部22は、ログ記憶部18に記憶された状態ログ情報に基づいて、車両の状態を推論する。車両の状態とは、例えば車両の車速、加速度及び操舵角等である。推論部22は、推論結果を検出部10Bに出力する。
 記憶部8Bは、アプリケーション14の挙動が正常であるか否かの判断基準を示す、ブラックリスト型のルールベースである判断基準情報を予め記憶している。すなわち、判断基準情報は、アプリケーション14の挙動が正常であるか否かを判定するためのルールベースモデルである判定モデルを含んでいる。この判断基準情報は、イベント毎に定義された、アプリケーション14の異常な挙動の履歴を示す異常挙動ログ情報、及び、車両の異常な状態の履歴を示す異常状態ログ情報を含んでいる。
 検出部10Bは、いわゆるイベントドリブン方式により、イベント毎に、取得した挙動ログ情報及び状態ログ情報と、判断基準情報に含まれる異常挙動ログ情報及び異常状態ログ情報とをそれぞれ比較することにより、アプリケーション14の挙動の異常を検出する。また、検出部10Bは、推論部からの推論結果を加味して、アプリケーション14の挙動の異常を検出する。
 [3-2.検出部の動作]
 次に、図13を参照しながら、検出部10Bの動作について説明する。図13は、実施の形態3に係る情報処理装置2Bの検出部10Bの動作の流れを示すフローチャートである。
 図13に示すように、検出部10Bは、ログ記憶部18から挙動ログ情報及び状態ログ情報を読み出して取得する(S301)。検出部10Bは、取得した挙動ログ情報及び状態ログ情報と、記憶部8Bに記憶されたブラックリスト型のルールベースである判断基準情報とのパターンマッチングを行う(S302)。
 ブラックリスト型のルールベースである判断基準情報の異常挙動ログ情報(又は異常状態ログ情報)とマッチする挙動ログ情報(又は状態ログ情報)が存在する場合には(S303でYES)、検出部10Bは、アプリケーション14の挙動が異常であると判定する(S304)。一方、ブラックリスト型のルールベースである判断基準情報の異常挙動ログ情報(又は異常状態ログ情報)とマッチする挙動ログ情報(又は状態ログ情報)が存在しない場合には(S303でNO)、検出部10Bは、アプリケーション14の挙動が正常であると判定する(S305)。
 したがって、本実施の形態においても、上記実施の形態1と同様の効果を得ることができる。
 (実施の形態4)
 次に、図14を参照しながら、実施の形態4に係る情報処理装置2Cの構成について説明する。図14は、実施の形態4に係る情報処理装置2Cの構成を示すブロック図である。
 図14に示すように、実施の形態4に係る情報処理装置2Cの異常検出部7Cは、上記実施の形態1で説明した構成要素に加えて、ログ記憶部18及び推論部22Cを備えている。ログ記憶部18については実施の形態2で既述したので、ここでの説明を省略する。
 推論部22Cは、通信部6により受信された状態ログ情報に基づいて、車両の状態を推論する。推論部22Cは、推論結果を状態ログ情報としてログ記憶部18に記憶させる。なお、推論部22Cは、通信部6により受信された複数の状態ログ情報のうち、アプリケーション14の異常の検出に有用な状態ログ情報のみをフィルタリングしてもよい。この場合、推論部22Cは、フィルタリングした状態ログ情報に基づいて、車両の状態を推論する。
 したがって、本実施の形態においても、上記実施の形態1と同様の効果を得ることができる。
 (実施の形態5)
 次に、図15を参照しながら、実施の形態5に係る情報処理装置2Dの構成について説明する。図15は、実施の形態5に係る情報処理装置2Dの構成を示すブロック図である。
 図15に示すように、実施の形態5に係る情報処理装置2Dの異常検出部7Dは、上記実施の形態1で説明した構成要素に加えて、推論部22Dを備えている。推論部22Dは、通信部6により受信された状態情報に基づいて、車両の状態を推論する。推論部22Dは、推論結果を状態情報として検出部10Dに出力する。なお、推論部22Dは、通信部6により受信された複数の状態情報のうち、アプリケーション14の異常の検出に有用な状態情報のみをフィルタリングしてもよい。この場合、推論部22Dは、フィルタリングした状態情報に基づいて、車両の状態を推論する。
 検出部10Dは、挙動記録部4からの挙動情報と、推論部22Dからの状態情報(推論結果)とを取得する。検出部10Dは、取得した挙動情報及び状態情報、並びに、記憶部8に記憶された判断基準情報に基づいて、アプリケーション14の挙動の異常を検出する。
 なお、状態情報及び挙動情報は必ずしもログ情報というわけではなく、例えば、挙動情報の履歴とあるタイミングにおける状態情報とに基づいて異常を検出したり、あるタイミングにおける挙動情報と状態情報の履歴とに基づいて異常を検出することもできる。
 したがって、本実施の形態においても、上記実施の形態1と同様の効果を得ることができる。
 (変形例等)
 以上、一つ又は複数の態様に係る情報処理装置及び制御方法について、上記各実施の形態に基づいて説明したが、本開示は、上記各実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思い付く各種変形を上記各実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つ又は複数の態様の範囲内に含まれてもよい。
 上記各実施の形態では、本開示に係る情報処理装置の適用例として、自動車等の車両に搭載される車載ネットワークにおけるセキュリティ対策への適用について説明したが、本開示に係る情報処理装置の適用範囲はこれに限定されない。本開示に係る情報処理装置は、自動車等の車両に限定されず、例えば、建機、農機、船舶、鉄道又は飛行機等の任意のモビリティに適用してもよい。
 上記各実施の形態では、通信部6は、CANバス16に接続されているとしたが、これに限定されず、例えばEthernet(登録商標)又はFlexRay(登録商標)等の任意の車載ネットワークに接続されていてもよいし、あるいは、ソフトウェアプラットフォーム12以外の他の仮想マシンに接続されていてもよい。
 なお、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPU又はプロセッサ等のプログラム実行部が、ハードディスク又は半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
 また、上記各実施の形態に係る情報処理装置の機能の一部又は全てを、CPU等のプロセッサがプログラムを実行することにより実現してもよい。
 上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしても良い。前記ICカード又は前記モジュールは、マイクロプロセッサ、ROM、RAM等から構成されるコンピュータシステムである。前記ICカード又は前記モジュールは、上記の超多機能LSIを含むとしても良い。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカード又は前記モジュールは、その機能を達成する。このICカード又はこのモジュールは、耐タンパ性を有するとしても良い。
 本開示は、上記に示す方法であるとしても良い。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしても良いし、前記コンピュータプログラムからなるデジタル信号であるとしても良い。また、本開示は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えばフレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリ等に記録したものとしても良い。また、これらの記録媒体に記録されている前記デジタル信号であるとしても良い。また、本開示は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしても良い。また、本開示は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしても良い。また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしても良い。
 本開示は、例えば車両の車載機器上で動作するアプリケーションの異常を検出するための情報処理装置等に有用である。
2,2A,2B,2C,2D 情報処理装置
4 挙動記録部
6 通信部
7,7A,7B,7C,7D 異常検出部
8,8A,8B 記憶部
10,10A,10B,10D 検出部
12 ソフトウェアプラットフォーム
14 アプリケーション
16 CANバス
18 ログ記憶部
20 通知部
22,22C,22D 推論部

Claims (10)

  1.  モビリティに搭載されたモビリティネットワークに接続される情報処理装置であって、
     前記モビリティに搭載された機器上で動作するアプリケーションの挙動が正常であるか否かの判断基準を示す判断基準情報を記憶する記憶部と、
     前記アプリケーションの挙動を示す挙動情報を取得し、取得した前記挙動情報及び前記記憶部に記憶された前記判断基準情報に基づいて、前記アプリケーションの挙動の異常を検出する検出部と、を備える
     情報処理装置。
  2.  前記検出部は、前記モビリティネットワークから取得した前記モビリティの状態を示す状態情報と、前記挙動情報と、前記記憶部に記憶された前記判断基準情報とに基づいて、前記アプリケーションの挙動の異常を検出する
     請求項1に記載の情報処理装置。
  3.  前記判断基準情報は、前記アプリケーションの挙動の異常を検出するための判定モデルとして、前記アプリケーションの挙動及び前記モビリティの状態の少なくとも一方に関するルールベースモデル又は機械学習モデルを含み、
     前記検出部は、前記挙動情報及び前記状態情報に前記判定モデルを適用することにより、前記アプリケーションの挙動の異常を検出する
     請求項2に記載の情報処理装置。
  4.  前記判断基準情報は、前記アプリケーションの正常な挙動の履歴を示す正常挙動ログ情報、及び、前記モビリティの正常な状態の履歴を示す正常状態ログ情報を含み、
     前記検出部は、取得した前記挙動情報の履歴及び前記状態情報の履歴と、前記判断基準情報に含まれる前記正常挙動ログ情報及び前記正常状態ログ情報とをそれぞれ比較することにより、前記アプリケーションの挙動の異常を検出する
     請求項2に記載の情報処理装置。
  5.  前記判断基準情報は、前記アプリケーションの異常な挙動の履歴を示す異常挙動ログ情報、及び、前記モビリティの異常な状態の履歴を示す異常状態ログ情報を含み、
     前記検出部は、取得した前記挙動情報の履歴及び前記状態情報の履歴と、前記判断基準情報に含まれる前記異常挙動ログ情報及び前記異常状態ログ情報とをそれぞれ比較することにより、前記アプリケーションの挙動の異常を検出する
     請求項2に記載の情報処理装置。
  6.  前記判断基準情報は、機械学習により予め生成された、前記アプリケーションの挙動の正常らしさを判定するための判定モデルを含み、
     前記検出部は、前記判定モデルを用いて、取得した前記挙動情報の履歴から第1の特徴量を算出し、且つ、前記状態情報の履歴から第2の特徴量を算出し、算出した前記第1の特徴量及び前記第2の特徴量から前記アプリケーションの挙動の正常らしさを示す評価値を算出し、前記評価値の尤度と閾値とを比較することにより、前記アプリケーションの挙動の異常を検出する
     請求項2に記載の情報処理装置。
  7.  前記情報処理装置は、さらに、前記状態情報に基づいて、前記モビリティの状態を推論する推論部を備え、
     前記検出部は、前記推論部の推論結果を加味して、前記アプリケーションの挙動の異常を検出する
     請求項2~6のいずれか1項に記載の情報処理装置。
  8.  前記情報処理装置は、さらに、前記検出部が前記アプリケーションの挙動の異常を検出した際に、外部にその旨を通知する通知部を備える
     請求項1~7のいずれか1項に記載の情報処理装置。
  9.  モビリティに搭載されたモビリティネットワークに接続される情報処理装置における制御方法であって、
     前記モビリティに搭載された機器上で動作するアプリケーションの挙動を示す挙動情報を取得するステップと、
     取得した前記挙動情報、及び、前記アプリケーションの挙動が正常であるか否かの判断基準を示し且つ記憶部に予め記憶された判断基準情報に基づいて、前記アプリケーションの挙動の異常を検出するステップと、を含む
     制御方法。
  10.  請求項9に記載の制御方法をコンピュータに実行させる
     プログラム。
PCT/JP2020/032015 2019-12-05 2020-08-25 情報処理装置、制御方法及びプログラム WO2021111681A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE112020005954.5T DE112020005954T5 (de) 2019-12-05 2020-08-25 Informationsverarbeitungsvorrichtung, Steuerverfahren und Programm
US17/825,709 US11615183B2 (en) 2019-12-05 2022-05-26 Information processing device, control method, and recording medium for detecting an anomaly in behavior of an application operating on a device in a mobility

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019220231A JP7241281B2 (ja) 2019-12-05 2019-12-05 情報処理装置、制御方法及びプログラム
JP2019-220231 2019-12-05

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/825,709 Continuation US11615183B2 (en) 2019-12-05 2022-05-26 Information processing device, control method, and recording medium for detecting an anomaly in behavior of an application operating on a device in a mobility

Publications (1)

Publication Number Publication Date
WO2021111681A1 true WO2021111681A1 (ja) 2021-06-10

Family

ID=76220230

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/032015 WO2021111681A1 (ja) 2019-12-05 2020-08-25 情報処理装置、制御方法及びプログラム

Country Status (4)

Country Link
US (1) US11615183B2 (ja)
JP (1) JP7241281B2 (ja)
DE (1) DE112020005954T5 (ja)
WO (1) WO2021111681A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023127477A1 (ja) * 2021-12-27 2023-07-06 国立大学法人東海国立大学機構 車載装置、プログラム及び、情報処理方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230385405A1 (en) * 2022-05-27 2023-11-30 The Boeing Company System, method, and program for analyzing vehicle system logs
CN117155719A (zh) * 2023-11-01 2023-12-01 北京傲星科技有限公司 一种车辆数据安全检测方法、系统、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012022380A (ja) * 2010-07-12 2012-02-02 Kddi Corp ログ抽出システムおよびプログラム
JP2015088948A (ja) * 2013-10-31 2015-05-07 日産自動車株式会社 通信中継装置、通信中継処理
WO2017081985A1 (ja) * 2015-11-11 2017-05-18 日立オートモティブシステムズ株式会社 車両制御装置
WO2020075800A1 (ja) * 2018-10-11 2020-04-16 日本電信電話株式会社 分析装置、分析システム、分析方法及びプログラム

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9219755B2 (en) * 1996-11-08 2015-12-22 Finjan, Inc. Malicious mobile code runtime monitoring system and methods
US8079086B1 (en) * 1997-11-06 2011-12-13 Finjan, Inc. Malicious mobile code runtime monitoring system and methods
US7690034B1 (en) * 2004-09-10 2010-03-30 Symantec Corporation Using behavior blocking mobility tokens to facilitate distributed worm detection
US20090204964A1 (en) * 2007-10-12 2009-08-13 Foley Peter F Distributed trusted virtualization platform
JP2010182019A (ja) 2009-02-04 2010-08-19 Kddi Corp 異常検知装置およびプログラム
US9098333B1 (en) * 2010-05-07 2015-08-04 Ziften Technologies, Inc. Monitoring computer process resource usage
US9154516B1 (en) * 2013-09-27 2015-10-06 Emc Corporation Detecting risky network communications based on evaluation using normal and abnormal behavior profiles
US9245125B2 (en) * 2014-02-27 2016-01-26 Nec Laboratories America, Inc. Duleak: a scalable app engine for high-impact privacy leaks
US10367814B2 (en) * 2014-06-22 2019-07-30 Citrix Systems, Inc. Enabling user entropy encryption in non-compliant mobile applications
EP3213243B1 (en) * 2014-10-31 2020-09-09 Proofpoint, Inc. Systems and methods for privately performing application security analysis
US10181030B2 (en) * 2015-07-24 2019-01-15 Citrix Systems, Inc. Blocking routine redirection
US10365377B1 (en) * 2015-09-28 2019-07-30 Marvell International Ltd. Apparatus and method for mobility mode state detection
US10275301B2 (en) * 2015-09-29 2019-04-30 International Business Machines Corporation Detecting and analyzing performance anomalies of client-server based applications
US10459827B1 (en) * 2016-03-22 2019-10-29 Electronic Arts Inc. Machine-learning based anomaly detection for heterogenous data sources
US10540498B2 (en) * 2016-08-12 2020-01-21 Intel Corporation Technologies for hardware assisted native malware detection
US10673880B1 (en) * 2016-09-26 2020-06-02 Splunk Inc. Anomaly detection to identify security threats
US20180359789A1 (en) * 2017-06-09 2018-12-13 Qualcomm Incorporated Techniques and apparatuses for determining a modification of a discontinuous reception cycle length
US11516735B2 (en) * 2017-08-11 2022-11-29 Telefonaktiebolaget Lm Ericsson (Publ) Systems and methods for adaptively monitoring downlink control channel in discontinuous reception
US10936717B1 (en) * 2018-01-30 2021-03-02 EMC IP Holding Company LLC Monitoring containers running on container host devices for detection of anomalies in current container behavior
US11075929B1 (en) * 2018-02-20 2021-07-27 Facebook, Inc. Machine learning assisted anomaly detection on a millimeter-wave communications network
US10939336B2 (en) * 2018-04-05 2021-03-02 Lg Electronics Inc. Method for estimating mobility state of UE and device supporting the same
US10600003B2 (en) * 2018-06-30 2020-03-24 Microsoft Technology Licensing, Llc Auto-tune anomaly detection
US11109442B2 (en) * 2018-07-27 2021-08-31 At&T Intellectual Property I, L.P. Dynamically adjusting a network inactivity timer during user endpoint mobility states
US11640450B2 (en) * 2018-08-12 2023-05-02 International Business Machines Corporation Authentication using features extracted based on cursor locations
US11063645B2 (en) * 2018-12-18 2021-07-13 XCOM Labs, Inc. Methods of wirelessly communicating with a group of devices
US11568181B2 (en) * 2019-01-29 2023-01-31 EMC IP Holding Company LLC Extraction of anomaly related rules using data mining and machine learning
US11201889B2 (en) * 2019-03-29 2021-12-14 Citrix Systems, Inc. Security device selection based on secure content detection
US11240205B1 (en) * 2019-05-06 2022-02-01 Amazon Technologies, Inc. Implementing rules in firewalls
US11307959B2 (en) * 2019-05-20 2022-04-19 International Business Machines Corporation Correlating logs from multiple sources based on log content
US11388175B2 (en) * 2019-09-05 2022-07-12 Cisco Technology, Inc. Threat detection of application traffic flows
US20210158193A1 (en) * 2019-11-27 2021-05-27 Rsa Security Llc Interpretable Supervised Anomaly Detection for Determining Reasons for Unsupervised Anomaly Decision

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012022380A (ja) * 2010-07-12 2012-02-02 Kddi Corp ログ抽出システムおよびプログラム
JP2015088948A (ja) * 2013-10-31 2015-05-07 日産自動車株式会社 通信中継装置、通信中継処理
WO2017081985A1 (ja) * 2015-11-11 2017-05-18 日立オートモティブシステムズ株式会社 車両制御装置
WO2020075800A1 (ja) * 2018-10-11 2020-04-16 日本電信電話株式会社 分析装置、分析システム、分析方法及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023127477A1 (ja) * 2021-12-27 2023-07-06 国立大学法人東海国立大学機構 車載装置、プログラム及び、情報処理方法

Also Published As

Publication number Publication date
JP7241281B2 (ja) 2023-03-17
US11615183B2 (en) 2023-03-28
DE112020005954T5 (de) 2022-09-22
JP2021089632A (ja) 2021-06-10
US20220284092A1 (en) 2022-09-08

Similar Documents

Publication Publication Date Title
WO2021111681A1 (ja) 情報処理装置、制御方法及びプログラム
JP6898420B2 (ja) セキュアロックダウンを実装するように構成された関連装置を有する特別にプログラムされたコンピューティングシステムおよびその使用方法
JP7231559B2 (ja) 異常検知電子制御ユニット、車載ネットワークシステム及び異常検知方法
JP7045286B2 (ja) データ解析装置、データ解析方法及びプログラム
US20210211442A1 (en) Threat analysis apparatus, threat analysis method, and recording medium
JP2019008618A (ja) 情報処理装置、情報処理方法及びプログラム
US10824765B2 (en) Electronic control units for vehicles
US20210349997A1 (en) Anomalous vehicle detection server and anomalous vehicle detection method
US20220291944A1 (en) Information processing device, anomaly detection method, and computer-readable recording medium
US20220250655A1 (en) Mobility control system, method, and program
US20220019669A1 (en) Information processing device
US20230052852A1 (en) Method for Authentic Data Transmission Between Control Devices of a Vehicle, Arrangement with Control Devices, Computer Program, and Vehicle
JP6913869B2 (ja) 監視装置、監視システムおよびコンピュータプログラム
CN114872716A (zh) 车载信息处理装置、信息处理方法以及存储介质
JP2020068506A (ja) 電子制御装置、電子制御システム及びプログラム
WO2022168453A1 (ja) 車両制御システム、車両制御システムの制御方法及びプログラム
WO2022255245A1 (ja) インテグリティ検証装置及びインテグリティ検証方法
WO2024070044A1 (ja) 検証システム、検証方法、及び、プログラム
US20230282040A1 (en) Monitoring apparatus and monitoring method
US20220080989A1 (en) Information processing apparatus, information processing method, and recording medium
GB2592830A (en) Electronic control units for vehicles

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

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 20896381

Country of ref document: EP

Kind code of ref document: A1