WO2019180804A1 - 情報処理装置、通信種類判別方法及びプログラム - Google Patents

情報処理装置、通信種類判別方法及びプログラム Download PDF

Info

Publication number
WO2019180804A1
WO2019180804A1 PCT/JP2018/010961 JP2018010961W WO2019180804A1 WO 2019180804 A1 WO2019180804 A1 WO 2019180804A1 JP 2018010961 W JP2018010961 W JP 2018010961W WO 2019180804 A1 WO2019180804 A1 WO 2019180804A1
Authority
WO
WIPO (PCT)
Prior art keywords
communication
past
similarity
similar
target
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/JP2018/010961
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.)
PFU Ltd
Original Assignee
PFU Ltd
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 PFU Ltd filed Critical PFU Ltd
Priority to PCT/JP2018/010961 priority Critical patent/WO2019180804A1/ja
Publication of WO2019180804A1 publication Critical patent/WO2019180804A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements

Definitions

  • This disclosure relates to a technique for classifying communication on a network.
  • an object of the present disclosure is to classify communication data that has been difficult to determine as a different type of communication in the related art.
  • An example of the present disclosure includes a communication data acquisition unit that acquires communication data of communication performed by a terminal connected to a network, and past communication data related to each of a plurality of past communications, in association with corresponding communication type information Comparing the communication data acquired by the communication data holding means, the communication data acquiring means, and the past communication data to calculate the feature similarity for each discrimination point included in the communication, and the calculated feature similarity Is weighted for each discrimination point or each combination of the discrimination points, and a similarity calculation means for calculating a total similarity between the target communication and the past communication, and a target according to the calculated total similarity Similar communication search means for searching for one or a plurality of past communications similar to communication, and information output means for outputting communication type information corresponding to the searched past communication Is an information processing apparatus including a.
  • the present disclosure can be grasped as an information processing apparatus, a system, a method executed by a computer, or a program executed by a computer.
  • the present disclosure can also be understood as a program recorded on a recording medium readable by a computer, other devices, machines, or the like.
  • a computer-readable recording medium refers to a recording medium that stores information such as data and programs by electrical, magnetic, optical, mechanical, or chemical action and can be read from a computer or the like.
  • an information processing apparatus, a communication type determination method, and a program according to the present disclosure are used in a system for discovering a terminal that is performing an unauthorized activity on a network and performing countermeasures such as communication interruption and alert notification.
  • An embodiment when implemented will be described.
  • the information processing apparatus, the communication type determination method, and the program according to the present disclosure can be widely used to classify the communication on the network, and the application target of the present disclosure is the example shown in the present embodiment. It is not limited.
  • FIG. 1 is a schematic diagram illustrating a configuration of a system 1 according to the present embodiment.
  • the system 1 according to the present embodiment includes a network segment 2 to which a plurality of information processing terminals 90 (hereinafter referred to as “nodes 90”) are connected, and a network monitoring device 20 (communications) for monitoring communication related to the nodes 90. And a management server 50 that is communicably connected to the network segment 2 via the router 10.
  • the network monitoring device 20 is connected to a monitoring port (mirror port) of a switch or a router (in the example shown in FIG. 1), so that packets and frames transmitted and received by the node 90 are transmitted.
  • the communication data is acquired, and the acquired communication data is transmitted to the management server 50.
  • the network monitoring device 20 may operate in a passive mode in which the acquired packet is not transferred.
  • the management server 50 collects information from the network monitoring device 20 and manages the network monitoring device 20.
  • the external network may be further provided with a quarantine server, which may provide a quarantine service to the node 90 connected to the network segment 2, or a business server may be provided for the business operation to the node 90. May be provided (not shown).
  • various servers connected from the node 90 are connected at remote locations via the Internet or a wide area network, and are provided by, for example, ASP (Application Service Provider).
  • the server does not necessarily have to be connected to a remote location.
  • these servers may be connected to a local network where the node 90 and the network monitoring device 20 exist.
  • FIG. 2 is a diagram illustrating a hardware configuration of the network monitoring device 20 and the management server 50 according to the present embodiment.
  • the network monitoring device 20 and the management server 50 are respectively a CPU (Central Processing Unit) 11a, 11b, a RAM (Random Access Memory) 13a, 13b, a ROM (Read Only Memory) 12a, 12b, and an EEPROM (Electrically Friendly Energy).
  • the computer includes storage devices 14a and 14b such as Memory (HDD) and HDD (Hard Disk Drive), and communication units such as NIC (Network Interface Card) 15a and 15b.
  • HDD Memory
  • HDD Hard Disk Drive
  • NIC Network Interface Card
  • FIG. 3 is a diagram showing an outline of a functional configuration of the management server 50 according to the present embodiment.
  • the management server 50 reads out the program recorded in the storage device 14b to the RAM 13b and executes it by the CPU 11b to control each hardware provided in the management server 50, whereby the communication data acquisition unit 21 is controlled.
  • Functioning as an information processing apparatus including a past communication data holding unit 22, a feature extraction unit 23, a similarity calculation unit 24, a similar communication search unit 25, an information output unit 26, and a weight calculation unit 27.
  • each function provided in the management server 50 is executed by the CPU 11b, which is a general-purpose processor. Some or all of these functions are performed by one or more dedicated processors.
  • the example in which the information processing apparatus according to the present disclosure is implemented as the management server 50 has been described.
  • some or all of the functions included in the information processing apparatus according to the present disclosure may be a network monitoring apparatus. 20 may be provided.
  • the communication data acquisition unit 21 acquires communication data captured by the network monitoring device 20 installed in the monitoring target network and transmitted to the management server 50. This communication data is communication data of communication by the node 90 connected to the monitoring target network.
  • the past communication data holding unit 22 holds past communication data related to each of a plurality of past communications in association with corresponding communication type information. More specifically, the past communication data holding unit 22 stores the past communication ID, feature data, communication data, corresponding communication type information (malware name / false detection type, etc.), the malware, etc. for each past communication. The coping method etc. are held in association with each other. Note that the past communication data held here may be data accumulated in the system 1 according to the present disclosure, or may be obtained from data accumulated in an external database. .
  • the feature extraction unit 23 extracts the features from the communication data acquired by the communication data acquisition unit 21 for each discrimination point included in the communication using a preset feature extraction method, thereby enabling the feature data of the target communication. Is generated.
  • the similarity calculation unit 24 calculates the feature similarity by comparing the feature data of the target communication with the feature data of the past communication for each discrimination point included in the communication, and calculates the calculated feature similarity for each discrimination point. Alternatively, the total similarity between the target communication and the past communication is calculated by weighting each combination of the determination points.
  • the similar communication search unit 25 searches for one or more past communication similar to the target communication according to the calculated total similarity.
  • the information output unit 26 acquires and outputs the communication type information corresponding to the searched past communication and the coping method associated with the past communication.
  • the weight calculation unit 27 calculates a weight for each discrimination point. More specifically, the weight calculation unit 27 creates a plurality of pairs of past communications included in the target range of past communication searched by the similar communication search unit 25, and is similar with respect to past communication pairs having the same communication type information. The multiple regression analysis is performed so that the total similarity calculated by the degree calculation unit 24 approaches 100% and the total similarity calculated by the similarity calculation unit 24 approaches 0% for past communication pairs whose communication type information does not match. By doing so, the weight for each discrimination point is calculated.
  • FIG. 4 is a flowchart showing an outline of the flow of communication type determination processing according to the present embodiment. The processing shown in this flowchart is started when communication data of communication by the node 90 is acquired by the network monitoring apparatus 20 and input to the management server 50.
  • step S1 and step S2 communication data is received, and communication characteristics are extracted.
  • the communication data acquisition unit 21 receives communication data from the node 90 acquired by the network monitoring device 20 and transmitted to the management server 50 (step S1).
  • target communication the communication related to the communication data acquired here is referred to as “target communication”.
  • the feature extraction unit 23 executes a feature extraction process for each discrimination point included in the communication from the received communication data (step S2). In the feature extraction processing, features for each discrimination point are extracted and feature data is generated. Details of the processing will be described later. Thereafter, the process proceeds to step S3.
  • step S3 a similar communication search process is executed.
  • the similar communication search unit 25 compares the past communication feature data held by the past communication data holding unit 22 with the feature data generated in step S2, thereby resembling the communication data acquired in step S1. Search for past communications.
  • the past communication feature data is held by the past communication data holding unit 22 has been described.
  • the past communication feature data is extracted every time the processing shown in this flowchart is executed. May be. Details of the similar communication search process will be described later.
  • the similar communication search unit 25 outputs the ID of the searched past communication and the similarity (total similarity) with the target communication as a processing result. Thereafter, the process proceeds to step S4.
  • step S4 the search result is output.
  • the information output unit 26 handles the communication data of the past communication, the corresponding communication type information (malware name / false detection type, etc.), the malware, and the like.
  • the method is acquired from the database and output together with the ID of the past communication and the similarity with the target communication.
  • the user can know the type of target communication (malware name or the like) and the method for dealing with the malware or the like from the output contents.
  • the communication data of the target communication and the corresponding communication type information may be stored in the past communication data holding unit 22 as past communication data. Thereafter, the processing shown in this flowchart ends.
  • FIG. 5 is a flowchart showing an outline of the flow of feature extraction processing according to the present embodiment. This flowchart explains the details of the feature extraction processing shown in step S2 of FIG.
  • step S101 feature extraction settings are read.
  • the feature extraction unit 23 reads the feature extraction setting preset for each discrimination point from the storage device 14b.
  • the feature extraction setting includes a discrimination point identifier (for example, a feature name) and a feature extraction method for extracting the feature.
  • the feature extraction method may include rules for parameters set as features in addition to the analysis technique (algorithm) used for feature extraction. Thereafter, the process proceeds to step S102.
  • the discrimination point is a point that is referred to when specifying the type of communication (for example, malware name) in the communication content, and includes, for example, an HTTP method, a URI path, an HTTP version, a request parameter name, a request Parameter values, request header names, etc.
  • an appropriate feature extraction method is set in advance for each of these discrimination points.
  • an appropriate analysis method is assigned to the feature extraction method according to the type of discrimination point.
  • the analysis method that can be employed is not limited, and for example, categorical data analysis, text analysis using character N-gram / word N-gram, etc., analysis using discretization, and the like may be employed.
  • N-gram may be used as the URI path feature extraction method
  • categorical data analysis may be used as the HTTP version feature extraction method.
  • step S102 and step S103 features are extracted and output.
  • the feature extraction unit 23 analyzes the communication data of the target communication according to the feature extraction setting, thereby extracting the feature for each discrimination point and generating feature data (step S102).
  • feature data (parameters) set for each discrimination point of target communication may be determined according to a parameter rule in the feature extraction setting. For example, when a discrimination point is categorical, a value set in advance for each category is given to the feature data of the discrimination point, and the feature data is suitable for each feature extraction method of the corresponding discrimination point.
  • Feature data for example, vectors
  • the feature extraction unit 23 When the feature extraction is completed, the feature extraction unit 23 outputs a discrimination point identifier (for example, a feature name) and feature data (a parameter such as a vector) for each discrimination point (step S103). Thereafter, the processing shown in this flowchart ends.
  • a discrimination point identifier for example, a feature name
  • feature data a parameter such as a vector
  • FIG. 6 is a flowchart showing an outline of the flow of similar communication search processing according to the present embodiment. This flowchart explains the details of the similar communication search process shown in step S3 of FIG.
  • step S201 and step S202 the similar search setting is read, and the past communication to be searched is acquired.
  • the similar communication search unit 25 reads the similar search setting set in advance for the similar communication search of the target communication from the storage device 14b (step S201).
  • the similar search setting includes a search range, a weight (coefficient) set for each discrimination point, and a cut-off condition.
  • the similar communication search unit 25 reads the past communication within the search range set in step S201 among the past communication accumulated in the past communication data holding unit 22 as a search target into the RAM 13b (step S202). Thereafter, the process proceeds to step S203.
  • the search range when searching for past communication stored in the past communication data holding unit 22 is set as the search range.
  • the search range may be narrowed down using a period, a communication environment, or other conditions. .
  • the weight is set for each discrimination point or for each combination of multiple discrimination points.
  • HTTP method 0.04
  • URI path: 0.08 “HTTP version: 0.07”
  • request parameter name: 0.07 “request parameter value: 0”. .050 ”
  • the cut-off condition is a condition used for filtering search results, and the range of the number of search results and the range of similarity can be set. For example, a cut-off condition such as “overall top 30 similarities” or “overall similarity N% or more” may be set.
  • step S203 similarity calculation processing is executed.
  • the similarity calculation unit 24 calculates the similarity (total similarity) between the target communication and each of the plurality of past communications read in step S202. Details of the similarity calculation processing will be described later. Thereafter, the process proceeds to step S204.
  • step S204 past communication similar to the target communication is searched.
  • the similar communication search unit 25 is similar to the target communication by referring to the overall similarity of each past communication whose similarity with the target communication is calculated in step S203 and narrowing down the past communication according to the set cut-off condition. Search for past communications. For example, among the past communications for which the overall similarity with the target communication has been calculated, the past communications with the top 30 in the overall similarity are identified as search results by the similar communication search process. Thereafter, the processing shown in this flowchart ends.
  • FIG. 7 is a flowchart showing an overview of the flow of similarity calculation processing according to the present embodiment. This flowchart explains the details of the similarity calculation process shown in step S203 of FIG.
  • step S301 the similarity for each discrimination point (hereinafter referred to as “feature similarity”) is calculated.
  • feature similarity the similarity calculation unit 24 compares the feature data extracted for the target communication with the feature data of the past communication that is the search target, and calculates the feature similarity.
  • an appropriate similarity calculation method is preferably employed for each parameter type of the discrimination point. For example, a general distance / similarity method such as Euclidean distance may be used.
  • step S302 the total similarity is calculated.
  • the similarity calculation unit 24 calculates the total similarity for each past communication based on the feature similarity calculated in step S301 and the weight given to each discrimination point.
  • a weighted average of feature similarity is calculated as the overall similarity (specifically, refer to the following equation).
  • Total similarity SUM (feature similarity 1 * weight 1 : feature similarity n * weight n ) / SUM (weight 1 : weight n )
  • feature similarity n indicates the feature similarity of the discrimination point n
  • weight n indicates the weight of the discrimination point n.
  • the total similarity is not limited to the example described in the present embodiment as long as it is calculated by reflecting the weight given to each discrimination point or each combination of discrimination points in the feature similarity. Further, the total similarity is not limited to that expressed by a single index, and may be expressed by a combination of a plurality of indexes. When the total similarity is calculated, the processing shown in this flowchart ends.
  • the weight given to each discrimination point is read in advance as a similar search setting before the similar communication search process is executed, but the weight for each discrimination point is dynamically changed during the similar communication search process. May be calculated.
  • An example of calculating the weight during the similar communication search process will be described later in the third embodiment and later, but the weight calculation method is the same regardless of whether the calculation is a pre-calculation or dynamic calculation. It can be calculated using a process.
  • FIG. 8 is a flowchart showing an outline of the flow of weight calculation processing according to the present embodiment. This flowchart explains the details of the weight calculation process for calculating the weight set in advance in the similar search setting, or the weight calculation process shown in step S603 in FIG. 12 and step S704 in FIG. is there.
  • a weight calculation target range is set, and the past communication of the weight calculation target is acquired.
  • the weight calculation unit 27 sets a weight calculation target range that is an acquisition range of past communication data used for weight calculation (step S401).
  • the weight calculation target range set here preferably includes the search range of the similar communication search process in which the weight calculated in the weight calculation process is used. For this reason, in the present embodiment, the weight calculation unit 27 acquires, as the weight calculation target range, the same range as the search range set in the similar communication search process using the weight calculated in the weight calculation process.
  • the weight calculation unit 27 reads past communication within the weight calculation target range set in step S401 among the past communication accumulated in the past communication data holding unit 22 into the RAM 13b (step S402). Thereafter, the process proceeds to step S403.
  • a past communication pair is created.
  • the weight calculation unit 27 creates a plurality of past communication pairs read in step S402. At this time, the weight calculation unit 27 refers to past communication type information (malware name / false detection type, etc.) and has a past communication pair having the same communication type information and different communication type information. Create multiple pairs including past communication pairs. For example, the weight calculation unit 27 sets a pair of past communications so that a pair consisting of the past communication of malware A and the past communication of malware A, and a pair consisting of the past communication of malware A and the past communication of malware B are obtained. Create multiple. Thereafter, the process proceeds to step S404.
  • past communication type information malware name / false detection type, etc.
  • step S404 the feature similarity is calculated.
  • the weight calculation unit 27 calculates the feature similarity for each discrimination point between pairs for each pair created in step S403. Specifically, as the feature similarity between malware AA , feature similarity AAn is calculated from feature similarity AA1, and feature similarity ABn is calculated from feature similarity AB1 as feature similarity between malware AB. To do. A specific method of feature extraction and feature similarity calculation is substantially the same as that described above, and thus description thereof is omitted. Thereafter, the process proceeds to step S405.
  • step S405 a weight for each discrimination point is calculated.
  • the weight calculation unit 27 formulates the following formula for each pair, and the total similarity (the total similarity between malware A and A) for the pair with matching communication type information approaches 100%, and the communication type information does not match.
  • the weight for each discrimination point is calculated by performing multiple regression analysis so that the total similarity of the pair (the total similarity between malware AB) approaches 0%.
  • Total similarity between malware A-A SUM (feature similarity AA1 * weight 1 : feature similarity AAn * weight n ) / SUM (weight 1 : weight n )
  • Total similarity between malware A and B SUM (feature similarity AB1 * weight 1 : feature similarity ABn * weight n ) / SUM (weight 1 : weight n )
  • feature similarity AAn indicates the feature similarity of the discrimination point n between the malwares AA
  • feature similarity ABn indicates the feature similarity of the discrimination point n between the malwares A and B.
  • the weight calculation process has been described. However, when the weight calculation process described above is used, it is difficult to calculate an appropriate weight if the weight calculation target range is too wide.
  • a clustering process (grouping process) is adopted, and the search range and the weight calculation target range are “similar to the whole communication. It was decided to search for a discrimination point that should be emphasized (a weight should be increased) in order to accurately specify the communication type within the group after limiting to the group including “different types of communication”.
  • clustering or supervised learning is used as a method used for grouping.
  • the technology according to the present disclosure is intended to accurately determine the communication type (malware name, etc.) without using a large amount of learning data, but in the grouping that is the previous stage of the communication type determination, similar communication data Therefore, it is sufficient if the grouping is roughly performed. Therefore, even if the grouping is performed using a clustering model / learning model created by using a relatively small amount of learning data, the effect can be exhibited.
  • malware that is not similar to the whole communication but is actually the same type of malware may be grouped into different groups. This is a group for facilitating calculation of appropriate weights for discrimination, and therefore does not cause a problem.
  • FIG. 9 is a diagram showing an outline of a functional configuration of the management server 50 according to the present embodiment.
  • the program recorded in the storage device 14b is read out to the RAM 13b and executed by the CPU 11b to control each hardware provided in the management server 50.
  • the communication data acquisition unit 21, the past communication data holding unit 22, the feature extraction unit 23, the similarity calculation unit 24, the similar communication search unit 25, the information output unit 26, and the weight calculation unit 27 described in the above, 28, functions as an information processing apparatus that further includes a grouping unit 29 and a setting unit 30.
  • the model holding unit 28 holds a plurality of past communication grouping models.
  • the model holding unit 28 uses a plurality of past communications as learning data, and generates a clustering model generated so as to cluster the plurality of past communications into a predetermined number of clusters. Hold as.
  • the grouping unit 29 uses the grouping model to group the target communication into any group in which a plurality of past communications are grouped.
  • the grouping unit 29 specifies the cluster number of the cluster to which the target communication belongs using the clustering model.
  • the setting unit 30 selects at least one of a target range of past communication searched by the similar communication search unit 25 and a weight for each discrimination point used in the similarity calculation unit 24 according to the group into which the target communication is grouped. Set.
  • the setting unit 30 sets the past communication belonging to the cluster with the cluster number as the target range.
  • FIG. 10 is a flowchart showing an outline of the flow of similar communication search processing according to the present embodiment. This flowchart explains the details of the similar communication search process shown in step S3 of FIG.
  • step S501 the cluster to which the target communication belongs is specified.
  • the grouping unit 29 performs clustering processing (grouping processing) using the clustering model learned using the communication data and / or feature data of the past communication, and identifies the cluster to which the target communication belongs.
  • the grouping unit 29 uses a learned clustering model capable of clustering past communications into a predetermined number (for example, 50) clusters in advance using communication data and / or feature data of past communications. Prepare.
  • the clustering algorithm is not particularly limited, and for example, a k-average method or the like can be used.
  • the grouping unit 29 acquires the cluster number to which the target communication belongs by inputting the communication data and / or feature data of the target communication into the clustering model.
  • step S502 it is possible to sort the target communication into groups that are “similar to the whole communication but actually include different types of communication”.
  • clustering is used for grouping, but the target communication is distributed into groups that are “similar to the whole communication but actually include different types of communication”. If possible, the specific grouping means is not limited to so-called clustering. Thereafter, the process proceeds to step S502.
  • step S502 the similar search setting corresponding to the cluster number is read.
  • the setting unit 30 reads a similar search setting preset for each cluster number from the storage device 14b for a similar communication search of the target communication.
  • the search range includes “the past communication of the cluster to which the target communication belongs (for example, if the cluster number of the target communication is 1, all the past communication belonging to the cluster number 1). ) ”Is set.
  • a weight calculated in advance is set for each cluster by executing weight calculation processing (see FIG. 8) using the past communication belonging to the cluster as a weight calculation target range. . Thereafter, the process proceeds to step S503.
  • step S503 to step S505 Since the processing from step S503 to step S505 is substantially the same as the processing from step S202 to step S204 described in the first embodiment, description thereof is omitted.
  • step S501 and step S502 the base of the search processing is narrowed down to a group that is “similar to the whole communication but actually includes different types of communication”, and such a group. Is used as a weight calculation target range, and in steps S503 to S505, it is possible to more accurately discriminate between "similar to the whole communication but actually different types of communication”. Yes, it is easier to find appropriate past communications.
  • the processing shown in this flowchart ends.
  • the search is completed once, but an appropriate search result may not be obtained by one search. For this reason, it is conceivable that the search process is executed a plurality of times while changing the conditions (search range, etc.) until an appropriate search result is obtained.
  • the weight is calculated in advance according to the set search range, it is sufficiently appropriate for the search range that changes during processing. Cannot provide weighting.
  • the search process is executed a plurality of times while gradually narrowing down the search range, and a weight suitable for the narrowed search range is dynamically calculated. It was decided to.
  • FIG. 11 is a diagram showing an outline of a functional configuration of the management server 50 according to the present embodiment.
  • the program recorded in the storage device 14b is read out to the RAM 13b and executed by the CPU 11b to control each hardware provided in the management server 50.
  • the end determination unit 31 and an information processing apparatus that further includes a setting change unit 32.
  • the end determination unit 31 guarantees the accuracy of one or more past communications similar to the target communication retrieved by the similar communication search unit 25 according to the filtering setting (cut-off condition). It is determined whether or not the end condition set to do so is satisfied.
  • the setting change unit 32 changes at least one of the target range of the past communication searched by the similar communication search unit 25 and the filtering setting when it is determined that the searched past communication does not satisfy the termination condition. To do.
  • FIG. 12 is a flowchart showing an outline of the flow of similar communication search processing according to the present embodiment. This flowchart explains the details of the similar communication search process shown in step S3 of FIG.
  • step S601 the similar search setting is read.
  • the similar communication search unit 25 reads the similar search setting set in advance for the similar communication search of the target communication from the storage device 14b.
  • the similar search setting includes a search range, a cut-off condition, a search end condition, and setting update contents. Note that the weight for each discrimination point set in the first embodiment and the second embodiment is not set because it is dynamically calculated during the similarity search process in this embodiment. Thereafter, the process proceeds to step S602.
  • the setting contents of the search range and cut-off condition are the same as described in the first embodiment, and thus the description thereof is omitted.
  • the search end condition is a condition for determining whether or not the search result output by the similar communication search process satisfies a predetermined quality. For example, “the communication type information of the top five most similarities (malware name, etc.) ) Are all the same, or the number of repetitions of processing is greater than three.
  • the setting update content is a setting content for updating the similar search setting when the search result is repeated without satisfying the search end condition. For this reason, the setting update content includes a search range, a cut-off condition, and a search end condition that are set after the second round.
  • step S602 the past communication to be searched is acquired.
  • the similar communication search unit 25 reads the past communication within the search range set in the similar search setting from the past communication accumulated in the past communication data holding unit 22 into the RAM 13b as a search target. Thereafter, the process proceeds to step S603.
  • step S603 a weight calculation process is executed.
  • the weight calculation unit 27 calculates the weight for each discrimination point using the search range currently set in the similar search setting (the search range after the update if updated in step S607) as the weight calculation target range. To do. That is, in the similar communication search process shown in this flowchart, the weight used to calculate the similarity between the target communication and the past communication is dynamically changed according to the search range that changes every time the process circulates. Calculated. The details of the weight calculation process have been described with reference to FIG. Thereafter, the process proceeds to step S604.
  • step S604 similarity calculation processing is executed.
  • the similarity calculation unit 24 calculates the similarity (total similarity) between the target communication and each of the plurality of past communications read in step S602.
  • the weight for each discrimination point used at this time is dynamically calculated according to the search range in step S603. Details of the similarity calculation processing have been described with reference to FIG. Thereafter, the process proceeds to step S605.
  • step S605 a past communication similar to the target communication is searched.
  • the similar communication search unit 25 refers to the total similarity of each past communication for which the total similarity with the target communication is calculated in step S604, and narrows down past communication according to the cut-off condition set in the similar search setting. Thereafter, the process proceeds to step S606.
  • step S606 and step S607 the similar search setting is updated when the search end condition is not satisfied.
  • the end determination unit 31 determines whether the past communication narrowed down according to the cut-off condition, the number of repetitions, and the like satisfy the search end condition (step S606). When the search end condition is satisfied, the processing shown in this flowchart ends.
  • the setting changing unit 32 updates the similar search setting according to the setting update content (step S607). At this time, it is preferable that the similar search setting is configured so that the search result in the next iterative process more easily satisfies the search end condition.
  • the setting change unit 32 adds the repetition number of the process once. Thereafter, the process proceeds to step S602.
  • the search processing from step S602 to step S607 is repeatedly executed while the similar search setting is updated until the search end condition is satisfied.
  • the similarity search setting For example, in the search process for the first round, the following content is set as the similarity search setting.
  • Search range All past communication data held by the past communication data holding unit 22
  • All cut-off conditions Top 100 cases of overall similarity
  • Search end condition All of the communication type information of the top five pieces of overall similarity are the same, or the number of processing repetitions Greater than 3 times
  • search range Search results for the first lap (100 results) Cut off condition: Overall similarity top 80% Search termination condition: All the communication type information of the top five similarities is the same, or the number of processing repetitions is greater than 3.
  • a search result with sufficient quality (for example, “the communication type information of the top five most similarities is the same”) is obtained, or the number of repetitions is the upper limit (for example, three times).
  • the update of the similar search setting, the weight calculation process, the similarity calculation process, and the search process are repeatedly executed.
  • the search range is set by clustering in the similar communication search process. After narrowing down, the search process is executed a plurality of times while gradually narrowing down the search range, and weights suitable for the narrowed search range are dynamically calculated.
  • FIG. 13 is a diagram illustrating an outline of a functional configuration of the management server 50 according to the present embodiment.
  • the management server 50 reads out the program recorded in the storage device 14b to the RAM 13b and executes it by the CPU 11b to control each hardware provided in the management server 50, whereby the communication data acquisition unit 21 is controlled.
  • FIG. 14 is a flowchart showing an overview of the flow of similar communication search processing according to the present embodiment. This flowchart explains the details of the similar communication search process shown in step S3 of FIG.
  • step S701 the cluster to which the target communication belongs is specified.
  • the grouping unit 29 performs clustering processing (grouping processing) using the clustering model learned using the communication data and / or feature data of the past communication, and identifies the cluster to which the target communication belongs. Details of creating the clustering model and specifying the cluster are the same as those described in step S501 of FIG. Thereafter, the process proceeds to step S702.
  • step S702 the similar search setting corresponding to the cluster number is read.
  • the setting unit 30 reads a similar search setting preset for each cluster number from the storage device 14b for a similar communication search of the target communication.
  • the similar search setting includes a search range, a cut-off condition, a search end condition, and setting update contents. Note that the weight for each discrimination point is not set because it is dynamically calculated during the similarity search process, as in the third embodiment. Thereafter, the process proceeds to step S703.
  • the past communication of the cluster to which the target communication belongs (for example, if the cluster number of the target communication is 1, all the past communication belonging to the cluster number 1)” is set as the search range.
  • the search end condition and the setting update content are the same as those described in the third embodiment, and thus the description thereof is omitted.
  • step S703 to step S708 is substantially the same as the processing from step S602 to step S607 described in the third embodiment, the description thereof is omitted.
  • the search end condition is satisfied, the processing shown in this flowchart ends.
  • the network monitoring device 20 acquires and acquires packets and frames transmitted and received by the node 90 by being connected to a monitoring port (mirror port) of a switch or router.
  • a monitoring port mirror port
  • FIG. 1 An example of operating in a passive mode that does not transfer packets that have been transferred has been described (see FIG. 1).
  • the network configuration shown in the above embodiment is an example for carrying out the present disclosure, and other network configurations may be adopted in the implementation.
  • the network monitoring device 20 may not be connected to the monitoring port (mirror port) but is simply connected to the network segment 2, the frame flowing through the network segment 2 may not be addressed to its own MAC address. By acquiring all of them including packets, frames, frames and the like transmitted and received by the node 90 can be acquired. Also in this case, the network monitoring device 20 operates in the passive mode. Further, for example, the network monitoring device 20 is connected between the switch or router of the network segment 2 and another switch or router in the upper layer so as to acquire a packet or a frame that passes therethrough. Good (see FIG. 15). In this case, the network monitoring device 20 operates in an inline mode in which packets that do not need to be blocked among the acquired packets are transferred. Further, the network monitoring device 20 may be included in a router or a switch.
  • this embodiment demonstrated the embodiment which acquires the packet which flows through a network and performs a real-time detection with the above-mentioned various detection engines
  • the application range of this indication is not limited to a real-time detection.
  • data related to communication flowing through the network may be stored, and the processing by the various detection engines described above may be performed on the stored data.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

