WO2022259496A1 - 分析装置、分析方法、および、分析プログラム - Google Patents

分析装置、分析方法、および、分析プログラム Download PDF

Info

Publication number
WO2022259496A1
WO2022259496A1 PCT/JP2021/022220 JP2021022220W WO2022259496A1 WO 2022259496 A1 WO2022259496 A1 WO 2022259496A1 JP 2021022220 W JP2021022220 W JP 2021022220W WO 2022259496 A1 WO2022259496 A1 WO 2022259496A1
Authority
WO
WIPO (PCT)
Prior art keywords
alerts
clustering
cluster
communication
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2021/022220
Other languages
English (en)
French (fr)
Inventor
正紀 篠原
高明 小山
幸雄 永渕
真紀子 青柳
泰大 寺本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Inc
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2023526786A priority Critical patent/JP7582469B2/ja
Priority to CN202180098639.6A priority patent/CN117397218A/zh
Priority to US18/566,582 priority patent/US12524292B2/en
Priority to PCT/JP2021/022220 priority patent/WO2022259496A1/ja
Priority to EP21945170.5A priority patent/EP4333377A4/en
Priority to AU2021450034A priority patent/AU2021450034B2/en
Publication of WO2022259496A1 publication Critical patent/WO2022259496A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • 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/0604Management of faults, events, alarms or notifications using filtering, e.g. reduction of information by using priority, element types, position or time
    • 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/065Management 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 logical or physical relationship, e.g. grouping and hierarchies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/16Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence

Definitions

  • the present invention relates to an analysis device, an analysis method, and an analysis program for analyzing alerts indicating communication anomalies.
  • Non-Patent Document 1 a detection system presents an alert
  • category variables such as IP addresses, port numbers, and protocol numbers indicated by alerts, and communication start dates and times as keys
  • an object of the present invention is to solve the above-described problems and reduce the work required to determine whether an alert is due to overdetection.
  • the present invention provides an accumulation unit for accumulating alerts of communication determined to be not normal communication based on a model showing characteristics of normal communication, and a clustering unit that clusters the alerts using a communication feature amount; a determination unit that determines whether each cluster generated by the clustering is composed of alerts of the same type; and a result output unit for outputting a result of and a determination result as to whether or not each of the clusters is composed of alerts of the same type.
  • FIG. 1 is a diagram for explaining a configuration example and an outline of an analysis system.
  • FIG. 2 is a diagram illustrating an example of items used by the analysis server for alert clustering.
  • FIG. 3 is a diagram illustrating an example of clustering by an analysis server;
  • FIG. 4 is a flowchart illustrating an example of a processing procedure of an analysis server;
  • FIG. 5 is a flowchart illustrating an example of a processing procedure of an analysis server;
  • FIG. 6 is a diagram illustrating an example of how an operator responds to an alert using the result of alert clustering by the analysis server.
  • FIG. 7 is a diagram illustrating an example of the result of alert clustering by the analysis server and the determination result of the same type of alert.
  • FIG. 8 is a diagram showing a configuration example of a computer that executes an analysis program.
  • the analysis system 1 includes a sensing device 2 and an analysis server 10.
  • the sensing device 2 observes communication of terminal equipment (for example, IoT equipment).
  • the sensing device 2 observes the communication of the terminal device by mirroring the NW (network) device to which the terminal device is connected. Then, the sensing device 2 generates information (processed information) obtained by processing the communication observation result of the terminal device, generates a communication feature amount from the processed information, and transmits it to the analysis server 10 .
  • NW network
  • the sensing device 2 generates information (processed information) obtained by processing the communication observation result of the terminal device, generates a communication feature amount from the processed information, and transmits it to the analysis server 10 .
  • the feature amounts of the communication are, for example, the IP address of the terminal device performing the communication, the session source IP address, the session destination IP address, the session destination port number, the protocol number, the session duration, This information indicates the total number of forward bytes, the total number of packets in the forward direction, the total number of bytes in the reverse direction, the total number of packets in the reverse direction, and the like.
  • the analysis server 10 determines whether or not the communication is normal based on the characteristic amount of the communication transmitted from the sensing device 2 and the model indicating the characteristics of normal communication, and determines that the communication is abnormal. If so, output an alert.
  • the analysis server 10 calculates an anomaly score indicating the deviation between the communication feature quantity transmitted from the sensing device 2 and a model indicating the characteristics of normal communication, and if the anomaly score exceeds a predetermined threshold, an alert to output After that, the operator of the analysis system 1 confirms the contents of the alert, and if the alert is overdetection, feeds back to that effect.
  • the feedback here is, for example, by the operator registering in the analysis server 10 that the alert is an over-detection, so that the analysis server 10 does not generate an alert for the same type of feature quantity thereafter. is.
  • the analysis server 10 performs clustering of alerts so that the characteristics of each cluster can be clearly seen so that the operator can efficiently perform the above-described confirmation work (confirmation work for alerts of the same type can be collectively performed).
  • the analysis server 10 when clustering alerts, the analysis server 10 excludes alerts for communications not included in the communication data used for learning the above model (for example, communications by new terminal devices) from clustering targets. .
  • the analysis server 10 stores feature amount items (for example, session duration, forward direction total byte count, forward direction total packet count, reverse direction total byte count, reverse direction total packet count, etc.) that tend to reveal communication characteristics. to cluster the alerts.
  • feature amount items for example, session duration, forward direction total byte count, forward direction total packet count, reverse direction total byte count, reverse direction total packet count, etc.
  • the analysis server 10 can cluster alerts so that the characteristics of each cluster appear clearly.
  • the analysis server 10 outputs the determination result as to whether or not each cluster is composed of alerts of the same type.
  • the operator can identify clusters that are composed of alerts of the same type and can be completed with a single over-detection determination. As a result, it is possible to reduce the work required to determine whether an alert is due to overdetection.
  • the analysis server 10 since the analysis server 10 does not use payload information that depends on a specific payload when clustering alerts, it can also support clustering of encrypted communication alerts.
  • the analysis server 10 includes a storage unit 12, a feature amount reception unit 131, a learning unit 132, an analysis unit (accumulation unit) 133, a screen display processing unit 134, a clustering unit 135, a determination unit 136, and a result output. and a portion 137 .
  • the storage unit 12 stores information that the analysis server 10 refers to when executing various processes and the execution results of various processes.
  • the storage unit 12 stores the feature amount of communication acquired from the sensing device 2, the model indicating the feature of normal communication learned by the learning unit 132, and the communication tuple (initial tuple) of the feature amount used for learning the model.
  • communication analysis results for example, the above-mentioned anomaly score
  • the communication tuple of the feature amount used for model learning is called an initial tuple.
  • the initial tuple is, for example, the IP address of the terminal device, the source IP address of the session, the destination IP address of the session, the destination port number of the session, the protocol number, etc., which are included in the feature amount used for learning the model. Yes, but not limited to the above five.
  • the feature amount reception unit 131 receives communication feature amounts from the sensing device 2 . Then, the feature quantity receiving unit 131 accumulates the received communication feature quantity in the storage unit 12 . For example, the feature quantity reception unit 131 first receives a feature quantity of communication for model learning (a feature quantity of normal communication) and stores it in the storage unit 12 . After that, the feature quantity reception unit 131 receives the feature quantity of the communication to be detected, and stores it in the storage unit 12 .
  • a feature quantity of communication for model learning a feature quantity of normal communication
  • the learning unit 132 uses the feature amount of communication (feature amount of normal communication) accumulated in the storage unit 12 to learn a model that indicates the characteristics of normal communication. After that, the learning unit 132 stores each parameter of the learned model and data used for model learning (for example, an initial tuple) in the storage unit 12 .
  • the analysis unit 133 uses the model learned by the learning unit 132 to analyze the communication to be detected. For example, the analysis unit 133 calculates an anomaly score indicating the deviation between the feature amount of the communication to be detected and the above model. Then, the analysis unit 133 outputs an alert when the anomaly score exceeds a predetermined threshold (that is, when there is a high possibility that the communication is not normal).
  • the alert includes, for example, identification information of the communication targeted for the alert, date and time of occurrence of the communication, and the like. The output alert is accumulated in the storage unit 12 .
  • the screen display processing unit 134 displays the alerts accumulated in the storage unit 12 on the screen. For example, the screen display processing unit 134 displays a list of alerts accumulated in the storage unit 12 on the screen based on the instruction input by the operator. This allows the operator to confirm on the screen what kind of alert has been output.
  • the clustering unit 135 performs clustering of alerts based on communication feature amounts included in the alerts accumulated in the storage unit 12 .
  • the clustering unit 135 acquires from the storage unit 12 the alert and the feature amount of the communication targeted by the alert. Then, the clustering unit 135 clusters the alerts based on the acquired communication feature amount.
  • the clustering unit 135 narrows down and normalizes the items of the feature amount used for clustering among the feature amounts of the communication targeted for the alert so that the feature of each cluster appears clearly.
  • the clustering unit 135 excludes alerts of communication tuples that are different from the communication tuples (initial tuples) of the feature values used for model learning from clustering targets. For example, the clustering unit 135 compares the communication tuple (initial tuple) of the feature amount used for model learning with the communication tuple of the communication feature amount included in the alert, and obtains a categorical variable (IP of the terminal device itself). addresses, session source IP addresses, session destination IP addresses, session destination port numbers, and protocol numbers) are excluded from clustering targets.
  • IP categorical variable
  • the clustering unit 135 can exclude alerts with clear reasons, such as communications from new terminal devices, from clustering targets.
  • the clustering unit 135 performs clustering by excluding information such as communication occurrence date and time, anomaly score, etc., from the information included in the alert. For example, the clustering unit 135 determines at least one of the session duration, the total number of forward bytes, the total number of forward packets, the total number of reverse bytes, and the total number of reverse packets among the communication feature amounts included in the alert. to cluster alerts.
  • the clustering unit 135 normalizes the difference between the value of the communication feature amount used for learning the model (the value at the time of initial learning) and the value of the communication feature amount included in the alert. clustering of alerts using the converted values.
  • the clustering unit 135 determines, for each terminal device, the session duration, total number of forward bytes, total number of forward packets, total number of reverse bytes, and total number of reverse packets among the feature quantities of alert communication. For each, the difference from the value at the time of initial learning is calculated. Then, the clustering unit 135 clusters the alerts using the logarithmically scaled value of the difference (see FIG. 2).
  • FIG. 301 An example of the result of clustering by the clustering unit 135 is indicated by reference numeral 301 in FIG.
  • the clustering unit 135 generates 165 alerts for five terminal devices (Iot-A, Iot-B, Iot-C, Iot-D, and Iot-E) for session duration, total positive bytes, The results of clustering (cluster 0 to cluster 7) are shown based on the five feature values of the total number of forward packets, the total number of reverse bytes, and the total number of reverse packets.
  • reference numeral 301 indicates a state in which the above clustering result is viewed from the direction of the session duration and the backward total number of bytes.
  • the clustering algorithm used by the clustering unit 135 is Birch, k-means, etc., for example.
  • the user of the analysis server 10 can set what kind of clustering algorithm the clustering unit 135 uses.
  • the determination unit 136 determines whether or not each cluster generated by the clustering unit 135 is composed of alerts of the same type.
  • the determination unit 136 determines whether each cluster is composed of alerts of the same type based on the ratio of the number of alerts in each cluster to all alerts, the number of terminal devices targeted for alerts in each cluster, the density of each cluster, and the like. determine whether or not there is
  • the determination unit 136 calculates the value of (the number of alerts that make up the cluster/the number of all alerts) for each cluster, and classifies clusters that have a predetermined threshold value (for example, 70%) or more as the same type. It is determined that the cluster is configured by the alerts of the alerts of
  • the determination unit 136 calculates, for each cluster, how many terminal devices that are alert targets are included in the cluster.
  • a certain cluster is determined as a cluster composed of alerts of the same type.
  • the determination unit 136 creates a scatter diagram of clusters, calculates the density of the cluster using the area of the cluster on the scatter diagram, and the number of alerts included in the cluster, and the calculated density is , is determined to be a cluster composed of alerts of the same type. For example, the determination unit 136 calculates (the number of alerts that make up the cluster/the area of the cluster) for each cluster, and classifies the clusters whose calculated value is equal to or greater than a predetermined threshold (for example, 1000) as is determined to be a cluster composed of alerts.
  • a predetermined threshold for example, 1000
  • clusters cluster1 to cluster7
  • reference numeral 301 in FIG. For example, for the clusters (cluster1 to cluster7) indicated by reference numeral 301 in FIG. will be described.
  • the ratio of the number of alerts in the cluster to the total number of alerts is 70% or more
  • the number of terminal devices targeted for alerts in the cluster is 1
  • the density of the cluster is 1000 or more
  • the information indicated by reference numeral 302 is the number of alerts of each terminal device (Iot-A, Iot-B, Iot-C, Iot-D, Iot-E) for each cluster (cluster0 to cluster7) indicated by reference numeral 301, This is information indicating area and density.
  • cluster 0 is a cluster of Iot-C alerts only and has a density of 1000 or more.
  • Cluster 3 is also a cluster of Iot-E alerts only and has a density of 1000 or more. Therefore, the determination unit 136 determines that cluster0 and cluster3 are clusters composed of alerts of the same type.
  • the result output unit 137 outputs the result of clustering by the clustering unit 135 and the result of determination by the determination unit 136 as to whether or not each cluster is composed of alerts of the same type.
  • the result output unit 137 outputs the result of clustering indicated by reference numeral 301 in FIG. information and output.
  • an analysis server 10 when clustering alerts, it is possible to generate clusters that clearly show the characteristics of each cluster. Also, the analysis server 10 outputs the determination result as to whether or not each cluster is composed of the same type of alert. This allows the operator to identify clusters for which a single over-detection determination is sufficient. As a result, it is possible to reduce the work required to determine whether an alert is due to overdetection.
  • FIG. 1 An example of the processing procedure of the analysis server 10 will be described with reference to FIGS. 4 and 5.
  • FIG. First, the process of accumulating alerts by the analysis server 10 will be described with reference to FIG. 4, and then the process of clustering the accumulated alerts by the analysis server 10 will be described with reference to FIG.
  • the feature quantity reception unit 131 of the analysis server 10 accumulates the feature quantity of communication (the feature quantity of normal communication) transmitted from the sensing device 2 in the storage unit 12 (S1 in FIG. 4).
  • the learning unit 132 performs learning (initial learning) of a model indicating the characteristics of normal communication using the communication feature amounts accumulated in S1 (S2).
  • the feature quantity reception unit 131 accumulates the feature quantity of the communication to be detected in the storage unit 12 (S3). Then, the analysis unit 133 calculates an anomaly score indicating the deviation between the feature quantity of the communication to be detected and the model learned in S2 (S4).
  • the analysis unit 133 determines that the anomaly score calculated in S4 exceeds the predetermined threshold (Yes in S5), it generates an alert for the communication and stores it in the storage unit 12 (S6). If the processing has not yet been executed for any detection target communication (No in S7), the analysis server 10 executes the processing from S4 onward for the detection target communication for which processing has not yet been executed. do. On the other hand, if the processing has already been executed for all detection target communications (Yes in S7), the analysis server 10 ends the processing.
  • the analysis unit 133 determines that the anomaly score calculated in S4 is equal to or less than a predetermined threshold (No in S5), and if processing has not been executed for any of the detection target communications (No in S7), The processing from S4 onwards is executed for the detection target communication for which processing has not yet been executed.
  • the clustering unit 135 of the analysis server 10 excludes, from alerts accumulated in the storage unit 12, alerts of communication tuples different from the communication tuples (initial tuples) of the feature values used for model learning, from clustering targets. (S11 in FIG. 5).
  • the clustering unit 135 compares the communication tuple (initial tuple) used for learning the model with the communication tuple of the communication feature amount included in the alert, and compares the initial tuple with the categorical variables (terminal device IP address, session (combination of source IP address of session, destination IP address of session, destination port number of session, and protocol number)) are excluded from clustering targets.
  • the clustering unit 135 After S11, the clustering unit 135 performs session duration, total number of forward bytes, total number of forward packets, total number of reverse bytes, and total number of reverse packets among the communication feature amounts included in the alert, Alerts are clustered (S12).
  • the determination unit 136 determines whether or not each cluster generated by clustering in S12 is composed of alerts of the same type (S13).
  • the determination unit 136 determines whether each cluster is composed of alerts of the same type based on the ratio of the number of alerts in each cluster to all alerts, the number of terminal devices targeted for alerts in each cluster, the density of each cluster, and the like. determine whether or not there is
  • the result output unit 137 outputs the clustering result of S12 and the determination result of whether or not each cluster in S13 is composed of alerts of the same type (S14).
  • the analysis server 10 clusters the alert and determines whether or not each cluster consists of alerts of the same type (S101: clustering).
  • the operator confirms the alerts using the result of clustering the alerts described above and the determination result of whether or not each cluster is composed of the same type of alerts. For example, the operator performs the alert confirmation process shown in S102 to S108 for each alert or for each cluster until there are no more unconfirmed alerts.
  • the operator confirms whether or not the communication pattern targeted for the alert is a new communication pattern that did not exist during model learning (S102). Further, the operator confirms whether or not the communication parameter to be alerted is a new communication parameter of the learned communication pattern (S103). Based on the confirmation result, the operator makes an inquiry to the department in charge of the terminal device that is the target of the alert (S104). As a result of the inquiry, if there is an abnormality in the terminal device (Yes in S105), the operator takes measures according to the abnormality (S106). Then, the alert confirmation process ends. After that, the analysis server 10 continues monitoring.
  • the operator determines whether the alert is due to overdetection (S107). Then, when the operator determines that the alert is due to overdetection (Yes in S107), the overdetection is fed back (S108). At this time, the operator collectively provides over-detection feedback for clusters of alerts of the same type.
  • the analysis server 10 then continues monitoring the communication of the terminal device.
  • the analysis server 10 outputs the alert clustering result and the determination result as to whether or not each cluster is composed of alerts of the same type. It is possible to judge overdetection in units and implement feedback. As a result, it is possible to reduce the work required to determine whether an alert is due to overdetection.
  • the analysis server 10 applies two types of loads with small positive differentials (10 0.2 times, 10 0.4 times) and four types of loads with large positive differentials (10 1 times, 10 1.2 times, 10 1.4 times, 10 1.6 times), 3 types of loads with small negative difference (10 -0.2 times, 10 -0.4 times, 10 -0.6 times), difference communication tuple load (difference due to categorical variables ) applied 10 patterns of loads (changes to communication) and generated alerts.
  • the analysis server 10 uses Birch as an alert clustering algorithm, and the maximum number of clusters is set to 10.
  • FIG. 7 shows the result of clustering alerts related to the above 10 patterns of communication by the analysis server 10 .
  • 643 alerts were included in the largest cluster with an alert ratio exceeding 70%.
  • the analysis server 10 determines that the maximum cluster in which the alert ratio exceeds 70% is a cluster composed of alerts of the same type, and outputs the determination result so that the operator can detect overdetection of the cluster. judgment can be made collectively. As a result, the above 643 alerts are compressed to 9 alerts (1 for each load), so the number of cases that operators judge to be overdetection is reduced from 939 to 305 (67.5% decrease). ).
  • each constituent element of each part shown in the figure is functionally conceptual, and does not necessarily need to be physically configured as shown in the figure.
  • the specific form of distribution and integration of each device is not limited to the illustrated one, and all or part of them can be functionally or physically distributed and integrated in arbitrary units according to various loads and usage conditions. Can be integrated and configured.
  • all or any part of each processing function performed by each device can be implemented by a CPU and a program executed by the CPU, or implemented as hardware based on wired logic.
  • the analysis server 10 described above can be implemented by installing a program as package software or online software on a desired computer.
  • the information processing device can function as the analysis server 10 by causing the information processing device to execute the above program.
  • the information processing apparatus referred to here includes a desktop or notebook personal computer.
  • information processing devices include mobile communication terminals such as smartphones, mobile phones and PHS (Personal Handyphone Systems), and terminals such as PDAs (Personal Digital Assistants).
  • the analysis server 10 can also be implemented as a server device that uses a terminal device used by a user as a client and provides the client with services related to the above processing.
  • the server device may be implemented as a web server, or may be implemented as a cloud that provides services related to the above processing by outsourcing.
  • FIG. 8 is a diagram showing an example of a computer that executes an analysis program.
  • the computer 1000 has a memory 1010 and a CPU 1020, for example.
  • Computer 1000 also has hard disk drive interface 1030 , disk drive interface 1040 , serial port interface 1050 , video adapter 1060 and network interface 1070 . These units are connected by a bus 1080 .
  • the memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM (Random Access Memory) 1012 .
  • the ROM 1011 stores a boot program such as BIOS (Basic Input Output System).
  • BIOS Basic Input Output System
  • Hard disk drive interface 1030 is connected to hard disk drive 1090 .
  • a disk drive interface 1040 is connected to the disk drive 1100 .
  • a removable storage medium such as a magnetic disk or optical disk is inserted into the disk drive 1100 .
  • Serial port interface 1050 is connected to mouse 1110 and keyboard 1120, for example.
  • Video adapter 1060 is connected to display 1130, for example.
  • the hard disk drive 1090 stores, for example, an OS 1091, application programs 1092, program modules 1093, and program data 1094. That is, the program defining each process executed by the analysis server 10 is implemented as a program module 1093 in which computer-executable code is described. Program modules 1093 are stored, for example, on hard disk drive 1090 . For example, a program module 1093 for executing processing similar to the functional configuration in the analysis server 10 is stored in the hard disk drive 1090 .
  • the hard disk drive 1090 may be replaced by an SSD (Solid State Drive).
  • the data used in the processes of the above-described embodiments are stored as program data 1094 in the memory 1010 or the hard disk drive 1090, for example. Then, the CPU 1020 reads out the program modules 1093 and program data 1094 stored in the memory 1010 and the hard disk drive 1090 to the RAM 1012 as necessary and executes them.
  • the program modules 1093 and program data 1094 are not limited to being stored in the hard disk drive 1090, but may be stored in a removable storage medium, for example, and read by the CPU 1020 via the disk drive 1100 or the like. Alternatively, the program modules 1093 and program data 1094 may be stored in another computer connected via a network (LAN (Local Area Network), WAN (Wide Area Network), etc.). Program modules 1093 and program data 1094 may then be read by CPU 1020 through network interface 1070 from other computers.
  • LAN Local Area Network
  • WAN Wide Area Network
  • analysis system 2 sensing device 10 analysis server 12 storage unit 131 feature amount reception unit 132 learning unit 133 analysis unit (accumulation unit) 134 Screen display processing unit 135 Clustering unit 136 Judgment unit 137 Result output unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Analysing Materials By The Use Of Radiation (AREA)
  • Investigating Or Analysing Biological Materials (AREA)

