WO2022181495A1 - 情報処理システム、情報処理方法、及びプログラム - Google Patents

情報処理システム、情報処理方法、及びプログラム Download PDF

Info

Publication number
WO2022181495A1
WO2022181495A1 PCT/JP2022/006735 JP2022006735W WO2022181495A1 WO 2022181495 A1 WO2022181495 A1 WO 2022181495A1 JP 2022006735 W JP2022006735 W JP 2022006735W WO 2022181495 A1 WO2022181495 A1 WO 2022181495A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
attack
network
log data
vehicle
Prior art date
Application number
PCT/JP2022/006735
Other languages
English (en)
French (fr)
Inventor
靖伸 千葉
Original Assignee
Nttセキュリティ・ジャパン株式会社
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 Nttセキュリティ・ジャパン株式会社 filed Critical Nttセキュリティ・ジャパン株式会社
Priority to CN202280016035.7A priority Critical patent/CN116917893A/zh
Priority to EP22759531.1A priority patent/EP4300332A1/en
Publication of WO2022181495A1 publication Critical patent/WO2022181495A1/ja
Priority to US18/362,247 priority patent/US20230379344A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection

Definitions

  • the present invention relates to an information processing system, an information processing method, and a program.
  • SOC Security Operation Center
  • the SOC server based on the log data sent from the in-vehicle network, abnormal operation is detected, the range of influence, the degree of danger, the type or cause of the threat, etc. are estimated, and a response instruction is sent to the vehicle.
  • a system is known (see, for example, Patent Literature 1).
  • Patent Literature 1 discloses, for example, estimating a device connected to the same bus as the device that generated the log data indicating the abnormal operation as the range of influence of the abnormal operation. From this alone, it is difficult to infer the device that was complicit in or involved in the attack.
  • One embodiment of the present invention has been made in view of the above problems, and is a system that includes a network and a plurality of components that communicate via the network. Facilitates deduction of complicit or involved components.
  • an information processing system includes an acquisition unit that acquires log data of a system that includes a network and a plurality of components that communicate via the network; An output that, when an attack is detected on a system, outputs information of one or more attack paths, including information of the components associated with the path of attack, based on the log data and network configuration information of the system.
  • FIG. 1 is a diagram illustrating an example of an overall configuration of an information processing system according to an embodiment
  • FIG. It is a figure which shows an example of a structure of the vehicle-mounted network which concerns on one Embodiment. It is a figure showing an example of hardware constitutions of a computer concerning one embodiment.
  • FIG. 3 is a diagram showing an example of the functional configuration of an SOC server according to one embodiment;
  • FIG. 1 is a diagram (1) showing an example of network configuration information according to an embodiment;
  • FIG. 2 is a diagram (2) showing an example of network configuration information according to an embodiment;
  • FIG. 3 is a diagram (3) showing an example of network configuration information according to one embodiment;
  • FIG. 4 is a diagram (4) showing an example of network configuration information according to an embodiment
  • FIG. 5 is a diagram (5) showing an example of network configuration information according to an embodiment
  • FIG. 6 is a diagram (6) showing an example of network configuration information according to an embodiment
  • FIG. 7 is a diagram (7) showing an example of network configuration information according to one embodiment
  • FIG. 8 is a diagram (8) showing an example of network configuration information according to an embodiment
  • FIG. 9 is a diagram (9) showing an example of network configuration information according to one embodiment
  • FIG. 10 is a diagram (10) showing an example of network configuration information according to an embodiment
  • It is a figure showing an example of log data concerning one embodiment.
  • FIG. 4 is a flowchart illustrating an example of processing of a SOC server according to one embodiment
  • 6 is a flowchart illustrating an example of related log extraction processing according to an embodiment
  • FIG. 11 is a diagram (1) for explaining related log extraction processing according to an embodiment
  • FIG. 2B is a diagram (2) for explaining related log extraction processing according to an embodiment
  • 6 is a flowchart illustrating an example of log data association processing according to an embodiment
  • 6 is a flow chart showing an example of a process of specifying a component according to an embodiment; It is a figure for demonstrating the specific process of the component which concerns on one embodiment.
  • FIG. 8 is a flowchart illustrating an example of connection relationship identification processing according to an embodiment
  • FIG. 10 is a diagram for explaining connection relationship specifying processing according to an embodiment
  • 6 is a flowchart illustrating an example of attack path identification processing according to an embodiment
  • It is a figure for demonstrating the identification process of the attack path
  • FIG. 1 is a diagram illustrating an example of the overall configuration of an information processing system according to one embodiment.
  • the information processing system 1 includes, for example, a SOC (Security Operation Center) server 10 and a SIRT (Security Incident Response Team) server 40, which can communicate with each other via a communication network.
  • SOC Security Operation Center
  • SIRT Security Incident Response Team
  • the SOC server 10 is an information processing device having a computer configuration, or a system including multiple information processing devices.
  • the SOC server 10 acquires log data of the in-vehicle network 100 transmitted by a vehicle 20 such as an automobile, and uses the acquired log data to detect cyberattacks on the vehicle 20 and identify attack routes. security monitoring for For example, when the SOC server 10 detects a cyber-attack (hereinafter simply referred to as an "attack") to the vehicle 20, the SOC server 10 sends a report including information indicating that the attack has been detected and information on one or more attack paths to the SIRT It is transmitted to the server 40 or the like.
  • a cyber-attack hereinafter simply referred to as an "attack”
  • the attack path represents the components of the in-vehicle network 100, the connection relationship between the components, the direction of attack, etc., related to the detected attack path.
  • the attack path expresses the progress of the attack as a directed graph in which the components connected to the in-vehicle network 100 are nodes and the communication paths are links.
  • the attack path is not limited to this, and may be represented by an undirected graph that does not include a direction, or may be a list of constituent elements that are complicit in or involved in the attack.
  • the SOC server 10 acquires log data 31 transmitted by one or more vehicles 20 from a log server 30 or the like that collects from one or more vehicles 20 .
  • the present invention is not limited to this, and the SOC server 10 may acquire the log data 31 transmitted by one or more vehicles 20 from one or more vehicles 20 via the mobile communication network.
  • the SOC server 10 may have the function of the log server 30 .
  • the SOC server 10 can acquire security information 51 from an external server 50 operated by, for example, Auto-ISAC (Automotive Information Sharing and Analysis Center) via a communication network such as the Internet.
  • This security information 51 includes, for example, various cyber security information such as connected car-related cyber threats and potential vulnerabilities.
  • the SOC server 10 may detect an attack on the vehicle 20 based on the acquired log data 31 and the security information 51, or may detect an attack on the vehicle 20 by an attack detection notification or the like sent from the vehicle 20, the log server 30, or the like. You can detect attacks against
  • the SOC server 10 has a function of implementing provisional measures against the vehicle 20 based on the acquired security information 51 or instructions from the SIRT server 40 when an attack on the vehicle 20 is detected. good.
  • the SIRT server 40 is an information processing device having a computer configuration, or a system including multiple information processing devices.
  • the SIRT server 40 is, for example, an organization (SIRT) that performs security measures against external threats that threaten product safety in order to ensure the safety of products manufactured and sold by vehicle manufacturers or vehicle-mounted device manufacturers.
  • SIRT SystemIRT
  • PSIRT Product Security Incident Response Team
  • the SIRT server 40 has a function of, for example, implementing a permanent measure including the countermeasure policy on the vehicle 20 when a countermeasure policy or the like determined for each manufacturer based on a security report transmitted by the SOC server 10 is input. have. Further, the SIRT server 40 may share the security information 51 with the external server 50 and have a function of instructing the SOC server 10 or the vehicle 20 to take interim measures for the vehicle 20 based on the security information 51. .
  • FIG. 2 illustrates an example of an in-vehicle network according to one embodiment. Note that the configuration of the in-vehicle network 100 installed in the vehicle 20 differs depending on the vehicle manufacturer, so the configuration of the in-vehicle network 100 shown in FIG. 2 is merely an example.
  • the in-vehicle network 100 includes a plurality of networks such as an information system NW (network) 210, a drive system NW 220, a chassis system NW 230, a body system NW 240, . , and the gateway 200 and the like.
  • NW information system
  • NW 220 drive system
  • NW 230 chassis system
  • NW 230 body system
  • NW 240 body system
  • gateway 200 gateway
  • the information system NW 210 is, for example, Ethernet (registered trademark), CAN (Control Area Network) (registered trademark), MOST (Media Oriented Systems Transport) (registered trademark), or other bus (communication path) 211.
  • An ECU is an electronic control unit that implements a predetermined control function by executing a predetermined program.
  • the ECUs 201a and 201b connected to the information system NW 210 include in-vehicle devices such as IVI (In-Vehicle Infotainment) that provide information and entertainment in the vehicle 20, for example.
  • IVI for example, in addition to functions such as car navigation, audio, video player, and vehicle settings, for example, USB (Universal Serial Bus), Bluetooth (registered trademark), wireless LAN (Local Area Network) communication function, etc. have.
  • the drive system NW 220 includes one or more ECUs 250c, 250d, etc. connected to a bus (communication path) 221 such as CAN or FlexRay (registered trademark).
  • the ECUs 250c and 250d connected to the drive system NW 220 are connected with, for example, sensors, actuators, and the like, and control the engine, brakes, motors, and the like by executing predetermined programs.
  • the chassis system NW 230 includes, for example, one or more ECUs 250e, 250f, etc. connected to a bus (communication path) 231 such as CAN or FlexRay.
  • the ECUs 250e and 250f connected to the chassis system NW 230 are connected with, for example, sensors, actuators, and the like, and control steering, suspension, and the like by executing predetermined programs.
  • the body system NW 240 includes, for example, one or more ECUs 250g, 250h, etc. connected to a bus (communication path) 241 such as CAN or LIN (Local Interconnect Network).
  • the ECUs 250g and 250h connected to the body system NW 240 are connected with, for example, sensors, actuators, and the like, and mainly control internal components such as air conditioners, doors, and lamps by executing predetermined programs.
  • "ECU 250" will be used when referring to an arbitrary ECU among the ECUs 250a to 250h.
  • the external communication device 260 includes a mobile communication device 261 and a V2X (Vehicle-to-Everything) communication device 262 connected to the gateway 200 via a network (communication path) 265 such as Ethernet.
  • Mobile communication device 261 for example, via mobile communication network 201 such as LTE (Long Term Evolution) or 5G (5th Generation), connects to communication network 202, log server 30, SOC server 10, or SIRT server 40 Communicate with etc.
  • the V2X communication device 262 performs vehicle-to-vehicle communication, road-to-vehicle communication, or pedestrian-to-vehicle communication by, for example, DSRC (Dedicated Short Range Communications) communication, cellular V2X communication, or the like.
  • DSRC Dedicated Short Range Communications
  • the OBD-2 connector 270 is a connector for connecting a diagnostic device or the like that performs fault diagnosis to the in-vehicle network 100 .
  • the gateway 200 is a relay device connected to the information system NW 210, the drive system NW 220, the chassis system NW 230, the body system NW 240, the external communication device 260, and the OBD-2 connector 270, and performs data transfer between networks and protocol conversion. be.
  • the gateway 200, the mobile communication device 261, the V2X communication device 262, etc. may be realized by the ECU 250, for example. Further, in the following description, components that communicate via the in-vehicle network 100, such as multiple ECUs 250, gateway 200, mobile communication device 261, V2X communication device 262, and OBD-2 connector 270, are simply referred to as "components.” may be called.
  • the gateway 200 is equipped with a security sensor such as a firewall, an IDS (Intrusion Detection System), an antivirus, a message filter, or an error sensor.
  • a security sensor such as a firewall, an IDS (Intrusion Detection System), an antivirus, a message filter, or an error sensor.
  • a predetermined event for example, an error
  • the gateway 200 generates log data including information on the generated event, and transmits the generated log data to the log server 30 or the like at a predetermined timing.
  • the external communication device 260 and the ECU 250 are also equipped with security sensors such as firewalls, IDSs, antiviruses, message filters, or error sensors.
  • security sensors such as firewalls, IDSs, antiviruses, message filters, or error sensors.
  • a predetermined event for example, an error
  • the external communication device 260 and the ECU 250 generate log data including information on the generated event, and send the generated log data to the log server at a predetermined timing. Send to 30, etc.
  • the mobile communication device 261 of the in-vehicle network 100 stores the generated log data in a storage unit or the like, and collectively transmits the log data stored in the storage unit or the like to the log server 30 or the like at a predetermined timing. You can
  • Patent Document 1 discloses, for example, estimating a device connected to the same bus as a device that generated log data indicating an abnormal operation as the range of influence of the abnormal operation.
  • this method for example, when an error is detected in the information system NW 210 of FIG. 2, the ECUs 250a, 250b, . It is not possible to identify the components of the system that were complicit or involved in the attack.
  • the SOC server 10 has a function of enumerating possible attack routes when an attack is detected in the in-vehicle network 100 shown in FIG. 2, for example.
  • the SOC server 10 stores network configuration information regarding the network configuration of the in-vehicle network 100 as shown in FIG.
  • the SOC server 10 may acquire the network configuration information of the in-vehicle network 100 from the vehicle 20, the external server 50, or the like.
  • the SOC server 10 detects one or more attacks including information on components related to the path of the attack based on the log data of the in-vehicle network 100 and the network configuration information. Output route information.
  • the SOC server 10 outputs attack path information in a directed graph in which attack-related components are nodes and communication paths between attack-related nodes are links. A method for outputting attack route information will be described later by exemplifying a specific embodiment.
  • the information processing system 1 when an attack is detected in the in-vehicle network 100 including a network and a plurality of components that communicate via the network, It becomes easier to estimate the constituents.
  • this embodiment can also be applied to other information processing systems capable of specifying network configuration information, like the in-vehicle network 100 .
  • the ECU 250, the gateway 200, the mobile communication device 261, the V2X communication device 262, etc. in FIG. 2 have, for example, the hardware configuration of a computer 300 as shown in FIG. Also, the SOC server 10, the SIRT server 40, the log server 30, the external server 50, and the like in FIG. 1 are configured by one or more computers 300, for example.
  • FIG. 3 is a diagram showing an example of the hardware configuration of a computer according to one embodiment.
  • the computer 300 has, for example, a CPU (Central Processing Unit) 301, a memory 302, a storage device 303, a network I/F (Interface) 304, an internal bus 305, and the like.
  • the computer 300 may further have an external connection I/F 306, an output device 307, an input device 308, a communication device 309, or the like.
  • the CPU 301 is a processor that implements various functions by executing programs stored in a storage medium such as the memory 302 or storage device 303, for example.
  • the memory 302 includes RAM (Random Access Memory), which is a volatile memory used by the CPU 301 as a temporary storage area, and ROM (Read Only Memory), which is a non-volatile memory that stores programs for starting the CPU 301. ) etc. are included.
  • the storage device 303 is, for example, a large-capacity storage device such as an SSD (Solid State Drive) or HDD (Hard Disk Drive).
  • Network I/F 304 includes one or more interfaces that connect computer 300 to communication network 202 or a network such as in-vehicle network 100 .
  • the external connection I/F 306 is an interface for connecting an external device to the computer 300.
  • Various devices such as sensors, actuators, information terminals, or external memories can be connected to the external connection I/F 306 .
  • the output device 307 is an output device (for example, a display, a speaker, or a lamp) that outputs to the outside.
  • the input device 308 is an input device (for example, keyboard, mouse, microphone, switch, button, sensor, etc.) that receives input from the outside.
  • the input device 308 and the output device 307 may be an integrated input/output device (for example, a touch panel display, etc.).
  • the communication device 309 is, for example, a communication device that performs various communications such as mobile communications such as LTE and 5G, wireless LAN communications, and short-range wireless communications such as Bluetooth.
  • An internal bus 305 is commonly connected to each of the components described above, and transmits, for example, address signals, data signals, and various control signals.
  • FIG. 4 is a diagram illustrating an example of a functional configuration of an SOC server according to one embodiment;
  • the SOC server 10 implements an acquisition unit 401, an estimation unit 402, an output unit 403, and the like by executing a predetermined program on one or more computers 300 included in the SOC server 10.
  • FIG. 4 It should be noted that at least part of the functional configurations described above may be realized by hardware.
  • the SOC server 10 stores network configuration information 410 in a storage unit such as the storage device 303 in FIG. 3, for example.
  • the network configuration information 410 may be stored in a storage server or the like external to the SOC server 10 .
  • the acquisition unit 401 executes acquisition processing for acquiring the log data 31 transmitted by the in-vehicle network 100 of one or more vehicles 20, for example, from the log server 30 or the like.
  • the in-vehicle network 100 is an example of a system including a network and a plurality of components that communicate via the network.
  • the output unit 403 When an attack is detected in the in-vehicle network 100, the output unit 403 outputs one or more information including information on components related to the path of the attack, based on the log data acquired by the acquisition unit 401 and the network configuration information 410. Execute output processing to output information on the attack path of
  • the estimating unit 402 estimates one or more attack paths including information on components related to attack paths by associating log data for a predetermined period from the log data 31 acquired by the acquiring unit 401. Execute the process.
  • the output unit 403 sends, for example, a report including information on one or more attack paths estimated by the estimation unit 402 based on the log data 31 and the network configuration information 410 to the SIRT server 40 or the like. Output.
  • the functional configuration of the SOC server 10 shown in FIG. 4 is an example.
  • the function of the estimator 402 may be included in the output unit 403 .
  • the SOC server 10 has a function of detecting an attack based on the log data 31, and may detect an attack on the in-vehicle network 100 without relying on an attack detection notification from the outside.
  • the estimation unit 402 may acquire only the network configuration information corresponding to the vehicle 20 in which the attack has been detected from outside the SOC server (for example, the external server 50, the vehicle 20, or the like).
  • the output unit 403 uses the network configuration information and log data of the vehicle 20 that has been attacked as learning data, and the attack route information as teaching data, using an estimation model that has undergone machine learning in advance. You may estimate and output the information of the attack route of In this case, the SOC server 10 can obtain information on one or more attack paths by inputting the network configuration information of the vehicle 20 in which the attack has been detected and the log data into the learned estimation model. Therefore, the estimation unit 402 may not be provided.
  • FIG. 5 is a diagram illustrating an example of a functional configuration of an estimating unit according to one embodiment.
  • the estimation unit 402 includes, for example, a configuration information acquisition unit 501, a related log extraction unit 502, a component identification unit 503, a connection relationship identification unit 504, an attack route identification unit 505, and the like.
  • the configuration information acquisition unit 501 acquires network configuration information corresponding to the vehicle 20 in which an attack has been detected, for example, from the network configuration information 410 pre-stored in the storage device 303 or the like provided in the SOC server 10 .
  • the configuration information acquisition unit 501 may acquire network configuration information corresponding to the vehicle 20 in which an attack has been detected, for example, from the external server 50, the vehicle 20, or the like.
  • the network configuration information 410 includes, for example, a topology information DB (Database) 411, a network information DB 412, an application information DB 413, an ECU information DB 414, a communication pattern DB 415, etc., as shown in FIG.
  • FIG. 6A to 10B are diagrams showing examples of network configuration information according to one embodiment.
  • FIG. 6A shows an example image of the topology information DB 411 according to one embodiment.
  • Topology information of the in-vehicle network 100 of the plurality of vehicles 20 is stored in the topology information DB 411 .
  • the topology information DB 411 includes vehicle identification number, node X, and node Y information as items.
  • the vehicle identification number is identification information for identifying the vehicle 20, and for example, VIN (Vehicle Identification Number) or the like can be applied.
  • a node X indicates a connection source component (such as an ECU), and a node Y indicates a connection destination component.
  • the in-vehicle network 100 of the vehicle 20 with the vehicle identification number "JP000000000000001” indicates that the node X "TCU601" is connected to the node Y "CGW602" as shown in FIG. 6B. It is Similarly, node X "CGW602" is shown connected to two nodes Y "IVI603" and "ENGINE604".
  • the topology information DB 411 stores components such as the TCU 601, CGW 602, IVI 603, and ENGINE 604 as nodes, and in the form of a graph representing the connection relationships between the components with links 611, 612, and 613. Also good.
  • the network information DB 412 stores information on communication paths connected to each ECU (an example of a component) included in the in-vehicle network 100 of the plurality of vehicles 20 .
  • the network information DB 412-1 includes items such as vehicle identification number, ECU, Ethernet (registered trademark) interface, and Ethernet segment.
  • vehicle identification number is identification information for identifying the vehicle 20 as described above.
  • the ECU is the name or identification information of a component connected to the in-vehicle network 100 .
  • the Ethernet interface is the name or identification information of the Ethernet interface that each component has.
  • the Ethernet segment is the name or identification information of an Ethernet segment (minimum unit of a physical network in which communication is performed through an Ethernet interface) to which each component is connected via an Ethernet interface.
  • the network information DB 412-1 shown in FIG. 7A indicates that the Ethernet interface "eth0" of the ECU “TCU” of the vehicle 20 with the vehicle identification number "JP000000000000001" is connected to the Ethernet segment "Ethernet-0.” It is Similarly, it shows that the Ethernet interface "eth0" of the ECU “CGW” is connected to the Ethernet segment "Ethernet-0".
  • the network information DB 412-2 includes information such as vehicle identification number, ECU, CAN interface, and CAN bus as items.
  • vehicle identification number is identification information for identifying the vehicle 20 as described above.
  • the ECU is the name or identification information of a component connected to the in-vehicle network 100 .
  • the CAN interface is the name or identification information of the CAN interface that each component has.
  • the CAN bus is the name or identification information of the CAN bus to which each component is connected via the CAN interface.
  • the ECU “CGW” of the vehicle 20 with the vehicle identification number "JP000000000000001” and the CAN interface "can0" with “IVI” are connected to the CAN bus "CAN-0". It is shown that the CAN interface "can1" of the ECU “CGW” is also connected to the CAN bus "CAN-1", and the CAN interface "can0" of the ECU “ENGINE” is connected to the CAN bus "CAN-1". It is shown.
  • the network information DB 412 may consist of a plurality of network information DBs 412-1 and 412-2.
  • FIGS. 8A and 8B show an image of an example of the application information DB 413 according to one embodiment.
  • the application information DB 413 stores communication channel information, identification information, and the like corresponding to each application (another example of a component) included in the in-vehicle network 100 of the plurality of vehicles 20 .
  • the application information DB 413-1 includes information such as vehicle identification numbers, Ethernet segments, application identifiers, and applications as items.
  • vehicle identification number is identification information for identifying the vehicle 20 as described above.
  • Ethernet segment is information indicating the name, identification information, or the like of the Ethernet segment to which the ECU executing the application is connected.
  • Application identification information is identification information that identifies an application.
  • the application is information indicating the name or function of the application.
  • the vehicle 20 with the vehicle identification number "JP000000000000001” is connected to the Ethernet segment "Ethernet-0" for executing the application "traffic jam information notification”. It is shown.
  • the application information DB 413-2 includes information such as vehicle identification number, CAN bus, CAN ID, and applications as items.
  • vehicle identification number is identification information for identifying the vehicle 20 as described above.
  • the CAN bus is information indicating the name of the CAN bus to which the ECU executing the application is connected, identification information, or the like.
  • the CAN ID is information indicating the CAN ID used by the application.
  • the CAN ID is an identifier that indicates the content of data, the destination node, etc., included in the data transmitted by the CAN bus.
  • the application is information indicating the name or function of the application.
  • the vehicle 20 with the vehicle identification number "JP000000000000001" is connected to the CAN bus "CAN-0" and has the CAN ID "0x192". and the like are shown.
  • the application information DB 413 may be composed of a plurality of application information DBs 413-1 and 413-2.
  • the ECU information DB 414 stores communication addresses, identification information, or the like corresponding to each component included in the in-vehicle network of the plurality of vehicles 20 .
  • the ECU information DB 414-1 includes information such as the vehicle identification number, MAC address, and ECU as items.
  • the vehicle identification number is identification information for identifying the vehicle 20 as described above.
  • a MAC (Media Access Control address) address is information indicating a MAC address assigned to an ECU.
  • the ECU is information indicating the name, identification information, or the like of an ECU (an example of a component) connected to the in-vehicle network 100 .
  • the MAC address of the ECU "TCU” in the vehicle 20 with the vehicle identification number "JP000000000000001" is "02:00:00:00:01:01". It is shown.
  • the ECU information DB 414-2 includes information such as the vehicle identification number, IP address, and ECU as items.
  • the vehicle identification number is identification information for identifying the vehicle 20 as described above.
  • An IP (Internet Protocol) address is information indicating an IP address assigned to an ECU.
  • the ECU is information indicating the name, identification information, or the like of an ECU (an example of a component) connected to the in-vehicle network 100 .
  • the ECU information DB 414-2 shown in FIG. 9B indicates, for example, that the IP address of the ECU "CGW" in the vehicle 20 with the vehicle identification number "JP000000000000001" is "192.168.0.2".
  • the ECU information DB 414 may be composed of a plurality of ECU information DBs 414-1 and 414-2.
  • the communication pattern information DB 415 stores information on communication patterns between components included in the in-vehicle network of a plurality of vehicles 20 .
  • the communication pattern information DB 415-1 includes information such as vehicle identification number, CAN bus, CAN ID, and receiving ECU as items.
  • vehicle identification number is identification information for identifying the vehicle 20 as described above.
  • the CAN bus is information indicating the name of the CAN bus to which the receiving ECU is connected, identification information, or the like.
  • the CAN ID is information indicating the CAN ID of the CAN data received by the receiving ECU.
  • the receiving ECU is information indicating the name, identification information, or the like of the ECU that receives the CAN data.
  • the receiving ECU that receives the data of the CAN ID "0x192" of the CAN bus "CAN-0" is "IVI". etc. are shown.
  • the communication pattern information DB 415-2 includes items such as vehicle identification number, source IP address, destination IP address, IP protocol, source port number, and destination port number.
  • vehicle identification number is identification information for identifying the vehicle 20 as described above.
  • the source IP address is the IP address of the source component.
  • the destination IP address is the IP address of the destination component.
  • the IP protocol is information indicating a communication protocol such as UDP (User Datagram Protocol) or TCP (Transmission Control Protocol).
  • the source port number is information indicating the source port number.
  • the destination port number is information indicating the destination port number.
  • the communication pattern information DB 415-2 shown in FIG. 10B includes, for example, a communication pattern transmitted from the vehicle 20 with the vehicle identification number "JP000000000000001" with the source IP address "192.168.0.1” and the destination IP address "192.168.0.2". It has been shown that there is The communication pattern also indicates that communication is performed using the IP protocol “UDP” and the destination port number “31000”. In this manner, the communication pattern information DB 415 may be composed of a plurality of communication pattern information DBs 415-1 and 415-2.
  • the configuration information acquisition unit 501 acquires, for example, network configuration information corresponding to the vehicle identification number of the vehicle 20 in which an attack has been detected, among the network configuration information 410 described with reference to FIGS.
  • the related log extraction unit 502 extracts log data related to the detected attack from the log data 31 acquired by the acquisition unit 401 .
  • the related log extraction unit 502 acquires log data corresponding to the vehicle identification number of the vehicle 20 in which the attack was detected from the log data 31 acquired by the acquisition unit 401 .
  • the related log extraction unit 502 acquires log data for a predetermined period set in advance from the log data corresponding to the vehicle identification number of the vehicle 20 in which the attack was detected.
  • the related log extraction unit 502 uses the network configuration information acquired by the configuration information acquisition unit 501 to associate a plurality of extracted log data.
  • the related log extracting unit 502 extracts log data related to the detected attack by directly or indirectly comparing a plurality of extracted log data with items defined in advance as being comparable.
  • the component identification unit 503 executes component identification processing for identifying components (ECUs, etc.) related to the detected attack from the log data extracted by the related log extraction unit 502 .
  • connection relationship identification unit 504 uses the topology information included in the network configuration information acquired by the configuration information acquisition unit 501 to execute connection identification processing for identifying the connection relationship between the components identified by the component identification unit 503. .
  • the attack route identification unit 505 uses the communication pattern information included in the network configuration information acquired by the configuration information acquisition unit 501 and the detection date and time of the log data to determine the progress of the attack in the connection relationship specified by the connection relationship identification unit 504. Perform attack path identification processing that identifies the direction.
  • the component identification processing executed by the component identification unit 503, the connection relationship identification processing executed by the connection relationship identification unit 504, and the attack route identification processing executed by the attack route identification unit 505 are described in detail below. Exemplary embodiments are described below.
  • FIG. 11 is a diagram illustrating an example of log data according to one embodiment.
  • the log data 31 includes items such as detection date and time, vehicle identification information, sensor name, ECU name, input interface name, output interface name, source MAC address, destination MAC address, application identifier, CAN Information such as ID and detection event is included.
  • the detection date and time is information indicating the date and time when a predetermined detection event was detected.
  • the vehicle identification number is information indicating the vehicle identification number of the vehicle 20 in which the detection event was detected.
  • the sensor name is information indicating the name or function of the security sensor that detected the detection event.
  • the ECU name is information indicating the name of the ECU that detected the detection event, identification information, or the like.
  • the input interface name is information indicating the name of the interface through which the data is input, identification information, or the like when the detection of the detection event is caused by the data input in the ECU.
  • the output interface name is information indicating the name of the interface that output the data, identification information, or the like, when the detection of the detection event is caused by the output of the data in the ECU.
  • the source MAC address is information indicating the source MAC address included in the data that detected the detection event.
  • the destination MAC address is information indicating the destination MAC address included in the data that detected the detection event.
  • the application identifier is information indicating the application identifier included in the data that detected the detection event.
  • the CAN ID is information indicating the CAN ID included in the data that detected the detection event.
  • the detection event is information indicating the name of the detected detection event, identification information, or the like.
  • Each record of the log data 31 stores log data transmitted to the log server by an ECU that has detected a detection event, such as when a predetermined detection event is detected in the in-vehicle network 100 of the vehicle 20. be done.
  • FIG. 12 is a flowchart illustrating an example of SOC server processing according to one embodiment.
  • an outline of processing executed by the SOC server 10 and the estimation unit 402 described with reference to FIGS. 4 and 5 will be described. Details of the processing will be described later with reference to FIGS. 13 to 21.
  • FIG. 12 is a flowchart illustrating an example of SOC server processing according to one embodiment.
  • step S1201 when the SOC server 10 receives an attack detection notification indicating that an attack has been detected, for example, from the log server 30 or the vehicle 20, it executes the processing from step S1202.
  • the attack detection notification includes, for example, information such as the vehicle identification number (VIN) of the vehicle 20 that has been attacked and the detection time when the attack was detected.
  • VIN vehicle identification number
  • step S1202 the acquisition unit 401 acquires the log data 31 as shown in FIG. 11, for example, from the log server 30 or the like.
  • step S1203 the configuration information acquisition unit 501 of the estimation unit 402 obtains the network configuration information corresponding to the vehicle identification number of the vehicle 20 that has been attacked, which is included in the attack detection notification, from each of the DBs 411 to 411 included in the network configuration information 410. 415.
  • step S1204 the related log extraction unit 502 of the estimation unit 402 executes related log extraction processing for extracting log data related to the attack from the log data 31 acquired by the acquisition unit 401.
  • step S1205 the component identification unit 503 of the estimation unit 402 uses the log data extracted by the related log extraction unit 502 and the network configuration information acquired by the configuration information acquisition unit 501 to identify components related to the attack. Execute the identifying process for the identified component.
  • connection relationship identifying unit 504 of the estimating unit 402 uses the topology information included in the network configuration information acquired by the configuration information acquiring unit 501 to determine the connection relationship between the components specified by the component specifying unit 503. Execute the connection relationship identification process to be identified.
  • step S1207 the attack path identification unit 505 of the estimation unit 402 identifies the attack direction based on the communication pattern information included in the network configuration information acquired by the configuration information acquisition unit 501, the date and time of detection of the log data, or the like. Executes the process of identifying attack paths that
  • step S1208 the output unit 403 of the SOC server 10 outputs information on one or more attack paths estimated by the estimation unit 402. For example, the output unit 403 outputs a report listing one or more attack paths expressing the progress of an attack as a directed graph, with components related to the detected attack as nodes and communication paths used in the progress of the attack as links. is output to the SIRT server 40 or the like.
  • FIG. 13 is a flowchart illustrating an example of related log extraction processing according to one embodiment. This processing shows an example of the related log extraction processing executed by the related log extraction unit 502 in step S1204 of FIG.
  • the related log extraction unit 502 acquires the log data of the vehicle 20 in which the attack was detected from the log data 31 acquired by the acquisition unit 401.
  • the log data 31 acquired by the acquisition unit 401 includes, for example, a plurality of log data 1401 to 1406 with different vehicle identification numbers, as shown in FIG. 14A.
  • the related log extraction unit 502 extracts log data 1401, 1402, and 1404 including the vehicle identification number "JP000000000000001" among the plurality of log data 1401-1406. ⁇ 1406 is selectively obtained.
  • step S1302 the related log extraction unit 502 determines whether or not the log data of the vehicle 20 in which the attack was detected in step S1301 has been acquired. If the log data has been acquired, the process proceeds to step S1303. . On the other hand, when the log data of the vehicle 20 in which the attack has been detected cannot be obtained in step S1301, the related log extraction unit 502 terminates the processing of FIG.
  • the related log extraction unit 502 extracts log data within a predetermined period from the log data acquired in step S1301.
  • the log data 1401, 1402, 1404 to 1406 acquired in step S1301 include information on detection date and time.
  • the related log extracting unit 502 excludes log data that has passed a predetermined period (for example, log data 1406) from the log data 1401, 1402, 1404 to 1406, and extracts the log data 1401, 1402, 1404 and 1405 are selectively obtained.
  • the related log extracting unit 502 can exclude old data with low relevance to the detected attack.
  • step S1304 the related log extraction unit 502 determines whether or not the log data within the predetermined period could be acquired in step S1303, and if the log data could be acquired, the process proceeds to step S1305. On the other hand, in step S1303, if the related log extraction unit 502 cannot acquire the log data within the predetermined period, it terminates the processing of FIG.
  • step S1305 the related log extraction unit 502 uses the network configuration information acquired by the configuration information acquisition unit 501 to associate the log data extracted in step S1303. For example, the related log extraction unit 502 executes log data association processing as illustrated in FIG. 15 .
  • FIG. 15 is a flowchart illustrating an example of log data association processing according to an embodiment. This process shows an example of the process executed by the related log extraction unit 502 on the log data extracted in step S1303 in FIG. 13 in step S1305 in FIG.
  • step S1501 the related log extraction unit 502 acquires one piece of log data from among the log data extracted in step S1303 that has not yet been acquired.
  • step S1502 the related log extraction unit 502 determines whether or not the log data has been acquired. If the log data has been acquired, the process proceeds to step S1503. On the other hand, if the related log extraction unit 502 cannot acquire the log data, the process proceeds to step S1505.
  • step S1503 the related log extraction unit 502 directly compares the acquired log data with the other log data extracted in step S1303 of FIG. Extract data.
  • the related log extracting unit 502 determines that the value of an item predefined as “directly comparable” in one acquired log data and the same meaning as the predefined item in each of the other log data. Compare with the value of the item you have, and judge if the value matches. If the values match, the related log extraction unit 502 extracts other log data containing the matching value.
  • the source MAC address, the destination MAC address, the application identifier, the CAN ID, etc. are considered to be “directly comparable”. shall be defined in advance.
  • step S1504 the related log extraction unit 502 indirectly compares the acquired log data with other log data not extracted in step S1503, and extracts other log data related to the acquired log data. to extract
  • the related log extraction unit 502 uses, as a key, the value of an item predefined as “indirectly comparable” in the acquired log data, and uses predefined network configuration information (for example, network information, application information, etc.) Search for In addition, the related log extraction unit 502 compares the value obtained by searching with the value of the item included in other log data not extracted in step S1503, and if the values match, the matching value is extracted. Extract other log data, including:
  • FIG. 16 is a diagram for explaining extraction processing by indirect comparison according to one embodiment.
  • the configuration information acquisition unit 501 has already acquired the record corresponding to the vehicle identification number “JP000000000000001” from each DB shown in FIGS. 6 to 10 as the network configuration information.
  • the related log extraction unit 502 searches for the network configuration information acquired by the configuration information acquisition unit 501 using, for example, the ECU name "CGW" and the input interface name "eth0" in the log data 1401 as keys. As a result, for example, network information 1601 as shown in FIG. 16 is retrieved. From this network information 1601, it can be seen that the log data 1401 is log data related to the Ethernet segment "Ethernet-0".
  • the related log extraction unit 502 searches for the network configuration information acquired by the configuration information acquisition unit 501, using the Ethernet segment “Ethernet-0” and, for example, the application identifier “0x123” in the log data 1401 as keys. .
  • application information 1602 as shown in FIG. 16 is retrieved.
  • the related log extraction unit 502 can indirectly identify that the log data 1401 is log data relating to the application "congestion information notification".
  • the related log extraction unit 502 searches the network configuration information acquired by the configuration information acquisition unit 501 using, for example, the ECU name "CGW" and the output interface name "can0" in the log data 1402 as keys. As a result, for example, network information 1611 as shown in FIG. 16 is retrieved. From this network information 1611, it can be seen that the log data 1402 is log data related to the CAN bus "CAN-0".
  • the related log extraction unit 502 searches for the network configuration information acquired by the configuration information acquisition unit 501, using the CAN bus “CAN-0” and, for example, the CAN ID “0x2e8” in the log data 1402 as keys. .
  • application information 1612 as shown in FIG. 16 is retrieved.
  • the related log extraction unit 502 can indirectly identify that the log data 1402 is also log data related to the application "congestion information notification.” In this case, the related log extraction unit 502 extracts the log data 1402 as log data related to the log data 1401 .
  • step S1504 the related log extraction unit 502 executes the processes of steps S1501 and S1502 again, and when there is no log data that has not yet been acquired, the process proceeds to step S1505.
  • step S1505 the related log extraction unit 502 transfers the log data extracted in steps S1503 and S1504 to the component identification unit 503 and the like as log data related to the detected attack (hereinafter referred to as related log data). Output.
  • FIG. 17 is a flowchart illustrating an example of processing for specifying a component according to one embodiment. This processing shows an example of the component identification processing executed by the component identification unit 503 in step S1205 of FIG.
  • step S1701 the component identifying unit 503 acquires one piece of log data from the related log data extracted by the related log extracting unit 502 that has not yet been acquired.
  • step S1702 the component identifying unit 503 determines whether or not the log data could be acquired in step S1701, and if the log data could be acquired, the process proceeds to step S1703. On the other hand, if log data cannot be acquired in step S1701, the component identifying unit 503 shifts the process to step S1706.
  • the component identification unit 503 acquires the ECU name described in the acquired log data.
  • step S1704 the component identification unit 503 determines whether the acquired log data is communication-related log data. For example, the component identification unit 503 identifies log data including items such as a source address, a destination address, or a CAN ID among the items of the log data 31 shown in FIG. 11 as communication-related log data. to decide. If the acquired log data is communication-related log data, the component identification unit 503 causes the process to proceed to step S1705. On the other hand, if the acquired log data is not communication-related log data, the component identification unit 503 returns the process to step S1701.
  • the component identification unit 503 determines whether the acquired log data is communication-related log data. For example, the component identification unit 503 identifies log data including items such as a source address, a destination address, or a CAN ID among the items of the log data 31 shown in FIG. 11 as communication-related log data. to decide. If the acquired log data is communication-related log data, the component identification unit 503 causes the process to proceed to step S1705. On the other
  • the component identification unit 503 acquires the ECU names of the communication source and the communication destination from the communication-related log data. For example, the component identification unit 503 acquires the network configuration information acquired by the configuration information acquisition unit 501 by using the source address, the destination address, the CAN ID, or the like among the items of the log data 31 shown in FIG. 11 as a key. Search and acquire the ECU name related to the communication.
  • FIG. 18 is a diagram for explaining the process of specifying a component according to one embodiment.
  • the component identification unit 503 acquires the ECU name of the communication source or the communication destination from communication-related log data 1401 and 1402 as shown in FIG. 18 will be described.
  • the configuration information acquisition unit 501 has already acquired the record corresponding to the vehicle identification number “JP000000000000001” from each DB shown in FIGS. 6 to 10 as the network configuration information.
  • the component identification unit 503 determines, for example, the source MAC address "02:00:00:00:01:01" and the destination MAC address "02:00:00:00:01:02" in the log data 1401. using as a key, the network configuration information acquired by the configuration information acquiring unit 501 is searched. As a result, for example, ECU information 1801 as shown in FIG. 18 is retrieved. In this case, the component identification unit 503 acquires the ECUs “TCU” and “CGW” included in the ECU information 1801 as ECUs related to the path of attack.
  • the component identification unit 503 uses, for example, the ECU name “CGW”, the output interface name “can0”, and the CAN ID “0x28” in the log data 1402 as keys to identify the network acquired by the configuration information acquisition unit 501. retrieve configuration information. As a result, for example, network information 1802 and communication pattern information 1803 as shown in FIG. 18 are retrieved. In this case, since the network information 1802 and the communication pattern information 1803 have the CAN bus "CAN-0" which is a common item, the component identification unit 503 associates these two pieces of information to determine the receiving ECU. Get "IVI" as the ECU associated with the path of attack.
  • step S1705 After the process of step S1705 is completed, the component identifying unit 503 executes the processes of steps S1701 and S1702 again, and when there is no log data that has not yet been acquired, the process proceeds to step S1706.
  • the component identification unit 503 After proceeding to step S1708, the component identification unit 503 outputs the ECU name acquired in steps S1703 and S1705 to the connection relationship identification unit 504 and the like as an ECU related to the attack.
  • FIG. 19 is a flowchart illustrating an example of connection relationship specifying processing according to an embodiment. This process represents an example of the connection relationship identification process executed by the connection relationship identification unit 504 in step S1206 of FIG. 12, for example.
  • the connection relationship identifying unit 504 acquires the topology information of the in-vehicle network 100 from the network configuration information acquired by the configuration information acquisition unit 501. For example, the connection relationship identifying unit 504 acquires topology information 600 in graph format as shown in FIG. 6B. Alternatively, the connection relationship identifying unit 504 may acquire list-format topology information as shown in FIG. 6A and generate graph-format topology information 600 as shown in FIG. 6B.
  • connection relationship identifying unit 504 selects, for example, a node corresponding to each of the ECUs 1800 associated with the route identified by the component identifying unit 503 in FIG. Identify.
  • FIG. 20 is a diagram for explaining connection relationship identification processing according to an embodiment.
  • the connection relationship identifying unit 504 determines that the ECU "TCU” included in the ECU 1800 related to the route corresponds to the node "TCU601" of the topology information 600 based on the ECU name "TCU”. identify.
  • the connection relationship identifying unit 504 determines that the ECUs "CGW” and "IVI” included in the ECU 1800 related to the route correspond to the nodes "CGW602" and "IVI603" of the topology information 600, respectively. Identify.
  • connection relationship identifying unit 504 identifies links connecting the nodes identified in step S1902.
  • the connection relationship identifying unit 504 identifies the link 611 connecting the nodes "TCU601" and “CGW602” and the link 612 connecting the nodes “CGW602” and “IVI603". Accordingly, the node "ENGINE 604" and the link 613, which are not related to the attack path, are excluded from the topology information 600, and as shown in FIG. is obtained.
  • connection relationship identification unit 504 outputs the connection relationship information 2010 obtained in the processing of steps S1901 to S1903 to the attack route identification unit 505 and the like.
  • FIG. 21 is a flowchart illustrating an example of attack path identification processing according to an embodiment. This process represents an example of the attack path identification process executed by the attack path identification unit 505 in step S1207 of FIG. 12, for example.
  • step S2101 the attack route identifying unit 505 acquires one piece of connection relation information from among the pieces of connection relation information output by the connection relation identifying unit 504 that have not yet been obtained.
  • the attack route identification unit 505 acquires connection relationship information 2010 as shown in FIG.
  • step S2102 the attack route identification unit 505 determines whether or not the connection relation information was acquired in step S2101, and if the connection relation information was acquired, the process proceeds to step S2103. On the other hand, in step S2101, if the attack path identification unit 505 cannot acquire the connection relationship information, the process proceeds to step S2108.
  • the attack path identification unit 505 acquires communication-related log data from among the related log data extracted by the related log extraction unit 502 in step S1204 of FIG. 12, for example.
  • the attack route identification unit 505 acquires log data including items such as a source address, a destination address, or a CAN ID among related log data as communication-related log data.
  • step S2104 the attack route identification unit 505 uses, as a key, the value of an item such as a source address, a destination address, or a CAN ID included in the communication-related log data, and the configuration information acquisition unit 501 acquires the Retrieve network configuration information. As a result, the attack path identification unit 505 identifies the component that is the communication source or the communication destination in the connection relationship information 2010 acquired in step S2101.
  • FIG. 22 is a diagram for explaining attack path identification processing according to an embodiment.
  • the attack path identification unit 505 detects, for example, the source MAC address “02:00:00:00:01:01” and the destination MAC address “02:00:00:00:01” of the log data 1401. :02” as a key, the network configuration information acquired by the configuration information acquiring unit 501 is searched. As a result, the attack path identification unit 505 can obtain, for example, ECU information 2201 as shown in FIG. 22 as a search result. In this case, the attack path identification unit 505 can identify the node "TCU601" corresponding to the source MAC address as the source and the node "CGW602" corresponding to the destination MAC address as the destination from the search result.
  • the attack path identification unit 505 uses, for example, the ECU name “CGW”, the output interface name “can0”, and the CAN ID “0x2e8” of the log data 1402 as keys, and acquires the network configuration information acquired by the configuration information acquisition unit 501. Search for. As a result, the attack route identification unit 505 can obtain, for example, network information 2202 and communication pattern information 2203 as shown in FIG. 22 as search results. In this case, the attack path identification unit 505 can identify the node "IVI603" corresponding to the CAN ID "0x2e8" as the destination from the search result.
  • the attack path identification unit 505 identifies the direction of the link between nodes from the communication source and communication destination identified in step S2104. For example, in FIG. 22, the attack path identification unit 505 updates the link 611 between the nodes "TCU 601" and "CGW 602" to a directed link from the source to the destination. Similarly, the attack path identification unit 505 updates the link 612 between the nodes "CGW602" and "IVI603" to a directed link toward the destination. As a result, the attack path identification unit 505 can create attack path information 2210 as shown in FIG. 22, for example.
  • step S2106 the attack path identification unit 505 determines whether or not all links in the attack path information 2210 are directed links. If all links are not directed links, the process proceeds to step S2107. migrate. On the other hand, if all the links in the attack route information 2210 are directed links, the attack route identification unit 505 returns the process to step S2101.
  • the attack route identification unit 505 identifies the direction of links whose direction is not specified among the links included in the attack route information 2210, based on the date and time information of the log data. For example, the attack path identification unit 505 extracts log data including information that can identify components (e.g., ECU name, CAN ID, etc.) from the related log data extracted by the related log extraction unit 502 based on the date and time of detection. Arrange (sort) in ascending (or descending) order. In addition, the attack route identification unit 505 determines the direction of links whose directions are not specified among the links included in the attack route information 2210 according to the arranged order. For example, the attack path identification unit 505 determines the direction of a link whose direction is not specified, with log data having an earlier detection date and time as a starting point and log data having a later detection date and time as an ending point.
  • the attack path identification unit 505 determines the direction of a link whose direction is not specified, with log data having an earlier detection date and time as a
  • step S2107 After the processing of step S2107 is completed, the attack route identification unit 505 executes the processing of steps S2101 and S2102 again, and when there is no more unacquired connection relationship information, the processing proceeds to step S2108.
  • the attack route identification unit 505 outputs to the output unit 403 one or more pieces of attack route information created in the processing of steps S2103 to S2107.
  • the output unit 403 of the SOC server 10 outputs, for example, the SIRT server 40 or the like, a report including information on one or more attack route information output by the attack route identification unit 505 .
  • the SOC server 10 when an attack is detected in the in-vehicle network 100, the SOC server 10 includes information on the components related to the path of the attack based on the log data of the in-vehicle network 100 and the network configuration information 1 Output information for one or more attack paths.
  • the SOC server 10 can output attack route information in a directed graph in which attack-related components are nodes and communication routes between attack-related nodes are links.
  • the system configuration of the information processing system 1 described in FIG. 1 and the functional configuration of the SOC server 10 described in FIGS. 4 and 5 are examples, and various modifications and applications are possible.
  • the SIRT server 40, the vehicle 20, the log server 30, the external server 50, or the like may include at least some of the functional configurations of the SOC server 10.
  • the SOC server 10 may output a report including information on one or more attack paths not only to the SIRT server 40, but also to the vehicle 20, the external server 50, or the like.
  • the information processing system and information processing method according to the present embodiment are not limited to the in-vehicle network 100 mounted on the vehicle 20, and can be applied to other communication networks that can specify network configuration information.
  • the information of one or more attack paths including the information of the components related to the detected attack path output by the SOC server 10 is not limited to the attack path information 2210 as shown in FIG.
  • the connection relationship information 2010 as shown in FIG. 20 may be used.
  • the one or more pieces of attack path information including the information on the components related to the detected attack path output by the SOC server 10 is information in the form of a list in which the information on the components related to the attack is arranged in chronological order. etc.
  • 1 information processing system 31 log data 100 in-vehicle network (network) 200 gateway 250 ECU (electronic control unit) 261 mobile communication device 262 V2X communication device 401 acquisition unit 402 estimation unit 403 output unit 410 network configuration information 600 topology information 2010 connection relationship information (information indicating connection relationship) 2210 Attack Path Information (Attack Path Information)

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Small-Scale Networks (AREA)

