WO2022113355A1 - システム監視装置、システム監視方法、及びコンピュータ読み取り可能な記録媒体 - Google Patents

システム監視装置、システム監視方法、及びコンピュータ読み取り可能な記録媒体 Download PDF

Info

Publication number
WO2022113355A1
WO2022113355A1 PCT/JP2020/044544 JP2020044544W WO2022113355A1 WO 2022113355 A1 WO2022113355 A1 WO 2022113355A1 JP 2020044544 W JP2020044544 W JP 2020044544W WO 2022113355 A1 WO2022113355 A1 WO 2022113355A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
link
model
node
node information
Prior art date
Application number
PCT/JP2020/044544
Other languages
English (en)
French (fr)
Inventor
和彦 磯山
純平 上村
純明 榮
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2022565009A priority Critical patent/JPWO2022113355A5/ja
Priority to US18/038,082 priority patent/US20230418720A1/en
Priority to PCT/JP2020/044544 priority patent/WO2022113355A1/ja
Publication of WO2022113355A1 publication Critical patent/WO2022113355A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Definitions

  • the present invention relates to a system monitoring device for monitoring a system, a system monitoring method, and a computer-readable recording medium for recording a program for realizing these.
  • Patent Document 1 discloses a method of detecting a sign of an attack on a site, taking countermeasures before the start of the attack, and minimizing the damage. According to Patent Document 1, first, when the monitor agent analyzes the log of the entity and detects an abnormality, the management manager is notified of the data related to the abnormality. The management manager then selects the corresponding measures from the database based on the notified data. After that, the management manager causes the action agent of the countermeasure request destination to execute the countermeasure.
  • the purpose is to provide a system monitoring device, a system monitoring method, and a computer-readable recording medium that accurately monitor the system without accessing the kernel module.
  • the system monitoring device in one aspect is Based on the supplementary model trained using the monitoring commands and the information collected by the agent in the test system, the first node information collected by using the monitoring commands in the operation system is supplemented and the supplementary node information is generated. With the replenishment department, The supplementary node information is input to the link estimation model trained using the monitoring command and the information collected by the agent in the test system, and the probability that a link exists between the nodes is estimated. Department and It is characterized by having.
  • the system monitoring method in one aspect is Based on the supplementary model trained using the monitoring command and the information collected by the agent in the test system, the first node information collected by using the monitoring command in the operation system is supplemented and the supplementary node information is generated. To do, replenishment steps and The supplementary node information is input to the link estimation model trained using the monitoring command and the information collected by the agent in the test system, and the probability that a link exists between the nodes is estimated. Steps and It is characterized by having.
  • a computer-readable recording medium on which a program in one aspect is recorded is provided.
  • the first node information collected by using the monitoring command in the operation system is supplemented and the supplementary node information is generated.
  • replenishment steps and The supplementary node information is input to the link estimation model trained using the monitoring command and the information collected by the agent in the test system, and the probability that a link exists between the nodes is estimated. It is characterized by recording a program containing instructions to execute steps and.
  • One aspect is that the system can be monitored accurately without accessing the kernel module.
  • FIG. 1 is a diagram for explaining an example of a system monitoring device.
  • FIG. 2 is a diagram for explaining an example of a system having a system monitoring device.
  • FIG. 3 is a diagram for explaining an example of information acquired by a monitoring command.
  • FIG. 4 is a diagram for explaining an example of a supplementary model.
  • FIG. 5 is a diagram for explaining an example of information acquired by a monitoring command.
  • FIG. 6 is a diagram for explaining an example of the link estimation model.
  • FIG. 7 is a diagram for explaining an example of the link estimation model.
  • FIG. 8 is a diagram for explaining graph information.
  • FIG. 9 is a diagram for explaining the concept of graph information.
  • FIG. 10 is a diagram for explaining an example of a model generator.
  • FIG. 11 is a diagram for explaining mapping.
  • FIG. 12 is a flow chart for explaining an example of the operation of the system monitoring device.
  • FIG. 13 is a flow chart for explaining an example of the operation of the model generator.
  • FIG. 14 is a block diagram for explaining an example of a computer that realizes a system monitoring device and a model generation device.
  • FIG. 1 is a diagram for explaining an example of a system monitoring device.
  • the system monitoring device 10 shown in FIG. 1 is a device that accurately monitors the system without accessing the kernel module. Further, as shown in FIG. 1, the system monitoring device 10 has a replenishment unit 11 and an estimation unit 12.
  • the replenishment unit 11 is based on the replenishment model learned by using the monitoring command and the information collected by the agent in the test system, and the node information (first node information) collected by using only the monitoring command in the operation system. ) Is replenished to generate replenishment node information.
  • test system is a system constructed by imitating the target system (operation system) used in actual operation.
  • target system operation system
  • an agent is installed on the host used in the test system. The details of the test system will be described later.
  • the monitoring command is a command for executing a program used to monitor the system, which is provided in software such as an OS (Operating System).
  • OS Operating System
  • the program corresponding to the input monitoring command is executed, and information about the node (node information) is collected from the system.
  • Node information is, for example, information about nodes such as processes, networks, and files.
  • the node information is associated with each node and information related to one or more nodes corresponding to the node. For example, when the node information for each node is represented as a record (or row), each information about the node is represented as a field (or cell) of the record.
  • field information hereafter.
  • the agent is software used to acquire information related to the system.
  • the agent for example, accesses the kernel module of the OS and acquires the node information related to the system.
  • using an agent can cause system instability and increased load.
  • the replenishment model is based on the node information (second node information) collected using the monitoring command and the node information (third node information) collected using the agent in the test system. This is information learned from the relationship between the second node information and the third node information.
  • rule information associated with the key information for selecting the first node information and the supplementary information for supplementing the first node information is generated.
  • the supplementary model has one or more rule information.
  • Supplementary information is information added to the first node information. Supplementary information can be acquired by using an agent, but cannot be acquired by using a monitoring command.
  • Replenishment node information is information in which replenishment information is added to the first node information.
  • the supplementary node information has the same level of information as the third node information acquired by using the agent.
  • the node that collects the first node information collected from the operation system by using the monitoring command without using the agent and without accessing the kernel module of the OS by using the agent. It can be expanded to the same level of information as information.
  • the estimation unit 12 inputs supplementary node information into the link estimation model trained using the information collected by the monitoring command and the agent in the test system, and determines the probability that a link (relationship) exists between the nodes. presume.
  • the link estimation model is based on the node information (second node information) collected using the monitoring command and the node information (third node information) collected using the agent in the test system. This is information that trains the probability that a link between nodes exists.
  • the supplementary node information obtained by expanding the first node information collected from the operation system is used by using the monitoring command without using the agent and accessing the kernel module of the OS. , The probability that a link exists between nodes can be estimated.
  • FIG. 2 is a diagram for explaining an example of a system having a system monitoring device.
  • the system shown in FIG. 2 includes a system monitoring device 10, an operation system 20, and a storage device 30.
  • the system monitoring device 10 has a monitoring command execution unit 13, an acquisition unit 14, a supplement unit 11, an estimation unit 12, a graph generation unit 15, a reference link generation unit 16, and an abnormality determination unit 17.
  • the system monitoring device 10 is, for example, a programmable device such as a CPU (Central Processing Unit) or FPGA (Field-Programmable Gate Array), a GPU (Graphics Processing Unit), or a circuit equipped with one or more of them. , Server computers, personal computers, mobile terminals and other information processing devices. The details of the system monitoring device 10 will be described later.
  • a programmable device such as a CPU (Central Processing Unit) or FPGA (Field-Programmable Gate Array), a GPU (Graphics Processing Unit), or a circuit equipped with one or more of them.
  • Server computers personal computers, mobile terminals and other information processing devices. The details of the system monitoring device 10 will be described later.
  • the operation system 20 has one or more hosts 21.
  • the host 21 is, for example, an information processing device, a storage device, a communication control device, or the like.
  • the host 21 is connected by a network.
  • OS 22, a service program 24, a user program 25, and the like are shown as software executed on the host 21.
  • the hardware and software included in the operation system 20 shown in FIG. 2 may be divided into functions, and the divided functions may be represented as a plurality of elements. There are links between the elements.
  • the operation system 20 may be a network constructed by a social networking service (SNS).
  • SNS social networking service
  • the monitoring command 23 indicates a command for executing a program for collecting information from the operation system 20, which is input from the system monitoring device 10.
  • a program for collecting information is executed, and information related to files, networks, processes, and the like is collected.
  • information related to the file 26, the network 27, the process 28, and the like are collected.
  • the storage device 30 stores the replenishment model 31, the link estimation model 32, the reference link model 33, and the like.
  • the storage device 30 is, for example, a storage device such as a database or a server computer.
  • the above-mentioned model is stored in one storage device 30, but the above-mentioned model may be stored in one or more different storage devices.
  • the monitoring command execution unit 13 inputs a predetermined monitoring command 23 to the host 21 at a preset interval or date and time (date and time), and causes the OS 22 to execute a program executed by the predetermined monitoring command.
  • OS22 is Linux (registered trademark)
  • commands such as "ps” and "pstree” are input for the process.
  • input / output for example, enter a command such as "iostat”.
  • enter commands such as "netstat" and "tcpdump".
  • the acquisition unit 14 executes the monitoring command 23 to acquire the collected information from the host 21.
  • the information file 26, network 27, process 28
  • the information related to the above-mentioned file, network, process, etc. corresponding to the executed monitoring command, that is, a snapshot or the like is acquired.
  • the replenishment unit 11 selects the replenishment information for replenishing the first node information from the replenishment model 31, adds the replenishment information to the first node information, and generates the replenishment node information.
  • the replenishment unit 11 first acquires information including the first node information from the acquisition unit 14. Next, the supplementary unit 11 extracts the first node information. Next, the replenishment unit 11 selects the replenishment information related to the extracted first node information from the replenishment model 31. Next, the replenishment unit 11 adds the replenishment information to the extracted first node information to generate the replenishment node information.
  • FIG. 3 is a diagram for explaining an example of information acquired by a monitoring command.
  • the replenishment unit 11 obtains information on the "local address” (source IP, source port) and “external address” (destination IP, destination port) as the first node information from the information shown in FIG. Extract “10.20.2.109: 1543” and "52.230.80.159: https" that are.
  • FIG. 4 is a diagram for explaining an example of a supplementary model.
  • the replenishment model 31 includes key information "key information” which is regular expression field information and regular expression information "replenishment information" for replenishing the first node information. Has the associated information.
  • key information which is regular expression field information
  • regular expression information "replenishment information” for replenishing the first node information.
  • the symbol "*" represents a regular expression.
  • the reason for regular expression is, for example, that the port number changes every time, so that such a change is absorbed.
  • the supplementary model 31 is generated by using the test system and the model generator described later.
  • the replenishment unit 11 refers to the replenishment model 31 in FIG. 4, and selects the replenishment information "communication amount" associated with the detected key information "10.20.2.109: *” and "52.230.80.159: *".
  • a value such as a probability distribution or an average value is stored as information representing a stochastic communication data amount.
  • the replenishment unit 11 adds information indicating the acquired replenishment information "communication amount” to the first node information "10.20.2.109: 1543" and "52.230.80.159: https" to generate replenishment node information. ..
  • the regular expression key information "db_child *” and the regular expression supplement information "db_parent *” are stored in association with each other.
  • the key information "db_child *” is node information representing the process name.
  • the supplementary information "db_parent *” is node information representing the parent process name of the process "db_child *”.
  • the estimation unit 12 inputs supplementary node information into the link estimation model 32, and estimates the probability that a link between the nodes exists.
  • the estimation unit 12 first acquires the supplement node information from the supplement unit 11. Next, the estimation unit 12 refers to the link estimation model 32 (32a, 32b) using the supplementary node information, and estimates the probability that a link between the supplementary node information nodes exists.
  • FIG. 5 is a diagram for explaining an example of information acquired by a monitoring command.
  • the supplementary unit 11 first extracts information about "db_child1242" as the first node information from the information shown in FIG.
  • the replenishment unit 11 adds the replenishment information "db_parent” to the extracted first node information "db_child1242" based on the replenishment model 31 to generate the replenishment node information.
  • the estimation unit 12 uses the supplementary node information "db_parent” and "db_child1242" as keys, refers to the link estimation model 32a shown in FIG. 6, and detects the node ID related to "db_parent” and "db_child1242". do.
  • FIG. 6 is a diagram for explaining an example of the link estimation model.
  • the information about the file is stored in association with the information "node ID" for identifying the node, the path name "path", and the file name "file name”. Further, the information about the file includes the node ID, access start date / time, access end date / time, file name, path name, owner ID, group ID, bus, media type, operation type (for example, copy, move, delete, etc.) and the like. Information is associated and stored.
  • the information about the network includes the information "node ID” for identifying the node, the source IP address "source IP”, the source port "source port”, and the destination IP address "destination”. "IP” and destination port "destination port” are associated and stored. Further, in the information about the network, information such as an access start date / time, an access end date / time, an access type (transmission / reception), and a communication data amount is stored in association with the node ID.
  • the information about the process is stored in association with the information "node ID" for identifying the node and the process name "process name”. Further, the information about the process includes the node ID, access start date / time, access end date / time, process ID, owner ID, group ID, executable file name, path name, command line argument, parent process ID, child process ID, and so on. Information such as bus, binary, media type, and operation type are associated and stored.
  • the link estimation model 32a is generated by using the test system and the model generator described later.
  • estimation unit 12 detects "E3" as the node ID of "db_parent” and "E4" as the node ID of "db_child1242".
  • the estimation unit 12 refers to the link estimation model 32b shown in FIG. 7 using the detected node IDs “E3” and “E4” as keys, and is related to the detected node IDs “E3” and “E4”. Detects link information that represents a link between such nodes.
  • FIG. 7 is a diagram for explaining an example of the link estimation model.
  • the link estimation model 32b the information for identifying the link, the information for identifying each of the related nodes, the information indicating the link between the nodes, the information indicating the type of the link, and the test system were normally operated. In some cases, it has one or more link information associated with information indicating the probability that the link exists.
  • the link information includes the information "link ID” for identifying the link, the parent node ID "node ID 1" for identifying the parent node, and the child node for identifying the child node. It has information in which the ID "node ID 2", the information “link type” indicating the type of the link, and the information "existence probability” indicating the probability that the link exists are associated with each other.
  • the link ID "L1" in FIG. 7 is associated with the node ID 1 "E3", the node ID 2 "E4", the link type "A1", and the existence probability "P1".
  • the estimation unit 12 since the estimation unit 12 has "E3" and "E4" in the link information of the link ID "L1", the estimation unit 12 acquires the link information related to the link ID "L1".
  • the link type is, for example, information indicating the relationship between data transmission between processes, information indicating the relationship with a file accessed by the process, and the like.
  • the relationship of data transmission between processes is, for example, the relationship of data transmission between hosts, between a host and a process, and the like. Relationships with files accessed by processes include, for example, opening, closing, reading, writing, creating, and erasing files.
  • the link type may be information indicating the direction indicating the master-slave of the node, the date and time when the relationship occurred, the number of times of connection establishment, the amount of data, the access frequency, and the like.
  • the link type between processes includes, in addition to data communication, a occurrence relationship in which a parent process starts a child process.
  • the link estimation model 32b is generated by using the test system and the model generator described later.
  • the graph generation unit 15 generates graph information based on the estimated link information. Specifically, the graph generation unit 15 first acquires the estimated link information. Next, the graph generation unit 15 generates graph information 81 as shown in FIG. 8 based on the estimated link information. After that, the graph generation unit 15 outputs the graph information 81 to the abnormality determination unit 17.
  • FIG. 8 is a diagram for explaining an example of graph information.
  • Graph information is a graph showing the relationship between nodes. As shown in FIG. 8, the graph information is information in which an information "vertex" representing a node as a vertex and an information "edge” representing a link between nodes as an edge are associated with each other. The edges are set for each type of link.
  • the vertex “P1” has an edge “L0” representing the link of the vertices “P1” and “P2", an edge “L1” representing the link of the vertices “P1” and “P3”, and the vertex "P1". It is associated with the side "L3" that represents another link of "P3".
  • vertex "P2" is associated with the side “L0” representing the link of the vertices “P2” and “P1” and the side “L2” representing the link of the vertices “P2” and “P3".
  • the vertices "P3” have an edge “L1” representing a link of the vertices “P3” and “P1", an edge “L3” representing another link of the vertices “P3” and “P1”, and vertices "P3” and “P1". It is associated with the side “L2” that represents the link of "P2".
  • FIG. 9 is a diagram for explaining the concept of graph information.
  • the vertices are shown as circles and the sides are shown as line segments connecting the circles.
  • the reference link generation unit 16 generates the reference link model 33 based on the estimated link information. Specifically, the reference link generation unit 16 first acquires the estimated link information. Next, the reference link generation unit 16 generates the reference link model 33 based on the acquired estimated link information.
  • the reference link model 33 is information having the same data structure as the link estimation model 32 generated for the test system 40.
  • the reference link model has one or more link information.
  • the link information of the reference link model will be referred to as reference link information.
  • the reference link information includes information that identifies the link, information that identifies each of the related nodes, information that represents the link between the nodes, information that represents the type of the link, and the link when the operation system is operated. Has information associated with information representing the probability of existence of.
  • the reference link model 33 uses the link estimation model 32 as an initial model to learn about the links between the nodes in the operation system 20.
  • the reason for providing the graph generation unit 15 and the reference link generation unit 16 is that the test system 40 cannot prepare the original software developed by the user who operates the operation system 20, so the graph information is generated by the operation system 20. This is because the abnormality is determined based on the graph information.
  • the abnormality determination unit 17 refers to the reference link model 33 generated in the operation system 20 by using the link information representing the link between the estimated nodes, and the reference included in the reference link model 33 corresponding to the link information. Select rule information. After that, if the existence probability of the selected reference rule information does not satisfy the preset condition, the abnormality determination unit 17 determines the link information as an abnormality.
  • the abnormality determination unit 17 first acquires the link information from the estimation unit 12. Next, the abnormality determination unit 17 refers to the reference link model 33 generated in the operation system 20 using the acquired link information as a key, and selects the reference rule information included in the reference link model 33. Next, the abnormality determination unit 17 determines that the link information is abnormal when the existence probability of the selected reference rule information is equal to or less than a preset threshold value.
  • the threshold value is determined by, for example, an experiment, a simulation, or the like.
  • the abnormality determination unit 17 outputs the abnormality detection result to an output information generation unit (not shown). Then, the output information generation unit generates output information used for outputting the abnormality detection result to the output device.
  • the output device acquires the output information converted into an outputable format by the output information generation unit, and outputs the generated image, sound, and the like based on the output information.
  • the output device is, for example, an image display device using a liquid crystal display, an organic EL (ElectroLuminescence), or a CRT (CathodeRayTube). Further, the image display device may include an audio output device such as a speaker. The output device may be a printing device such as a printer.
  • FIG. 10 is a diagram for explaining an example of a model generator.
  • the test system 40 shown in FIG. 10 is a system imitating the operation system shown in FIG.
  • the model generation device 50 generates the supplementary model 31 and the link estimation model 32.
  • the test system 40 has a plurality of hosts 21.
  • the agent 41 and the test program 42 are installed on the host 21.
  • the agent 41 monitors the relationship between the nodes in the test system 40.
  • the agent 41 transmits information representing the relationship between the nodes to the model generation device 50.
  • the agent 41 collects information such as access start date / time, access end date / time, file name, path name, owner ID, group ID, bus, media type, operation type (for example, copy, move, delete, etc.) for the file. ..
  • the agent 41 collects information such as access start date / time, access end date / time, source IP, source port, destination IP, destination port, access type (send / receive), and communication data amount for the network.
  • the agent 41 describes the process as having an access start date / time, an access end date / time, a process name, a process ID, an owner ID, a group ID, an execution file name, a path name, a command line argument, a parent process ID, a child process ID, and a bus. Gather information such as binaries, media types, and operation types.
  • the agent 41 monitors the mail running on the mail server. For example, the agent 41 monitors the mail exchanged between users and sends the mail transmission / reception log to the model generation device 50.
  • the test program 42 is a program considered to be used in the operation system 20. Therefore, it is desirable to include all the user programs 25.
  • the model generation device 50 includes a monitoring command execution unit 13, an acquisition unit 14, a graph generation unit 15, a mapping unit 51, a supplementary model generation unit 52, and a link estimation model generation unit 53.
  • the model generation device 50 is, for example, a programmable device such as a CPU or FPGA, or a GPU, or an information processing device such as a circuit, a server computer, a personal computer, or a mobile terminal equipped with one or more of them.
  • a programmable device such as a CPU or FPGA, or a GPU
  • an information processing device such as a circuit, a server computer, a personal computer, or a mobile terminal equipped with one or more of them.
  • the monitoring command execution unit 13, the acquisition unit 14, and the graph generation unit 15 have already been described, so the description thereof will be omitted.
  • the mapping unit 51 uses the second node information collected by using the monitoring command 23 and the third node information collected by using the agent 41 in the test system 40, and uses the second node information. And the third node information is mapped.
  • the mapping unit 51 first acquires the second node information and the third node information from the acquisition unit 14. Next, the mapping unit 51 learns and clusters the acquired second node information and the third node information in the same event with the parameters of the acquired information as multidimensional elements.
  • FIG. 11 is a diagram for explaining mapping.
  • the learning method for example, learning of the k-nearest neighbor method (KNN), decision tree, support vector machine (SVM), etc. can be considered.
  • KNN k-nearest neighbor method
  • SVM support vector machine
  • the mapping unit 51 includes a cluster of second node information (cluster of multidimensional element space 1) and a cluster of third node information corresponding to the cluster of second node information (cluster of multidimensional element space 2). Use clusters) to associate (map) the nodes contained in those clusters. For example, since the cluster CL1 of the second node information and the cluster CL1'of the third node information correspond to each other, mapping information is generated by associating the nodes included in these two clusters.
  • the replenishment model generation unit 52 generates the replenishment model 31 based on the mapping information. That is, the replenishment model generation unit 52 detects a common part and a variable part from a plurality of events, and generates the replenishment model 31.
  • the supplementary model generation unit 52 first acquires mapping information from the mapping unit 51. Next, the replenishment model generation unit 52 generates the replenishment model 31 as shown in FIG. 4 using the acquired mapping information, and stores it in the storage device 30.
  • the replenishment model 31 is information in which the key information "key information" which is the regular expression field information and the regular expression information "replenishment information" for replenishing the first node information are associated with each other. ..
  • the link estimation model generation unit 53 generates the link estimation model 32 using the graph information generated based on the mapping information.
  • the link estimation model generation unit 53 first acquires the graph information generated by the graph generation unit 15.
  • the graph generation unit 15 receives the mapping information as an input and generates the graph information.
  • the link estimation model generation unit 53 generates the link estimation model 32 (32a and 32b) as shown in FIGS. 6 and 7 based on the graph information generated by the graph generation unit 15.
  • FIG. 12 is a flow chart for explaining an example of the operation of the system monitoring device.
  • FIG. 13 is a flow chart for explaining an example of the operation of the model generator.
  • system monitoring method is implemented by operating the system monitoring device. Therefore, the description of the system monitoring method in the present embodiment is replaced with the following description of the operation of the system monitoring device.
  • the model generation method is implemented by operating the model generation device. Therefore, the description of the model generation method in the present embodiment is replaced with the following operation description of the model generation device.
  • the monitoring command execution unit 13 first inputs a predetermined monitoring command 23 to the host 21 of the operation system 20 at a preset interval or date and time, and is executed by the predetermined monitoring command in the OS 22. Program is executed (step A1).
  • the acquisition unit 14 executes the monitoring command 23 to acquire the collected information from the host 21 (step A2).
  • the replenishment unit 11 selects the replenishment information for replenishing the first node information from the replenishment model 31, adds the replenishment information to the first node information, and generates the replenishment node information (step A3). ).
  • the supplementary unit 11 first acquires information including the first node information from the acquisition unit 14. Next, the supplementary unit 11 extracts the first node information. Next, the replenishment unit 11 selects the replenishment information related to the extracted first node information from the replenishment model 31. Next, the replenishment unit 11 adds the replenishment information to the extracted first node information to generate the replenishment node information.
  • the estimation unit 12 inputs supplementary node information into the link estimation model 32, and estimates the probability that a link between the nodes exists (step A4).
  • step A4 the estimation unit 12 first acquires the supplement node information from the supplement unit 11.
  • the estimation unit 12 refers to the link estimation model 32 (32a, 32b) using the supplementary node information, and estimates the probability that a link between the supplementary node information nodes exists.
  • the graph generation unit 15 generates graph information based on the estimated link information (step A5). Specifically, in step A5, the graph generation unit 15 first acquires the estimated link information. Next, the graph generation unit 15 generates graph information 81 as shown in FIG. 8 based on the acquired estimated link information. After that, the graph generation unit 15 outputs the graph information 81 to the abnormality determination unit 17.
  • the abnormality determination unit 17 refers to the reference link model 33 generated in the operation system 20 by using the link information representing the link between the estimated nodes, and the reference included in the reference link model 33 corresponding to the link information.
  • the link information is determined to be abnormal (step A6).
  • the abnormality determination unit 17 first acquires the link information from the estimation unit 12. Next, the abnormality determination unit 17 refers to the reference link model 33 generated in the operation system 20 using the acquired link information as a key, and selects the reference rule information included in the reference link model 33. Next, the abnormality determination unit 17 determines that the link information is abnormal when the existence probability of the selected reference rule information is equal to or less than a preset threshold value.
  • the threshold value is determined by, for example, an experiment, a simulation, or the like.
  • the abnormality determination unit 17 outputs the abnormality detection result to an output information generation unit (not shown) (step A7). Then, the output information generation unit generates output information used for outputting the abnormality detection result to the output device.
  • the output device acquires the output information converted into an outputable format by the output information generation unit, and outputs the generated image, sound, and the like based on the output information.
  • the reference link generation unit 16 generates the reference link model 33 based on the estimated link information (step A8). Specifically, in step A8, the reference link generation unit 16 first acquires the estimated link information. Next, the reference link generation unit 16 generates the reference link model 33 based on the acquired estimated link information.
  • the reference link model 33 uses the link estimation model 32 as an initial model to learn about the links between the nodes in the operation system 20.
  • step A9: Yes If the system monitoring process is continued (step A9: No), the process proceeds to step A1 and the process is continued.
  • the monitoring command execution unit 13 first inputs a predetermined monitoring command 23 to the host 21 of the test system 40 at a preset interval or date and time, and executes the monitoring command in the OS 22 by the predetermined monitoring command.
  • the program to be executed is executed (step B1).
  • the acquisition unit 14 executes the monitoring command 23 to acquire the collected information from the host 21 (step B2).
  • mapping unit 51 uses the mapping information in the test system 40 by using the second node information collected by using the monitoring command 23 and the third node information collected by using the agent 41. Is generated (step B3).
  • step B3 the mapping unit 51 first acquires the second node information and the third node information from the acquisition unit 14. Next, the mapping unit 51 learns and clusters the acquired second node information and the third node information in the same event with the parameters of the acquired information as multidimensional elements.
  • the mapping unit 51 includes a cluster of second node information (cluster of multidimensional element space 1) and a cluster of third node information corresponding to the cluster of second node information (cluster of multidimensional element space 2). Use clusters) to associate (map) the nodes contained in those clusters.
  • mapping information is generated by associating the nodes included in these two clusters.
  • the supplement model generation unit 52 generates the supplement model 31 based on the mapping information (step B4). Specifically, in step B4, the supplementary model generation unit 52 first acquires mapping information from the mapping unit 51. Next, the replenishment model generation unit 52 generates the replenishment model 31 as shown in FIG. 4 using the acquired mapping information, and stores it in the storage device 30.
  • the link estimation model generation unit 53 generates the link estimation model 32 using the graph information generated based on the mapping information (step B5).
  • step B5 the link estimation model generation unit 53 first acquires the graph information generated by the graph generation unit 15.
  • the graph generation unit 15 receives the mapping information as an input and generates the graph information.
  • the link estimation model generation unit 53 generates the link estimation model 32 (32a and 32b) as shown in FIGS. 6 and 7 based on the graph information generated by the graph generation unit 15.
  • step B6: Yes when the system monitoring device 10 acquires the instruction to end the model generation process described above, the system monitoring device 10 ends the model generation process.
  • step B6: No When the model generation process is continued (step B6: No), the process proceeds to step B1 and the process is continued.
  • the first node information collected from the operation system is collected by using the agent by using the monitoring command without using the agent and accessing the kernel module of the OS. It can be expanded to the same level of information as node information.
  • the node is used by using the supplementary node information which is expanded from the first node information collected from the operation system by using the monitoring command without using the agent and accessing the kernel module of the OS. You can estimate the probability that a link will exist between them.
  • the program according to the embodiment of the present invention may be any program that causes a computer to execute steps A1 to A9 shown in FIG. By installing and executing this program on a computer, the system monitoring device and system monitoring method according to the present embodiment can be realized.
  • the computer processor functions as a monitoring command execution unit 13, an acquisition unit 14, a supplement unit 11, an estimation unit 12, a graph generation unit 15, a reference link generation unit 16, an abnormality determination unit 17, and an output information generation unit. Perform processing.
  • each computer has a monitoring command execution unit 13, an acquisition unit 14, a supplement unit 11, an estimation unit 12, a graph generation unit 15, a reference link generation unit 16, an abnormality determination unit 17, and an output information generation unit, respectively. It may function as either.
  • the program according to the embodiment of the present invention may be any program that causes a computer to execute steps B1 to B6 shown in FIG.
  • the computer processor functions as a monitoring command execution unit 13, an acquisition unit 14, a graph generation unit 15, a mapping unit 51, a supplementary model generation unit 52, and a link estimation model generation unit 53, and performs processing.
  • each computer functions as one of a monitoring command execution unit 13, an acquisition unit 14, a graph generation unit 15, a mapping unit 51, a supplementary model generation unit 52, and a link estimation model generation unit 53, respectively. May be good.
  • FIG. 14 is a block diagram showing an example of a computer that realizes the system monitoring device and the model generation device according to the embodiment of the present invention.
  • the computer 110 includes a CPU (Central Processing Unit) 111, a main memory 112, a storage device 113, an input interface 114, a display controller 115, a data reader / writer 116, and a communication interface 117. And. Each of these parts is connected to each other via a bus 121 so as to be capable of data communication.
  • the computer 110 may include a programmable device such as a GPU or FPGA in addition to or in place of the CPU 111.
  • the CPU 111 expands the program (code) in the present embodiment stored in the storage device 113 into the main memory 112, and executes these in a predetermined order to perform various operations.
  • the main memory 112 is typically a volatile storage device such as a DRAM (Dynamic Random Access Memory).
  • the program in the present embodiment is provided in a state of being stored in a computer-readable recording medium 120.
  • the program in the present embodiment may be distributed on the Internet connected via the communication interface 117.
  • the recording medium 120 is a non-volatile recording medium.
  • the storage device 113 include a semiconductor storage device such as a flash memory in addition to a hard disk drive.
  • the input interface 114 mediates data transmission between the CPU 111 and an input device 118 such as a keyboard and mouse.
  • the display controller 115 is connected to the display device 119 and controls the display on the display device 119.
  • the data reader / writer 116 mediates the data transmission between the CPU 111 and the recording medium 120, reads the program from the recording medium 120, and writes the processing result in the computer 110 to the recording medium 120.
  • the communication interface 117 mediates data transmission between the CPU 111 and another computer.
  • the recording medium 120 include a general-purpose semiconductor storage device such as CF (CompactFlash (registered trademark)) and SD (SecureDigital), a magnetic recording medium such as a flexible disk, or a CD-.
  • CF CompactFlash (registered trademark)
  • SD Secure Digital
  • magnetic recording medium such as a flexible disk
  • CD- CompactDiskReadOnlyMemory
  • optical recording media such as ROM (CompactDiskReadOnlyMemory).
  • the system monitoring device 10 and the model generation device 50 in the present embodiment can be realized by using hardware corresponding to each part instead of the computer in which the program is installed. Further, the system monitoring device 10 and the model generation device 50 may be partially realized by a program and the rest may be realized by hardware.
  • Appendix 2 The system monitoring device according to Appendix 1.
  • the supplementary model is generated by learning in the test system using the second node information collected using the monitoring command and the third node information collected using the agent.
  • a system monitoring device having one or more rule information associated with key information for selecting the first node information and supplementary information for supplementing the first node information. ..
  • Appendix 3 The system monitoring device according to Appendix 1 or 2. Using the link information that represents the link between the estimated nodes, refer to the reference link model generated in the operation system, select the reference rule information included in the reference link model corresponding to the link information, and select the criteria. A system monitoring device having an abnormality determination unit that determines the link information as an abnormality when the rule information does not meet the preset conditions.
  • the system monitoring device according to Appendix 3,
  • the reference link model is a system monitoring device generated by using link information representing a link between nodes estimated in the past in an operation system.
  • Appendix 6 The system monitoring method described in Appendix 5 The replenishment model is generated by learning in the test system using the second node information collected using the monitoring command and the third node information collected using the agent.
  • a system monitoring method having one or more rule information associated with key information for selecting the first node information and supplementary information for supplementing the first node information. ..
  • Appendix 7 The system monitoring method according to Appendix 5 or 6. Using the link information that represents the link between the estimated nodes, refer to the reference link model generated in the operation system, select the reference rule information included in the reference link model corresponding to the link information, and select the criteria. A system monitoring method having an abnormality determination step in which the link information is determined to be abnormal when the rule information does not satisfy the preset conditions.
  • the system monitoring method described in Appendix 7 The reference link model is a system monitoring method generated by using link information representing a link between nodes estimated in the past in an operation system.
  • Appendix 10 The computer-readable recording medium according to Appendix 9, wherein the recording medium is readable.
  • the supplementary model is generated by learning in the test system using the second node information collected using the monitoring command and the third node information collected using the agent.
  • a computer readable having one or more rule information associated with the key information for selecting the first node information and the supplementary information for supplementing the first node information. Recording medium.
  • Appendix 11 A computer-readable recording medium according to Appendix 9 or 10.
  • the program is on the computer Using the link information that represents the link between the estimated nodes, refer to the reference link model generated in the operation system, select the reference rule information included in the reference link model corresponding to the link information, and select the criteria.
  • a computer-readable recording medium recording a program, including an instruction to execute an abnormality determination step, which determines the link information as an abnormality when the rule information does not satisfy a preset condition.
  • Appendix 12 The computer-readable recording medium according to Appendix 11, wherein the recording medium is readable.
  • the reference link model is a computer-readable recording medium generated by using link information representing a link between nodes estimated in the past in an operation system.
  • the system can be monitored accurately without accessing the kernel module.
  • the present invention is useful in fields where system monitoring is required.

