WO2018135604A1 - 抽出装置、抽出方法と記憶媒体、ならびに、異常検知装置、異常検知方法 - Google Patents

抽出装置、抽出方法と記憶媒体、ならびに、異常検知装置、異常検知方法 Download PDF

Info

Publication number
WO2018135604A1
WO2018135604A1 PCT/JP2018/001491 JP2018001491W WO2018135604A1 WO 2018135604 A1 WO2018135604 A1 WO 2018135604A1 JP 2018001491 W JP2018001491 W JP 2018001491W WO 2018135604 A1 WO2018135604 A1 WO 2018135604A1
Authority
WO
WIPO (PCT)
Prior art keywords
order
message
predetermined value
interval
extraction
Prior art date
Application number
PCT/JP2018/001491
Other languages
English (en)
French (fr)
Inventor
萌 栗田
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to US16/478,900 priority Critical patent/US20190384771A1/en
Priority to JP2018562439A priority patent/JP7006622B2/ja
Publication of WO2018135604A1 publication Critical patent/WO2018135604A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2801Broadband local area networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0414Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden during transmission, i.e. party's identity is protected against eavesdropping, e.g. by using temporary identifiers, but is known to the other party or parties involved in the communication
    • 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
    • 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/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/18Service support devices; Network management devices
    • H04W88/184Messaging devices, e.g. message centre
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1881Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with schedule organisation, e.g. priority, sequence management