Abstract

ネットワーク、及びネットワークを介して通信を行う複数の構成要素を含むシステムにおいて、攻撃を検知したときに、攻撃に加担又は関与した構成要素を推定することを容易にするために、情報処理システムは、ネットワーク、及び前記ネットワークを介して通信を行う複数の構成要素を含むシステムのログデータを取得する取得部と、前記システムで攻撃が検知された場合、前記ログデータと前記システムのネットワーク構成情報とに基づいて、前記攻撃の経路に関連する前記構成要素の情報を含む1つ以上の攻撃経路の情報を出力する出力部と、を有する。

Description

情報処理システム、情報処理方法、及びプログラム
 本発明は、情報処理システム、情報処理方法、及びプログラムに関する。
 自動車等の車両に搭載されたセキュリティセンサからの出力データを解析することで、サイバー攻撃等の攻撃を検知し、その影響範囲等を特定する車両用のSOC(Security Operation Center)を実現する技術がある。
 例えば、SOCサーバにおいて、車載ネットワークから送信されるログデータに基づいて、異常動作を検知して、影響の範囲、危険の度合い、脅威の種別又は原因等を推定し、車両に対応指示を送信するシステムが知られている(例えば、特許文献1参照)。
特開2020-119090号公報
 サイバー攻撃等の攻撃に対して対策を行うためには、複数の段階から構成される攻撃において、当該攻撃に加担又は関与したシステムの構成要素を特定した上で、(当該構成要素の特徴から導き出せる)攻撃により発生し得る事象を明確化することが望ましい。特に、多数の構成要素から構成される車両のようなシステムでは、攻撃に加担又は関与したシステムの構成要素を特定せずに、攻撃が成功した要因や攻撃により発生しうる事象を明確化することは困難である。
 特許文献1には、例えば、異常動作を示すログデータを発生した装置と同一のバス上に接続されている装置を、異常動作が及ぼす影響の範囲として推定すること等が開示されているが、これだけでは、攻撃に加担又は関与した装置を推定することは困難である。
 本発明の一実施形態は、上記の問題点に鑑みてなされたものであって、ネットワーク、及びネットワークを介して通信を行う複数の構成要素を含むシステムにおいて、攻撃を検知したときに、攻撃に加担又は関与した構成要素を推定することを容易にする。
 上記の課題を解決するため、本発明の一実施形態に係る情報処理システムは、ネットワーク、及び前記ネットワークを介して通信を行う複数の構成要素を含むシステムのログデータを取得する取得部と、前記システムで攻撃が検知された場合、前記ログデータと前記システムのネットワーク構成情報とに基づいて、前記攻撃の経路に関連する前記構成要素の情報を含む1つ以上の攻撃経路の情報を出力する出力部と、を有する。
 本発明の一実施形態によれば、ネットワーク、及びネットワークを介して通信を行う複数の構成要素を含むシステムにおいて、攻撃を検知したときに、攻撃に加担又は関与した構成要素を推定することが容易になる。
