WO2017163352A1 - 異常検出装置、異常検出システム、及び、異常検出方法 - Google Patents

異常検出装置、異常検出システム、及び、異常検出方法 Download PDF

Info

Publication number
WO2017163352A1
WO2017163352A1 PCT/JP2016/059330 JP2016059330W WO2017163352A1 WO 2017163352 A1 WO2017163352 A1 WO 2017163352A1 JP 2016059330 W JP2016059330 W JP 2016059330W WO 2017163352 A1 WO2017163352 A1 WO 2017163352A1
Authority
WO
WIPO (PCT)
Prior art keywords
flow
data
correlation coefficient
time
flows
Prior art date
Application number
PCT/JP2016/059330
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 JP2018506692A priority Critical patent/JP6535809B2/ja
Priority to PCT/JP2016/059330 priority patent/WO2017163352A1/ja
Priority to US15/758,739 priority patent/US10673721B2/en
Publication of WO2017163352A1 publication Critical patent/WO2017163352A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • 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/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • H04L41/064Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis involving time analysis
    • 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/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • 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/02Standardisation; Integration
    • H04L41/0213Standardised network management protocols, e.g. simple network management protocol [SNMP]
    • 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/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements

Definitions

  • the present invention relates to data abnormality detection.
  • cloud systems In recent years, with the progress of cloud computing systems (hereinafter referred to as “cloud systems”) and virtual machines, so-called silent failures such as failures due to application performance degradation and failures due to source code bugs included in application version updates Detection is sought.
  • a performance item or a managed device is used as an element, and first time series information indicating a time series change of performance information related to at least a first element, and time series change of performance information related to a second element.
  • a correlation model generating unit that derives a correlation function with the second performance series information shown, generates a correlation model based on the correlation function, and obtains the correlation model for a combination between the elements, and each correlation between the elements
  • An operation management apparatus including a model search unit that sequentially searches for a model to determine an optimal correlation model, and predicts performance information of the second element from performance information of the first element based on the determined correlation model Is disclosed.
  • an object of the present invention is to reduce the processing load of correlation analysis in data abnormality detection.
  • the processor Classify multiple data flows based on the similarity of time-series changes in the amount of data in the data flow, For at least two data flows belonging to the same classification, calculate a correlation coefficient at normal time and a correlation coefficient at a certain timing, When the difference between the correlation coefficient at normal time and the correlation coefficient at the certain timing is larger than a predetermined threshold, it is determined that at least one of the at least two data flows is abnormal.
  • the figure which shows the structural example of the data center which concerns on a present Example The figure which shows the structural example of a network apparatus.
  • the “xxx table” or the “xxx list” can be called “xxx information”.
  • the processing is described using “program” as a subject.
  • the program is executed by a processor (for example, a CPU (Central Processing Unit)), so that a predetermined processing can be appropriately performed as a storage resource (for example, a memory).
  • the processing subject may be a processor and an apparatus having the processor. Part or all of the processing performed by the processor may be performed by a hardware circuit.
  • the computer program may be installed from a program source.
  • the program source may be a program distribution server or a storage medium (for example, a portable storage medium).
  • the system performs a correlation analysis on a time-series change in the amount of communication of a data flow (hereinafter may be simply referred to as “flow”), and the correlation coefficient of the analysis result is a correlation between normal time (normal time).
  • flow normal time
  • the system can detect, for example, an application system that exhibits unusual behavior.
  • the system uses the same flow group as the first process for classifying flows having similar characteristics (periodic characteristics, frequency component characteristics, etc.) of time-series changes in flow traffic into the same flow group.
  • a second process for performing a correlation analysis between the flows to which the flows belong is executed. Thereby, in the correlation analysis for detecting an abnormal flow, the number of flow combinations can be reduced. That is, the amount of calculation of correlation analysis can be reduced, and the time required for the correlation analysis process can be shortened.
  • the system according to the present embodiment calculates an appropriate window size (contrast time) of two data flows to be subjected to correlation analysis based on the flow traffic. Since the amount of data communication flowing through the cloud system is enormous, it is often sampled and measured. When the amount of data communication is calculated from the number of packets sampled, a flow with a relatively small amount of data communication compared to other flows is hardly sampled. In this case, it is conceivable to increase the data communication amount measurement time (discretization width). However, if the flow discretization width is increased, it becomes difficult to detect instantaneous abnormalities. Therefore, in this embodiment, an appropriate discretization width (flow discretization width) for each flow is calculated based on the data communication amount.
  • the flow discretization width is increased when the data communication amount is small, and the flow discretization width is decreased when the data communication amount is large. As a result, it is possible to detect both an instantaneous abnormality of a flow having a relatively large data communication amount and an abnormality over a long time of a flow having a relatively small data communication amount.
  • a discretization width common to flows belonging to the flow group (flow group discretization width) is calculated. If the flow discretization width of each flow is different, a process for matching the discretization widths of at least two flows to be subjected to correlation analysis is required. That is, calculation processing for matching the flow discretization width is required for each combination of flows to be subjected to correlation analysis.
  • a common flow group discretization width is set for each flow belonging to a flow group. As a result, the calculation process for matching the flow discretization width for each combination of flows can be omitted, and the processing time required for the correlation analysis can be shortened.
  • the administrator is notified of information related to the flow in which an abnormality has been detected.
  • the information related to the flow is, for example, information such as a 5-tuple and / or virtual network ID (VLAN tag, etc., the same applies hereinafter) of the flow.
  • the administrator can specify the function, device, and the like that showed a behavior different from normal from the notified flow information.
  • the flow is uniquely determined by the destination MAC address, source MAC address, destination IP address, source IP address, L4 port number, and virtual network ID included in the packet header of data communication.
  • Data communication determined by Alternatively, the flow may be data communication uniquely determined by a destination IP address, a source IP address, an L4 port number, and a virtual network ID.
  • the flow may be data communication uniquely determined by the destination IP address, the source IP address, and the virtual network ID.
  • FIG. 1 shows a configuration example of a data center according to the present embodiment.
  • the data center includes a management system 10, an analysis system 100, a control network 21, a plurality of network devices 30, and a plurality of computers 50.
  • the plurality of network devices 30 and the plurality of computers 50 may constitute a data network 3 connected by a communication network.
  • the data network 3 may be connected to the control network 21.
  • the management system 10 and / or the network device 30 may be virtually implemented.
  • the network device 30 may be virtually mounted on the computer 50. Details of the network device 30 and the analysis system 100 will be described later with reference to FIGS.
  • the management system 10 is a system used by an administrator to manage the data network 3 constituting the customer system.
  • the management system 10 is connected to the analysis system 100 via a predetermined network 20.
  • the management system 10 may present various information transmitted from the analysis system 100 to the administrator.
  • the management system 10 notifies the administrator of the abnormal flow information transmitted from the analysis system 10.
  • the administrator may analyze the abnormality that has occurred in the customer system based on the notified abnormality flow information.
  • the administrator may register the content of the abnormality that has occurred in the customer system when the abnormal flow is detected, in the analysis system 100 via the GUI of the management system 10.
  • the administrator may be able to refer to the correspondence relationship between the abnormality of the customer system that has occurred in the past and the information of the abnormal flow notified at that time via the management system 10.
  • the data network 3 may be logically separated for each customer system.
  • one data network 3 may be one customer system.
  • the customer system may be an application system for each customer configured by at least one application.
  • one customer system may be configured for each company using the data center.
  • An example of the protocol of the data network 3 is native IP communication.
  • the control network 21 is a network that connects the network device 30 and the analysis system 100. Data of each data network 3 may be collected by the analysis system 100 via the control network 21.
  • the computer 50 has computational resources such as a CPU, memory, and storage, and executes applications in the customer system.
  • the application is, for example, a program such as a WEB server, an application server, or a DB (Database) server.
  • the application may be implemented in a VM (Virtual Machine).
  • FIG. 2 shows a configuration example of the network device 30.
  • the network device 30 is a communication device realized by, for example, a router or a switch.
  • the network device 30 may include a switch 31, a switch management unit 32, a flow statistics management unit 33, a transfer unit 34, a port 35, and a management port 36 as functions.
  • the switch 31 may be an Ethernet (registered trademark) fabric switch that transfers a communication packet received from the port 35 to an output destination port that matches the header information of the communication packet.
  • Ethernet registered trademark
  • the switch management unit 32 manages the switch 31.
  • the switch management unit 32 may process a data reference request or a setting request transmitted from the management terminal.
  • Examples of the protocol exchanged with the management terminal include SNMP (Simple Network Management Protocol) and sFlow.
  • the flow statistics management unit 33 counts the communication amount or the number of communication packets for each flow of communication packets received by the network device 30.
  • the flow statistics management unit 33 may correspond to the sFlow protocol.
  • the transfer unit 34 transmits the value (measurement value) counted by the flow statistics management unit 33 to the analysis system 100.
  • the port 35 is a physical port for transmitting and receiving communication packets to and from the computer 50.
  • the management port 36 is a physical port for transmitting / receiving data to / from a management terminal, for example.
  • the management port 36 is a physical port for transmitting the measurement value of the flow statistics management unit 33 to the analysis system 100.
  • FIG. 3 shows a configuration example of the analysis system 100.
  • the analysis system 100 is a system for analyzing a data flow (data communication amount) in the data network 3.
  • the analysis system 100 may be configured by a computer including a CPU 150, a communication I / F 130, an input I / F 140, a memory 110, a storage 120, and the like.
  • the memory 110 is, for example, a DRAM (Dynamic Random Access Memory), an FeRAM (Ferroelectric Random Access Memory), an MRAM (Magnetic Resistive Random Access Memory), or the like.
  • the storage 120 is, for example, an SSD (solid state drive), an HDD (Hard Disk Drive), or the like.
  • the input I / F 140 is used for notifying the administrator of the detected abnormal flow via the operation screen of the management system 10 connected to the analysis system 100 or for receiving an input of a failure content from the administrator. (North band) interface.
  • the communication I / F 103 is a (south band) interface for receiving a measurement result from the network device 30.
  • the memory 110 may store a flow group generation unit 111, a correlation calculation unit 112, and an abnormality detection unit 113 as functions. These functions may be realized by a program held in the storage 120 being read into the memory 110 and executed by the CPU 150. The program may be stored in the storage 120 in advance, or may be installed from the outside via a predetermined network or a portable storage medium. Note that these functions 111, 112, and 113 may be collectively referred to as a flow analysis unit.
  • a flow information table 121 In the storage 120, a flow information table 121, a flow characteristic table 122, a flow group information table 123, a correlation information table 124, an abnormality information table 125, a traffic volume table 126, and a post-discretization traffic volume table 127 are stored as data. May be.
  • each table will be described.
  • the following table is an example, and each table may be normalized as a plurality of tables, or may be combined with other tables.
  • FIG. 4 shows a configuration example of the flow information table 121.
  • the flow information table 121 manages information related to flows (referred to as “flow information”).
  • the flow information table 121 includes, as data items, a flow ID 200, a destination IP address 201, a source IP address 202, a destination MAC address 203, a source MAC address 204, a destination port number 205, a source port number 206, a transformer.
  • the port layer 207, the network layer 208, and the virtual network ID 209 may be included.
  • the flow ID 200 is a value for uniquely identifying a flow that flows through the data network 3.
  • the flow ID 200 may be given by the flow statistics management unit 33 of the network device 30.
  • the destination IP address 201 indicates the IP address of the destination of the flow with the flow ID 200.
  • the source IP address 202 indicates the IP address of the source of the flow with the flow ID 200.
  • the destination MAC address 203 indicates the destination MAC address of the flow with the flow ID 200.
  • the sender MAC address 204 indicates the MAC address of the sender of the flow with the flow ID 200.
  • the destination port number 205 indicates the destination port number of the flow with the flow ID 200.
  • the transmission source port number 206 indicates the port number of the transmission source of the flow with the flow ID 200.
  • the transport layer 207 indicates the type of transport layer (TCP, UDP, etc.) of the flow with the flow ID 200.
  • the network layer 208 indicates the type of the network layer of the flow with the flow ID 200 (IPv4, IPv6, ICMP (Internet Control Message Protocol), etc.).
  • the virtual network ID 209 indicates the ID of the virtual network to which the flow with the flow ID 200 belongs.
  • one record of the flow information table 121 may be information found from one IP packet. That is, a plurality of entries having the same flow ID 200 may exist in the flow information table 121.
  • FIG. 5 shows a configuration example of the flow characteristic table 122.
  • the flow characteristic table 122 manages information (referred to as “flow characteristics”) relating to characteristics of time-series changes in flow traffic.
  • the flow characteristic table 122 may include a flow ID 300, a measurement time 310, a communication amount average 320, a communication amount standard deviation 330, a flow group ID 340, a flow discretization width 350, and a frequency component 360 as data items.
  • the flow ID 300 is the same as the flow ID 200 in FIG.
  • the measurement time 310 indicates the measurement time of the flow communication amount of the flow ID 300.
  • the traffic average 320 indicates the average per unit time of the flow traffic of the flow ID 300.
  • the communication traffic average 320 may be calculated from the flow communication traffic measured within the measurement time 310.
  • the traffic standard deviation 330 indicates the standard deviation per unit time of the flow traffic of the flow ID 300.
  • the standard deviation 330 of the flow communication amount may be calculated from the flow communication amount measured within the measurement time 310.
  • the flow group ID 340 is a number for uniquely identifying a flow group.
  • the flows with the flow ID 300 having the same flow group ID 340 belong to the same flow group.
  • the flow group into which the flow ID 300 is classified may be determined based on the measurement time 310, the traffic average 320, and the traffic standard deviation 330. Details of the classification method will be described later.
  • the flow discretization width 350 indicates the discretization width (time) of the flow with the flow ID 300.
  • the flow discretization width 350 is used when calculating a correlation coefficient between flows.
  • the initial value of the flow discretization width 350 may be set by the administrator. Details of the calculation method of the flow discretization width 350 will be described later.
  • the frequency component 360 indicates a frequency component of a time-series change in the flow communication amount of the flow ID 300.
  • the frequency component 360 may store a frequency band including a frequency component equal to or higher than a predetermined threshold. A method for calculating the frequency component 360 will be described later.
  • FIG. 6 shows a configuration example of the flow group information table 123.
  • the flow group information table 123 manages information related to the flow group.
  • the flow group information table 123 may include a flow group ID 400, a flow group discretization width 410, and a window size 420 as data items.
  • the flow group ID 400 is the same as the flow group ID 340 in FIG.
  • the flow group discretization width 410 indicates the discretization width for the flow group with the flow group ID 400.
  • the window size 420 indicates the window size for the flow group with the flow group ID 400.
  • the common flow group discretization width 410 and window size 420 are applied to all the flows of the flow ID 300 belonging to the flow group ID 400.
  • the window size (contrast time) that is a correlation coefficient calculation target may be calculated as a predetermined multiple of the flow group discretization width 410.
  • the window size 420 (associated with the flow group ID in the flow group information table 123 ( (Contrast time) may be used. That is, according to the present embodiment, it is not necessary to match the discretization width every time the correlation coefficient is calculated.
  • FIG. 7 shows a configuration example of the correlation information table 124.
  • the correlation information table 124 manages information related to the result of correlation analysis.
  • the correlation information table 124 includes, as data items, a flow ID 500, a flow ID 501, a correlation coefficient 502, a correlation coefficient calculation count 503, a correlation coefficient average 504, a correlation coefficient standard deviation 505, and a correlation coefficient change time 506. May be included.
  • the flow ID 500 and the flow ID 501 are the same as the flow ID 200 in FIG.
  • the correlation coefficient 502 indicates a correlation coefficient between the flow with the flow ID 500 and the flow with the flow ID 501.
  • the flow ID 500 and the anti-flow ID 501 belong to the same flow group. Therefore, the correlation coefficient 502 is a value calculated using the window size 420 associated with the flow group ID 400 to which the flow ID 500 and the counter flow ID 501 belong in the flow group information table 123.
  • the correlation coefficient calculation count 503 indicates the number of times the correlation coefficient 502 has been calculated.
  • Correlation coefficient average 504 indicates the average of correlation coefficient 502. That is, the correlation coefficient average 504 is an average when the correlation coefficient 502 calculated this time is included in the original correlation coefficient average 504. That is, the correlation coefficient average 504 may be updated every time the correlation coefficient 502 is calculated.
  • the correlation coefficient standard deviation 505 indicates the standard deviation of the correlation coefficient 502. That is, the correlation coefficient standard deviation 505 is a standard deviation when the correlation coefficient calculated this time is included in the original correlation coefficient standard deviation 505. That is, the correlation coefficient standard deviation 505 may be updated every time the correlation coefficient 502 is calculated.
  • Correlation coefficient change time 506 is a time (timing) when a significant change has occurred in the correlation coefficient 502. For example, the time when the flow ID 500 or the flow ID 501 related to the correlation coefficient 502 is detected when the difference between the correlation coefficient 502 and the correlation coefficient average 504 is larger than a predetermined threshold.
  • the correlation coefficient change time 506 may be blank if the correlation coefficient 502 has not changed significantly.
  • FIG. 8 shows a configuration example of the abnormality information table 125.
  • the abnormality information table 125 manages information regarding a flow (abnormal flow) detected as abnormal.
  • the abnormality information table 125 may include a flow ID 600, an anti-flow ID 601, an abnormality content 602, an abnormality duration 603, and an abnormality improvement method 604 as data items.
  • Flow ID 600 and anti-flow ID 601 are flow IDs detected as abnormal.
  • the flow ID 600 and the pair flow ID 601 may be the flow ID 500 and the pair flow ID 501 in which the time is stored in the correlation coefficient change time 506 of the correlation information table 124.
  • the abnormality content 602 indicates the content of the abnormality that occurred in the customer system and is associated with the flow ID 600 and the flow ID 601.
  • the abnormal continuation time 603 indicates the time that the abnormality of the abnormality content 602 has continued in the customer system.
  • the abnormality improvement method 604 indicates information on how to improve the abnormality of the abnormality content 602 in the customer system.
  • the abnormality content 602 may store the content of the abnormality that occurred in the customer system at the correlation coefficient change time 506 corresponding to the flow ID 600 and the flow ID 601 in the correlation information table 124.
  • the abnormality content 602, the abnormality duration 603, and / or the abnormality improvement method 604 may be input by the administrator.
  • the analysis system 100 presents the correlation coefficient change time 506 to the administrator via the management system 10, and the abnormality content that occurred in the customer system at the correlation coefficient change time and the abnormality continue to the administrator. And / or an improvement method for the abnormality may be input.
  • FIG. 9 shows a configuration example of the traffic table 126.
  • the communication amount table 126 manages the data communication amount at each time of each flow.
  • the communication amount table 126 may include a flow ID 700, a time 701, and a communication amount 702 as data items.
  • the flow ID 700 is the same as the flow ID 200 in FIG.
  • the time 701 is the time when the traffic amount 702 of the flow with the flow ID 700 is measured.
  • the time 701 may be a time when the analysis system 100 receives information on the traffic from the network device 30 or may be a time when the network device 30 measures the traffic.
  • the communication amount 702 is the communication amount at the time 701 of the flow with the flow ID 700.
  • the communication amount 702 may be a value actually measured by the network device 30 or a value calculated from sampled data (packets).
  • the data items of the post-discretization traffic table 127 may be the same as the traffic table 126 of FIG. Therefore, the drawing of the post-discretization communication amount table 127 is omitted.
  • FIG. 10 is a sequence chart showing an example of flow group generation processing.
  • the flow group generation process may be executed when the analysis system 100 is introduced, periodically, when a new application is deployed or configured, or when a predetermined event occurs.
  • FIG. 10 shows an example of processing in which the network device 30 measures the communication amount of data transmitted from the computer 50-1 to the computer 50-2, and the analysis system 100 generates a flow group based on the measurement result.
  • the computer 50-1 transmits to the network device 30 data having the destination 5050 as the computer 50-2.
  • the data may be an IP packet.
  • Step 1010 The network device 30 transfers the data transmitted from the source computer 50-1 to the destination computer 50-2.
  • the network device 30 measures the flow communication amount of the transfer data, and transmits the flow information and the measurement result to the analysis system 100.
  • the flow information may be information included in the header of transfer data (IP packet) (that is, a value corresponding to a data item in the flow information table 120).
  • the flow measurement result may be statistical information based on sampling (for example, measurement time 310, traffic average 320, traffic standard deviation 330).
  • the network device 30 may execute the processing of step 1020 for each data transfer, periodically, or whenever the number of data transfers reaches a predetermined number.
  • the flow ID may be given by the network device 30 or may be given by the analysis system 100.
  • the network device 30 may transmit the flow measurement result to the analysis system 100 according to the sFlow protocol.
  • Step 2010 The analysis system 100 executes a flow group generation process. Next, the process will be described.
  • FIG. 11 is a flowchart showing an example of the flow group generation process. This process corresponds to the process of step 2010 in FIG.
  • the flow group generation unit 111 calculates the traffic of each flow.
  • the flow group generation unit 111 may execute the following processes (A1) to (A4) for each flow ID.
  • the flow group generation unit 111 counts the entries having the same flow ID 200 from the flow information table 121.
  • the flow group generation unit 111 calculates the number of packets of the flow with the flow ID based on the number of entries.
  • the number of packets may be calculated as “sampling rate in network device 30 ⁇ number of entries”.
  • the sampling rate may be initially set in the network device 30 and the analysis system 100.
  • the flow group generation unit 111 calculates the communication amount of the flow ID based on the number of packets, the average packet length, and the measurement time.
  • the communication amount may be calculated as “number of packets ⁇ average packet length / measurement time”.
  • the average packet length and the measurement time may be initially set in the network device 30 and the analysis system 100, or may be measured by the network device 30.
  • the flow group generation unit 111 stores the flow ID, the time when the measurement result is received in step 1020, and the calculated communication amount in association with each other in the communication amount table 126.
  • the time when the measurement result is received may be the time when the network device 30 receives the data.
  • the flow group generation unit 111 calculates a traffic average 320 and a traffic standard deviation 330 for each flow.
  • the flow group generation unit 111 may execute the following processes (B1) to (B2) for each flow ID.
  • the flow group generation unit 111 extracts the entries having the same flow ID 700 from the communication amount table 126. Then, the flow group extraction unit 111 identifies the oldest time and the latest time from the time 701 of the extracted entry.
  • the flow group generation unit 111 stores the time from the oldest time to the latest time in the measurement time 310 corresponding to the flow ID specified in (B1) of the flow characteristic table 122.
  • the flow group extraction unit 111 calculates the average calculated from the communication amount 702 extracted in the above (B1) to the communication amount average 320 and the communication amount standard deviation 330 corresponding to the flow ID specified in the above (B1) in the flow characteristic table 122. And the standard deviation is stored (overwritten).
  • Step 5020 The flow group generation unit 111 calculates the flow discretization width 350 and the frequency component 360 of each flow.
  • a method for calculating the flow discretization width 350 and the frequency component 306 will be described.
  • an appropriate sampling time (statistic reliability is equal to or greater than a predetermined value) for each flow is calculated based on the amount of traffic of each flow.
  • This sampling time is called “flow discretization width”.
  • the flow discretization width 350 may be calculated as “analyzable communication amount / communication amount average”. This analyzable communication amount may be a predetermined value.
  • This traffic average may be the traffic average 320 associated with the flow ID in the flow characteristic table 122.
  • a method for determining whether or not the flow is abnormal can be considered as follows. That is, for all combinations of measured flows, correlation coefficients related to time-series changes in the traffic amount at normal time (normal time) are calculated. Then, correlation coefficients are calculated for all combinations, and if the difference between the calculated correlation coefficient and the correlation coefficient at normal time is larger than a predetermined value, the flow related to the combination is determined to be abnormal.
  • the frequency component is an index used when classifying each flow into a flow group.
  • the characteristics of the time-series change of the traffic volume of the flow are represented by (C1) non-stationary and regular flow characteristics (hereinafter referred to as “flow characteristics with high periodicity”), (C2) stationary And (C3) unsteady and irregular flow characteristics (hereinafter referred to as “flow characteristics with low periodicity”). If the flow characteristics are similar, the correlation is likely to be high. Conversely, if the flow characteristics are not similar, the correlation is likely to be low. Since the period characteristic can be expressed as a frequency characteristic, “high periodicity” can be expressed as “a specific frequency component is strong”.
  • (C1) to (C3) will be described.
  • the steady flow characteristic can also be expressed as a highly periodic flow characteristic having a very large period and a very small amplitude. Since the amplitude is very small, it is highly possible that the phase shift will not significantly affect the correlation coefficient. Therefore, the correlation coefficient between the steady flow characteristics increases as the frequency components are similar.
  • C3 There is a high possibility that characteristic frequency components (periods) and phases do not exist in the flow characteristics with low periodicity. For example, data transmitted and received by an application system triggered by an event such as an access from a user is likely to have low periodic flow characteristics. However, for example, in the WEB three-layer model, data transmitted from the WEB server to the application server and data transmitted from the application server to the DB server are linked (sent at the same timing). Probability is high. In this way, data transmitted at the same timing triggered by the same event is close to the behavior of a pulse wave, so there is no periodicity, but there is a possibility of having high frequency components in almost the same frequency band. high.
  • Each flow may be classified as (C1) to (C3) described above, but may be classified under slightly looser conditions. For example, classification may be performed using only frequency components of flow characteristics. Compared with the classification method described above, this classification method increases the possibility that a combination of flows with low correlation exists in the same classification (false positive), and increases the load of correlation coefficient calculation processing. On the contrary, it is less likely that there is no highly correlated flow combination (false negative) in the same classification.
  • the flow group generation unit 111 extracts the entries having the same flow ID 700 from the communication amount table 126.
  • the flow group generation unit 111 divides the extracted times 701 of the plurality of entries at intervals of the flow discretization width 350 corresponding to the flow ID. Then, the total (or average) of the communication amount 702 of each divided entry is calculated. For example, when the flow discretization width 350 is “1 minute”, the times 701 of the plurality of extracted entries are divided at 1-minute intervals. Then, the total (or average) of the divided one-minute traffic is calculated. Thereby, time-series data of the traffic volume recalculated with the flow discretization width 350 (hereinafter referred to as “the discretized flow traffic volume”) is generated.
  • the flow group generation unit 111 performs frequency analysis on the post-discretization flow traffic calculated in (D2), and calculates a frequency component.
  • the flow group generation unit 111 stores the flow ID, the time corresponding to the flow discretization width, and the post-discretization flow traffic volume in the post-discretization traffic volume table 127 (not shown).
  • the flow group generation unit 111 stores (overwrites) the flow discretization width and frequency component calculated above in the flow discretization width 350 and the frequency component 360 corresponding to the flow ID 300 in the flow characteristic table 122. .
  • the flow group generation unit 111 performs the processes (D1) to (D5) for all the flow IDs.
  • the flow group generation unit 111 identifies a frequency band having a large frequency component 360 of each flow from the flow characteristic table 122.
  • the flow group extraction unit 111 may specify the frequency band to which the upper N (N is a positive integer) frequency components belong.
  • the flow group extraction part 111 may specify the frequency band to which the frequency component more than a predetermined threshold belongs.
  • the flow group extraction unit 111 classifies each flow into each flow group based on the specified frequency band. For example, the flow group generation unit 111 classifies each flow into two flow groups based on whether the specified frequency band belongs to a larger or smaller one than a predetermined threshold. Also good. For example, the flow group generation unit 111 may classify each flow into a plurality of flow groups based on which of the plurality of different sections the specified frequency band belongs to. For example, the flow group extraction unit 111 may classify each flow into a plurality of flow groups by a known clustering method such as the K-MEANS method using the specified frequency band as an attribute.
  • a known clustering method such as the K-MEANS method using the specified frequency band as an attribute.
  • the flow group generation unit 111 assigns a common flow group ID to the flow group ID 340 corresponding to the flow ID 300 classified into the same flow group in the flow group extraction unit 122.
  • Step 5030 The flow group generation unit 111 calculates a flow group discretization width and a window size for each flow group. This is because in order to calculate the correlation coefficient for the combination of flows, the discretization widths of those flows need to match. Therefore, in this embodiment, a flow group discretization width is set for each flow group as follows.
  • the flow group generation unit 111 extracts entries having the same flow group ID from the flow characteristic table 122.
  • the flow group generation unit 111 specifies the maximum flow discretization width among the extracted entries.
  • the flow group generation unit 111 calculates a window size by multiplying the specified maximum flow discretization width (flow group discretization width) by a predetermined value.
  • This predetermined value may be one or more values set in advance.
  • the flow group generation unit 111 sets the maximum flow discretization width calculated in (E3) and the flow group discretization width 410 and the window size 420 corresponding to the flow group ID 300 in the flow group information table 123, respectively. Store (overwrite) the window size.
  • the flow group generation unit 111 may create a new entry when the flow group ID (E1) does not exist in the flow group information table 123.
  • Step 5035 The flow group generation unit 111 uses the communication amount table 126 to perform the flow group of the flow group ID 340 to which the flow ID belongs for each flow ID in the same procedure as (D1) to (D5) of step 5020.
  • the time corresponding to the discretization width 410 and the discretized flow traffic are calculated and stored (overwritten) in the discretized traffic table 127 (not shown).
  • flows with similar time-series changes in data volume can be classified into the same flow group.
  • the flow group discretization width and window size common to the flow group can be calculated.
  • FIG. 12 is a sequence chart showing an example of an abnormal flow detection process.
  • the abnormal flow detection process may be executed at any time.
  • FIG. 12 is an example of processing in which the network device 30 measures the amount of data transmitted from the computer 50-1 to the computer 50-2, and the analysis system 100 detects an abnormal flow based on the measurement result.
  • step 2000 to step 2020 is the same as each process from step 1000 to step 1020 in FIG. Therefore, the description is omitted here.
  • Step 2030 The analysis system 100 executes an abnormal flow detection process. Details of this processing will be described later (see FIG. 13).
  • Step 2040 When the analysis system 100 detects an abnormal flow, the analysis system 100 transmits information related to the abnormal flow (data items of the flow information table 121, correlation coefficient change time 506 of the correlation information table 124, etc.) to the management system 10. .
  • Step 2050 The administrator inputs, via the management system 10, the details of an abnormality that occurred in the customer system when the notified abnormal flow occurred.
  • the management system 10 transmits the input abnormality content and the like to the analysis system 100.
  • the analysis system 100 stores the transmitted abnormality content in an entry corresponding to the abnormality flow ID in the abnormality information table 125. Thereby, the abnormal flow is associated with the content of the abnormality that occurred in the customer system.
  • FIG. 13 is a flowchart showing an example of an abnormal flow detection process. This process corresponds to the process of step 2030 in FIG.
  • Step 6010 The correlation calculation unit 112 selects a flow group ID to be processed.
  • the correlation calculation unit 112 calculates a correlation coefficient between two flow IDs (flow ID 500 and anti-flow ID 501) having the flow group ID selected in step 6010, and the correlation coefficient of the correlation information table 124 Stored in 502.
  • the correlation coefficient is calculated by the following processes (F1) to (F4).
  • the correlation calculation unit 112 extracts records corresponding to the flow ID 500 and the flow ID 501 from the post-discretization communication amount table 127. For example, if the traffic volume at time “i” of flow ID 500 “X” is “Xi” and the traffic volume at time “i” of flow ID “Y” is “Yi”, flow ID “X” and flow ID “ The correlation coefficient “r” with “Y” is calculated by the following equation (1).
  • N (N is a positive integer) is the number of entries of the flow ID “X” (or flow ID “Y”) in the post-discretization traffic table 127. Since flows belonging to the same flow group are discretized with the same flow group discretization width, the number of entries of the flow IDs “X” and “Y” is the same “N”.
  • the correlation calculation unit 112 stores the calculated correlation coefficient “r” in the correlation coefficient 502 corresponding to the flow ID “X” and the flow ID “Y” in the correlation information table 124.
  • the correlation calculation unit 112 updates the correlation coefficient average value 504 and the correlation coefficient standard deviation 505 calculated in the past in the correlation information table 124 using the correlation coefficient “r” calculated this time. . Further, the correlation calculation unit 112 increments the correlation coefficient calculation count 503.
  • the correlation calculation unit 112 executes the processes (F1) to (F3) for all combinations of flow IDs belonging to the flow group ID selected in step 6010.
  • the correlation calculation unit 112 executes the processes (F1) to (F4) for all the flow group IDs.
  • the number of correlation coefficient calculations is the number of combinations of flows belonging to the same flow group (product of the square of the number of flows belonging to the flow group and the number of flow groups).
  • the number of calculations is less than the total number of flows (the number of flows squared). Therefore, according to the present embodiment, calculation resources and / or calculation time required for calculating the correlation coefficient can be reduced.
  • the correlation calculation unit 112 calculates a difference between the correlation coefficient 502 and the correlation coefficient average 504 in the correlation information table 124, and identifies an entry in which the difference is larger than a predetermined threshold. Then, the correlation calculation unit 112 stores the flow ID 500 and the counter flow ID 501 of the identified entries in the flow ID 600 and the counter flow ID 601 of the abnormality information table 125. Because, when the correlation coefficient is far from the average correlation coefficient (when there is a significant change in the correlation coefficient), there is a possibility that the flow and / or pair flow related to the correlation coefficient is abnormal Because it is expensive.
  • the predetermined threshold for the difference may be defined as a threshold based on the standard deviation of the correlation coefficient.
  • Data network 10 Management system 21: Control network 30: Network device 50: Computer 100: Analysis system

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Debugging And Monitoring (AREA)

Abstract

データフローの異常を検出する異常検出装置は、複数のデータフローをデータフローのデータ量の時系列変化の類似性に基づいて分類し、同じ分類に属する少なくとも2つのデータフローの間について通常時における相関係数と或るタイミングにおける相関係数とを算出し、通常時における相関係数と或るタイミングにおける相関係数との差分が所定の閾値よりも大きい場合、少なくとも2つのデータフローの内の少なくとも何れかが異常であると判定する。

Description

異常検出装置、異常検出システム、及び、異常検出方法
 本発明は、データの異常検知に関する。
 近年、クラウドコンピューティングシステム(以下「クラウドシステム」という)や仮想計算機の進展に伴い、アプリケーションの性能劣化による障害、及び、アプリケーションのバージョンアップデートに含まれるソースコードのバグによる障害など、いわゆるサイレント障害の検出が求められている。
 特許文献1には、性能種目又は被管理装置を要素とし、少なくとも第1の要素に関する性能情報の時系列変化を示す第1の性能系列情報と、第2の要素に関する性能情報の時系列変化を示す第2の性能系列情報との相関関数を導出し、この相関関数に基づいて相関モデルを生成し、この相関モデルを各要素間の組み合わせについて求める相関モデル生成部と、各要素間の各相関モデルを順次探索して最適な相関モデルを決定し、この決定された相関モデルに基づいて第1の要素の性能情報から第2の要素の性能情報を予測するモデル探索部を含む、運用管理装置が開示されている。
米国特許出願公開第2009/0216624号明細書
 しかし特許文献1の場合、クラウドのようにデータフローの通信量が大きくなると、必要な計算量及び計算資源量も大きくなり、また計算時間も長くなる。故に、データフローの組に対する相関係数の計算量はさらに大きくなる。そこで本発明の目的は、データの異常検出における相関分析の処理負荷を低減することにある。
 一実施例に係る、データフローの異常を検出する異常検出装置は、プロセッサ及びメモリを有する。
 当該プロセッサは、
  複数のデータフローを、データフローのデータ量の時系列変化の類似性に基づいて分類し、
  同じ分類に属する少なくとも2つのデータフローの間について、通常時における相関係数と、或るタイミングにおける相関係数とを算出し、
  通常時における相関係数と前記或るタイミングにおける相関係数との差分が所定の閾値よりも大きい場合、前記少なくとも2つのデータフローの内の少なくとも何れかが異常であると判定する。
 本発明によれば、データの異常検出における相関分析の処理負荷を低減することができる。
本実施例に係るデータセンタの構成例を示す図。 ネットワーク装置の構成例を示す図。 分析システムの構成例を示す図。 フロー情報テーブルの構成例を示す図。 フロー特性テーブルの構成例を示す図。 フロー群情報テーブルの構成例を示す図。 相関情報テーブルの構成例を示す図。 異常情報テーブルの構成例を示す図。 通信量テーブルの構成例を示す図。 フロー群生成処理の一例を示すシーケンスチャート。 フロー群生成処理の一例を示すフローチャート。 異常フロー検出処理の一例を示すシーケンスチャート。 異常フロー検出処理の一例を示すフローチャート。
 以下、図面を参照しながら実施例を説明する。なお、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合及び原理的に明らかに特定の数に限定される場合などを除き、その特定の数に限定されるものではなく、特定の数以上でも以下でも良い。また、各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ID」という表現を用いることがあるが、これらについてはお互いに置換が可能である。また、構成要素(要素ステップなどを含む)は、特に明示した場合及び原理的に明らかに必須であると考えられる場合などを除き、必ずしも必須のものではない。また、「xxxテーブル」又は「xxxリスト」の表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「xxxテーブル」又は「xxxリスト」を「xxx情報」と呼ぶことができる。また、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ(例えばCPU(Central Processing Unit))によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)及び通信インターフェイスデバイスのうちの少なくとも1つを用いながら行うため、処理の主語が、プロセッサ、そのプロセッサを有する装置とされてもよい。プロセッサが行う処理の一部又は全部が、ハードウェア回路で行われてもよい。コンピュータプログラムは、プログラムソースからインストールされてよい。プログラムソースは、プログラム配布サーバ又は記憶メディア(例えば可搬型の記憶メディア)であってもよい。また、以下の説明では、同種の要素を区別して説明する場合には、「計算機50-1」、「計算機50-2」のように、参照符号を使用し、同種の要素を区別しないで説明する場合には、「計算機50」のように参照符号のうちの共通番号のみを使用することがある。
 本実施例に係るシステムは、データフロー(以下単に「フロー」という場合がある)の通信量の時系列変化を相関分析し、その分析結果の相関係数が通常時(正常時)の相関係数と比べて所定よりも低い場合、当該フローを通常と異なる挙動を示した異常フローとして検出する。当該システムは、例えば、通常と異なる挙動を示したアプリケーションシステムなどを検出できる。当該システムは、異常フローを検出するにあたり、フロー通信量の時系列変化の特性(周期特性又は周波数成分特性など)が類似するフローを同じフロー群に分類する第1の処理と、同じフロー群に属するフロー同士で相関分析を行う第2の処理とを実行する。これにより、異常フローを検出するための相関分析において、フローの組合せ数を削減することができる。すなわち、相関分析の計算量を削減し、相関分析の処理に要する時間を短縮することができる。
 また、本実施例に係るシステムは、フロー通信量に基づいて、相関分析の対象とする2つのデータフローの適切なウィンドウサイズ(対比時間)を算出する。クラウドシステムに流れるデータ通信量は膨大である為、サンプリングされて計測されることが多い。データ通信量がサンプリングされたパケット数から算出される場合、データ通信量が他のフローと比べて相対的に少ないフローはほとんどサンプリングされない。この場合、データ通信量の計測時間(離散化幅)を長くすることが考えられる。しかし、フロー離散化幅を長くすると、瞬間的な異常を検出しづらくなる。したがって、本実施例では、データ通信量に基づいて、フロー毎の適切な離散化幅(フロー離散化幅)を算出する。例えば、データ通信量が小さい場合はフロー離散化幅を長く、データ通信量が大きい場合はフロー離散化幅を短くする。これにより、データ通信量が比較的大きいフローの瞬間的な異常と、データ通信量が比較的小さいフローの長時間に渡る異常との何れも検出することができる。
 また、本実施例では、各フローのフロー離散化幅に基づいて、フロー群に属するフローに共通の離散化幅(フロー群離散化幅)を算出する。各フローのフロー離散化幅がばらばらであると、相関分析の対象とする少なくとも2つのフローの離散化幅を一致させる処理が必要となる。すなわち、相関分析の対象とするフローの組み合せ毎に、フロー離散化幅を一致させるための計算処理が必要となる。本実施例は、フロー群に属する各フローに対して共通のフロー群離散化幅を設定する。これにより、フローの組み合わせ毎にフロー離散化幅を一致させるための計算処理を省略することができ、相関分析に要する処理時間を短縮することができる。
 また、本実施例では、異常を検出したフローに関する情報を管理者に通知する。当該フローに関する情報は、例えば、当該フローの5タプル及び/又は仮想ネットワークID(VLANタグなど。以下同じ)などの情報である。これにより、管理者は、通知されたフローの情報から、通常と異なる挙動を示した機能及び機器などを特定することができる。
 なお、本実施例において、フローは、データ通信のパケットヘッダに含まれる、着信先MACアドレス、発信元MACアドレス、着信先IPアドレス、発信元IPアドレス、L4ポート番号、及び、仮想ネットワークIDによって一意に決まるデータ通信であってよい。又は、フローは、着信先IPアドレス、発信元IPアドレス、L4ポート番号、及び、仮想ネットワークIDによって一意に決まるデータ通信であってよい。又は、フローは、着信先IPアドレス、発信元IPアドレス、及び、仮想ネットワークIDによって一意に決まるデータ通信であってよい。
 図1は、本実施例に係るデータセンタの構成例を示す。データセンタは、管理システム10、分析システム100、制御ネットワーク21、複数のネットワーク装置30、及び、複数の計算機50を含む。複数のネットワーク装置30及び複数の計算機50は、通信ネットワークで接続されたデータネットワーク3を構成してよい。データネットワーク3は、制御ネットワーク21に接続されてよい。管理システム10及び/又はネットワーク装置30は、仮想的に実装されてもよい。
 ネットワーク装置30は、計算機50に仮想的に実装されてもよい。ネットワーク装置30及び分析システム100の詳細については、それぞれ図2、図3を用いて後述する。
 管理システム10は、管理者が、顧客システムを構成するデータネットワーク3を管理するために使用するシステムである。管理システム10は、所定のネットワーク20を介して、分析システム100と接続されている。管理システム10は、分析システム100から送信された各種情報を管理者へ提示してよい。例えば、管理システム10は、分析システム10から送信された異常フローの情報を管理者に通知する。管理者は、その通知された異常フローの情報に基づいて、顧客システムにおいて発生した異常を分析してよい。また、管理者は、異常フローが検出されたときに顧客システムにおいて発生した異常の内容を、管理システム10のGUIを介して、分析システム100に登録してもよい。また、管理者は、管理システム10を介して、過去に発生した顧客システムの異常と、そのときに通知された異常フローの情報との対応関係を参照できてよい。
 データネットワーク3は、顧客システム毎に論理的に分離されていてよい。例えば、1つのデータネットワーク3が、1つの顧客システムであってよい。顧客システムとは、少なくとも1つのアプリケーションによって構成される顧客毎のアプリケーションシステムであってよい。例えば、データセンタを利用する企業毎に1つの顧客システムが構成されてよい。データネットワーク3のプロトコルの例は、ネイティブなIP通信である。
 制御ネットワーク21は、ネットワーク装置30と分析システム100とを接続するネットワークである。各データネットワーク3のデータは、当該制御ネットワーク21を介して、分析システム100に収集されてよい。
 計算機50は、CPU、メモリ及びストレージなどの計算資源を有し、顧客システムにおけるアプリケーションを実行する。アプリケーションは、例えば、WEBサーバ、アプリケーションサーバ,DB(Database)サーバ等のプログラムである。アプリケーションは、VM(Virtual Machine)内に実装されてもよい。
 図2は、ネットワーク装置30の構成例を示す。ネットワーク装置30は、例えば、ルータやスイッチ等によって実現される通信装置である。ネットワーク装置30は、機能として、スイッチ31、スイッチ管理部32、フロー統計管理部33、転送部34、ポート35、及び、管理ポート36を有してよい。
 スイッチ31は、ポート35から受信した通信パケットを、当該通信パケットのヘッダ情報に適合する出力先ポートに転送する、イーサネット(登録商標)ファブリックのスイッチであってよい。
 スイッチ管理部32は、スイッチ31を管理する。スイッチ管理部32は、例えば管理用端末から送信されるデータ参照要求や設定要求などを処理してよい。管理用端末とやり取りするプロトコルは、例えば、SNMP(Simple Network Management Protocol)、sFlowなどである。
 フロー統計管理部33は、ネットワーク装置30が受信した通信パケットのフロー毎の通信量又は通信パケット数をカウントする。フロー統計管理部33は、sFlowのプロトコルに対応してもよい。
 転送部34は、フロー統計管理部33がカウントした値(計測値)を、分析システム100へ送信する。
 ポート35は、計算機50との間で通信パケットを送受信する為の物理ポートである。
 管理ポート36は、例えば管理用端末との間でデータを送受信する為の物理ポートである。また、管理ポート36は、フロー統計管理部33の計測値を分析システム100へ送信するための物理ポートである。
 図3は、分析システム100の構成例を示す。分析システム100は、データネットワーク3におけるデータフロー(データ通信量)を分析するためのシステムである。分析システム100は、CPU150、通信I/F130、入力I/F140、メモリ110、及び、ストレージ120などを備える計算機によって構成されてよい。メモリ110は、例えば、DRAM(Dynamic Random Access Memory)、FeRAM(Ferroelectric Random Access Memory)、MRAM(Magnetoresistive Random Access Memory)などである。ストレージ120は、例えば、SSD(solid state drive,)、HDD(Hard Disk Drive)などである。
 入力I/F140は、分析システム100に接続される管理システム10の操作画面等を介して、検出した異常なフローを管理者に通知したり、管理者から障害内容の入力を受け付けたりする為の(ノースバンド)インタフェースである。
 通信I/F103は、ネットワーク装置30から計測結果を受信するための(サウスバンド)インタフェースである。
 メモリ110には、機能として、フロー群生成部111、相関算出部112、及び、異常検出部113が格納されてよい。これらの機能は、ストレージ120に保持されているプログラムがメモリ110に読み出されてCPU150に実行されることにより、実現されてよい。プログラムは、予めストレージ120に格納されてもよいし、所定のネットワークを介して又は可搬型記憶媒体を介して外部からインストールされても良い。なお、これらの機能111、112、113をまとめてフロー分析部と呼んでもよい。
 ストレージ120には、データとして、フロー情報テーブル121、フロー特性テーブル122、フロー群情報テーブル123、相関情報テーブル124、異常情報テーブル125、通信量テーブル126、及び、離散化後通信量テーブル127が格納されてよい。
 以下、各テーブルについて説明する。なお、以下のテーブルは一例であり、各テーブルは、複数のテーブルとして正規化されものであってもよいし、他のテーブルと結合されたものであってもよい。
 図4は、フロー情報テーブル121の構成例を示す。フロー情報テーブル121は、フローに関する情報(「フロー情報」という)を管理する。
 フロー情報テーブル121は、データ項目として、フローID200、着信先IPアドレス201、発信元IPアドレス202、着信先MACアドレス203、発信元MACアドレス204、着信先ポート番号205、発信元ポート番号206、トランスポート層207、ネットワーク層208、及び、仮想ネットワークID209を有してよい。
 フローID200は、データネットワーク3を流れるフローを一意に識別するための値である。フローID200は、ネットワーク装置30のフロー統計管理部33によって付与されてよい。
 着信先IPアドレス201は、フローID200のフローの着信先のIPアドレスを示す。発信元IPアドレス202は、フローID200のフローの発信元のIPアドレスを示す。
 着信先MACアドレス203は、フローID200のフローの着信先のMACアドレスを示す。発信元MACアドレス204は、フローID200のフローの発信元のMACアドレスを示す。
 着信先ポート番号205は、フローID200のフローの着信先のポート番号を示す。発信元ポート番号206は、フローID200のフローの発信元のポート番号を示す。
 トランスポート層207は、フローID200のフローのトランスポート層の種類(TCP、UDPなど)を示す。
 ネットワーク層208は、フローID200のフローのネットワーク層の種類(IPv4、IPv6、ICMP(Internet Control Message Protocol)など)を示す。
 仮想ネットワークID209は、フローID200のフローが属する仮想ネットワークのIDを示す。
 これらの情報は、フローを構成するIPパケットのヘッダ情報から判明する。なお、フロー情報テーブル121の1つのレコードは、1つのIPパケットから判明した情報であってよい。すなわち、フロー情報テーブル121には、同じフローID200を有する複数のエントリが存在してもよい。
 図5は、フロー特性テーブル122の構成例を示す。フロー特性テーブル122は、フローの通信量の時系列変化の特性に関する情報(「フロー特性」という)を管理する。フロー特性テーブル122は、データ項目として、フローID300、計測時間310、通信量平均320、通信量標準偏差330、フロー群ID340、フロー離散化幅350、及び、周波数成分360を有してよい。
 フローID300は、図4のフローID200と同じである。
 計測時間310は、フローID300のフロー通信量の計測時間を示す。
 通信量平均320は、フローID300のフロー通信量の単位時間当たりの平均を示す。通信量平均320は、計測時間310内に計測されたフロー通信量から算出されてよい。
 通信量標準偏差330は、フローID300のフロー通信量の単位時間当たりの標準偏差を示す。フロー通信量の標準偏差330は、計測時間310内に計測されたフロー通信量から算出されてよい。
 フロー群ID340は、フロー群を一意に識別するための番号である。同じフロー群ID340を有するフローID300のフローは、同じフロー群に属する。フローID300が分類されるフロー群は、計測時間310、通信量平均320及び通信量標準偏差330に基づいて決定されてよい。分類方法の詳細については後述する。
 フロー離散化幅350は、フローID300のフローの離散化幅(時間)を示す。フロー離散化幅350は、フロー間の相関係数を算出する際に用いられる。フロー離散化幅350の初期値は、管理者によって設定されてもよい。フロー離散化幅350の算出方法の詳細については後述する。
 周波数成分360は、フローID300のフロー通信量の時系列変化の周波数成分を示す。周波数成分360には、所定の閾値以上の周波数成分を含む周波数帯域が格納されてもよい。周波数成分360の算出方法については後述する。
 図6は、フロー群情報テーブル123の構成例を示す。フロー群情報テーブル123は、フロー群に関する情報を管理する。フロー群情報テーブル123は、データ項目として、フロー群ID400、フロー群離散化幅410、及び、ウィンドウサイズ420を有してよい。
 フロー群ID400は、図5のフロー群ID340と同じである。フロー群離散化幅410は、フロー群ID400のフロー群に対する離散化幅を示す。ウィンドウサイズ420は、フロー群ID400のフロー群に対するウィンドウサイズを示す。
 フロー群ID400に属する全てのフローID300のフローには、共通のフロー群離散化幅410及びウィンドウサイズ420が適用される。相関係数の算出対象とされるウィンドウサイズ(対比時間)は、フロー群離散化幅410の所定の倍数として算出されてよい。
 したがって、分析システム100の相関算出部112は、同じフロー群IDに属するフローID間の相関係数を算出する際、フロー群情報テーブル123において当該フロー群IDに対応付けられているウィンドウサイズ420(対比時間)を用いればよい。つまり、本実施例によれば、相関係数を算出する毎に離散化幅を一致させる必要がなくなる。
 図7は、相関情報テーブル124の構成例を示す。相関情報テーブル124は、相関分析の結果に関する情報を管理する。相関情報テーブル124は、データ項目として、フローID500、対フローID501、相関係数502、相関係数算出回数503、相関係数平均504、相関係数標準偏差505、及び、相関係数変化時刻506を有してよい。
 フローID500、及び、対フローID501は、図4のフローID200と同じである。
 相関係数502は、フローID500のフローと、対フローID501のフローとの間の相関係数を示す。フローID500及び対フローID501は同じフロー群に属する。したがって、当該相関係数502は、フロー群情報テーブル123において、当該フローID500及び対フローID501が属するフロー群ID400に対応付けられているウィンドウサイズ420を用いて算出された値である。
 相関係数算出回数503は、相関係数502を算出した回数を示す。
 相関係数平均504は、相関係数502の平均を示す。すなわち、相関係数平均504は、元の相関係数平均504に、今回算出した相関係数502を含めたときの平均である。つまり、相関係数平均504は、相関係数502を算出する毎に更新されてよい。
 相関係数標準偏差505は、相関係数502の標準偏差を示す。すなわち、相関係数標準偏差505は、元の相関係数標準偏差505に、今回算出した相関係数を含めたときの標準偏差である。つまり、相関係数標準偏差505は、相関係数502を算出するごとに更新されて良い。
 相関係数変化時刻506は、相関係数502に顕著な変化が発生した時刻(タイミング)である。例えば、相関係数502と相関係数平均504との差分が所定の閾値よりも大きい場合の、当該相関係数502に係るフローID500又は対フローID501が検出された時刻である。相関係数変化時刻506は、相関係数502に顕著な変化が発生していない場合は空白(NULL)であってよい。
 図8は、異常情報テーブル125の構成例を示す。異常情報テーブル125は、異常と検出されたフロー(異常フロー)に関する情報を管理する。異常情報テーブル125は、データ項目として、フローID600、対フローID601、異常内容602、異常継続時間603、及び、異常改善方法604を有してよい。
 フローID600、及び、対フローID601は、異常と検出されたフローIDである。フローID600及び対フローID601は、相関情報テーブル124の相関係数変化時刻506に時刻が格納されている、フローID500及び対フローID501であってもよい。
 異常内容602は、フローID600及び対フローID601と関連付けられる、顧客システムにおいて発生した異常の内容を示す。
 異常継続時間603は、顧客システムにおいて、異常内容602の異常が継続した時間を示す。
 異常改善方法604は、顧客システムにおける、異常内容602の異常に対する改善方法の情報を示す。
 異常内容602には、相関情報テーブル124において、フローID600及び対フローID601と対応する相関係数変化時刻506において、顧客システムで発生した異常の内容が格納されてよい。
 異常内容602、異常継続時間603、及び/又は、異常改善方法604は、管理者によって入力されてよい。例えば、分析システム100が相関係数変化時刻506を、管理システム10を介して管理者へ提示し、管理者に、その相関係数変化時刻において顧客システムで発生した異常の内容、その異常が継続した時間、及び/又は、その異常に対する改善方法を入力してもらってもよい。
 図9は通信量テーブル126の構成例を示す。通信量テーブル126は、各フローの各時刻におけるデータ通信量を管理する。通信量テーブル126は、データ項目として、フローID700、時刻701、及び、通信量702を有してよい。
 フローID700は、図4のフローID200と同じである。
 時刻701は、フローID700のフローの通信量702が計測された時刻である。時刻701は、分析システム100がネットワーク装置30から通信量の情報を受領した時刻であっても良いし、ネットワーク装置30が当該通信量を計測した時刻であってもよい。
 通信量702は、フローID700のフローの、時刻701における通信量である。通信量702は、ネットワーク装置30が、実際に計測した値であっても良いし、サンプリングしたデータ(パケット)から算出した値であってもよい。
 なお、離散化後通信量テーブル127の有するデータ項目は、図9の通信量テーブル126と同じであってよい。よって、離散化後通信量テーブル127の図面については省略する。
 図10は、フロー群の生成処理の一例を示すシーケンスチャートである。フロー群の生成処理は、分析システム100の導入時、定期的、アプリケーションの新規デプロイや構成時、又は、所定のイベント発生時などに実行されてよい。図10は、計算機50-1が計算機50-2へ送信したデータの通信量をネットワーク装置30が計測し、分析システム100がその計測結果に基づいてフロー群を生成する処理の例である。
 (ステップ1000)計算機50-1は、着信先を計算機50-2とするデータを、ネットワーク装置30へ送信する。当該データは、IPパケットであってよい。
 (ステップ1010)ネットワーク装置30は、発信元の計算機50-1から送信されたデータを、着信先の計算機50-2へ転送する。
 (ステップ1020)ネットワーク装置30は、転送データのフロー通信量を計測し、当該フローの情報及び計測結果を分析システム100へ送信する。フロー情報は、転送データ(IPパケット)のヘッダに含まれる情報(すなわちフロー情報テーブル120のデータ項目に対応する値)であってよい。フローの計測結果は、サンプリングに基づく統計情報(例えば計測時間310、通信量平均320、通信量標準偏差330)であってよい。ネットワーク装置30は、当該ステップ1020の処理を、データ転送毎に実行しても良いし、定期的に実行しても良いし、データ転送回数が所定回数に達する毎に実行してもよい。なお、フローIDは、ネットワーク装置30によって付与されても良いし、分析システム100によって付与されてもよい。ネットワーク装置30は、sFlowプロトコルに従って、フローの計測結果を分析システム100へ送信してよい。
 (ステップ2010)分析システム100は、フロー群生成処理を実行する。次に当該処理を説明する。
 図11は、フロー群生成処理の例を示すフローチャートである。本処理は、図10のステップ2010の処理に相当する。
 (ステップ5010)フロー群生成部111は、各フローの通信量を算出する。フロー群生成部111は、各フローIDについて、次の(A1)乃至(A4)の処理を実行してよい。
 (A1)フロー群生成部111は、フロー情報テーブル121から、フローID200が一致するエントリを数える。
 (A2)フロー群生成部111は、そのエントリ数に基づいて、フローIDのフローのパケット数を算出する。パケット数は、「ネットワーク装置30におけるサンプリングレート×エントリ数」として算出されてよい。サンプリングレートは、ネットワーク装置30及び分析システム100に初期設定されてよい。
 (A3)フロー群生成部111は、パケット数と、平均パケット長と、計測時間とに基づいて、フローIDの通信量を算出する。通信量は、「パケット数×平均パケット長/計測時間」として算出されてよい。平均パケット長及び計測時間は、ネットワーク装置30及び分析システム100に初期設定されても良いし、ネットワーク装置30によって計測されても良い。
 (A4)フロー群生成部111は、フローIDと、ステップ1020で計測結果を受領した時刻と、その算出した通信量と、を対応付けて通信量テーブル126へ格納する。なお、計測結果を受領した時刻は、ネットワーク装置30がデータを受信した時刻であってもよい。
 (ステップ5015)フロー群生成部111は、各フローの通信量平均320及び通信量標準偏差330を算出する。フロー群生成部111は、各フローIDについて、次の(B1)乃至(B2)の処理を実行してよい。
 (B1)フロー群生成部111は、通信量テーブル126から、フローID700が同じエントリを抽出する。そして、フロー群抽出部111は、その抽出したエントリの時刻701から、最古の時刻と最新の時刻を特定する。
 (B2)フロー群生成部111は、フロー特性テーブル122の上記(B1)で特定したフローIDに対応する計測時間310に、最古の時刻から最新の時刻までの時間を格納する。フロー群抽出部111は、フロー特性テーブル122の上記(B1)で特定したフローIDに対応する通信量平均320及び通信量標準偏差330に、上記(B1)で抽出した通信量702から算出した平均及び標準偏差を格納(上書き)する。
 (ステップ5020)フロー群生成部111は、各フローのフロー離散化幅350及び周波数成分360を算出する。以下、フロー離散化幅350及び周波数成分306の算出方法を説明する。
 (フロー離散化幅350の算出方法)
 フロー毎にフロー離散化幅を算出する理由は次の通りである。フローの通信量が非常に小さい場合、そのフローに対してサンプリングされるパケット数も少ない。したがって、その少数のサンプリングされたパケット数に基づいて上記(A3)のように通信量を算出するにあたり、サンプリングされるパケット数が少し増減するだけで、算出される通信量が大きく変動してしまう。この場合、検出される通信量の変動が、実際に通信量の増減によるものか(つまり有意な変動であるのか)、それとも、サンプリングされたパケット数がたまたま増減しただけなのか(つまり無意な変動であるのか)を判断することができない。
 そこで、本実施例では、各フローの通信量の大きさに基づいて、各フローの適切な(統計的な信頼度が所定以上となる)サンプリング時間を算出する。このサンプリング時間を、「フロー離散化幅」と呼ぶ。フロー離散化幅350は、「分析可能通信量/通信量平均」として算出されてよい。この分析可能通信量は、所定値であってよい。この通信量平均は、フロー特性テーブル122においてフローIDと対応付けられている通信量平均320であってよい。
 (周波数成分360の算出方法)
 フローが異常か否かは、例えば次のように判定する方法が考えられる。すなわち、計測されたフローの全ての組み合わせについて、それぞれ、通常時(正常時)における通信量の時系列変化に係る相関係数を算出しておく。そして、全ての組み合わせについて相関係数を算出し、その算出した相関係数と通常時の相関係数との差分が所定よりも大きい場合、当該組み合わせに係るフローを異常と判定する。
 しかし、フロー数が多くなるとフローの組み合わせ数が膨大となり、全ての組み合わせについて相関係数を算出することが困難となる。そこで、本実施例では、通常時(正常時)における通信量の時系列変化の特性が類似するフローを同じフロー群に分類しておく。そして、フロー群に属するフローの組み合わせについて相関係数を算出し、その算出した相関係数と通常時の相関係数とを比較することにより、フローの異常を判定する。これにより、フローの組み合わせ数が少なくなるので、相関係数の算出に要する処理負荷を低減することができる。周波数成分は、各フローをフロー群に分類する際に用いられる指標である。以下、各フローをフロー群に分類する方法を説明する。
 例えば、フローの通信量の時系列変化の特性(「フロー特性」)を、(C1)非定常かつ規則性のあるフロー特性(以下「周期性の高いフロー特性」という)、(C2)定常的なフロー特性、(C3)非定常かつ不規則なフロー特性(以下「周期性の低いフロー特性」という)に分類することができる。フロー特性が類似する場合、相関関係も高くなる可能性が高い。反対に、フロー特性が類似しない場合、相関関係も低くなる可能性が高い。周期の特性は周波数の特性として表現が可能であるので、「周期性の高い」は「特定の周波数成分が強い」と表現することができる。以下、(C1)乃至(C3)について説明する。
 (C1)周期性の高いフロー特性同士では、周波数成分(周期)と位相とが類似するほど、相関係数が高くなる可能性が高い。
 (C2)定常的なフロー特性は、周期が非常に大きく且つ振幅が非常に小さい周期性の高いフロー特性と表現することもできる。振幅が非常に小さい為、位相のずれは、相関係数にあまり影響を与えない可能性が高い。したがって、定常的なフロー特性同士では、周波数成分が類似するほど、相関係数が高くなる可能性が高い。
 (C3)周期性の低いフロー特性には、特徴的な周波数成分(周期)や位相は存在しない可能性が高い。例えば、アプリケーションシステムがユーザからのアクセス等のイベントを契機に送受信するデータは、周期性の低いフロー特性を有する可能性が高い。しかしながら、例えば、WEBの3階層モデルにおいて、WEBサーバからアプリケーションサーバへ送信されるデータと、アプリケーションサーバからDBサーバへ送信されるデータとは、連動している(同じようなタイミングで送信される)可能性が高い。このように、同一のイベントを契機に同じようなタイミングで送信されるデータは、パルス波の挙動に近いため、周期性は存在しないものの、ほぼ同一の周波数帯域に高い周波数成分を有する可能性が高い。
 各フローを、上述の(C1)乃至(C3)のように分類しても良いが、もう少し緩い条件で分類してもよい。例えば、フロー特性の周波数成分のみを用いて分類してもよい。この分類方法は、上述の分類方法と比較して、同じ分類に相関関係の低いフローの組み合わせが存在する(フォールスポジティブの)可能性が高くなり、相関係数の算出処理の負荷が高くなるが、反対に、同じ分類に相関関係の高いフローの組み合わせが存在しない(フォールスネガティブの)可能性が低くなる。
 次に、周波数成分の算出処理の一例を示す。
 (D1)フロー群生成部111は、通信量テーブル126から、フローID700が同じエントリを抽出する。
 (D2)フロー群生成部111は、その抽出した複数のエントリの時刻701を、当該フローIDに対応するフロー離散化幅350の間隔で分割する。そして、その分割した各エントリの通信量702の合計(又は平均)を算出する。例えば、フロー離散化幅350が「1分」の場合、その抽出した複数のエントリの時刻701を、1分間隔で分割する。そして、その分割した各1分間の通信量の合計(又は平均)を算出する。これにより、フロー離散化幅350で再計算された通信量の時系列データ(以下「離散化後フロー通信量」という)が生成される。
 (D3)フロー群生成部111は、上記(D2)で算出した離散化後フロー通信量に対して周波数解析を行い、周波数成分を算出する。
 (D4)フロー群生成部111は、フローID、フロー離散化幅に対応する時刻、離散化後フロー通信量を、離散化後通信量テーブル127(不図示)に格納する。
 (D5)フロー群生成部111は、フロー特性テーブル122において、フローID300に対応する、フロー離散化幅350及び周波数成分360に、上述で算出したフロー離散化幅及び周波数成分を格納(上書き)する。フロー群生成部111は、全てのフローIDについて、上記(D1)乃至(D5)の処理を行う。
 (ステップ5025)フロー群生成部111は、フロー特性テーブル122から各フローの周波数成分360の大きい周波数帯域を特定する。例えば、フロー群抽出部111は、上位N(Nは正の整数)個の周波数成分が属する周波数帯域を特定してもよい。又は、フロー群抽出部111は、所定の閾値以上の周波数成分が属する周波数帯域を特定してもよい。
 そして、フロー群抽出部111は、その特定した周波数帯域に基づいて各フローを、各フロー群に分類する。例えば、フロー群生成部111は、その特定した周波数帯域が、所定の閾値よりも大きい方に属しているか、それとも、小さい方に属しているか基づいて、各フローを2つのフロー群に分類してもよい。例えば、フロー群生成部111は、その特定した周波数帯域が、複数の異なる区間の何れに属するかに基づいて、各フローを複数のフロー群に分類しても良い。例えば、フロー群抽出部111は、特定した周波数帯域を属性として、K-MEANS法等の公知のクラスタリング手法によって、各フローを複数のフロー群に分類しても良い。
 そして、フロー群生成部111は、フロー群抽出部122において、同じフロー群に分類したフローID300に対応するフロー群ID340に、共通のフロー群IDを付与する。
 (ステップ5030)フロー群生成部111は、各フロー群について、フロー群離散化幅とウィンドウサイズとを算出する。フローの組み合わせについて相関係数を算出するためには、それらのフローの離散化幅が一致している必要があるからである。そこで本実施例では、以下のように、各フロー群に対してフロー群離散化幅を設定する。
 (E1)フロー群生成部111は、フロー特性テーブル122から、フロー群IDが同じエントリを抽出する。
 (E2)フロー群生成部111は、その抽出したエントリのうち、最大のフロー離散化幅を特定する。
 (E3)フロー群生成部111は、その特定した最大のフロー離散化幅(フロー群離散化幅)に所定値を掛けて、ウィンドウサイズを算出する。この所定値は、予め設定された1以上の値であってよい。
 (E4)フロー群生成部111は、フロー群情報テーブル123において、フロー群ID300に対応するフロー群離散化幅410及びウィンドウサイズ420に、それぞれ、(E3)で算出した最大のフロー離散化幅及びウィンドウサイズを格納(上書き)する。なお、フロー群生成部111は、上記(E1)のフロー群IDがフロー群情報テーブル123に存在しない場合は、新規エントリを作成してよい。
 (ステップ5035)フロー群生成部111は、通信量テーブル126を用いて、ステップ5020の(D1)乃至(D5)と同様の手順で、各フローIDについて、フローIDの属するフロー群ID340のフロー群離散化幅410に対応する時刻、離散化後フロー通信量を算出し、離散化後通信量テーブル127(不図示)に格納(上書き)する。
 以上の処理により、データ量の時系列変化が類似するフローを、同じフロー群に分類することができる。また、フロー群に対して共通の、フロー群離散化幅及びウィンドウサイズを算出することができる。
 図12は、異常フローの検出処理の一例を示すシーケンスチャートである。異常フローの検出処理は、随時実行されてよい。図12は、計算機50-1が計算機50-2へ送信したデータの通信量をネットワーク装置30が計測し、分析システム100がその計測結果に基づいて、異常フローを検出する処理の例である。
 ステップ2000からステップ2020までの各処理は、図10のステップ1000からステップ1020までの各処理と同じである。よって、ここでは説明を省略する。
 (ステップ2030)分析システム100は、異常フロー検出処理を実行する。当該処理の詳細については後述する(図13参照)。
 (ステップ2040)分析システム100は、異常フローを検出した場合、当該異常フローに関する情報(フロー情報テーブル121のデータ項目、相関情報テーブル124の相関係数変化時刻506など)を管理システム10へ送信する。
 (ステップ2050)管理者は、管理システム10を介して、その通知された異常フローの発生時に顧客システムにおいて発生した異常内容などを入力する。管理システム10は、この入力された異常内容などを、分析システム100へ送信する。分析システム100は、この送信された異常内容などを、異常情報テーブル125の異常フローIDに対応するエントリに格納する。これにより、異常フローと、顧客システムにおいて発生した異常内容などが対応付けられる。
 図13は、異常フロー検出処理の一例を示すフローチャートである。本処理は、図12のステップ2030の処理に相当する。
 (ステップ6010)相関算出部112は、処理対象のフロー群IDを選択する。
 (ステップ6020)相関算出部112は、ステップ6010で選択したフロー群IDを有する2つのフローID(フローID500及び対フローID501)の間の相関係数を算出し、相関情報テーブル124の相関係数502に格納する。例えば、以下の(F1)乃至(F4)の処理により、相関係数を算出する。
 (F1)相関算出部112は、離散化後通信量テーブル127から、フローID500及び対フローID501に対応するレコードを抽出する。例えば、フローID500「X」の時刻「i」における通信量を「Xi」、対フローID「Y」の時刻「i」における通信量を「Yi」とすると、フローID「X」と対フローID「Y」との間の相関係数「r」は下記の式(1)で算出される。
Figure JPOXMLDOC01-appb-M000001
・・・(1)
 ここで、「N(Nは正の整数)」は、離散化後通信量テーブル127におけるフローID「X」(又はフローID「Y」)のエントリ数である。同じフロー群に属するフローは同じフロー群離散化幅で離散化されているので、フローID「X」及び「Y」の当該エントリ数は同じ「N」となる。
 (F2)相関算出部112は、相関情報テーブル124の、フローID「X」及び対フローID「Y」に対応する相関係数502に、その算出した相関係数「r」を格納する。
 (F3)相関算出部112は、今回算出した相関係数「r」を用いて、相関情報テーブル124の過去に算出された相関係数平均値504、及び、相関係数標準偏差505を更新する。また、相関算出部112は、相関係数算出回数503をインクリメントする。
 (F4)相関算出部112は、上記(F1)乃至(F3)の処理を、ステップ6010で選択したフロー群IDに属するフローIDの全ての組み合せについて実行する。
 相関算出部112は、上記(F1)乃至(F4)の処理を、全てのフロー群IDについて実行する。これにより、相関係数の計算回数が、同じフロー群に属するフローの組み合せ数(フロー群に属するフロー数の2乗とフロー群数との積)となる。この計算回数は、全てのフローの組み合せ数(フロー数の2乗)よりも少ない。よって、本実施例によれば、相関係数の算出に要する計算リソース及び/又は計算時間を削減することができる。
 (ステップ6030)相関算出部112は、相関情報テーブル124における相関係数502と相関係数平均504との差分を算出し、当該差分が所定の閾値よりも大きいエントリを特定する。そして、相関算出部112は、それら特定したエントリのフローID500及び対フローID501を、異常情報テーブル125のフローID600及び対フローID601に格納する。なぜなら、相関係数が平均的な相関係数よりも大きく外れている場合(相関係数に顕著な変化がある場合)、その相関係数に係るフロー及び/又は対フローが異常である可能性が高いからである。なお、上記差分に対する所定の閾値は、相関係数の標準偏差に基づく閾値として定義されても良い。
 上述した実施例は、本発明の説明のための例示であり、本発明の範囲を実施例にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
 3:データネットワーク 10:管理システム 21:制御ネットワーク 30:ネットワーク装置 50:計算機 100:分析システム

Claims (10)

  1.  データフローの異常を検出する異常検出装置であって、プロセッサ及びメモリを有し、
     前記プロセッサは、
      複数のデータフローを、データフローのデータ量の時系列変化の類似性に基づいて分類し、
      同じ分類に属する少なくとも2つのデータフローの間について、通常時における相関係数と、或るタイミングにおける相関係数とを算出し、
      前記通常時における相関係数と前記或るタイミングにおける相関係数との差分が所定の閾値よりも大きい場合、前記少なくとも2つのデータフローの内の少なくとも何れかが異常であると判定する
    異常検出装置。
  2.  前記データフローとは、発信元から着信先へ通信ネットワークを介して流れるデータの流れである
    請求項1に記載の異常検出装置。
  3.  前記プロセッサは、データ量の時系列変化の周波数成分の特性が類似するデータフローを、同じ分類に属させる
    請求項2に記載の異常検出装置。
  4.  前記周波数成分の特性が類似するとは、所定の閾値以上の周波数成分を含む周波数帯域の少なくとも一部が重複することである
    請求項3に記載の異常検出装置。
  5.  データフローのデータ量の時系列変化に対して相関係数の算出対象の範囲として設定される対比時間は、同じ分類に属するデータフローにおいて共通である
    請求項2に記載の異常検出装置。
  6.  前記対比時間は、前記同じ分類に属するデータフローのデータ量の時系列変化に対して共通に設定される離散化幅の倍数として算出される
    請求項5に記載の異常検出装置。
  7.  前記共通に設定される離散化幅は、当該同じ分類に属するデータフロー毎にデータ量の時系列変化に基づいて算出した離散化幅のうち、最長の離散化幅である
    請求項6に記載の異常検出装置。
  8.  前記プロセッサは、データフローが異常であると判定した場合、当該異常を検出したタイミングと、当該データフローの発信元及び着信先の情報とを通知し、当該タイミングにおいて発生した障害内容の入力を受け付ける
    請求項1に記載の異常検出装置。
  9.  データフローの異常を検出する異常検出システムであって、分析装置及びネットワーク装置を有し、
     前記分析装置は、
      ネットワーク装置から複数のデータフローのデータ量の時系列変化の情報を収集し、
      それら収集した複数のデータフローを、データフローのデータ量の時系列変化の類似性に基づいて分類し、
      同じ分類に属する少なくとも2つのデータフローの間について、通常時における相関係数と、或るタイミングにおける相関係数とを算出し、
      前記通常時における相関係数と前記或るタイミングにおける相関係数との差分が所定の閾値よりも大きい場合、前記少なくとも2つのデータフローの内の少なくとも何れかが異常であると判定する
    異常検出システム。
  10.  データフローの異常を検出する計算機装置による異常検出方法であって、
      複数のデータフローを、データフローのデータ量の時系列変化の類似性に基づいて分類し、
      同じ分類に属する少なくとも2つのデータフローの間について、通常時における相関係数と、或るタイミングにおける相関係数とを算出し、
      前記通常時における相関係数と前記或るタイミングにおける相関係数との差分が所定の閾値よりも大きい場合、前記少なくとも2つのデータフローの内の少なくとも何れかが異常であると判定する
    異常検出方法。
PCT/JP2016/059330 2016-03-24 2016-03-24 異常検出装置、異常検出システム、及び、異常検出方法 WO2017163352A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018506692A JP6535809B2 (ja) 2016-03-24 2016-03-24 異常検出装置、異常検出システム、及び、異常検出方法
PCT/JP2016/059330 WO2017163352A1 (ja) 2016-03-24 2016-03-24 異常検出装置、異常検出システム、及び、異常検出方法
US15/758,739 US10673721B2 (en) 2016-03-24 2016-03-24 Anomaly detection apparatus, anomaly detection system, and anomaly detection method using correlation coefficients

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/059330 WO2017163352A1 (ja) 2016-03-24 2016-03-24 異常検出装置、異常検出システム、及び、異常検出方法

Publications (1)

Publication Number Publication Date
WO2017163352A1 true WO2017163352A1 (ja) 2017-09-28

Family

ID=59900218

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/059330 WO2017163352A1 (ja) 2016-03-24 2016-03-24 異常検出装置、異常検出システム、及び、異常検出方法

Country Status (3)

Country Link
US (1) US10673721B2 (ja)
JP (1) JP6535809B2 (ja)
WO (1) WO2017163352A1 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108362957A (zh) * 2017-12-19 2018-08-03 东软集团股份有限公司 设备故障诊断方法、装置、储存介质和电子设备
JP2019152656A (ja) * 2018-02-28 2019-09-12 株式会社デンソー 電池監視システム
JP2019152657A (ja) * 2018-02-28 2019-09-12 株式会社デンソー 電池監視システム
JP2020501476A (ja) * 2016-12-29 2020-01-16 エヌエスフォーカス インフォメーション テクノロジー カンパニー,リミテッドNsfocus Information Technology Co.,Ltd ネットワークにおけるトラフィックの異常を検出するための方法および装置
CN111817923A (zh) * 2020-07-28 2020-10-23 城云科技(中国)有限公司 交换机端口流量突变的预警分析方法和装置
CN112445842A (zh) * 2020-11-20 2021-03-05 北京思特奇信息技术股份有限公司 一种基于时间序列数据的异常值检测方法和系统
WO2023079757A1 (ja) * 2021-11-08 2023-05-11 日本電信電話株式会社 分析装置、分析方法及び分析プログラム

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10742672B2 (en) * 2017-04-03 2020-08-11 Level 3 Communication, Llc Comparing metrics from different data flows to detect flaws in network data collection for anomaly detection
US11592488B2 (en) * 2018-02-28 2023-02-28 Denso Corporation Battery monitoring system
US10742567B2 (en) * 2018-12-13 2020-08-11 Accenture Global Solutions Limited Prescriptive analytics based storage class placement stack for cloud computing
EP3989492B1 (en) * 2019-07-23 2024-01-03 Nippon Telegraph And Telephone Corporation Abnormality detection device, abnormality detection method, and abnormality detection program
US11651249B2 (en) 2019-10-22 2023-05-16 EMC IP Holding Company LLC Determining similarity between time series using machine learning techniques
US11175838B2 (en) 2019-10-22 2021-11-16 EMC IP Holding Company LLC Automatic identification of resources in contention in storage systems using machine learning techniques
US11175829B2 (en) 2019-10-22 2021-11-16 EMC IP Holding Company LLC Automatic identification of workloads contributing to behavioral changes in storage systems using machine learning techniques
US11062173B2 (en) 2019-10-22 2021-07-13 EMC IP Holding Company LLC Automatic identification of workloads contributing to system performance degradation using machine learning techniques
US11995562B2 (en) 2020-12-03 2024-05-28 International Business Machines Corporation Integrating documentation knowledge with log mining for system diagnosis
US11599404B2 (en) 2020-12-03 2023-03-07 International Business Machines Corporation Correlation-based multi-source problem diagnosis
US11474892B2 (en) 2020-12-03 2022-10-18 International Business Machines Corporation Graph-based log sequence anomaly detection and problem diagnosis
US11403326B2 (en) 2020-12-03 2022-08-02 International Business Machines Corporation Message-based event grouping for a computing operation
US11797538B2 (en) 2020-12-03 2023-10-24 International Business Machines Corporation Message correlation extraction for mainframe operation
US11243835B1 (en) 2020-12-03 2022-02-08 International Business Machines Corporation Message-based problem diagnosis and root cause analysis
US11513930B2 (en) 2020-12-03 2022-11-29 International Business Machines Corporation Log-based status modeling and problem diagnosis for distributed applications
CN114679409A (zh) * 2020-12-09 2022-06-28 华为技术有限公司 一种流表发送方法及相关装置
CN112752113B (zh) * 2020-12-28 2022-08-02 上海哔哩哔哩科技有限公司 直播服务器异常因素的确定方法及装置
US11625237B2 (en) 2021-06-03 2023-04-11 International Business Machines Corporation Autonomous contextual software support anomaly detection and playbook automation
US11895005B1 (en) * 2022-12-02 2024-02-06 Arista Networks, Inc. Network devices with hardware accelerated table updates

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11177549A (ja) * 1997-12-09 1999-07-02 Fujitsu Ltd トラフィック監視装置及びトラフィック監視方法
JP2006115129A (ja) * 2004-10-13 2006-04-27 Tohoku Univ ネットワーク異常検出システム
JP4112584B2 (ja) * 2005-12-19 2008-07-02 日本電信電話株式会社 異常トラヒック検出方法及び装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110213869A1 (en) * 2000-09-25 2011-09-01 Yevgeny Korsunsky Processing data flows with a data flow processor
JP4872945B2 (ja) 2008-02-25 2012-02-08 日本電気株式会社 運用管理装置、運用管理システム、情報処理方法、及び運用管理プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11177549A (ja) * 1997-12-09 1999-07-02 Fujitsu Ltd トラフィック監視装置及びトラフィック監視方法
JP2006115129A (ja) * 2004-10-13 2006-04-27 Tohoku Univ ネットワーク異常検出システム
JP4112584B2 (ja) * 2005-12-19 2008-07-02 日本電信電話株式会社 異常トラヒック検出方法及び装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020501476A (ja) * 2016-12-29 2020-01-16 エヌエスフォーカス インフォメーション テクノロジー カンパニー,リミテッドNsfocus Information Technology Co.,Ltd ネットワークにおけるトラフィックの異常を検出するための方法および装置
CN108362957A (zh) * 2017-12-19 2018-08-03 东软集团股份有限公司 设备故障诊断方法、装置、储存介质和电子设备
CN108362957B (zh) * 2017-12-19 2020-09-11 东软集团股份有限公司 设备故障诊断方法、装置、储存介质和电子设备
JP2019152656A (ja) * 2018-02-28 2019-09-12 株式会社デンソー 電池監視システム
JP2019152657A (ja) * 2018-02-28 2019-09-12 株式会社デンソー 電池監視システム
JP7225896B2 (ja) 2018-02-28 2023-02-21 株式会社デンソー 電池監視システム
JP7225897B2 (ja) 2018-02-28 2023-02-21 株式会社デンソー 電池監視システム
CN111817923A (zh) * 2020-07-28 2020-10-23 城云科技(中国)有限公司 交换机端口流量突变的预警分析方法和装置
CN111817923B (zh) * 2020-07-28 2021-09-14 城云科技(中国)有限公司 交换机端口流量突变的预警分析方法和装置
CN112445842A (zh) * 2020-11-20 2021-03-05 北京思特奇信息技术股份有限公司 一种基于时间序列数据的异常值检测方法和系统
WO2023079757A1 (ja) * 2021-11-08 2023-05-11 日本電信電話株式会社 分析装置、分析方法及び分析プログラム

Also Published As

Publication number Publication date
JP6535809B2 (ja) 2019-06-26
US20180270132A1 (en) 2018-09-20
JPWO2017163352A1 (ja) 2018-10-18
US10673721B2 (en) 2020-06-02

Similar Documents

Publication Publication Date Title
WO2017163352A1 (ja) 異常検出装置、異常検出システム、及び、異常検出方法
US11528283B2 (en) System for monitoring and managing datacenters
US9386028B2 (en) System and method for malware detection using multidimensional feature clustering
US10027694B1 (en) Detecting denial of service attacks on communication networks
US9787556B2 (en) Apparatus, system, and method for enhanced monitoring, searching, and visualization of network data
US20190007292A1 (en) Apparatus and method for monitoring network performance of virtualized resources
KR20150105436A (ko) 향상된 스트리밍 방법과 네트워크 메타데이터를 처리하기 위한 시스템
US20190007285A1 (en) Apparatus and Method for Defining Baseline Network Behavior and Producing Analytics and Alerts Therefrom
JP2015173406A (ja) 分析システム、分析装置、及び分析プログラム
AU2016393663A1 (en) Method and system for compression and optimization of in-line and in-transit information security data
US11451443B2 (en) Communications network performance
JP6317685B2 (ja) 通信監視システム、通信監視方法およびプログラム
US20230261957A1 (en) Framework for Anomaly Detection with Dynamic Model Selection
EP3092737B1 (en) Systems for enhanced monitoring, searching, and visualization of network data
Johnson et al. Network anomaly detection using autonomous system flow aggregates
JP2019213029A (ja) 感染拡大攻撃検知システム及び方法、並びに、プログラム
WO2015105684A1 (en) Apparatus, system, and method for enhanced monitoring and interception of network data

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 15758739

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2018506692

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16895388

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 16895388

Country of ref document: EP

Kind code of ref document: A1