Definitions

  • the present invention relates to an extraction device and an abnormality detection device.
  • ECUs electronice control units
  • LAN Local Area Network
  • CAN Controller Area Network
  • Patent Document 1 a method of detecting an abnormal state
  • Non-Patent Document 1 is a method of detecting an abnormal state when the order of messages changes by using the fact that messages flow from the ECU according to the driver's driving behavior in an ordered relationship determined by the ECU.
  • Non-Patent Document 1 is based on the premise that the order of messages is known, and it is necessary to obtain information about the order of messages as prior knowledge.
  • detailed message specifications are not always disclosed, and the order of messages may be unknown. In this case, the abnormality detection using the message order cannot be performed.
  • An object of the present invention is to provide an extraction device or the like that extracts the order of messages from a message log.
  • an object of the present invention is to provide an anomaly detection device or the like that can detect an anomaly in a message even if the message log is an unknown message log.
  • One aspect of the extraction device provides a predetermined value of the predetermined value having the same appearance interval based on a predetermined value for identifying a message and an appearance interval of the predetermined value derived from a time stamp of the message.
  • An interval analysis unit that generates a set, and an order extraction unit that extracts a predetermined value order indicating the order of the messages from the predetermined value set.
  • One aspect of the extraction method of the present invention is a predetermined value of the predetermined value that has the same appearance interval based on a predetermined value for identifying a message and an appearance interval of the predetermined value derived from a time stamp of the message.
  • a set is generated, and a predetermined value order indicating the order of the messages is extracted from the predetermined value set.
  • the appearance interval is the same based on a predetermined value for identifying a message and an appearance interval of the predetermined value derived from a time stamp of the message.
  • the computer is caused to generate a predetermined value set of the predetermined values and extract a predetermined value order indicating the order of the messages from the predetermined value set.
  • One aspect of the abnormality detection device of the present invention includes the above-described extraction device and an inspection device, and the inspection device is configured such that the order of predetermined values of messages to be inspected is the predetermined value order extracted by the extraction device.
  • An order inspection unit for inspecting whether or not the condition is satisfied is provided.
  • the predetermined value order is extracted by the extraction method described above, and it is inspected whether the predetermined value order of the message to be inspected satisfies the predetermined value order.
  • One aspect of the abnormality detection system of the present invention includes a plurality of nodes that transmit messages and the above-described abnormality detection device.
  • the order of messages can be extracted from the message log. Further, according to the abnormality detection device of the present invention, it is possible to detect a message abnormality even in a message log whose message order is unknown.
  • FIG. 6 is a diagram showing an example of set time series sections 1 to 3; It is a figure which shows the matrix of the directed graph which uses ID in each time series area as a vertex. It is a figure which shows the matrix of the graph which subtracted the matrix of the graph of a normal state, and redundant data. It is a figure which shows an example of ID order set which shows the order relationship of message ID.
  • FIG. 4 is a block diagram showing a hardware configuration in which the extraction device in the first to third embodiments, the inspection device in the second and third embodiments, and the abnormality detection device are realized by a computer.
  • the extraction device focuses on messages that are periodically transmitted by each node on the network from among message logs whose message order is unknown, and extracts messages from a set of messages having the same appearance interval. It is an example for deriving an order relationship.
  • the message log is a history of messages transmitted by each node.
  • the message log includes messages transmitted from each node at regular intervals. Further, it is assumed that the order relation of messages in the message log is unknown.
  • FIG. 1 is a block diagram showing the configuration of the extraction apparatus according to the first embodiment.
  • the extraction device 11 illustrated in FIG. 1 includes an interval analysis unit 111 and an order extraction unit 112.
  • the interval analysis unit 111 and the order extraction unit 112 will be described in detail.
  • the interval analysis unit 111 generates a predetermined value set of predetermined values having the same appearance interval based on a predetermined value for identifying a message from a message log and an appearance interval of the predetermined value derived from the time stamp of the message. It has a function to generate.
  • a predetermined value for identifying a message is a message ID (Identifier).
  • the predetermined value for identifying the message may be an integer obtained by abstracting a combination of the message ID and the message data, for example.
  • the combination is not limited to the message ID and data, and may be a combination of destination (address) and data, command and data, or data A and data B.
  • FIG. 2 is a diagram showing an example of a message log.
  • the message log includes a time stamp and a message ID (hereinafter sometimes simply referred to as an ID). Is included.
  • the message ID is an identifier for identifying a message.
  • the time stamp in FIG. 2 the elapsed time (ms) from the arrival of the first message is recorded for each message ID.
  • the interval analysis unit 111 checks whether there are messages having the same appearance interval in the message log. Specifically, first, the interval analysis unit 111 checks whether there is a duplicate message ID in the message log. If there is a duplicate message ID, the interval analysis unit 111 calculates the appearance interval of the message ID from the elapsed time of the time stamp of the duplicate message ID. It is preferable to consider a margin for a calculation error of the appearance interval of the message ID.
  • the appearance interval of the message ID 420 (hereinafter simply referred to as ID 420) is 10 ms.
  • the interval analysis unit 111 sequentially calculates an appearance interval for each message ID included in the message log, and generates an ID set in which the message IDs are classified for each identical appearance interval.
  • FIG. 3 is a diagram illustrating an example of an ID set for each appearance interval.
  • message IDs ⁇ 420, 432, 490, 472,... ⁇ Are generated as an ID set with an appearance interval of 10 ms
  • message IDs ⁇ 880, 882, 884,. . ⁇ Has been generated.
  • These messages having an appearance interval of 10 ms and messages having an appearance interval of 20 ms can also be referred to as messages having a constant appearance interval.
  • message IDs whose appearance intervals are not the same are classified as indefinite as indicated by ID 1130 and ID 1128 in FIG.
  • Generation of the ID set by the interval analysis unit 111 is preferably performed in a state where the number of messages in the message log is equal to or greater than a certain amount (for example, 1000 or more).
  • the order extraction unit 112 has a function of extracting a predetermined value order indicating a message order from a predetermined value set. Specifically, the order extraction unit 112 sets a plurality of time series sections from the predetermined value set based on the number of identifications of the predetermined values included in the predetermined value set, and the predetermined value order common to the plurality of time series sections. To extract. For example, among the ID sets generated by the interval analysis unit 111, a plurality of time series sections are set from the ID sets having the same appearance interval, and the ID order common to the plurality of set time series sections is extracted.
  • the order extraction unit 112 selects one ID set for the appearance interval from the ID set for each appearance interval. For example, the order extraction unit 112 selects an ID set with an appearance interval of 10 ms from the ID sets for each appearance interval shown in FIG.
  • the order extraction unit 112 sets 1 of the message IDs in the ID set (n is an integer of 2 or more).
  • a plurality of time-series sections are set such that a plurality of time-series sections have the same message ID.
  • FIG. 4 is a diagram showing an example of a time-series section cut out from the ID set.
  • the number of time series sections may be three or more, and the accuracy of the ID order extracted by the order extraction unit 112 increases as the number of time series sections increases.
  • the order extracting unit 112 has a function of extracting a predetermined value order indicating the order of messages from a predetermined value set using a directed graph having a predetermined value in a time series section as a vertex and using the predetermined value order as a branch.
  • a predetermined value order indicating the order of messages from a predetermined value set using a directed graph having a predetermined value in a time series section as a vertex and using the predetermined value order as a branch.
  • FIG. 5 is a diagram showing an example of time-series sections 1 to 3 cut out from ID sets having the same appearance interval.
  • there are five types of IDs in the ID set there are five types of IDs in the ID set, and this is an example in which the common ID at the beginning of time series sections 1 to 3 is set to 420.
  • Time series sections 1 to 3 are examples cut out from an ID set with an appearance interval of 10 ms.
  • FIG. 6 is a diagram showing a directed graph of time series sections 1 to 3 in the form of a matrix.
  • the matrix element when the row ID exists before the column ID, the matrix element is set to 1, and when the row ID exists after the column ID, the matrix element is set to 0. If the ID is the same in the row and the column, the matrix element is 0.
  • the matrix element is 0.
  • the matrix element with row 490 and column 472 is 1, and conversely, the matrix element with column 472 and row 490 is 0.
  • Become Similarly, other matrix elements and matrix elements corresponding to other time series sections are defined similarly.
  • a state in which the order of IDs is maintained in a plurality of time series sections is defined as a normal state, and a directed graph in a normal state is defined in the form of a logical product of matrix elements of three time series sections.
  • the fact that the element having a row of 490 and a column of 428 is 1 means that ID490 always exists before ID428 in the order of ID490 and ID428. Due to this fact, it is determined that this order is always maintained in the normal state. Note that the greater the number of time series sections, the lower the probability that the matrix element component of the graph in the normal state will be 1 by chance.
  • FIG. 7 is a diagram illustrating a graph matrix in a normal state and a graph matrix obtained by subtracting redundant data.
  • the elements of the row 432 and the column 428 are 1, indicating that the ID 432 comes before the ID 428. Since both the elements in row 432 and column 490, and both row 490 and column 428 are 1, it is clear that ID 432 precedes ID 428, and the elements in row 432 and column 428 need not be 1.
  • the order extraction unit 112 extracts an ID order by matrix operation using a directed graph for each ID set having the same appearance interval, and generates an ID order set.
  • FIG. 8 is a diagram illustrating an example of an ID order set indicating the order relation of message IDs. As shown in the appearance interval 10 ms in FIG. 8, two ID orders may be extracted at the same appearance interval from the ID order extraction result.
  • FIG. 9 is a flowchart illustrating the operation of the extraction device according to the first embodiment.
  • the interval analysis unit 111 generates a predetermined value set of predetermined values having the same appearance interval based on the predetermined value for identifying the message and the appearance interval of the predetermined value derived from the time stamp of the message ( Step S101). For example, the interval analysis unit 111 generates an ID set of message IDs having the same message appearance interval from each node.
  • FIG. 10 is a flowchart showing the operation of the predetermined value set generation process in step S101.
  • the interval analysis unit 111 calculates the appearance interval of the predetermined value from the duplicate time stamps of the predetermined value as the predetermined value set generation process (step S1011). For example, the interval analysis unit 111 checks whether there is a duplicate message ID in the message log. If there is a duplicate message ID, the interval analysis unit 111 calculates the appearance interval of the message ID from the elapsed time of the time stamp for each duplicate message ID. To do.
  • the interval analysis unit 111 generates a predetermined value set having the same appearance interval (step S1012). For example, the interval analysis unit 111 sequentially calculates an appearance interval for each message ID included in the message log, and generates an ID set in which the message IDs are classified for each identical appearance interval.
  • step S102 the order extraction unit 112 extracts a predetermined value order indicating the order of messages from the predetermined value set as an order extraction process.
  • the order extraction unit 112 extracts an ID order indicating the order relation of messages from the ID set generated by the interval analysis unit 111.
  • FIG. 11 is a flowchart showing the operation of the predetermined value order extraction processing in step S102.
  • the order extracting unit 112 sets a plurality of time series sections from a predetermined value set of predetermined values having the same appearance interval (step S1021). For example, the order extracting unit 112 sets a plurality of time series sections from the ID set of message IDs having the same appearance interval according to the number of types of IDs included in the ID set.
  • a predetermined value sequence common to a plurality of time series sections is extracted (step S1022). For example, the order extraction unit 112 extracts an ID order common to a plurality of set time series sections.
  • the order extraction unit 112 creates a matrix of a directed graph in which the ID order in the time series section is ID as a vertex and the ID order is a branch of a path toward the vertex.
  • the matrix of a directed graph sets the matrix element to 1 when the row ID exists before the column ID, and sets the matrix element to 0 when the row ID exists after the column ID. If the row and column have the same ID, the matrix element is defined as 0.
  • other matrix elements and matrix elements corresponding to other time series sections are defined similarly.
  • the order extracting unit 112 calculates a directed graph in a normal state by a logical product of matrix elements of three time series sections, with the state where the ID order is maintained in a plurality of time series sections as a normal state. Note that the greater the number of time series sections, the lower the probability that the matrix element component of the graph in the normal state will be 1 by chance.
  • the order extracting unit 112 obtains a matrix of a graph obtained by subtracting redundant matrix elements from a matrix representation of a graph indicating a normal state, and extracts an ID order common to a plurality of time series sections.
  • the order extraction unit 112 extracts an ID order by matrix operation using a directed graph for each ID set having the same appearance interval, and generates an ID order set.
  • the extraction device of the first embodiment it is possible to extract the order relationship of messages from a message log whose message order is unknown.
  • the abnormality detection device of the second embodiment is an example of an abnormality detection device using the extraction device of the first embodiment.
  • the same components as those in the first embodiment are denoted by the same reference numerals, and detailed description thereof is omitted.
  • the message is broadcast from a plurality of nodes connected to the network and does not flow on the network at the same time.
  • the message log is a history of messages transmitted by each node. It is assumed that the message log includes messages transmitted from each node at regular intervals. Further, it is assumed that the order relation of messages in the message log is unknown.
  • FIG. 12 is a block diagram showing a configuration of the abnormality detection apparatus according to the second embodiment.
  • An abnormality detection device 10 illustrated in FIG. 12 includes an extraction device 11 and an inspection device 12. It is assumed that the inspection device 12 can acquire the ID order set generated by the extraction device 11.
  • the extraction device 11 of the second embodiment has the same configuration as the extraction device 11 of the first embodiment, and a detailed description thereof is omitted.
  • an example using a message ID as a predetermined value for identifying a message will be described, as in the first embodiment.
  • the inspection apparatus 12 includes an order inspection unit 122.
  • the order checking unit 122 has a function of checking whether the order of the predetermined values of the message to be inspected satisfies the extracted predetermined value order. For example, the order checking unit 122 sequentially acquires message IDs of messages to be checked, and checks whether the order of the acquired message IDs satisfies the ID order extracted by the extraction device 11.
  • the message to be inspected by the inspection apparatus 12 is a message that flows on the network corresponding to the message log of the first embodiment.
  • FIG. 13 is a flowchart illustrating the operation of the abnormality detection device according to the second embodiment.
  • step S101 and step S102 showing the operation of the extraction device 11 of the second embodiment are the same as the operation of the extraction device 11 of the first embodiment, and detailed description thereof is omitted.
  • the inspection apparatus 12 will be described as an example of the operation after the ID ordered set generated by the extraction apparatus 11 is acquired.
  • the order checking unit 122 of the inspection device 12 checks whether the order of the predetermined values of the message to be inspected satisfies the extracted predetermined value order (step S203). For example, the message IDs to be inspected are sequentially acquired, and it is inspected whether the order of the message IDs to be inspected satisfies the extracted ID order. Note that the messages to be inspected sequentially acquired by the inspection apparatus 12 may be acquired from the network by the abnormality detection apparatus 10 including the inspection apparatus 12 or may be acquired from other apparatuses.
  • the inspection apparatus 12 acquires the ID ordered set illustrated in FIG. 8 from the extraction device 11. If the acquired message ID is ID490 after ID420, the order checking unit 122 checks the message ID to be checked based on the ID order [ID420 ⁇ ID432 ⁇ ID490 ⁇ ID428] with an appearance interval of 10 ms shown in FIG. Is determined to be normal.
  • the order checking unit 122 determines that the order of ID490 and ID420 is abnormal.
  • the abnormality detection device of the second embodiment it is possible to detect an abnormality in the message order even in a message log whose message order is unknown.
  • the reason is that the extraction device 11 of the abnormality detection device 30 extracts the message ID order from the message log whose message order is unknown, and the inspection device 12 detects the abnormality of the message order using the extracted ID order. Because it can.
  • An abnormality detection system 20 illustrated in FIG. 14 includes an abnormality detection device 30 and a plurality of nodes 21.
  • the abnormality detection device 30 and the node 21 are connected via a bus to form a network.
  • the node 21 (shown as a generic name of the nodes 21A, 21B, and 21C) broadcasts a message to the abnormality detection device 30 and other nodes 21 in the network. It is assumed that the node 21 is transmission controlled so that a plurality of messages do not flow on the bus at the same time.
  • An example of the node 21 is an electronic control unit (ECU) connected to an in-vehicle LAN (Local Area Network) compliant with a communication protocol CAN (Controller Area Network).
  • the node 21 transmits a plurality of messages, and transmits the messages periodically or indefinitely according to the messages.
  • the message includes at least an identifier (ID: Identifier) of the message.
  • ID Identifier
  • FIG. 15 is a block diagram illustrating a configuration of an abnormality detection apparatus according to the third embodiment.
  • the abnormality detection device 30 illustrated in FIG. 15 includes an extraction device 31, a storage device 33, and an inspection device 32.
  • the extraction device 31 includes an interval analysis unit 311 and an order extraction unit 312.
  • the storage device 33 includes a history storage unit 331, an interval storage unit 332, and an order storage unit 333.
  • the inspection device 32 includes an interval inspection unit 321 and an order inspection unit 322.
  • the extraction device 31 has the same function as the extraction device of the first embodiment. Hereinafter, the same functions as those of the extraction device of the first embodiment will be described by omitting a detailed description.
  • the extraction device 31 refers to the message log stored in the history storage unit 331 and extracts the ID order of the message IDs included in the message log.
  • the extraction device 31 records the extraction result in the order storage unit 333.
  • the message transmitted by each node 21 is stored in the history storage unit 331 by the acquisition unit (not shown) of the abnormality detection device 30.
  • the message log stored in the history storage unit 331 is, for example, the message log illustrated in FIG.
  • the message log includes the message ID and time stamp of the message from the node 21 received by the abnormality detection device 30.
  • the time stamp stores the elapsed time (ms) after the start of message reception by the abnormality detection device 30.
  • the message log may include information other than the message ID and the time stamp.
  • the interval analysis unit 311 confirms whether the same message ID exists in the message log in the history storage unit 331, and if it exists, derives and analyzes the appearance interval of the message ID.
  • the derivation of the appearance interval is the same as that described in the first embodiment, and detailed description thereof is omitted. This analysis is performed when a certain amount or more (for example, 1000 or more) of the same message ID is accumulated in the history storage unit 331.
  • the interval analysis unit 311 When the message ID having the same appearance interval exists as a result of the analysis of the appearance interval of the message ID, the interval analysis unit 311 records the message ID and the appearance interval in the interval storage unit 332 in association with each other. In the case of message IDs whose appearance intervals are not the same, the interval analysis unit 311 stores them in the interval storage unit 332 as indefinite with no fixed value.
  • the information stored in the interval storage unit 332 is an ID set of message IDs classified by appearance interval, and is stored as indefinite when the appearance intervals are not the same.
  • the information stored in the interval storage unit 332 is, for example, an ID set for each appearance interval shown in FIG.
  • the condition that the interval analysis unit 311 determines that the appearance intervals of the message IDs are the same is given to the interval analysis unit 311 in advance.
  • the average of the appearance intervals of 1000 identical message IDs is 10 ms.
  • the interval analysis unit 311 determines that the message IDs have the same appearance interval.
  • the order extraction unit 312 has a function of extracting the ID order when there is a rule regarding the ID order with respect to the ID set of message IDs classified by appearance interval. Specifically, the order extraction unit 312 analyzes whether or not a predetermined ID order always holds for an ID set of message IDs having the same appearance interval. For example, when messages of ID22, ID25, and ID30 are always transmitted in this order, this order is stored in the order storage unit 333.
  • the order extraction unit 312 refers to the interval storage unit 332, and when a plurality of IDs have the same appearance interval, sets them as ID order extraction targets.
  • ID 420, ID 422, ID 427, ID 428, ID 432, ID 472, ID 476, ID 490, ID 493, and ID 507 are recorded in the interval storage unit 332 as having the same appearance interval (example: 10 ms).
  • the order extraction unit 312 first extracts only messages with these IDs from the record in the history storage unit 331 based on this information.
  • the order extraction unit 312 selects one ID (for example, ID420), and extracts a time series section starting with ID420 and ending with ID420 from the ID set.
  • ID420 for example, ID420
  • An example of extracting a time series section starting with ID 420 and ending with ID 420 is the same as the time series section shown in FIG.
  • the order extraction unit 312 extracts a plurality of time series sections from the ID set.
  • the order extraction unit 312 extracts the ID order [ID420 ⁇ ID432 ⁇ ID490 ⁇ ID428] and [ID420 ⁇ ID432 ⁇ ID472] in the time series sections 1, 2, and 3 with an appearance interval of 10 ms, and the result is the order storage unit. 333.
  • the extraction result recorded in the order storage unit 333 is, for example, information as shown in FIG. In this way, the order extraction unit 312 records a set of IDs and a time period of an appearance interval shared by the IDs.
  • the storage device 33 includes a history storage unit 331, an interval storage unit 332, and an order storage unit 333.
  • the history storage unit 331 stores message logs from the time of startup to the present. This is a set of IDs of the transmission time and the message. The number of ID types depends on the network protocol. Or the result which the extraction device 31 analyzed is preserve
  • the interval storage unit 332 stores the appearance interval of each ID. If the ID does not have a constant appearance interval, the fact that the appearance interval is indefinite is recorded.
  • the order storage unit 333 stores a set of IDs that are transmitted while maintaining a certain order extracted by the certain order ID extraction unit. Since the extraction of the fixed ordered set is performed for IDs having the same appearance interval period, the extracted set and the appearance interval are recorded in the order storage unit.
  • the inspection device 32 refers to the normal state information indicating the ID order of the messages stored in the storage device 33 or a certain appearance interval of the message IDs, and whether the message ID newly transmitted from the node satisfies the normal state. Inspect.
  • the interval inspection unit 321 detects an abnormality in the received message using the appearance interval of the message ID. Specifically, the interval inspection unit 321 refers to each message from the analysis result of the interval analysis unit 311 to determine whether the ID is transmitted from the ID at a certain appearance interval. When the ID is transmitted at a constant appearance interval, it is checked whether the appearance interval of the same ID transmitted last time is equal to the appearance interval of the ID analyzed by the interval analysis unit 311. If they are not equal, it is determined as abnormal.
  • the order checking unit 322 detects an abnormality based on the appearance order of message IDs.
  • the order checking unit 322 checks whether the ID order relation stored in the order storage unit 333 is satisfied. For example, when it is analyzed that the order of ID22, ID25, and ID30 messages is constant, it is checked whether the ID25 message is received after the ID22 message when the ID30 message is transmitted. After the message of ID22 is transmitted, if the message of ID30 is transmitted before the message of ID25 is transmitted, it is abnormal, and it is inspected for such an abnormality. If an abnormality exists, it is determined as an abnormality.
  • FIG. 16 is a flowchart showing the operation of the interval analysis unit.
  • the message ID may be simply indicated as ID.
  • the interval analysis unit 311 confirms whether the appearance interval of the message ID has been analyzed based on the message ID received by the abnormality detection device 30 (step S401). Specifically, the interval analysis unit 311 confirms whether the analysis result of the appearance interval of the received message ID exists in the interval storage unit 332. The analysis result indicates an ID group for each appearance interval in which messages having a constant appearance interval are classified (see FIG. 3).
  • the interval analysis unit 311 stores the received message ID in the reception history of the history storage unit 331 to the extent that the message ID appearance interval can be analyzed. Judge whether it has been.
  • the interval analysis unit 311 analyzes whether the appearance interval of the received message ID is constant (step S405).
  • the interval analysis unit 311 has a constant appearance interval of the message ID for the received message. (Step S405).
  • the interval analysis unit 311 includes a history storage unit. The contents of the received message are stored in 331 (step S406).
  • the interval analysis unit 311 stores in the interval storage unit 332 that the appearance interval of the message ID is not constant and indefinite (step S404).
  • step S403 when the appearance interval of the message ID is constant (Yes in step S403), the interval analysis unit 311 associates the message ID with the constant appearance interval corresponding to the message ID in the interval storage unit 332. Save (step S407).
  • step S407 When it is determined that the appearance interval of the message ID is constant (Yes in step S405), and after the processing in step S407, the interval analysis unit 311 transfers the message to the order extraction unit 312 (step S408).
  • FIG. 17 is a flowchart showing the operation of the order extraction unit.
  • the order extraction unit 312 checks the order storage unit 333 for the appearance interval of the message IDs to see if the ID order set has been extracted (step S411).
  • the order extraction unit 312 checks the interval storage unit 332 to determine whether there are a plurality of IDs having the same appearance interval as the appearance interval of the message ID (step S412). .
  • the history storage unit 331 determines whether or not a certain number of messages having the same appearance interval as the ID appearance intervals exist. Confirmation is made (step S413).
  • the order extraction unit 312 extracts ID sets having IDs having the same appearance order (step S414), and stores the extraction results in order. Store in the unit 333.
  • the fixed order ID set has been extracted (Yes in step S411), and when there are not a plurality of IDs having the same appearance interval as the ID appearance interval (No in step S412), a message that meets the conditions in the history storage unit 331
  • the order extracting unit 312 transfers the received message to the interval checking unit 321.
  • FIG. 18 is a flowchart showing the operation of the inspection apparatus.
  • the interval checking unit 321 checks whether the previous reception time of the message having the same ID as the message stored in the history storage unit 331 and the current time difference match the appearance interval of the ID stored in the interval storage unit 332 (step S421). ).
  • step S422 If it coincides with the appearance interval of the ID (Yes in step S421), the order checking unit 322 checks whether an ID order set including the message ID exists in the order storage unit 333 (step S422).
  • the order checking unit 322 receives the ID that should be preceded by the current message ID in the corresponding ID ordered set even in the storage of the history storage unit 331. It is checked whether or not it is being performed (step S423).
  • step S422 If there is no ID order set including the received message ID (No in step S422), and if a message to be received before the current message ID is received, the order checking unit 322 determines that the order is normal. Determination is made (step S425).
  • the order checking unit 322 determines that there is an abnormality (step S424).
  • step S424 and step S425 the order checking unit 322 stores the determination result in the history storage unit 331 (step S426).
  • abnormality detection apparatus of the third embodiment it is possible to perform abnormality detection based on message intervals in addition to abnormality detection based on message order, and to increase the accuracy of message abnormality detection.
  • the topology of the network through which the message flows can be applied to other network topologies such as a star type, a mesh type, and a ring type in addition to the bus type used in CAN.
  • the message has been described as an example in which the message is broadcasted from a plurality of nodes connected to the network, but is not limited thereto. For example, even an example of a message that is unicast communication from a node can be applied.
  • the present invention can be applied to other network systems such as an industrial network in addition to the in-vehicle network.
  • FIG. 19 is a block diagram showing an example in which the abnormality detection device is applied to another network system.
  • the network system in FIG. 19 includes a plurality of nodes, switches, and controllers, and the switches transfer messages input to the switches to the nodes in response to instructions from the controllers.
  • the abnormality detection device may be connected to a switch, and the abnormality detection device may detect an abnormality in a message input to the switch.
  • FIG. 19B a configuration in which the abnormality detection device is disposed inside the switch may be employed.
  • positioned the extraction apparatus outside the switch may be sufficient.
  • the message log described in the first to third embodiments may include information other than the time stamp and the message ID.
  • the message log may include message data.
  • the message log may be stored in a temporary storage device (for example, RAM).
  • FIG. 20 is a diagram illustrating a hardware configuration in which the extraction device, the second and third inspection devices, and the abnormality detection device in the first to third embodiments are realized by a computer.
  • each component of the extraction device, the inspection device, or the abnormality detection device is described in blocks of functional units.
  • Some or all of the components of the extraction device, the inspection device, or the abnormality detection device are realized by any combination of a computer and a program as shown in FIG. 20, for example.
  • the computer includes the following configuration.
  • CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • a storage device 605 for storing the program 604
  • a drive device 607 for reading from and writing to the storage medium 606
  • a communication interface 608 connected to the communication network 609
  • An input / output interface 610 for inputting / outputting data
  • Bus 611 connecting each component
  • the program 604 that realizes the function of each component is stored in advance in the storage device 605, the ROM 602, or the RAM 603, and is read out by the CPU 601 as necessary.
  • the program 604 may be supplied to the CPU 601 via the communication network 609, or may be stored in advance in the storage medium 606, and the drive device 607 may read the program and supply it to the CPU 601.
  • the extraction device, the inspection device, or the abnormality detection device may be realized by any combination of a computer and a program that are separate from each other.
  • a plurality of components included in the extraction device, the inspection device, or the abnormality detection device may be realized by any combination of one computer and a program.
  • the constituent elements of the extraction device, the inspection device, or the abnormality detection device are realized by other general-purpose or dedicated circuits, processors, and the like or combinations thereof. These may be configured by a single chip or may be configured by a plurality of chips connected via a bus. Further, a programmable logic device such as an FPGA (Field-Programmable Gate Array) may be used instead of the computer.
  • FPGA Field-Programmable Gate Array
  • the constituent elements of the extraction device, the inspection device, or the abnormality detection device may be realized by a combination of the above-described circuit and the like and a program.
  • the constituent elements of the extraction device, the inspection device, or the abnormality detection device are realized by a plurality of information processing devices and circuits
  • the plurality of information processing devices and circuits are concentrated. You may arrange
  • the computer, the circuit, and the like may be realized as a form in which each is connected via a communication network, such as a client and server system and a cloud computing system.
  • An extraction apparatus comprising: an order extracting unit that extracts a predetermined value order indicating the order of the messages from the predetermined value set.
  • the order extracting means sets a plurality of time series sections from the predetermined value set based on the number of identifications of the predetermined values included in the predetermined value set, and the predetermined value order common to the plurality of time series sections. Extract, The extraction device according to attachment 1.
  • the predetermined value is an integer obtained by abstracting a message ID and message data, a destination and data, a command and data, or a combination of two data, or an identifier for identifying a message.
  • the order extraction means extracts the predetermined value order using a directed graph with the predetermined value of the time series section as a vertex and the order of the predetermined value as a branch.
  • the extraction device according to any one of supplementary notes 1 to 3.
  • the inspection apparatus includes an order inspection unit that inspects whether an order of predetermined values of a message to be inspected satisfies the predetermined value order extracted by the extraction device, Anomaly detection device.
  • the inspection device further includes interval inspection means for inspecting the identity of the occurrence intervals of a specific predetermined value in the predetermined value set, as the occurrence interval of the predetermined value of the message to be inspected.
  • the abnormality detection device according to appendix 7.
  • Appendix 9 Extracting the predetermined value order by the extraction method according to appendix 5, Inspecting whether the order of predetermined values of messages to be inspected satisfies the predetermined value order, Anomaly detection method.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Mechanical Engineering (AREA)
  • Small-Scale Networks (AREA)
  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