従来の技術では異なる種類の通信であると判別することが難しかった通信データを分類することを課題とし、情報処理装置に、ネットワークに接続された端末による通信の通信データを取得する通信データ取得部と、複数の過去通信の夫々に係る過去通信データを、対応する通信種類情報と関連付けて保持する過去通信データ保持部と、通信データ取得部によって取得された通信データと、過去通信データとを比較して、通信に含まれる判別ポイント毎の特徴類似度を算出し、算出された特徴類似度を判別ポイント毎又は判別ポイントの組み合わせ毎に重み付けすることで、対象通信と過去通信との間の総合類似度を算出する類似度算出部と、算出された総合類似度に従って、対象通信に類似する1又は複数の過去通信を索出する類似通信検索部と、索出された過去通信に対応する通信種類情報を出力する情報出力部と、を備えた。

Description

情報処理装置、通信種類判別方法及びプログラム
 本開示は、ネットワーク上の通信を分類するための技術に関する。
 従来、検知されたアラートの通信情報と、過去のアラートの通信情報との類似性を示す技術が提案されている(特許文献1を参照)。
 また、監視によって得られた通信データをテンプレートと比較し、類似度が閾値を超える場合に当該通信データとテンプレートとが関連すると判断する技術が提案されている(特許文献2を参照)。