Abstract

システム監視装置10は、試験用システム40において監視コマンド23及びエージェント41により収集された情報を用いて学習させた補充モデル31に基づいて、運用システム20において監視コマンド23を用いて収集された第一のノード情報を補充し、補充ノード情報を生成する、補充部11と、試験用システム40において監視コマンド23及びエージェント41を用いて収集された情報を用いて学習させたリンク推定モデルに、補充ノード情報を入力し、ノード間にリンクが存在する確率を推定する、推定部12と、を有する。

Description

システム監視装置、システム監視方法、及びコンピュータ読み取り可能な記録媒体
 本発明は、システムを監視するシステム監視装置、システム監視方法に関し、更には、これらを実現するためのプログラムを記録しているコンピュータ読み取り可能な記録媒体に関する。
 従来、システムに脆弱性がないかをチェックする場合には、エージェントなどを用いてシステムをチェックすることが知られている。
 特許文献1には、サイトに対する攻撃の予兆を検知し、攻撃の開始前に対策をし、被害を最小限にとどめる方法が開示されている。特許文献1によれば、まず、モニタエージェントがエンティティのログを分析して異常を検知した場合、異常に関するデータを管理マネージャに通知する。次に、管理マネージャは、通知されたデータに基づいて、データベースからデータに対応する対策を選択する。その後、管理マネージャは、対策依頼先のアクションエージェントに当該対策を実行させる。
特開2002-251374号公報
 しかしながら、特許文献1のように、モニタエージェントなどを用いてシステムを監視する場合、モニタエージェントが、カーネルモジュールにアクセスしなければならないので、システムが不安定になったり、負荷が増加したりする。そのため、モニタエージェントを用いずにシステムを監視できる方法の開発が望まれている。
 一つの側面として、カーネルモジュールにアクセスせず、精度よくシステムを監視するシステム監視装置、システム監視方法、及びコンピュータ読み取り可能な記録媒体を提供することを目的とする。
 上記目的を達成するため、一つの側面におけるシステム監視装置は、
 試験用システムにおいて監視コマンド及びエージェントにより収集された情報を用いて学習させた補充モデルに基づいて、運用システムにおいて監視コマンドを用いて収集された第一のノード情報を補充し、補充ノード情報を生成する、補充部と、
 前記試験用システムにおいて前記監視コマンド及び前記エージェントを用いて収集された情報を用いて学習させたリンク推定モデルに、前記補充ノード情報を入力し、ノード間にリンクが存在する確率を推定する、推定部と、
 を有することを特徴とする。
 また、上記目的を達成するため、一側面におけるシステム監視方法は、
 試験用システムにおいて監視コマンド及びエージェントにより収集された情報を用いて学習させた補充モデルに基づいて、運用システムにおいて監視コマンドを用いて収集された第一のノード情報を補充し、補充ノード情報を生成する、補充ステップと、
 前記試験用システムにおいて前記監視コマンド及び前記エージェントを用いて収集された情報を用いて学習させたリンク推定モデルに、前記補充ノード情報を入力し、ノード間にリンクが存在する確率を推定する、推定ステップと、
 を有することを特徴とする。
 さらに、上記目的を達成するため、一側面におけるプログラムを記録したコンピュータ読み取り可能な記録媒体は、
 コンピュータに、
 試験用システムにおいて監視コマンド及びエージェントにより収集された情報を用いて学習させた補充モデルに基づいて、運用システムにおいて監視コマンドを用いて収集された第一のノード情報を補充し、補充ノード情報を生成する、補充ステップと、
 前記試験用システムにおいて前記監視コマンド及び前記エージェントを用いて収集された情報を用いて学習させたリンク推定モデルに、前記補充ノード情報を入力し、ノード間にリンクが存在する確率を推定する、推定ステップと
 を実行させる命令を含むプログラムを記録していることを特徴とする。
 一つの側面として、カーネルモジュールにアクセスせず、精度よくシステムを監視できる。
図1は、システム監視装置の一例を説明するための図である。 図2は、システム監視装置を有するシステムの一例を説明するための図である。 図3は、監視コマンドにより取得した情報の一例を説明するための図である。 図4は、補充モデルの一例を説明するための図である。 図5は、監視コマンドにより取得した情報の一例を説明するための図である。 図6は、リンク推定モデルの一例を説明するための図である。 図7は、リンク推定モデルの一例を説明するための図である。 図8は、グラフ情報を説明するための図である。 図9は、グラフ情報の概念を説明するための図である。 図10は、モデル生成装置の一例を説明するための図である。 図11は、マッピングを説明するための図である。 図12は、システム監視装置の動作の一例を説明するためのフロー図である。 図13は、モデル生成装置の動作の一例を説明するためのフロー図である。 図14は、システム監視装置、モデル生成装置を実現するコンピュータの一例を説明するためのブロック図である。
 以下、図面を参照して実施形態について説明する。なお、以下で説明する図面において、同一の機能又は対応する機能を有する要素には同一の符号を付し、その繰り返しの説明は省略することもある。
(実施形態)
 図1を用いて、本実施形態におけるシステム監視装置10の構成について説明する。図1は、システム監視装置の一例を説明するための図である。
[装置構成]
 図1に示すシステム監視装置10は、カーネルモジュールにアクセスせず、精度よくシステムを監視する装置である。また、図1に示すように、システム監視装置10は、補充部11と、推定部12とを有する。
 補充部11は、試験用システムにおいて監視コマンド及びエージェントにより収集された情報を用いて学習させた補充モデルに基づいて、運用システムにおいて監視コマンドだけを用いて収集されたノード情報(第一のノード情報)を補充し、補充ノード情報を生成する。
 試験用システムは、実際の運用で用いられる対象のシステム(運用システム)を模して構築されたシステムである。また、試験用システムで用いるホストにはエージェントがインストールされている。なお、試験用システムの詳細については後述する。
 監視コマンドは、OS(Operating System)などのソフトウェアに備わっている、システムを監視するために用いるプログラムを実行させるためのコマンドである。
 具体的には、所定の情報を収集するために監視コマンドが入力されると、入力された監視コマンドに対応するプログラムが実行され、システムからノードに関する情報(ノード情報)が収集される。
 ノード情報は、例えば、プロセス、ネットワーク、ファイルなどのノードに関する情報である。ノード情報は、ノードごとに、ノードと、当該ノードに対応する一つ以上のノードに関連した情報とが関連付けられている。例えば、ノードごとのノード情報はレコード(又はロウ)として表した場合、ノードに関する情報それぞれはレコードのフィールド(又はセル)として表される。なお、ノードに関する情報は、以降においてフィールド情報と呼ぶ。
 エージェントは、システムに関係する情報を取得するために用いるソフトウェアである。エージェントは、例えば、OSのカーネルモジュールにアクセスをして、システムに関係するノード情報を取得する。ただし、エージェントを利用すると、システムが不安定になったり、負荷が増加したりする。
 補充モデルは、試験用システムにおいて、監視コマンドを用いて収集されたノード情報(第二のノード情報)と、エージェントを用いて収集されたノード情報(第三のノード情報)とに基づいて、第二のノード情報と第三のノード情報との関係を学習させた情報である。
 学習の結果、第一のノード情報を選択するためのキーとなるキー情報と、第一のノード情報を補充するための補充情報とが関連付けられたルール情報が生成される。補充モデルには、一つ以上のルール情報を有している。
 補充情報は、第一のノード情報に追加される情報である。補充情報は、エージェントを用いれば取得できるが、監視コマンドを用いても取得できない情報である。
 補充ノード情報は、第一のノード情報に補充情報が追加された情報である。補充ノード情報は、エージェントを利用して取得した第三のノード情報と同程度の情報を有する。
 なお、補充モデルの学習方法とモデルの詳細については後述する。
 このように、本実施形態においては、エージェントを用いず、OSのカーネルモジュールにアクセスしないで、監視コマンドを用いて、運用システムから収集された第一のノード情報を、エージェントを用いて収集したノード情報と同程度の情報に拡充できる。
 推定部12は、試験用システムにおいて監視コマンド及びエージェントを用いて収集された情報を用いて学習させたリンク推定モデルに、補充ノード情報を入力し、ノード間にリンク(関係)が存在する確率を推定する。
 リンク推定モデルは、試験用システムにおいて、監視コマンドを用いて収集されたノード情報(第二のノード情報)と、エージェントを用いて収集されたノード情報(第三のノード情報)とに基づいて、ノード間のリンクが存在する確率を学習させた情報である。
 なお、リンク推定モデルの学習方法とモデルの詳細については後述する。
 このように、本実施形態においては、エージェントを用いず、OSのカーネルモジュールにアクセスしないで、監視コマンドを用いて、運用システムから収集された第一のノード情報を拡充した補充ノード情報を用いて、ノード間にリンクが存在する確率を推定できる。
[システム構成]
 続いて、図2を用いて、本実施形態におけるシステム監視装置10の構成をより具体的に説明する。図2は、システム監視装置を有するシステムの一例を説明するための図である。図2に示すシステムは、システム監視装置10と、運用システム20と、記憶装置30とを有する。
 システム監視装置10は、監視コマンド実行部13と、取得部14と、補充部11と、推定部12と、グラフ生成部15と、基準リンク生成部16と、異常判定部17とを有する。
 システム監視装置10は、例えば、CPU(Central Processing Unit)、又はFPGA(Field-Programmable Gate Array)などのプログラマブルなデバイス、又は、GPU(Graphics Processing Unit)、又はそれらのうち一つ以上を搭載した回路、サーバコンピュータ、パーソナルコンピュータ、モバイル端末などの情報処理装置である。なお、システム監視装置10の詳細については後述する。
 運用システム20は、一つ以上のホスト21を有している。ホスト21は、例えば、情報処理装置、記憶装置、通信制御装置などである。ホスト21は、ネットワークにより接続されている。図2の例では、ホスト21において実行されるソフトウェアとして、OS22、サービスプログラム24、ユーザプログラム25などが示されている。
 なお、図2に示した運用システム20に含まれるハードウェア及びソフトウェアを機能ごとに分割し、分割した機能を複数の要素として表してもよい。要素の間にはリンクが存在する。
 また、図2の例では、運用システム20としてホストを用いた例を示したが、運用システム20を、ソーシャル・ネットワーキング・サービス(SNS:Social Networking Service)により構築されたネットワークなどとしてもよい。
 監視コマンド23は、システム監視装置10から入力される、運用システム20から情報を収集するためのプログラムを実行させるためのコマンドを示している。監視コマンド23が入力された場合、情報を収集するためのプログラムが実行され、ファイル、ネットワーク、プロセスなどに関係する情報が収集される。図2の例では、ファイル26、ネットワーク27、プロセス28などに関係する情報が収集される。
 記憶装置30は、補充モデル31、リンク推定モデル32、基準リンクモデル33などを記憶している。記憶装置30は、例えば、データベース、サーバコンピュータなどの記憶装置である。なお、図2の例では上述したモデルを一つの記憶装置30に記憶しているが、上述したモデルを異なる一つ以上の記憶装置に記憶してもよい。
 システム監視装置について詳細に説明する。
 監視コマンド実行部13は、あらかじめ設定された間隔又は日時(年月日時刻)に、所定の監視コマンド23をホスト21に入力し、OS22において所定の監視コマンドにより実行されるプログラムを実行させる。例えばOS22がLinux(登録商標)である場合、例えば、プロセスに関しては「ps」「pstree」などのコマンドを入力する。入出力に関しては、例えば、「iostat」などのコマンドを入力する。ネットワークに関しては、例えば、「netstat」「tcpdump」などのコマンドを入力する。
 取得部14は、監視コマンド23を実行して収集された情報をホスト21から取得する。例えば、実行した監視コマンドに対応する、上述したファイル、ネットワーク、プロセスなどに関係する情報(ファイル26、ネットワーク27、プロセス28)、すなわちスナップショットなどを取得する。
 補充部11は、補充モデル31から、第一のノード情報を補充するための補充情報を選択し、第一のノード情報に補充情報を追加して補充ノード情報を生成する。
 具体的には、補充部11は、まず、取得部14から第一のノード情報を含む情報を取得する。次に、補充部11は、第一のノード情報を抽出する。次に、補充部11は、補充モデル31から、抽出した第一のノード情報に関連する補充情報を選択する。次に、補充部11は、抽出した第一のノード情報に補充情報を追加して、補充ノード情報を生成する。
 補充部の実施例について説明する。
 監視コマンド実行部13が、まず、監視コマンド23として「netstat」コマンドをホスト21に入力し、取得部14が、図3に示すようなネットワークに関する情報を取得したとする。図3は、監視コマンドにより取得した情報の一例を説明するための図である。
 そのような場合、補充部11は、図3に示す情報から、第一のノード情報として「ローカルアドレス」(送信元IP、送信元ポート)及び「外部アドレス」(宛先IP、宛先ポート)に関する情報である「10.20.2.109:1543」と「52.230.80.159:https」を抽出する。
 次に、補充部11は、第一のノード情報「10.20.2.109:1543」「52.230.80.159:https」をキーとして用いて、図4の補充モデル31を参照し、第一のノード情報に類似したキー情報「10.20.2.109:*」「52.230.80.159:*」を検出する。図4は、補充モデルの一例を説明するための図である。
 補充モデル31は、図4に示すように、正規表現されたフィールド情報であるキーとなる情報「キー情報」と、第一のノード情報を補充するための正規表現された情報「補充情報」とが関連付けられた情報を有している。記号「*」は正規表現を表している。正規表現する理由は、例えば、ポート番号は毎回変わるため、このような変化を吸収するためである。
 なお、補充モデル31は、後述する試験用システムとモデル生成装置とを用いて生成される。
 次に、補充部11は、図4の補充モデル31を参照し、検出したキー情報「10.20.2.109:*」「52.230.80.159:*」に関連付けられた補充情報「通信量」を選択する。「通信量」には、確率的な通信データ量を表す情報として、例えば、確率分布又は平均値などの値が記憶されている。
 その後、補充部11は、第一のノード情報「10.20.2.109:1543」「52.230.80.159:https」に、取得した補充情報「通信量」を表す情報を追加して、補充ノード情報を生成する。
 また、図4の補充モデル31には、正規表現されたキー情報「db_child *」と、正規表現された補充情報「db_parent *」とが関連付けられて記憶されている。キー情報「db_child *」は、プロセス名を表すノード情報である。補充情報「db_parent *」は、プロセス「db_child *」の親プロセス名を表すノード情報である。
 ただし、このような子プロセスと親プロセスとの関係は、後述するリンク推定モデルを用いても検出できる。
 推定部12は、リンク推定モデル32に、補充ノード情報を入力し、ノード間のリンクが存在する確率を推定する。
 具体的には、推定部12は、まず、補充部11から補充ノード情報を取得する。次に、推定部12は、補充ノード情報を用いて、リンク推定モデル32(32a、32b)を参照し、補充ノード情報ノード間のリンクが存在する確率を推定する。
 推定部の実施例について説明する。
 監視コマンド実行部13が、まず、監視コマンド23として「ps」コマンドをホスト21に入力し、取得部14が、図5に示すようなプロセスに関する情報を取得したとする。図5は、監視コマンドにより取得した情報の一例を説明するための図である。
 そのような場合、補充部11は、まず、図5に示す情報から、第一のノード情報として「db_child1242」に関する情報を抽出する。次に、補充部11は、補充モデル31に基づいて、抽出した第一のノード情報「db_child1242」に補充情報「db_parent」を追加して、補充ノード情報を生成する。
 次に、推定部12は、補充ノード情報の「db_parent」「db_child1242」をキーとして用いて、図6に示したリンク推定モデル32aを参照し、「db_parent」「db_child1242」に関係するノードIDを検出する。図6は、リンク推定モデルの一例を説明するための図である。
 図6の例では、ファイルに関する情報には、ノードを識別するための情報「ノードID」、パスの名称「パス」、ファイルの名称「ファイル名」が関連付けられて記憶されている。さらに、ファイルに関する情報には、ノードIDに、アクセス開始日時、アクセス終了日時、ファイル名、パス名、オーナーID、グループID、バス、メディアタイプ、オペレーションタイプ(例えば、コピー、移動、削除など)などの情報が関連付けられて記憶されている。
 また、図6の例では、ネットワークに関する情報には、ノードを識別するための情報「ノードID」、送信元IPアドレス「送信元IP」、送信元ポート「送信元ポート」、宛先IPアドレス「宛先IP」、宛先ポート「宛先ポート」が関連付けられて記憶されている。さらに、ネットワークに関する情報には、ノードIDに、アクセス開始日時、アクセス終了日時、アクセスタイプ(送信、受信)、通信データ量などの情報が関連付けられて記憶されている。
 また、図6の例では、プロセスに関する情報には、ノードを識別するための情報「ノードID」、プロセスの名称「プロセス名」が関連付けられて記憶されている。さらに、プロセスに関する情報には、ノードIDに、アクセス開始日時、アクセス終了日時、プロセスID、オーナーID、グループID、実行ファイル名、パス名、コマンドライン引数、親側プロセスID、子側プロセスID、バス、バイナリ、メディアタイプ、オペレーションタイプなどの情報が関連付けられて記憶されている。
 なお、リンク推定モデル32aは、後述する試験用システムとモデル生成装置とを用いて生成される。
 次に、推定部12が、「db_parent」のノードIDとして「E3」を検出し、「db_child1242」のノードIDとして「E4」を検出したとする。
 次に、推定部12は、検出したノードID「E3」「E4」をキーとして用いて、図7に示したリンク推定モデル32bを参照し、検出したノードID「E3」「E4」に関係するようなノード間のリンクを表すリンク情報を検出する。図7は、リンク推定モデルの一例を説明するための図である。
 リンク推定モデル32bは、リンクを識別する情報と、関係するノードそれぞれを識別する情報と、ノード間のリンクを表す情報と、当該リンクの種別を表す情報と、試験用システムが平常に運用された場合に当該リンクが存在する確率を表す情報とが関連付けられたリンク情報を一つ以上有する。
 図7の例では、リンク情報は、リンクを識別する情報「リンクID」と、親側ノードを識別するための親側ノードID「ノードID1」と、子側ノードを識別するための子側ノードID「ノードID2」と、リンクの種別を表す情報「リンク種別」と、リンクが存在する確率を表す情報「存在確率」とが関連付けられた情報などを有している。
 図7のリンクID「L1」には、ノードID1「E3」、ノードID2「E4」、リンク種別「A1」と、存在確率「P1」とが関連付けられている。
 図7の例では、推定部12は、リンクID「L1」のリンク情報に「E3」「E4」が存在するので、リンクID「L1」に関係するリンク情報を取得する。
 リンク種別は、例えば、プロセス間のデータ伝達の関係を表す情報、プロセスがアクセスするファイルとの関係を表す情報などである。プロセス間のデータ伝達の関係は、例えば、ホスト間、ホストとプロセスとの間のデータ伝達の関係などである。プロセスがアクセスするファイルとの関係は、例えば、ファイルのオープン、クローズ、リード、ライト、生成、消去などである。また、リンク種別は、ノードの主従を示す方向、関係が発生した日時、コネクション確立の回数、データ量、アクセス頻度などを表す情報としてもよい。さらに、プロセス間のリンク種別には、データ通信の他に、親プロセスが子プロセスを起動する生起関係などがある。
 なお、リンク推定モデル32bは、後述する試験用システムとモデル生成装置とを用いて生成される。
 グラフ生成部15は、推定したリンク情報に基づいてグラフ情報を生成する。具体的には、グラフ生成部15は、まず、推定したリンク情報を取得する。次に、グラフ生成部15は、推定したリンク情報に基づいて、図8に示すようなグラフ情報81を生成する。その後、グラフ生成部15は、そのグラフ情報81を異常判定部17へ出力する。図8は、グラフ情報の一例を説明するための図である。
 グラフ情報は、ノード間の関係を表すグラフである。グラフ情報は、図8に示すように、ノードを頂点として表した情報「頂点」と、ノード間のリンクを辺として表した情報「辺」とが関連付けられた情報である。なお、辺はリンクの種類ごとに設定される。
 図8の例では、頂点「P1」には、頂点「P1」「P2」のリンクを表す辺「L0」と、頂点「P1」「P3」のリンクを表す辺「L1」と、頂点「P1」「P3」の他のリンクを表す辺「L3」とが関連付けられている。
 また、頂点「P2」には、頂点「P2」「P1」のリンクを表す辺「L0」と、頂点「P2」「P3」のリンクを表す辺「L2」とが関連付けられている。
 さらに、頂点「P3」には、頂点「P3」「P1」のリンクを表す辺「L1」と、頂点「P3」「P1」の他のリンクを表す辺「L3」と、頂点「P3」「P2」のリンクを表す辺「L2」とが関連付けられている。
 なお、ノード間のリンクがない頂点は「辺」を空欄とする。図8の例では、頂点「P4」はノード間のリンクがないので、「辺」は空欄になる。
である。
 図9は、グラフ情報の概念を説明するための図である。図9において、頂点は円形で示され、辺は円形を結ぶ線分で示されている。
 基準リンク生成部16は、推定したリンク情報に基づいて、基準リンクモデル33を生成する。具体的には、基準リンク生成部16は、まず、推定したリンク情報を取得する。次に、基準リンク生成部16は、取得した推定したリンク情報に基づいて、基準リンクモデル33を生成する。
 基準リンクモデル33は、試験用システム40に対して生成されたリンク推定モデル32と同じデータ構造の情報である。また、基準リンクモデルは、一つ以上のリンク情報を有している。なお、以降において、基準リンクモデルのリンク情報を基準リンク情報と呼ぶ。
 基準リンク情報は、リンクを識別する情報と、関係するノードそれぞれを識別する情報と、ノード間のリンクを表す情報と、当該リンクの種別を表す情報と、運用システムが運用された場合に当該リンクが存在する確率を表す情報とが関連付けられた情報などを有している。
 なお、基準リンクモデル33は、リンク推定モデル32を初期モデルとして、運用システム20におけるノード間のリンクについて学習させることが望ましい。
 なお、グラフ生成部15と基準リンク生成部16を設ける理由は、運用システム20を運用するユーザが開発したオリジナルソフトなどは、試験用システム40では準備できないため、運用システム20でグラフ情報を生成し、そのグラフ情報に基づいて異常判定をするからである。
 異常判定部17は、推定されたノード間のリンクを表すリンク情報を用いて、運用システム20において生成された基準リンクモデル33を参照して、リンク情報に対応する基準リンクモデル33に含まれる基準ルール情報を選択する。その後、異常判定部17は、選択した基準ルール情報の存在確率があらかじめ設定された条件を満たさない場合、当該リンク情報を異常と判定する。
 具体的には、異常判定部17は、まず、推定部12からリンク情報を取得する。次に、異常判定部17は、取得したリンク情報をキーとして、運用システム20において生成された基準リンクモデル33を参照して、基準リンクモデル33に含まれる基準ルール情報を選択する。次に、異常判定部17は、選択した基準ルール情報の存在確率があらかじめ設定された閾値以下である場合、当該リンク情報を異常と判定する。閾値は、例えば、実験、シミュレーションなどにより決定される。
 次に、異常判定部17は、異常検知結果を、不図示の出力情報生成部に出力する。そして、出力情報生成部は、出力装置に異常検知結果を出力するために用いる出力情報を生成する。出力装置は、出力情報生成部により、出力可能な形式に変換された、出力情報を取得し、その出力情報に基づいて、生成した画像及び音声などを出力する。
 出力装置は、例えば、液晶、有機EL(Electro Luminescence)、CRT(Cathode Ray Tube)を用いた画像表示装置などである。さらに、画像表示装置は、スピーカなどの音声出力装置などを備えていてもよい。なお、出力装置は、プリンタなどの印刷装置でもよい。
 補充モデルとリンク推定モデルの生成について説明する。
 図10は、モデル生成装置の一例を説明するための図である。図10に示す試験用システム40は、図2に示した運用システムを模したシステムである。モデル生成装置50は、補充モデル31とリンク推定モデル32とを生成する。
 試験用システムについて説明する。
 試験用システム40は複数のホスト21を有している。ホスト21には、エージェント41、試験用プログラム42がインストールされている。
 エージェント41は、試験用システム40におけるノード間の関係を監視する。エージェント41は、ノード間の関係を表す情報をモデル生成装置50に送信する。
 エージェント41は、ファイルについて、アクセス開始日時、アクセス終了日時、ファイル名、パス名、オーナーID、グループID、バス、メディアタイプ、オペレーションタイプ(例えば、コピー、移動、削除など)などの情報を収集する。
 エージェント41は、ネットワークについて、アクセス開始日時、アクセス終了日時、送信元IP、送信元ポート、及び宛先IP、宛先ポート、アクセスタイプ(送信、受信)、通信データ量などの情報を収集する。
 エージェント41は、プロセスについて、アクセス開始日時、アクセス終了日時、プロセス名、プロセスID、オーナーID、グループID、実行ファイル名、パス名、コマンドライン引数、親側プロセスID、子側プロセスID、バス、バイナリ、メディアタイプ、オペレーションタイプなどの情報を収集する。
 試験用システム40がソーシャルネットワークである場合、エージェント41は、メールサーバ上で動作するメールを監視する。例えば、エージェント41は、ユーザ間でやり取りされるメールを監視し、メール送受信ログをモデル生成装置50に送信する。
 試験用プログラム42は、運用システム20で使用されると考えられるプログラムであでる。したがって、ユーザプログラム25をすべて含んでいることが望ましい。
 モデル生成装置について説明する。
 モデル生成装置50は、監視コマンド実行部13と、取得部14と、グラフ生成部15と、マッピング部51と、補充モデル生成部52と、リンク推定モデル生成部53とを有する。
 モデル生成装置50は、例えば、CPU、又はFPGAなどのプログラマブルなデバイス、又は、GPU、又はそれらのうち一つ以上を搭載した回路、サーバコンピュータ、パーソナルコンピュータ、モバイル端末などの情報処理装置である。
 監視コマンド実行部13と、取得部14と、グラフ生成部15とについては、既に説明をしたので説明を省略する。
 マッピング部51は、試験用システム40において、監視コマンド23を用いて収集された第二のノード情報と、エージェント41を用いて収集された第三のノード情報とを用いて、第二のノード情報と第三のノード情報をマッピングする。
 具体的には、マッピング部51は、まず、取得部14から第二のノード情報と第三のノード情報とを取得する。次に、マッピング部51は、取得した第二のノード情報と第三のノード情報それぞれについて、取得した情報のパラメータを多次元要素として、同じ事象において学習をし、クラスタリングする。
 そうすると、同じ事象において学習をしたので、多次元要素空間における第二のノード情報に対するクラスタリングの結果と、第三のノード情報に対するクラスタリングの結果は、図11に示すように同じような結果となる。図11は、マッピングを説明するための図である。
 ここで、学習方法は、例えば、k近傍法(KNN)、決定木、サポートベクターマシン(SVM)などの学習が考えられる。
 次に、マッピング部51は、第二のノード情報のクラスタ(多次元要素空間1のクラスタ)と、第二のノード情報のクラスタに対応する第三のノード情報のクラスタ(多次元要素空間2のクラスタ)とを用いて、それらのクラスタに含まれるノードを関連付ける(マッピングをする)。例えば、第二のノード情報のクラスタCL1と、第三のノード情報のクラスタCL1′は対応しているので、この二つのクラスタに含まれるノードを関連付けてマッピング情報を生成する。
 補充モデル生成部52は、マッピング情報に基づいて補充モデル31を生成する。すなわち、補充モデル生成部52は、複数のイベントから共通の部分と可変の部分を検出し、補充モデル31を生成する。
 具体的には、補充モデル生成部52は、まず、マッピング部51からマッピング情報を取得する。次に、補充モデル生成部52は、取得したマッピング情報を用いて、図4に示すような補充モデル31を生成して、記憶装置30に記憶する。
 例えば、「db_child1234」「db_child5678」・・・と「db_child」の部分が共通で、その後に四桁の数値が続くプロセス名が頻繁に発生する場合、それにマッチする正規表現のキー「db_child\d{4}」が生成され、「db_child1234」「db_child5678」・・・で共通となるようなパラメータを検出する。補充情報としては親プロセス名が「db_parent」などが挙げられる。
 補充モデル31は、正規表現されたフィールド情報であるキーとなる情報「キー情報」と、第一のノード情報を補充するための正規表現された情報「補充情報」とが関連付けられた情報である。
 リンク推定モデル生成部53は、マッピング情報に基づいて生成されたグラフ情報を用いて、リンク推定モデル32を生成する。
 具体的には、リンク推定モデル生成部53は、まず、グラフ生成部15により生成されたグラフ情報を取得する。ここで、グラフ生成部15は、マッピング情報を入力として、グラフ情報を生成する。
 次に、リンク推定モデル生成部53は、グラフ生成部15により生成されたグラフ情報に基づいて、図6、7に示したようなリンク推定モデル32(32aと32b)を生成する。
[装置動作]
 次に、本発明の実施形態におけるシステム監視装置10とモデル生成装置50の動作について説明する。図12は、システム監視装置の動作の一例を説明するためのフロー図である。図13は、モデル生成装置の動作の一例を説明するためのフロー図である。
 以下の説明においては適宜図を参照する。本実施形態では、システム監視装置を動作させることによって、システム監視方法が実施される。よって、本実施形態におけるシステム監視方法の説明は、以下のシステム監視装置の動作説明に代える。
 また、本実施形態では、モデル生成装置を動作させることによって、モデル生成方法が実施される。よって、本実施形態におけるモデル生成方法の説明は、以下のモデル生成装置の動作説明に代える。
 システム監視装置の動作について説明する。
 図12に示すように、監視コマンド実行部13は、まず、あらかじめ設定された間隔又は日時に、所定の監視コマンド23を運用システム20のホスト21に入力し、OS22において所定の監視コマンドにより実行されるプログラムを実行させる(ステップA1)。
 次に、取得部14は、監視コマンド23を実行して収集された情報をホスト21から取得する(ステップA2)。
 次に、補充部11は、補充モデル31から、第一のノード情報を補充するための補充情報を選択し、第一のノード情報に補充情報を追加して補充ノード情報を生成する(ステップA3)。
 具体的には、ステップA3において、補充部11は、まず、取得部14から第一のノード情報を含む情報を取得する。次に、補充部11は、第一のノード情報を抽出する。次に、補充部11は、補充モデル31から、抽出した第一のノード情報に関連する補充情報を選択する。次に、補充部11は、抽出した第一のノード情報に補充情報を追加して、補充ノード情報を生成する。
 推定部12は、リンク推定モデル32に、補充ノード情報を入力し、ノード間のリンクが存在する確率を推定する(ステップA4)。
 具体的には、ステップA4において、推定部12は、まず、補充部11から補充ノード情報を取得する。次に、推定部12は、補充ノード情報を用いて、リンク推定モデル32(32a、32b)を参照し、補充ノード情報ノード間のリンクが存在する確率を推定する。
 グラフ生成部15は、推定したリンク情報に基づいてグラフ情報を生成する(ステップA5)。具体的には、ステップA5において、グラフ生成部15は、まず、推定したリンク情報を取得する。次に、グラフ生成部15は、取得した推定したリンク情報に基づいて、図8に示すようなグラフ情報81を生成する。その後、グラフ生成部15は、そのグラフ情報81を異常判定部17へ出力する。
 異常判定部17は、推定されたノード間のリンクを表すリンク情報を用いて、運用システム20において生成された基準リンクモデル33を参照して、リンク情報に対応する基準リンクモデル33に含まれる基準ルール情報を選択し、選択した基準ルール情報の存在確率があらかじめ設定された条件を満たさない場合、当該リンク情報を異常と判定する(ステップA6)。
 具体的には、ステップA6において、異常判定部17は、まず、推定部12からリンク情報を取得する。次に、異常判定部17は、取得したリンク情報をキーとして、運用システム20において生成された基準リンクモデル33を参照して、基準リンクモデル33に含まれる基準ルール情報を選択する。次に、異常判定部17は、選択した基準ルール情報の存在確率があらかじめ設定された閾値以下である場合、当該リンク情報を異常と判定する。閾値は、例えば、実験、シミュレーションなどにより決定される。
 次に、異常判定部17は、異常検知結果を、不図示の出力情報生成部に出力する(ステップA7)。そして、出力情報生成部は、出力装置に異常検知結果を出力するために用いる出力情報を生成する。出力装置は、出力情報生成部により、出力可能な形式に変換された、出力情報を取得し、その出力情報に基づいて、生成した画像及び音声などを出力する。
 次に、基準リンク生成部16は、推定したリンク情報に基づいて、基準リンクモデル33を生成する(ステップA8)。具体的には、ステップA8において、基準リンク生成部16は、まず、推定したリンク情報を取得する。次に、基準リンク生成部16は、取得した推定したリンク情報に基づいて、基準リンクモデル33を生成する。
 なお、基準リンクモデル33は、リンク推定モデル32を初期モデルとして、運用システム20におけるノード間のリンクについて学習させることが望ましい。
 次に、システム監視装置10は、上述したシステム監視処理を終了する指示を取得した場合、システム監視処理を終了する(ステップA9:Yes)。また、システム監視処理を継続する場合(ステップA9:No)、ステップA1に移行して処理を継続する。
 モデル生成装置の動作について説明する。
 図13に示すように、監視コマンド実行部13は、まず、あらかじめ設定された間隔又は日時に、所定の監視コマンド23を試験用システム40のホスト21に入力し、OS22において所定の監視コマンドにより実行されるプログラムを実行させる(ステップB1)。
 次に、取得部14は、監視コマンド23を実行して収集された情報をホスト21から取得する(ステップB2)。
 次に、マッピング部51は、試験用システム40において、監視コマンド23を用いて収集された第二のノード情報と、エージェント41を用いて収集された第三のノード情報とを用いて、マッピング情報を生成する(ステップB3)。
 具体的には、ステップB3において、マッピング部51は、まず、取得部14から第二のノード情報と第三のノード情報とを取得する。次に、マッピング部51は、取得した第二のノード情報と第三のノード情報それぞれについて、取得した情報のパラメータを多次元要素として、同じ事象において学習をし、クラスタリングする。
 そうすると、同じ事象において学習をしたので、多次元要素空間における第二のノード情報に対するクラスタリングの結果と、第三のノード情報に対するクラスタリングの結果は、図11に示すように同じような結果となる。
 次に、マッピング部51は、第二のノード情報のクラスタ(多次元要素空間1のクラスタ)と、第二のノード情報のクラスタに対応する第三のノード情報のクラスタ(多次元要素空間2のクラスタ)とを用いて、それらのクラスタに含まれるノードを関連付ける(マッピングをする)。
 例えば、第二のノード情報のクラスタCL1と、第三のノード情報のクラスタCL1′は対応しているので、この二つのクラスタに含まれるノードを関連付けてマッピング情報を生成する。
 次に、補充モデル生成部52は、マッピング情報に基づいて補充モデル31を生成する(ステップB4)。具体的には、ステップB4において、補充モデル生成部52は、まず、マッピング部51からマッピング情報を取得する。次に、補充モデル生成部52は、取得したマッピング情報を用いて、図4に示すような補充モデル31を生成して、記憶装置30に記憶する。
 次に、リンク推定モデル生成部53は、マッピング情報に基づいて生成されたグラフ情報を用いて、リンク推定モデル32を生成する(ステップB5)。
 具体的には、ステップB5において、リンク推定モデル生成部53は、まず、グラフ生成部15により生成されたグラフ情報を取得する。ここで、グラフ生成部15は、マッピング情報を入力として、グラフ情報を生成する。
 次に、リンク推定モデル生成部53は、グラフ生成部15により生成されたグラフ情報に基づいて、図6、7に示したようなリンク推定モデル32(32aと32b)を生成する。
 次に、システム監視装置10は、上述したモデル生成処理を終了する指示を取得した場合、モデル生成処理を終了する(ステップB6:Yes)。また、モデル生成処理を継続する場合(ステップB6:No)、ステップB1に移行して処理を継続する。
[本実施形態の効果]
 以上のように本実施形態によれば、エージェントを用いず、OSのカーネルモジュールにアクセスしないで、監視コマンドを用いて、運用システムから収集された第一のノード情報を、エージェントを用いて収集したノード情報と同程度の情報に拡充できる。
 また、本実施形態においては、エージェントを用いず、OSのカーネルモジュールにアクセスしないで、監視コマンドを用いて、運用システムから収集された第一のノード情報を拡充した補充ノード情報を用いて、ノード間にリンクが存在する確率を推定できる。
 さらに、運用システムでカーネルに影響を与えるエージェントを動かさずにすむので、エージェントによる処理負荷やシステムの動作不安定化を避けることができる。
[プログラム]
 本発明の実施形態におけるプログラムは、コンピュータに、図12に示すステップA1からA9を実行させるプログラムであればよい。このプログラムをコンピュータにインストールし、実行することによって、本実施形態におけるシステム監視装置、システム監視方法を実現することができる。この場合、コンピュータのプロセッサは、監視コマンド実行部13、取得部14、補充部11、推定部12、グラフ生成部15、基準リンク生成部16、異常判定部17、出力情報生成部として機能し、処理を行なう。
 また、本実施形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されてもよい。この場合は、例えば、各コンピュータが、それぞれ、監視コマンド実行部13、取得部14、補充部11、推定部12、グラフ生成部15、基準リンク生成部16、異常判定部17、出力情報生成部のいずれかとして機能してもよい。
 また、本発明の実施形態におけるプログラムは、コンピュータに、図13に示すステップB1からB6を実行させるプログラムであればよい。このプログラムをコンピュータにインストールし、実行することによって、本実施形態におけるモデル生成装置、モデル生成方法を実現することができる。この場合、コンピュータのプロセッサは、監視コマンド実行部13、取得部14、グラフ生成部15、マッピング部51、補充モデル生成部52、リンク推定モデル生成部53として機能し、処理を行なう。
 また、本実施形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されてもよい。この場合は、例えば、各コンピュータが、それぞれ、監視コマンド実行部13、取得部14、グラフ生成部15、マッピング部51、補充モデル生成部52、リンク推定モデル生成部53のいずれかとして機能してもよい。
[物理構成]
 ここで、実施形態におけるプログラムを実行することによって、システム監視装置、モデル生成装置を実現するコンピュータについて図14を用いて説明する。図14は、本発明の実施形態におけるシステム監視装置、モデル生成装置を実現するコンピュータの一例を示すブロック図である。
 図14に示すように、コンピュータ110は、CPU(Central Processing Unit)111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。なお、コンピュータ110は、CPU111に加えて、又はCPU111に代えて、GPU、又はFPGAなどのプログラマブルなデバイスを備えていてもよい。
 CPU111は、記憶装置113に格納された、本実施形態におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置である。また、本実施形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであってもよい。なお、記録媒体120は、不揮発性記録媒体である。
 また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリなどの半導体記憶装置があげられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
 データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
 また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)などの汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)などの磁気記録媒体、又はCD-ROM(Compact Disk Read Only Memory)などの光学記録媒体があげられる。
 なお、本実施形態におけるシステム監視装置10、モデル生成装置50は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、システム監視装置10、モデル生成装置50は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
[付記]
 以上の実施形態に関し、更に以下の付記を開示する。上述した実施形態の一部又は全部は、以下に記載する(付記1)から(付記12)により表現することができるが、以下の記載に限定されるものではない。
(付記1)
 試験用システムにおいて監視コマンド及びエージェントにより収集された情報を用いて学習させた補充モデルに基づいて、運用システムにおいて監視コマンドを用いて収集された第一のノード情報を補充し、補充ノード情報を生成する、補充部と、
 前記試験用システムにおいて前記監視コマンド及び前記エージェントを用いて収集された情報を用いて学習させたリンク推定モデルに、前記補充ノード情報を入力し、ノード間にリンクが存在する確率を推定する、推定部と、
 を有するシステム監視装置。
(付記2)
 付記1に記載のシステム監視装置であって、
 前記補充モデルは、前記試験用システムにおいて、前記監視コマンドを用いて収集された第二のノード情報と、前記エージェントを用いて収集された第三のノード情報とを用いて、学習により生成され、前記第一のノード情報を選択するためのキーとなるキー情報と、前記第一のノード情報を補充するための補充情報とが関連付けられたルール情報を、一つ以上有している
 システム監視装置。
(付記3)
 付記1又は2に記載のシステム監視装置であって、
 推定されたノード間のリンクを表すリンク情報を用いて、運用システムにおいて生成された基準リンクモデルを参照し、当該リンク情報に対応する基準リンクモデルに含まれる基準ルール情報を選択し、選択した基準ルール情報があらかじめ設定された条件を満たさない場合、前記リンク情報を異常と判定する、異常判定部
 を有するシステム監視装置。
(付記4)
 付記3に記載のシステム監視装置であって、
 前記基準リンクモデルは、運用システムにおいて過去に推定されたノード間のリンクを表すリンク情報を用いて生成される
 システム監視装置。
(付記5)
 試験用システムにおいて監視コマンド及びエージェントにより収集された情報を用いて学習させた補充モデルに基づいて、運用システムにおいて監視コマンドを用いて収集された第一のノード情報を補充し、補充ノード情報を生成する、補充ステップと、
 前記試験用システムにおいて前記監視コマンド及び前記エージェントを用いて収集された情報を用いて学習させたリンク推定モデルに、前記補充ノード情報を入力し、ノード間にリンクが存在する確率を推定する、推定ステップと、
 を有するシステム監視方法。
(付記6)
 付記5に記載のシステム監視方法であって、
 前記補充モデルは、前記試験用システムにおいて、前記監視コマンドを用いて収集された第二のノード情報と、前記エージェントを用いて収集された第三のノード情報とを用いて、学習により生成され、前記第一のノード情報を選択するためのキーとなるキー情報と、前記第一のノード情報を補充するための補充情報とが関連付けられたルール情報を、一つ以上有している
 システム監視方法。
(付記7)
 付記5又は6に記載のシステム監視方法であって、
 推定されたノード間のリンクを表すリンク情報を用いて、運用システムにおいて生成された基準リンクモデルを参照し、当該リンク情報に対応する基準リンクモデルに含まれる基準ルール情報を選択し、選択した基準ルール情報があらかじめ設定された条件を満たさない場合、前記リンク情報を異常と判定する、異常判定ステップ
 を有するシステム監視方法。
(付記8)
 付記7に記載のシステム監視方法であって、
 前記基準リンクモデルは、運用システムにおいて過去に推定されたノード間のリンクを表すリンク情報を用いて生成される
 システム監視方法。
(付記9)
 コンピュータに、
 試験用システムにおいて監視コマンド及びエージェントにより収集された情報を用いて学習させた補充モデルに基づいて、運用システムにおいて監視コマンドを用いて収集された第一のノード情報を補充し、補充ノード情報を生成する、補充ステップと、
 前記試験用システムにおいて前記監視コマンド及び前記エージェントを用いて収集された情報を用いて学習させたリンク推定モデルに、前記補充ノード情報を入力し、ノード間にリンクが存在する確率を推定する、推定ステップと
 を実行させる命令を含む、プログラムを記録しているコンピュータ読み取り可能な記録媒体。
(付記10)
 付記9に記載のコンピュータ読み取り可能な記録媒体であって、
 前記補充モデルは、前記試験用システムにおいて、前記監視コマンドを用いて収集された第二のノード情報と、前記エージェントを用いて収集された第三のノード情報とを用いて、学習により生成され、前記第一のノード情報を選択するためのキーとなるキー情報と、前記第一のノード情報を補充するための補充情報とが関連付けられたルール情報を、一つ以上有している
 コンピュータ読み取り可能な記録媒体。
(付記11)
 付記9又は10に記載のコンピュータ読み取り可能な記録媒体であって、
 前記プログラムが、前記コンピュータに、
 推定されたノード間のリンクを表すリンク情報を用いて、運用システムにおいて生成された基準リンクモデルを参照し、当該リンク情報に対応する基準リンクモデルに含まれる基準ルール情報を選択し、選択した基準ルール情報があらかじめ設定された条件を満たさない場合、前記リンク情報を異常と判定する、異常判定ステップ
 を実行させる命令を含む、プログラムを記録しているコンピュータ読み取り可能な記録媒体。
(付記12)
 付記11に記載のコンピュータ読み取り可能な記録媒体であって、
 前記基準リンクモデルは、運用システムにおいて過去に推定されたノード間のリンクを表すリンク情報を用いて生成される
 コンピュータ読み取り可能な記録媒体。
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 以上のように本発明によれば、カーネルモジュールにアクセスせず、精度よくシステムを監視できる。本発明は、システム監視が必要な分野において有用である。
 10 システム監視装置
 11 補充部
 12 推定部
 13 監視コマンド実行部
 14 取得部
 15 グラフ生成部
 16 基準リンク生成部
 17 異常判定部
 20 運用システム
 21 ホスト
 22 OS
 23 監視コマンド
 24 サービスプログラム
 25 ユーザプログラム
 26 ファイル
 27 ネットワーク
 28 プロセス
 30 記憶装置
 31 補充モデル
 32、32a、32b リンク推定モデル
 33 基準リンクモデル
 40 試験用システム
 41 エージェント
 42 試験用プログラム
 50 モデル生成装置
 51 マッピング部
 52 補充モデル生成部
 53 リンク推定モデル生成部
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス

Claims (12)

  1.  試験用システムにおいて監視コマンド及びエージェントにより収集された情報を用いて学習させた補充モデルに基づいて、運用システムにおいて監視コマンドを用いて収集された第一のノード情報を補充し、補充ノード情報を生成する、補充手段と、
     前記試験用システムにおいて前記監視コマンド及び前記エージェントを用いて収集された情報を用いて学習させたリンク推定モデルに、前記補充ノード情報を入力し、ノード間にリンクが存在する確率を推定する、推定手段と、
     を有するシステム監視装置。
  2.  請求項1に記載のシステム監視装置であって、
     前記補充モデルは、前記試験用システムにおいて、前記監視コマンドを用いて収集された第二のノード情報と、前記エージェントを用いて収集された第三のノード情報とを用いて、学習により生成され、前記第一のノード情報を選択するためのキーとなるキー情報と、前記第一のノード情報を補充するための補充情報とが関連付けられたルール情報を、一つ以上有している
     システム監視装置。
  3.  請求項1又は2に記載のシステム監視装置であって、
     推定されたノード間のリンクを表すリンク情報を用いて、運用システムにおいて生成された基準リンクモデルを参照し、当該リンク情報に対応する基準リンクモデルに含まれる基準ルール情報を選択し、選択した基準ルール情報があらかじめ設定された条件を満たさない場合、前記リンク情報を異常と判定する、異常判定手段
     を有するシステム監視装置。
  4.  請求項3に記載のシステム監視装置であって、
     前記基準リンクモデルは、運用システムにおいて過去に推定されたノード間のリンクを表すリンク情報を用いて生成される
     システム監視装置。
  5.  試験用システムにおいて監視コマンド及びエージェントにより収集された情報を用いて学習させた補充モデルに基づいて、運用システムにおいて監視コマンドを用いて収集された第一のノード情報を補充し、補充ノード情報を生成し、
     前記試験用システムにおいて前記監視コマンド及び前記エージェントを用いて収集された情報を用いて学習させたリンク推定モデルに、前記補充ノード情報を入力し、ノード間にリンクが存在する確率を推定する
     システム監視方法。
  6.  請求項5に記載のシステム監視方法であって、
     前記補充モデルは、前記試験用システムにおいて、前記監視コマンドを用いて収集された第二のノード情報と、前記エージェントを用いて収集された第三のノード情報とを用いて、学習により生成され、前記第一のノード情報を選択するためのキーとなるキー情報と、前記第一のノード情報を補充するための補充情報とが関連付けられたルール情報を、一つ以上有している
     システム監視方法。
  7.  請求項5又は6に記載のシステム監視方法であって、
     推定されたノード間のリンクを表すリンク情報を用いて、運用システムにおいて生成された基準リンクモデルを参照し、当該リンク情報に対応する基準リンクモデルに含まれる基準ルール情報を選択し、選択した基準ルール情報があらかじめ設定された条件を満たさない場合、前記リンク情報を異常と判定する
     システム監視方法。
  8.  請求項7に記載のシステム監視方法であって、
     前記基準リンクモデルは、運用システムにおいて過去に推定されたノード間のリンクを表すリンク情報を用いて生成される
     システム監視方法。
  9.  コンピュータに、
     試験用システムにおいて監視コマンド及びエージェントにより収集された情報を用いて学習させた補充モデルに基づいて、運用システムにおいて監視コマンドを用いて収集された第一のノード情報を補充し、補充ノード情報を生成し、
     前記試験用システムにおいて前記監視コマンド及び前記エージェントを用いて収集された情報を用いて学習させたリンク推定モデルに、前記補充ノード情報を入力し、ノード間にリンクが存在する確率を推定する
     処理を実行させる命令を含む、プログラムを記録しているコンピュータ読み取り可能な記録媒体。
  10.  請求項9に記載のコンピュータ読み取り可能な記録媒体であって、
     前記補充モデルは、前記試験用システムにおいて、前記監視コマンドを用いて収集された第二のノード情報と、前記エージェントを用いて収集された第三のノード情報とを用いて、学習により生成され、前記第一のノード情報を選択するためのキーとなるキー情報と、前記第一のノード情報を補充するための補充情報とが関連付けられたルール情報を、一つ以上有している
     コンピュータ読み取り可能な記録媒体。
  11.  請求項9又は10に記載のコンピュータ読み取り可能な記録媒体であって、
     前記プログラムが、前記コンピュータに、
     推定されたノード間のリンクを表すリンク情報を用いて、運用システムにおいて生成された基準リンクモデルを参照し、当該リンク情報に対応する基準リンクモデルに含まれる基準ルール情報を選択し、選択した基準ルール情報があらかじめ設定された条件を満たさない場合、前記リンク情報を異常と判定する
     処理を実行させる命令を含む、プログラムを記録しているコンピュータ読み取り可能な記録媒体。
  12.  請求項11に記載のコンピュータ読み取り可能な記録媒体であって、
     前記基準リンクモデルは、運用システムにおいて過去に推定されたノード間のリンクを表すリンク情報を用いて生成される
     コンピュータ読み取り可能な記録媒体。
PCT/JP2020/044544 2020-11-30 2020-11-30 システム監視装置、システム監視方法、及びコンピュータ読み取り可能な記録媒体 WO2022113355A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2022565009A JPWO2022113355A5 (ja) 2020-11-30 システム監視装置、システム監視方法、及びプログラム
US18/038,082 US20230418720A1 (en) 2020-11-30 2020-11-30 System monitoring apparatus, system monitoring method, and computer readable recording medium
PCT/JP2020/044544 WO2022113355A1 (ja) 2020-11-30 2020-11-30 システム監視装置、システム監視方法、及びコンピュータ読み取り可能な記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/044544 WO2022113355A1 (ja) 2020-11-30 2020-11-30 システム監視装置、システム監視方法、及びコンピュータ読み取り可能な記録媒体

Publications (1)

Publication Number Publication Date
WO2022113355A1 true WO2022113355A1 (ja) 2022-06-02

Family

ID=81754168

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/044544 WO2022113355A1 (ja) 2020-11-30 2020-11-30 システム監視装置、システム監視方法、及びコンピュータ読み取り可能な記録媒体

Country Status (2)

Country Link
US (1) US20230418720A1 (ja)
WO (1) WO2022113355A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016184358A (ja) * 2015-03-26 2016-10-20 株式会社日立システムズ データ分析システム
US20190391968A1 (en) * 2016-09-16 2019-12-26 Oracle International Corporation Method and system for adaptively imputing sparse and missing data for predictive models

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016184358A (ja) * 2015-03-26 2016-10-20 株式会社日立システムズ データ分析システム
US20190391968A1 (en) * 2016-09-16 2019-12-26 Oracle International Corporation Method and system for adaptively imputing sparse and missing data for predictive models

Also Published As

Publication number Publication date
US20230418720A1 (en) 2023-12-28
JPWO2022113355A1 (ja) 2022-06-02

Similar Documents

Publication Publication Date Title
US11954568B2 (en) Root cause discovery engine
US11709981B2 (en) Dynamic CFI using line-of-code behavior and relation models
US10055275B2 (en) Apparatus and method of leveraging semi-supervised machine learning principals to perform root cause analysis and derivation for remediation of issues in a computer environment
US8494996B2 (en) Creation and revision of network object graph topology for a network performance management system
US8751874B2 (en) Managing apparatus, managing method
US20200012550A1 (en) Enabling symptom verification
US11943235B2 (en) Detecting suspicious user logins in private networks using machine learning
JP2018045403A (ja) 異常検知システム及び異常検知方法
US9355005B2 (en) Detection apparatus and detection method
US20230021373A1 (en) Utilizing automatic labelling, prioritizing, and root cause analysis machine learning models and dependency graphs to determine recommendations for software products
US9104753B2 (en) Identifying an incident-addressing step
JP6424273B2 (ja) コンピュータ・インフラストラクチャの管理におけるポリシーの自己調整のための半教師あり機械学習の活用
EP3956771B1 (en) Timeout mode for storage devices
US20220237302A1 (en) Rule generation apparatus, rule generation method, and computer-readable recording medium
US9349012B2 (en) Distributed processing system, distributed processing method and computer-readable recording medium
WO2022113355A1 (ja) システム監視装置、システム監視方法、及びコンピュータ読み取り可能な記録媒体
CN109255238B (zh) 终端威胁检测与响应方法及引擎
US9818066B1 (en) Automated development and utilization of machine-learning generated classifiers
US10339308B1 (en) Systems and methods for remediating computer reliability issues
US11163637B1 (en) Determining server issues related to software versions using artificial intelligence techniques
US20190306177A1 (en) Information processing apparatus, control method, and program
Wang et al. SaaS software performance issue identification using HMRF‐MAP framework
JPWO2014054233A1 (ja) 情報システムの性能評価装置、方法およびプログラム
JP7259436B2 (ja) 情報処理装置、情報処理方法、情報処理プログラム、及び情報処理システム
US20230297706A1 (en) Detection and mitigation of high-risk online activity in a computing platform

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022565009

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20963618

Country of ref document: EP

Kind code of ref document: A1