一実施形態に係る情報処理システムの全体構成の例を示す図である。 一実施形態に係る車載ネットワークの構成の一例を示す図である。 一実施形態に係るコンピュータのハードウェア構成の例を示す図である。 一実施形態に係るSOCサーバの機能構成の例を示す図である。 一実施形態に係る推定部の機能構成の例を示す図である。 一実施形態に係るネットワーク構成情報の例を示す図(1)である。 一実施形態に係るネットワーク構成情報の例を示す図(2)である。 一実施形態に係るネットワーク構成情報の例を示す図(3)である。 一実施形態に係るネットワーク構成情報の例を示す図(4)である。 一実施形態に係るネットワーク構成情報の例を示す図(5)である。 一実施形態に係るネットワーク構成情報の例を示す図(6)である。 一実施形態に係るネットワーク構成情報の例を示す図(7)である。 一実施形態に係るネットワーク構成情報の例を示す図(8)である。 一実施形態に係るネットワーク構成情報の例を示す図(9)である。 一実施形態に係るネットワーク構成情報の例を示す図(10)である。 一実施形態に係るログデータの例を示す図である。 一実施形態に係るSOCサーバの処理の例を示すフローチャートである。 一実施形態に係る関連ログ抽出処理の例を示すフローチャートである。 一実施形態に係る関連ログ抽出処理について説明するための図(1)である。 一実施形態に係る関連ログ抽出処理について説明するための図(2)である。 一実施形態に係るログデータの関連付け処理の例を示すフローチャートである。 一実施形態に係る間接比較による抽出処理について説明するための図である。 一実施形態に係る構成要素の特定処理の例を示すフローチャートである。 一実施形態に係る構成要素の特定処理について説明するための図である。 一実施形態に係る接続関係の特定処理の例を示すフローチャートである。 一実施形態に係る接続関係の特定処理について説明するための図である。 一実施形態に係る攻撃経路の特定処理の例を示すフローチャートである。 一実施形態に係る攻撃経路の特定処理について説明するための図である。
 以下、図面を参照して本発明の実施形態を説明する。なお、以下で説明する実施形態は一例であり、本発明が適用される実施の形態は、以下の実施の形態に限られない。
 <全体構成>
 図1は、一実施形態に係る情報処理システムの全体構成の例を示す図である。情報処理システム1は、例えば、通信ネットワークを介して、互いに通信可能なSOC(Security Operation Center)サーバ10、及びSIRT(Security Incident Response Team)サーバ40等を有する。
 SOCサーバ10は、コンピュータの構成を有する情報処理装置、又は複数の情報処理装置を含むシステムである。SOCサーバ10は、例えば、自動車等の車両20が送信する車載ネットワーク100のログデータを取得し、取得したログデータを用いて、車両20に対するサイバー攻撃の検知、及び攻撃経路の特定等を行う車両用のセキュリティ監視を行う。例えば、SOCサーバ10は、車両20に対するサイバー攻撃(以下、単に「攻撃」と呼ぶ)を検知した場合、攻撃を検知したことを示す情報、及び1つ以上の攻撃経路の情報を含むレポートをSIRTサーバ40等に送信する。
 ここで、攻撃経路とは、検知した攻撃の経路に関連する、車載ネットワーク100の構成要素、当該構成要素間の接続関係、又は攻撃の進行方向等を表す。好ましくは、攻撃経路は、攻撃の進行を、車載ネットワーク100に接続する構成要素をノード、通信経路をリンクとした有向グラフで表現したものである。ただし、これに限られず、攻撃経路は、方向を含まない無向グラフで表現したものであっても良いし、攻撃に加担、又は関与した構成要素を列挙したもの等であっても良い。
 SOCサーバ10は、1つ以上の車両20が送信するログデータ31を、1つ以上の車両20から収集するログサーバ30等から取得する。ただし、これに限られず、SOCサーバ10は、1つ以上の車両20が送信するログデータ31を、移動通信ネットワークを介して、1つ以上の車両20から取得しても良い。例えば、ログサーバ30の機能は、SOCサーバ10が有していても良い。
 また、SOCサーバ10は、例えば、Auto-ISAC(Automotive Information Sharing and Analysis Center) 等が運用する外部サーバ50から、インターネット等の通信ネットワークを介して、セキュリティ情報51を取得することができる。このセキュリティ情報51には、例えば、コネクテッドカー関連のサイバー脅威、及び潜在的な脆弱性等の様々なサイバーセキュリティ情報が含まれる。
 SOCサーバ10は、取得したログデータ31、及びセキュリティ情報51に基づいて、車両20に対する攻撃を検知しても良いし、車両20、又はログサーバ30等から通知される攻撃検知通知等によって車両20に対する攻撃を検知しても良い。
 また、SOCサーバ10は、車両20に対する攻撃を検知したときに、取得したセキュリティ情報51、又はSIRTサーバ40からの指示等に基づいて、車両20に対する暫定処置を実施する機能を有していても良い。
 SIRTサーバ40は、コンピュータの構成を有する情報処理装置、又は複数の情報処理装置を含むシステムである。SIRTサーバ40は、例えば、車両メーカ、又は車載装置メーカ等が、自社が製造、販売した製品の安全を確保するために、製品の安全性を脅かす外的脅威に対するセキュリティ対応を行う組織(SIRT)が運用するサーバである。なお、SIRTは、PSIRT(Product Security Incident Response Team)とも呼ばれる。
 SIRTサーバ40は、例えば、SOCサーバ10が送信するセキュリティに関するレポートに基づいてメーカごとに決定された対応方針等が入力された場合、当該対応方針を含む恒久処置を、車両20に実施する機能を有する。また、SIRTサーバ40は、外部サーバ50とセキュリティ情報51を共有し、セキュリティ情報51に基づいて、車両20に対する暫定処置を、SOCサーバ10、又は車両20に指示する機能を有していても良い。
 (車載ネットワークの例)
 図2は、一実施形態に係る車載ネットワークの一例を示している。なお、車両20に搭載される車載ネットワーク100の構成は、車両メーカによって異なるため、図2に示す車載ネットワーク100の構成は、あくまで一例である。
 図2の例では、車載ネットワーク100は、情報系NW(ネットワーク)210、駆動系NW220、シャーシ系NW230、ボディ系NW240、・・・等の複数のネットワーク、外部通信装置260、ODB-2コネクタ270、及びゲートウェイ200等を含む。
 情報系NW210は、例えば、イーサネット(登録商標)、又はCAN(Control Area Network)(登録商標)、MOST(Media Oriented Systems Transport)(登録商標)等のバス(通信路)211に接続する1つ以上のECU(Electronic Control Unit)を含む。ECUは、所定のプログラムを実行することにより、所定の制御機能を実現する電子制御装置である。情報系NW210に接続されるECU201a、201bには、例えば、車両20内において、情報の提供と、娯楽の提供を実現するIVI(In-Vehicle Infotainment)等の車載装置が含まれる。IVIは、例えば、カーナビゲーション、オーディオ、ビデオプレーヤ、及び車両の設定等の機能に加え、例えば、USB(Universal Serial Bus)、Bluetooth(登録商標)、無線LAN(Local Area Network)等による通信機能を有している。
 駆動系NW220は、例えば、CAN、又はFlexRay(登録商標)等のバス(通信路)221に接続する1つ以上のECU250c、250d等を含む。駆動系NW220に接続されるECU250c、250dには、例えば、センサ、及びアクチュエータ等が接続され、所定のプログラムの実行することにより、エンジン、ブレーキ、又はモータ等を制御する。
 シャーシ系NW230は、例えば、CAN、又はFlexRay等のバス(通信路)231に接続する1つ以上のECU250e、250f等を含む。シャーシ系NW230に接続されるECU250e、250fには、例えば、センサ、及びアクチュエータ等が接続され、所定のプログラムを実行することにより、ステアリング、又はサスペンション等を制御する。
 ボディ系NW240は、例えば、CAN、又はLIN(Local Interconnect Network)等のバス(通信路)241に接続する1つ以上のECU250g、250h等を含む。ボディ系NW240に接続されるECU250g、250hには、例えば、センサ、及びアクチュエータ等が接続され、所定のプログラムを実行することにより、主にエアコン、ドア、ランプ等の内装品を制御する。なお、以下の説明において、ECU250a~250hのうち、任意のECUを示す場合、「ECU250」を用いる。
 外部通信装置260は、例えば、イーサネット等のネットワーク(通信路)265で、ゲートウェイ200に接続される移動通信装置261、及びV2X(Vehicle-to-Everything)通信装置262等を含む。移動通信装置261は、例えば、LTE(Long Term Evolution)、又は5G(5th Generation)等の移動通信ネットワーク201を介して、通信ネットワーク202に接続し、ログサーバ30、SOCサーバ10、又はSIRTサーバ40等と通信を行う。V2X通信装置262は、例えば、DSRC(Dedicated Short Range Communications)通信、又はセルラーV2X通信等により、車車間通信、路車間通信、又は歩車間通信等を行う。
 OBD-2コネクタ270は、車載ネットワーク100に、故障診断を行う診断装置等を接続するためのコネクタである。
 ゲートウェイ200は、情報系NW210、駆動系NW220、シャーシ系NW230、ボディ系NW240、外部通信装置260、及びOBD-2コネクタ270に接続され、ネットワーク間のデータ転送、及びプロトコル変換等を行う中継装置である。
 なお、ゲートウェイ200、移動通信装置261、及びV2X通信装置262等は、例えば、ECU250によって実現されるものであっても良い。また、以下の説明において、複数のECU250、ゲートウェイ200、移動通信装置261、V2X通信装置262、及びOBD-2コネクタ270等、車載ネットワーク100を介して通信する構成要素を、単に「構成要素」と呼ぶ場合がある。
 (ログデータについて)
 車載ネットワーク100に含まれるゲートウェイ200、外部通信装置260、及びECU250等の構成要素は、自己の動作履歴等を示すログデータを継続的に取得し、取得したログデータを、ログサーバ30等に送信する機能を有している。
 例えば、ゲートウェイ200には、ファイアウォール、IDS(Intrusion Detection System)、アンチウィルス、メッセージフィルタ、又はエラーセンサ等のセキュリティセンサが実装されている。ゲートウェイ200は、これらのセキュリティセンサで所定イベント(例えば、エラー等)が発生すると、発生したイベントの情報を含むログデータを生成し、生成したログデータを所定のタイミングでログサーバ30等に送信する。
 同様に、外部通信装置260、及びECU250にも、例えば、ファイアウォール、IDS、アンチウィルス、メッセージフィルタ、又はエラーセンサ等のセキュリティセンサが実装されている。外部通信装置260、及びECU250は、これらのセキュリティセンサで所定イベント(例えば、エラー等)が発生すると、発生したイベントの情報を含むログデータを生成し、生成したログデータを所定のタイミングでログサーバ30等に送信する。
 なお、車載ネットワーク100の移動通信装置261は、生成されたログデータを記憶部等に記憶しておき、所定のタイミングで、記憶部等に記憶したログデータを、ログサーバ30等にまとめて送信しても良い。
 (処理の概要)
 例えば、車載ネットワーク100に対する攻撃に対して対策を行うためには、複数の段階から構成される攻撃において、当該攻撃に加担又は関与したシステムの構成要素を特定した上で、攻撃により発生し得る事象を明確化することが望ましい。特に、図2に示すように複数のネットワーク、及び通信プロトコルを含む車載ネットワーク100等では、攻撃に加担又は関与したシステムの構成要素を特定せずに、攻撃が成功した要因や攻撃により発生しうる事象を明確化することは困難である。
 特許文献1には、例えば、異常動作を示すログデータを発生した装置と同一のバス上に接続されている装置を、異常動作が及ぼす影響の範囲として推定すること等が開示されている。しかし、この方法では、例えば、図2の情報系NW210で、エラーが検知された場合、情報系NW210のバス211に接続されているECU250a、250b、・・・等が列挙されるだけであり、攻撃に加担又は関与したシステムの構成要素を特定することはできない。
 そこで、本実施形態に係るSOCサーバ10は、例えば、図2に示すような車載ネットワーク100において、攻撃が検知されたときに、当該攻撃が可能な攻撃経路を列挙する機能を有している。
 例えば、SOCサーバ10は、例えば、図2に示すような車載ネットワーク100のネットワーク構成に関するネットワーク構成情報を、記憶部等に予め記憶しておく。或いは、SOCサーバ10は、車載ネットワーク100のネットワーク構成情報を、車両20、又は外部サーバ50等から取得するものであっても良い。
 また、SOCサーバ10は、車載ネットワーク100で攻撃が検知された場合、車載ネットワーク100のログデータとネットワーク構成情報とに基づいて、攻撃の経路に関連する構成要素の情報を含む1つ以上の攻撃経路の情報を出力する。好ましくは、SOCサーバ10は、攻撃に関連する構成要素をノードとし、攻撃に関連するノード間の通信経路をリンクとした有向グラフで、攻撃経路の情報を出力する。なお、攻撃経路の情報を出力する方法については、具体的な実施形態を例示して後述する。
 これにより、本実施形態に係る情報処理システム1によれば、ネットワーク、及びネットワークを介して通信を行う複数の構成要素を含む車載ネットワーク100において、攻撃を検知したときに、攻撃に加担又は関与した構成要素を推定することが容易になる。
 なお、本実施形態は、車載ネットワーク100と同様に、ネットワーク構成情報を特定可能な他の情報処理システムにも適用することができる。
 <ハードウェア構成>
 図2のECU250、ゲートウェイ200、移動通信装置261、及びV2X通信装置262等は、例えば、図3に示すようなコンピュータ300のハードウェア構成を有している。また、図1のSOCサーバ10、SIRTサーバ40、ログサーバ30、及び外部サーバ50等は、例えば、1つ以上のコンピュータ300によって構成される。
 図3は、一実施形態に係るコンピュータのハードウェア構成の例を示す図である。コンピュータ300は、例えば、CPU(Central Processing Unit)301、メモリ302、ストレージデバイス303、ネットワークI/F(Interface)304、及び内部バス305等を有している。また、コンピュータ300は、外部接続I/F306、出力装置307、入力装置308、又は通信装置309等を、さらに有していても良い。
 CPU301は、例えば、メモリ302、又はストレージデバイス303等の記憶媒体に記憶したプログラムを実行することにより、様々な機能を実現するプロセッサである。メモリ302には、CPU301が一時的な記憶領域として利用する揮発性のメモリであるRAM(Random Access Memory)、及びCPU301の起動用のプログラム等を記憶する不揮発性のメモリであるROM(Read Only Memory)等が含まれる。ストレージデバイス303は、例えば、SSD(Solid State Drive)、又はHDD(Hard Disk Drive)等の大容量の記憶デバイスである。ネットワークI/F304は、コンピュータ300を通信ネットワーク202、又は車載ネットワーク100等のネットワークに接続する1つ以上のインタフェースを含む。
 外部接続I/F306は、コンピュータ300に外部装置を接続するためのインタフェースである。外部接続I/F306には、例えば、センサ、アクチュエータ、情報端末、又は外部メモリ等の様々なデバイスが接続され得る。出力装置307は、外部への出力を行う出力デバイス(例えば、ディスプレイ、スピーカ、又はランプ等)である。入力装置308は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、又はセンサ等)等である。なお、入力装置308と出力装置307は、一体となった入出力装置(例えば、タッチパネルディスプレイ等)であっても良い。通信装置309は、例えば、LTE、5G等の移動通信、無線LAN通信、又はBluetooth等の近距離無線通信等の様々な通信を行う通信デバイスである。内部バス305は、上記の各構成要素に共通に接続され、例えば、アドレス信号、データ信号、及び各種の制御信号等を伝送する。
 <機能構成>
 (SOCサーバの機能構成)
 図4は、一実施形態に係るSOCサーバの機能構成の例を示す図である。SOCサーバ10は、SOCサーバ10が備える1つ以上のコンピュータ300で所定のプログラムを実行することにより、取得部401、推定部402、及び出力部403等を実現している。なお、上記の各機能構成のうち、少なくとも一部は、ハードウェアによって実現されるものであっても良い。
 また、SOCサーバ10は、一例として、図3のストレージデバイス303等の記憶部に、ネットワーク構成情報410を記憶している。また、別の一例として、ネットワーク構成情報410は、SOCサーバ10の外部のストレージサーバ等に記憶しているものであっても良い。
 取得部401は、1つ以上の車両20の車載ネットワーク100が送信するログデータ31を、例えば、ログサーバ30等から取得する取得処理を実行する。なお、車載ネットワーク100は、ネットワーク、及び前記ネットワークを介して通信を行う複数の構成要素を含むシステムの一例である。
 出力部403は、車載ネットワーク100で攻撃が検知された場合、取得部401が取得したログデータと、ネットワーク構成情報410とに基づいて、攻撃の経路に関連する構成要素の情報を含む1つ以上の攻撃経路の情報を出力する出力処理を実行する。
 推定部402は、取得部401が取得したログデータ31のうち、所定の期間のログデータを関連付けることにより、攻撃の経路に関連する構成要素の情報を含む1つ以上の攻撃経路を推定する推定処理を実行する。
 上記の構成により、出力部403は、例えば、推定部402が、ログデータ31とネットワーク構成情報410とに基づいて推定した、1つ以上の攻撃経路の情報を含むレポートを、SIRTサーバ40等に出力する。
 なお、図4に示すSOCサーバ10の機能構成は一例である。例えば、推定部402の機能は、出力部403に含まれていても良い。また、SOCサーバ10は、ログデータ31に基づいて、攻撃を検知する機能を有し、外部からの攻撃検知通知によらずに、車載ネットワーク100に対する攻撃を検知しても良い。さらに、推定部402は、SOCサーバの外部(例えば、外部サーバ50、又は車両20等)から、攻撃が検知された車両20に対応するネットワーク構成情報のみを取得するものであっても良い。
 変形例として、出力部403は、攻撃を受けた車両20のネットワーク構成情報、及びログデータを学習データとし、攻撃経路の情報を教師データとして予め機械学習した推定モデル等を用いて、1つ以上の攻撃経路の情報を推定し、出力しても良い。この場合、SOCサーバ10は、攻撃が検知された車両20のネットワーク構成情報、及びログデータを、学習済の推定モデルに入力することにより、1つ以上の攻撃経路の情報を取得することができるので、推定部402を有していなくても良い。
 (推定部の機能構成)
 図5は、一実施形態に係る推定部の機能構成の例を示す図である。推定部402は、例えば、構成情報取得部501、関連ログ抽出部502、構成要素特定部503、接続関係特定部504、及び攻撃経路特定部505等を有する。
 構成情報取得部501は、例えば、SOCサーバ10が備えるストレージデバイス303等に予め記憶したネットワーク構成情報410から、攻撃が検知された車両20に対応するネットワーク構成情報を取得する。なお、構成情報取得部501は、例えば、外部サーバ50、又は車両20等から、攻撃が検知された車両20に対応するネットワーク構成情報を取得するものであっても良い。
 ネットワーク構成情報410には、例えば、図4に示すように、トポロジ情報DB(Database)411、ネットワーク情報DB412、アプリケーション情報DB413、ECU情報DB414、及び通信パターンDB415等が含まれる。
 図6A~図10Bは、一実施形態に係るネットワーク構成情報の例を示す図である。図6Aは、一実施形態に係るトポロジ情報DB411の一例のイメージを示している。トポロジ情報DB411には、複数の車両20の車載ネットワーク100のトポロジ情報が記憶されている。
 図6Aの例では、トポロジ情報DB411には、項目として、車両識別番号、ノードX、ノードYの情報が含まれる。車両識別番号は、車両20を識別する識別情報であり、例えば、VIN(Vehicle Identification Number)等を適用することができる。ノードXは、接続元の構成要素(ECU等)、ノードYは、接続先の構成要素を示す。
 図6Aに示すトポロジ情報DB411において、車両識別番号「JP000000000000001」の車両20の車載ネットワーク100は、図6Bに示すように、ノードX「TCU601」がノードY「CGW602」に接続されていることが示されている。同様に、ノードX「CGW602」が、2つのノードY「IVI603」、及び「ENGINE604」に接続されていることが示されている。
 なお、トポロジ情報DB411は、図6Bのように、TCU601、CGW602、IVI603、ENGINE604等の構成要素をノードとし、構成要素間の接続関係をリンク611、612、613で表すグラフ形式で記憶されていても良い。
 図7A、図7Bは、一実施形態に係るネットワーク情報DB412の一例のイメージを示している。ネットワーク情報DB412には、複数の車両20の車載ネットワーク100に含まれる各ECU(構成要素の一例)に接続する通信路の情報が記憶されている。
 図7Aの例では、ネットワーク情報DB412-1には、項目として、車両識別番号、ECU、Ethernet(登録商標)インタフェース、及びEthernetセグメント等の情報が含まれる。車両識別番号は、前述したように車両20を識別する識別情報である。ECUは、車載ネットワーク100に接続する構成要素の名称、又は識別情報である。Ethernetインタフェースは、各構成要素が持つイーサネットインタフェースの名称、又は識別情報である。Ethernetセグメントは、各構成要素がイーサネットインタフェースを介して接続するイーサネットセグメント(イーサネットインタフェースにおいて通信が行われる物理ネットワークの最小単位)の名称、又は識別情報である。
 図7Aに示すネットワーク情報DB412-1には、例えば、車両識別番号「JP000000000000001」の車両20のECU「TCU」のEthernetインタフェース「eth0」がEthernetセグメント「Ethernet-0」に接続されていることが示されている。同様に、ECU「CGW」のEthernetインタフェース「eth0」がEthernetセグメント「Ethernet-0」に接続されていること等が示されている。
 図7Bの例では、ネットワーク情報DB412-2には、項目として、車両識別番号、ECU、CANインタフェース、及びCANバス等の情報が含まれる。車両識別番号は、前述したように車両20を識別する識別情報である。ECUは、車載ネットワーク100に接続する構成要素の名称、又は識別情報である。CANインタフェースは、各構成要素が持つCANインタフェースの名称、又は識別情報である。CANバスは、各構成要素がCANインタフェースを介して接続するCANバスの名称、又は識別情報である。
 図7Bに示すネットワーク情報DB412-2には、例えば、車両識別番号「JP000000000000001」の車両20のECU「CGW」、及び「IVI」のCANインタフェース「can0」がCANバス「CAN-0」に接続されていること等が示されている。また、ECU「CGW」のCANインタフェース「can1」がCANバス「CAN-1」も接続され、ECU「ENGINE」のCANインタフェース「can0」がCANバス「CAN-1」に接続されていること等が示されている。このように、ネットワーク情報DB412は、複数のネットワーク情報DB412-1、412-2によって構成されていても良い。
 図8A、図8Bは、一実施形態に係るアプリケーション情報DB413の一例のイメージを示している。アプリケーション情報DB413には、複数の車両20の車載ネットワーク100に含まれる各アプリケーション(構成要素の別の一例)に対応する通信路の情報、及び識別情報等が記憶されている。
 図8Aの例では、アプリケーション情報DB413-1には、項目として、車両識別番号、Ethernetセグメント、アプリケーション識別子、及びアプリケーション等の情報が含まれる。車両識別番号は、前述したように車両20を識別する識別情報である。Ethernetセグメントは、アプリケーションを実行するECUが接続されているイーサネットセグメントの名称、又は識別情報等を示す情報である。アプリケーション識別情報は、アプリケーションを識別する識別情報である。アプリケーションは、アプリケーションの名称、又は機能等を示す情報である。
 図8Aに示すアプリケーション情報DB413-1には、例えば、車両識別番号「JP000000000000001」の車両20でアプリケーション「渋滞情報通知」を実行するECUが、Ethernetセグメント「Ethernet-0」に接続されていること等が示されている。
 図8Bの例では、アプリケーション情報DB413-2には、項目として、車両識別番号、CANバス、CAN ID、アプリケーション等の情報が含まれる。車両識別番号は、前述したように車両20を識別する識別情報である。CANバスは、アプリケーションを実行するECUが接続されているCANバスの名称、又は識別情報等を示す情報である。CAN IDは、アプリケーションが利用するCAN IDを示す情報である。なお、CAN IDは、CANバスで送信されるデータに含まれる、データ内容、及び送信先のノード等を示す識別子である。アプリケーションは、アプリケーションの名称、又は機能等を示す情報である。
 図8Bに示すアプリケーション情報DB413-2には、車両識別番号「JP000000000000001」の車両20でアプリケーション「回転数通知」を実行するECUが、CANバス「CAN-0」に接続され、CAN ID「0x192」を用いること等が示されている。このように、アプリケーション情報DB413は、複数のアプリケーション情報DB413-1、413-2によって構成されていても良い。
 図9A、図9Bは、一実施形態に係るECU情報DB414の一例のイメージを示している。ECU情報DB414には、複数の車両20の車載ネットワークに含まれる各構成要素に対応する通信アドレス、又は識別情報等が記憶されている。
 図9Aの例では、ECU情報DB414-1には、項目として、車両識別番号、MACアドレス、及びECU等の情報が含まれる。車両識別番号は、前述したように車両20を識別する識別情報である。MAC(Media Access Control address)アドレスは、ECUに割り当てられたMACアドレスを示す情報である。ECUは、車載ネットワーク100に接続するECU(構成要素の一例)の名称、又は識別情報等を示す情報である。
 図9Aに示すECU情報DB414-1には、例えば、車両識別番号「JP000000000000001」の車両20におけるECU「TCU」のMACアドレスが「02:00:00:00:01:01」であること等が示されている。
 図9Bの例では、ECU情報DB414-2には、項目として、車両識別番号、IPアドレス、及びECU等の情報が含まれる。車両識別番号は、前述したように車両20を識別する識別情報である。IP(Internet Protocol)アドレスは、ECU割り当てられたIPアドレスを示す情報である。ECUは、車載ネットワーク100に接続するECU(構成要素の一例)の名称、又は識別情報等を示す情報である。
 図9Bに示すECU情報DB414-2には、例えば、車両識別番号「JP000000000000001」の車両20におけるECU「CGW」のIPアドレスが「192.168.0.2」であること等が示されている。このように、ECU情報DB414は、複数のECU情報DB414-1、414-2によって構成されていても良い。
 図10A、図10Bは、一実施形態に係る通信パターン情報DB415の一例のイメージを示している。通信パターン情報DB415には、複数の車両20の車載ネットワークに含まれる構成要素間の通信パターンの情報が記憶されている。
 図10Aの例では、通信パターン情報DB415-1には、項目として、車両識別番号、CANバス、CAN ID、及び受信ECU等の情報が含まれる。車両識別番号は、前述したように、車両20を識別する識別情報である。CANバスは、受信ECUが接続するCANバスの名称、又は識別情報等を示す情報である。CAN IDは、受信ECUが受信するCANデータのCAN IDを示す情報である。受信ECUは、CANデータを受信するECUの名称、又は識別情報等を示す情報である。
 図10Aに示す通信パターン情報DB415-1には、例えば、車両識別番号「JP000000000000001」の車両20において、CANバス「CAN-0」のCAN ID「0x192」のデータを受信する受信ECUが「IVI」であること等が示されている。
 図10Bの例では、通信パターン情報DB415-2には、項目として、車両識別番号、送信元IPアドレス、宛先IPアドレス、IPプロトコル、送信元ポート番号、及び宛先ポート番号等の情報が含まれている。車両識別番号は、前述したように、車両20を識別する識別情報である。送信元IPアドレスは、送信元の構成要素のIPアドレスである。宛先IPアドレスは、宛先の構成要素のIPアドレスである。IPプロトコルは、例えば、UDP(User Datagram Protocol)、又はTCP(Transmission Control Protocol)等の通信プロトコルを示す情報である。送信元ポート番号は、送信元のポート番号を示す情報である。宛先ポート番号は、宛先のポート番号を示す情報である。
 図10Bに示す通信パターン情報DB415-2には、例えば、車両識別番号「JP000000000000001」の車両20において、送信元IPアドレス「192.168.0.1」、宛先IPアドレス「192.168.0.2」で送信される通信パターンがあることが示されている。また、当該通信パターンでは、IPプロトコル「UDP」、及び宛先ポート番号「31000」で通信が行われること等が示されている。このように、通信パターン情報DB415は、複数の通信パターン情報DB415-1、415-2によって構成されていても良い。
 ここで、図5に戻り、推定部402の機能構成の説明を続ける。
 構成情報取得部501は、例えば、図6~10で説明したネットワーク構成情報410のうち、攻撃が検知された車両20の車両識別番号に対応するネットワーク構成情報を取得する。
 関連ログ抽出部502は、取得部401が取得したログデータ31から、検知された攻撃に関連するログデータを抽出する。例えば、関連ログ抽出部502は、取得部401が取得したログデータ31から、攻撃が検知された車両20の車両識別番号に対応するログデータを取得する。また、関連ログ抽出部502は、攻撃が検知された車両20の車両識別番号に対応するログデータから、予め設定された所定の期間のログデータを取得する。
 好ましくは、関連ログ抽出部502は、構成情報取得部501が取得したネットワーク構成情報を用いて、抽出した複数のログデータを関連付ける。例えば、関連ログ抽出部502は、抽出した複数のログデータを、比較可能と予め定義した項目を直接、又は間接的に比較することにより、検知された攻撃に関連するログデータを抽出する。
 構成要素特定部503は、関連ログ抽出部502が抽出したログデータから、検知された攻撃に関連する構成要素(ECU等)を特定する構成要素特定処理を実行する。
 接続関係特定部504は、構成情報取得部501が取得したネットワーク構成情報に含まれるトポロジ情報を用いて、構成要素特定部503が特定した構成要素間の接続関係を特定する接続特定処理を実行する。
 攻撃経路特定部505は、構成情報取得部501が取得したネットワーク構成情報に含まれる通信パターン情報、及びログデータの検知日時等を用いて、接続関係特定部504が特定した接続関係における攻撃の進行方向を特定する攻撃経路の特定処理を実行する。なお、構成要素特定部503が実行する構成要素の特定処理、接続関係特定部504が実行する接続関係の特定処理、及び攻撃経路特定部505が実行する攻撃経路の特定処理については、具体的な実施形態を例示して後述する。
 (ログデータの例)
 図11は、一実施形態に係るログデータの例を示す図である。図11の例では、ログデータ31には、項目として、検知日時、車両識別情報、センサ名、ECU名、入力インタフェース名、出力インタフェース名、送信元MACアドレス、送信先MACアドレス、アプリケーション識別子、CAN ID、及び検知イベント等の情報が含まれる。
 検知日時は、予め定められた検知イベントが検知された日時を示す情報である。車両識別番号は、当該検知イベントが検知された車両20の車両識別番号を示す情報である。センサ名は、当該検知イベントを検知したセキュリティセンサの名称、又は機能等を示す情報である。ECU名は、当該検知イベントを検知したECUの名称、又は識別情報等を示す情報である。
 入力インタフェース名は、検知イベントの検知がECUにおけるデータの入力に起因する場合に、データが入力されたインタフェースの名称、又は識別情報等を示す情報である。出力インタフェース名は、検知イベントの検知がECUにおけるデータの出力に起因する場合に、データを出力したインタフェースの名称、又は識別情報等を示す情報である。送信元MACアドレスは、検知イベントを検知したデータに含まれる送信元MACアドレスを示す情報である。送信先MACアドレスは、検知イベントを検知したデータに含まれる送信先MACアドレスを示す情報である。
 アプリケーション識別子は、検知イベントを検知したデータに含まれるアプリケーション識別子を示す情報である。CAN IDは、検知イベントを検知したデータに含まれるCAN IDを示す情報である。検知イベントは、検知した検知イベントの名称、又は識別情報等を示す情報である。
 なお、ログデータ31の各レコードには、例えば、車両20の車載ネットワーク100で予め定められた検知イベントが検知されたとき等に、検知イベントを検知したECUがログサーバに送信したログデータが記憶される。
 <処理の流れ>
 続いて、本実施形態に係る情報処理方法の処理の流れについて説明する。
 (SOCサーバの処理)
 図12は、一実施形態に係るSOCサーバの処理の例を示すフローチャートである。ここでは、図4、5で説明したSOCサーバ10、及び推定部402が実行する処理の概要について説明する。なお、詳細な処理内容については、図13~21を用いて後述する。
 ステップS1201において、SOCサーバ10は、例えば、ログサーバ30、又は車両20等から、攻撃を検知したことを示す攻撃検知通知を受け付けると、ステップS1202以降の処理を実行する。なお、攻撃検知通知には、例えば、攻撃を受けた車両20の車両識別番号(VIN)、及び攻撃を検知した検知時刻等の情報が含まれる。
 ステップS1202において、取得部401は、例えば、ログサーバ30等から、図11に示すようなログデータ31を取得する。
 ステップS1203において、推定部402の構成情報取得部501は、攻撃検知通知に含まれる、攻撃を受けた車両20の車両識別番号に対応するネットワーク構成情報を、ネットワーク構成情報410に含まれる各DB411~415から取得する。
 ステップS1204において、推定部402の関連ログ抽出部502は、取得部401が取得したログデータ31から、攻撃に関連するログデータを抽出する関連ログ抽出処理を実行する。
 ステップS1205において、推定部402の構成要素特定部503は、関連ログ抽出部502が抽出したログデータと、構成情報取得部501が取得したネットワーク構成情報とを用いて、攻撃に関連する構成要素を特定する構成要素の特定処理を実行する。
 ステップS1206において、推定部402の接続関係特定部504は、構成情報取得部501が取得したネットワーク構成情報に含まれるトポロジ情報を用いて、構成要素特定部503が特定した構成要素間の接続関係を特定する接続関係特定処理を実行する。
 ステップS1207において、推定部402の攻撃経路特定部505は、構成情報取得部501が取得したネットワーク構成情報に含まれる通信パターン情報、又はログデータの検知日時等に基づいて、攻撃の進行方向を特定する攻撃経路の特定処理を実行する。
 ステップS1208において、SOCサーバ10の出力部403は、推定部402が推定した1つ以上の攻撃経路の情報を出力する。例えば、出力部403は、検知された攻撃に関連する構成要素をノード、攻撃の進行に利用された通信路をリンクとして、攻撃の進行を有向グラフで表現した1つ以上の攻撃経路を列挙したレポートを、SIRTサーバ40等に出力する。
 (関連ログの抽出処理)
 図13は、一実施形態に係る関連ログ抽出処理の例を示すフローチャートである。この処理は、図12のステップS1204で、関連ログ抽出部502が実行する関連ログの抽出処理の一例を示している。
 ステップS1301において、関連ログ抽出部502は、取得部401が取得したログデータ31から、攻撃が検知された車両20のログデータを取得する。取得部401が取得したログデータ31には、例えば、図14Aに示すように、車両識別番号が異なる複数のログデータ1401~1406が含まれる。関連ログ抽出部502は、例えば、攻撃通知に含まれる車両識別番号が「JP000000000000001」である場合、複数のログデータ1401~1406のうち、車両識別番号「JP000000000000001」を含むログデータ1401、1402、1404~1406を選択的に取得する。
 ステップS1302において、関連ログ抽出部502は、ステップS1301で、攻撃が検知された車両20のログデータを取得できたか否かを判断し、ログデータを取得できた場合、処理をステップS1303に移行させる。一方、関連ログ抽出部502は、ステップS1301で、攻撃が検知された車両20のログデータを取得できない場合、図13の処理を終了させる。
 ステップS1303に移行すると、関連ログ抽出部502は、ステップS1301で取得したログデータのうち、所定の期間内のログデータを抽出する。例えば、図14Bに示すように、ステップS1301で取得したログデータ1401、1402、1404~1406には、検知日時の情報が含まれる。関連ログ抽出部502は、ログデータ1401、1402、1404~1406のうち、所定の期間を経過したログデータ(例えば、ログデータ1406)を除外して、所定の期間内のログデータ1401、1402、1404、1405を選択的に取得する。これにより、関連ログ抽出部502は、検知された攻撃との関連性が低い、古いデータを除外することができる。
 ステップS1304において、関連ログ抽出部502は、ステップS1303で、所定の期間内のログデータを取得できたか否かを判断し、ログデータを取得できた場合、処理をステップS1305に移行させる。一方、関連ログ抽出部502は、ステップS1303で、所定の期間内のログデータを取得できない場合、図13の処理を終了させる。
 ステップS1305において、関連ログ抽出部502は、構成情報取得部501が取得したネットワーク構成情報を用いて、ステップS1303で抽出したログデータを関連付ける。例えば、関連ログ抽出部502は、図15に示すようなログデータの関連付け処理を実行する。
 図15は、一実施形態に係るログデータの関連付け処理の例を示すフローチャートである。この処理は、図13のステップS1305において、関連ログ抽出部502が、図13のステップS1303で取得した抽出したログデータに対して実行する処理の一例を示している。
 ステップS1501において、関連ログ抽出部502は、ステップS1303で抽出したログデータのうち、未取得のログデータの中から、一のログデータを取得する。
 ステップS1502において、関連ログ抽出部502は、ログデータを取得できたか否かを判断し、ログデータを取得できた場合、処理をステップS1503に移行させる。一方、関連ログ抽出部502は、ログデータを取得できない場合、処理をステップS1505に移行させる。
 ステップS1503において、関連ログ抽出部502は、取得した一のログデータと、図13のステップS1303で抽出した他のログデータとを直接比較して、取得した一のログデータと関連する他のログデータを抽出する。
 例えば、関連ログ抽出部502は、取得した一のログデータにおいて、「直接比較可能」と事前定義された項目の値と、他のログデータの各々において、当該事前定義された項目と同じ意味を持つ項目の値とを比較し、値が一致するかを判断する。値が一致した場合、関連ログ抽出部502は、一致する値を含む他のログデータを抽出する。なお、ここでは、例えば、図11に示すようなログデータ31に含まれる項目のうち、例えば、送信元MACアドレス、送信先MACアドレス、アプリケーション識別子、又はCAN ID等が、「直接比較可能」と予め定義されているものとする。
 ステップS1504において、関連ログ抽出部502は、取得した一のログデータと、ステップS1503で抽出されなかった他のログデータとを間接比較して、取得した一のログデータと関連する他のログデータを抽出する。
 例えば、関連ログ抽出部502は、取得した一のログデータにおいて、「間接比較可能」と事前定義された項目の値をキーとし、事前定義したネットワーク構成情報(例えば、ネットワーク情報、アプリケーション情報等)を検索する。また、関連ログ抽出部502は、検索して得られた値と、ステップS1503で抽出されなかった他のログデータに含まれる項目の値とを比較し、値が一致する場合、一致する値を含む他のログデータを抽出する。
 図16は、一実施形態に係る間接比較による抽出処理について説明するための図である。ここでは、図14Bで抽出されたログデータ1401とログデータ1402とに、直接比較可能な項目がなく、間接比較する場合の例について説明する。なお、ここでは、構成情報取得部501は、図6~10に示すような各DBから、車両識別番号「JP000000000000001」に対応するレコードを、ネットワーク構成情報として取得済であるものとする。
 関連ログ抽出部502は、ログデータ1401における、例えば、ECU名称「CGW」、及び入力インタフェース名「eth0」をキーとして、構成情報取得部501が取得したネットワーク構成情報を検索する。これにより、例えば、図16に示すようなネットワーク情報1601が検索される。このネットワーク情報1601により、ログデータ1401は、Ethernetセグメント「Ethernet-0」に関連するログデータであることが判る。
 続いて、関連ログ抽出部502は、Ethernetセグメント「Ethernet-0」と、ログデータ1401における、例えば、アプリケーション識別子「0x123」とをキーとして、構成情報取得部501が取得したネットワーク構成情報を検索する。これにより、例えば、図16に示すようなアプリケーション情報1602が検索される。関連ログ抽出部502は、このアプリケーション情報1602により、ログデータ1401が、アプリケーション「渋滞情報通知」に関するログデータであることを、間接的に特定することができる。
 同様にして、関連ログ抽出部502は、ログデータ1402における、例えば、ECU名称「CGW」、及び出力インタフェース名「can0」をキーとして、構成情報取得部501が取得したネットワーク構成情報を検索する。これにより、例えば、図16に示すようなネットワーク情報1611が検索される。このネットワーク情報1611により、ログデータ1402は、CANバス「CAN-0」に関連するログデータであることが判る。
 続いて、関連ログ抽出部502は、CANバス「CAN-0」と、ログデータ1402における、例えば、CAN ID「0x2e8」とをキーとして、構成情報取得部501が取得したネットワーク構成情報を検索する。これにより、例えば、図16に示すようなアプリケーション情報1612が検索される。関連ログ抽出部502は、このアプリケーション情報1612により、ログデータ1402も、アプリケーション「渋滞情報通知」に関するログデータであることを、間接的に特定することができる。この場合、関連ログ抽出部502は、ログデータ1402を、ログデータ1401に関連するログデータとして抽出する。
 ここで、図15に戻り、フローチャートの説明を続ける。
 ステップS1504の処理が終わると、関連ログ抽出部502は、再びステップS1501、S1502の処理を実行し、未取得のログデータがなくなると、処理をステップS1505に移行させる。
 ステップS1505に移行すると、関連ログ抽出部502は、ステップS1503、S1504で抽出したログデータを、検知した攻撃に関連するログデータ(以下、関連ログデータと呼ぶ)として、構成要素特定部503等に出力する。
 (構成要素の特定処理)
 図17は、一実施形態に係る構成要素の特定処理の例を示すフローチャートである。この処理は、図12のステップS1205において、構成要素特定部503が実行する構成要素の特定処理の一例を示している。
 ステップS1701において、構成要素特定部503は、関連ログ抽出部502が抽出した関連ログデータのうち、未取得のログデータの中から、一のログデータを取得する。
 ステップS1702において、構成要素特定部503は、ステップS1701で、ログデータを取得できたか否かを判断し、ログデータを取得できた場合、処理をステップS1703に移行させる。一方、構成要素特定部503は、ステップS1701で、ログデータを取得できない場合、処理をステップS1706に移行させる。
 ステップS1703に移行すると、構成要素特定部503は、取得したログデータに記載されたECU名を取得する。
 ステップS1704において、構成要素特定部503は、取得したログデータが、通信関係のログデータであるか否かを判断する。例えば、構成要素特定部503は、図11に示したログデータ31の項目のうち、送信元アドレス、送信先アドレス、又はCAN ID等の項目を含むログデータを、通信関係のログデータであると判断する。取得したログデータが通信関係のログデータである場合、構成要素特定部503は、処理をステップS1705に移行させる。一方、取得したログデータが通信関係のログデータでない場合、構成要素特定部503は、処理をステップS1701に戻す。
 ステップS1705に移行すると、構成要素特定部503は、通信関係のログデータから、通信元、及び通信先のECU名を取得する。例えば、構成要素特定部503は、図11に示したログデータ31の項目のうち、送信元アドレス、送信先アドレス、又はCAN ID等をキーとして、構成情報取得部501が取得したネットワーク構成情報を検索して、当該通信に関連するECU名を取得する。
 図18は、一実施形態に係る構成要素の特定処理について説明するための図である。ここでは、構成要素特定部503が、図18に示すような通信関係のログデータ1401、1402から、通信元、又は通信先のECU名を取得する場合の例について説明する。なお、ここでは、構成情報取得部501は、図6~10に示すような各DBから、車両識別番号「JP000000000000001」に対応するレコードを、ネットワーク構成情報として取得済であるものとする。
 構成要素特定部503は、ログデータ1401における、例えば、送信元MACアドレス「02:00:00:00:01:01」、及び送信先MACアドレス「02:00:00:00:01:02」をキーとして、構成情報取得部501が取得したネットワーク構成情報を検索する。これにより、例えば、図18に示すようなECU情報1801が検索される。この場合、構成要素特定部503は、ECU情報1801に含まれるECU「TCU」、「CGW」を、攻撃の経路に関連するECUとして取得する。
 同様にして、構成要素特定部503は、ログデータ1402における、例えば、ECU名称「CGW」、出力インタフェース名「can0」、及びCAN ID「0x28」をキーとして、構成情報取得部501が取得したネットワーク構成情報を検索する。これにより、例えば、図18に示すようなネットワーク情報1802、及び通信パターン情報1803が検索される。この場合、ネットワーク情報1802と、通信パターン情報1803は、共通の項目であるCANバス「CAN-0」を有しているので、構成要素特定部503は、この2つの情報を関連付けて、受信ECU「IVI」を、攻撃の経路に関連するECUとして取得する。
 ここで、図17に戻り、フローチャートの説明を続ける。
 ステップS1705の処理が終わると、構成要素特定部503は、再びステップS1701、S1702の処理を実行し、未取得のログデータがなくなると、処理をステップS1706に移行させる。
 ステップS1708に移行すると、構成要素特定部503は、ステップS1703、S1705で取得したECU名を、攻撃に関連するECUとして、接続関係特定部504等に出力する。
 (接続関係の特定処理)
 図19は、一実施形態に係る接続関係の特定処理の例を示すフローチャートである。この処理は、例えば、図12のステップS1206において、接続関係特定部504が実行する接続関係の特定処理の一例を示している。
 ステップS1901において、接続関係特定部504は、構成情報取得部501が取得したネットワーク構成情報から、車載ネットワーク100のトポロジ情報を取得する。例えば、接続関係特定部504は、図6Bに示すようなグラフ形式のトポロジ情報600を取得する。或いは、接続関係特定部504は、図6Aに示すようなリスト形式のトポロジ情報を取得して、図6Bに示すようなグラフ形式のトポロジ情報600を生成しても良い。
 ステップS1902において、接続関係特定部504は、取得したトポロジ情報600に含まれるノードの中から、例えば、図18で構成要素特定部503が特定した、経路に関連するECU1800の各々に対応するノードを特定する。
 図20は、一実施形態に係る接続関係の特定処理について説明するための図である。図20の例では、接続関係特定部504は、ECU名「TCU」に基づいて、経路に関連するECU1800に含まれるECU「TCU」が、トポロジ情報600のノード「TCU601」に対応していることを特定する。同様にして、接続関係特定部504は、経路に関連するECU1800に含まれるECU「CGW」、「IVI」が、それぞれ、トポロジ情報600のノード「CGW602」、「IVI603」に対応していることを特定する。
 図19のステップS1903において、接続関係特定部504は、ステップS1902で特定したノード間を接続するリンクを特定する。図20の例では、接続関係特定部504は、ノード「TCU601」と「CGW602」とを接続するリンク611、及びノード「CGW602」と「IVI603」とを接続するリンク612とを特定する。これにおり、トポロジ情報600から、攻撃の経路に関連しないノード「ENGINE604」、及びリンク613が除外され、図20に示すように、攻撃の経路に関連するノードとリンクとを示す接続関係情報2010が得られる。
 ステップS1904において、接続関係特定部504は、ステップS1901~S1903の処理で得た、接続関係情報2010を、攻撃経路特定部505等に出力する。
 (攻撃経路の特定処理)
 図21は、一実施形態に係る攻撃経路の特定処理の例を示すフローチャートである。この処理は、例えば、図12のステップS1207において、攻撃経路特定部505が実行する攻撃経路の特定処理の一例を示している。
 ステップS2101において、攻撃経路特定部505は、接続関係特定部504が出力する1つ以上の接続関係情報のうち、未取得の接続関係情報の中から、一の接続関係情報を取得する。例えば、攻撃経路特定部505は、図20に示すような接続関係情報2010を取得する。
 ステップS2102において、攻撃経路特定部505は、ステップS2101で、接続関係情報を取得できたか否かを判断し、接続関係情報を取得できた場合、処理をステップS2103に移行させる。一方、攻撃経路特定部505は、ステップS2101で、接続関係情報を取得できない場合、処理をステップS2108に移行させる。
 ステップS2103に移行すると、攻撃経路特定部505は、例えば、図12のステップS1204で関連ログ抽出部502が抽出した関連ログデータのうち、通信関連のログデータを取得する。例えば、攻撃経路特定部505は、関連ログデータのうち、送信元アドレス、送信先アドレス、又はCAN ID等の項目を含むログデータを、通信関係のログデータとして取得する。
 ステップS2104において、攻撃経路特定部505は、通信関連のログデータに含まれる、例えば、送信元アドレス、送信先アドレス、又はCAN ID等の項目の値をキーとして、構成情報取得部501が取得したネットワーク構成情報を検索する。これにより、攻撃経路特定部505は、ステップS2101で取得した接続関係情報2010において、通信元、又は通信先となる構成要素を特定する。
 図22は、一実施形態に係る攻撃経路の特定処理について説明するための図である。図22において、攻撃経路特定部505は、例えば、ログデータ1401の送信元MACアドレス「02:00:00:00:01:01」、及び送信先MACアドレス「02:00:00:00:01:02」をキーとして、構成情報取得部501が取得したネットワーク構成情報を検索する。これにより、攻撃経路特定部505は、例えば、図22に示すようなECU情報2201を検索結果として得ることができる。この場合、攻撃経路特定部505は、検索結果から、送信元MACアドレスに対応するノード「TCU601」を送信元、送信先MACアドレスに対応するノード「CGW602」を送信先と特定することができる。
 また、攻撃経路特定部505は、例えば、ログデータ1402のECU名称「CGW」、出力インタフェース名「can0」、及びCAN ID「0x2e8」をキーとして、構成情報取得部501が取得したネットワーク構成情報を検索する。これにより、攻撃経路特定部505は、例えば、図22に示すような、ネットワーク情報2202、及び通信パターン情報2203を、検索結果として得ることができる。この場合、攻撃経路特定部505は、検索結果から、CAN ID「0x2e8」に対応するノード「IVI603」を送信先と特定することができる。
 図21のステップS2105において、攻撃経路特定部505は、ステップS2104で特定した通信元、及び通信先から、ノード間のリンクの方向を特定する。例えば、図22において、攻撃経路特定部505は、ノード「TCU601」と「CGW602」との間のリンク611を、送信元から送信先に向かう有向リンクに更新する。同様に、攻撃経路特定部505は、ノード「CGW602」と「IVI603」との間のリンク612を、送信先に向かう有向リンクに更新する。これにより、攻撃経路特定部505は、例えば、図22に示すような攻撃経路情報2210を作成することができる。
 ステップS2106において、攻撃経路特定部505は、攻撃経路情報2210の全てのリンクが有向リンクになっているか否かを判断し、全リンクが有向リンクになっていない場合、処理をステップS2107に移行させる。一方、攻撃経路特定部505は、攻撃経路情報2210の全てのリンクが有向リンクになっている場合、処理をステップS2101に戻す。
 ステップ2102において、攻撃経路特定部505は、攻撃経路情報2210に含まれるリンクのうち、方向が特定されていないリンクの方向を、ログデータの日時情報に基づいて特定する。例えば、攻撃経路特定部505は、関連ログ抽出部502が抽出した関連ログデータのうち、構成要素を特定可能な情報(例えば、ECU名、CAN ID等)を含むログデータを、検知日時等によって昇順(又は降順)に整列(ソート)する。また、攻撃経路特定部505は、攻撃経路情報2210に含まれるリンクのうち、方向が特定されていないリンクの方向を、整列した順番に従って決定する。例えば、攻撃経路特定部505は、より早い検知日時を有するログデータを始点、より遅い検知日時を有するログデータを終点として、方向が特定されていないリンクの方向を決定する。
 ステップS2107の処理が終わると、攻撃経路特定部505は、再びステップS2101、S2102の処理を実行し、未取得の接続関係情報がなくなると、処理をステップS2108に移行させる。
 ステップS2108に移行すると、攻撃経路特定部505は、ステップS2103~S2107の処理で作成した1つ以上の攻撃経路情報を、出力部403に出力する。
 SOCサーバ10の出力部403は、攻撃経路特定部505が出力した1つ以上の攻撃経路情報の情報を含むレポートを、例えば、SIRTサーバ40等に出力する。
 上記の各処理により、SOCサーバ10は、車載ネットワーク100で攻撃が検知された場合、車載ネットワーク100のログデータとネットワーク構成情報とに基づいて、攻撃の経路に関連する構成要素の情報を含む1つ以上の攻撃経路の情報を出力する。また、SOCサーバ10は、攻撃に関連する構成要素をノードとし、攻撃に関連するノード間の通信経路をリンクとした有向グラフで、攻撃経路の情報を出力することができる。
 なお、図1で説明した情報処理システム1のシステム構成、及び図4、5で説明したSOCサーバ10の機能構成は一例であり、様々な変形、及び応用が可能である。例えば、SOCサーバ10が有する各機能構成のうち、少なくとも一部は、SIRTサーバ40、車両20、ログサーバ30、又は外部サーバ50等が備えていても良い。また、SOCサーバ10は、1つ以上の攻撃経路の情報を含むレポートを、SIRTサーバ40に限られず、例えば、車両20、又は外部サーバ50等に出力しても良い。
 また、本実施形態に係る情報処理システム、及び情報処理方法は、車両20に搭載される車載ネットワーク100に限られず、ネットワーク構成情報を特定可能な他の通信ネットワークにも適用することができる。
 さらに、SOCサーバ10が出力する、検知された攻撃の経路に関連する構成要素の情報を含む1つ以上の攻撃経路の情報は、図22に示すような攻撃経路情報2210に限られず、例えば、図20に示すような接続関係情報2010であっても良い。SOCサーバ10が出力する、検知された攻撃の経路に関連する構成要素の情報を含む1つ以上の攻撃経路の情報は、攻撃に関連する構成要素の情報を時系列に並べたリスト形式の情報等であっても良い。
 以上、本発明の実施形態によれば、ネットワーク、及びネットワークを介して通信を行う複数の構成要素を含むシステムにおいて、攻撃を検知したときに、攻撃に加担又は関与した構成要素を推定することが容易になる。
 以上、本発明の実施一実施形態について詳述したが、本発明は、特許請求の範囲に記載された要旨の範囲内において、種々の変形、及び応用が可能である。
 本願は、日本特許庁に2021年2月26日に出願された基礎出願2021-030478号の優先権を主張するものであり、その全内容を参照によりここに援用する。
 1     情報処理システム
 31    ログデータ
 100   車載ネットワーク(ネットワーク)
 200   ゲートウェイ
 250   ECU(電子制御装置)
 261   移動通信装置
 262   V2X通信装置
 401   取得部
 402   推定部
 403   出力部
 410   ネットワーク構成情報
 600   トポロジ情報
 2010  接続関係情報(接続関係を示す情報)
 2210  攻撃経路情報(攻撃経路の情報)

Claims (12)

  1.  ネットワーク、及び前記ネットワークを介して通信を行う複数の構成要素を含むシステムのログデータを取得する取得部と、
     前記システムで攻撃が検知された場合、前記ログデータと前記システムのネットワーク構成情報とに基づいて、前記攻撃の経路に関連する前記構成要素の情報を含む1つ以上の攻撃経路の情報を出力する出力部と、
     を有する、情報処理システム。
  2.  前記取得部が取得した前記ログデータのうち、所定の期間のログデータを関連付けることにより、前記1つ以上の攻撃経路を推定する推定部を有する、請求項1に記載の情報処理システム。
  3.  前記推定部は、前記システムのネットワーク構成情報を用いて、前記所定の期間のログデータを関連付ける、請求項2に記載の情報処理システム。
  4.  前記ネットワーク構成情報は、前記ネットワークのトポロジの情報を含む、請求項3に記載の情報処理システム。
  5.  前記推定部は、前記ネットワークのトポロジの情報を用いて、前記攻撃の経路に関連する前記構成要素の間の接続関係を特定し、
     前記1つ以上の攻撃経路の情報は、前記攻撃の経路に関連する前記構成要素の間の接続関係を示す情報を含む、請求項4に記載の情報処理システム。
  6.  前記ネットワーク構成情報は、前記ネットワークに接続する構成要素間の通信パターンの情報を含む、請求項3に記載の情報処理システム。
  7.  前記推定部は、前記構成要素間の通信パターン、又は前記攻撃に関連するログデータの検知時刻から、前記攻撃の進行方向を特定し、
     前記1つ以上の攻撃経路の情報は、前記攻撃の進行方向を示す情報を含む、請求項6に記載の情報処理システム。
  8.  前記ネットワーク構成情報は、前記ネットワークに含まれる各構成要素に接続する通信路の情報を含む、請求項3に記載の情報処理システム。
  9.  前記ネットワーク構成情報は、前記ネットワークに接続する前記複数の構成要素に対応する通信アドレス、又は識別情報の情報を含む、請求項3に記載の情報処理システム。
  10.  前記システムは、車両に搭載される車載ネットワークを含み、
     前記1つ以上の攻撃経路の情報は、当該攻撃経路に含まれる電子制御装置の情報を含む、請求項1に記載の情報処理システム。
  11.  情報処理システムが、
     ネットワーク、及び前記ネットワークを介して通信を行う複数の構成要素を含むシステムのログデータを取得する処理と、
     前記システムで攻撃が検知された場合、前記ログデータと前記システムのネットワーク構成情報とに基づいて、前記攻撃の経路に関連する前記構成要素の情報を含む1つ以上の攻撃経路の情報を出力する処理と、
     を実行する、情報処理方法。
  12.  請求項11に記載の情報処理方法を情報処理システムに実行させる、プログラム。
PCT/JP2022/006735 2021-02-26 2022-02-18 情報処理システム、情報処理方法、及びプログラム WO2022181495A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202280016035.7A CN116917893A (zh) 2021-02-26 2022-02-18 信息处理系统、信息处理方法和程序
EP22759531.1A EP4300332A1 (en) 2021-02-26 2022-02-18 Information processing system, information processing method, and program
US18/362,247 US20230379344A1 (en) 2021-02-26 2023-07-31 Information processing system, information processing method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021030478A JP2022131504A (ja) 2021-02-26 2021-02-26 情報処理システム、情報処理方法、及びプログラム
JP2021-030478 2021-02-26

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/362,247 Continuation US20230379344A1 (en) 2021-02-26 2023-07-31 Information processing system, information processing method, and program

Publications (1)

Publication Number Publication Date
WO2022181495A1 true WO2022181495A1 (ja) 2022-09-01

Family

ID=83049361

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/006735 WO2022181495A1 (ja) 2021-02-26 2022-02-18 情報処理システム、情報処理方法、及びプログラム

Country Status (5)

Country Link
US (1) US20230379344A1 (ja)
EP (1) EP4300332A1 (ja)
JP (1) JP2022131504A (ja)
CN (1) CN116917893A (ja)
WO (1) WO2022181495A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010152773A (ja) * 2008-12-26 2010-07-08 Mitsubishi Electric Corp 攻撃判定装置及び攻撃判定方法及びプログラム
JP2019050477A (ja) * 2017-09-08 2019-03-28 株式会社日立製作所 インシデント分析装置およびその分析方法
EP3490223A1 (en) * 2017-11-24 2019-05-29 Bayerische Motoren Werke Aktiengesellschaft System and method for simulating and foiling attacks on a vehicle on-board network
WO2020075808A1 (ja) * 2018-10-11 2020-04-16 日本電信電話株式会社 情報処理装置、ログ分析方法及びプログラム
JP2020119090A (ja) 2019-01-21 2020-08-06 エヌ・ティ・ティ・コミュニケーションズ株式会社 車両セキュリティ監視装置、方法及びプログラム
JP2021030478A (ja) 2019-08-19 2021-03-01 株式会社豊田自動織機 繊維構造体及び繊維強化複合材

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010152773A (ja) * 2008-12-26 2010-07-08 Mitsubishi Electric Corp 攻撃判定装置及び攻撃判定方法及びプログラム
JP2019050477A (ja) * 2017-09-08 2019-03-28 株式会社日立製作所 インシデント分析装置およびその分析方法
EP3490223A1 (en) * 2017-11-24 2019-05-29 Bayerische Motoren Werke Aktiengesellschaft System and method for simulating and foiling attacks on a vehicle on-board network
WO2020075808A1 (ja) * 2018-10-11 2020-04-16 日本電信電話株式会社 情報処理装置、ログ分析方法及びプログラム
JP2020119090A (ja) 2019-01-21 2020-08-06 エヌ・ティ・ティ・コミュニケーションズ株式会社 車両セキュリティ監視装置、方法及びプログラム
JP2021030478A (ja) 2019-08-19 2021-03-01 株式会社豊田自動織機 繊維構造体及び繊維強化複合材

Also Published As

Publication number Publication date
JP2022131504A (ja) 2022-09-07
CN116917893A (zh) 2023-10-20
EP4300332A1 (en) 2024-01-03
US20230379344A1 (en) 2023-11-23

Similar Documents

Publication Publication Date Title
US11277427B2 (en) System and method for time based anomaly detection in an in-vehicle communication
US10764134B2 (en) Configuring a firewall system in a vehicle network
US11115433B2 (en) System and method for content based anomaly detection in an in-vehicle communication network
JP6239215B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
Kulandaivel et al. {CANvas}: Fast and inexpensive automotive network mapping
CN110324301A (zh) 生成用于阻止对车辆的计算机攻击的规则的系统和方法
CN110324219A (zh) 阻断对运输工具的计算机攻击的系统和方法
WO2021145144A1 (ja) 侵入経路分析装置および侵入経路分析方法
Jo et al. Automatic whitelist generation system for ethernet based in-vehicle network
CN112997467B (zh) 入侵监控系统、方法及相关产品
WO2022181495A1 (ja) 情報処理システム、情報処理方法、及びプログラム
WO2022014027A1 (ja) 通信許可リスト生成装置、通信許可リスト生成方法、及び、プログラム
WO2020079896A1 (ja) 情報処理装置、情報処理方法及びプログラム
JP7230146B1 (ja) 車両セキュリティ分析装置、方法およびそのプログラム
US20230327956A1 (en) Network configuration estimation apparatus, network configuration estimation method and program
WO2024071049A1 (ja) 攻撃分析装置、攻撃分析方法、及び攻撃分析プログラム
WO2023223515A1 (ja) 攻撃経路推定システム、攻撃経路推定装置、攻撃経路推定方法及びプログラム
WO2023021840A1 (ja) 検知ルール出力方法、及び、セキュリティシステム
JP7230147B1 (ja) 車両セキュリティ分析装置、方法およびそのプログラム
WO2023223480A1 (ja) 攻撃元特定システム、攻撃元特定装置、攻撃元特定方法及びプログラム
US20230129105A1 (en) Automatic determination of intellectual capital gaps
van der Schoot Validating vehicleLang, a domain-specific threat modelling language, from an attacker and industry perspective
JP2023147061A (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: 22759531

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202280016035.7

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2022759531

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2022759531

Country of ref document: EP

Effective date: 20230926