国際公開2016/092836号 米国特許公開2017/0230393号
 従来、シグネチャ照合によってシステムへの脅威を検知する技術が用いられているが、誤検知が少ないというメリットがある反面、未知のマルウェアを検知できないというデメリットがあった。一方、シグネチャ照合方式の弱点を克服するために、ネットワーク上の端末等の振る舞いの怪しさを判定することで、システムへの脅威を検知する技術も用いられているが、このような技術は、未知のマルウェアを検知可能であるというメリットの反面、誤検知が発生する可能性があるという問題がある。
 これは、マルウェア等に係る通信の種類には、通信全体を見るとよく似ているが、特定の観点に絞って見ると異なる種類のマルウェアであると判別可能となるような、亜種や新種が多数存在するためである。このような亜種や新種を区別するために、教師あり学習技術を用いることも考えられるが、教師あり学習において正確な識別が可能になる程度の大量のマルウェアの亜種や新種による通信データを、学習用データとして入手することは困難であり、教師あり学習技術を用いて多くの種類のマルウェアの亜種や新種を判別可能とすることは現実的ではない。
 本開示は、上記した問題に鑑み、従来の技術では異なる種類の通信であると判別することが難しかった通信データを分類することを課題とする。
 本開示の一例は、ネットワークに接続された端末による通信の通信データを取得する通信データ取得手段と、複数の過去通信の夫々に係る過去通信データを、対応する通信種類情報と関連付けて保持する過去通信データ保持手段と、前記通信データ取得手段によって取得された通信データと、前記過去通信データとを比較して、通信に含まれる判別ポイント毎の特徴類似度を算出し、算出された特徴類似度を該判別ポイント毎又は該判別ポイントの組み合わせ毎に重み付けすることで、該対象通信と該過去通信との間の総合類似度を算出する類似度算出手段と、算出された総合類似度に従って、対象通信に類似する1又は複数の過去通信を索出する類似通信検索手段と、索出された過去通信に対応する通信種類情報を出力する情報出力手段と、を備える情報処理装置である。
 本開示は、情報処理装置、システム、コンピューターによって実行される方法またはコンピューターに実行させるプログラムとして把握することが可能である。また、本開示は、そのようなプログラムをコンピューターその他の装置、機械等が読み取り可能な記録媒体に記録したものとしても把握できる。ここで、コンピューター等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的または化学的作用によって蓄積し、コンピューター等から読み取ることができる記録媒体をいう。
 本開示によれば、従来の技術では異なる種類の通信であると判別することが難しかった通信データを分類することが可能となる。