Abstract

分析サーバ(10)は、正常な通信の特徴を示すモデルに基づき、正常な通信ではないと判定された通信のアラートを記憶部(12)に蓄積する。そして、分析サーバ(10)は、蓄積されたアラートから、モデルの学習に用いた通信データとカテゴリ変数が異なるアラートを除外したアラートを対象として、アラートに含まれる通信の特徴量を用いてクラスタリングを行う。その後、分析サーバ(10)は、クラスタリングにより生成されたクラスタそれぞれについて、クラスタが同種のアラートにより構成されているか否かを判定する。そして、分析サーバ(10)は、クラスタリングの結果と、クラスタそれぞれが同種のアラートにより構成されているか否かの判定結果とを出力する。

Description

分析装置、分析方法、および、分析プログラム
 本発明は、通信の異常を示すアラートを分析するための、分析装置、分析方法、および、分析プログラムに関する。
 従来技術において、正常な通信の特徴を示すモデルに基づき、通信の異常検知を行う場合、検知対象の通信に新たな通信が追加されると、追加された通信が正常な通信であっても異常として検知(過検知)されてしまう。その結果、同じようなアラートが大量に発生してしまう可能性がある。ここで、運用者は、アラートが過検知か否かの判断を端末機器ごとアラートごとに行う。このため、アラートが大量に発生すると、運用者の作業が膨大になる。
 そこで、運用者の作業負荷を削減するため、いくつかの技術が提案されている。例えば、検知システムがアラートを提示する際に、アラートの示す脅威のタイプ、端末機器ID、プロトコル、ポート番号等のカテゴリ変数が同じものをまとめて提示する技術がある(非特許文献1参照)。また、検知システムが、アラートの示すIPアドレス、ポート番号、プロトコル番号等のカテゴリ変数や、通信開始日時をキーとしてアラートをフィルタリングする技術がある(特許文献1,2参照)。
