WO2022014422A1 - 通信監視方法、及び、通信監視システム - Google Patents

通信監視方法、及び、通信監視システム Download PDF

Info

Publication number
WO2022014422A1
WO2022014422A1 PCT/JP2021/025530 JP2021025530W WO2022014422A1 WO 2022014422 A1 WO2022014422 A1 WO 2022014422A1 JP 2021025530 W JP2021025530 W JP 2021025530W WO 2022014422 A1 WO2022014422 A1 WO 2022014422A1
Authority
WO
WIPO (PCT)
Prior art keywords
communication
triplet
information indicating
learning
triplets
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/JP2021/025530
Other languages
English (en)
French (fr)
Inventor
達海 大庭
裕幸 岡田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Intellectual Property Corp of America
Original Assignee
Panasonic Intellectual Property Corp of America
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 Panasonic Intellectual Property Corp of America filed Critical Panasonic Intellectual Property Corp of America
Priority to EP21843073.4A priority Critical patent/EP4184875A4/en
Priority to CN202180048831.4A priority patent/CN115804066A/zh
Priority to JP2022536285A priority patent/JP7809637B2/ja
Publication of WO2022014422A1 publication Critical patent/WO2022014422A1/ja
Priority to US18/093,631 priority patent/US12470576B2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

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/1425Traffic logging, e.g. anomaly detection
    • 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/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • 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/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/062Generation of reports related to network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/162Implementing security features at a particular protocol layer at the data link layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/164Implementing security features at a particular protocol layer at the network layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • 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/16Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Definitions

  • This disclosure relates to a communication monitoring method and a communication monitoring system.
  • ICS Industrial Control System
  • important infrastructure such as electric power equipment and water treatment equipment.
  • ICS network-based security measures are the mainstream in ICS.
  • ICS is often used because the anomaly detection method using a white list is particularly effective (see, for example, Non-Patent Document 1 and Non-Patent Document 2).
  • the white list is composed of three sets (hereinafter referred to as communication triplets) such as a server IP address, a TCP / UDP port number, and a client IP address. Then, an alert is issued when a communication triplet that is not on the white list is observed, so that ICS security measures can be taken.
  • the anomaly detection method disclosed in Non-Patent Document 1 and Non-Patent Document 2 is a method in which a normal communication triplet is held as a white list and a communication triplet not on the white list is detected as an abnormal communication triplet, but an error is detected.
  • the security observer needs to analyze whether the abnormal communication triplet that was detected and the alert was issued is an important security alert such as malware infection in the ICS network or a cyber attack. This forces security observers to deal with many false alerts.
  • the anomaly detection method disclosed in Non-Patent Document 1 and Non-Patent Document 2 imposes a large analytical load on the security monitor of the ICS network, and therefore it is difficult to carry out practical operation.
  • the present disclosure has been made in view of the above circumstances, and an object thereof is to provide a communication monitoring method and a communication monitoring system capable of suppressing false detection of network communication.
  • the communication monitoring method is a communication monitoring method for monitoring network communication, from the communication, information indicating a source device, information indicating a destination device, and the like.
  • the step of extracting the first communication triplet composed of three sets of information indicating the communication type exchanged between the devices and the extracted first communication triplet are stored in advance in the storage unit as a white list.
  • a recording medium such as a system, method, integrated circuit, computer program or computer-readable CD-ROM, and the system, method, integrated circuit, computer. It may be realized by any combination of a program and a recording medium.
  • FIG. 1 is a block diagram showing an example of the configuration of the communication monitoring system according to the embodiment.
  • FIG. 2 is a block diagram showing an example of the configuration of the communication monitoring device according to the embodiment.
  • FIG. 3 is a diagram showing an example of a hardware configuration of a computer that realizes the function of the communication monitoring device according to the embodiment by software.
  • FIG. 4 is a diagram showing an example of a communication triplet according to an embodiment.
  • FIG. 5 is a diagram showing an example of a communication triplet according to an embodiment.
  • FIG. 6A is an example of a white list according to an embodiment.
  • FIG. 6B is a diagram showing a multigraph of a white list according to an embodiment.
  • FIG. 6C is a diagram showing an example of a scoring process result of the communication triplet to be monitored according to the embodiment.
  • FIG. 7 is a diagram showing a processing framework of the communication monitoring system according to the embodiment.
  • FIG. 8A is a diagram conceptually showing an example of processing in the preparatory processing phase executed by the communication monitoring system according to the embodiment.
  • FIG. 8B is a diagram conceptually showing an example of processing in the learning processing phase executed by the communication monitoring system according to the embodiment.
  • FIG. 8C is a diagram conceptually showing an example of processing in the scoring processing phase executed by the communication monitoring system according to the embodiment.
  • FIG. 9 is a flowchart showing an operation outline of the communication monitoring system according to the embodiment.
  • FIG. 10 is a flowchart showing the details of the learning communication triplet extraction process shown in FIG.
  • FIG. 11 is a flowchart showing the details of the learning process shown in FIG.
  • FIG. 12 is a diagram showing an algorithm 1 for executing the learning process shown in FIG.
  • FIG. 13 is a flowchart showing the details of the scoring process shown in FIG.
  • FIG. 14 is a diagram showing an algorithm 2 for executing the scoring process shown in FIG.
  • FIG. 15 is a diagram showing the properties of the data set according to the embodiment.
  • FIG. 16 is a diagram showing the evaluation result of the link prediction predicted by using the communication triplet for the test according to the embodiment.
  • FIG. 17 is a diagram showing an evaluation of the link discrimination ability based on the score output using the communication triplet for the test according to the embodiment.
  • FIG. 18 is a block diagram showing an example of the configuration of the learning device unit according to the modified example.
  • FIG. 19 is a diagram showing a link when a multigraph is constructed during learning according to a modified example, and a score indicating an estimated degree of abnormality.
  • FIG. 20 is a flowchart showing an operation outline of a communication monitoring system including a learning device unit according to a modified example.
  • FIG. 21 is a flowchart showing a detailed example of the abnormality degree confirmation process shown in FIG.
  • FIG. 22 is a flowchart showing another detailed example of the abnormality degree confirmation process shown in FIG.
  • the communication monitoring method is a communication monitoring method for monitoring network communication, from the communication, information indicating a source device, information indicating a destination device, and a communication type exchanged between the devices.
  • the possibility that the first communication triplet appears as the communication is estimated as a score using the trained model. Includes steps to output.
  • a monitoring result indicating that the communication is suspicious communication may be output.
  • the trained model when estimating the score, is provided with a set of three sets constituting the first communication triplet, information indicating the source device, and information indicating the destination device.
  • the information indicating the communication type By converting the information indicating the communication type into a multigraph having the edge type and mapping each node of the multigraph to a fixed-dimensional vector representation, the vector of each element of the first communication triplet.
  • the expression may be acquired and the score may be estimated from the vector representation of the acquired first communication triplet.
  • the model may be configured by R-GCN (Relational Graph Convolutional Network).
  • the trained model when estimating the score, is provided with a set of three sets constituting the first communication triplet, information indicating the source device, and information indicating the destination device.
  • the information indicating the communication type is converted into a multigraph having the edge type, the vector representation of the first communication triplet is acquired from the multigraph, and the vector representation of the acquired first communication triplet is obtained.
  • the score may be estimated using a link prediction algorithm.
  • the model may be composed of COMPGCN (COMPosition-based multi-relational Graph Convolutional Networks).
  • the trained model is made to acquire and acquire the vector representation of the first communication triplet from the set of three sets constituting the first communication triplet.
  • the score may be estimated from the vector representation of the first communication triplet using a link prediction algorithm.
  • the models include DistMult, convE (convolutional 2D Knowledge Graph Embeddings), TransE (Translating Embeddings for Modeling Multi-relational Data), HolE (Holographic Embeddings of Knowledge Graphs), and ComplEx. It may be configured by any of Prediction).
  • the information indicating the source device is the IP address of the server which is the source device
  • the information indicating the destination device is the IP address of the client which is the destination device
  • the information indicating the communication type May include a TCP / UDP port number or alert type.
  • the possibility of appearance of a communication triplet that is not on the white list can be treated as a link prediction problem of a multigraph, so that the score of the communication triplet that is not on the white list can be estimated.
  • the information indicating the source device is the MAC address or serial number of the source device
  • the information indicating the destination device is the MAC address or serial number of the destination device, which is information indicating the communication type. May include the type of communication command or alert type exchanged between the source device and the destination device.
  • the possibility of appearance of a communication triplet that is not on the white list can be treated as a link prediction problem of a multigraph, so that the score of the communication triplet that is not on the white list can be estimated.
  • the step of acquiring the second communication triplet from the communication of the network for a predetermined period and the acquired second communication triplet are further selected.
  • the step of acquiring the second communication triplet from the communication of the network for a predetermined period and the acquired second communication triplet are further selected.
  • the score indicating the degree of abnormality for each of the second communication triplets can be confirmed, so that the second communication triplet acquired from the network communication for a predetermined period as the learning period and used as the learning data has an abnormality. You can check if it is not included.
  • the model acquires the vector representation of the second communication triplet
  • the information indicating the source device and the destination from the set of three sets constituting the second communication triplet.
  • a multigraph is constructed using information indicating a device as a node and information indicating the communication type as an edge type, the constructed multigraph is input to the model, and each node of the multigraph is input to the model as a fixed-dimensional vector. Learning may be performed so as to map to the expression and acquire the vector expression of the second communication triplet.
  • the second communication triplet used as the learning data may include, as the communication type, a feature amount related to network communication for the predetermined period in addition to the communication type.
  • the accuracy of the vector expression acquired by the model can be improved, and the accuracy of the score estimated by the trained model can be improved.
  • the feature amount includes at least one of the communication amount per unit time and the median communication time interval in the communication of the network in the predetermined period.
  • the communication monitoring method further comprises information indicating a source device, information indicating a destination device, and information indicating a communication type from network communication for a predetermined period before the extraction step.
  • the step of acquiring a plurality of third communication triplets composed of one set and the acquired plurality of third communication triplets as learning data the vector of the third communication triplet is used in the model.
  • the removed communication triplet may include a step of storing the removed communication triplet as the plurality of second communication triplets in the storage unit.
  • the white list is obtained by removing the abnormal third communication triplet from the plurality of third communication triplets acquired from the network communication for a predetermined period as the learning period (the white list). It can be stored as a plurality of second communication triplets).
  • the communication monitoring method further comprises information indicating a source device, information indicating a destination device, and information indicating a communication type from network communication for a predetermined period before the extraction step.
  • the step of acquiring a plurality of third communication triplets composed of one set and the acquired plurality of third communication triplets as learning data the vector of the third communication triplet is used in the model.
  • the model is made to acquire the vector representation of the third communication triplet, and the possibility that the communication of the network for the predetermined period appears is estimated as a score.
  • the white list is obtained by removing the abnormal third communication triplet from the plurality of third communication triplets acquired from the network communication for a predetermined period as the learning period (the white list). It can be stored as a plurality of second communication triplets). Further, the model can be retrained by using the plurality of third communication triplets excluding the abnormal third communication triplet as the re-learning data. Then, by using the retrained model, it is possible to suppress the possibility of missing an abnormal communication triplet during the scoring process.
  • the information indicating the source device and the information indicating the destination device are referred to as nodes, and the communication type is referred to.
  • a multigraph is constructed using the information shown as an edge type, the constructed multigraph is input to the model, each node of the multigraph is mapped to the fixed-dimensional vector representation in the model, and the second communication triplet is used. Learn to acquire the vector representation of.
  • the communication monitoring system is a communication monitoring system that monitors network communication, and from the above-mentioned communication, information indicating a source device, information indicating a destination device, and communication exchanged between devices.
  • 3 consists of an extraction unit that extracts the first communication triplet composed of three sets of information indicating the type, information indicating the source device, information indicating the destination device, and information indicating the communication type as a white list. Whether the storage unit in which the plurality of second communication triplets configured in each set are stored in advance and the extracted first communication triplet correspond to any of the plurality of second communication triplets.
  • the possibility that the first communication triplet appears as the communication using the trained model is used as a score. It is equipped with a scoring unit that estimates and outputs.
  • FIG. 1 is a block diagram showing an example of the configuration of the communication monitoring system 100 according to the present embodiment.
  • the communication monitoring system 100 is realized by a computer or the like, and based on information such as a communication triplet included in a learning packet group, a scoring process is performed on the communication triplet included in the analysis target packet group, and an estimated score is obtained. Is output.
  • the score quantitatively expresses the possibility (naturalness) that the communication triplet appears as the communication of the network.
  • the communication monitoring system 100 includes a connection acquisition unit 11, a communication triplet extraction unit 12, a scoring unit 13, a connection acquisition unit 21, and a communication triplet extraction unit 22. , A learning unit 23, a storage unit 31, and a storage unit 32.
  • the connection acquisition unit 21, the communication triplet extraction unit 22, the learning unit 23, the storage unit 31, and the storage unit 32 constitute the learning device unit 2 as shown in FIG.
  • the connection acquisition unit 11, the communication triplet extraction unit 12, and the scoring unit 13 constitute the communication monitoring device 1 shown in FIG.
  • the communication monitoring device 1 will be described first.
  • FIG. 2 is a block diagram showing an example of the configuration of the communication monitoring device 1 according to the present embodiment.
  • the communication monitoring device 1 is realized by a computer 1000 or the like shown in FIG. 3 and monitors network communication.
  • FIG. 3 is a diagram showing an example of a hardware configuration of a computer 1000 that realizes the function of the communication monitoring device 1 according to the present embodiment by software.
  • the computer 1000 shown in FIG. 3 is a computer including an input device 1001, an output device 1002, a CPU 1003, a built-in storage 1004, a RAM 1005, a reading device 1007, a transmission / reception device 1008, and a bus 1009.
  • the input device 1001, the output device 1002, the CPU 1003, the built-in storage 1004, the RAM 1005, the reading device 1007, and the transmission / reception device 1008 are connected by the bus 1009.
  • the input device 1001 is a device that serves as a user interface such as an input button, a touch pad, and a touch panel display, and accepts user operations.
  • the input device 1001 may be configured to accept a user's contact operation, a voice operation, a remote control, or the like.
  • the built-in storage 1004 is a flash memory or the like. Further, in the built-in storage 1004, at least one of a program for realizing the function of the communication monitoring device 1 and an application using the functional configuration of the communication monitoring device 1 may be stored in advance.
  • RAM1005 is a random access memory (RandomAccessMemory), which is used to store data or the like when executing a program or application.
  • RandomAccessMemory Random AccessMemory
  • the reading device 1007 reads information from a recording medium such as a USB (Universal Serial Bus) memory.
  • the reading device 1007 reads the program or application from the recording medium in which the program or application as described above is recorded, and stores the program or application in the built-in storage 1004.
  • the transmission / reception device 1008 is a communication circuit for wirelessly or wired communication.
  • the transmission / reception device 1008 may communicate with, for example, a cloud or a server device connected to a network, download a program or application as described above, and store it in the built-in storage 1004.
  • the CPU 1003 is a central processing unit (Central Processing Unit), copies programs and applications stored in the built-in storage 1004 to RAM 1005, and sequentially reads and executes instructions included in the programs and applications from RAM 1005.
  • Central Processing Unit Central Processing Unit
  • the communication monitoring device 1 includes a connection acquisition unit 11, a communication triplet extraction unit 12, a scoring unit 13, and a storage unit 30.
  • a connection acquisition unit 11 As shown in FIG. 2, the communication monitoring device 1 includes a connection acquisition unit 11, a communication triplet extraction unit 12, a scoring unit 13, and a storage unit 30.
  • a communication triplet extraction unit 12 As shown in FIG. 2, the communication monitoring device 1 includes a connection acquisition unit 11, a communication triplet extraction unit 12, a scoring unit 13, and a storage unit 30.
  • connection acquisition unit 11 As shown in FIG. 2, the communication monitoring device 1 includes a connection acquisition unit 11, a communication triplet extraction unit 12, a scoring unit 13, and a storage unit 30.
  • connection acquisition unit 11 acquires connection information from network communication.
  • the connection acquisition unit 11 acquires connection information from a group of packets to be analyzed in network communication.
  • the connection information is information about a virtual dedicated communication path established between communication devices or software.
  • the connection information is, for example, information indicating from which node (device) to which node (device) and what port is used to establish a connection.
  • connection acquisition unit 11 may use, for example, the technology disclosed in Non-Patent Document 3, and can acquire connection information by acquiring a file called conn.log.
  • the communication triplet extraction unit 12 is a first communication triplet composed of three sets including information indicating a source device, information indicating a destination device, and information indicating a communication type exchanged between devices from network communication. To extract.
  • the communication triplet extraction unit 12 extracts the communication triplet as the first communication triplet from the connection information acquired by the connection acquisition unit 11.
  • 4 and 5 are diagrams showing an example of a communication triplet according to the present embodiment.
  • the communication triplet is observed in the communication of the ICS network to be monitored, and is composed of three sets of the IP address of the server, the TCP / UDP port number, and the IP address of the client, for example, as shown in FIG. Will be done.
  • the communication triplet is not limited to the case of being configured by the example shown in FIG. 4, and may be configured to include an alert type as shown in FIG.
  • the information indicating the source device is the IP address of the server which is the source device
  • the information indicating the destination device is the IP address of the client which is the destination device
  • the information indicating the communication type is TCP / UDP. May include the port number or alert type of.
  • the communication triplet is not limited to the case where it is composed of the combination of the examples shown in FIGS. 4 and 5.
  • Information that identifies the device such as the MAC address or serial number of the device, classification of information exchanged between devices such as the type of communication instruction to be used such as write and read, and a protocol name may be combined and configured.
  • the information indicating the source device may be the MAC address or serial number of the source device
  • the information indicating the destination device may be the MAC address or serial number of the destination device.
  • the information indicating the communication type may include the type of communication instruction or the alert type exchanged between the source device and the destination device.
  • the storage unit 30 is composed of a rewritable non-volatile memory such as a hard disk drive or a solid state drive.
  • the storage unit 30 stores a plurality of second communication triplets in advance as a white list.
  • each of the plurality of second communication triplets is composed of three sets including information indicating the source device, information indicating the destination device, and information indicating the communication type.
  • the storage unit 30 stores the white list 301a and the trained model 302.
  • a plurality of second communication triplets are held in the white list 301a, which is the same as the learning communication triplet 301 shown in FIG. 1 (plural communication triplets).
  • the trained model 302 is the same as the model 302 trained by the learning unit 23 shown in FIG.
  • the storage unit 30 is shown as a separate body from the storage unit 31 and the storage unit 32, but may be configured to include the storage unit 31 and the storage unit 32.
  • the scoring unit 13 performs scoring processing for communications that do not exist in the white list 301a. Specifically, the scoring unit 13 determines whether the extracted first communication triplet corresponds to any of the plurality of second communication triplets stored in the storage unit 30 as a white list. Further, when the first communication triplet does not correspond to any of the plurality of second communication triplets, the scoring unit 13 may use the trained model 302 to make the first communication triplet appear as a communication. Estimate and output as a score.
  • the scoring unit 13 may output a monitoring result indicating that the communication is suspicious communication.
  • the model 302 is composed of, for example, R-GCN (Relational Graph Convolutional Network).
  • the scoring unit 13 determines whether the communication triplet extracted by the communication triplet extraction unit 12 is included in the white list 301a.
  • the scoring unit 13 excludes the extracted communication triplet from the scoring process and skips the scoring process. You may. This is because when the extracted communication triplet is included in the white list 301a, it can be determined that the communication in the extracted communication triplet is normal (not suspicious communication). When the extracted communication triplet is included in the white list 301a, the scoring unit 13 monitors the score indicating that the communication in the extracted communication triplet is normal (not suspicious communication). It may be output as.
  • the scoring unit 13 performs scoring processing on the extracted communication triplet using the trained model 302.
  • the scoring unit 13 outputs the score of the extracted communication triplet, that is, the score estimated by estimating the possibility that the extracted communication triplet appears as a communication.
  • the scoring unit 13 further scores the extracted communication triplet when any of the three sets constituting the extracted communication triplet is first observed, that is, when it is not included in the white list 301a. It may be excluded from the target of ring processing. In this case, the scoring unit 13 may output a score indicating that the communication in the communication triplet is suspicious communication as a monitoring result, or output a notification that the communication in the communication triplet is suspicious communication. You may.
  • the scoring unit 13 inputs each element included in the monitored communication triplet into the trained model 302 to acquire the vector representation of each element of the monitored communication triplet. Then, the scoring unit 13 causes the trained model 302 to estimate the score from the vector representation of the acquired communication triplet to be monitored and output the score.
  • FIG. 6A is an example of the white list 301a according to the present embodiment.
  • FIG. 6B is a diagram showing a multigraph of the white list 301a according to the present embodiment.
  • FIG. 6C is a diagram showing an example of a scoring process result of the communication triplet to be monitored according to the present embodiment.
  • the white list 301a holds four communication triplets each composed of three sets of a source device, a communication type, and a destination device.
  • the trained model 302 has information in which the four communication triplets in the white list 301a are converted into the multigraph shown in FIG. 6B, and each node of the multigraph is mapped to a fixed-dimensional vector representation. is doing. That is, the trained model 302 is shown in FIG. 6B in which the source device and the destination device A, B, C, and D in FIG. 6A are the nodes, and the communication types HTTP, SMB, and MSSQL are the edge types. It has information on the multi-graph structure. Further, the trained model 302 has information in which each node of the multigraph shown in FIG. 6B is mapped to a fixed-dimensional vector representation.
  • the scoring unit 13 adds an edge indicating MSSQL to the node A and the node C of the multigraph shown in FIG. 6B, as shown in FIG. 6C, using the trained model 302. Further, the scoring unit 13 uses the trained model 302 to estimate the possibility that an edge indicating MSSQL connecting the node A and the node C appears as a communication as the score of the communication triplet to be monitored. In the example shown in FIG. 6C, the score of the communication triplet to be monitored is 1.3.
  • the threshold value can be set to zero, for example.
  • the score is 1.3, which is larger than the threshold value, so that the communication in the communication triplet to be monitored is determined to be normal (not suspicious communication).
  • the learning device unit 2 includes a connection acquisition unit 21, a communication triplet extraction unit 22, a learning unit 23, a storage unit 31, and a storage unit 32.
  • connection acquisition unit 21 acquires connection information from network communication.
  • the connection acquisition unit 21 acquires connection information from a group of learning packets in network communication. Since the method for the connection acquisition unit 21 to acquire the connection information is as described in the connection acquisition unit 11, the description here will be omitted.
  • the communication triplet extraction unit 22 acquires a second communication triplet from the communication of the network for a predetermined period.
  • the communication triplet extraction unit 22 extracts a communication triplet from the connection information acquired by the connection acquisition unit 21 and stores it in the storage unit 31 as a learning communication triplet 301.
  • the communication triplet extraction unit 22 does not add the extracted communication triplet to the learning communication triplet 301 when it is stored as the learning communication triplet 301 (when it has already been observed). That is, when the extracted communication triplet is not stored as the learning communication triplet 301 (unobserved), the communication triplet extraction unit 22 adds and stores the extracted communication triplet to the learning communication triplet 301, so that the learning communication triplet is stored. Get 301.
  • the storage unit 31 is composed of, for example, a rewritable non-volatile memory such as a hard disk drive or a solid state drive, and stores the learning communication triplet 301.
  • the learning communication triplet 301 is used as the white list 301a of the scoring unit 13 as described above.
  • the storage unit 32 is composed of a rewritable non-volatile memory such as a hard disk drive or a solid state drive, and stores the model 302. As described above, the model 302 is composed of, for example, R-GCN. The model 302 is learned by the learning unit 23.
  • the learning unit 23 uses the learning communication triplet 301 stored in the storage unit 31 to perform learning processing on the model 302 stored in the storage unit 32. Then, the learning unit 23 updates the model 302 stored in the storage unit 32 to the trained model 302.
  • the learning unit 23 uses the second communication triplet as learning data to cause the model 302 to acquire the vector representation of the second communication triplet, and the network communication for a predetermined period is performed.
  • a learning process is performed to estimate the possibility of appearance as a score.
  • the learning unit 23 uses the information indicating the source device and the information indicating the destination device as the node and the information indicating the communication type as the edge type from the set of three sets constituting the second communication triplet. Build a graph.
  • the learning unit 23 inputs the constructed multigraph to the model 302, and causes the model 302 to map each node of the multigraph to a fixed-dimensional vector representation to acquire the vector representation of the second communication triplet. I do.
  • the second communication triplet used as learning data may include, as the communication type, a feature amount related to network communication for a predetermined period in addition to the communication type.
  • This feature amount may include at least one of the communication amount per unit time and the median communication time interval in the communication of the network for a predetermined period.
  • FIG. 7 is a diagram showing a processing framework of the communication monitoring system 100 according to the present embodiment.
  • the same reference numerals are given to the same elements as those in FIGS. 1 and 2.
  • the processing of the communication monitoring system 100 can be divided into a preparation processing phase, a learning processing phase, and a scoring processing phase.
  • FIG. 8A is a diagram conceptually showing an example of processing in the preparatory processing phase executed by the communication monitoring system 100 according to the present embodiment.
  • the communication monitoring system 100 monitors, for example, the communication of the ICS network, and acquires the connection information from the mirror packet (learning packet group) of the communication of the ICS network.
  • the connection information includes, for example, a server IP (server IP address), a server port number, a protocol, and a client IP (client IP address) at each time of t1 to t4. Has the information to show. If some devices in the ICS network to be monitored are allowed to communicate with the Internet via the gateway, the IP addresses of various devices in the Internet will exist. In this case, the communication monitoring system 100 acquires connection information excluding devices outside the ICS network to be monitored. Further, since the port number of the client is often different depending on the packet, the port number of the client is not included in the connection information in this embodiment.
  • the communication monitoring system 100 extracts four communication triplets from the acquired connection information.
  • Each of the four communication triplets is composed of three sets consisting of a source device, a communication type and a destination device, as shown in FIG. 8A (c).
  • the communication monitoring system 100 stores the four communication triplets shown in FIG. 8A (c) in the storage unit 31 as learning communication triplets 301.
  • FIG. 8B is a diagram conceptually showing an example of processing in the learning processing phase executed by the communication monitoring system 100 according to the present embodiment.
  • the communication monitoring system 100 acquires the learning communication triplet 301 from the storage unit 31, and uses the learning communication triplet 301 to perform learning processing on the model 302.
  • the communication monitoring system 100 acquires the learning communication triplet 301 shown in FIG. 8A (c), and from the acquired learning communication triplet, the multi shown in FIG. 8B (a). Build a graph.
  • the communication monitoring system 100 learns the model 302 as shown in FIG. 8B (b).
  • the communication monitoring system 100 causes the model 302 to learn the structure of the multigraph shown in FIG. 8B (a), and further maps each node of the multigraph to a fixed-dimensional vector representation.
  • learning is performed to acquire the vector expression of the communication triplet 301 for learning.
  • the vector expression is expressed as embeddings.
  • the communication monitoring system 100 maps each node in the multigraph of the learning communication triplet 301 to the vector space as shown in FIG. 8B (c) on the model 302, and is a fixed-dimensional vector. Learn to acquire expressions.
  • a graph autoencoder using R-GCN may be used as the model 302.
  • the graph autoencoder using R-GCN is a model capable of performing link prediction using DistMult disclosed in Non-Patent Document 4 as a scoring function.
  • FIG. 8C is a diagram conceptually showing an example of processing in the scoring processing phase executed by the communication monitoring system 100 according to the present embodiment.
  • the communication monitoring system 100 monitors the communication of the ICS network, for example, and acquires the connection information from the mirror packet (analysis target packet group) of the communication of the ICS network.
  • the communication monitoring system 100 extracts the communication triplet of the analysis target (monitoring target) from the acquired connection information.
  • the two communication triplets to be analyzed are composed of three sets consisting of the source device A, the communication type TCP / 80, and the destination device C or D. ..
  • the communication monitoring system 100 since the two communication triplets to be analyzed shown in FIG. 8C do not exist in the learning communication triplet 301 used as a white list, the communication to be analyzed using the trained model 302 is used. Performs triplet scoring processing.
  • the communication monitoring system 100 causes the trained model 302 to convert the communication triplet to be analyzed into a multigraph and map the two nodes of the multigraph to a fixed-dimensional vector representation. Acquire the vector representation of the communication triplet to be analyzed. Further, the communication monitoring system 100 uses the trained model 302 to perform the communication to be analyzed from the trained vector representation shown in FIG. 8B (c) and the vector representation acquired by the communication triplet to be analyzed. Estimate and output the triplet score. In the example shown in FIG. 8C, the score of the communication triplet to be analyzed is 1.3, where the source device is A, the communication type is TCP / 80 (HTTP), and the destination device is C.
  • the score of the communication triplet to be analyzed in which the source device is A, the communication type is TCP / 80, and the destination device is C is ⁇ 5.3. If any of the scores is equal to or less than the threshold value (for example, 0), it is determined that the communication in the two communication triplets to be analyzed is normal (not suspicious communication).
  • the threshold value for example, 0
  • R-GCN is a network model that extends GCN (Graph Convolutional Networks), which is a network model that convolves a graph structure, and is disclosed in Non-Patent Document 5.
  • GCN Graph Convolutional Networks
  • R-GCN When data with a graph structure is input, R-GCN convolves the graph structure and outputs the feature amount of the data. R-GCN convolves the graph structure by extracting the features for each node of the graph structure and convolving a certain node using itself (the node) and the adjacent node. In each layer of R-GCN, the graph structure is convolved assuming that information propagates (forward propagation) in consideration of the type and direction of the edge.
  • the left side represents the vector of the node i in the (l + 1) layer.
  • the first term on the right-hand side represents the sum of the convolutions of adjacent nodes, and the second term on the right-hand side represents the convolution of itself.
  • N i is a set of neighbor nodes of node i
  • 1 / c i is a normalization constant.
  • is a nonlinear activation function.
  • the graph structure of the multigraph shown in FIG. 6B is taken as an example, and further attention is paid to node B.
  • Equation 1 Since GCN can have only one edge (also referred to as a link) in the graph structure, assuming that the only type of edge of node B shown in FIG. 6B is HTTP, (Equation 1) is the following (Equation 2). ) Can be expressed as.
  • the left side represents the vector of the (l + 1) th layer of the node B shown in FIG. 6B.
  • the first term on the right side indicated by the dotted line enclosure (1) represents the propagation from the link with the node A, and the second term on the right side indicated by the dotted line enclosure (2) represents the propagation of the node B itself called a self-loop. ..
  • the forward propagation for one layer can be expressed by the following (Equation 3).
  • the left side represents the vector of the node i in the (l + 1) layer.
  • the first term on the right-hand side represents the sum of the convolutions of adjacent nodes related to node i
  • the second term on the right-hand side represents the convolution of itself.
  • Ni and p are a set of nodes adjacent to the node i and having a relationship with the node i
  • 1 / ci and p are normalization constants.
  • is a nonlinear activation function.
  • Equation 3 Since R-GCN has a plurality of edges (also referred to as links) of the graph structure, (Equation 3) can be expressed as the following (Equation 4).
  • the left side represents the vector of the node B in the (l + 1) layer.
  • the first term on the right side indicated by the dotted line enclosure (3) represents the propagation from the HTTP link with node A
  • the second term on the right side indicated by the dotted line enclosure (4) is from the MSSQL link with node A. Represents propagation.
  • the third term on the right side shown by the dotted line enclosure (5) represents the propagation of node B itself, which is called a self-loop.
  • the communication triplet showing the communication status of the ICS network is interpreted as a multigraph by using the model 302 configured by R-GCN, and the communication triplet to be monitored that is not included in the white list is a multigraph. Estimate the possibility of appearing as a link of.
  • the communication scoring problem that does not exist in the white list is interpreted as a node for the IP address observed in the ICS network and a communication type such as TCP / UDP between the two IP addresses as an edge. It is regarded as a link prediction problem of the graph. Further, in the present disclosure, the multigraph link prediction problem is interpreted as a task of predicting whether an unobserved communication triplet is a communication triplet that is likely to exist (that is, normal).
  • the presence or absence of a link between two devices is determined by the role of the device.
  • the role of the device is the type of device such as HMI, PLC, RTU, Historian or SIS, or the type of communication thereof.
  • the role of the device can be recursively estimated from the role of one or more adjacent (linked) devices.
  • the role is reflected in the latent spectrum, and the role information of the adjacent device can be propagated.
  • the embedding (vector expression) representing the role of the device can be recursively extracted by using R-GCN, and in this embodiment, the model 302 is configured by R-GCN.
  • the model 302 composed of R-GCN learn the communication triplet observed in the ICS network, it is possible to estimate the abnormality of the communication triplet not observed in the ICS network by the score.
  • FIG. 9 is a flowchart showing an operation outline of the communication monitoring system 100 according to the present embodiment.
  • the communication monitoring system 100 performs a learning communication triplet extraction process (S1).
  • the learning communication triplet extraction process in step S1 corresponds to the process of the preparatory process phase described above.
  • the communication monitoring system 100 performs a learning process (S2).
  • the learning process in step S2 corresponds to the process of the learning process phase described above.
  • the communication monitoring system 100 performs a scoring process (S3).
  • the scoring process in step S3 corresponds to the process of the scoring process phase described above.
  • FIG. 10 is a flowchart showing the details of the learning communication triplet extraction process shown in FIG.
  • the communication monitoring system 100 acquires a learning packet (S11).
  • the communication monitoring system 100 acquires a mirror packet of communication of a network such as an ICS network as a learning packet.
  • the communication monitoring system 100 acquires connection information from the learning packet acquired in step S11 (S12).
  • the communication monitoring system 100 acquires connection information having information indicating a server IP address, a server port number, a protocol, and a client IP address from the learning packet acquired in step S11.
  • the communication monitoring system 100 extracts the communication triplet from the connection information acquired in step S12 (S13).
  • the communication monitoring system 100 extracts a communication triplet composed of three sets consisting of a source device, a communication type, and a destination device from the connection information acquired in step S12.
  • the source device is a server IP address
  • the communication type is a server port number and protocol
  • the destination device is a client IP address.
  • the communication monitoring system 100 determines whether the communication triplet extracted in step S13 has already been observed (S14). In the present embodiment, the communication monitoring system 100 determines whether the communication triplet extracted in step S13 is stored as the learning communication triplet 301.
  • the communication monitoring system 100 stores the extracted communication triplet as a learning communication triplet 301 (S15).
  • the communication monitoring system 100 confirms whether there is an unextracted packet for which the communication triplet has not yet been extracted other than the learning packet acquired in step S11 (S16).
  • step S14 If the extracted communication triplet has already been observed in step S14 (YES in S14), the communication monitoring system 100 proceeds to the process of step S16.
  • step S16 when there is no unextracted packet (NO in S16), the communication monitoring system 100 outputs the accumulated learning communication triplet (S17). On the other hand, if there is an unextracted packet in step S16 (YES in S16), the communication monitoring system 100 returns to step S11 and repeats the process.
  • FIG. 11 is a flowchart showing the details of the learning process shown in FIG.
  • the communication monitoring system 100 acquires a learning communication triplet (S21).
  • the communication monitoring system 100 acquires the learning communication triplet 301 from the storage unit 31.
  • the communication monitoring system 100 constructs a multigraph of the learning communication triplet 301 acquired in step S21 (S22).
  • the communication monitoring system 100 causes the model 302 to learn the multigraph constructed in step S22 (S23).
  • the model 302 is composed of, for example, R-GCN.
  • the communication monitoring system 100 trains the model 302 to learn the structure of the multigraph constructed in step S22, maps each node of the constructed multigraph to a fixed-dimensional vector representation, and creates a vector representation of the learning communication triplet 301. Get it.
  • the model 302 is trained using a graph autoencoder, and the acquisition of vector representations of nodes and edges can be acquired by training the graph autoencoder.
  • the communication monitoring system 100 outputs the vector representation of the learning communication triplet 301 acquired by learning in step S24, that is, the embeddings of each node and the embeddings of each edge (S24).
  • the trained model 302 has a vector representation of the learning communication triplet 301 acquired by learning in step S24, that is, information on the embeddings of each node and the embeddings of each edge.
  • FIG. 12 is a diagram showing an algorithm 1 for executing the learning process shown in FIG.
  • V indicates a set of observed IP addresses.
  • R indicates the set of observed TCP / UDP port numbers.
  • the parameters of the model 302 are optimized by using the cross entropy error as shown in the following (Equation 5) as a loss function.
  • T indicates the total of the real communication triplet and the damaged communication triplet.
  • f (s, p, c) is the score of the communication triplet (s, p, c).
  • l indicates a logistic sigmoid function, and y indicates an indicator.
  • FIG. 13 is a flowchart showing the details of the scoring process shown in FIG. The process shown in FIG. 13 may be performed by the communication monitoring device 1 described above.
  • the communication monitoring system 100 acquires the analysis target packet (S31).
  • the communication monitoring system 100 acquires a mirror packet of network communication such as an ICS network as an analysis target packet.
  • the communication monitoring system 100 acquires connection information from the analysis target packet acquired in step S31 (S32).
  • the communication monitoring system 100 acquires connection information having information indicating a server IP address, a server port number, a protocol, and a client IP address from the analysis target packet acquired in step S31.
  • the communication monitoring system 100 extracts the communication triplet from the connection information acquired in step S32 (S33).
  • the communication monitoring system 100 extracts a communication triplet composed of three sets consisting of a source device, a communication type, and a destination device from the connection information acquired in step S32.
  • the source device is a server IP address
  • the communication type is a server port number and protocol
  • the destination device is a client IP address.
  • the communication monitoring system 100 determines whether or not the communication triplet extracted in step S33 exists in the learning communication triplet 301 (S34).
  • the communication monitoring system 100 uses the learning communication triplet 301 as a white list. That is, the communication monitoring system 100 determines whether or not it exists in the white list extracted in step S33.
  • step S34 when the extracted communication triplet does not exist in the learning communication triplet 301 (NO in S34), is the communication monitoring system 100 the first observation of any one or more of the three sets constituting the extracted communication triplet? It is determined whether or not (S35).
  • the three sets are, for example, a server IP address, a client IP address, and a TCP / UDP port number.
  • the case of the first observation is a case where one or more of the three sets constituting the extracted communication triplet do not exist in the white list.
  • step S35 when any one or more of the three sets constituting the extracted communication triplet is not the first observation (NO in S35), the communication monitoring system 100 performs scoring processing on the extracted communication triplet (S36).
  • the model 302 is composed of, for example, R-GCN. Therefore, the communication monitoring system 100 analyzes the trained model 302 by converting the communication triplet to be analyzed into a multigraph and mapping the two nodes of the multigraph to a fixed-dimensional vector representation. Acquire the vector representation of the target communication triplet. Then, the communication monitoring system 100 estimates and outputs the score of the communication triplet to be analyzed from the learned vector expression and the vector expression acquired by the communication triplet to be analyzed by using the trained model 302. ..
  • the communication monitoring system 100 confirms whether or not there is an unanalyzed packet other than the analysis target packet acquired in step S31 (S37).
  • step S37 If there are no unanalyzed packets in step S37 (NO in S37), the communication monitoring system 100 ends the scoring process. On the other hand, if there is an unanalyzed packet in step S37 (YES in S37), the communication monitoring system 100 returns to step S31 and repeats the process.
  • step S34 If the extracted communication triplet exists in the learning communication triplet 301 in step S34 (YES in S34), the communication monitoring system 100 considers that the communication in the extracted communication triplet is not suspicious communication, and proceeds to step S37.
  • step S35 when any one or more of the three sets constituting the extracted communication triplet is the first observation (YES in S35), the communication monitoring system 100 targets the extracted communication triplet for scoring processing. Exclude from (S38). Then, the communication monitoring system 100 outputs that the communication in the extracted communication triplet is suspicious communication (S39).
  • FIG. 14 is a diagram showing an algorithm 2 for executing the scoring process shown in FIG. Since the variables similar to those in FIG. 12 are shown by the same variables, the description thereof will be omitted.
  • FIG. 14 Indicates the communication triplet to be analyzed.
  • the embeddings of this communication triplet Is. also, Indicates the score of this communication triplet.
  • the communication triplet showing the communication status of the ICS network is interpreted as a multigraph, and the communication triplet to be monitored that is not included in the white list is a multigraph.
  • the model 302 is described as being composed of R-GCN, but the present invention is not limited to this.
  • the model 302 may be COMPGCN (COMPosition-based multi-relational Graph Convolutional Networks) disclosed in Non-Patent Document 6.
  • COMPGCN COMPGCN
  • a set of three sets constituting the first communication triplet is used as a node for information indicating a source device and an information indicating a destination device, and an edge type for information indicating a communication type.
  • the vector representation of the first communication triplet may be obtained from the multigraph.
  • the score may be estimated from the acquired vector representation of the first communication triplet by using the link prediction algorithm.
  • the model 302 may be DistMult or convE (convolutional 2D Knowledge Graph Embeddings) disclosed in Non-Patent Document 7. Further, the model 302 may be TransE (Translating Embeddings for Modeling Multi-relational Data) disclosed in Non-Patent Document 8. Further, the model 302 may be HolE (Holographic Embeddings of Knowledge Graphs) disclosed in Non-Patent Document 9. Further, the model 302 may be ComplEx (Complex Embeddings for Simple Link Prediction) disclosed in Non-Patent Document 10.
  • the trained model 302 is made to acquire the vector representation of the first communication triplet from the set of three sets constituting the first communication triplet, and from the vector representation of the acquired first communication triplet.
  • the score may be estimated using the link prediction algorithm.
  • FIG. 15 is a diagram showing the properties of the data set according to this embodiment.
  • the traffic of the ICS network in the three factories owned by Panasonic was used for the evaluation. Since the production items are different for each factory, the installation equipment, communication protocol, and network configuration are different for each factory.
  • Packets from the ICS network at the three factories were independently collected for two weeks each using the mirror port of the L2 switch.
  • protocols such as Modbus and Ethernet / IP, but also protocols such as NetBIOS, DNS, HTTP, HTTPS, FTP, SMB, RDP, SSH and MSSQL were observed. Therefore, only unicast communication excluding multicast and broadcast communication was targeted for learning processing and scoring processing.
  • the number of IP addresses, TCP / UDP port numbers, and learning communication triplets shown in FIG. 15 count the number of appearances in the communication of the ICS network of each of the three factories A, B, and C during a specific week. Obtained by The test communication triplet was obtained in the week after the specific week above. The communication triplet included in the learning communication triplet was excluded from the test communication triplet. Communication triplets with unobserved IP addresses or TCP / UDP port numbers were also excluded from the test communication triplets.
  • DistMult has the same configuration as R-GCN, which does not have a convolutional layer with a graph structure.
  • GCN SCOPE Proposed
  • GCN SCOPE GCN SCOPE
  • comparative examples evaluation of link prediction that predicts the existence of communication triplets for testing, and how well it is possible to distinguish (recognize) normal communication triplets and abnormal communication triplets. Evaluation was performed.
  • the hyperparameter search was performed by dividing the data set of factory A into training data and verification data, and using the verification data, using the average reciprocal rank and Bayesian optimization.
  • the hyperparameters of GCN SCOPE were determined as follows. That is, the dropout rate was determined to be 0.2, the number of hidden layer units was determined to be 100, the L2 regularization weight was determined to be 0.0, the learning rate was determined to be 0.01, and the negative sampling rate was determined to be 10.
  • the hyperparameters of the model composed of DistMult were determined as follows. That is, the number of hidden layer units was determined to be 50, the L2 regularization weight was determined to be 0.01, the learning rate was determined to be 0.02, and the negative sampling rate was determined to be 10.
  • FIG. 16 is a diagram showing the evaluation result of the link prediction predicted by using the communication triplet for the test according to this embodiment.
  • a model composed of GCN SCOPE and Dist Mult was trained using the training communication triplet of each data set of each of the three factories shown in FIG. 15, and the score of the communication triplet for the test was output. Then, the output score was evaluated using the average reciprocal rank (MRR) as shown by the following (Equation 6) and the ratio of the entities ranked within the top n. The result is shown in FIG. Note that rank i in (Equation 6) indicates the rank position of the correct answer of the i-th query.
  • GCN SCOPE exceeds the comparative example including the model composed of DistMult in almost all cases. From this, it can be seen that GCN SCOPE can show high performance in the link prediction of the communication triplet of the ICS network.
  • FIG. 17 is a diagram showing an evaluation of the ability to discriminate between abnormal links and normal links based on the score output using the test communication triplet according to this embodiment.
  • ROC-AUC is used to quantify the evaluation of discriminating ability.
  • ROC is an abbreviation for Receiver Operating Characteristic
  • AUC is an abbreviation for Area under the curve
  • ROC-AUC indicates the area under the ROC curve.
  • AUC takes a value from 0 to 1, and the closer the value is to 1, the higher the discrimination ability.
  • test communication triplet was used as a negative sample
  • random communication triplet was used as a positive sample.
  • the random communication triplet was generated by randomly and uniformly selecting two different IP addresses and TCP / UDP port numbers from the elements constituting the learning communication triplet.
  • the discrimination ability was evaluated based on the score output from the communication triplet for the test to the model composed of GCN SCOPE and Dist Mult.
  • the ability to discriminate between abnormal links and normal links based on the score was evaluated by thresholding the output score.
  • GCN SCOPE achieves an average ROC-AUC of 0.957 and shows superior discrimination ability over DistMult, first-order proximity priority method and second-order proximity priority method. From this, it can be seen that GCN SCOPE can distinguish between a normal communication triplet and an abnormal communication triplet with high accuracy.
  • GCN SCOPE can accurately handle the possibility of appearance of communication triplets that are not in the white list as link prediction of multigraph, and can accurately estimate the score of communication triplets that are not in the white list. Recognize.
  • GCN SCOPE can narrow down the important communication triplets that should be analyzed from the viewpoint of security by quantifying the possibility of appearance of communication triplets that are not on the white list by the score, so that false positives for network communication can be performed. It can be seen that can be suppressed.
  • the second communication triplet obtained from the network communication for a predetermined period contains an insecure one.
  • the second communication triplet acquired from the communication of the network for a predetermined period is used as the learning communication triplet 301, and one of the links when the multigraph is constructed as shown in (a) of FIG. 8B, for example.
  • the above may be an abnormal link. For example, if one or more links when a multigraph is constructed during learning are links generated by, for example, a setting error or malware, the one or more links are abnormal links rather than safe links.
  • FIG. 18 is a block diagram showing an example of the configuration of the learning device unit 2A according to the present modification.
  • the same elements as in FIG. 1 are designated by the same reference numerals, and detailed description thereof will be omitted.
  • the learning device unit 2A includes a connection acquisition unit 21, a communication triplet extraction unit 22A, a learning unit 23A, a storage unit 31, a storage unit 32, and an abnormality degree confirmation unit 33A.
  • the learning device unit 2A shown in FIG. 18 has a point that the configuration of the abnormality degree confirmation unit 33A is added to the learning device unit 2 shown in FIG. 1, and the configuration of the communication triplet extraction unit 22A and the learning unit 23A. different.
  • the communication triplet extraction unit 22A acquires a third communication triplet from the communication of the network for a predetermined period.
  • each of the plurality of third communication triplets is composed of three sets including information indicating the source device, information indicating the destination device, and information indicating the communication type.
  • the communication triplet extraction unit 22A extracts the communication triplet as the third communication triplet from the connection information acquired by the connection acquisition unit 21, and stores it in the storage unit 31 as the learning communication triplet 301. ..
  • the communication triplet extraction unit 22A is added to the learning communication triplet 301 when the extracted communication triplet is stored as the learning communication triplet 301 (when it has already been observed). do not do.
  • the abnormality degree confirmation unit 33A simply presents or outputs a score indicating the abnormality degree estimated using the trained model 302 on the display screen, and stores it in the storage unit 31.
  • the learning communication triplet 301 may not be updated.
  • the communication triplet extraction unit 22A may operate in the same manner as the communication triplet extraction unit 22. That is, the communication triplet extraction unit 22A may acquire the extracted communication triplet as the second communication triplet from the communication of the network for a predetermined period.
  • the learning unit 23A uses the learning communication triplet 301 stored in the storage unit 31 to perform learning processing on the model 302 stored in the storage unit 32. Then, the learning unit 23A updates the model 302 stored in the storage unit 32 to the trained model 302.
  • the learning unit 23A uses the third communication triplet as learning data, causes the model 302 to acquire the vector representation of the third communication triplet, and the network communication for a predetermined period appears. Performs a learning process that estimates the possibility of doing so as a score.
  • the learning unit 23A relearns the communication triplet obtained by removing one or more third communication triplets from the plurality of third communication triplets based on the score indicating the abnormality degree estimated by the abnormality degree confirmation unit 33A. It may be used for.
  • the learning unit 23A causes the model 302 to acquire the vector representation of the third communication triplet included in the re-learning data by using the re-learning data, and the network communication for a predetermined period appears.
  • a re-learning process may be performed to estimate the possibility of doing so as a score.
  • the learning unit 23A inputs information indicating the source device and information indicating the destination device from the set of three sets constituting the third communication triplet, and the communication type.
  • a multigraph may be constructed using the information indicating the above as the type of edge. Then, by inputting the constructed multigraph into the model 302, the learning unit 23A maps each node of the multigraph to the fixed-dimensional vector representation in the model 302, and acquires the vector representation of the third communication triplet. You just have to learn to make it.
  • the abnormality degree confirmation unit 33A simply presents or outputs a score indicating the abnormality degree estimated using the trained model 302 on the display screen, and stores it in the storage unit 31.
  • the learning communication triplet 301 may not be updated.
  • the learning unit 23A may perform the same operation as the learning unit 23. That is, the learning unit 23A may use the second communication triplet as learning data to cause the model 302 to acquire the vector representation of the second communication triplet, and the network communication for a predetermined period may appear. May be performed as a learning process to estimate.
  • the second communication triplet used as the learning data or the third communication triplet used as the learning data or the re-learning data has a communication type of the network for a predetermined period in addition to the communication type. It may include a feature amount related to communication. This feature amount may include at least one of the communication amount per unit time and the median communication time interval in the communication of the network for a predetermined period.
  • the learning unit 23A can improve the accuracy of the vector expression acquired by the model 302, and can improve the accuracy of the score estimated by the trained model 302.
  • the anomaly degree confirmation unit 33A uses the trained model 302, the anomaly degree confirmation unit 33A estimates and outputs the possibility that each of the plurality of third communication triplets appears as network communication for a predetermined period as a score indicating the anomaly degree. ..
  • the abnormality degree confirmation unit 33A uses the trained model 302 stored in the storage unit 32. , The learning communication triplet 301 is subjected to the scoring process as described above.
  • FIG. 19 is a diagram showing a link when a multigraph is constructed during learning according to this modified example, and a score indicating an estimated degree of abnormality.
  • the anomaly degree confirmation unit 33A causes the trained model 302 to convert the learning communication triplet 301 into a multigraph, and maps the two nodes of the multigraph to a fixed-dimensional vector representation. Acquire the vector representation of the learning communication triplet 301. Further, the abnormality degree confirmation unit 33A learns from the trained vector expression as shown in FIG. 8B (c) and the vector expression acquired by the learning communication triplet 301 by using the trained model 302. The score of the communication triplet 301 for communication is estimated as a score indicating the degree of abnormality.
  • FIG. 19 shows an example of a score indicating the degree of abnormality for each link when a multigraph is constructed during learning.
  • a link with an anomaly degree (score indicating) of 80 may be an anomalous link.
  • this threshold value may be set lower than the threshold value set in the scoring process according to the above embodiment, but may be the same.
  • the abnormality degree confirmation unit 33A may output a score indicating the degree of abnormality for the link when the multigraph is constructed at the time of learning and present it on a display screen such as a display.
  • the user of the learning device unit 2A can confirm whether each of the links when the multigraph is constructed at the time of learning is normal or abnormal.
  • the user of the learning device unit 2A selects the communication triplet obtained by removing one or more third communication triplets from the plurality of third communication triplets based on the score indicating the degree of abnormality in the white list 301a (plural second communication triplets). It can be stored in the storage unit 30 as a communication triplet).
  • the user of the learning device unit 2A excludes unsafe communication triplets from a plurality of third communication triplets acquired from network communication during a predetermined period, which is a learning period, using a score indicating the degree of abnormality.
  • the abnormality degree confirmation unit 33A When the user of the learning device unit 2A reviews the white list 301a, the abnormality degree confirmation unit 33A only presents or outputs a score indicating the abnormality degree estimated using the trained model 302 on the display screen. good. That is, the abnormality degree confirmation unit 33A may not update the learning communication triplet 301 stored in the storage unit 31. In this case, the abnormality degree confirmation unit 33A uses the trained model 302 to determine the possibility that each of the second communication triplets acquired from the network communication during the predetermined period, which is the learning period, appears as the network communication during the predetermined period. It may be estimated and output as a score indicating the degree of abnormality by using it.
  • the review (update) of the white list 301a is not limited to the case where it is performed by the user of the learning device unit 2A, and may be performed by the abnormality degree confirmation unit 33A. That is, the abnormality degree confirmation unit 33A removes one or more third communication triplets from the acquired plurality of third communication triplets based on the score indicating the abnormality degree, and whitelists 301a (plurality of second communication triplets). It may be stored in the storage unit 30 as a communication triplet).
  • the abnormality degree confirmation unit 33A may update the learning communication triplet 301. That is, the abnormality degree confirmation unit 33A removes one or more third communication triplets based on the score indicating the abnormality degree from the plurality of third communication triplets acquired from the network communication during the predetermined period of learning period.
  • the learning communication triplet 301 may be updated to the triplet.
  • the learning unit 23A may relearn the model 302 by using the updated communication triplet 301 for learning. As a result, since the communication monitoring device 1 can use the relearned model 302, it is possible to suppress the possibility of missing an abnormal communication triplet during the scoring process.
  • FIG. 20 is a flowchart showing an operation outline of the communication monitoring system 100 including the learning device unit 2A according to this modification.
  • the communication monitoring system 100 including the learning device unit 2A in this modification performs a learning communication triplet extraction process (S101).
  • the communication monitoring system 100 extracts a communication triplet from the communication of the network during a predetermined period, which is a learning period, and stores it in the storage unit 31 as a learning communication triplet 301.
  • the communication monitoring system 100 performs a learning process (S102).
  • the communication monitoring system 100 uses the learning communication triplet 301 extracted and stored in the storage unit 31 as learning data to perform learning processing of the model 302.
  • the communication monitoring system 100 performs an abnormality degree confirmation process (S103).
  • the details of the abnormality degree confirmation process in step S103 will be described later.
  • the communication monitoring system 100 determines whether to relearn (S104).
  • step S104 if the learning communication triplet 301 is updated, the communication monitoring system 100 determines that it will be relearned (Yes in S104), and returns to step S102. Then, in step S102, the communication monitoring system 100 uses the updated learning communication triplet 301 as re-learning data to perform learning processing (re-learning processing) of the model 302.
  • step S104 if the learning communication triplet 301 is not updated, the communication monitoring system 100 determines that relearning is not performed (No in S104), and proceeds to step S105.
  • step S105 the communication monitoring system 100 performs scoring processing (S105). Since the scoring process of step S105 is the same as the scoring process of step S3 in FIG. 9 described above, the description thereof is omitted here.
  • FIG. 21 is a flowchart showing a detailed example of the abnormality degree confirmation process shown in FIG. FIG. 21 shows a case where, as the abnormality degree confirmation process, only the score indicating the estimated abnormality degree is presented or output to the learning communication triplet 301.
  • the learning device unit 2A included in the communication monitoring system 100 acquires the learning communication triplet 301 stored in the storage unit 31 (S1031).
  • the learning device unit 2A acquires a learning communication triplet 301 composed of a plurality of second communication triplets, which are extracted communication triplets, from the communication of the network for a predetermined period, which is the learning period.
  • the learning device unit 2A estimates a score indicating the degree of abnormality for the learning communication triplet 301 acquired in step S1031 (S1032).
  • the learning device unit 2A estimates, using the trained model 302, the possibility that each of the plurality of second communication triplets appears as network communication for the predetermined period as a score indicating the degree of abnormality. do.
  • the learning device unit 2A presents the degree of abnormality (score indicating) estimated in step S1032 (S1033).
  • the learning device unit 2A presents the degree of abnormality (score indicating) estimated in step S1032 by displaying it on, for example, a display or the like.
  • FIG. 22 is a flowchart showing another detailed example of the abnormality degree confirmation process shown in FIG. 20.
  • FIG. 22 shows a case where the abnormality degree confirmation process includes a process of updating the white list 301a based on a score indicating an abnormality degree estimated for the learning communication triplet 301.
  • the learning device unit 2A included in the communication monitoring system 100 acquires the learning communication triplet 301 stored in the storage unit 31 (S1041).
  • the learning device unit 2A acquires a learning communication triplet 301 composed of a plurality of third communication triplets, which are extracted communication triplets, from the communication of the network for a predetermined period, which is the learning period.
  • the learning device unit 2A estimates a score indicating the degree of abnormality for the learning communication triplet 301 acquired in step S1041 (S1042).
  • the learning device unit 2A uses the trained model 302 to set the possibility that each of the plurality of third communication triplets appears as the communication of the network for the predetermined period as a score indicating the degree of abnormality. presume.
  • the learning device unit 2A updates the white list 301a based on the degree of abnormality (score indicating) estimated in step S1042 (S1043).
  • the learning device unit 2A excludes one or more third communication triplets from the plurality of third communication triplets acquired in step S1041 based on the degree of abnormality (score indicating) estimated in step S1042.
  • the learning device unit 2A stores the communication triplets obtained by removing the one or more third communication triplets from the acquired plurality of third communication triplets as the white list 301a (plural second communication triplets).
  • the learning device unit 2A updates the white list 301a.
  • the learning device unit 2A determines whether or not to perform the relearning process (S1044), and if it is determined to perform the relearning process (Yes in S1044), updates the learning communication triplet 301 (S1045). ). On the other hand, if it is determined in step S1044 that the re-learning process is not performed (No in S1044), the learning device unit 2A ends the process.
  • the learning device unit 2A is made to estimate a score indicating the degree of abnormality of the already observed link, that is, the link when the multigraph is constructed at the time of learning. Thereby, the user of the learning device unit 2A or the learning device unit 2A can confirm whether the links are normal or abnormal based on the score indicating the estimated abnormality degree.
  • the white list 301a can be reviewed and updated to a safer white list 301a based on the score indicating the estimated degree of abnormality.
  • the abnormal third communication triplet is excluded from the plurality of third communication triplets acquired from the network communication for a predetermined period as the learning period, using the score indicating the estimated anomaly degree.
  • the communication triplet can be stored as a white list 301a.
  • the score indicating the estimated degree of anomaly is used to update the learning communication triplet 301 composed of a safer communication triplet excluding the communication triplet presumed to be unsafe (abnormal). be able to.
  • the learning device unit 2A can be made to relearn the model 302 by using the updated learning communication triplet 301. That is, the model 302 is relearned by using the learning communication triplet 301 updated to the one obtained by removing the abnormal communication triplet from the plurality of communication triplets acquired from the network communication for a predetermined period as the learning period as the re-learning data. Can be made to.
  • the communication monitoring device 1 can suppress the possibility of missing an abnormal communication triplet during the scoring process by using the relearned model 302.
  • Part or all of the components constituting the above communication monitoring system may be specifically a computer system composed of a microprocessor, ROM, RAM, hard disk unit, display unit, keyboard, mouse and the like. ..
  • a computer program is stored in the RAM or the hard disk unit.
  • the microprocessor operates according to the computer program, each device achieves its function.
  • a computer program is configured by combining a plurality of instruction codes indicating commands to a computer in order to achieve a predetermined function.
  • a part or all of the components constituting the above communication monitoring system may be composed of one system LSI (Large Scale Integration).
  • a system LSI is a super-multifunctional LSI manufactured by integrating a plurality of components on one chip, and specifically, is a computer system including a microprocessor, ROM, RAM, and the like. ..
  • a computer program is stored in the RAM. When the microprocessor operates according to the computer program, the system LSI achieves its function.
  • Some or all of the components constituting the above communication monitoring system may be composed of an IC card or a single module that can be attached to and detached from each device.
  • the IC card or the module is a computer system composed of a microprocessor, ROM, RAM and the like.
  • the IC card or the module may include the above-mentioned super multifunctional LSI.
  • the microprocessor operates according to a computer program, the IC card or the module achieves its function. This IC card or this module may have tamper resistance.
  • This disclosure can be used for communication monitoring methods and communication monitoring systems, and in particular, for communication monitoring methods and communication monitoring systems for taking ICS security measures without imposing a large analytical load on security observers. can.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

ネットワークの通信から、送信元デバイスを示す情報、宛先デバイスを示す情報、及びデバイス間でやりとりする通信種別を示す情報からなる3つの組で構成される第1の通信トリプレットを抽出するステップ(S33)と、抽出された第1の通信トリプレットが、予めホワイトリストとして記憶部に記憶された複数の第2の通信トリプレットであって送信元デバイスを示す情報、宛先デバイスを示す情報及び通信種別を示す情報からなる3つの組でそれぞれ構成される複数の第2の通信トリプレットのいずれかに該当するか判定するステップ(S34)と、第1の通信トリプレットが複数の第2の通信トリプレットのいずれにも該当しない場合、学習済のモデルを用いて第1の通信トリプレットが当該通信として出現する可能性をスコアとして推定するステップ(S36)とを含む。

Description

通信監視方法、及び、通信監視システム
 本開示は、通信監視方法、及び、通信監視システムに関する。
 電力設備及び水処理設備などの重要インフラを、管理し制御するための産業用制御システム(ICS:Industrial Control System)がある。
 近年まで、ICSは、企業のITシステムネットワークまたはインターネットと分離されていたため、マルウェアまたはサイバー攻撃に対して安全であった。
 しかしながら、近年、重要インフラをリモート監視したり、リモート操作したりすること、及び、重要インフラから収集できるビッグデータを管理することへの要求が高まっている。このため、ICSにIoT(Internet of Things)が導入されて、ICSがITシステムネットワークまたはインターネットに接続されること、すなわちICSネットワークを構成することが増加している。この結果、ICSネットワークにマルウェアが感染したり、サイバー攻撃がなされたりする事例が増加傾向にある。
 一方、ICSネットワーク内にあるデバイスにセキュリティ製品を導入することは困難であるため、ICSではネットワークベースのセキュリティ対策が主流である。ICSでは、ネットワークベースのセキュリティ対策の中でも、特にホワイトリストを用いた異常検知方法が有効とされているため、利用されることが多い(例えば非特許文献1及び非特許文献2参照)。例えば、ホワイトリストは、サーバのIPアドレス、TCP/UDPポート番号、及びクライアントのIPアドレスなどの3つの組(以下、通信トリプレットと称する)で構成される。そして、ホワイトリストにない通信トリプレットが観察されたときにアラートが発せられることで、ICSのセキュリティ対策を行うことができる。
R. R. R. Barbosa, R. Sadre, and A. Pras, "Flow whitelisting in SCADA networks," International Journal of Critical Infrastructure Protection (IJCIP), vol. 6, no. 3-4, 2013. K. Stouffer, J. Falco, and K. Scarfone, "Guide to industrial control systems ICS security," NIST special publication, vol. 800, no. 82, 2011. Paxson, V., Campbell, S., & Lee, J. (2006). Bro intrusion detection system (No. Bro; 001905IBMPC00). Lawrence Berkeley National Laboratory. B. Yang,W. Yih, X. He, J. Gao, and L. Deng, "Embedding entities and relations for learning and inference in knowledge bases," in Proc. of International Conference on Learning Representations (ICLR), 2015. M. S. Schlichtkrull, T. N. Kipf, P. Bloem, R. van den Berg, I. Titov,and M. Welling, "Modeling relational data with graph convolutional networks," in Proc. of Extended Semantic Web Conference (ESWC), 2018. Shikhar Vashishth, Soumya Sanyal, Vikram Nitin, Partha Talukdar, "Composition-based Multi-Relational Graph Convolutional Networks" ICLR 2020 Conference Blind Submission. T. Dettmers, P. Minervini, P. Stenetorp, and S. Riedel, "Convolutional 2d knowledge graph embeddings," in Proc. of Association for the Advancement of Artificial Intelligence (AAAI), 2018. A. Bordes, N. Usunier, A. Garc´ia-Dur´an, J. Weston, and O. Yakhnenko, "Translating embeddings for modeling multi-relational data," in Proc. of Conference and Workshop on Neural Information Processing Systems (NIPS), 2013. Nickel, Maximilian, Rosasco, Lorenzo, and Poggio,Tomaso A. Holographic embeddings of knowledge graphs. In Proceedings of the Thirtieth AAAI Conference on Artificial Intelligence, pp. 1955-1961, 2016b. Theo Trouillon, Johannes Welbl, Sebastian Riedel, Eric Gaussier, Guillaume Bouchard, "Complex Embeddings for Simple Link Prediction" ICML'16: Proceedings of the 33rd International Conference on International Conference on Machine Learning - Volume 48June 2016 Pages 2071-2080.
 非特許文献1及び非特許文献2に開示される異常検知方法は、正常な通信トリプレットをホワイトリストとして保持し、ホワイトリストにない通信トリプレットを異常な通信トリプレットとして検出するという方法であるものの、誤検知が多いという問題がある。セキュリティ監視者は、検出されアラートが発せられた異常な通信トリプレットが、ICSネットワークにマルウェアが感染したり、サイバー攻撃がなされたり等のセキュリティ上重要なアラートであるかを分析する必要がある。このため、セキュリティ監視者は、誤った多くのアラートに対処することを余儀なくされることになる。換言すると、非特許文献1及び非特許文献2に開示される異常検知方法は、ICSネットワークのセキュリティ監視者に、大きな分析負荷をかけるので、実用的な運用を行うことが難しい。
 本開示は、上述の事情を鑑みてなされたもので、ネットワークの通信に対する誤検知を抑制できる通信監視方法、及び、通信監視システムを提供することを目的とする。
 上記課題を解決するために、本開示の一態様に係る通信監視方法は、ネットワークの通信を監視する通信監視方法であって、前記通信から、送信元デバイスを示す情報、宛先デバイスを示す情報、及びデバイス間でやりとりする通信種別を示す情報からなる3つの組で構成される第1の通信トリプレットを抽出するステップと、抽出された前記第1の通信トリプレットが、ホワイトリストとして記憶部に予め記憶された複数の第2の通信トリプレットであって送信元デバイスを示す情報、宛先デバイスを示す情報及び通信種別を示す情報からなる3つの組でそれぞれ構成される複数の第2の通信トリプレットのいずれかに該当するか判定するステップと、前記第1の通信トリプレットが前記複数の第2の通信トリプレットのいずれにも該当しない場合、学習済のモデルを用いて前記第1の通信トリプレットが前記通信として出現する可能性をスコアとして推定して出力するステップとを含む。
 なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータで読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
 本開示によれば、ネットワークの通信に対する誤検知を抑制できる通信監視方法等を実現できる。
図1は、実施の形態に係る通信監視システムの構成の一例を示すブロック図である。 図2は、実施の形態に係る通信監視装置の構成の一例を示すブロック図である。 図3は、実施の形態に係る通信監視装置の機能をソフトウェアにより実現するコンピュータのハードウェア構成の一例を示す図である。 図4は、実施の形態に係る通信トリプレットの一例を示す図である。 図5は、実施の形態に係る通信トリプレットの一例を示す図である。 図6Aは、実施の形態に係るホワイトリストの一例である。 図6Bは、実施の形態に係るホワイトリストのマルチグラフを示す図である。 図6Cは、実施の形態に係る監視対象の通信トリプレットのスコアリング処理結果の一例を示す図である。 図7は、実施の形態に係る通信監視システムの処理のフレームワークを示す図である。 図8Aは、実施の形態に係る通信監視システムが実行する準備処理フェーズにおける処理の一例を概念的に示す図である。 図8Bは、実施の形態に係る通信監視システムが実行する学習処理フェーズにおける処理の一例を概念的に示す図である。 図8Cは、実施の形態に係る通信監視システムが実行するスコアリング処理フェーズにおける処理の一例を概念的に示す図である。 図9は、実施の形態における通信監視システムの動作概要を示すフローチャートである。 図10は、図9に示す学習用通信トリプレット抽出処理の詳細を示すフローチャートである。 図11は、図9に示す学習処理の詳細を示すフローチャートである。 図12は、図11に示す学習処理を実行するためのアルゴリズム1を示す図である。 図13は、図9に示すスコアリング処理の詳細を示すフローチャートである。 図14は、図13に示すスコアリング処理を実行するためのアルゴリズム2を示す図である。 図15は、実施例に係るデータセットの性質を示す図である。 図16は、実施例に係るテスト用の通信トリプレットを用いて予測されたリンク予測の評価結果を示す図である。 図17は、実施例に係るテスト用の通信トリプレットを用いて出力されたスコアに基づくリンク区別能力の評価を示す図である。 図18は、変形例に係る学習装置部の構成の一例を示すブロック図である。 図19は、変形例に係る学習時にマルチグラフを構築したときのリンクと、推定された異常度を示すスコアとを示す図である。 図20は、変形例に係る学習装置部を含む通信監視システムの動作概要を示すフローチャートである。 図21は、図20に示す異常度確認処理の詳細例を示すフローチャートである。 図22は、図20に示す異常度確認処理の他の詳細例を示すフローチャートである。
 本開示の一形態に係る通信監視方法は、ネットワークの通信を監視する通信監視方法であって、前記通信から、送信元デバイスを示す情報、宛先デバイスを示す情報、及びデバイス間でやりとりする通信種別を示す情報からなる3つの組で構成される第1の通信トリプレットを抽出するステップと、抽出された前記第1の通信トリプレットが、ホワイトリストとして記憶部に予め記憶された複数の第2の通信トリプレットであって送信元デバイスを示す情報、宛先デバイスを示す情報及び通信種別を示す情報からなる3つの組でそれぞれ構成される複数の第2の通信トリプレットのいずれかに該当するか判定するステップと、前記第1の通信トリプレットが前記複数の第2の通信トリプレットのいずれにも該当しない場合、学習済のモデルを用いて前記第1の通信トリプレットが前記通信として出現する可能性をスコアとして推定して出力するステップとを含む。
 これによれば、ホワイトリストにない通信トリプレットの出現可能性をスコアにより定量化することで、セキュリティの観点から分析すべき重要な通信トリプレットを絞ることができる。よって、ネットワークの通信に対する誤検知を抑制できる。
 また、例えば、出力するステップでは、前記スコアが閾値以下である場合、前記通信が疑わしい通信である旨を示す監視結果を出力してもよい。
 これにより、ネットワークの通信に対する誤検知を抑制できる。
 また、例えば、前記スコアを推定する際、前記学習済のモデルに、前記第1の通信トリプレットを構成する3つの組の集合を、前記送信元デバイスを示す情報及び前記宛先デバイスを示す情報をノード、前記通信種別を示す情報をエッジの種類とするマルチグラフに変換させ、かつ、前記マルチグラフの各ノードを固定次元のベクトル表現にマッピングさせることで、前記第1の通信トリプレットの各要素のベクトル表現を獲得させ、獲得させた前記第1の通信トリプレットのベクトル表現から、前記スコアを推定させてもよい。
 これにより、ホワイトリストにない通信トリプレットのスコア推定を、精度よく行うことができる。
 ここで、例えば、前記モデルは、R-GCN(Relational Graph Convolutional Network)で構成されてもよい。
 また、例えば、前記スコアを推定する際、前記学習済のモデルに、前記第1の通信トリプレットを構成する3つの組の集合を、前記送信元デバイスを示す情報及び前記宛先デバイスを示す情報をノード、前記通信種別を示す情報をエッジの種類とするマルチグラフに変換させ、前記マルチグラフから、前記第1の通信トリプレットのベクトル表現を獲得させ、獲得させた前記第1の通信トリプレットのベクトル表現から、リンク予測アルゴリズムを用いて、前記スコアを推定させてもよい。
 これにより、ホワイトリストにない通信トリプレットのスコア推定を、精度よく行うことができる。
 ここで、例えば、前記モデルは、COMPGCN(COMPosition-based multi-relational Graph Convolutional Networks)で構成されてもよい。
 また、例えば、前記スコアを推定する際、前記学習済のモデルに、前記第1の通信トリプレットを構成する3つの組の集合から、前記第1の通信トリプレットのベクトル表現を獲得させ、獲得させた前記第1の通信トリプレットのベクトル表現から、リンク予測アルゴリズムを用いて、前記スコアを推定させてもよい。
 これにより、ホワイトリストにない通信トリプレットのスコア推定を、精度よく行うことができる。
 ここで、例えば、前記モデルは、DistMult、convE(convolutional 2D Knowledge Graph Embeddings)、TransE(Translating Embeddings for Modeling Multi-relational Data)、HolE(Holographic Embeddings of Knowledge Graphs)、及び、ComplEx(Complex Embeddings for Simple Link Prediction)のいずれかで構成されてもよい。
 また、例えば、前記送信元デバイスを示す情報は、送信元デバイスであるサーバのIPアドレスであり、前記宛先デバイスを示す情報は、宛先デバイスであるクライアントのIPアドレスであり、前記通信種別を示す情報は、TCP/UDPのポート番号またはアラート種別を含むとしてもよい。
 これにより、ホワイトリストにない通信トリプレットの出現可能性を、マルチグラフのリンク予測問題として取り扱うことができるので、ホワイトリストにない通信トリプレットのスコアを推定することができる。
 また、例えば、前記送信元デバイスを示す情報は、送信元デバイスのMACアドレスまたはシリアル番号であり、前記宛先デバイスを示す情報は、宛先デバイスのMACアドレスまたはシリアル番号であり、前記通信種別を示す情報は、送信元デバイス及び宛先デバイスの間でやりとりする通信命令の種別またはアラート種別を含むとしてもよい。
 これにより、ホワイトリストにない通信トリプレットの出現可能性を、マルチグラフのリンク予測問題として取り扱うことができるので、ホワイトリストにない通信トリプレットのスコアを推定することができる。
 また、例えば、前記通信監視方法は、前記抽出するステップの前において、さらに、所定期間のネットワークの通信から、前記第2の通信トリプレットを取得するステップと、取得した前記第2の通信トリプレットを、学習用データとして用いて、前記モデルに、前記第2の通信トリプレットのベクトル表現を獲得させ、かつ、前記所定期間のネットワークの通信が出現する可能性をスコアとして推定させる学習処理を行うステップとを含むとしてもよい。
 また、例えば、前記通信監視方法は、前記抽出するステップの前において、さらに、所定期間のネットワークの通信から、前記第2の通信トリプレットを取得するステップと、取得した前記第2の通信トリプレットを、学習用データとして用いて、前記モデルに、前記第2の通信トリプレットのベクトル表現を獲得させ、かつ、前記所定期間のネットワークの通信が出現する可能性をスコアとして推定させる学習処理を行うステップと、学習済の前記モデルを用いて取得した前記第2の通信トリプレットのそれぞれが前記通信として出現する可能性を、異常度を示すスコアとして推定して出力するステップとを含むとしてもよい。
 これにより、第2の通信トリプレットそれぞれに対する異常度を示すスコアを確認できるので、学習期間としての所定期間のネットワークの通信から取得し、学習用データとして用いた第2の通信トリプレットに異常なものが含まれていないかを確認できる。
 また、例えば、前記モデルに、前記第2の通信トリプレットのベクトル表現を獲得させる学習処理では、前記第2の通信トリプレットを構成する3つの組の集合から、前記送信元デバイスを示す情報及び前記宛先デバイスを示す情報をノード、前記通信種別を示す情報をエッジの種類としてマルチグラフを構築し、構築した前記マルチグラフを前記モデルに入力し、前記モデルに前記マルチグラフの各ノードを固定次元のベクトル表現にマッピングさせ、前記第2の通信トリプレットのベクトル表現を獲得させる学習を行ってもよい。
 また、例えば、前記学習用データとして用いられる前記第2の通信トリプレットには、前記通信種別として、当該通信種別に加えて前記所定期間のネットワークの通信に関する特徴量を含めてもよい。
 これにより、モデルが獲得するベクトル表現の精度を向上させることができ、学習済のモデルが推定するスコアの精度を向上させることができる。
 ここで、例えば、前記特徴量は、前記所定期間のネットワークの通信における単位時間あたり通信量及び通信時間間隔の中央値の少なくとも一方を含む。
 また、例えば、前記通信監視方法は、前記抽出するステップの前において、さらに、所定期間のネットワークの通信から、送信元デバイスを示す情報、宛先デバイスを示す情報、及び通信種別を示す情報からなる3つの組で構成される複数の第3の通信トリプレットを取得するステップと、取得した前記複数の第3の通信トリプレットを、学習用データとして用いて、前記モデルに、前記第3の通信トリプレットのベクトル表現を獲得させ、かつ、前記所定期間のネットワークの通信が出現する可能性を、スコアとして推定させる学習処理を行うステップと、学習済の前記モデルを用いて前記複数の第3の通信トリプレットのそれぞれが前記通信として出現する可能性を、異常度を示すスコアとして推定して出力するステップと、前記複数の第3の通信トリプレットから前記異常度を示すスコアに基づき1以上の第3の通信トリプレットを除いた通信トリプレットを、前記複数の第2の通信トリプレットとして前記記憶部に記憶するステップとを含むとしてもよい。
 これにより、推定した異常度を示すスコアを用いて、学習期間としての所定期間のネットワークの通信から取得した複数の第3の通信トリプレットから異常な第3の通信トリプレットを除いたものをホワイトリスト(複数の第2の通信トリプレット)として記憶させることができる。
 また、例えば、前記通信監視方法は、前記抽出するステップの前において、さらに、所定期間のネットワークの通信から、送信元デバイスを示す情報、宛先デバイスを示す情報、及び通信種別を示す情報からなる3つの組で構成される複数の第3の通信トリプレットを取得するステップと、取得した前記複数の第3の通信トリプレットを、学習用データとして用いて、前記モデルに、前記第3の通信トリプレットのベクトル表現を獲得させ、かつ、前記所定期間のネットワークの通信が出現する可能性を、スコアとして推定させる学習処理を行うステップと、学習済の前記モデルを用いて前記複数の第3の通信トリプレットのそれぞれが前記通信として出現する可能性を、異常度を示すスコアとして推定して出力するステップと、前記複数の第3の通信トリプレットから前記スコアに基づき1以上の第3の通信トリプレットを除いた通信トリプレットを、再学習用データとして用いて、前記モデルに、前記第3の通信トリプレットのベクトル表現を獲得させ、かつ、前記所定期間のネットワークの通信が出現する可能性を、スコアとして推定させる再学習処理を行うステップと、前記複数の第3の通信トリプレットから前記異常度を示すスコアに基づき1以上の第3の通信トリプレットを除いた通信トリプレットを、前記複数の第2の通信トリプレットとして前記記憶部に記憶するステップとを含むとしてもよい。
 これにより、推定した異常度を示すスコアを用いて、学習期間としての所定期間のネットワークの通信から取得した複数の第3の通信トリプレットから異常な第3の通信トリプレットを除いたものをホワイトリスト(複数の第2の通信トリプレット)として記憶させることができる。さらに、当該複数の第3の通信トリプレットから異常な第3の通信トリプレットを除いたものを再学習用データとして用いて、モデルを再学習させることができる。そして、再学習されたモデルを用いることにより、スコアリング処理の際に、異常な通信トリプレットを見逃してしまう可能性を抑制できる。
 ここで、例えば、学習処理または再学習処理では、前記第3の通信トリプレットを構成する3つの組の集合から、前記送信元デバイスを示す情報及び前記宛先デバイスを示す情報をノード、前記通信種別を示す情報をエッジの種類としてマルチグラフを構築し、構築した前記マルチグラフを前記モデルに入力し、前記モデルに前記マルチグラフの各ノードを固定次元のベクトル表現にマッピングさせ、前記第2の通信トリプレットのベクトル表現を獲得させる学習を行う。
 また、本開示の一形態に係る通信監視システムは、ネットワークの通信を監視する通信監視システムであって、前記通信から、送信元デバイスを示す情報、宛先デバイスを示す情報及びデバイス間でやりとりする通信種別を示す情報からなる3つの組で構成される第1の通信トリプレットを抽出する抽出部と、ホワイトリストとして、送信元デバイスを示す情報、宛先デバイスを示す情報及び通信種別を示す情報からなる3つの組でそれぞれ構成される複数の第2の通信トリプレットが予め記憶されている記憶部と、抽出された前記第1の通信トリプレットが、前記複数の第2の通信トリプレットのいずれかに該当するか判定し、前記第1の通信トリプレットが前記複数の第2の通信トリプレットのいずれにも該当しない場合、学習済のモデルを用いて前記第1の通信トリプレットが前記通信として出現する可能性をスコアとして推定して出力するスコアリング部とを備える。
 以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。従って、以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置および接続形態等は、一例であって本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、本開示の一形態に係る実現形態を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。本開示の実現形態は、現行の独立請求項に限定されるものではなく、他の独立請求項によっても表現され得る。
 (実施の形態)
 以下では、図面を参照しながら、実施の形態について説明する。
 [1.通信監視システム100]
 図1は、本実施の形態に係る通信監視システム100の構成の一例を示すブロック図である。
 通信監視システム100は、コンピュータ等で実現され、学習用パケット群に含まれる通信トリプレットなどの情報をもとに、分析対象パケット群に含まれる通信トリプレットに対してスコアリング処理を行い、推定したスコアを出力する。ここで、スコアは、当該通信トリプレットが、ネットワークの通信として出現する可能性(自然さ)を定量的に表現したものである。
 本実施の形態では、通信監視システム100は、図1に示すように、コネクション取得部11と、通信トリプレット抽出部12と、スコアリング部13と、コネクション取得部21と、通信トリプレット抽出部22と、学習部23と、記憶部31と、記憶部32とを備える。なお、コネクション取得部21、通信トリプレット抽出部22、学習部23、記憶部31、及び、記憶部32は、図1に示すように、学習装置部2を構成する。また、コネクション取得部11、通信トリプレット抽出部12、及び、スコアリング部13は、図2に示す通信監視装置1を構成する。以下では、まず、通信監視装置1について説明する。
 [1.1 通信監視装置1]
 図2は、本実施の形態に係る通信監視装置1の構成の一例を示すブロック図である。
 通信監視装置1は、図3に示すコンピュータ1000等で実現され、ネットワークの通信を監視する。
 [1.2 通信監視装置1のハードウェア構成]
 図3は、本実施の形態に係る通信監視装置1の機能をソフトウェアにより実現するコンピュータ1000のハードウェア構成の一例を示す図である。
 図3に示すコンピュータ1000は、入力装置1001、出力装置1002、CPU1003、内蔵ストレージ1004、RAM1005、読取装置1007、送受信装置1008及びバス1009を備えるコンピュータである。入力装置1001、出力装置1002、CPU1003、内蔵ストレージ1004、RAM1005、読取装置1007及び送受信装置1008は、バス1009により接続される。
 入力装置1001は入力ボタン、タッチパッド、タッチパネルディスプレイなどといったユーザインタフェースとなる装置であり、ユーザの操作を受け付ける。なお、入力装置1001は、ユーザの接触操作を受け付ける他、音声での操作、リモコン等での遠隔操作を受け付ける構成であってもよい。
 内蔵ストレージ1004は、フラッシュメモリなどである。また、内蔵ストレージ1004は、通信監視装置1の機能を実現するためのプログラム、及び、通信監視装置1の機能構成を利用したアプリケーションの少なくとも一方が、予め記憶されていてもよい。
 RAM1005は、ランダムアクセスメモリ(Random Access Memory)であり、プログラム又はアプリケーションの実行に際してデータ等の記憶に利用される。
 読取装置1007は、USB(Universal Serial Bus)メモリなどの記録媒体から情報を読み取る。読取装置1007は、上記のようなプログラムやアプリケーションが記録された記録媒体からそのプログラムやアプリケーションを読み取り、内蔵ストレージ1004に記憶させる。
 送受信装置1008は、無線又は有線で通信を行うための通信回路である。送受信装置1008は、例えばネットワークに接続されたクラウドやサーバ装置と通信を行い、上記のようなプログラムやアプリケーションをダウンロードして内蔵ストレージ1004に記憶させてもよい。
 CPU1003は、中央演算処理装置(Central Processing Unit)であり、内蔵ストレージ1004に記憶されたプログラム、アプリケーションをRAM1005にコピーし、そのプログラムやアプリケーションに含まれる命令をRAM1005から順次読み出して実行する。
 [1.3 通信監視装置1の構成]
 通信監視装置1は、図2に示すように、コネクション取得部11と、通信トリプレット抽出部12と、スコアリング部13と、記憶部30とを備える。以下、各構成要素について説明する。
 [1.3.1 コネクション取得部11]
 コネクション取得部11は、ネットワークの通信から、コネクション情報を取得する。
 図2に示す例では、コネクション取得部11は、ネットワークの通信における分析対象パケット群から、コネクション情報を取得する。ここで、コネクション情報は、通信を行う機器の間またはソフトウェアの間に確立された仮想的な専用通信路に関する情報である。コネクション情報は、例えば、どのノード(デバイス)からどのノード(デバイス)へ、どんなポートを使用してコネクションを確立しているかなどを示す情報である。
 コネクション取得部11は、例えば非特許文献3に開示される技術を利用すればよく、conn.logというファイルを取得することで、コネクション情報を取得することができる。
 [1.3.2 通信トリプレット抽出部12]
 通信トリプレット抽出部12は、ネットワークの通信から、送信元デバイスを示す情報、宛先デバイスを示す情報、及びデバイス間でやりとりする通信種別を示す情報からなる3つの組で構成される第1の通信トリプレットを抽出する。
 図2に示す例では、通信トリプレット抽出部12は、コネクション取得部11により取得されたコネクション情報から、第1の通信トリプレットとしての通信トリプレットを抽出する。
 図4及び図5は、本実施の形態に係る通信トリプレットの一例を示す図である。
 通信トリプレットは、監視対象となるICSネットワークの通信で観察されたものであり、例えば図4に示すように、サーバのIPアドレス、TCP/UDPポート番号、及びクライアントのIPアドレスの3つの組で構成される。なお、通信トリプレットは、図4に示される例で構成される場合に限らず、図5に示すようにアラート種別を含んで構成されてもよい。
 すなわち、送信元デバイスを示す情報は、送信元デバイスであるサーバのIPアドレスであり、宛先デバイスを示す情報は、宛先デバイスであるクライアントのIPアドレスであり、通信種別を示す情報は、TCP/UDPのポート番号またはアラート種別を含んでいてもよい。
 また、通信トリプレットは、図4及び図5に示される例の組み合わせで構成される場合に限定されない。MACアドレスまたは機器のシリアル番号などといったデバイスを特定する情報、write、readなどの利用する通信命令の種別といったデバイス間でやりとりする情報の区分、プロトコル名を組み合わせて構成してもよい。具体的には、通信トリプレットにおいて、送信元デバイスを示す情報は、送信元デバイスのMACアドレスまたはシリアル番号であり、宛先デバイスを示す情報は、宛先デバイスのMACアドレスまたはシリアル番号であってもよい。また、通信種別を示す情報は、送信元デバイス及び宛先デバイスの間でやりとりする通信命令の種別またはアラート種別を含んでもよい。
 [1.3.3 記憶部30]
 記憶部30は、例えば、ハードディスクドライブまたはソリッドステートドライブ等の書き換え可能な不揮発性のメモリで構成される。
 記憶部30は、ホワイトリストとして複数の第2の通信トリプレットが予め記憶されている。ここで、複数の第2の通信トリプレットのそれぞれは、送信元デバイスを示す情報、宛先デバイスを示す情報及び通信種別を示す情報からなる3つの組で構成される。
 本実施の形態では、記憶部30は、ホワイトリスト301aと、学習済のモデル302とを記憶している。ホワイトリスト301aには、複数の第2の通信トリプレットが保持されており、図1に示す学習用通信トリプレット301と同じもの(複数の通信トリプレット)である。また、学習済のモデル302は、図1に示す学習部23により学習されたモデル302と同じものである。
 なお、図2に示す例では、記憶部30は、記憶部31と記憶部32と別体であるとして示しているが、記憶部31と記憶部32を含む構成であってもよい。
 [1.3.4 スコアリング部13]
 スコアリング部13は、ホワイトリスト301aに存在しない通信をスコアリング処理する。具体的には、スコアリング部13は、抽出された第1の通信トリプレットが、ホワイトリストとして記憶部30に記憶された複数の第2の通信トリプレットのいずれかに該当するか判定する。また、スコアリング部13は、第1の通信トリプレットが複数の第2の通信トリプレットのいずれにも該当しない場合、学習済のモデル302を用いて第1の通信トリプレットが通信として出現する可能性をスコアとして推定して出力する。
 ここで、スコアリング部13は、スコアが閾値以下である場合、当該通信が疑わしい通信である旨を示す監視結果を出力してもよい。モデル302は、例えばR-GCN(Relational Graph Convolutional Network)で構成される。
 本実施の形態では、スコアリング部13は、通信トリプレット抽出部12により抽出された通信トリプレットが、ホワイトリスト301aに含まれているかを判定する。
 スコアリング部13は、通信トリプレット抽出部12により抽出された通信トリプレットが、ホワイトリスト301aに含まれている場合、抽出された当該通信トリプレットをスコアリング処理の対象から外して、スコアリング処理をスキップしてもよい。抽出された当該通信トリプレットがホワイトリスト301aに含まれている場合、抽出された当該通信トリプレットにおける通信は正常(疑わしい通信でない)であると判定できるからである。なお、スコアリング部13は、抽出された当該通信トリプレットが、ホワイトリスト301aに含まれている場合、抽出された当該通信トリプレットにおける通信が正常(疑わしい通信でない)である旨を示すスコアを監視結果として出力してもよい。
 一方、スコアリング部13は、抽出された当該通信トリプレットが、ホワイトリスト301aに含まれていない場合、学習済のモデル302を用いて、抽出された当該通信トリプレットに対してスコアリング処理を行う。スコアリング部13は、抽出された当該通信トリプレットのスコアすなわち抽出された当該通信トリプレットが通信として出現する可能性を推定したスコアを出力する。
 なお、スコアリング部13は、さらに、抽出された当該通信トリプレットを構成する3つの組のいずれかが初観測された場合すなわちホワイトリスト301aに含まれていない場合、抽出された当該通信トリプレットをスコアリング処理の対象から外してもよい。この場合、スコアリング部13は、当該通信トリプレットにおける通信は疑わしい通信である旨を示すスコアを監視結果として出力してもよいし、当該通信トリプレットにおける通信は疑わしい通信である旨の通知を出力してもよい。
 以下、抽出された当該通信トリプレットに対して行うスコアリング処理の詳細(内部処理)について説明する。
 すなわち、スコアリング部13は、学習済のモデル302に、監視対象の通信トリプレットに含まれる各要素を入力することで、監視対象の当該通信トリプレットの各要素のベクトル表現を獲得させる。そして、スコアリング部13は、学習済のモデル302に、獲得させた監視対象の当該通信トリプレットのベクトル表現から、スコアを推定させて出力する。
 続いて、抽出された当該通信トリプレットすなわち監視対象の通信トリプレットに対するスコアリング処理の一例について図を用いて説明する。
 図6Aは、本実施の形態に係るホワイトリスト301aの一例である。図6Bは、本実施の形態に係るホワイトリスト301aのマルチグラフを示す図である。図6Cは、本実施の形態に係る監視対象の通信トリプレットのスコアリング処理結果の一例を示す図である。
 図6Aに示す例では、ホワイトリスト301aは、送信元デバイス、通信種別及び宛先デバイスの3つの組でそれぞれ構成される4つの通信トリプレットが保持されている。この場合、学習済のモデル302は、ホワイトリスト301aにおける4つの通信トリプレットを、図6Bに示すマルチグラフに変換し、かつ、当該マルチグラフの各ノードを固定次元のベクトル表現にマッピングした情報を有している。つまり、学習済のモデル302は、図6Aにおける送信元デバイス及び宛先デバイスであるA、B、C及びDをノードとし、通信種別であるHTTP、SMB及びMSSQLをエッジの種類とした図6Bに示すマルチグラフ構造の情報を有している。また、学習済のモデル302は、図6Bに示すマルチグラフの各ノードが固定次元のベクトル表現にマッピングされた情報を有している。
 ここで、監視対象(分析対象)の通信トリプレットの3つの組が、例えばA、MSSQL及びDであるとする。この場合、スコアリング部13は、学習済のモデル302を用いて、図6Cに示すように、図6Bに示すマルチグラフのノードA及びノードCに、MSSQLを示すエッジを追記する。また、スコアリング部13は、学習済のモデル302を用いて、ノードA及びノードCを結ぶMSSQLを示すエッジが通信として出現する可能性を監視対象の通信トリプレットのスコアとして推定させる。図6Cに示す例では、監視対象の通信トリプレットのスコアが1.3である。なお、スコアが大きいほど正常(疑わしい通信でない)であることを示すため、閾値以下では異常(疑わしい通信)であると判定することができる。また、閾値は例えばゼロと定めることができる。図6Cに示す例では、スコアが1.3であり、閾値より大きいため、監視対象の通信トリプレットにおける通信は正常(疑わしい通信でない)であると判定される。
 [1.4 学習装置部2の構成]
 続いて、学習装置部2について説明する。
 学習装置部2は、上述したように、コネクション取得部21、通信トリプレット抽出部22、学習部23、記憶部31、及び、記憶部32とを備える。
 [1.4.1 コネクション取得部21]
 コネクション取得部21は、ネットワークの通信から、コネクション情報を取得する。図1に示す例では、コネクション取得部21は、ネットワークの通信における学習用パケット群から、コネクション情報を取得する。コネクション取得部21がコネクション情報を取得する方法は、コネクション取得部11で説明した通りであるので、ここでの説明を省略する。
 [1.4.2 通信トリプレット抽出部22]
 通信トリプレット抽出部22は、所定期間のネットワークの通信から、第2の通信トリプレットを取得する。図1に示す例では、通信トリプレット抽出部22は、コネクション取得部21により取得されたコネクション情報から、通信トリプレットを抽出し、学習用通信トリプレット301として記憶部31に記憶する。
 通信トリプレット抽出部22は、抽出された通信トリプレットが学習用通信トリプレット301として記憶されている場合(既に観測された場合)、学習用通信トリプレット301に追加しない。つまり、通信トリプレット抽出部22は、抽出された通信トリプレットが学習用通信トリプレット301として記憶されていない場合(未観測の場合)、学習用通信トリプレット301に追加し蓄積することで、学習用通信トリプレット301を取得する。
 [1.4.3 記憶部31]
 記憶部31は、例えば、ハードディスクドライブまたはソリッドステートドライブ等の書き換え可能な不揮発性のメモリで構成され、学習用通信トリプレット301を記憶する。なお、学習用通信トリプレット301は、上述したようにスコアリング部13のホワイトリスト301aとして用いられる。
 [1.4.4 記憶部32]
 記憶部32は、例えば、ハードディスクドライブまたはソリッドステートドライブ等の書き換え可能な不揮発性のメモリで構成され、モデル302を記憶する。モデル302は、上述したように、例えばR-GCNで構成される。モデル302は、学習部23により学習処理される。
 [1.4.5 学習部23]
 学習部23は、記憶部31に記憶された学習用通信トリプレット301を用いて、記憶部32に記憶されたモデル302に対して学習処理を行う。そして、学習部23は、記憶部32に記憶されたモデル302を、学習済のモデル302に更新する。
 本実施の形態では、学習部23は、第2の通信トリプレットを、学習用データとして用いて、モデル302に、第2の通信トリプレットのベクトル表現を獲得させ、かつ、所定期間のネットワークの通信が出現する可能性をスコアとして推定させる学習処理を行う。
 ここで、学習部23は、第2の通信トリプレットを構成する3つの組の集合から、送信元デバイスを示す情報及び宛先デバイスを示す情報をノード、通信種別を示す情報をエッジの種類とするマルチグラフを構築する。学習部23は、構築したマルチグラフをモデル302に入力することで、モデル302に当該マルチグラフの各ノードを固定次元のベクトル表現にマッピングさせて、第2の通信トリプレットのベクトル表現を獲得させる学習を行う。
 なお、学習用データとして用いられる第2の通信トリプレットには、通信種別として、当該通信種別に加えて所定期間のネットワークの通信に関する特徴量を含んでもよい。この特徴量は、所定期間のネットワークの通信における単位時間あたり通信量及び通信時間間隔の中央値の少なくとも一方を含んでもよい。これにより、学習部23は、モデル302が獲得するベクトル表現の精度を向上させることができ、学習済のモデル302が推定するスコアの精度を向上させることができる。
 [2.通信監視システム100の処理例等]
 続いて、以上のように構成された学習装置部2と通信監視装置1の構成とを含む通信監視システム100の処理例等について説明する。
 図7は、本実施の形態に係る通信監視システム100の処理のフレームワークを示す図である。図1及び図2と同様の要素には同一の符号を付している。図7に示すように、通信監視システム100の処理は、準備処理フェーズと、学習処理フェーズと、スコアリング処理フェーズとに分けることができる。
 図8Aは、本実施の形態に係る通信監視システム100が実行する準備処理フェーズにおける処理の一例を概念的に示す図である。
 通信監視システム100は、図8Aの(a)に示されるように、例えばICSネットワークの通信を監視しており、ICSネットワークの通信のミラーパケット(学習用パケット群)から、コネクション情報を取得する。コネクション情報は、図8Aの(b)に示されるように、例えば、t1~t4それぞれの時間におけるサーバIP(サーバのIPアドレス)、サーバのポート番号、プロトコル及びクライアントIP(クライアントのIPアドレス)を示す情報を有している。なお、監視対象のICSネットワークの一部のデバイスがゲートウェイを介してインターネットと通信することが許可されている場合、インターネット内のさまざまなデバイスのIPアドレスが存在することになる。この場合、通信監視システム100は、監視対象のICSネットワークの外部にあるデバイスを除外したコネクション情報を取得する。また、クライアントのポート番号は、パケットによっては異なる場合も多いため、本実施の形態ではクライアントのポート番号をコネクション情報に含めない。
 次に、通信監視システム100は、取得したコネクション情報から4つの通信トリプレットを抽出する。4つの通信トリプレットそれぞれは、図8Aの(c)に示されるように、送信元デバイス、通信種別及び宛先デバイスからなる3つの組で構成される。なお、通信監視システム100は、図8Aの(c)に示される4つの通信トリプレットを、学習用通信トリプレット301として記憶部31に記憶する。
 図8Bは、本実施の形態に係る通信監視システム100が実行する学習処理フェーズにおける処理の一例を概念的に示す図である。
 通信監視システム100は、記憶部31から学習用通信トリプレット301を取得し、学習用通信トリプレット301を用いて、モデル302に対して学習処理を行う。
 より具体的には、まず、通信監視システム100は、図8Aの(c)に示される学習用通信トリプレット301を取得し、取得した学習用通信トリプレットから、図8Bの(a)に示されるマルチグラフを構築する。次に、通信監視システム100は、図8Bの(b)に示されるように、モデル302の学習を行う。本実施の形態では、通信監視システム100は、モデル302に、図8Bの(a)に示されるマルチグラフの構造を学習させ、さらに、当該マルチグラフの各ノードを固定次元のベクトル表現にマッピングさせて、学習用通信トリプレット301のベクトル表現を獲得させる学習を行う。なお、図8Bでは、ベクトル表現を、embeddings(埋め込み)と表現している。
 このようにして、通信監視システム100は、モデル302に、学習用通信トリプレット301のマルチグラフにおける各ノードを、図8Bの(c)に示されるようなベクトル空間にマッピングして、固定次元のベクトル表現を獲得させる学習を行う。なお、学習処理フェーズにおいて、R-GCNを用いたグラフオートエンコーダをモデル302として用いてもよい。R-GCNを用いたグラフオートエンコーダは、スコアリング関数として非特許文献4で開示されるDistMultを用いてリンク予測を行うことができるモデルである。
 図8Cは、本実施の形態に係る通信監視システム100が実行するスコアリング処理フェーズにおける処理の一例を概念的に示す図である。
 通信監視システム100は、図8Aの(a)と同様に、例えばICSネットワークの通信を監視しており、ICSネットワークの通信のミラーパケット(分析対象パケット群)から、コネクション情報を取得する。通信監視システム100は、取得したコネクション情報から分析対象(監視対象)の通信トリプレットを抽出する。分析対象の2つの通信トリプレットは、図8Cに示されるように、送信元デバイスであるA、通信種別であるTCP/80、及び、宛先デバイスであるCまたはDからなる3つの組で構成される。
 次に、通信監視システム100は、図8Cに示される分析対象の2つの通信トリプレットは、ホワイトリストとして用いられる学習用通信トリプレット301に存在しないため、学習済のモデル302を用いて分析対象の通信トリプレットのスコアリング処理を行う。
 より具体的には、通信監視システム100は、学習済のモデル302に、分析対象の通信トリプレットをマルチグラフに変換させ、当該マルチグラフの2つのノードを固定次元のベクトル表現にマッピングさせることで、分析対象の通信トリプレットのベクトル表現を獲得させる。また、通信監視システム100は、学習済のモデル302を用いて、図8Bの(c)に示される学習済のベクトル表現と、分析対象の通信トリプレットの獲得したベクトル表現とから、分析対象の通信トリプレットのスコアを推定して出力する。図8Cに示される例では、送信元デバイスがA、通信種別がTCP/80(HTTP)、及び、宛先デバイスがCである分析対象の通信トリプレットのスコアは、1.3である。また、送信元デバイスがA、通信種別がTCP/80、及び、宛先デバイスがCである分析対象の通信トリプレットのスコアは、-5.3である。いずれかのスコアが閾値(例えば0)以下である場合、分析対象の当該2つの通信トリプレットにおける通信は正常(疑わしい通信でない)であると判定されることになる。
 [2.1 モデル302を構成するR-GCN]
 以下、モデル302を構成するR-GCNについて説明する。
 R-GCNは、グラフ構造を畳み込むネットワークモデルであるGCN(Graph Convolutional Networks)を拡張したネットワークモデルであり、非特許文献5に開示されている。R-GCNを用いることで、マルチグラフにおけるリンク予測を精度よく行うことができる。
 R-GCNは、グラフ構造を持ったデータが入力されると、グラフ構造の畳み込みを行い、当該データの特徴量を出力する。R-GCNは、グラフ構造の各ノードごとに特徴量を抽出し、かつ、あるノードの畳み込みを自身(当該ノード)と、隣接ノードとを用いて行うことで、グラフ構造の畳み込みを行う。R-GCNの各層では、エッジの種類と方向とを考慮して情報が伝播(順伝播)するとしてグラフ構造を畳み込む。
 ところで、多層の-GCNのうち、一層に関しての順伝播は以下の(式1)で表すことができる。
Figure JPOXMLDOC01-appb-M000001
 左辺は、(l+1)層目のノードiのベクトルを表す。右辺の第1項は、隣接ノードの畳み込みを足し合わせたものを表し、右辺の第2項は、自分自身の畳み込みを表す。なお、Nは、ノードiの隣接ノードの集合であり、1/cは正規化定数である。σは、非線形活性化関数である。
 ここで、例えば図6Bに示すマルチグラフのグラフ構造を例に挙げ、さらにノードBに着目する。
 GCNでは、グラフ構造のエッジ(リンクとも称する)は1つしか持てないことから、図6Bに示すノードBのエッジの種類がHTTPだけであるとすると、(式1)は、以下の(式2)のように表すことができる。
Figure JPOXMLDOC01-appb-M000002
 (式2)において、左辺は、図6Bに示すノードBの(l+1)層目のベクトルを表す。点線囲い(1)で示される右辺の第1項はノードAとのリンクからの伝播を表し、点線囲い(2)で示される右辺の第2項はセルフループと呼ばれるノードB自身の伝播を表す。
 また、多層のR-GCNのうち、一層に関しての順伝播は以下の(式3)で表すことができる。
Figure JPOXMLDOC01-appb-M000003
 左辺は、(l+1)層目のノードiのベクトルを表す。右辺の第1項は、ノードiと関係のある隣接ノードの畳み込みを足し合わせたものを表し、右辺の第2項は、自分自身の畳み込みを表す。なお、Ni,pは、ノードiの隣接し、ノードiと関係をもつノードの集合であり、1/ci,pは正規化定数である。σは、非線形活性化関数である。
 ここで、上記と同様に図6Bに示すマルチグラフのグラフ構造を例に挙げ、さらにノードBに着目する。
 R-GCNでは、グラフ構造のエッジ(リンクとも称する)を複数持てるため、(式3)は、以下の(式4)のように表すことができる。
Figure JPOXMLDOC01-appb-M000004
 (式4)において、左辺は、(l+1)層目のノードBのベクトルを表す。点線囲い(3)で示される右辺の第1項はノードAとのHTTPのリンクからの伝播を表し、点線囲い(4)で示される右辺の第2項はノードAとのMSSQLのリンクからの伝播を表す。点線囲い(5)で示される右辺の第3項はセルフループと呼ばれるノードB自身の伝播を表す。
 本実施の形態では、R-GCNで構成されるモデル302を用いて、ICSネットワークの通信状況を示す通信トリプレットをマルチグラフとして解釈し、ホワイトリストに含まれていない監視対象の通信トリプレットがマルチグラフのリンクとして出現する可能性を推定する。
 換言すると、本開示では、ホワイトリストに存在しない通信のスコアリング問題を、ICSネットワークで観察されたIPアドレスをノード、2つのIPアドレス間のTCP/UDPなどの通信種別をエッジと解釈し、マルチグラフのリンク予測問題とみなしている。さらに、本開示では、マルチグラフのリンク予測問題を、未観測の通信トリプレットであるが高い可能性で存在する可能性のある(つまり正常な)通信トリプレットであるかを予測するタスクと解釈する。
 なお、発明者らは、観測されていないリンクが正常であるかを精度よく推定するために以下の2つの仮定が成立するとしている。
 (1)2つのデバイス間でのリンクの有無はデバイスの役割によって決定される。また、デバイスの役割とは、HMI、PLC、RTU、HistorianもしくはSISなどのデバイスのタイプ、または、それらの通信の種類である。
 (2)デバイスの役割は、隣接する(リンクする)1以上のデバイスの役割から再帰的に推定できる。また、グラフ構造の畳み込みを用いることで、役割が潜在ペクトルに反映され、隣接するデバイスの役割情報を伝播できる。
 以上の2つの仮定から、R-GCNを用いることで、デバイスの役割を表す埋め込み(ベクトル表現)を再帰的に抽出できるとして、本実施の形態では、モデル302をR-GCNで構成する。
 そして、R-GCNで構成されるモデル302に、ICSネットワークで観測された通信トリプレットを学習させることで、ICSネットワークで観測されていない通信トリプレットの異常性をスコアで推定させることができる。
 [3.通信監視システム100の動作]
 以上のように構成された通信監視システム100の動作について以下説明する。
 図9は、本実施の形態における通信監視システム100の動作概要を示すフローチャートである。
 まず、通信監視システム100は、学習用通信トリプレット抽出処理を行う(S1)。なお、ステップS1の学習用通信トリプレット抽出処理は、上述した準備処理フェーズの処理に該当する。次に、通信監視システム100は、学習処理を行う(S2)。なお、ステップS2の学習処理は、上述した学習処理フェーズの処理に該当する。次に、通信監視システム100は、スコアリング処理を行う(S3)。ステップS3のスコアリング処理は、上述したスコアリング処理フェーズの処理に該当する。
 図10は、図9に示す学習用通信トリプレット抽出処理の詳細を示すフローチャートである。
 まず、通信監視システム100は、学習用パケットを取得する(S11)。本実施の形態では、通信監視システム100は、例えばICSネットワークなどのネットワークの通信のミラーパケットを学習用パケットとして取得する。
 次に、通信監視システム100は、ステップS11において取得した学習用パケットから、コネクション情報を取得する(S12)。本実施の形態では、通信監視システム100は、ステップS11において取得した学習用パケットから、サーバIPアドレス、サーバのポート番号、プロトコル及びクライアントIPアドレスを示す情報を有するコネクション情報を取得する。
 次に、通信監視システム100は、ステップS12において取得したコネクション情報から、通信トリプレットを抽出する(S13)。本実施の形態では、通信監視システム100は、ステップS12において取得したコネクション情報から、送信元デバイス、通信種別、及び、宛先デバイスからなる3つの組で構成される通信トリプレットを抽出する。ここで、例えば送信元デバイスはサーバIPアドレスであり、通信種別はサーバのポート番号及びプロトコルであり、宛先デバイスはクライアントIPアドレスである。
 次に、通信監視システム100は、ステップS13において抽出した通信トリプレットが、既に観測されたものであるかを判定する(S14)。本実施の形態では、通信監視システム100は、ステップS13において抽出した通信トリプレットが、学習用通信トリプレット301として記憶されているかを判定する。
 ステップS14において、抽出した通信トリプレットが既に観測されたものでない場合(S14でNO)、通信監視システム100は、抽出した通信トリプレットを学習用通信トリプレット301として蓄積する(S15)。
 次に、通信監視システム100は、ステップS11で取得した学習用パケット以外で未だ通信トリプレットを抽出していない未抽出のパケットがあるかを確認する(S16)。
 なお、ステップS14において、抽出した通信トリプレットが既に観測されたものである場合(S14でYES)、通信監視システム100は、ステップS16の処理に進む。
 ステップS16において、未抽出のパケットがない場合(S16でNO)、通信監視システム100は、蓄積している学習用通信トリプレットを出力する(S17)。一方、ステップS16において、未抽出のパケットがある場合(S16でYES)、通信監視システム100は、ステップS11に戻って処理を繰り返す。
 図11は、図9に示す学習処理の詳細を示すフローチャートである。
 まず、通信監視システム100は、学習用通信トリプレットを取得する(S21)。本実施の形態では、通信監視システム100は、記憶部31から学習用通信トリプレット301を取得する。
 次に、通信監視システム100は、ステップS21において取得した学習用通信トリプレット301のマルチグラフを構築する(S22)。
 次に、通信監視システム100は、ステップS22において構築したマルチグラフを、モデル302に学習させる(S23)。本実施の形態では、モデル302は例えばR-GCNで構成される。通信監視システム100は、ステップS22において構築したマルチグラフの構造を、モデル302に学習させ、構築したマルチグラフの各ノードを固定次元のベクトル表現にマッピングさせて、学習用通信トリプレット301のベクトル表現を獲得させる。例えば、モデル302は、グラフオートエンコーダを用いて学習され、グラフオートエンコーダの学習によりノードとエッジのベクトル表現の獲得を獲得することができる。
 次に、通信監視システム100は、ステップS24において学習により獲得した学習用通信トリプレット301のベクトル表現すなわち各ノードのembeddingsと各エッジのembeddingsとを出力する(S24)。なお、学習済のモデル302は、ステップS24において学習により獲得した学習用通信トリプレット301のベクトル表現すなわち各ノードのembeddingsと各エッジのembeddingsとの情報を有する。
 図12は、図11に示す学習処理を実行するためのアルゴリズム1を示す図である。
 図12において、Vは、観測されたIPアドレスのセットを示す。Rは、観測されたTCP/UDPポート番号のセットを示す。
Figure JPOXMLDOC01-appb-M000005
は、学習用通信トリプレット301を示す。
 また、
Figure JPOXMLDOC01-appb-M000006
は、IPアドレスのembeddingsを示し、上記の(式3)を用いて順伝播を計算すること得られる。
Figure JPOXMLDOC01-appb-M000007
は、モデル302のパラメータを示す。
Figure JPOXMLDOC01-appb-M000008
は、上述したようにR-GCNの重みを示し、lは隠れ層の数を示す。
 なお、モデル302のパラメータは、損失関数として、下記の(式5)に示すようなクロスエントロピー誤差を用いて最適化されている。
Figure JPOXMLDOC01-appb-M000009
 (式5)において、Tは、実数の通信トリプレットと破損の通信トリプレットの合計を示す。f(s、p、c)は、通信トリプレット(s、p、c)のスコアである。lは、ロジスティックシグモイド関数を示し、yはインジケータを示す。
 図13は、図9に示すスコアリング処理の詳細を示すフローチャートである。なお、図13に示す処理は、上述した通信監視装置1が行ってもよい。
 まず、通信監視システム100は、分析対象パケットを取得する(S31)。本実施の形態では、通信監視システム100は、例えばICSネットワークなどのネットワークの通信のミラーパケットを分析対象パケットとして取得する。
 次に、通信監視システム100は、ステップS31において取得した分析対象パケットから、コネクション情報を取得する(S32)。本実施の形態では、通信監視システム100は、ステップS31において取得した分析対象パケットから、サーバIPアドレス、サーバのポート番号、プロトコル及びクライアントIPアドレスを示す情報を有するコネクション情報を取得する。
 次に、通信監視システム100は、ステップS32において取得したコネクション情報から、通信トリプレットを抽出する(S33)。本実施の形態では、通信監視システム100は、ステップS32において取得したコネクション情報から、送信元デバイス、通信種別、及び、宛先デバイスからなる3つの組で構成される通信トリプレットを抽出する。ここで、例えば送信元デバイスはサーバIPアドレスであり、通信種別はサーバのポート番号及びプロトコルであり、宛先デバイスはクライアントIPアドレスである。
 次に、通信監視システム100は、ステップS33において抽出した通信トリプレットが、学習用通信トリプレット301に存在するかを判定する(S34)。本実施の形態では、通信監視システム100は、学習用通信トリプレット301をホワイトリストとして用いる。すなわち、通信監視システム100は、ステップS33において抽出したホワイトリストに存在するかを判定する。
 ステップS34において、抽出した通信トリプレットが学習用通信トリプレット301に存在しない場合(S34でNO)、通信監視システム100は、抽出した通信トリプレットを構成する3つの組のいずれか1つ以上が初観測かどうかを判定する(S35)。ここで、3つの組は、例えばサーバIPアドレス、クライアントIPアドレス及びTCP/UDPポート番号である。また、初観測の場合とは、抽出した通信トリプレットを構成する3つの組のいずれか1つ以上がホワイトリストに存在しない場合である。
 ステップS35において、抽出した通信トリプレットを構成する3つの組のいずれか1つ以上が初観測でない場合(S35でNO)、通信監視システム100は、抽出した通信トリプレットをスコアリング処理する(S36)。本実施の形態では、モデル302は例えばR-GCNで構成される。このため、通信監視システム100は、学習済のモデル302に、分析対象の通信トリプレットをマルチグラフに変換させ、かつ、当該マルチグラフの2つのノードを固定次元のベクトル表現にマッピングさせることで、分析対象の通信トリプレットのベクトル表現を獲得させる。そして、通信監視システム100は、学習済のモデル302を用いて、学習済のベクトル表現と、分析対象の通信トリプレットの獲得したベクトル表現とから、分析対象の通信トリプレットのスコアを推定して出力する。
 次に、通信監視システム100は、ステップS31で取得した分析対象パケット以外で未分析のパケットがあるかを確認する(S37)。
 ステップS37において、未分析のパケットがない場合(S37でNO)、通信監視システム100は、スコアリング処理を終了する。一方、ステップS37において、未分析のパケットがある場合(S37でYES)、通信監視システム100は、ステップS31に戻って処理を繰り返す。
 なお、ステップS34において、抽出した通信トリプレットが学習用通信トリプレット301に存在する場合(S34でYES)、通信監視システム100は、抽出した通信トリプレットにおける通信は疑わしい通信ではないとして、ステップS37に進む。
 また、ステップS35において、抽出した通信トリプレットを構成する3つの組のいずれか1つ以上が初観測である場合(S35でYES)、通信監視システム100は、抽出した通信トリプレットをスコアリング処理の対象から除外する(S38)。そして、通信監視システム100は、抽出した通信トリプレットにおける通信は疑わしい通信である旨を出力する(S39)。
 図14は、図13に示すスコアリング処理を実行するためのアルゴリズム2を示す図である。なお、図12と同様の変数は同一の変数で示されているため、説明を省略する。
 図14において、
Figure JPOXMLDOC01-appb-M000010
は、分析対象の通信トリプレットを示す。この通信トリプレットのembeddingsは
Figure JPOXMLDOC01-appb-M000011
である。また、
Figure JPOXMLDOC01-appb-M000012
は、この通信トリプレットのスコアを示す。
 [4.効果等]
 本実施の形態によれば、R-GCNで構成されるモデル302を用いて、ICSネットワークの通信状況を示す通信トリプレットをマルチグラフとして解釈させ、ホワイトリストに含まない監視対象の通信トリプレットがマルチグラフのリンクとして出現する可能性をスコアで推定させる。なお、ホワイトリストにない通信トリプレットの出現可能性を、マルチグラフのリンク予測問題として取り扱うことで、ホワイトリストにない通信トリプレットのスコアを精度よく推定することができる。
 これによれば、ホワイトリストにない通信トリプレットの出現可能性をスコアにより定量化することで、セキュリティの観点から分析すべき重要な通信トリプレットを絞ることができるので、ネットワークの通信に対する誤検知を抑制できる。
 そして、ホワイトリストにない通信トリプレットのスコアにより、ホワイトリストにない通信トリプレットが観察されたときに発せされるアラートのうち重要でないアラートを除外できるので、セキュリティ監視者は、致命的なアラートのみに集中できることなる。
 なお、上記の実施の形態では、モデル302は、R-GCNで構成されるとして説明したが、これに限らない。モデル302は、非特許文献6に開示されるCOMPGCN(COMPosition-based multi-relational Graph Convolutional Networks)であってもよい。この場合、学習済のモデル302に、第1の通信トリプレットを構成する3つの組の集合を、送信元デバイスを示す情報及び宛先デバイスを示す情報をノード、通信種別を示す情報をエッジの種類とするマルチグラフに変換させ、当該マルチグラフから、第1の通信トリプレットのベクトル表現を獲得させればよい。そして、獲得させた第1の通信トリプレットのベクトル表現から、リンク予測アルゴリズムを用いて、スコアを推定させればよい。
 また、モデル302は、DistMult、または、非特許文献7に開示されるconvE(convolutional 2D Knowledge Graph Embeddings)でもよい。また、モデル302は、非特許文献8に開示されるTransE(Translating Embeddings for Modeling Multi-relational Data)でもよい。また、モデル302は、非特許文献9に開示されるHolE(Holographic Embeddings of Knowledge Graphs)でもよい。また、モデル302は、非特許文献10に開示されるComplEx(Complex Embeddings for Simple Link Prediction)であってもよい。
 これらの場合、学習済のモデル302に、第1の通信トリプレットを構成する3つの組の集合から、第1の通信トリプレットのベクトル表現を獲得させ、獲得させた第1の通信トリプレットのベクトル表現から、リンク予測アルゴリズムを用いて、スコアを推定させればよい。
 (実施例)
 R-GCNで構成されるモデル302の有効性について検証したので、その実験結果を実施例として以下説明する。
 <データセット>
 図15は、本実施例に係るデータセットの性質を示す図である。
 本実施例では、パナソニックが所有する3工場におけるICSネットワークのトラフィックを評価に用いた。なお、工場ごとに生産品目が異なるため、工場によって設置設備、通信プロトコル及びネットワーク構成は異なっている。
 3工場におけるICSネットワークのパケットは、L2スイッチのミラーポートを使用してそれぞれ2週間ずつ独立して収集した。また、当該3工場では、Modbus、Ethernet/IPなどのプロトコルだけでなく、NetBIOS、DNS、HTTP、HTTPS、FTP、SMB、RDP、SSH、MSSQLなどのプロトコルも観察された。このため、マルチキャストおよびブロードキャスト通信を除いたユニキャスト通信のみを、学習処理およびスコアリング処理の対象とした。
 図15に示すIPアドレスの数、TCP/UDPポート番号、及び学習用通信トリプレットは、特定の1週間の間にA、B及びCの3工場それぞれのICSネットワークの通信に出現した数をカウントすることによって取得した。テスト用の通信トリプレットは、上記の特定の1週間の後の1週間に取得した。なお、学習用通信トリプレットに含まれる通信トリプレットは、テスト用の通信トリプレットから除外した。また、観察されていないIPアドレスまたはTCP/UDPポート番号を持つ通信トリプレットも、テスト用の通信トリプレットから除外した。
 <評価方法>
 R-GCNで構成されるモデル302の比較例として、DistMultで構成されるモデルと、ヒューリステックな方法であるfirst-order proximity優先手法、及び、second-order proximity優先手法も評価した。なお、DistMultは、グラフ構造の畳み込み層がないR-GCNと同等の構成である。以下、R-GCNで構成されるモデル302をGCN SCOPE(proposed)と称して説明する。
 GCN SCOPEと比較例とに対して、テスト用の通信トリプレットの存在を予測するリンク予測の評価と、通常の通信トリプレットと異常な通信トリプレットとをどれだけうまく区別(認識)できるかといった2種類の評価を行った。
 GCN SCOPEとDistMultで構成されるモデルとのハイパーパラメータの検索した。ハイパーパラメータの検索は、工場Aのデータセットを学習用データと検証用データに分割し、検証用データを用いて平均逆数ランクとベイズ最適化とを用いて行った。その結果、GCN SCOPEのハイパーパラメータを次のように決定した。すなわち、ドロップアウト率を0.2、隠れ層ユニットの数を100、L2正則化重みを0.0、学習率を0.01、ネガティブサンプリングレートを10と決定した。また、DistMultで構成されるモデルのハイパーパラメータは次のように決定した。すなわち、非表示レイヤーユニットの数を50、L2正則化重みを0.01、学習率を0.02、ネガティブサンプリングレートを10と決定した。
 <評価結果>
 図16は、本実施例に係るテスト用の通信トリプレットを用いて予測されたリンク予測の評価結果を示す図である。
 GCN SCOPE及びDistMultで構成されるモデル等を、図15に示す3工場それぞれの各データセットの学習用通信トリプレットを用いて学習させ、テスト用の通信トリプレットのスコアを出力させた。そして、出力させたスコアを、下記の(式6)で示されるような平均逆数ランク(MRR)と上位n番以内でランク付けされたエンティティの割合とを用いて、評価した。この結果が図16に示されている。なお、(式6)のrankiはi番目のクエリの正解のランク位置を指している。
Figure JPOXMLDOC01-appb-M000013
 図16からわかるように、GCN SCOPEは、ほとんどすべてのケースでDistMultで構成されるモデルを含む比較例を上回っている。これにより、GCN SCOPEは、ICSネットワークの通信トリプレットのリンク予測で高いパフォーマンスを示すことができることがわかる。
 図17は、本実施例に係るテスト用の通信トリプレットを用いて出力されたスコアに基づき異常リンクと正常リンクとを識別する能力の評価を示す図である。図17では、識別能力の評価を定量化するためにROC-AUCを用いている。ここで、ROCはReceiver Operating Characteristicの略であり、AUCはArea under the curveの略であり、ROC-AUCはROC曲線下の面積を示す。AUCは0から1までの値をとり、値が1に近いほど識別能力が高いことを表わす。
 ここでは、テスト用の通信トリプレットをネガティブサンプルとして使用し、ランダムな通信トリプレットをポジティブサンプルとして使用した。ランダムな通信トリプレットは、学習用通信トリプレットを構成する要素から、2つの異なるIPアドレスとTCP/UDPポート番号とを個別かつ均一にランダムに選択することで生成した。
 そして、GCN SCOPE及びDistMultで構成されるモデル等にテスト用の通信トリプレットから出力させたスコアに基づき、識別能力を評価した。スコアに基づく異常リンクと正常リンクとの識別能力は、出力されたスコアを閾値判定して評価した。
 図17からわかるように、GCN SCOPEは、平均0.957のROC-AUCを達成しDistMult、first-order proximity優先手法及びsecond-order proximity優先手法よりも優れた識別能力を示している。これにより、GCN SCOPEは、正常な通信トリプレットと異常な通信トリプレットとを高精度で識別できるのがわかる。
 以上から、GCN SCOPEは、ホワイトリストにない通信トリプレットの出現可能性を、マルチグラフのリンク予測として精度よく取り扱うことができ、ホワイトリストにない通信トリプレットのスコアを精度よく推定することができるのがわかる。
 これにより、GCN SCOPEは、ホワイトリストにない通信トリプレットの出現可能性をスコアにより定量化することで、セキュリティの観点から分析すべき重要な通信トリプレットを絞ることができるので、ネットワークの通信に対する誤検知を抑制できるのがわかる。
 (変形例)
 上記の実施の形態では、所定期間のネットワークの通信から取得した通信トリプレット(第2の通信トリプレット)を安全なものであると判断して、ホワイトリストとして記憶部30に記憶する場合について説明した。また、上記の実施の形態では、記憶部30に記憶した第2の通信トリプレットを、学習用通信トリプレット301として利用する場合について説明した。
 しかしながら、所定期間のネットワークの通信から取得した第2の通信トリプレットに安全でないものが含まれている可能性がある。換言すると、所定期間のネットワークの通信から取得した第2の通信トリプレットを学習用通信トリプレット301として、例えば図8Bの(a)に示されるようにマルチグラフを構築したときのリンクのいずれか1つ以上が異常リンクである可能性がある。例えば、学習時にマルチグラフを構築したときの1以上のリンクが例えば設定ミスまたはマルウェアにより発生したリンクである場合、1以上のリンクは安全なリンクではなく異常リンクである。
 そして、このような異常リンクがあるマルチグラフを用いてモデル302の学習を行うと、スコアリング処理の際に、異常な通信トリプレットを見逃してしまう可能性がある。
 そこで、本変形例では、学習用通信トリプレット301に異常なものが含まれていないかを確認する方法等について説明する。
 [5.1 学習装置部2Aの構成]
 図18は、本変形例に係る学習装置部2Aの構成の一例を示すブロック図である。図1と同様の要素には同一の符号を付しており、詳細な説明は省略する。
 学習装置部2Aは、図18に示すように、コネクション取得部21、通信トリプレット抽出部22A、学習部23A、記憶部31、記憶部32と、異常度確認部33Aとを備える。図18に示す学習装置部2Aは、図1に示す学習装置部2に対して、異常度確認部33Aの構成が追加されている点と、通信トリプレット抽出部22A及び学習部23Aの構成とが異なる。
 [5.1.1 通信トリプレット抽出部22A]
 通信トリプレット抽出部22Aは、所定期間のネットワークの通信から、第3の通信トリプレットを取得する。ここで、複数の第3の通信トリプレットのそれぞれは、送信元デバイスを示す情報、宛先デバイスを示す情報及び通信種別を示す情報からなる3つの組で構成される。図18に示す例では、通信トリプレット抽出部22Aは、コネクション取得部21により取得されたコネクション情報から、通信トリプレットを第3の通信トリプレットとして抽出し、学習用通信トリプレット301として記憶部31に記憶する。
 なお、通信トリプレット抽出部22Aは、通信トリプレット抽出部22と同様に、抽出された通信トリプレットが学習用通信トリプレット301として記憶されている場合(既に観測された場合)、学習用通信トリプレット301に追加しない。
 また、後述するが、学習装置部2Aにおいて、異常度確認部33Aが、学習済のモデル302を用いて推定した異常度を示すスコアを表示画面に提示または出力するのみで、記憶部31に記憶される学習用通信トリプレット301の更新を行わない場合がある。この場合、通信トリプレット抽出部22Aは、通信トリプレット抽出部22と同様の動作をすればよい。すなわち、通信トリプレット抽出部22Aは、所定期間のネットワークの通信から、抽出した通信トリプレットを第2の通信トリプレットとして取得すればよい。
 [5.1.2 学習部23A]
 学習部23Aは、記憶部31に記憶された学習用通信トリプレット301を用いて、記憶部32に記憶されたモデル302に対して学習処理を行う。そして、学習部23Aは、記憶部32に記憶されたモデル302を、学習済のモデル302に更新する。
 本変形例では、学習部23Aは、第3の通信トリプレットを、学習用データとして用いて、モデル302に、第3の通信トリプレットのベクトル表現を獲得させ、かつ、所定期間のネットワークの通信が出現する可能性をスコアとして推定させる学習処理を行う。
 また、学習部23Aは、複数の第3の通信トリプレットから、異常度確認部33Aが推定した異常度を示すスコアに基づき1以上の第3の通信トリプレットを除いた通信トリプレットを、再学習用データに用いてもよい。この場合、学習部23Aは、当該再学習用データを用いて、モデル302に、再学習用データに含まれる第3の通信トリプレットのベクトル表現を獲得させ、かつ、所定期間のネットワークの通信が出現する可能性をスコアとして推定させる再学習処理を行えばよい。
 より詳細には、学習部23Aは、学習処理または再学習処理において、第3の通信トリプレットを構成する3つの組の集合から、送信元デバイスを示す情報及び宛先デバイスを示す情報をノード、通信種別を示す情報をエッジの種類とするマルチグラフを構築すればよい。そして、学習部23Aは、構築したマルチグラフをモデル302に入力することで、モデル302に当該マルチグラフの各ノードを固定次元のベクトル表現にマッピングさせて、第3の通信トリプレットのベクトル表現を獲得させる学習を行えばよい。
 なお、後述するが、学習装置部2Aにおいて、異常度確認部33Aが、学習済のモデル302を用いて推定した異常度を示すスコアを表示画面に提示または出力するのみで、記憶部31に記憶される学習用通信トリプレット301の更新を行わない場合がある。この場合、学習部23Aは、学習部23と同様の動作をすればよい。すなわち、学習部23Aは、第2の通信トリプレットを、学習用データとして用いて、モデル302に、第2の通信トリプレットのベクトル表現を獲得させ、かつ、所定期間のネットワークの通信が出現する可能性をスコアとして推定させる学習処理を行えばよい。
 また、学習用データとして用いられる第2の通信トリプレット、または、学習用データもしくは再学習用データとして用いられる第3の通信トリプレットには、通信種別として、当該通信種別に加えて所定期間のネットワークの通信に関する特徴量を含んでもよい。この特徴量は、所定期間のネットワークの通信における単位時間あたり通信量及び通信時間間隔の中央値の少なくとも一方を含んでもよい。これにより、学習部23Aは、モデル302が獲得するベクトル表現の精度を向上させることができ、学習済のモデル302が推定するスコアの精度を向上させることができる。
 [5.1.3 異常度確認部33A]
 異常度確認部33Aは、学習済のモデル302を用いて、複数の第3の通信トリプレットのそれぞれが所定期間のネットワークの通信として出現する可能性を、異常度を示すスコアとして推定して出力する。
 本変形例では、学習用通信トリプレット301に異常な通信トリプレットが含まれているかどうかを確認するために、異常度確認部33Aは、記憶部32に記憶されている学習済のモデル302を用いて、学習用通信トリプレット301に対して、上述したようなスコアリング処理を行う。
 換言すると、本変形例では、学習期間に観測されたリンク(学習時にマルチグラフを構築したときのリンク)を用いてモデル302を学習することは、上記実施の形態で説明した通りである。なお、上記の実施の形態では、学習時にマルチグラフを構築したときのリンクは、すべて安全なものとみなしていた。本変形例では、学習時にマルチグラフを構築したときのリンクがすべて安全なものであるとは限らないとして、既に観測されているリンクすなわち学習時にマルチグラフを構築したときのリンクの異常度を示すスコアを推定させる。
 図19は、本変形例に係る学習時にマルチグラフを構築したときのリンクと、推定された異常度を示すスコアとを示す図である。
 本変形例では、異常度確認部33Aは、学習済のモデル302に、学習用通信トリプレット301をマルチグラフに変換させ、当該マルチグラフの2つのノードを固定次元のベクトル表現にマッピングさせることで、学習用通信トリプレット301のベクトル表現を獲得させる。また、異常度確認部33Aは、学習済のモデル302を用いて、図8Bの(c)に示されるような学習済のベクトル表現と、学習用通信トリプレット301の獲得したベクトル表現とから、学習用通信トリプレット301のスコアを、異常度を示すスコアとして推定する。
 図19には、学習時にマルチグラフを構築したときのリンクそれぞれに対する、異常度を示すスコアの一例が示されている。図19に示される例では、異常度(を示すスコア)が80を示すリンクは、異常リンクである可能性がある。なお、閾値を適切に設定することで、学習用通信トリプレット301に安全でないものが含まれているかどうかを判定することができる。また、この閾値は、上記の実施の形態に係るスコアリング処理で設定する閾値より低く設定するとよいが、同じであってもよい。
 異常度確認部33Aは、学習時にマルチグラフを構築したときのリンクに対する異常度を示すスコアを出力し、ディスプレイなどの表示画面に提示してもよい。この場合、学習装置部2Aのユーザは、学習時にマルチグラフを構築したときのリンクのそれぞれが正常なのか異常なのかを確認できる。これにより、学習装置部2Aのユーザは、複数の第3の通信トリプレットから異常度を示すスコアに基づき1以上の第3の通信トリプレットを除いた通信トリプレットを、ホワイトリスト301a(複数の第2の通信トリプレット)として記憶部30に記憶することができる。
 このように、学習装置部2Aのユーザは、学習期間である所定期間のネットワークの通信から取得した複数の第3の通信トリプレットから、異常度を示すスコアを用いて安全でないものを除いた通信トリプレットを、ホワイトリスト301aとして記憶部30に記憶することができる。
 なお、学習装置部2Aのユーザがホワイトリスト301aの見直しを行う場合、異常度確認部33Aは、学習済のモデル302を用いて推定した異常度を示すスコアを表示画面に提示または出力するのみでよい。すなわち、異常度確認部33Aは、記憶部31に記憶される学習用通信トリプレット301の更新を行わないとしてもよい。この場合、異常度確認部33Aは、学習期間である所定期間のネットワークの通信から取得した第2の通信トリプレットのそれぞれが所定期間のネットワークの通信として出現する可能性を、学習済のモデル302を用いて異常度を示すスコアとして推定して出力すればよい。
 なお、ホワイトリスト301aの見直し(更新)は、学習装置部2Aのユーザにより行われる場合に限らず、異常度確認部33Aにより行われてもよい。すなわち、異常度確認部33Aは、取得した複数の第3の通信トリプレットから、異常度を示すスコアに基づき1以上の第3の通信トリプレットを除いた通信トリプレットを、ホワイトリスト301a(複数の第2の通信トリプレット)として記憶部30に記憶してもよい。
 また、異常度確認部33Aは、学習用通信トリプレット301を更新してもよい。すなわち、異常度確認部33Aは、学習期間である所定期間のネットワークの通信から取得した複数の第3の通信トリプレットから、異常度を示すスコアに基づき1以上の第3の通信トリプレットを除いた通信トリプレットに、学習用通信トリプレット301を更新してもよい。また、学習部23Aは、更新された学習用通信トリプレット301を用いて、モデル302を再学習処理してもよい。これにより、通信監視装置1は、再学習されたモデル302を用いることができるので、スコアリング処理の際に、異常な通信トリプレットを見逃してしまう可能性を抑制できる。
 [5.2 本変形例に係る通信監視システム100の動作]
 以上のように構成された学習装置部2Aを含む通信監視システム100の動作について以下説明する。
 図20は、本変形例に係る学習装置部2Aを含む通信監視システム100の動作概要を示すフローチャートである。
 まず、本変形例における学習装置部2Aを含む通信監視システム100は、学習用通信トリプレット抽出処理を行う(S101)。本変形例では、当該通信監視システム100は、学習期間である所定期間のネットワークの通信から、通信トリプレットを抽出し、学習用通信トリプレット301として記憶部31に記憶する。
 次に、当該通信監視システム100は、学習処理を行う(S102)。本変形例では、当該通信監視システム100は、抽出して記憶部31に記憶された学習用通信トリプレット301を、学習用データとして用いて、モデル302の学習処理を行う。
 次に、当該通信監視システム100は、異常度確認処理を行う(S103)。ステップS103の異常度確認処理の詳細は、後述する。
 次に、当該通信監視システム100は、再学習するかを判定する(S104)。
 ステップS104において、当該通信監視システム100は、学習用通信トリプレット301が更新されている場合には、再学習すると判定し(S104でYes)、ステップS102に戻る。そして、ステップS102において、当該通信監視システム100は、更新された学習用通信トリプレット301を再学習用データとして用いて、モデル302の学習処理(再学習処理)を行う。
 一方、ステップS104において、当該通信監視システム100は、学習用通信トリプレット301が更新されていない場合には、再学習しないと判定し(S104でNo)、ステップS105へ進む。
 次に、当該通信監視システム100は、スコアリング処理を行う(S105)。ステップS105のスコアリング処理は、上述した図9におけるステップS3のスコアリング処理と同様であるため、ここでの説明を省略する。
 図21は、図20に示す異常度確認処理の詳細例を示すフローチャートである。図21では、異常度確認処理として、学習用通信トリプレット301に対して推定した異常度を示すスコアを、提示または出力するのみ行う場合について示されている。
 まず、通信監視システム100に含まれる学習装置部2Aは、記憶部31に記憶されている学習用通信トリプレット301を取得する(S1031)。本変形例では、学習装置部2Aは、学習期間である所定期間のネットワークの通信から、抽出した通信トリプレットである複数の第2の通信トリプレットで構成されている学習用通信トリプレット301を取得する。
 次に、学習装置部2Aは、ステップS1031で取得した学習用通信トリプレット301に対して、異常度を示すスコアを推定する(S1032)。本変形例では、学習装置部2Aは、学習済のモデル302を用いて、複数の第2の通信トリプレットのそれぞれが当該所定期間のネットワーク通信として出現する可能性を、異常度を示すスコアとして推定する。
 次に、学習装置部2Aは、ステップS1032で推定した異常度(を示すスコア)を提示する(S1033)。本変形例では、学習装置部2Aは、ステップS1032で推定した異常度(を示すスコア)を、例えばディスプレイ等に表示させることで提示する。
 図22は、図20に示す異常度確認処理の別の詳細例を示すフローチャートである。図22では、異常度確認処理として、学習用通信トリプレット301に対して推定した異常度を示すスコアに基づいて、ホワイトリスト301aを更新する処理を含む場合について示されている。
 まず、通信監視システム100に含まれる学習装置部2Aは、記憶部31に記憶されている学習用通信トリプレット301を取得する(S1041)。本変形例では、学習装置部2Aは、学習期間である所定期間のネットワークの通信から、抽出した通信トリプレットである複数の第3の通信トリプレットで構成されている学習用通信トリプレット301を取得する。
 次に、学習装置部2Aは、ステップS1041で取得した学習用通信トリプレット301に対して、異常度を示すスコアを推定する(S1042)。本変形例では、学習装置部2Aは、学習済のモデル302を用いて、複数の第3の通信トリプレットのそれぞれが当該所定期間のネットワークの通信として出現する可能性を、異常度を示すスコアとして推定する。
 次に、学習装置部2Aは、ステップS1042で推定した異常度(を示すスコア)に基づき、ホワイトリスト301aの更新を行う(S1043)。本変形例では、学習装置部2Aは、ステップS1041で取得した複数の第3の通信トリプレットから、ステップS1042で推定した異常度(を示すスコア)に基づき1以上の第3の通信トリプレットを除く。そして、学習装置部2Aは、取得した複数の第3の通信トリプレットから当該1以上の第3の通信トリプレットを除いた通信トリプレットを、ホワイトリスト301a(複数の第2の通信トリプレット)として記憶部30に記憶する。このようにして、学習装置部2Aは、ホワイトリスト301aの更新を行う。
 次に、学習装置部2Aは、再学習処理を行うかどうかを判定し(S1044)、再学習処理を行うと判定した場合には(S1044でYes)、学習用通信トリプレット301を更新する(S1045)。一方、ステップS1044において、再学習処理を行わないと判定した場合には(S1044でNo)、学習装置部2Aは、処理を終了する。
 [5.3 効果等]
 本変形例によれば、学習に用いた複数の通信トリプレットに対してスコアリング処理を行い、異常な通信トリプレットを確認することができる。つまり、本変形例によれば、ホワイトリスト301aとしても用いられる学習用通信トリプレット301それぞれに対する異常度を示すスコアを確認できる。これにより、学習期間としての所定期間のネットワークの通信から取得した学習用通信トリプレット301に異常な通信トリプレットが含まれていないかを確認することができる。
 より詳細には、学習期間としての所定期間のネットワークの通信から取得した学習用通信トリプレット301を用いてマルチグラフを構築したときのリンクはすべて安全なものであるとは限らない。このため、本変形例では、学習装置部2Aに、既に観測されているリンクすなわち学習時にマルチグラフを構築したときのリンクの異常度を示すスコアを推定させる。これにより、学習装置部2Aまたは学習装置部2Aのユーザは、推定させた異常度を示すスコアに基づいてそれらのリンクが正常なのか異常なのかを確認できる。
 したがって、本変形例では、推定した異常度を示すスコアに基づいて、ホワイトリスト301aを見直して、より安全なホワイトリスト301aに更新できる。換言すると、本変形例では、推定した異常度を示すスコアを用いて、学習期間としての所定期間のネットワークの通信から取得した複数の第3の通信トリプレットから異常な第3の通信トリプレットを除いた通信トリプレットを、ホワイトリスト301aとして記憶させることができる。
 また、本変形例では、推定した異常度を示すスコアを用いて、安全でない(異常である)と推定される通信トリプレットを除いたより安全な通信トリプレットで構成される学習用通信トリプレット301に更新することができる。これにより、学習装置部2Aに、更新した学習用通信トリプレット301を用いて、モデル302を再学習処理させることができる。つまり、学習期間としての所定期間のネットワークの通信から取得した複数の通信トリプレットから異常な通信トリプレットを除いたものに更新した学習用通信トリプレット301を再学習用データとして用いて、モデル302を再学習させることができる。これにより、通信監視装置1は、再学習されたモデル302を用いることにより、スコアリング処理の際に、異常な通信トリプレットを見逃してしまう可能性を抑制できる。
 (他の実施態様の可能性)
 以上、本開示の一態様に係る通信監視方法、及び、通信監視システムについて、実施の形態に基づいて説明したが、本開示は、これらの実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したもの、あるいは異なる実施の形態における構成要素を組み合わせて構築される形態も、本開示の範囲内に含まれる。例えば、以下のような場合も本開示に含まれる。
 (1)上記の通信監視システムを構成する構成要素の一部または全部は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムでもよい。前記RAMまたはハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
 (2)上記の通信監視システムを構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
 (3)上記の通信監視システムを構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
 本開示は、通信監視方法、及び、通信監視システムに利用でき、特に、セキュリティ監視者に大きな分析負荷をかけずに、ICSのセキュリティ対策を行うための通信監視方法、及び、通信監視システムに利用できる。
 1 通信監視装置
 2、2A 学習装置部
 11、21 コネクション取得部
 12、22、22A 通信トリプレット抽出部
 13 スコアリング部
 23、23A 学習部
 30、31、32 記憶部
 33A 異常度確認部
 100 通信監視システム
 301 学習用通信トリプレット
 301a ホワイトリスト
 302 モデル

Claims (19)

  1.  ネットワークの通信を監視する通信監視方法であって、
     前記通信から、送信元デバイスを示す情報、宛先デバイスを示す情報、及びデバイス間でやりとりする通信種別を示す情報からなる3つの組で構成される第1の通信トリプレットを抽出するステップと、
     抽出された前記第1の通信トリプレットが、ホワイトリストとして記憶部に予め記憶された複数の第2の通信トリプレットであって送信元デバイスを示す情報、宛先デバイスを示す情報及び通信種別を示す情報からなる3つの組でそれぞれ構成される複数の第2の通信トリプレットのいずれかに該当するか判定するステップと、
     前記第1の通信トリプレットが前記複数の第2の通信トリプレットのいずれにも該当しない場合、学習済のモデルを用いて前記第1の通信トリプレットが前記通信として出現する可能性をスコアとして推定して出力するステップとを含む、
     通信監視方法。
  2.  出力するステップでは、
     前記スコアが閾値以下である場合、前記通信が疑わしい通信である旨を示す監視結果を出力する、
     請求項1に記載の通信監視方法。
  3.  前記スコアを推定する際、
     前記学習済のモデルに、
     前記第1の通信トリプレットを構成する3つの組の集合を、前記送信元デバイスを示す情報及び前記宛先デバイスを示す情報をノード、前記通信種別を示す情報をエッジの種類とするマルチグラフに変換させ、かつ、前記マルチグラフの各ノードを固定次元のベクトル表現にマッピングさせることで、前記第1の通信トリプレットの各要素のベクトル表現を獲得させ、
     獲得させた前記第1の通信トリプレットのベクトル表現から、前記スコアを推定させる、
     請求項1または2に記載の通信監視方法。
  4.  前記モデルは、
     R-GCN(Relational Graph Convolutional Network)で構成される、
     請求項3に記載の通信監視方法。
  5.  前記スコアを推定する際、
     前記学習済のモデルに、
     前記第1の通信トリプレットを構成する3つの組の集合を、前記送信元デバイスを示す情報及び前記宛先デバイスを示す情報をノード、前記通信種別を示す情報をエッジの種類とするマルチグラフに変換させ、前記マルチグラフから、前記第1の通信トリプレットのベクトル表現を獲得させ、
     獲得させた前記第1の通信トリプレットのベクトル表現から、リンク予測アルゴリズムを用いて、前記スコアを推定させる、
     請求項1または2に記載の通信監視方法。
  6.  前記モデルは、COMPGCN(COMPosition-based multi-relational Graph Convolutional Networks)で構成される、
     請求項5に記載の通信監視方法。
  7.  前記スコアを推定する際、
     前記学習済のモデルに、
     前記第1の通信トリプレットを構成する3つの組の集合から、前記第1の通信トリプレットのベクトル表現を獲得させ、
     獲得させた前記第1の通信トリプレットのベクトル表現から、リンク予測アルゴリズムを用いて、前記スコアを推定させる、
     請求項1または2に記載の通信監視方法。
  8.  前記モデルは、
     DistMult、convE(convolutional 2D Knowledge Graph Embeddings)、TransE(Translating Embeddings for Modeling Multi-relational Data)、HolE(Holographic Embeddings of Knowledge Graphs)、及び、ComplEx(Complex Embeddings for Simple Link Prediction)のいずれかで構成される、
     請求項7に記載の通信監視方法。
  9.  前記送信元デバイスを示す情報は、送信元デバイスであるサーバのIPアドレスであり、
     前記宛先デバイスを示す情報は、宛先デバイスであるクライアントのIPアドレスであり、
     前記通信種別を示す情報は、TCP/UDPのポート番号またはアラート種別を含む、
     請求項1~8のいずれか1項に記載の通信監視方法。
  10.  前記送信元デバイスを示す情報は、送信元デバイスのMACアドレスまたはシリアル番号であり、
     前記宛先デバイスを示す情報は、宛先デバイスのMACアドレスまたはシリアル番号であり、
     前記通信種別を示す情報は、送信元デバイス及び宛先デバイスの間でやりとりする通信命令の種別またはアラート種別を含む、
     請求項1~8のいずれか1項に記載の通信監視方法。
  11.  前記通信監視方法は、前記抽出するステップの前において、さらに、
     所定期間のネットワークの通信から、前記第2の通信トリプレットを取得するステップと、
     取得した前記第2の通信トリプレットを、学習用データとして用いて、前記モデルに、前記第2の通信トリプレットのベクトル表現を獲得させ、かつ、前記所定期間のネットワークの通信が出現する可能性を、スコアとして推定させる学習処理を行うステップとを含む、
     請求項1~10のいずれか1項に記載の通信監視方法。
  12.  前記通信監視方法は、前記抽出するステップの前において、さらに、
     所定期間のネットワークの通信から、前記第2の通信トリプレットを取得するステップと、
     取得した前記第2の通信トリプレットを、学習用データとして用いて、前記モデルに、前記第2の通信トリプレットのベクトル表現を獲得させ、かつ、前記所定期間のネットワークの通信が出現する可能性をスコアとして推定させる学習処理を行うステップと、
     学習済の前記モデルを用いて取得した前記第2の通信トリプレットのそれぞれが前記通信として出現する可能性を、異常度を示すスコアとして推定して出力するステップとを含む、
     請求項1~10のいずれか1項に記載の通信監視方法。
  13.  前記モデルに、前記第2の通信トリプレットのベクトル表現を獲得させる学習処理では、
     前記第2の通信トリプレットを構成する3つの組の集合から、前記送信元デバイスを示す情報及び前記宛先デバイスを示す情報をノード、前記通信種別を示す情報をエッジの種類としてマルチグラフを構築し、
     構築した前記マルチグラフを前記モデルに入力し、前記モデルに前記マルチグラフの各ノードを固定次元のベクトル表現にマッピングさせ、前記第2の通信トリプレットのベクトル表現を獲得させる学習を行う、
     請求項11または12に記載の通信監視方法。
  14.  前記学習用データとして用いられる前記第2の通信トリプレットには、
     前記通信種別として、当該通信種別に加えて前記所定期間のネットワークの通信に関する特徴量を含む、
     請求項11~13のいずれか1項に記載の通信監視方法。
  15.  前記特徴量は、前記所定期間のネットワークの通信における単位時間あたり通信量及び通信時間間隔の中央値の少なくとも一方を含む、
     請求項14に記載の通信監視方法。
  16.  前記通信監視方法は、前記抽出するステップの前において、さらに、
     所定期間のネットワークの通信から、送信元デバイスを示す情報、宛先デバイスを示す情報、及び通信種別を示す情報からなる3つの組で構成される複数の第3の通信トリプレットを取得するステップと、
     取得した前記複数の第3の通信トリプレットを、学習用データとして用いて、前記モデルに、前記第3の通信トリプレットのベクトル表現を獲得させ、かつ、前記所定期間のネットワークの通信が出現する可能性を、スコアとして推定させる学習処理を行うステップと、
     学習済の前記モデルを用いて前記複数の第3の通信トリプレットのそれぞれが前記通信として出現する可能性を、異常度を示すスコアとして推定して出力するステップと、
     前記複数の第3の通信トリプレットから前記異常度を示すスコアに基づき1以上の第3の通信トリプレットを除いた通信トリプレットを、前記複数の第2の通信トリプレットとして前記記憶部に記憶するステップとを含む、
     請求項1~10のいずれか1項に記載の通信監視方法。
  17.  前記通信監視方法は、前記抽出するステップの前において、さらに、
     所定期間のネットワークの通信から、送信元デバイスを示す情報、宛先デバイスを示す情報、及び通信種別を示す情報からなる3つの組で構成される複数の第3の通信トリプレットを取得するステップと、
     取得した前記複数の第3の通信トリプレットを、学習用データとして用いて、前記モデルに、前記第3の通信トリプレットのベクトル表現を獲得させ、かつ、前記所定期間のネットワークの通信が出現する可能性を、スコアとして推定させる学習処理を行うステップと、
     学習済の前記モデルを用いて前記複数の第3の通信トリプレットのそれぞれが前記通信として出現する可能性を、異常度を示すスコアとして推定して出力するステップと、
     前記複数の第3の通信トリプレットから前記スコアに基づき1以上の第3の通信トリプレットを除いた通信トリプレットを、再学習用データとして用いて、前記モデルに、前記第3の通信トリプレットのベクトル表現を獲得させ、かつ、前記所定期間のネットワークの通信が出現する可能性を、スコアとして推定させる再学習処理を行うステップと、
     前記複数の第3の通信トリプレットから前記異常度を示すスコアに基づき1以上の第3の通信トリプレットを除いた通信トリプレットを、前記複数の第2の通信トリプレットとして前記記憶部に記憶するステップとを含む、
     請求項1~10のいずれか1項に記載の通信監視方法。
  18.  学習処理または再学習処理では、
     前記第3の通信トリプレットを構成する3つの組の集合から、前記送信元デバイスを示す情報及び前記宛先デバイスを示す情報をノード、前記通信種別を示す情報をエッジの種類としてマルチグラフを構築し、
     構築した前記マルチグラフを前記モデルに入力し、前記モデルに前記マルチグラフの各ノードを固定次元のベクトル表現にマッピングさせ、前記第2の通信トリプレットのベクトル表現を獲得させる学習を行う、
     請求項16または17に記載の通信監視方法。
  19.  ネットワークの通信を監視する通信監視システムであって、
     前記通信から、送信元デバイスを示す情報、宛先デバイスを示す情報及びデバイス間でやりとりする通信種別を示す情報からなる3つの組で構成される第1の通信トリプレットを抽出する抽出部と、
     ホワイトリストとして、送信元デバイスを示す情報、宛先デバイスを示す情報及び通信種別を示す情報からなる3つの組でそれぞれ構成される複数の第2の通信トリプレットが予め記憶されている記憶部と、
     抽出された前記第1の通信トリプレットが、前記複数の第2の通信トリプレットのいずれかに該当するか判定し、前記第1の通信トリプレットが前記複数の第2の通信トリプレットのいずれにも該当しない場合、学習済のモデルを用いて前記第1の通信トリプレットが前記通信として出現する可能性をスコアとして推定して出力するスコアリング部とを備える、
     通信監視システム。
PCT/JP2021/025530 2020-07-15 2021-07-06 通信監視方法、及び、通信監視システム Ceased WO2022014422A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP21843073.4A EP4184875A4 (en) 2020-07-15 2021-07-06 COMMUNICATIONS MONITORING METHOD AND COMMUNICATIONS MONITORING SYSTEM
CN202180048831.4A CN115804066A (zh) 2020-07-15 2021-07-06 通信监视方法和通信监视系统
JP2022536285A JP7809637B2 (ja) 2020-07-15 2021-07-06 通信監視方法、及び、通信監視システム
US18/093,631 US12470576B2 (en) 2020-07-15 2023-01-05 Communication monitoring method and communication monitoring system

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202063052036P 2020-07-15 2020-07-15
US63/052,036 2020-07-15
JP2020-193196 2020-11-20
JP2020193196 2020-11-20

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/093,631 Continuation US12470576B2 (en) 2020-07-15 2023-01-05 Communication monitoring method and communication monitoring system

Publications (1)

Publication Number Publication Date
WO2022014422A1 true WO2022014422A1 (ja) 2022-01-20

Family

ID=79554774

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/025530 Ceased WO2022014422A1 (ja) 2020-07-15 2021-07-06 通信監視方法、及び、通信監視システム

Country Status (5)

Country Link
US (1) US12470576B2 (ja)
EP (1) EP4184875A4 (ja)
JP (1) JP7809637B2 (ja)
CN (1) CN115804066A (ja)
WO (1) WO2022014422A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2024017523A (ja) * 2022-07-28 2024-02-08 株式会社東芝 情報処理装置、情報処理方法及び情報処理プログラム
WO2024127731A1 (ja) * 2022-12-13 2024-06-20 パナソニックIpマネジメント株式会社 異常判定方法、異常判定システム、および、プログラム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN119094250B (zh) * 2024-11-08 2025-02-18 辽宁交投艾特斯技术股份有限公司 一种内网流量异常检测方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019205136A (ja) * 2018-05-25 2019-11-28 日本電信電話株式会社 特定装置、特定方法及び特定プログラム
WO2019240020A1 (ja) * 2018-06-13 2019-12-19 パナソニックIpマネジメント株式会社 不正通信検知装置、不正通信検知方法及び製造システム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104091122A (zh) * 2014-06-17 2014-10-08 北京邮电大学 一种移动互联网恶意数据的检测系统
WO2017187520A1 (ja) * 2016-04-26 2017-11-02 三菱電機株式会社 侵入検知装置、侵入検知方法及び侵入検知プログラム
US11146578B2 (en) 2016-12-16 2021-10-12 Patternex, Inc. Method and system for employing graph analysis for detecting malicious activity in time evolving networks
US11665165B2 (en) * 2017-01-23 2023-05-30 Mitsubishi Electric Corporation Whitelist generator, whitelist evaluator, whitelist generator/evaluator, whitelist generation method, whitelist evaluation method, and whitelist generation/evaluation method
US10637744B2 (en) * 2017-04-12 2020-04-28 Battelle Memorial Institute Complementary workflows for identifying one-hop network behavior and multi-hop network dependencies
US11108809B2 (en) * 2017-10-27 2021-08-31 Fireeye, Inc. System and method for analyzing binary code for malware classification using artificial neural network techniques
US11122063B2 (en) * 2017-11-17 2021-09-14 Accenture Global Solutions Limited Malicious domain scoping recommendation system
EP3763099B1 (en) * 2018-03-08 2024-05-01 Forescout Technologies, Inc. Attribute-based policies for integrity monitoring and network intrusion detection
US12106217B2 (en) * 2018-05-18 2024-10-01 Benevolentai Technology Limited Graph neutral networks with attention
US11082438B2 (en) * 2018-09-05 2021-08-03 Oracle International Corporation Malicious activity detection by cross-trace analysis and deep learning
US11928208B2 (en) * 2018-10-02 2024-03-12 Nippon Telegraph And Telephone Corporation Calculation device, calculation method, and calculation program
CN111200575B (zh) * 2018-11-16 2023-12-01 慧盾信息安全科技(苏州)股份有限公司 一种基于机器学习的信息系统恶意行为的识别方法
EP4000232A4 (en) * 2019-07-15 2023-04-12 ICS Security (2014) Ltd. System and method for protection of an ics network by an hmi server therein
US11509687B2 (en) * 2019-08-26 2022-11-22 The Western Union Company Detection of a malicious entity within a network
US20210158161A1 (en) * 2019-11-22 2021-05-27 Fraud.net, Inc. Methods and Systems for Detecting Spurious Data Patterns
US12229779B2 (en) * 2020-01-06 2025-02-18 Visa International Service Association Method, system, and computer program product for detecting group activities in a network
US12147534B2 (en) * 2020-04-06 2024-11-19 Cybereason Inc. Graph-based classification of elements

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019205136A (ja) * 2018-05-25 2019-11-28 日本電信電話株式会社 特定装置、特定方法及び特定プログラム
WO2019240020A1 (ja) * 2018-06-13 2019-12-19 パナソニックIpマネジメント株式会社 不正通信検知装置、不正通信検知方法及び製造システム

Non-Patent Citations (11)

* Cited by examiner, † Cited by third party
Title
A. BORDESN. USUNIERA. GARCIA-DURANJ. WESTONO. YAKHNENKO: "Translating embeddings for modeling multi-relational data", PROC. OF CONFERENCE AND WORKSHOP ON NEURAL INFORMATION PROCESSING SYSTEMS (NIPS, 2013
B. YANGW. YIHX. HEJ. GAOL. DENG: "Embedding entities and relations for learning and inference in knowledge bases", PROC. OF INTERNATIONAL CONFERENCE ON LEARNING REPRESENTATIONS (ICLR, 2015
K. STOUFFERJ. FALCOK. SCARFONE: "Guide to industrial control systems ICS security", NIST SPECIAL PUBLICATION, vol. 800, no. 82, 2011
M. S. SCHLICHTKRULLT. N. KIPFP. BLOEMR. VAN DEN BERGI. TITOVM. WELLING: "Modeling relational data with graph convolutional networks", PROC. OF EXTENDED SEMANTIC WEB CONFERENCE (ESWC, 2018
NICKEL, MAXIMILIAN, ROSASCO, LORENZO, AND POGGIO, TOMASO A.: "Holographic embeddings of knowledge graphs", PROCEEDINGS OF THE THIRTIETH AAAI CONFERENCE ON ARTIFICIAL INTELLIGENCE, 2016, pages 1955 - 1961
PAXSON, V.CAMPBELL, S.LEE, J.: "Bro intrusion detection system (No. Bro; 001905IBMPC00", 2006, LAWRENCE BERKELEY NATIONAL LABORATORY
R. R. R. BARBOSAR. SADREA. PRAS: "Flow whitelisting in SCADA networks", INTERNATIONAL JOURNAL OF CRITICAL INFRASTRUCTURE PROTECTION (IJCIP, vol. 6, no. 3-4, 2013, XP055580284, DOI: 10.1016/j.ijcip.2013.08.003
See also references of EP4184875A4
SHIKHAR VASHISHTHSOUMYA SANYALVIKRAM NITINPARTHA TALUKDAR: "Composition-based Multi-Relational Graph Convolutional Networks", ICLR 2020 CONFERENCE BLIND SUBMISSION
T. DETTMERSP. MINERVINIP. STENETORPS. RIEDEL: "Convolutional 2d knowledge graph embeddings", PROC. OF ASSOCIATION FOR THE ADVANCEMENT OF ARTIFICIAL INTELLIGENCE (AAAI, 2018
THEO TROUILLONJOHANNES WELBLSEBASTIAN RIEDELERIC GAUSSIERGUILLAUME BOUCHARD: "Complex Embeddings for Simple Link Prediction", ICML'16: PROCEEDINGS OF THE 33RD INTERNATIONAL CONFERENCE ON INTERNATIONAL CONFERENCE ON MACHINE LEARNING, vol. 48, June 2016 (2016-06-01), pages 2071 - 2080

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2024017523A (ja) * 2022-07-28 2024-02-08 株式会社東芝 情報処理装置、情報処理方法及び情報処理プログラム
WO2024127731A1 (ja) * 2022-12-13 2024-06-20 パナソニックIpマネジメント株式会社 異常判定方法、異常判定システム、および、プログラム

Also Published As

Publication number Publication date
US20230141747A1 (en) 2023-05-11
US12470576B2 (en) 2025-11-11
JP7809637B2 (ja) 2026-02-02
EP4184875A1 (en) 2023-05-24
JPWO2022014422A1 (ja) 2022-01-20
EP4184875A4 (en) 2023-12-27
CN115804066A (zh) 2023-03-14

Similar Documents

Publication Publication Date Title
Vinayakumar et al. Deep learning approach for intelligent intrusion detection system
JP7614715B2 (ja) 機械学習モデルを用いてeメールネットワークを保護するサイバー脅威防御システム
Li et al. Machine learning algorithms for network intrusion detection
Ortet Lopes et al. Towards effective detection of recent DDoS attacks: A deep learning approach
Carrasco et al. Unsupervised intrusion detection through skip-gram models of network behavior
Hnamte et al. An efficient DDoS attack detection mechanism in SDN environment
Maseer et al. Meta‐analysis and systematic review for anomaly network intrusion detection systems: Detection methods, dataset, validation methodology, and challenges
Saurabh et al. Nfdlm: A lightweight network flow based deep learning model for ddos attack detection in iot domains
Yang et al. Attack projection
JP7809637B2 (ja) 通信監視方法、及び、通信監視システム
Ahuja et al. DDoS attack traffic classification in SDN using deep learning
Ravi Deep learning-based network intrusion detection in smart healthcare enterprise systems
Kalaiselvi et al. Intrusion Detection and Security Challenges in 6G Networks Using Stochastic Graph Neural Networks
Alsumaidaie et al. Intelligent detection system for a distributed denial-of-service (ddos) attack based on time series
Sakthipriya et al. Security-aware IoT botnet attack detection framework using dilated and cascaded deep learning mechanism with conditional adversarial autoencoder-based features
Khayat et al. Blockchain-powered secure and scalable threat intelligence system with graph convolutional autoencoder and reinforcement learning feedback loop
Oba et al. Graph convolutional network-based suspicious communication pair estimation for industrial control systems
Quang-Vinh Using Machine Learning for Intrusion Detection Systems.
Zhong et al. Six-graphsecurity: Industrial internet intrusion detection based on graph neural network
Li et al. An Intrusion Detection Model Based on Feature Selection and Improved One‐Dimensional Convolutional Neural Network
Shaker et al. Explainable AI for enhancing IDS against advanced persistent kill chain
Hyun-Seong et al. Design of automatic identification gateway system for different iot devices and services
Vijayan et al. Hybrid MQTTNet: an intrusion detection system using heuristic-based optimal feature integration and hybrid Fuzzy with 1DCNN
Kalliola et al. Learning flow characteristics distributions with elm for distributed denial of service detection and mitigation
Zhang et al. Automatic Generation of Industrial Internet Attack Graphs with Graph Neural Networks and Bayesian Models

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022536285

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2021843073

Country of ref document: EP

Effective date: 20230215