実施形態に係るシステムの構成を示す概略図である。 実施形態に係るネットワーク監視装置および管理サーバーのハードウェア構成を示す図である。 第一の実施形態に係る管理サーバーの機能構成の概略を示す図である。 実施形態に係る通信種類判別処理の流れの概要を示すフローチャートである。 実施形態に係る特徴抽出処理の流れの概要を示すフローチャートである。 第一の実施形態に係る類似通信検索処理の流れの概要を示すフローチャートである。 実施形態に係る類似度算出処理の流れの概要を示すフローチャートである。 実施形態に係る重み算出処理の流れの概要を示すフローチャートである。 第二の実施形態に係る管理サーバーの機能構成の概略を示す図である。 第二の実施形態に係る類似通信検索処理の流れの概要を示すフローチャートである。 第三の実施形態に係る管理サーバーの機能構成の概略を示す図である。 第三の実施形態に係る類似通信検索処理の流れの概要を示すフローチャートである。 第四の実施形態に係る管理サーバーの機能構成の概略を示す図である。 第四の実施形態に係る類似通信検索処理の流れの概要を示すフローチャートである。 実施形態に係るシステムの構成のバリエーションを示す概略図である。
 以下、本開示に係る情報処理装置、通信種類判別方法及びプログラムの実施の形態を、図面に基づいて説明する。但し、以下に説明する実施の形態は、実施形態を例示するものであって、本開示に係る情報処理装置、通信種類判別方法及びプログラムを以下に説明する具体的構成に限定するものではない。実施にあたっては、実施の態様に応じた具体的構成が適宜採用され、また、種々の改良や変形が行われてよい。
 本実施形態では、本開示に係る情報処理装置、通信種類判別方法及びプログラムを、ネットワーク上で不正な活動を行っている端末を発見し、通信遮断やアラート通知等の対処を行うためのシステムにおいて実施した場合の実施の形態について説明する。但し、本開示に係る情報処理装置、通信種類判別方法及びプログラムは、ネットワーク上の通信を分類するために広く用いることが可能であり、本開示の適用対象は、本実施形態において示した例に限定されない。
 [第一の実施形態]
 <システムの構成>
 図1は、本実施形態に係るシステム1の構成を示す概略図である。本実施形態に係るシステム1は、複数の情報処理端末90(以下、「ノード90」と称する)が接続されるネットワークセグメント2と、ノード90に係る通信を監視するためのネットワーク監視装置20(通信監視装置)と、ルータ10を介してネットワークセグメント2と通信可能に接続された管理サーバー50と、を備える。
 本実施形態において、ネットワーク監視装置20は、スイッチまたはルータ(図1に示した例では、ルータ)のモニタリングポート(ミラーポート)に接続されることで、ノード90によって送受信されるパケットやフレーム等の通信データを取得し、取得した通信データを管理サーバー50に送信する。この場合、ネットワーク監視装置20は、取得したパケットを転送しないパッシブモードで動作してもよい。
 管理サーバー50は、ネットワーク監視装置20から情報を収集し、ネットワーク監視装置20を管理する。なお、外部ネットワークには、更に検疫サーバーが設けられ、ネットワークセグメント2に接続されたノード90に対して検疫サービスを提供してもよいし、業務サーバーが設けられ、ノード90に対して業務のためのサービスを提供してもよい(図示は省略する)。
 本実施形態に係るシステム1では、ノード90から接続される各種サーバーは、インターネットや広域ネットワークを介して遠隔地において接続されたものであり、例えばASP(Application Service Provider)によって提供されるが、これらのサーバーは、必ずしも遠隔地に接続されたものである必要はない。例えば、これらのサーバーは、ノード90やネットワーク監視装置20が存在するローカルネットワーク上に接続されていてもよい。
 図2は、本実施形態に係るネットワーク監視装置20および管理サーバー50のハードウェア構成を示す図である。なお、図2においては、ネットワーク監視装置20および管理サーバー50以外の構成(ルータ10、ノード90等)については、図示を省略している。ネットワーク監視装置20および管理サーバー50は、それぞれ、CPU(Central Processing Unit)11a、11b、RAM(Random Access Memory)13a、13b、ROM(Read Only Memory)12a、12b、EEPROM(Electrically Erasable and Programmable Read Only Memory)やHDD(Hard Disk Drive)等の記憶装置14a、14b、NIC(Network Interface Card)15a、15b等の通信ユニット、等を備えるコンピューターである。
 図3は、本実施形態に係る管理サーバー50の機能構成の概略を示す図である。管理サーバー50は、記憶装置14bに記録されているプログラムが、RAM13bに読み出され、CPU11bによって実行されて、管理サーバー50に備えられた各ハードウェアが制御されることで、通信データ取得部21、過去通信データ保持部22、特徴抽出部23、類似度算出部24、類似通信検索部25、情報出力部26、及び重み算出部27を備える情報処理装置として機能する。なお、本実施形態及び後述する他の実施形態では、管理サーバー50の備える各機能は、汎用プロセッサであるCPU11bによって実行されるが、これらの機能の一部または全部は、1または複数の専用プロセッサによって実行されてもよい。また、本実施形態では、本開示に係る情報処理装置が管理サーバー50として実施される例について説明したが、本開示に係る情報処理装置が備える上記各機能の一部又は全部は、ネットワーク監視装置20に備えられていてもよい。
 通信データ取得部21は、監視対象ネットワークに設置されたネットワーク監視装置20によってキャプチャされ、管理サーバー50宛に送信された通信データを取得する。この通信データは、監視対象ネットワークに接続されたノード90による通信の通信データである。
 過去通信データ保持部22は、複数の過去通信の夫々に係る過去通信データを、対応する通信種類情報と関連付けて保持する。より具体的には、過去通信データ保持部22には、過去通信毎に、当該過去通信のID、特徴データ、通信データ、対応する通信種類情報(マルウェア名/誤検知種別等)、当該マルウェア等への対処方法、等が関連づけられて保持されている。なお、ここで保持される過去通信データは、本開示に係るシステム1の内部に蓄積されたデータであってもよいし、外部のデータベースに蓄積されたデータが取得されたものであってもよい。
 特徴抽出部23は、通信データ取得部21によって取得された通信データから、通信に含まれる判別ポイント毎に、予め設定された特徴抽出方法を用いて特徴を抽出することで、対象通信の特徴データを生成する。
 類似度算出部24は、通信に含まれる判別ポイント毎に、対象通信の特徴データと過去通信の特徴データとを比較して特徴類似度を算出し、算出された特徴類似度を当該判別ポイント毎又は当該判別ポイントの組み合わせ毎に重み付けすることで、当該対象通信と当該過去通信との間の総合類似度を算出する。
 類似通信検索部25は、算出された総合類似度に従って、対象通信に類似する1又は複数の過去通信を索出する。
 情報出力部26は、索出された過去通信に対応する通信種類情報、及び当該過去通信に関連付けられた対処方法を取得して出力する。
 重み算出部27は、判別ポイント毎の重みを算出する。より具体的には、重み算出部27は、類似通信検索部25によって索出される過去通信の対象範囲に含まれる過去通信同士のペアを複数作成し、通信種類情報が一致する過去通信ペアについて類似度算出部24が算出する総合類似度が100%に近づき、通信種類情報が一致しない過去通信ペアについて類似度算出部24が算出する総合類似度が0%に近づくように、重回帰分析を実行することによって、判別ポイント毎の重みを算出する。
 <処理の流れ>
 次に、本実施形態に係る管理サーバー50によって実行される処理の流れを説明する。なお、以下に説明する処理の具体的な内容および処理順序は、本開示を実施するための一例である。具体的な処理内容および処理順序は、本開示の実施の形態に応じて適宜選択されてよい。
 図4は、本実施形態に係る通信種類判別処理の流れの概要を示すフローチャートである。本フローチャートに示された処理は、ノード90による通信の通信データが、ネットワーク監視装置20によって取得され、管理サーバー50に入力されたことを契機として開始される。
 ステップS1及びステップS2では、通信データが受信され、通信の特徴が抽出される。通信データ取得部21は、ネットワーク監視装置20によって取得されて、管理サーバー50宛に送信された、ノード90による通信データを受信(ステップS1)する。以下、ここで取得された通信データに係る通信を、「対象通信」と称する。通信データが受信されると、特徴抽出部23は、受信された通信データから、通信に含まれる判別ポイント毎に特徴抽出処理を実行する(ステップS2)。特徴抽出処理では、判別ポイント毎の特徴が抽出され、特徴データが生成されるが、処理の詳細については後述する。その後、処理はステップS3へ進む。
 ステップS3では、類似通信検索処理が実行される。類似通信検索部25は、過去通信データ保持部22によって保持されている過去通信の特徴データと、ステップS2で生成された特徴データとを比較することで、ステップS1で取得された通信データに類似する過去通信を索出する。なお、本実施形態では、過去通信の特徴データが過去通信データ保持部22によって保持されている例について説明したが、過去通信の特徴データは、本フローチャートに示された処理が実行される都度抽出されてもよい。類似通信検索処理の詳細については後述する。類似通信検索部25は、処理結果として、索出された過去通信のID、及び対象通信との類似度(総合類似度)を出力する。その後、処理はステップS4へ進む。
 ステップS4では、検索結果が出力される。情報出力部26は、ステップS3で索出された過去通信のIDに基づいて、当該過去通信の通信データ、対応する通信種類情報(マルウェア名/誤検知種別等)、及び当該マルウェア等への対処方法をデータベースから取得し、当該過去通信のID及び対象通信との類似度と併せて出力する。ユーザーは、出力内容から、対象通信の種類(マルウェア名等)、及び当該マルウェア等への対処方法を知ることができる。なお、対象通信の通信データ及び対応する通信種類情報等は、過去通信データとして過去通信データ保持部22に蓄積されてよい。その後、本フローチャートに示された処理は終了する。
 図5は、本実施形態に係る特徴抽出処理の流れの概要を示すフローチャートである。本フローチャートは、図4のステップS2に示された特徴抽出処理の詳細を説明するものである。
 ステップS101では、特徴抽出設定が読み込まれる。特徴抽出部23は、判別ポイント毎に予め設定されている特徴抽出設定を、記憶装置14bから読み込む。具体的には、特徴抽出設定には、判別ポイントの識別子(例えば、特徴名)及び当該特徴を抽出するための特徴抽出方法が含まれる。なお、特徴抽出方法には、特徴抽出に用いられる分析手法(アルゴリズム)の他、特徴として設定されるパラメーターのルールも含まれてよい。その後、処理はステップS102へ進む。
 ここで、判別ポイントは、通信内容のうち、当該通信の種類(例えば、マルウェア名)を特定する際に参照されるポイントであり、例えば、HTTPメソッド、URIパス、HTTPバージョン、リクエストパラメータ名、リクエストパラメータ値、リクエストヘッダー名、等である。本実施形態では、これらの判別ポイント毎に、適切な特徴抽出方法が予め設定されている。
 特徴抽出手法には、判別ポイントの種類に応じて適切な分析手法が割り当てられることが好ましい。採用可能な分析手法は限定されず、例えば、カテゴリカルデータ解析、文字Nグラム/単語Nグラム等を利用したテキスト分析、離散化を用いた分析、等が採用されてよい。例えば、URIパスの特徴抽出手法としてはNグラムが用いられ、HTTPバージョンの特徴抽出手法としてはカテゴリカルデータ解析が用いられてよい。
 ステップS102及びステップS103では、特徴が抽出され、出力される。特徴抽出部23は、対象通信の通信データを、特徴抽出設定に従って分析することで、判別ポイント毎の特徴を抽出し、特徴データを生成する(ステップS102)。なお、特徴抽出の結果、対象通信の判別ポイント毎に設定される特徴データ(パラメータ)は、特徴抽出設定内のパラメータルールに従って決定されてよい。例えば、判別ポイントがカテゴリカルである場合、当該判別ポイントの特徴データにはカテゴリ毎に予め設定された値が与えられるし、その他、特徴データには、該当する判別ポイントの特徴抽出方法毎に適した特徴データ(例えば、ベクトル等)が与えられる。特徴抽出が完了すると、特徴抽出部23は、判別ポイント毎に、判別ポイントの識別子(例えば、特徴名)及び特徴データ(ベクトル等のパラメータ)を出力する(ステップS103)。その後、本フローチャートに示された処理は終了する。
 図6は、本実施形態に係る類似通信検索処理の流れの概要を示すフローチャートである。本フローチャートは、図4のステップS3に示された類似通信検索処理の詳細を説明するものである。
 ステップS201及びステップS202では、類似検索設定が読み込まれ、検索対象の過去通信が取得される。類似通信検索部25は、対象通信の類似通信検索のために予め設定された類似検索設定を、記憶装置14bから読み込む(ステップS201)。具体的には、類似検索設定には、検索範囲、判別ポイント毎に設定された重み(係数)、及び足切り条件が含まれる。次に、類似通信検索部25は、過去通信データ保持部22に蓄積された過去通信のうち、ステップS201で設定された検索範囲内の過去通信を、検索対象としてRAM13bに読み込む(ステップS202)。その後、処理はステップS203へ進む。
 ここで、検索範囲には、過去通信データ保持部22に蓄積された過去通信を検索する際の検索範囲が設定される。本実施形態では、「過去通信データ保持部22が保持する過去通信データ全て」を検索対象とする例について説明するが、検索範囲は、期間や通信環境その他の条件を用いて絞り込まれてもよい。
 重みは、判別ポイント毎、または複数の判別ポイントの組み合わせ毎に設定される。本実施形態では、例えば、「HTTPメソッド:0.04」、「URIパス:0.08」、「HTTPバージョン:0.07」、「リクエストパラメータ名:0.07」、「リクエストパラメータ値:0.050」・・・等のように設定される。
 足切り条件は、検索結果をフィルタリングするために用いられる条件であり、検索結果の件数の範囲や類似度の範囲を設定することが出来る。例えば、「総合類似度上位30件」や「総合類似度N%以上」のような足切り条件が設定されてよい。
 ステップS203では、類似度算出処理が実行される。類似度算出部24は、対象通信と、ステップS202で読み込まれた複数の過去通信の夫々との間の類似度(総合類似度)を算出する。類似度算出処理の詳細については後述する。その後、処理はステップS204へ進む。
 ステップS204では、対象通信に類似する過去通信が索出される。類似通信検索部25は、ステップS203で対象通信との類似度が算出された各過去通信の総合類似度を参照し、設定された足切り条件に従って過去通信を絞り込むことで、対象通信に類似する過去通信を索出する。例えば、対象通信との総合類似度が算出された各過去通信のうち、総合類似度上位30件の過去通信が、類似通信検索処理による検索結果として特定される。その後、本フローチャートに示された処理は終了する。
 図7は、本実施形態に係る類似度算出処理の流れの概要を示すフローチャートである。本フローチャートは、図6のステップS203に示された類似度算出処理の詳細を説明するものである。
 ステップS301では、判別ポイント毎の類似度(以下、「特徴類似度」と称する)が算出される。類似度算出部24は、判別ポイント毎に、対象通信について抽出された特徴データと、検索対象となった過去通信の特徴データとを比較し、特徴類似度を算出する。具体的には、判別ポイントのパラメータの種類毎に適切な類似度算出手法が採用されることが好ましく、例えば、ユークリッド距離等、一般的な距離・類似度法が用いられてよい。全ての検索対象過去通信について特徴類似度が算出されると、処理はステップS302へ進む。
 ステップS302では、総合類似度が算出される。類似度算出部24は、ステップS301で算出された特徴類似度、及び判別ポイント毎に与えられた重みに基づいて、過去通信毎の総合類似度を算出する。本実施形態では、総合類似度として、特徴類似度の加重平均を算出することとする(具体的には、以下の式を参照)。