特開2020-005184号公報 特開2020-135655号公報
NOZOMI Guardian、[2021年5月25日検索]、インターネット<URL:https://www.exclusive-networks.com/fr/wp-content/uploads/sites/17/2020/12/FR-VR-Nozomi-Networks-Guardian.pdf>
 しかし、上記した技術はいずれも、アラートのうち、通信先等の特徴が同じでデータ量等が異なる通信のアラートについては、グルーピングができない。また、上記した技術により、データ量に基づいてアラートのグルーピングを行おうとしても、グルーピングの対象の特徴量の項目数が多くなると、各グループの特徴が不明確になってしまう。そのため、従来技術によりアラートをグルーピングしたとしても、アラートが過検知によるものか否かの判断に膨大な作業を要する。
 そこで、本発明は、前記した問題を解決し、アラートが過検知によるものか否かの判断に要する作業を削減することを課題とする。
 前記した課題を解決するため、本発明は、正常な通信の特徴を示すモデルに基づき、正常な通信ではないと判定された通信のアラートを蓄積する蓄積部と、前記蓄積されたアラートに含まれる通信の特徴量を用いて、前記アラートのクラスタリングを行うクラスタリング部と、前記クラスタリングにより生成されたクラスタそれぞれについて、前記クラスタが同種のアラートにより構成されているか否かを判定する判定部と、前記クラスタリングの結果と、前記クラスタそれぞれが同種のアラートにより構成されているか否かの判定結果とを出力する結果出力部と、を備えることを特徴とする。
 本発明によれば、アラートが過検知によるものか否かの判断に要する作業を削減することができる。
図1は、分析システムの構成例および概要を説明するための図である。 図2は、分析サーバがアラートのクラスタリングに用いる項目の例を示す図である。 図3は、分析サーバによるクラスタリングの例を示す図である。 図4は、分析サーバの処理手順の例を示すフローチャートである。 図5は、分析サーバの処理手順の例を示すフローチャートである。 図6は、分析サーバによるアラートのクラスタリングの結果を用いた、運用者によるアラートの対応例を示す図である。 図7は、分析サーバによるアラートのクラスタリングの結果と、同種のアラートの判定結果の例を示す図である。 図8は、分析プログラムを実行するコンピュータの構成例を示す図である。
 以下、図面を参照しながら、本発明を実施するための形態(実施形態)について説明する。本発明は、以下に説明する実施形態に限定されない。
[概要]
 まず、図1を参照しながら、分析サーバ(分析装置)10を含む分析システム1の動作概要を説明する。
 分析システム1は、センシング装置2と分析サーバ10とを備える。センシング装置2は、端末機器(例えば、IoT機器)の通信を観測する。
 例えば、センシング装置2は、端末機器が接続するNW(ネットワーク)機器のミラー設定により、当該端末機器の通信を観測する。そして、センシング装置2は、端末機器の通信の観測結果を加工した情報(加工情報)を生成し、その加工情報から通信の特徴量を生成し、分析サーバ10へ送信する。
 なお、上記の通信の特徴量は、例えば、当該通信を行う端末機器のIPアドレス、セッションの送信元IPアドレス、セッションの送信先IPアドレス、セッションの送信先ポート番号、プロトコル番号、セッション持続時間、正方向総バイト数、正方向総パケット数、逆方向総バイト数、逆方向総パケット数等を示した情報である。
 分析サーバ10は、センシング装置2から送信された通信の特徴量と、正常な通信の特徴を示すモデルとに基づき、当該通信が正常な通信か否かを判定し、当該通信が異常であると判定した場合、アラートを出力する。
 例えば、分析サーバ10は、センシング装置2から送信された通信の特徴量と、正常な通信の特徴を示すモデルとの乖離を示すアノマリスコアを算出し、アノマリスコアが所定の閾値を超える場合、アラートを出力する。その後、分析システム1の運用者は、アラートの内容を確認し、当該アラートが過検知であればその旨をフィードバックする。ここでのフィードバックは、例えば、運用者が、当該アラートが過検知であることを分析サーバ10に登録することで、分析サーバ10において同種の特徴量については以後はアラートが発生しないようにする作業である。
 ここで、大量のアラートが発生すると、運用者による上記の確認作業が膨大になる。そこで、運用者が上記の確認作業を効率的に行える(同種のアラートの確認作業をまとめて行える)よう、分析サーバ10は、各クラスタの特徴が明確に現れるような、アラートのクラスタリングを行う。
 例えば、分析サーバ10は、アラートのクラスタリングを行う際、上記のモデルの学習に用いられた通信データに含まれない通信(例えば、新規の端末機器による通信)のアラートを、クラスタリングの対象から除外する。また、分析サーバ10は、通信の特徴が現れやすい特徴量の項目(例えば、セッション持続時間、正方向総バイト数、正方向総パケット数、逆方向総バイト数、逆方向総パケット数等)を用いて、アラートをクラスタリングする。さらに、分析サーバ10は、アラートのクラスタリングを行う際、アラートに示される端末機器ごとに、項目ごとに、モデルの学習に用いられた値との差分をとり、正規化を行った値でクラスタリングを行う。
 このようにすることで、分析サーバ10は、各クラスタの特徴が明確に現れるようなアラートのクラスタリングを行うことができる。
 また、分析サーバ10は、クラスタそれぞれについて同種のアラートから構成されるか否かの判定結果を出力する。これにより、運用者は、クラスタのうち、同種のアラートから構成されるため、一度の過検知判断で済ませられるクラスタを識別することができる。その結果、アラートが過検知によるものか否かの判断に要する作業を削減することができる。
 また、分析サーバ10は、アラートのクラスタリングを行う際、特定のペイロードに依存したペイロード情報も利用しないため、暗号化された通信のアラートのクラスタリングにも対応することができる。
[構成例]
 次に、図1を参照しながら、分析サーバ10の構成例を説明する。分析サーバ10は、記憶部12と、特徴量受付部131と、学習部132と、分析部(蓄積部)133と、画面表示処理部134と、クラスタリング部135と、判定部136と、結果出力部137とを備える。
 記憶部12は、分析サーバ10が各種処理を実行する際に参照する情報や、各種処理の実行結果を記憶する。
 例えば、記憶部12は、センシング装置2から取得した通信の特徴量、学習部132により学習された正常な通信の特徴を示すモデル、モデルの学習に用いられた特徴量の通信タプル(初期タプル)、分析部133による通信の分析結果(例えば、上記のアノマリスコア)、上記のモデルに基づき正常な通信ではないと判定された通信のアラート群等を記憶する。
 なお、以下の説明において、特徴量に含まれるカテゴリ変数の一部を通信タプルと呼ぶ。このうち、モデルの学習に用いた特徴量の通信タプルを初期タプルと呼ぶ。初期タプルは、例えば、モデルの学習に用いられた特徴量に含まれる、端末機器のIPアドレス、セッションの送信元IPアドレス、セッションの送信先IPアドレス、セッションの送信先ポート番号、プロトコル番号等であるが、上記の5つに限定されない。
 特徴量受付部131は、センシング装置2から通信の特徴量を受け付ける。そして、特徴量受付部131は、受け付けた通信の特徴量を記憶部12に蓄積する。例えば、特徴量受付部131は、まず、モデルの学習用の通信の特徴量(正常な通信の特徴量)を受け付け、記憶部12に蓄積する。その後、特徴量受付部131は、検知対象の通信の特徴量を受け付け、記憶部12に蓄積する。
 学習部132は、記憶部12に蓄積された通信の特徴量(正常な通信の特徴量)を用いて、正常な通信の特徴を示すモデルの学習を行う。その後、学習部132は、学習されたモデルの各パラメータ、モデルの学習に用いたデータ(例えば、初期タプル等)を、記憶部12に記憶する。
 分析部133は、学習部132により学習されたモデルを用いて、検知対象の通信の分析を行う。例えば、分析部133は、検知対象の通信の特徴量と上記のモデルとの乖離を示すアノマリスコアを算出する。そして、分析部133は、アノマリスコアが所定の閾値を超える場合(つまり、正常な通信ではない可能性が高い場合)、アラートを出力する。アラートは、例えば、アラートの対象となった通信の識別情報、当該通信の発生日時等を含む。出力されたアラートは、記憶部12に蓄積される。
 画面表示処理部134は、記憶部12に蓄積されたアラートを画面表示する。例えば、画面表示処理部134は、運用者の指示入力に基づき、記憶部12に蓄積されたアラートの一覧を画面表示する。これにより、運用者は、どのようなアラートが出力されたかを画面上で確認することができる。
 クラスタリング部135は、記憶部12に蓄積されたアラートに含まれる通信の特徴量に基づき、アラートのクラスタリングを行う。
 例えば、クラスタリング部135は、記憶部12から、アラートと、当該アラートの対象となっている通信の特徴量とを取得する。そして、クラスタリング部135は、取得した通信の特徴量に基づきアラートのクラスタリングを行う。ここで、クラスタリング部135は、各クラスタの特徴が明確に現れるように、アラートの対象となっている通信の特徴量のうち、クラスタリングに用いる特徴量の項目の絞り込みと正規化を行う。
 例えば、クラスタリング部135は、モデルの学習に用いられた特徴量の通信タプル(初期タプル)と異なる通信タプルのアラートを、クラスタリングの対象から除外する。例えば、クラスタリング部135は、モデルの学習に用いたられた特徴量の通信タプル(初期タプル)と、アラートに含まれる通信の特徴量の通信タプルとを比較し、カテゴリ変数(端末機器自身のIPアドレス、セッションの送信元IPアドレス、セッションの送信先IPアドレス、セッションの送信先ポート番号およびプロトコル番号の組み合わせ)が異なるアラートをクラスタリングの対象から除外する。
 このようにすることで、クラスタリング部135は、例えば、新規の端末機器からの通信等、アラートの理由が明確なアラートをクラスタリングの対象から除外することができる。
 また、クラスタリング部135は、アラートに含まれる情報のうち、通信の発生日時、アノマリスコア等の情報を除外してクラスタリングを行う。例えば、クラスタリング部135は、アラートに含まれる通信の特徴量のうち、セッション持続時間、正方向総バイト数、正方向総パケット数、逆方向総バイト数、および、逆方向総パケット数の少なくともいずれかを用いて、アラートのクラスタリングを行う。
 さらに、クラスタリング部135は、端末機器ごとに、モデルの学習に用いられた通信の特徴量の値(初期学習時の値)と、アラートに含まれる当該通信の特徴量の値との差分を正規化した値を用いて、アラートのクラスタリングを行う。
 例えば、クラスタリング部135は、端末機器ごとに、アラートの通信の特徴量のうち、セッション持続時間、正方向総バイト数、正方向総パケット数、逆方向総バイト数、逆方向総パケット数の値それぞれについて、初期学習時の値との差分を算出する。そして、クラスタリング部135は、その差分を対数スケールに変換した値を用いて、アラートのクラスタリングを行う(図2参照)。
 クラスタリング部135によるクラスタリングの結果の例を、図3の符号301に示す。ここでは、クラスタリング部135が、5つの端末機器(Iot-A、Iot-B、Iot-C、Iot-D、Iot-E)に関する165個のアラートを、セッション持続時間、正方向総バイト数、正方向総パケット数、逆方向総バイト数および逆方向総パケット数の5つの特徴量に基づきクラスタリングした結果(cluster0~cluster7)を示す。なお、符号301は、上記のクラスタリングの結果を、セッション持続時間および逆方向総バイト数を軸とする方向から見た状態を示している。
 なお、クラスタリング部135が用いるクラスタリングアルゴリズムは、例えば、Birch、k-means等である。クラスタリング部135がどのようなクラスタリングアルゴリズムを用いるかは、分析サーバ10のユーザが設定可能である。
 図1の説明に戻る。判定部136は、クラスタリング部135により生成された各クラスタが同種のアラートにより構成されているか否かを判定する。
 例えば、判定部136は、全アラートに対する各クラスタのアラート数の比率、各クラスタにおけるアラートの対象となった端末機器の数、各クラスタの密度等に基づき、各クラスタが同種のアラートから構成されているか否かを判定する。
 例えば、判定部136は、クラスタごとに、(当該クラスタを構成するアラートの数/全アラートの数)の値を算出し、その値が所定の閾値(例えば、70%)以上のクラスタを、同種のアラートのアラートにより構成されるクラスタと判定する。
 また、例えば、判定部136は、クラスタごとに、当該クラスタにアラートの対象となった端末機器が何台含まれるかを算出し、算出した台数が、所定の閾値以下(例えば、1台)であるクラスタを、同種のアラートにより構成されるクラスタと判定する。
 また、例えば、判定部136は、クラスタの散布図を作成し、散布図上のクラスタの面積と、当該クラスタに含まれるアラート数とを用いて、当該クラスタの密度を算出し、算出した密度が、所定の閾値以上のクラスタを、同種のアラートから構成されるクラスタと判定する。例えば、判定部136は、クラスタごとに、(当該クラスタを構成するアラートの数/当該クラスタの面積)を算出し、算出した値が、所定の閾値(例えば、1000)以上であるクラスタを、同種のアラートにより構成されるクラスタと判定する。
 例えば、判定部136が、図3の符号301に示すクラスタ(cluster1~cluster7)について、符号302に示す情報に基づき、以下の(1)~(3)のいずれかの条件を満たすクラスタを、同種のアラートから構成されるクラスタと判定する場合について説明する。
 (1)全アラート数に対する当該クラスタのアラート数の比率が70%以上
 (2)当該クラスタにおけるアラートの対象となった端末機器の数が1台
 (3)当該クラスタの密度が1000以上
 なお、符号302に示す情報は、符号301に示すクラスタ(cluster0~cluster7)ごとに、各端末機器(Iot-A、Iot-B、Iot-C、Iot-D、Iot-E)のアラート数、面積、密度を示した情報である。
 符号302に示す情報を参照すると、全アラートの対する当該クラスタのアラート数の比率が70%以上のクラスタは存在しない。ただし、クラスタ0(cluster0)は、Iot-Cのアラートのみのクラスタであり、密度も1000以上である。また、クラスタ3(cluster3)も、Iot-Eのアラートのみのクラスタであり、密度も1000以上である。よって、判定部136は、cluster0およびcluster3を、同種のアラートにより構成されるクラスタと判定する。
 図1の説明に戻る。結果出力部137は、クラスタリング部135によるクラスタリングの結果と、判定部136によるクラスタそれぞれが同種のアラートにより構成されているか否かの判定結果とを出力する。
 例えば、結果出力部137は、図3の符号301に示すクラスタリングの結果と、符号301に示す各クラスタ(cluster1~cluster7)のうち、cluster0およびcluster3が同種のアラートにより構成されているクラスタである旨の情報とを出力する。
 このような分析サーバ10によれば、アラートのクラスタリングを行う際に、各クラスタの特徴が明確に現れたクラスタを生成することができる。また、分析サーバ10は、クラスタそれぞれが同種のアラートにより構成されているか否かの判定結果を出力する。これにより、運用者は、一度の過検知判断で済ませられるクラスタを識別することができる。その結果、アラートが過検知によるものか否かの判断に要する作業を削減することができる。
[処理手順の例]
 次に、図4、図5を用いて、分析サーバ10の処理手順の例を説明する。まず、図4を用いて、分析サーバ10がアラートを蓄積する処理を説明し、次に、図5を用いて、分析サーバ10が蓄積されたアラートのクラスタリングを行う処理を説明する。
 まず、分析サーバ10の特徴量受付部131は、センシング装置2から送信された通信の特徴量(正常な通信の特徴量)を記憶部12に蓄積する(図4のS1)。次に、学習部132は、S1で蓄積された通信の特徴量を用いて、正常な通信の特徴を示すモデルの学習(初期学習)を行う(S2)。
 S2のモデルの学習が完了すると、特徴量受付部131は、検知対象の通信の特徴量を記憶部12に蓄積する(S3)。そして、分析部133は、検知対象の通信の特徴量と、S2で学習したモデルとの乖離を示すアノマリスコアを算出する(S4)。
 ここで、分析部133は、S4で算出したアノマリスコアが所定の閾値を超えると判定した場合(S5でYes)、当該通信のアラートを生成し、記憶部12に蓄積する(S6)。そして、まだいずれかの検知対象の通信に対し、処理を実行していなければ(S7でNo)、分析サーバ10は、まだ処理を実行していない検知対象の通信について、S4以降の処理を実行する。一方、全ての検知対象の通信に対し、処理を実行済みであれば(S7でYes)、分析サーバ10は処理を終了する。
 また、分析部133が、S4で算出したアノマリスコアが所定の閾値以下と判定し(S5でNo)、まだいずれかの検知対象の通信に対し処理を実行済みでなければ(S7でNo)、まだ処理を実行していない検知対象の通信について、S4以降の処理を実行する。
 次に、図5を用いて、分析サーバ10が蓄積されたアラートのクラスタリングを行う処理を説明する。
 まず、分析サーバ10のクラスタリング部135は、記憶部12に蓄積されたアラートのうち、モデルの学習に用いた特徴量の通信タプル(初期タプル)と異なる通信タプルのアラートをクラスタリングの対象から除外する(図5のS11)。
 例えば、クラスタリング部135は、モデルの学習に用いた通信タプル(初期タプル)と、アラートに含まれる通信の特徴量の通信タプルとを比較し、初期タプルとカテゴリ変数(端末機器のIPアドレス、セッションの送信元IPアドレス、セッションの送信先IPアドレス、セッションの送信先ポート番号およびプロトコル番号の組み合わせ)が異なるアラートをクラスタリングの対象から除外する。
 S11の後、クラスタリング部135は、アラートに含まれる通信の特徴量のうち、セッション持続時間、正方向総バイト数、正方向総パケット数、逆方向総バイト数、逆方向総パケット数に基づき、アラートをクラスタリングする(S12)。
 S12の後、判定部136は、S12のクラスタリングにより生成されたクラスタそれぞれについて、当該クラスタが同種のアラートにより構成されているか否かを判定する(S13)。
 例えば、判定部136は、全アラートに対する各クラスタのアラート数の比率、各クラスタにおけるアラートの対象となった端末機器の数、各クラスタの密度等に基づき、各クラスタが同種のアラートから構成されているか否かを判定する。
 S13の後、結果出力部137は、S12のクラスタリングの結果と、S13におけるクラスタそれぞれが同種のアラートにより構成されているか否かの判定結果とを出力する(S14)。
[運用者によるアラートの対応例]
 次に、図6を用いて、分析サーバ10が出力した、アラートのクラスタリングの結果と、クラスタそれぞれが同種のアラートにより構成されているか否かの判定結果とを用いた、運用者によるアラートの対応例について説明する。
 例えば、分析サーバ10は、アラートの発生後、アラートのクラスタリングと、クラスタそれぞれが同種のアラートにより構成されているか否かの判定とを行う(S101:クラスタリング)。
 そして、運用者は、上記のアラートのクラスタリングの結果と、クラスタそれぞれが同種のアラートにより構成されているか否かの判定結果とを用いてアラートの確認を行う。例えば、運用者は、1つのアラートごと、もしくはクラスタ単位で、S102~S108に示すアラートの確認処理を未確認のアラートが無くなるまで行う。
 まず、運用者は、アラートの対象となっている通信パターンが、モデルの学習時には無かった新たな通信パターンか否かの確認を確認する(S102)。また、運用者は、アラートの対象となっている通信パラメータが、学習済みの通信パターンの新たな通信パラメータか否かを確認する(S103)。運用者は、上記の確認結果に基づき、アラートの対象となった端末機器の所轄の部署へ問合わせを行う(S104)。そして、問合わせの結果、端末機器に異常がある場合(S105でYes)、運用者は、当該異常に応じた対処を行う(S106)。そして、アラートの確認処理を終える。その後、分析サーバ10は監視を継続する。
 一方、問合わせの結果、端末機器に異常がなかった場合(S105でNo)、運用者は、当該アラートが過検知によるものか否かを判断する(S107)。そして、運用者が、当該アラートは過検知によるものと判断した場合(S107でYes)、過検知のフィードバックを実施する(S108)。このとき、運用者は、同種のアラートのクラスタについては、まとめて過検知のフィードバックを実施する。
 一方、運用者が、当該アラートは過検知によるものではないと判断した場合(S107でNo)、対処は行わず、アラートの確認処理を終える。そして、分析サーバ10は、端末機器の通信の監視を継続する。
 このように分析サーバ10がアラートのクラスタリングの結果と、クラスタそれぞれが同種のアラートにより構成されているか否かの判定結果とを出力することで、運用者は、同種のアラートのクラスタについては、クラスタ単位で過検知の判断を行い、フィードバックを実施することができる。その結果、アラートが過検知によるものか否かの判断に要する作業を削減することができる。
[クラスタリングの実験結果]
 次に、図7を用いて、分析サーバ10による、アラートのクラスタリングの実験結果を説明する。ここでは、分析サーバ10が、処理対象とする通信に、正常状態の通信と比較して、正差分の小さな負荷2種類(100.2倍、100.4倍)、正差分の大きな負荷4種類(101倍、101.2倍、101.4倍、101.6倍)、負差分の小さな負荷3種類(10-0.2倍、10-0.4倍、10-0.6倍)、相違通信タプルの負荷(カテゴリ変数による差異)の10パターンの負荷(通信に対する変更)を印加し、アラートを生成した。また、分析サーバ10は、アラートのクラスタリングアルゴリズムにBirchを用い、クラスタ数は最大で10個となるよう設定した。
 上記の条件に基づき、分析サーバ10が、上記の10パターンの通信に関するアラートをクラスタリングした結果を図7に示す。図7に示すように、相違通信タプルによるアラートを除く828件のアラートのうち、アラート比率が70%を超える最大クラスタに含まれるアラート数は643件であった。
 ここで、分析サーバ10が、上記のアラート比率が70%を超える最大クラスタを同種のアラートから構成されるクラスタと判定し、その判定結果を出力することにより、運用者は当該クラスタについての過検知の判断を一括して行うことができる。これにより、上記の643件のアラートが9件(負荷ごとに1件)に圧縮されるため、運用者が過検知の判断とする件数は、939件から305件に削減される(67.5%減)。
[システム構成等]
 また、図示した各部の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
 また、前記した実施形態において説明した処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
 前記した分析サーバ10は、パッケージソフトウェアやオンラインソフトウェアとしてプログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記のプログラムを情報処理装置に実行させることにより、情報処理装置を分析サーバ10として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等の端末等がその範疇に含まれる。
 また、分析サーバ10は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の処理に関するサービスを提供するサーバ装置として実装することもできる。この場合、サーバ装置は、Webサーバとして実装することとしてもよいし、アウトソーシングによって上記の処理に関するサービスを提供するクラウドとして実装することとしてもかまわない。
 図8は、分析プログラムを実行するコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
 メモリ1010は、ROM(Read Only Memory)1011及びRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
 ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、上記の分析サーバ10が実行する各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、分析サーバ10における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
 また、上述した実施形態の処理で用いられるデータは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
 なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続される他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
1 分析システム
2 センシング装置
10 分析サーバ
12 記憶部
131 特徴量受付部
132 学習部
133 分析部(蓄積部)
134 画面表示処理部
135 クラスタリング部
136 判定部
137 結果出力部

Claims (9)

  1.  正常な通信の特徴を示すモデルに基づき、正常な通信ではないと判定された通信のアラートを蓄積する蓄積部と、
     前記蓄積されたアラートに含まれる通信の特徴量を用いて、前記アラートのクラスタリングを行うクラスタリング部と、
     前記クラスタリングにより生成されたクラスタそれぞれについて、前記クラスタが同種のアラートにより構成されているか否かを判定する判定部と、
     前記クラスタリングの結果と、前記クラスタそれぞれが同種のアラートにより構成されているか否かの判定結果とを出力する結果出力部と、
     を備えることを特徴とする分析装置。
  2.  前記クラスタリング部は、
     前記モデルの学習に用いた通信の特徴量と、前記アラートに含まれる通信の特徴量とを比較し、前記通信の端末機器のIPアドレス、セッションの送信元IPアドレス、セッションの送信先IPアドレス、セッションの送信先ポート番号およびプロトコル番号の組み合わせが異なるアラートを、前記クラスタリングの対象から除いてクラスタリングを行うこと
     を特徴とする請求項1に記載の分析装置。
  3.  前記クラスタリング部は、
     前記アラートに含まれる通信の特徴量のうち、セッション持続時間、正方向総バイト数、正方向総パケット数、逆方向総バイト数および逆方向総パケット数の少なくともいずれかを用いて、前記アラートのクラスタリングを行うこと
     を特徴とする請求項1に記載の分析装置。
  4.  前記クラスタリング部は、
     端末機器ごとに、前記モデルの学習に用いられた通信の特徴量の値と、前記アラートに含まれる当該通信の特徴量の値との差分を算出し、前記特徴量の差分の値を対数スケールに変換した値を用いて、前記アラートのクラスタリングを行うこと
     を特徴とする請求項1に記載の分析装置。
  5.  前記判定部は、
     前記生成されたクラスタごとに、当該クラスタを構成するアラートの数の、全アラートの数に対する比率が、所定の閾値以上のクラスタを、同種のアラートのアラートにより構成されるクラスタと判定する
     ことを特徴とする請求項1に記載の分析装置。
  6.  前記判定部は、
     前記生成されたクラスタごとに、当該クラスタにアラートの対象となった端末機器が何台含まれるかを算出し、前記算出した台数が、所定の閾値以下であるクラスタを、同種のアラートのアラートにより構成されるクラスタと判定する
     ことを特徴とする請求項1に記載の分析装置。
  7.  前記判定部は、
     前記生成されたクラスタの散布図を作成し、前記散布図上のクラスタの面積と、当該クラスタに含まれるアラート数とを用いて、当該クラスタの密度を算出し、前記算出した密度が、所定の閾値以上のクラスタを、同種のアラートから構成されるクラスタと判定する ことを特徴とする請求項1に記載の分析装置。
  8.  分析装置により実行される分析方法であって、
     正常な通信の特徴を示すモデルに基づき、正常な通信ではないと判定された通信のアラートを蓄積する工程と、
     前記蓄積されたアラートに含まれる通信の特徴量を用いて、前記アラートのクラスタリングを行うクラスタリングを行う工程と、
     前記クラスタリングにより生成されたクラスタそれぞれについて、前記クラスタが同種のアラートにより構成されているか否かを判定する工程と、
     前記クラスタリングの結果と、前記クラスタそれぞれが同種のアラートにより構成されているか否かの判定結果とを出力する工程と、
     を含むことを特徴とする分析方法。
  9.  正常な通信の特徴を示すモデルに基づき、正常な通信ではないと判定された通信のアラートを蓄積する工程と、
     前記蓄積されたアラートに含まれる通信の特徴量を用いて、前記アラートのクラスタリングを行うクラスタリングを行う工程と、
     前記クラスタリングにより生成されたクラスタそれぞれについて、前記クラスタが同種のアラートにより構成されているか否かを判定する工程と、
     前記クラスタリングの結果と、前記クラスタそれぞれが同種のアラートにより構成されているか否かの判定結果とを出力する工程と、
     をコンピュータに実行させるための分析プログラム。
PCT/JP2021/022220 2021-06-10 2021-06-10 分析装置、分析方法、および、分析プログラム Ceased WO2022259496A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2023526786A JP7582469B2 (ja) 2021-06-10 2021-06-10 分析装置、分析方法、および、分析プログラム
CN202180098639.6A CN117397218A (zh) 2021-06-10 2021-06-10 分析装置、分析方法以及分析程序
US18/566,582 US12524292B2 (en) 2021-06-10 2021-06-10 Analysis device, analysis method, and analysis program
PCT/JP2021/022220 WO2022259496A1 (ja) 2021-06-10 2021-06-10 分析装置、分析方法、および、分析プログラム
EP21945170.5A EP4333377A4 (en) 2021-06-10 2021-06-10 ANALYSIS DEVICE, METHOD AND PROGRAM
AU2021450034A AU2021450034B2 (en) 2021-06-10 2021-06-10 Analysis device, analysis method, and analysis program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/022220 WO2022259496A1 (ja) 2021-06-10 2021-06-10 分析装置、分析方法、および、分析プログラム

Publications (1)

Publication Number Publication Date
WO2022259496A1 true WO2022259496A1 (ja) 2022-12-15

Family

ID=84425081

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/022220 Ceased WO2022259496A1 (ja) 2021-06-10 2021-06-10 分析装置、分析方法、および、分析プログラム

Country Status (6)

Country Link
US (1) US12524292B2 (ja)
EP (1) EP4333377A4 (ja)
JP (1) JP7582469B2 (ja)
CN (1) CN117397218A (ja)
AU (1) AU2021450034B2 (ja)
WO (1) WO2022259496A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024171457A1 (ja) * 2023-02-17 2024-08-22 日本電信電話株式会社 情報処理装置、情報処理方法および情報処理プログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016208158A1 (ja) * 2015-06-26 2016-12-29 日本電気株式会社 情報処理装置、情報処理システム、情報処理方法、及び、記憶媒体
JP2017509262A (ja) * 2014-03-24 2017-03-30 マイクロソフト テクノロジー ライセンシング,エルエルシー ネットワーク障害のトラブルシューティング・オプションの識別
JP2017111796A (ja) * 2015-12-16 2017-06-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America セキュリティ処理方法及びサーバ
JP2020005184A (ja) 2018-06-29 2020-01-09 日本電信電話株式会社 通信システム及び通信方法
JP2020135655A (ja) 2019-02-22 2020-08-31 日本電信電話株式会社 通信端末装置、通信制御方法及び通信制御プログラム
CN112600792A (zh) * 2020-11-23 2021-04-02 国网山东省电力公司青岛供电公司 一种物联网设备的异常行为检测方法及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10311455B2 (en) * 2004-07-08 2019-06-04 One Network Enterprises, Inc. Computer program product and method for sales forecasting and adjusting a sales forecast
CN104937933A (zh) * 2013-09-09 2015-09-23 奥林巴斯株式会社 画像显示装置、编码方法以及编码程序
US9099162B2 (en) * 2013-10-31 2015-08-04 Oracle International Corporation Media and drive validation in tape libraries
US10282458B2 (en) * 2015-06-15 2019-05-07 Vmware, Inc. Event notification system with cluster classification
AU2019201137B2 (en) * 2018-02-20 2023-11-16 Darktrace Holdings Limited A cyber security appliance for a cloud infrastructure
US11539595B1 (en) * 2020-02-28 2022-12-27 Amazon Technologies, Inc. Tracking cluster identity over time
US20210326744A1 (en) * 2020-04-17 2021-10-21 Microsoft Technology Licensing, Llc Security alert-incident grouping based on investigation history

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017509262A (ja) * 2014-03-24 2017-03-30 マイクロソフト テクノロジー ライセンシング,エルエルシー ネットワーク障害のトラブルシューティング・オプションの識別
WO2016208158A1 (ja) * 2015-06-26 2016-12-29 日本電気株式会社 情報処理装置、情報処理システム、情報処理方法、及び、記憶媒体
JP2017111796A (ja) * 2015-12-16 2017-06-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America セキュリティ処理方法及びサーバ
JP2020005184A (ja) 2018-06-29 2020-01-09 日本電信電話株式会社 通信システム及び通信方法
JP2020135655A (ja) 2019-02-22 2020-08-31 日本電信電話株式会社 通信端末装置、通信制御方法及び通信制御プログラム
CN112600792A (zh) * 2020-11-23 2021-04-02 国网山东省电力公司青岛供电公司 一种物联网设备的异常行为检测方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IHARA, TOSHIHIR O: "Utilization of case studies", K- OPTICOM, 15 September 2016 (2016-09-15), pages 54 - 57 *
See also references of EP4333377A4

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024171457A1 (ja) * 2023-02-17 2024-08-22 日本電信電話株式会社 情報処理装置、情報処理方法および情報処理プログラム

Also Published As

Publication number Publication date
AU2021450034B2 (en) 2024-11-21
US20240256376A1 (en) 2024-08-01
US12524292B2 (en) 2026-01-13
AU2021450034A1 (en) 2023-12-07
CN117397218A (zh) 2024-01-12
JP7582469B2 (ja) 2024-11-13
EP4333377A1 (en) 2024-03-06
EP4333377A4 (en) 2025-03-05
JPWO2022259496A1 (ja) 2022-12-15

Similar Documents

Publication Publication Date Title
US20240232357A1 (en) Multi-step approach for ransomware detection
US10860406B2 (en) Information processing device and monitoring method
US20220368706A1 (en) Attack Behavior Detection Method and Apparatus, and Attack Detection Device
WO2022176128A1 (ja) 分析装置、分析システム、分析方法、および、分析プログラム
US20240320329A1 (en) Machine Learning Model Adversarial Attack Monitoring
US20070289013A1 (en) Method and system for anomaly detection using a collective set of unsupervised machine-learning algorithms
CN112073389A (zh) 云主机安全态势感知系统、方法、设备及存储介质
WO2007129027A1 (en) Data processing method for controlling a network
US10033610B2 (en) Metric driven holistic network management system
US20180375880A1 (en) Malicious industrial internet of things node activity detection for connected plants
CN110389873A (zh) 一种判定服务器资源使用情况的方法和装置
CN101833575B (zh) 一种网络病毒报告排序方法
US10389641B2 (en) Network operation
WO2022259496A1 (ja) 分析装置、分析方法、および、分析プログラム
WO2024115310A1 (en) Monitoring system
Buttyán et al. Simbiota++: improved similarity-based IoT malware detection
CN114363148B (zh) 一种检测攻击告警的方法、装置、检测设备及存储介质
CN112583825B (zh) 一种工业系统的异常检测方法和装置
JP7184197B2 (ja) 異常検出装置、異常検出方法および異常検出プログラム
CN114650218B (zh) 一种数据获取方法、设备、系统及存储介质
JP2019004284A (ja) 異常検出装置、および、異常検出方法
WO2022195887A1 (ja) トラフィックセンサ、分析方法、および、分析プログラム
JP7800687B2 (ja) 異常検出装置、異常検出方法および異常検出プログラム
WO2021084664A1 (ja) 抽出装置、抽出方法及び抽出プログラム
CN118368195B (zh) 一种基于大数据的机房网络性能优化方法及系统

Legal Events

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

Ref document number: 2023526786

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2021450034

Country of ref document: AU

Ref document number: AU2021450034

Country of ref document: AU

WWE Wipo information: entry into national phase

Ref document number: 202180098639.6

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2021945170

Country of ref document: EP

Ref document number: 21945170.5

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 18566582

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2021450034

Country of ref document: AU

Date of ref document: 20210610

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2021945170

Country of ref document: EP

Effective date: 20231129

NENP Non-entry into the national phase

Ref country code: DE

WWG Wipo information: grant in national office

Ref document number: 18566582

Country of ref document: US