メッセージログからメッセージの順序を抽出することを可能にする。抽出装置は、メッセージを識別する所定値と前記メッセージのタイムスタンプから導出された前記所定値の出現間隔とに基づいて、前記出現間隔が同一である前記所定値の所定値集合を生成する間隔分析部と、前記所定値集合から前記メッセージの順序を示す所定値順序を抽出する順序抽出部を備える。

Description

抽出装置、抽出方法と記憶媒体、ならびに、異常検知装置、異常検知方法
 本発明は、抽出装置ならびに異常検知装置等に関する。
 自動車の機能増加に伴い、自動車に搭載される電子制御ユニット(ECU:Electronic Control Unit)の数は増加する傾向にある。この種のECUは、車載用の通信プロトコルであるCAN(Controller Area Network)に準拠した車載LAN(Local Area Network)と接続され、ECU間のメッセージの送受信を中継している。
 近年では、ナビゲーションシステムのように自動車が外部ネットワークと通信する機会が増えている。一方で、自動車がハッキングの対象となり、内部プログラムの書き換えによって自動車が運転者の意図しない動作を起こす可能性が指摘されている。このような攻撃を防止するため、車載ネットワークを流れる特定のメッセージの周期に注目し、特定のメッセージが一定の周期でネットワークを流れている状態を正常状態とし、そのメッセージの周期が変化したときに異常状態として検知する手法がある(特許文献1)。
 また、メッセージの周期の他に、メッセージの順序に注目した異常検知の手法がある(非特許文献1)。非特許文献1は、ドライバーの運転動作に応じてECUからメッセージが定められた順序関係で車載ネットワークを流れることを利用し、そのメッセージの順序が変化したときに異常状態として検知する手法である。
特開2014-146868号公報
Soohyun Ahn et al. "A Countermeasure against Spoofing and DoS Attacks based on Message Sequence and Temporary ID in CAN", SCIS 2016 (2016 Symposium on Cryptography and Information Security, Jan. 19 - 22, 2016), The Institute of Electronics, Information and Communication Engineers
 一方、非特許文献1の手法は、メッセージの順序が既知であることが前提であり、メッセージの順序に関する情報を事前知識として得ておく必要がある。しかしながら、メッセージの詳細な仕様が公開されているとは限らず、メッセージの順序が未知な場合もある。この場合、メッセージの順序を用いた異常検知を実施することができない。
 本発明の目的は、メッセージログからメッセージの順序を抽出する抽出装置等を提供することにある。あるいは、メッセージの順序が未知のメッセージログであってもメッセージの異常を検知できる異常検知装置等を提供することにある。
 本発明の抽出装置の一態様は、メッセージを識別する所定値と前記メッセージのタイムスタンプから導出された前記所定値の出現間隔とに基づいて、前記出現間隔が同一である前記所定値の所定値集合を生成する間隔分析部と、前記所定値集合から前記メッセージの順序を示す所定値順序を抽出する順序抽出部を備える。
 本発明の抽出方法の一態様は、メッセージを識別する所定値と前記メッセージのタイムスタンプから導出された前記所定値の出現間隔とに基づいて、前記出現間隔が同一である前記所定値の所定値集合を生成し、前記所定値集合から前記メッセージの順序を示す所定値順序を抽出する。
 本発明の記憶媒体に格納された抽出プログラムの一態様は、メッセージを識別する所定値と前記メッセージのタイムスタンプから導出された前記所定値の出現間隔とに基づいて、前記出現間隔が同一である前記所定値の所定値集合を生成し、前記所定値集合から前記メッセージの順序を示す所定値順序を抽出することをコンピュータに実行させる。
 本発明の異常検知装置の一態様は、上述の抽出装置と、検査装置を備え、前記検査装置は、検査対象となるメッセージの所定値の順序が、前記抽出装置で抽出された前記所定値順序を満たすか検査する順序検査部を備える。
 本発明の異常検知方法の一態様は、上述の抽出方法によって前記所定値順序を抽出し、検査対象となるメッセージの所定値の順序が、前記所定値順序を満たすか検査する。
 本発明の異常検知システムの一態様は、メッセージを送信する複数のノードと、上述の異常検知装置を備える。
 本発明の抽出装置によれば、メッセージログからメッセージの順序を抽出することができる。また、本発明の異常検知装置によれば、メッセージの順序が未知のメッセージログであってもメッセージの異常を検知することができる。
第1の実施形態に係る抽出装置の構成を示すブロック図である。 メッセージログの一例を示す図である。 出現間隔別のID集合の一例を示す図である。 ID集合から切出される時系列区間の一例を示す図である。 設定された時系列区間1~3の一例を示す図である。 各時系列区間におけるIDを頂点とする有向グラフの行列を示す図である。 正常な状態のグラフの行列と冗長データを引いたグラフの行列を示す図である。 メッセージIDの順序関係を示すID順序集合の一例を示す図である。 第1の実施形態に係る抽出装置の動作を示すフローチャートである。 第1の実施形態における所定値集合生成処理の動作を示すフローチャートである。 第1の実施形態における所定値順序抽出処理の動作を示すフローチャートである。 第2の実施形態に係る異常検知装置の構成を示すブロック図である。 第2の実施形態に係る異常検知装置の動作を示すフローチャートである。 第3の実施形態に係る異常検知システムの構成を示す構成図である。 第3の実施形態に係る異常検知装置の構成を示すブロック図である。 第3の実施形態における間隔分析部の動作を示すフローチャートである。 第3の実施形態における順序抽出部の動作を示すフローチャートである。 第3の実施形態に係る検査装置の動作を示すフローチャートである。 異常検知装置をネットワークシステムに適用した例を示すブロック図である。 第1~第3の実施形態における抽出装置、第2、3の実施形態における検査装置、異常検知装置をコンピュータで実現したハードウエア構成を示すブロック図である。
 (第1の実施形態)
 第1の実施形態の抽出装置について図面を用いて説明する。第1の実施形態の抽出装置は、メッセージの順序が未知のメッセージログのうち、ネットワーク上の各ノードがそれぞれ周期的に送信するメッセージに着目し、出現間隔が同一であるメッセージの集合からメッセージの順序関係を導出する例である。
 第1の実施形態に係る抽出装置の一態様について図面を用いて説明する。第1の実施形態において、抽出装置がメッセージログからメッセージの順序を抽出する例を説明する。
 第1の実施形態の説明において、メッセージは、ネットワークに接続された複数のノードからブロードキャスト送信され、ネットワーク上を同時に流れないものとする。メッセージログは、各ノードが送信したメッセージの履歴である。メッセージログには、各ノードから一定の間隔で送信されたメッセージが含まれるものとする。また、メッセージログにおけるメッセージの順序関係は未知であるものとする。
 図1は、第1の実施形態に係る抽出装置の構成を示すブロック図である。図1に示す抽出装置11は、間隔分析部111、順序抽出部112を備える。以下、間隔分析部111、順序抽出部112について具体的に説明する。
 間隔分析部111は、メッセージログからメッセージを識別する所定値と前記メッセージのタイムスタンプから導出された前記所定値の出現間隔とに基づいて、前記出現間隔が同一である所定値の所定値集合を生成する機能を有する。
 メッセージを識別する所定値の一例は、メッセージID(Identifier)である。なお、メッセージを識別する所定値は、メッセージID以外に、例えば、メッセージIDとメッセージのデータの組合せを抽象化した整数であってもよい。また、その組合せは、メッセージIDとデータに限られず、宛先(アドレス)とデータ、コマンドとデータ、又は、データAとデータBの組合せであってもよい。以下の第1の実施形態の説明では、メッセージを識別する所定値としてメッセージIDを用いた例で説明する。
 図2は、メッセージログの一例を示す図である。メッセージログには、タイムスタンプ、及び、メッセージID(以下、単にIDとして示す場合もある)。が含まれる。メッセージIDは、メッセージを識別する識別子である。図2におけるタイムスタンプは、最初のメッセージの到着からの経過時間(ms)が、メッセージIDごとに記録されたものである。
 間隔分析部111は、メッセージログに出現間隔が同一であるメッセージが存在するか確認する。具体的には、まず、間隔分析部111は、メッセージログに重複するメッセージIDが存在するか確認する。重複するメッセージIDが存在する場合、間隔分析部111は、重複するメッセージIDのタイムスタンプの経過時間からメッセージIDの出現間隔を算出する。メッセージIDの出現間隔の算出誤差に対するマージンを考慮することが好ましい。
 例えば、図2に示すメッセージログにおいて、メッセージID420(以下、単にID420と示す)の出現間隔は10msとなる。間隔分析部111は、メッセージログに含まれるメッセージID毎の出現間隔を順次算出し、メッセージIDを同一の出現間隔毎に分類したID集合を生成する。
 図3は、出現間隔別のID集合の一例を示す図である。図3において、出現間隔10msのID集合としてメッセージID{420、432、490、472、・・・}が生成され、及び、出現間隔20msのID集合としてメッセージID{880、882、884、・・・}が生成されている。これら出現間隔10msのメッセージ及び出現間隔20msのメッセージを出現間隔が一定のメッセージと称することもできる。なお、出現間隔が同一でないメッセージIDは、図3のID1130、ID1128に示すように不定として分類される。間隔分析部111によるID集合の生成は、メッセージログのメッセージの数が一定量以上(例えば、1000個以上)ある状態で実行することが好ましい。
 順序抽出部112は、所定値集合からメッセージの順序を示す所定値順序を抽出する機能を有する。具体的には、順序抽出部112は、所定値集合に含まれる所定値の識別数に基づいて、所定値集合から複数の時系列区間を設定し、複数の時系列区間で共通する所定値順序を抽出する。例えば、間隔分析部111が生成したID集合のうち、同一の出現間隔のID集合から複数の時系列区間を設定し、設定された複数の時系列区間で共通するID順序を抽出する。
 以下、順序抽出部112の詳細について説明する。順序抽出部112は、出現間隔別のID集合から出現間隔のID集合を1つ選択する。例えば、順序抽出部112は、図3に示す出現間隔別のID集合のうち、出現間隔10msのID集合を選択する。順序抽出部112は、選択された出現間隔のID集合の中にメッセージIDがn種類含まれている場合、ID集合のうち、メッセージIDのn個(nは2以上の整数)の並びを1つの時系列区間とし、複数の時系列区間の先頭が同じメッセージIDとなるように複数の時系列区間を設定する。
 図4は、ID集合から切出される時系列区間の例を示す図である。図4の例では、出現間隔10msのメッセージIDが5種類あり、時系列区間1、2の先頭のメッセージIDが420となる時系列区間が切出されている。時系列区間の数は3つ以上でもよく、時系列区間の数が増えるほど、順序抽出部112が抽出するID順序の精度が高くなる。
 順序抽出部112は、時系列区間の所定値を頂点とし、所定値の順序を枝とした有向グラフを用いて、所定値集合からメッセージの順序を示す所定値順序を抽出する機能を有する。以下、順序抽出部112が複数の時系列区間からID順序を抽出する手順について、図5に示す時系列区間1~3を用いて具体的に説明する。図5は、同一の出現間隔のID集合から切出された時系列区間1~3の一例を示す図である。図5中、ID集合の中のIDの種類は5種類あり、時系列区間1~3の先頭の共通のIDが420となるように設定された例である。なお、時系列区間1~3は、出現間隔10msのID集合から切出された例であるとする。
 ここで、1つの時系列区間の中のIDの順序は、IDを頂点とし、各ID間の順序を頂点に向かう枝とする有向グラフとして表すことができる。図6は、時系列区間1~3の有向グラフを行列の形で示した図である。図6中、行のIDが列のIDよりも前に存在する場合、その行列要素を1とし、行のIDが列のIDより後に存在する場合、行列要素を0とする。なお、行と列でIDが同じ場合、行列要素は0とする。例えば、時系列区間1の履歴において、ID490がID472の前に存在するため、行が490で列が472の行列要素は1となり、逆に、列が472、行が490の行列要素は0となる。同様にして他の行列要素および、他の時系列区間に対応する行列要素も同様に定義する。
 次に、複数の時系列区間でIDの順序が保たれている状態を正常状態として、正常状態の有向グラフを、3つの時系列区間の行列要素の論理積の形で定義する。この時、行が490、列が428の要素が1であることは、ID490とID428の順序において、ID490はID428より常に前に存在することを意味する。この事実により、正常状態では常にこの順番が保持されるものと判断する。なお時系列区間の数が多いほど、正常状態のグラフの行列要素の成分が偶然に1になる確率は低くなる。
 最後に、正常状態を示すグラフの行列表現から冗長な行列要素を取り除く。図7は、正常な状態のグラフの行列と冗長データを引いたグラフの行列を示す図である。例で示した正常状態の行列表現では、行432と列428の要素が1であり、ID432がID428の前に来ることを示している。行432と列490の要素、および、行490と列428の両方が1であるため、ID432がID428に先行することは明白であり、行432と列428の要素を1にする必要はない。
 図7に示す行列表現において、行420列432、行432列472、行432列490、行490列428の要素のみが1となる。時系列区間1~3の間で共通したID順序が保たれた経路の抽出が可能になる。
 順序抽出部112は、出現間隔が同一であるID集合ごとに有向グラフを用いた行列演算によってID順序を抽出し、ID順序集合を生成する。図8は、メッセージIDの順序関係を示すID順序集合の一例を示す図である。図8の出現間隔10msに示すように、ID順序の抽出結果には、同じ出現間隔で2つのID順序が抽出される場合もある。
 第1の実施形態に係る抽出装置の動作について図面を用いて説明する。図9は、第1の実施形態に係る抽出装置の動作を示すフローチャートである。
 間隔分析部111は、メッセージを識別する所定値と前記メッセージのタイムスタンプから導出された前記所定値の出現間隔とに基づいて、前記出現間隔が同一である所定値の所定値集合を生成する(ステップS101)。例えば、間隔分析部111は、各ノードからのメッセージの出現間隔が同一であるメッセージIDのID集合を生成する。
 図10は、ステップS101の所定値集合の生成処理の動作を示すフローチャートである。間隔分析部111は、所定値集合の生成処理として、重複する所定値のタイムスタンプから所定値の出現間隔を算出する(ステップS1011)。例えば、間隔分析部111は、メッセージログに重複するメッセージIDが存在するか確認し、重複するメッセージIDが存在する場合、重複するメッセージID毎にタイムスタンプの経過時間からメッセージIDの出現間隔を算出する。
 さらに、間隔分析部111は、出現間隔が同一となる所定値集合を生成する(ステップS1012)。例えば、間隔分析部111は、メッセージログに含まれるメッセージID毎の出現間隔を順次算出し、メッセージIDを同一の出現間隔毎に分類したID集合を生成する。
 次に、順序抽出部112は、ステップS101の後、順序抽出処理として、所定値集合からメッセージの順序を示す所定値順序を抽出する(ステップS102)。例えば、順序抽出部112は、間隔分析部111が生成したID集合から、メッセージの順序関係を示すID順序を抽出する。図11は、ステップS102の所定値順序の抽出処理の動作を示すフローチャートである。
 順序抽出部112は、出現間隔が同一である所定値の所定値集合から複数の時系列区間を設定する(ステップS1021)。例えば、順序抽出部112は、ID集合に含まれるIDの種別数に応じて、出現間隔が同一であるメッセージIDのID集合から複数の時系列区間を設定する。次に、複数の時系列区間で共通する所定値順序を抽出する(ステップS1022)。例えば、順序抽出部112は、設定された複数の時系列区間で共通するID順序を抽出する。
 具体的には、順序抽出部112は、時系列区間の中のIDの順序を、IDを頂点とし、ID順序を頂点に向かう経路の枝とする有向グラフの行列を作成する。有向グラフの行列は、行のIDが列のIDよりも前に存在する場合、その行列要素を1とし、行のIDが列のIDより後に存在する場合、行列要素を0とする。なお、行と列でIDが同じ場合、行列要素は0と定義する。同様にして他の行列要素および、他の時系列区間に対応する行列要素も同様に定義する。次に、順序抽出部112は、複数の時系列区間でIDの順序が保たれている状態を正常状態として、正常状態の有向グラフを、3つの時系列区間の行列要素の論理積により算出する。なお時系列区間の数が多いほど、正常状態のグラフの行列要素の成分が偶然に1になる確率は低くなる。
 最後に、順序抽出部112は、正常状態を示すグラフの行列表現から冗長な行列要素を引いたグラフの行列を求め、複数の時系列区間で共通するID順序を抽出する。
 順序抽出部112は、出現間隔が同一であるID集合ごとに有向グラフを用いた行列演算によってID順序を抽出し、ID順序集合を生成する。
 第1の実施形態の順序抽出処理において、複数の時系列区間で共通するID順序を抽出する際に、IDを頂点とし、ID順序を頂点に向かう経路の枝とする有向グラフの行列を用いることにより、他の手法を用いることもできる。例えば、Prefix-Span、Apriori-Allを用いて確信度100%としてID順序を抽出するよりも少ない計算量でID順序を抽出することができる。
 第1の実施形態の抽出装置によれば、メッセージの順序が未知であるメッセージログからメッセージの順序関係を抽出することが可能となる。
 (第2の実施形態)
 次に、第2の実施形態に係る異常検知装置の一態様について図面を用いて説明する。第2の実施形態の異常検知装置は、第1の実施形態の抽出装置を用いた異常検知装置の例である。第2の実施形態において、第1の実施形態と同様の構成については同一の符号を記して詳細な説明を省略する。
 第2の実施形態において、第1の実施形態と同様に、メッセージは、ネットワークに接続された複数のノードからブロードキャスト送信され、ネットワーク上を同時に流れないものとする。メッセージログは、各ノードが送信したメッセージの履歴である。メッセージログには、各ノードから一定の間隔で送信されたメッセージが含まれているものとする。また、メッセージログにおけるメッセージの順序関係は未知であるものとする。
 図12は、第2の実施形態に係る異常検知装置の構成を示すブロック図である。図12に示す異常検知装置10は、抽出装置11および検査装置12を備える。検査装置12は、抽出装置11が生成したID順序集合を取得可能であるとする。第2の実施形態の抽出装置11は、第1の実施形態の抽出装置11と同様の構成であり、詳細な説明は省略する。以下の第2の実施形態の説明では、第1の実施形態と同様に、メッセージを識別する所定値としてメッセージIDを用いた例で説明する。
 図12に示すように、検査装置12は、順序検査部122を備える。順序検査部122は、検査対象のメッセージの所定値の順序が、抽出された所定値順序を満たすか検査する機能を有する。例えば、順序検査部122は、検査対象となるメッセージのメッセージIDを順次取得し、取得したメッセージIDの順序が、抽出装置11が抽出したID順序を満たすかを検査する。第2の実施形態において、検査装置12が検査対象とするメッセージは、第1の実施形態のメッセージログに対応するネットワーク上を流れるメッセージであるとする。
 第2の実施形態に係る異常検知装置の動作について図面を用いて説明する。図13は、第2の実施形態に係る異常検知装置の動作を示すフローチャートである。図13において、第2の実施形態の抽出装置11の動作を示すステップS101およびステップS102は、第1の実施形態の抽出装置11の動作と同様であり詳細な説明は省略する。なお、以下は、検査装置12が、抽出装置11が生成したID順序集合を取得した後の動作の例として説明する。
 検査装置12の順序検査部122は、検査対象のメッセージの所定値の順序が、抽出された所定値順序を満たすか検査する(ステップS203)。例えば、検査対象となるメッセージIDを順次取得し、検査対象のメッセージIDの順序が、抽出されたID順序を満たすか検査する。なお、検査装置12が順次取得する検査対象となるメッセージは、検査装置12を含む異常検知装置10がネットワークから取得してもよく、他の装置から検査対象となるメッセージを取得してもよい。
 以下、検査装置12の動作について説明する。具体例には、検査装置12が、図8に示すID順序集合を抽出装置11から取得する例を用いて説明する。順序検査部122は、取得したメッセージIDが、ID420の次にID490であった場合、図8に示す出現間隔10msのID順序[ID420→ID432→ID490→ID428]に基づいて、検査対象のメッセージIDの順序が正常であると判定する。
 もし検査対象のメッセージIDが、ID490の後にID420であった場合、順序検査部122は、ID490とID420の順序に異常があると判定する。
 第2の実施形態の異常検知装置によれば、メッセージの順序が未知のメッセージログであってもメッセージの順序の異常を検知することができる。その理由は、異常検知装置30の抽出装置11がメッセージの順序が未知のメッセージログからメッセージのID順序を抽出し、検査装置12は、抽出されたID順序を用いてメッセージの順序の異常を検知できるからである。
 (第3の実施形態)
 第3の実施形態に係る異常検知システム、異常検知装置の一態様について、図面を用いて説明する。図14に示す異常検知システム20は、異常検知装置30、複数のノード21を備える。異常検知装置30およびノード21は、バスを介してそれぞれ接続されネットワークが形成されている。
 ノード21(ノード21A、ノード21B、ノード21Cの総称として示す)は、ネットワーク内の異常検知装置30および他のノード21に対してメッセージをブロードキャスト送信する。なお、ノード21は、複数のメッセージが同時にバスを流れることがないように送信制御されるものとする。ノード21の一例は、通信プロトコルCAN(Controller Area Network)に準拠した車載LAN(Local Area Network)と接続される電子制御ユニット(ECU:Electronic Control Unit)である。ノード21は、複数のメッセージを送信し、メッセージに応じて周期的、または不定にメッセージを送信するものとする。また、メッセージには少なくともメッセージの識別子(ID:Identifier)が含まれる。以下の第3の実施形態の説明においてもメッセージを識別する所定値としてメッセージIDを用いた例で説明する。
 第3の実施形態に係る異常検知装置について、図面を用いて説明する。図15は、第3の実施形態に係る異常検知装置の構成を示すブロック図である。図15に示す異常検知装置30は、抽出装置31、記憶装置33、検査装置32を備える。
 抽出装置31は、間隔分析部311および順序抽出部312を備える。記憶装置33は、履歴記憶部331、間隔記憶部332、順序記憶部333を備える。検査装置32は、間隔検査部321、順序検査部322を備える。
 抽出装置31は、第1の実施形態の抽出装置と同様の機能を有する。以下、第1の実施形態の抽出装置と同一の機能については詳細な説明を省略して説明する。抽出装置31は、履歴記憶部331に保存されたメッセージログを参照し、メッセージログに含まれるメッセージIDのID順序を抽出する。抽出装置31は、抽出結果を順序記憶部333に記録する。
 次に、抽出装置31について説明する。各ノード21が送信したメッセージは、異常検知装置30の取得部(図示せず)によって履歴記憶部331に保存される。履歴記憶部331に保存されるメッセージログは、例えば、図2に示すメッセージログである。メッセージログには、異常検知装置30が受信したノード21からのメッセージのメッセージIDおよびタイムスタンプが含まれる。タイムスタンプは、異常検知装置30によるメッセージの受信開始後の経過時間(ms)が記憶されている。メッセージログには、メッセージIDおよびタイムスタンプ以外の情報が含まれてもよい。
 間隔分析部311は、履歴記憶部331のメッセージログのうち、同じメッセージIDが存在するか確認し、存在する場合、そのメッセージIDの出現間隔を導出し分析する。出現間隔の導出は、第1の実施形態で説明した内容と同様であり、詳しい説明は省略する。この分析は、一定量以上(例えば、1000個以上)の同一のメッセージIDが履歴記憶部331に蓄積された段階で実行される。
 メッセージIDの出現間隔の分析の結果、出現間隔が同一のメッセージIDが存在する場合、間隔分析部311は、メッセージIDとその出現間隔を関連付けて間隔記憶部332に記録する。出現間隔が同一でないメッセージIDの場合、間隔分析部311は、一定値のない不定として間隔記憶部332に保存する。
 間隔記憶部332に保存される情報は、出現間隔別に分類されたメッセージIDのID集合であり、出現間隔が同一でない場合は不定であるとして保存される。間隔記憶部332に保存される情報は、例えば、図3に示す出現間隔別のID集合である。
 なお、間隔分析部311がメッセージIDの出現間隔が同一であると判断する条件は、間隔分析部311に予め与えられており、例えば、1000回の同一のメッセージIDにおける出現間隔の平均が10msで、平均からの差分が全て2ms以下である場合、間隔分析部311は、出現間隔が同一であるメッセージIDと判断する。
 順序抽出部312は、出現間隔別に分類されたメッセージIDのID集合に対して、ID順序に関する法則が存在する場合、そのID順序を抽出する機能を有する。具体的には、順序抽出部312は、出現間隔が同一であるメッセージIDのID集合に対して、所定のID順序が常に成り立つかを分析する。例えば、ID22,ID25,ID30のメッセージが常にこの順序で送信されている場合は、この順序を順序記憶部333に保存する。
 次に、順序抽出部312によるID順序の抽出について、具体例を用いて説明する。順序抽出部312は、間隔記憶部332を参照し、複数のIDが同一の出現間隔を持つ場合、それらをID順序抽出の対象とする。
 間隔記憶部332にID420,ID422,ID427,ID428,ID432,ID472,ID476,ID490,ID493,ID507が同一の出現間隔(例:10ms)を持つと記録された場合を例とする。順序抽出部312は、最初にこの情報を元に、履歴記憶部331の記録からこれらのIDのメッセージだけを抜き出す。
 次に、順序抽出部312は、IDを一つ選択し(例えば、ID420)、ID420で始まりID420で終わる時系列区間をID集合から抜き出す。ID420で始まりID420で終わる時系列区間を抜き出す例は、図4に示す時系列区間と同様である。順序抽出部312は、ID集合から複数の時系列区間を抜き出す。
 例えば、順序抽出部312は、出現間隔10msの時系列区間1、2、3においてID順序[ID420→ID432→ID490→ID428]と[ID420→ID432→ID472]を抽出し、その結果を順序記憶部333に記録する。順序記憶部333に記録された抽出結果は、例えば、図8のような情報である。このように順序抽出部312は、IDの集合と、そのIDが共有する出現間隔の時間周期の形式で記録する。
 記憶装置33は、履歴記憶部331、間隔記憶部332、順序記憶部333を備える。
 履歴記憶部331は、起動時から現在までのメッセージログを記憶する。これは、送信時間とメッセージが持つIDの集合である。IDの種類の数はネットワークのプロトコルに依存する。あるいは、抽出装置31が分析した結果を保存する。
 間隔記憶部332は、各IDの出現間隔を記憶する。一定の出現間隔を持たないIDである場合、出現間隔が不定であることを記録する。
 順序記憶部333は、一定順序ID抽出部において抽出された一定の順序を保持し送信されるIDの集合を記憶する。一定順序集合の抽出は同一の出現間隔周期を持ったIDに対して行われるため、順序記憶部には抽出された集合と出現間隔を記録する。
 検査装置32は、記憶装置33に保存されたメッセージのID順序、あるいは、メッセージIDの一定の出現間隔を示す正常状態情報を参照し、新たにノードから送信されたメッセージIDが正常状態を満たすかを検査する。
 間隔検査部321は、メッセージIDの出現間隔を用いて受信したメッセージの異常を検出する。具体的には、間隔検査部321は、各メッセージに対して、IDからそれが一定の出現間隔で送信されるIDであるかを間隔分析部311の分析結果から参照する。一定の出現間隔で送信されるIDである場合、前回送信された同一IDの出現間隔が、間隔分析部311で分析したそのIDの出現間隔に等しいかを検査する。等しくない場合、異常と判定する。
 順序検査部322は、メッセージIDの出現順序に基づいて異常を検出する。順序検査部322は、順序記憶部333に保存されたID順序関係を満たすかを検査する。例えばID22,ID25,ID30のメッセージの順序が一定と分析された場合、ID30のメッセージが送信された際に、ID25のメッセージをID22のメッセージの後に受信しているかを検査する。ID22のメッセージが送信された後に、ID25のメッセージが送信されないうちにID30のメッセージが送信された場合は異常であり、このような異常がないかを検査する。異常が存在した場合、異常と判定する。
 次に第3の実施形態の異常検知装置の動作について、図面を用いて説明する。はじめに、抽出装置31の間隔分析部311の動作について図面を用いて説明する。図16は、間隔分析部の動作を示すフローチャートである。図中、メッセージIDを単にIDと示す場合がある。
 間隔分析部311は、異常検知装置30が受信したメッセージIDに基づいて、そのメッセージIDの出現間隔が分析済みであるかを確認する(ステップS401)。具体的には、間隔分析部311は、受信したメッセージIDの出現間隔の分析結果が間隔記憶部332に存在するか確認する。分析結果とは、出現間隔が一定であるメッセージが分類された出現間隔別のIDグループを示す(図3参照)。
 メッセージIDの出現間隔が分析済みでない場合(ステップS401のNo)、間隔分析部311は、受信したメッセージIDの数が、メッセージIDの出現間隔を分析できる程度、履歴記憶部331の受信履歴に記憶されているか判断する。
 出現間隔が同じIDのメッセージが所定数受信済みである場合(ステップS402のYes)、間隔分析部311は、受信したメッセージIDの出現間隔が一定か分析する(ステップS405)。
 一方、分析結果が間隔記憶部332に存在し、メッセージIDの出現間隔が分析済みである場合(ステップS401のYes)、間隔分析部311は、受信したメッセージに対してメッセージIDの出現間隔が一定であるか調べる(ステップS405)。
 一方、ステップS402において、同じメッセージIDのメッセージが所定数受信済みでない場合(ステップS402のNo)、メッセージIDの出現間隔が一定でない場合(ステップS405のNo)、間隔分析部311は、履歴記憶部331に受信したメッセージの内容を保存する(ステップS406)。
 メッセージIDの出現間隔が一定でない場合(ステップS403のNo)、間隔分析部311は、間隔記憶部332に当該メッセージIDの出現間隔が一定でない、不定であることを保存する(ステップS404)。
 また、ステップS403において、メッセージIDの出現間隔が一定である場合(ステップS403のYes)、間隔分析部311は、間隔記憶部332にメッセージIDと当該メッセージIDに対応する一定の出現間隔を関連づけて保存する(ステップS407)。
 メッセージIDの出現間隔が一定であると判断された場合(ステップS405のYes)、および、ステップS407の処理後、間隔分析部311は、順序抽出部312へメッセージを転送する(ステップS408)。
 以下、抽出装置31の順序抽出部312の動作について図面を用いて説明する。図17は、順序抽出部の動作を示すフローチャートである。
 (順序抽出部の動作)
 順序抽出部312は、メッセージIDの出現間隔について、ID順序集合が抽出済みか順序記憶部333を調べる(ステップS411)。
 ID順序集合が抽出済みでない場合(ステップS411のNo)、順序抽出部312は、メッセージのIDの出現間隔と同じ出現間隔を持つIDが複数存在するか間隔記憶部332を確認する(ステップS412)。
 メッセージのIDの出現間隔と同じ出現間隔を持つIDが複数存在する場合(ステップS412のYes)、それらIDの出現間隔と同じ出現間隔のIDのメッセージが一定数以上存在するか履歴記憶部331を確認する(ステップS413)。
 履歴記憶部331に一定数以上のメッセージが存在する場合(ステップS413のYes)、順序抽出部312は、出現順序が同一であるIDのID集合を抽出し(ステップS414)、抽出結果を順序記憶部333に記憶する。
一定順序ID集合が抽出済みの場合(ステップS411のYes)、及び、IDの出現間隔と同じ出現間隔を持つIDが複数存在しない場合(ステップS412のNo)、履歴記憶部331に条件に合うメッセージが一定数以上存在しない場合(ステップS413)、ステップS414の処理が終わった場合(ステップS414のNo)、順序抽出部312は、受信したメッセージを間隔検査部321へ転送する。
 以下、検査装置32の動作について図面を用いて説明する。図18は、検査装置の動作を示すフローチャートである。
 間隔検査部321は、履歴記憶部331に保存した、メッセージと同じIDのメッセージの前回受信時間と、現在の時間差が間隔記憶部332に記憶したIDの出現間隔に一致するか確認する(ステップS421)。
 IDの出現間隔と一致している場合(ステップS421のYes)、順序検査部322は、順序記憶部333にメッセージのIDを含むID順序集合が存在するか確認する(ステップS422)。
 ID順序集合が存在する場合(ステップS422のYes)、順序検査部322は、該当するID順序集合の中で、現在のメッセージIDの前にくるべきIDが履歴記憶部331の記憶でも前に受信しているか調べる(ステップS423)。
 受信したメッセージのIDを含むID順序集合が存在しない場合(ステップS422のNo)、及び、今回のメッセージIDの前に受信するべきメッセージを受信している場合、順序検査部322は、順序正常と判定する(ステップS425)。
 受信メッセージと同じIDのメッセージの前回受信時間と、今回の受信時間の差が間隔記憶部332に記憶したIDの出現間隔に一致しない場合(ステップS421のNo)、及び、今回のメッセージIDの前にくるべきIDが履歴記憶部331に記憶されていない場合(ステップS423のNo)、順序検査部322は、異常と判定する(ステップS424)。
 ステップS424、ステップS425の処理後、順序検査部322は、履歴記憶部331に判定結果を保存する(ステップS426)。
 第3の実施形態の異常検知装置によれば、メッセージ順序による異常検知に加え、メッセージ間隔による異常検知を実施することができ、メッセージの異常検知の精度を高くすることが可能となる。
 (第1~第3の実施形態における変形例)
 メッセージが流れるネットワークのトポロジは、CANで用いられるバス型以外にスター型、メッシュ型、リング型など他のネットワークトポロジにも適用できる。
 上記説明において、メッセージは、ネットワークに接続された複数のノードからブロードキャスト送信される例で説明したが、これに限られない。例えば、ノードからユニキャスト通信されるメッセージの例であっても適用できる。
 CANの車載ネットワークのメッセージの例で説明したが、これに限られるものではない。例えば、車載ネットワーク以外に産業用ネットワーク等、他のネットワークシステムにも適用できる。
 図19は、異常検知装置を他のネットワークシステムに適用した例を示すブロック図である。図19のネットワークシステムは、複数のノード、スイッチ、コントローラを備え、スイッチは、コントローラからの指示に応じて、スイッチに入力されたメッセージをノードに転送する。図19の(a)に示すように異常検知装置がスイッチと接続され、スイッチに入力されるメッセージを異常検知装置が異常検知する構成でもよい。さらに、図19の(b)に示すように、異常検知装置をスイッチの内部に配置した構成でもよい。またスイッチ内部に検査装置を配置し、抽出装置をスイッチ外部に配置した構成でもよい。
 第1~第3の実施形態で説明したメッセージログには、タイムスタンプ、メッセージのID以外の情報が含まれていてもよく、例えば、メッセージのデータが含まれていてもよい。また、メッセージログは、一時的な記憶装置(例えば、RAM)に記憶される構成でもよい。
 (ハードウエア構成)
 図20は、第1~第3の実施形態における抽出装置、又は、第2、第3の検査装置、及び、異常検知装置をコンピュータで実現したハードウエア構成を示す図である。第1~第3の実施形態において抽出装置、検査装置、又は、異常検知装置の各構成要素は、機能単位のブロックで記述されている。抽出装置、検査装置、又は、異常検知装置の各構成要素の一部又は全部は、例えば、図20に示すようなコンピュータとプログラムとの任意の組み合わせにより実現される。コンピュータは、一例として、以下のような構成を含む。
CPU(Central Processing Unit)601、
ROM(Read Only Memory)602、
RAM(Random Access Memory)603、
RAM603にロードされるプログラム604、
プログラム604を格納する記憶装置605、
記憶媒体606の読み書きを行うドライブ装置607、
通信ネットワーク609と接続する通信インターフェース608、
データの入出力を行う入出力インターフェース610、
各構成要素を接続するバス611
 抽出装置、検査装置、又は、異常検知装置の各構成要素は、これらの機能を実現するプログラム604をCPU601が取得して実行することで実現される。各構成要素の機能を実現するプログラム604は、例えば、予め記憶装置605、ROM602又はRAM603に格納されており、必要に応じてCPU601が読み出す。なお、プログラム604は、通信ネットワーク609を介してCPU601に供給されてもよいし、予め記憶媒体606に格納されており、ドライブ装置607が当該プログラムを読み出してCPU601に供給してもよい。
 抽出装置、検査装置、又は、異常検知装置の実現方法には、様々な変形例がある。例えば、抽出装置、検査装置、又は、異常検知装置は、各構成要素にそれぞれ別個のコンピュータとプログラムとの任意の組み合わせにより実現されてもよい。また、抽出装置、検査装置、又は、異常検知装置が備える複数の構成要素が、一つのコンピュータとプログラムとの任意の組み合わせにより実現されてもよい。
 また、抽出装置、検査装置、又は、異常検知装置の各構成要素の一部又は全部は、その他の汎用または専用の回路、プロセッサ等やこれらの組み合わせによって実現される。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。また、コンピュータの代わりにFPGA(Field-Programmable Gate Array)のようなプログラマブルロジックデバイスを用いてもよい。
 さらに、抽出装置、検査装置、又は、異常検知装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
 また、抽出装置、検査装置、又は、異常検知装置の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、コンピュータや回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 上記の実施形態の一部又は全部は、以下の付記のように記載されうるが、以下には限られない。
  (付記1)
 メッセージを識別する所定値と前記メッセージのタイムスタンプから導出された前記所定値の出現間隔とに基づいて、前記出現間隔が同一である前記所定値の所定値集合を生成する間隔分析手段と、
 前記所定値集合から前記メッセージの順序を示す所定値順序を抽出する順序抽出手段を備える、抽出装置。
  (付記2)
 前記順序抽出手段は、前記所定値集合に含まれる前記所定値の識別数に基づいて、前記所定値集合から複数の時系列区間を設定し、前記複数の時系列区間で共通する前記所定値順序を抽出する、
付記1に記載の抽出装置。
  (付記3)
 前記所定値は、メッセージIDとメッセージのデータ、宛先とデータ、コマンドとデータ、又は、2つのデータの組合せを抽象化した整数、あるいいは、メッセージを識別する識別子である、
付記1又は2に記載の抽出装置。
  (付記4)
 前記順序抽出手段は、前記時系列区間の前記所定値を頂点とし、前記所定値の順序を枝とした有向グラフを用いて前記所定値順序を抽出する、
付記1乃至3のいずれか1つに記載の抽出装置。
  (付記5)
 メッセージを識別する所定値と前記メッセージのタイムスタンプから導出された前記所定値の出現間隔とに基づいて、前記出現間隔が同一である前記所定値の所定値集合を生成し、
 前記所定値集合から前記メッセージの順序を示す所定値順序を抽出する、
抽出方法。
  (付記6)
 メッセージを識別する所定値と前記メッセージのタイムスタンプから導出された前記所定値の出現間隔とに基づいて、前記出現間隔が同一である前記所定値の所定値集合を生成し、
 前記所定値集合から前記メッセージの順序を示す所定値順序を抽出する、
ことをコンピュータに実行させる抽出プログラム。
  (付記7)
 付記1乃至4のいずれか1つに記載の抽出装置と、検査装置を備え、
 前記検査装置は、検査対象となるメッセージの所定値の順序が前記抽出装置で抽出された前記所定値順序を満たすか検査する順序検査手段を備える、
異常検知装置。
  (付記8)
 前記検査装置は、前記検査対象となるメッセージの所定値の出現間隔が、前記所定値集合のうち特定の所定値の出現間隔の同一性を検査する間隔検査手段を、更に備える、
付記7に記載の異常検知装置。
  (付記9)
 付記5に記載の抽出方法によって前記所定値順序を抽出し、
 検査対象となるメッセージの所定値の順序が、前記所定値順序を満たすか検査する、
異常検知方法。
  (付記10)
 メッセージを送信する複数のノードと、
 付記7又は8に記載の異常検知装置を備える、
異常検知システム。
 この出願は、2017年1月19日に出願された日本出願特願2017-007835を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 10 異常検知装置
 11 抽出装置
 12 検査装置
 20 異常検知システム
 21、21A、21B、21C ノード
 30 異常検知装置
 31 抽出装置
 32 検査装置
 33 記憶装置
 111 間隔分析部
 112 順序抽出部
 122 順序検査部
 311 間隔分析部
 312 順序抽出部
 321 間隔検査部
 321 間隔検査部
 322 順序検査部
 331 履歴記憶部
 332 間隔記憶部
 333 順序記憶部
 601 CPU
 602 ROM
 603 RAM
 604 プログラム
 605 記憶装置
 606 記憶媒体
 607 ドライブ装置
 608 通信インターフェース
 609 通信ネットワーク
 610 入出力インターフェース
 611 バス

Claims (10)

  1.  メッセージを識別する所定値と前記メッセージのタイムスタンプから導出された前記所定値の出現間隔とに基づいて、前記出現間隔が同一である前記所定値の所定値集合を生成する間隔分析手段と、
     前記所定値集合から前記メッセージの順序を示す所定値順序を抽出する順序抽出手段を備える、抽出装置。
  2.  前記順序抽出手段は、前記所定値集合に含まれる前記所定値の識別数に基づいて、前記所定値集合から複数の時系列区間を設定し、前記複数の時系列区間で共通する前記所定値順序を抽出する、
    請求項1に記載の抽出装置。
  3.  前記所定値は、メッセージIDとメッセージのデータ、宛先とデータ、コマンドとデータ、又は、2つのデータの組合せを抽象化した整数、あるいいは、メッセージを識別する識別子である、
    請求項1又は2に記載の抽出装置。
  4.  前記順序抽出手段は、前記時系列区間の前記所定値を頂点とし、前記所定値の順序を枝とした有向グラフを用いて前記所定値順序を抽出する、
    請求項2に記載の抽出装置。
  5.  メッセージを識別する所定値と前記メッセージのタイムスタンプから導出された前記所定値の出現間隔とに基づいて、前記出現間隔が同一である前記所定値の所定値集合を生成し、
     前記所定値集合から前記メッセージの順序を示す所定値順序を抽出する、
    抽出方法。
  6.  メッセージを識別する所定値と前記メッセージのタイムスタンプから導出された前記所定値の出現間隔とに基づいて、前記出現間隔が同一である前記所定値の所定値集合を生成し、
     前記所定値集合から前記メッセージの順序を示す所定値順序を抽出する、
    ことをコンピュータに実行させる抽出プログラムを格納した記憶媒体。
  7.  請求項1乃至4のいずれか1つに記載の抽出装置と、検査装置を備え、
     前記検査装置は、検査対象となるメッセージの所定値の順序が前記抽出装置で抽出された前記所定値順序を満たすか検査する順序検査手段を備える、
    異常検知装置。
  8.  前記検査装置は、前記検査対象となるメッセージの所定値の出現間隔が、前記所定値集合のうち特定の所定値の出現間隔の同一性を検査する間隔検査手段を、更に備える、
    請求項7に記載の異常検知装置。
  9.  請求項5に記載の抽出方法によって前記所定値順序を抽出し、
     検査対象となるメッセージの所定値の順序が、前記所定値順序を満たすか検査する、
    異常検知方法。
  10.  メッセージを送信する複数のノードと、
     請求項7又は8に記載の異常検知装置を備える、
    異常検知システム。
PCT/JP2018/001491 2017-01-19 2018-01-19 抽出装置、抽出方法と記憶媒体、ならびに、異常検知装置、異常検知方法 WO2018135604A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US16/478,900 US20190384771A1 (en) 2017-01-19 2018-01-19 Extracting device, extracting method and storage medium, and abnormality detecting device and abnormality detecting method
JP2018562439A JP7006622B2 (ja) 2017-01-19 2018-01-19 抽出装置、抽出方法と抽出プログラム、ならびに、異常検知装置、異常検知方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-007835 2017-01-19
JP2017007835 2017-01-19

Publications (1)

Publication Number Publication Date
WO2018135604A1 true WO2018135604A1 (ja) 2018-07-26

Family

ID=62908114

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/001491 WO2018135604A1 (ja) 2017-01-19 2018-01-19 抽出装置、抽出方法と記憶媒体、ならびに、異常検知装置、異常検知方法

Country Status (3)

Country Link
US (1) US20190384771A1 (ja)
JP (1) JP7006622B2 (ja)
WO (1) WO2018135604A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6555559B1 (ja) * 2018-06-15 2019-08-07 パナソニックIpマネジメント株式会社 電子制御装置、監視方法、プログラム及びゲートウェイ装置
CN112889244A (zh) * 2018-10-18 2021-06-01 住友电气工业株式会社 检测装置、网关装置、检测方法和检测程序
US11700270B2 (en) * 2019-02-19 2023-07-11 The Aerospace Corporation Systems and methods for detecting a communication anomaly
CN113392102A (zh) * 2020-03-12 2021-09-14 尼得科智动株式会社 网关装置和计算机可读介质
US20230247035A1 (en) * 2020-05-12 2023-08-03 Nippon Telegraph And Telephone Corporation Attack detection apparatus, attack detection method and program

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005195307A (ja) * 2004-01-09 2005-07-21 Toshiba Kyaria Kk データ収集方法および中継装置
JP2014191724A (ja) * 2013-03-28 2014-10-06 Mitsubishi Electric Corp 入出力制御装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005195307A (ja) * 2004-01-09 2005-07-21 Toshiba Kyaria Kk データ収集方法および中継装置
JP2014191724A (ja) * 2013-03-28 2014-10-06 Mitsubishi Electric Corp 入出力制御装置

Also Published As

Publication number Publication date
JPWO2018135604A1 (ja) 2019-11-07
US20190384771A1 (en) 2019-12-19
JP7006622B2 (ja) 2022-01-24

Similar Documents

Publication Publication Date Title
WO2018135604A1 (ja) 抽出装置、抽出方法と記憶媒体、ならびに、異常検知装置、異常検知方法
JPWO2019142741A1 (ja) 車両異常検知サーバ、車両異常検知システム及び車両異常検知方法
CN110888783A (zh) 微服务系统的监测方法、装置以及电子设备
CN111066001B (zh) 日志输出方法、日志输出装置以及存储介质
US10574671B2 (en) Method for monitoring security in an automation network, and automation network
JP2018026791A (ja) フレーム伝送阻止装置、フレーム伝送阻止方法及び車載ネットワークシステム
CN109598135B (zh) 一种工控设备运维信息存储方法、装置及系统
KR101855753B1 (ko) 차량 진단 게이트웨이 장치 및 이를 포함하는 시스템
CN111447166B (zh) 车辆攻击检测方法及装置
US20230327956A1 (en) Network configuration estimation apparatus, network configuration estimation method and program
JP6809011B2 (ja) 制御システムの遠隔監視を行う装置およびシステム
CN110619022B (zh) 基于区块链网络的节点检测方法、装置、设备及存储介质
CN111752819B (zh) 一种异常监控方法、装置、系统、设备和存储介质
CN111903095B (zh) 检测装置及其方法以及记录介质
JP3227309U (ja) コントローラ・エリア・ネットワーク・バスでのエラー記録メカニズムのためのシステムおよび方法
US10666671B2 (en) Data security inspection mechanism for serial networks
CN108512675B (zh) 一种网络诊断的方法、装置、控制节点和网络节点
WO2019207764A1 (ja) 抽出装置、抽出方法および記録媒体、並びに、検知装置
CN103885441B (zh) 一种控制器局域网络的自适应故障诊断方法
US20230067096A1 (en) Information processing device, computer program product, and information processing system
CN111737079B (zh) 一种集群网络的监控方法和装置
CN112650557B (zh) 一种命令执行方法以及装置
CN110177032B (zh) 报文路由质量监测方法及网关控制器
CN109379211B (zh) 一种网络监控方法及装置、服务器和存储介质
JP2020088798A (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: 18741638

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2018562439

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18741638

Country of ref document: EP

Kind code of ref document: A1