総合類似度=SUM(特徴類似度*重み:特徴類似度*重み)/SUM(重み:重み
 ここで、「特徴類似度」は、判別ポイントnの特徴類似度を示し、「重み」は、判別ポイントnの重みを示す。
 なお、総合類似度は、特徴類似度に、判別ポイント毎又は判別ポイントの組み合わせ毎に与えられる重みを反映して算出されたものであればよく、本実施形態において説明した例に限定されない。また、総合類似度は、単一の指標で表現されるものに限定されず、複数の指標の組み合わせによって表現されるものであってもよい。総合類似度が算出されると、本フローチャートに示された処理は終了する。
 なお、本実施形態において、判別ポイント毎に与えられる重みは、類似通信検索処理が実行される前に予め類似検索設定として読み込まれるが、判別ポイント毎の重みは、類似通信検索処理中に動的に算出されてもよい。類似通信検索処理中に重みを算出する例については、第三の実施形態以降で後述するが、重みの算出方法については、事前算出であるか動的算出であるかにかかわらず、同じ重み算出処理を用いて算出可能である。
 図8は、本実施形態に係る重み算出処理の流れの概要を示すフローチャートである。本フローチャートは、類似検索設定に予め設定される重みを算出するための重み算出処理、又は後述する図12のステップS603及び図14のステップS704に示された重み算出処理の詳細を説明するものである。
 ステップS401及びステップS402では、重み算出対象範囲が設定され、重み算出対象の過去通信が取得される。重み算出部27は、重み算出に用いられる過去通信データの取得範囲である重み算出対象範囲を設定する(ステップS401)。ここで設定される重み算出対象範囲は、当該重み算出処理で算出された重みが用いられる類似通信検索処理の検索範囲を含むことが好ましい。このため、本実施形態において、重み算出部27は、当該重み算出処理で算出された重みが用いられる類似通信検索処理において設定される検索範囲と同一の範囲を、重み算出対象範囲として取得する。次に、重み算出部27は、過去通信データ保持部22に蓄積された過去通信のうち、ステップS401で設定された重み算出対象範囲内の過去通信を、RAM13bに読み込む(ステップS402)。その後、処理はステップS403へ進む。
 ステップS403では、過去通信のペアが作成される。重み算出部27は、ステップS402で読み込まれた過去通信のペアを複数作成する。この際、重み算出部27は、過去通信の通信種類情報(マルウェア名/誤検知種別等)を参照して、互いに同一の通信種類情報を有する過去通信のペア、及び互いに異なる通信種類情報を有する過去通信のペア、を含む複数のペアを作成する。例えば、重み算出部27は、マルウェアAの過去通信とマルウェアAの過去通信とからなるペア、マルウェアAの過去通信とマルウェアBの過去通信とからなるペア、となるように、過去通信のペアを複数作成する。その後、処理はステップS404へ進む。
 ステップS404では、特徴類似度が算出される。重み算出部27は、ステップS403で作成されたペア毎に、ペア間で判別ポイント毎の特徴類似度を算出する。具体的には、マルウェアA-A間の特徴類似度として、特徴類似度AA1から特徴類似度AAnを、マルウェアA-B間の特徴類似度として、特徴類似度AB1から特徴類似度ABnを、算出する。特徴抽出及び特徴類似度算出の具体的な方法については、上記で説明したものと概略同様であるため、説明を省略する。その後、処理はステップS405へ進む。
 ステップS405では、判別ポイント毎の重みが算出される。重み算出部27は、ペア毎に以下の式を立て、通信種類情報が一致するペアについての総合類似度(マルウェアA-A間の総合類似度)が100%に近づき、通信種類情報が一致しないペアについての総合類似度(マルウェアA-B間の総合類似度)が0%に近づくように、重回帰分析を実行することによって、判別ポイント毎の重みを算出する。
マルウェアA-A間の総合類似度=SUM(特徴類似度AA1*重み:特徴類似度AAn*重み)/SUM(重み:重み
マルウェアA-B間の総合類似度=SUM(特徴類似度AB1*重み:特徴類似度ABn*重み)/SUM(重み:重み
 ここで、「特徴類似度AAn」は、マルウェアA-A間における判別ポイントnの特徴類似度を示し、「特徴類似度ABn」は、マルウェアA-B間における判別ポイントnの特徴類似度を示す。
 このようにすることで、例えば、マルウェアAとマルウェアBとが、通信全体を見るとよく似ているような場合であっても、これらのマルウェアを区別するために重要な判別ポイントが重視されるような重みを、自動的に算出することができる。
 [第二の実施形態]
 次に、第二の実施形態を説明する。第二の実施形態では、上記第一の実施形態で説明した内容を重複する項目については、同一の符号を付して説明を省略する。
 上記第一の実施形態において、重み算出処理を説明したが、上記説明した重み算出処理を用いる場合、重み算出対象範囲が広すぎる場合には、適切な重みを算出することが困難となる。
 そこで、本実施形態及び後述する第四の実施形態では、クラスタリング処理(グループ分け処理)を採用し、検索範囲及び重み算出対象範囲を、「通信全体を見るとよく似ているが、実際には異なる種類の通信が含まれる」グループ内に限定した上で、当該グループ内で正確に通信種類を特定するのに重視すべき(重みを大きくするべき)判別ポイントを探すこととした。
 ここで、グループ分けに使用される手法には、例えば、クラスタリングや教師あり学習が用いられる。本開示に係る技術は、大量の学習データを用いることなく正確に通信種類(マルウェア名等)を判別することを目的としているが、通信種類判別の前段階であるグループ分けでは、類似する通信データを大雑把にグループ分けできれば十分であるため、比較的少量の学習データを用いて作られたクラスタリングモデル/学習モデルでのグループ分けであっても、効果を発揮できる。なお、このグループ分けでは、「通信全体をみると似ていないが、実際には同種」のマルウェア等が異なるグループにグループ分けされる可能性があるが、このグループは同一グループ内で通信種別を判別するための適切な重みを算出しやすくするためのグループであるため、問題とはならない。
 <システムの構成>
 図9は、本実施形態に係る管理サーバー50の機能構成の概略を示す図である。管理サーバー50は、記憶装置14bに記録されているプログラムが、RAM13bに読み出され、CPU11bによって実行されて、管理サーバー50に備えられた各ハードウェアが制御されることで、第一の実施形態で説明した通信データ取得部21、過去通信データ保持部22、特徴抽出部23、類似度算出部24、類似通信検索部25、情報出力部26、及び重み算出部27に加えて、モデル保持部28、グループ分け部29、及び設定部30を更に備える情報処理装置として機能する。
 モデル保持部28は、複数の過去通信のグループ分けモデルを保持する。本開示に係る実施形態では、モデル保持部28は、複数の過去通信を学習データとして用いて、当該複数の過去通信を所定数のクラスタにクラスタリングするように生成されたクラスタリングモデルを、グループ分けモデルとして保持する。
 グループ分け部29は、グループ分けモデルを用いることで、対象通信を、複数の過去通信がグループ分けされた何れかのグループにグループ分けする。本開示に係る実施形態では、グループ分け部29は、クラスタリングモデルを用いて、対象通信が属するクラスタのクラスタ番号を特定する。
 設定部30は、対象通信がグループ分けされたグループに応じて、類似通信検索部25によって索出される過去通信の対象範囲、及び類似度算出部24において用いられる判別ポイント毎の重みの少なくとも何れかを設定する。本開示に係る実施形態では、設定部30は、クラスタ番号のクラスタに属する過去通信を、対象範囲として設定する、
 <処理の流れ>
 次に、本実施形態に係る管理サーバー50によって実行される処理の流れを説明する。なお、以下に説明する処理の具体的な内容および処理順序は、本開示を実施するための一例である。具体的な処理内容および処理順序は、本開示の実施の形態に応じて適宜選択されてよい。
 図10は、本実施形態に係る類似通信検索処理の流れの概要を示すフローチャートである。本フローチャートは、図4のステップS3に示された類似通信検索処理の詳細を説明するものである。
 ステップS501では、対象通信が属するクラスタが特定される。グループ分け部29は、過去通信の通信データ及び/又は特徴データを用いて学習済みのクラスタリングモデルを用いて、クラスタリング処理(グループ分け処理)を行い、対象通信が属するクラスタを特定する。
 具体的には、グループ分け部29は、予め、過去通信の通信データ及び/又は特徴データを用いて、過去通信を所定数(例えば、50)のクラスタにクラスタリングすることが可能な学習済みクラスタリングモデルを用意しておく。クラスタリングのアルゴリズムは特に限定されないが、例えばk平均法等を用いることが出来る。そして、グループ分け部29は、対象通信の通信データ及び/又は特徴データをクラスタリングモデルに入力することで、当該対象通信が属するクラスタ番号を取得する。
 このようにすることで、対象通信を、「通信全体を見るとよく似ているが、実際には異なる種類の通信が含まれる」グループに振り分けることが出来る。なお、本実施形態では、グループ分けのためにクラスタリングを採用しているが、対象通信を、「通信全体を見るとよく似ているが、実際には異なる種類の通信が含まれる」グループに振り分けることが可能であれば、具体的なグループ分け手段は所謂クラスタリングに限定されない。その後、処理はステップS502へ進む。
 ステップS502では、クラスタ番号に応じた類似検索設定が読み込まれる。設定部30は、対象通信の類似通信検索のために、クラスタ番号毎に予め設定された類似検索設定を、記憶装置14bから読み込む。ここで、検索範囲には、上記説明した第一の実施形態と異なり、「対象通信が属するクラスタの過去通信(例えば、対象通信のクラスタ番号が1であれば、クラスタ番号1に属する過去通信全て)」が設定される。また、判別ポイント毎の重みについては、クラスタ毎に、当該クラスタに属する過去通信を重み算出対象範囲として重み算出処理(図8を参照)を実行することで事前に算出された重みが設定される。その後、処理はステップS503へ進む。
 ステップS503からステップS505の処理は、第一の実施形態で説明したステップS202からステップS204の処理と概略同様であるため、説明を省略する。ステップS501及びステップS502の処理によって、検索処理の母体が「通信全体を見るとよく似ているが、実際には異なる種類の通信が含まれる」グループに絞り込まれており、且つ、このようなグループを重み算出対象範囲として算出された重みが用いられるので、ステップS503からステップS505において、「通信全体を見るとよく似ているが、実際には異なる種類の通信」同士をより正確に判別可能であり、適切な過去通信がより索出されやすくなっている。フィルタリングによって類似する通信が索出されると、本フローチャートに示された処理は終了する。
 [第三の実施形態]
 次に、第三の実施形態を説明する。第三の実施形態では、上記他の実施形態で説明した内容を重複する項目については、同一の符号を付して説明を省略する。
 上記第一の実施形態及び第二の実施形態では、検索が1回で終了するが、1回の検索で適切な検索結果が得られないこともある。このため、適切な検索結果が得られるまで条件(検索範囲等)を変化させながら検索処理を複数回実行することが考えられる。しかし、上記第一の実施形態及び第二の実施形態では、重みは設定される検索範囲に合わせて事前に算出されるものであるため、処理中に変化する検索範囲に対して十分に適切な重み付けを提供できない。
 そこで、本実施形態及び後述する第四の実施形態では、類似通信検索処理において、検索範囲を徐々に絞り込みながら検索処理を複数回実行し、絞り込まれた検索範囲に適した重みを動的に算出することとした。
 <システムの構成>
 図11は、本実施形態に係る管理サーバー50の機能構成の概略を示す図である。管理サーバー50は、記憶装置14bに記録されているプログラムが、RAM13bに読み出され、CPU11bによって実行されて、管理サーバー50に備えられた各ハードウェアが制御されることで、第一の実施形態で説明した通信データ取得部21、過去通信データ保持部22、特徴抽出部23、類似度算出部24、類似通信検索部25、情報出力部26、及び重み算出部27に加えて、終了判定部31、及び設定変更部32を更に備える情報処理装置として機能する。
 終了判定部31は、類似通信検索部25によって、フィルタリング設定(足切り条件)に従って索出された、対象通信に類似する1又は複数の過去通信が、索出された過去通信の正確性を担保するために設定された終了条件を満たしているか否かを判定する。
 設定変更部32は、索出された過去通信が終了条件を満たしていないと判定された場合に、類似通信検索部25によって索出される過去通信の対象範囲、及びフィルタリング設定の少なくとも何れかを変更する。
 <処理の流れ>
 次に、本実施形態に係る管理サーバー50によって実行される処理の流れを説明する。なお、以下に説明する処理の具体的な内容および処理順序は、本開示を実施するための一例である。具体的な処理内容および処理順序は、本開示の実施の形態に応じて適宜選択されてよい。
 図12は、本実施形態に係る類似通信検索処理の流れの概要を示すフローチャートである。本フローチャートは、図4のステップS3に示された類似通信検索処理の詳細を説明するものである。
 ステップS601では、類似検索設定が読み込まれる。類似通信検索部25は、対象通信の類似通信検索のために予め設定された類似検索設定を、記憶装置14bから読み込む。本実施形態において、類似検索設定には、検索範囲、足切り条件、検索終了条件、及び設定更新内容が含まれる。なお、第一の実施形態及び第二の実施形態において設定された、判別ポイント毎の重みについては、本実施形態では類似検索処理中に動的に算出されるため、設定されない。その後、処理はステップS602へ進む。
 検索範囲及び足切り条件の設定内容については、第一の実施形態で説明した通りであるため、説明を省略する。
 検索終了条件は、類似通信検索処理が出力する検索結果が所定の品質を満たしているか否かを判定するための条件であり、例えば、「総合類似度上位5件の通信種類情報(マルウェア名等)が全て同じ、又は処理の繰り返し回数が3回より大」のように設定することが出来る。
 設定更新内容は、検索結果が検索終了条件を満たさずに繰り返した場合に、類似検索設定を更新するための設定内容である。このため、設定更新内容には、2周目以降に設定される検索範囲、足切り条件、及び検索終了条件が含まれる。
 ステップS602では、検索対象の過去通信が取得される。類似通信検索部25は、過去通信データ保持部22に蓄積された過去通信のうち、類似検索設定に設定された検索範囲内の過去通信を、検索対象としてRAM13bに読み込む。その後、処理はステップS603へ進む。
 ステップS603では、重み算出処理が実行される。重み算出部27は、類似検索設定に現在設定されている検索範囲(ステップS607で更新されている場合には、更新後の検索範囲)を、重み算出対象範囲として、判別ポイント毎の重みを算出する。即ち、本フローチャートに示された類似通信検索処理では、対象通信と過去通信との類似度を算出するために用いられる重みが、処理が周回する毎に変化する検索範囲に応じて、動的に算出される。重み算出処理の詳細については図8を用いて説明済みであるため、説明を省略する。その後、処理はステップS604へ進む。
 ステップS604では、類似度算出処理が実行される。類似度算出部24は、対象通信と、ステップS602で読み込まれた複数の過去通信の夫々との間の類似度(総合類似度)を算出する。この際に用いられる判別ポイント毎の重みは、ステップS603において、検索範囲に応じて動的に算出されたものである。類似度算出処理の詳細については図7を用いて説明済みであるため、説明を省略する。その後、処理はステップS605へ進む。
 ステップS605では、対象通信に類似する過去通信が索出される。類似通信検索部25は、ステップS604で対象通信との総合類似度が算出された各過去通信の総合類似度を参照し、類似検索設定に設定された足切り条件に従って、過去通信を絞り込む。その後、処理はステップS606へ進む。
 ステップS606及びステップS607では、検索終了条件が満たされない場合に、類似検索設定が更新される。終了判定部31は、足切り条件に従って絞り込まれた過去通信や、繰り返し回数等が、検索終了条件を満たしているか否かを判定する(ステップS606)。検索終了条件が満たされた場合、本フローチャートに示された処理は終了する。一方、検索終了条件が満たされない場合、設定変更部32は、設定更新内容に従って、類似検索設定を更新する(ステップS607)。この際、類似検索設定は、次の繰り返し処理での検索結果が検索終了条件をより満たしやすくなるような内容に構成されることが好ましい。また、設定変更部32は、処理の繰り返し回数を1回加算する。その後、処理はステップS602へ進む。
 即ち、本実施形態では、検索終了条件を満たすまで、類似検索設定が更新されながら、ステップS602からステップS607の検索処理が繰り返し実行される。例えば、1周目の検索処理では、類似検索設定として、以下の内容が設定される。
検索範囲:過去通信データ保持部22が保持する過去通信データ全て
足切り条件:総合類似度上位100件
検索終了条件:総合類似度上位5件の通信種類情報が全て同じ、又は処理の繰り返し回数が3回より大
 そして、1周目の検索処理で検索終了条件が満たされなかった場合、設定更新内容が参照され、2周目の類似検索設定は例えば以下のように更新される。
検索範囲:1周目の検索結果(100件)
足切り条件:総合類似度上位80%
検索終了条件:総合類似度上位5件の通信種類情報が全て同じ、又は処理の繰り返し回数が3回より大
 即ち、本実施形態によれば、十分な品質の検索結果(例えば、「総合類似度上位5件の通信種類情報が全て同じ」)が得られるか、又は繰り返し回数が上限(例えば、3回)に達するまで、類似検索設定の更新、重み算出処理、類似度算出処理、及び検索処理が繰り返し実行される。
 [第四の実施形態]
 次に、第四の実施形態を説明する。第四の実施形態では、上記他の実施形態で説明した内容を重複する項目については、同一の符号を付して説明を省略する。
 本実施形態では、第二の実施形態における適切な検索範囲の設定、及び第三の実施形態における動的な重み算出の両方の効果を得るために、類似通信検索処理において、クラスタリングによって検索範囲を絞り込み、その後、検索範囲を徐々に絞り込みながら検索処理を複数回実行し、絞り込まれた検索範囲に適した重みを動的に算出することとしている。
 <システムの構成>
 図13は、本実施形態に係る管理サーバー50の機能構成の概略を示す図である。管理サーバー50は、記憶装置14bに記録されているプログラムが、RAM13bに読み出され、CPU11bによって実行されて、管理サーバー50に備えられた各ハードウェアが制御されることで、通信データ取得部21、過去通信データ保持部22、特徴抽出部23、類似度算出部24、類似通信検索部25、情報出力部26、重み算出部27、モデル保持部28、グループ分け部29、設定部30、終了判定部31、及び設定変更部32を備える情報処理装置として機能する。
 <処理の流れ>
 次に、本実施形態に係る管理サーバー50によって実行される処理の流れを説明する。なお、以下に説明する処理の具体的な内容および処理順序は、本開示を実施するための一例である。具体的な処理内容および処理順序は、本開示の実施の形態に応じて適宜選択されてよい。
 図14は、本実施形態に係る類似通信検索処理の流れの概要を示すフローチャートである。本フローチャートは、図4のステップS3に示された類似通信検索処理の詳細を説明するものである。
 ステップS701では、対象通信が属するクラスタが特定される。グループ分け部29は、過去通信の通信データ及び/又は特徴データを用いて学習済みのクラスタリングモデルを用いて、クラスタリング処理(グループ分け処理)を行い、対象通信が属するクラスタを特定する。クラスタリングモデルの作成、及びクラスタ特定の詳細については、図10のステップS501で説明したものと概略同様であるため、説明を省略する。その後、処理はステップS702へ進む。
 ステップS702では、クラスタ番号に応じた類似検索設定が読み込まれる。設定部30は、対象通信の類似通信検索のために、クラスタ番号毎に予め設定された類似検索設定を、記憶装置14bから読み込む。本実施形態において、類似検索設定には、検索範囲、足切り条件、検索終了条件、及び設定更新内容が含まれる。なお、判別ポイント毎の重みについては、第三の実施形態と同様、類似検索処理中に動的に算出されるため、設定されない。その後、処理はステップS703へ進む。
 ここで、検索範囲には、例えば「対象通信が属するクラスタの過去通信(例えば、対象通信のクラスタ番号が1であれば、クラスタ番号1に属する過去通信全て)」が設定される。なお、検索終了条件及び設定更新内容の設定内容については、第三の実施形態で説明した通りであるため、説明を省略する。
 ステップS703からステップS708の処理は、第三の実施形態で説明したステップS602からステップS607の処理と概略同様であるため、説明を省略する。検索終了条件が満たされると、本フローチャートに示された処理は終了する。
 <バリエーション>
 上記説明した第一から第四の実施形態では、ネットワーク監視装置20が、スイッチまたはルータのモニタリングポート(ミラーポート)に接続されることでノード90によって送受信されるパケットやフレーム等を取得し、取得したパケットを転送しないパッシブモードで動作する例について説明した(図1を参照)。但し、上記実施形態に示したネットワーク構成は、本開示を実施するための一例であり、実施にあたってはその他のネットワーク構成が採用されてもよい。
 例えば、ネットワーク監視装置20は、モニタリングポート(ミラーポート)に接続されず、単にネットワークセグメント2に接続されている場合であっても、ネットワークセグメント2を流れるフレームを、自身のMACアドレス宛でないものも含めて全て取得することで、ノード90によって送受信されるパケットやフレーム等を取得することが出来る。この場合も、ネットワーク監視装置20は、パッシブモードで動作する。また、例えば、ネットワーク監視装置20は、ネットワークセグメント2のスイッチまたはルータと、その上位にある他のスイッチまたはルータと、の間に接続されることで、通過するパケットやフレーム等を取得してもよい(図15を参照)。この場合、ネットワーク監視装置20は、取得したパケットのうち、遮断しなくてもよいパケットについては転送するインラインモードで動作する。また、ネットワーク監視装置20は、ルータまたはスイッチに内包されてもよい。
 なお、本実施形態では、ネットワークを流れるパケットを取得して、上記した各種の検知エンジンによりリアルタイムで検知を行う実施形態について説明したが、本開示の適用範囲は、リアルタイム検知に限定されない。例えば、ネットワークを流れる通信に係るデータを蓄積しておいて、蓄積されたデータに対して上記した各種の検知エンジンによる処理を行うこととしてもよい。
 <効果>
 上記説明した第一から第四の実施形態によれば、従来の技術では異なる種類の通信であると判別することが難しかった通信データを分類することが可能となる。
  20 ネットワーク監視装置
  50 管理サーバー

Claims (19)

  1.  ネットワークに接続された端末による通信の通信データを取得する通信データ取得手段と、
     複数の過去通信の夫々に係る過去通信データを、対応する通信種類情報と関連付けて保持する過去通信データ保持手段と、
     前記通信データ取得手段によって取得された通信データと、前記過去通信データとを比較して、通信に含まれる判別ポイント毎の特徴類似度を算出し、算出された特徴類似度を該判別ポイント毎又は該判別ポイントの組み合わせ毎に重み付けすることで、該対象通信と該過去通信との間の総合類似度を算出する類似度算出手段と、
     算出された総合類似度に従って、対象通信に類似する1又は複数の過去通信を索出する類似通信検索手段と、
     索出された過去通信に対応する通信種類情報を出力する情報出力手段と、
     を備える情報処理装置。
  2.  前記類似通信検索手段によって索出される過去通信の対象範囲に含まれる過去通信同士のペアを複数作成し、通信種類情報が一致する過去通信ペアについて前記類似度算出手段が算出する総合類似度が100%に近づき、通信種類情報が一致しない過去通信ペアについて前記類似度算出手段が算出する総合類似度が0%に近づくように、重回帰分析を実行することによって、判別ポイント毎の重みを算出する重み算出手段を更に備える、
     請求項1に記載の情報処理装置。
  3.  前記複数の過去通信のグループ分けモデルを保持するモデル保持手段と、
     前記グループ分けモデルを用いることで、前記対象通信を、前記複数の過去通信がグループ分けされた何れかのグループにグループ分けするグループ分け手段と、
     前記対象通信がグループ分けされたグループに応じて、前記類似通信検索手段によって索出される過去通信の対象範囲、及び前記類似度算出手段において用いられる判別ポイント毎の重みの少なくとも何れかを設定する設定手段と、
     を更に備える、請求項1又は2に記載の情報処理装置。
  4.  前記モデル保持手段は、前記複数の過去通信を学習データとして用いて、該複数の過去通信を所定数のクラスタにクラスタリングするように生成されたクラスタリングモデルを、前記グループ分けモデルとして保持し、
     前記グループ分け手段は、前記クラスタリングモデルを用いて、前記対象通信が属するクラスタのクラスタ番号を特定し、
     前記設定手段は、前記クラスタ番号のクラスタに属する過去通信を、前記対象範囲として設定する、
     請求項3に記載の情報処理装置。
  5.  前記類似通信検索手段は、フィルタリング設定に更に従って、対象通信に類似する1又は複数の過去通信を索出し、
     前記類似通信検索手段によって索出された過去通信が、索出された過去通信の正確性を担保するために設定された終了条件を満たしているか否かを判定する終了判定手段と、
     索出された過去通信が前記終了条件を満たしていないと判定された場合に、前記類似通信検索手段によって索出される過去通信の対象範囲、及び前記フィルタリング設定の少なくとも何れかを変更する設定変更手段と、
     を更に備える、請求項1から4の何れか一項に記載の情報処理装置。
  6.  前記通信データ取得手段によって取得された通信データから、通信に含まれる判別ポイント毎に特徴を抽出することで、対象通信の特徴データを生成する特徴抽出手段を更に備え、
     前記類似度算出手段は、前記判別ポイント毎に、前記対象通信の特徴データと前記過去通信の特徴データとを比較して特徴類似度を算出し、算出された特徴類似度を該判別ポイント毎又は該判別ポイントの組み合わせ毎に重み付けすることで、該対象通信と該過去通信との間の総合類似度を算出する、
     請求項1から5の何れか一項に記載の情報処理装置。
  7.  前記特徴抽出手段は、判別ポイント毎に予め設定された特徴抽出方法を用いて、判別ポイント毎の特徴データを抽出する、
     請求項6に記載の情報処理装置。
  8.  前記通信データ取得手段は、監視対象ネットワークに設置された通信監視装置によってキャプチャされ、該情報処理装置宛に送信された通信データを取得する、
     請求項1から7の何れか一項に記載の情報処理装置。
  9.  前記情報出力手段は、索出された過去通信に関連付けられた対処方法を取得して出力する、
     請求項1から8の何れか一項に記載の情報処理装置。
  10.  コンピューターが、
     ネットワークに接続された端末による通信の通信データを取得する通信データ取得ステップと、
     複数の過去通信の夫々に係る過去通信データを、対応する通信種類情報と関連付けて保持する過去通信データ保持ステップと、
     前記通信データ取得ステップで取得された通信データと、前記過去通信データとを比較して、通信に含まれる判別ポイント毎の特徴類似度を算出し、算出された特徴類似度を該判別ポイント毎又は該判別ポイントの組み合わせ毎に重み付けすることで、該対象通信と該過去通信との間の総合類似度を算出する類似度算出ステップと、
     算出された総合類似度に従って、対象通信に類似する1又は複数の過去通信を索出する類似通信検索ステップと、
     索出された過去通信に対応する通信種類情報を出力する情報出力ステップと、
     を実行する通信種類判別方法。
  11.  コンピューターが、
     前記類似通信検索ステップで索出される過去通信の対象範囲に含まれる過去通信同士のペアを複数作成し、通信種類情報が一致する過去通信ペアについて前記類似度算出ステップで算出される総合類似度が100%に近づき、通信種類情報が一致しない過去通信ペアについて前記類似度算出ステップで算出される総合類似度が0%に近づくように、重回帰分析を実行することによって、判別ポイント毎の重みを算出する重み算出ステップを更に実行する、
     請求項10に記載の通信種類判別方法。
  12.  コンピューターが、
     前記複数の過去通信のグループ分けモデルを保持するモデル保持ステップと、
     前記グループ分けモデルを用いることで、前記対象通信を、前記複数の過去通信がグループ分けされた何れかのグループにグループ分けするグループ分けステップと、
     前記対象通信がグループ分けされたグループに応じて、前記類似通信検索ステップで索出される過去通信の対象範囲、及び前記類似度算出ステップで用いられる判別ポイント毎の重みの少なくとも何れかを設定する設定ステップと、
     を更に実行する、請求項10又は11に記載の通信種類判別方法。
  13.  前記モデル保持ステップでは、前記複数の過去通信を学習データとして用いて、該複数の過去通信を所定数のクラスタにクラスタリングするように生成されたクラスタリングモデルを、前記グループ分けモデルとして保持し、
     前記グループ分けステップでは、前記クラスタリングモデルを用いて、前記対象通信が属するクラスタのクラスタ番号を特定し、
     前記設定ステップでは、前記クラスタ番号のクラスタに属する過去通信を、前記対象範囲として設定する、
     請求項12に記載の通信種類判別方法。
  14.  前記類似通信検索ステップでは、フィルタリング設定に更に従って、対象通信に類似する1又は複数の過去通信を索出し、
     コンピューターが、
     前記類似通信検索ステップで索出された過去通信が、索出された過去通信の正確性を担保するために設定された終了条件を満たしているか否かを判定する終了判定ステップと、
     索出された過去通信が前記終了条件を満たしていないと判定された場合に、前記類似通信検索ステップで索出される過去通信の対象範囲、及び前記フィルタリング設定の少なくとも何れかを変更する設定変更ステップと、
     を更に実行する、請求項10から13の何れか一項に記載の通信種類判別方法。
  15.  コンピューターを、
     ネットワークに接続された端末による通信の通信データを取得する通信データ取得手段と、
     複数の過去通信の夫々に係る過去通信データを、対応する通信種類情報と関連付けて保持する過去通信データ保持手段と、
     前記通信データ取得手段によって取得された通信データと、前記過去通信データとを比較して、通信に含まれる判別ポイント毎の特徴類似度を算出し、算出された特徴類似度を該判別ポイント毎又は該判別ポイントの組み合わせ毎に重み付けすることで、該対象通信と該過去通信との間の総合類似度を算出する類似度算出手段と、
     算出された総合類似度に従って、対象通信に類似する1又は複数の過去通信を索出する類似通信検索手段と、
     索出された過去通信に対応する通信種類情報を出力する情報出力手段
     として機能させるためのプログラム。
  16.  コンピューターを、
     前記類似通信検索手段によって索出される過去通信の対象範囲に含まれる過去通信同士のペアを複数作成し、通信種類情報が一致する過去通信ペアについて前記類似度算出手段が算出する総合類似度が100%に近づき、通信種類情報が一致しない過去通信ペアについて前記類似度算出手段が算出する総合類似度が0%に近づくように、重回帰分析を実行することによって、判別ポイント毎の重みを算出する重み算出手段として更に機能させる、
     請求項15に記載のプログラム。
  17.  コンピューターを、
     前記複数の過去通信のグループ分けモデルを保持するモデル保持手段と、
     前記グループ分けモデルを用いることで、前記対象通信を、前記複数の過去通信がグループ分けされた何れかのグループにグループ分けするグループ分け手段と、
     前記対象通信がグループ分けされたグループに応じて、前記類似通信検索手段によって索出される過去通信の対象範囲、及び前記類似度算出手段において用いられる判別ポイント毎の重みの少なくとも何れかを設定する設定手段
     として更に機能させる、請求項15又は16に記載のプログラム。
  18.  前記モデル保持手段は、前記複数の過去通信を学習データとして用いて、該複数の過去通信を所定数のクラスタにクラスタリングするように生成されたクラスタリングモデルを、前記グループ分けモデルとして保持し、
     前記グループ分け手段は、前記クラスタリングモデルを用いて、前記対象通信が属するクラスタのクラスタ番号を特定し、
     前記設定手段は、前記クラスタ番号のクラスタに属する過去通信を、前記対象範囲として設定する、
     請求項17に記載のプログラム。
  19.  前記類似通信検索手段は、フィルタリング設定に更に従って、対象通信に類似する1又は複数の過去通信を索出し、
     コンピューターを、
     前記類似通信検索手段によって索出された過去通信が、索出された過去通信の正確性を担保するために設定された終了条件を満たしているか否かを判定する終了判定手段と、
     索出された過去通信が前記終了条件を満たしていないと判定された場合に、前記類似通信検索手段によって索出される過去通信の対象範囲、及び前記フィルタリング設定の少なくとも何れかを変更する設定変更手段
     として更に機能させる、請求項15から18の何れか一項に記載のプログラム。
PCT/JP2018/010961 2018-03-20 2018-03-20 情報処理装置、通信種類判別方法及びプログラム Ceased WO2019180804A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/010961 WO2019180804A1 (ja) 2018-03-20 2018-03-20 情報処理装置、通信種類判別方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/010961 WO2019180804A1 (ja) 2018-03-20 2018-03-20 情報処理装置、通信種類判別方法及びプログラム

Publications (1)

Publication Number Publication Date
WO2019180804A1 true WO2019180804A1 (ja) 2019-09-26

Family

ID=67986060

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/010961 Ceased WO2019180804A1 (ja) 2018-03-20 2018-03-20 情報処理装置、通信種類判別方法及びプログラム

Country Status (1)

Country Link
WO (1) WO2019180804A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008176753A (ja) * 2007-01-22 2008-07-31 National Institute Of Information & Communication Technology データ類似性検査方法及び装置
JP2017037555A (ja) * 2015-08-12 2017-02-16 日本電信電話株式会社 調整装置、調整方法および調整プログラム
JP2017142744A (ja) * 2016-02-12 2017-08-17 日本電気株式会社 情報処理装置、ウィルス検出方法及びプログラム
US9781144B1 (en) * 2014-09-30 2017-10-03 Fireeye, Inc. Determining duplicate objects for malware analysis using environmental/context information

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008176753A (ja) * 2007-01-22 2008-07-31 National Institute Of Information & Communication Technology データ類似性検査方法及び装置
US9781144B1 (en) * 2014-09-30 2017-10-03 Fireeye, Inc. Determining duplicate objects for malware analysis using environmental/context information
JP2017037555A (ja) * 2015-08-12 2017-02-16 日本電信電話株式会社 調整装置、調整方法および調整プログラム
JP2017142744A (ja) * 2016-02-12 2017-08-17 日本電気株式会社 情報処理装置、ウィルス検出方法及びプログラム

Similar Documents

Publication Publication Date Title
CN109063745B (zh) 一种基于决策树的网络设备类型识别方法及系统
Alshamkhany et al. Botnet attack detection using machine learning
CN112448947B (zh) 网络异常确定方法、设备及存储介质
WO2022040698A1 (en) Malicious traffic detection with anomaly detection modeling
CN114697068B (zh) 一种恶意流量识别方法及相关装置
CN112231700B (zh) 行为识别方法和装置、存储介质及电子设备
Pathak et al. Study on decision tree and KNN algorithm for intrusion detection system
CN113015167B (zh) 加密流量数据的检测方法、系统、电子装置和存储介质
CN110830607B (zh) 域名分析方法、装置和电子设备
CN107920055A (zh) 一种ip风险评价方法以及ip风险评价系统
CN114024701B (zh) 域名检测方法、装置及通信系统
CN119583172B (zh) 一种基于随机森林的网络安全攻击分类检测方法及系统
Monshizadeh et al. Security related data mining
Vaarandi et al. Network IDS alert classification with active learning techniques
Aleroud et al. Context and semantics for detection of cyber attacks
Tang et al. HSLF: HTTP header sequence based lsh fingerprints for application traffic classification
Gogoi et al. Network anomaly identification using supervised classifier
CN115361242B (zh) 一种基于多维特征网络的Web攻击检测方法
CN108076032B (zh) 一种异常行为用户识别方法及装置
CN116170168B (zh) 一种基于深度支持向量数据描述的dga域名检测方法及系统
CN109728977B (zh) Jap匿名流量检测方法及系统
CN115766176A (zh) 网络流量处理方法、装置、设备及存储介质
US12568144B2 (en) Assurance of user behavioral patterns in software applications with quasi-supervised clustering
WO2019180804A1 (ja) 情報処理装置、通信種類判別方法及びプログラム
CN115333814B (zh) 一种面向工业控制系统报警数据的分析系统与方法

Legal Events

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

Ref document number: 18911282

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18911282

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP