WO2017217163A1 - アクセス分類装置、アクセス分類方法及びアクセス分類プログラム - Google Patents

アクセス分類装置、アクセス分類方法及びアクセス分類プログラム Download PDF

Info

Publication number
WO2017217163A1
WO2017217163A1 PCT/JP2017/018213 JP2017018213W WO2017217163A1 WO 2017217163 A1 WO2017217163 A1 WO 2017217163A1 JP 2017018213 W JP2017018213 W JP 2017018213W WO 2017217163 A1 WO2017217163 A1 WO 2017217163A1
Authority
WO
WIPO (PCT)
Prior art keywords
similarity
access
tree
nodes
trees
Prior art date
Application number
PCT/JP2017/018213
Other languages
English (en)
French (fr)
Inventor
俊樹 芝原
毅 八木
満昭 秋山
雄太 高田
Original Assignee
日本電信電話株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to JP2018523591A priority Critical patent/JP6503141B2/ja
Priority to EP17813066.2A priority patent/EP3454230B1/en
Priority to US16/307,358 priority patent/US11212297B2/en
Publication of WO2017217163A1 publication Critical patent/WO2017217163A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/104Grouping of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2119Authenticating web pages, e.g. with suspicious links
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]

Definitions

  • the present invention relates to an access classification device, an access classification method, and an access classification program.
  • a malignant web site identification method that is a method for identifying a malignant web site that is infected with malware from the web sites accessed by the user terminal.
  • Such a malicious web site identification method is classified into a method based on behavior on the host and a method based on content features.
  • the method based on the behavior on the host executes content such as HTML (HyperText Markup Language) and JavaScript (registered trademark) acquired from a server such as a web server, and attacks against the vulnerability from the behavior on the host at that time.
  • content such as HTML (HyperText Markup Language) and JavaScript (registered trademark) acquired from a server such as a web server, and attacks against the vulnerability from the behavior on the host at that time.
  • This is a technique for identifying a malignant web site by detecting it.
  • a method based on content features acquires content from a server, performs code analysis of the content, features such as functions and character strings that appear characteristically in malicious code, domains and URLs (Uniform This is a technique for identifying a malicious web site by applying machine learning based on information related to (Resource Locator) and redirect (transfer) information.
  • the malicious web site identification method based on the feature of the content extracts the feature from the method of identifying using the feature of the content acquired from a single page and the access to multiple pages caused by the redirect of the web site. And a method for identifying them.
  • Non-Patent Document 1 a method in which a feature vector is described using the number of lines and characters of a script, and the number of appearances of a keyword in the script, and is identified using a machine learning method.
  • Non-Patent Document 2 a technique that extracts processing in a for sentence or a while sentence and creates and identifies a feature vector.
  • Non-patent Document 3 a method that creates a sequence composed of node types of abstract syntax trees created from JavaScript and identifies the sequence based on the similarity of the sequence.
  • Non-patent Document 4 As a technique using HTML, there is a technique (Non-patent Document 4) that extracts and identifies the number of appearances of an iframe or script tag and the size feature amount of the tag.
  • the URL and host information can be determined using the keywords contained in the URL, DNS (Domain Name System) query results, and geographic information associated with the IP (Internet Protocol) address.
  • DNS Domain Name System
  • IP Internet Protocol
  • Non-patent Document 6 There is also a method (Non-patent Document 6) that constructs a classifier that performs malignancy determination from each information of JavaScript, HTML, URL, and host, and performs a malignancy determination of a web site by combining the determinations of a plurality of classifiers. To do.
  • a technique Non-Patent Document 7 is proposed in which a difference is extracted from contents acquired when accessing the same page at different times, and a malignancy determination is performed based on the difference.
  • the feature amount is extracted from various viewpoints to identify the malignant web site.
  • Matsunaka et al.'S method Non-patent Document 8
  • HTTP HyperText Transfer Protocol
  • Non-Patent Document 9 In the method of Stringhini et al. (Non-Patent Document 9), after creating an access group having the same last page from the time series of a series of pages accessed by each user by automatic transfer, an IP address is obtained from those access groups. A feature vector such as the number or the number of redirects is created to identify a malicious web site. Furthermore, in the technique of Rafique et al. (Non-patent Document 10), a part necessary for downloading malware is extracted from a series of pages accessed by redirection by individually accessing a plurality of pages in the series, and a signature is created. By doing so, the malignant web site is identified.
  • the attacker In order to reduce the damage caused by the malicious website, it is important to collect information on the malicious website comprehensively.
  • the attacker in order to prevent the malicious web site from being detected, the attacker is implementing an avoidance measure for detecting the access by the analysis system and concealing the attack code. For this reason, it is important to detect such malicious pages in order to reduce damage.
  • the conventional method has a problem that a malicious web site where an attack code cannot be obtained due to an attacker's concealment or the like cannot be detected or detection accuracy is low.
  • a malignant web site for which an attack code cannot be obtained is malignant because malignant content is not acquired from the page and the feature amount is almost zero and is determined to be benign. There was a problem that could not be detected.
  • methods that focus on the relationship between multiple pages can be broadly divided into methods that focus on redirection to attack code and methods that focus on the shape of the graph formed based on redirection.
  • the method that focuses on redirection to the attack code does not generate the redirect that is focused on if the attack code cannot be obtained. There was a problem that the site could not be detected.
  • the attack code cannot be obtained with the method that focuses on the form of the redirect graph, it is difficult to distinguish the graph shape of the benign site.
  • detection accuracy is low.
  • the form of a redirect graph tends to have a long stage for redirecting a malignant web site and a short stage for redirecting a benign site based on the number of stages of redirect.
  • the attack code cannot be obtained, even if it is a malignant web site, the number of redirect stages is shortened, and the graph shape is close to a benign site. It becomes difficult to detect that it is a web site.
  • the malicious web site cannot be described in the black list, and the user is allowed to access the malicious web site.
  • the conventional technology has a problem that a malicious web site where an attack code cannot be obtained due to an attacker's concealment or the like cannot be detected or detection accuracy is low.
  • the present invention has been made in view of the above, and an object of the present invention is to provide an access classification device, an access classification method, and an access classification program that can accurately detect a malicious web site for which an attack code cannot be acquired. .
  • an access classification apparatus uses at least a first destination and a second destination as nodes, and adds information on contents corresponding to the nodes to the nodes. And a tree construction unit that constructs a plurality of trees having an instruction to transfer access from the first destination to the second destination, and a plurality of trees constructed by the tree construction unit.
  • a node association unit that associates nodes of a plurality of trees based on similarity of various structures, and a similarity between nodes associated with a plurality of trees, based on information of contents added to these nodes
  • a similarity calculation unit that calculates the similarity of a plurality of trees using the calculated similarity between the corresponding nodes, and accesses based on the similarity calculated by the similarity calculation unit. Characterized has a classifying section for classifying a set of similar.
  • FIG. 1 is a schematic diagram illustrating a schematic configuration of an access classification apparatus according to the first embodiment.
  • 2A is a diagram illustrating an example of analysis target access input to the access classification apparatus illustrated in FIG. 2B is a diagram illustrating an example of analysis target access input to the access classification apparatus illustrated in FIG.
  • FIG. 3A is a diagram illustrating an example of known access input to the access classification device illustrated in FIG. 1.
  • FIG. 3B is a diagram illustrating an example of known access input to the access classification device illustrated in FIG. 1.
  • FIG. 4 is a diagram for explaining tree construction processing by the tree construction unit shown in FIG.
  • FIG. 5 is a diagram illustrating a process of extracting a partial tree from a tree.
  • FIG. 6 is a diagram illustrating an example of node association between a plurality of trees.
  • FIG. 7 is a diagram illustrating another example of node association between a plurality of trees.
  • FIG. 8 is a diagram illustrating another example of node association between a plurality of trees.
  • FIG. 9 is a diagram illustrating tree similarity calculation processing by the similarity calculation unit illustrated in FIG. 1.
  • FIG. 10 is a flowchart for explaining the identification model creation process when the similarity is used as the inner product value.
  • FIG. 11 is a flowchart showing a processing procedure of access identification processing when the similarity is used as the inner product value.
  • FIG. 12 is a schematic diagram illustrating a schematic configuration of the access classification apparatus according to the second embodiment.
  • FIG. 13 is a diagram illustrating a method of classifying a plurality of trees into a plurality of sets.
  • FIG. 14 is a diagram illustrating a method for creating a representative tree from a set of trees.
  • FIG. 15 is a flowchart showing the processing procedure of the identification model creation process when the similarity with the representative tree is used.
  • FIG. 16 is a flowchart for explaining an access identification process when using a similarity with a representative tree.
  • FIG. 17 is a diagram illustrating an example of a computer in which an access classification device is realized by executing a program.
  • FIG. 1 is a schematic diagram showing a schematic configuration of an access classification apparatus according to the first embodiment.
  • the access classification device 10 according to the first embodiment includes a target access input unit 11, a known access input unit 12, a tree construction unit 13, a node association unit 14, a similarity calculation unit 15, and a classification unit. 16
  • Each of these components is connected so that various signals and data can be input and output in one or both directions.
  • the target access input unit 11 allows access to a destination to be analyzed as an input.
  • the target access input unit 11 allows information related to redirection and information related to content to be input as access to a destination to be analyzed.
  • the known access input unit 12 is known to be an access to a destination that provides a benign web site as opposed to a known malignant access that is known to be an access to a destination that provides a malignant web site. Allow some known benign access as input.
  • the known access input unit 12 allows information related to redirection and information related to content as inputs as known access.
  • the tree construction unit 13 obtains an access source (automatic transfer source) and an access destination (at least a destination (first destination) to be analyzed) from each access input by the target access input unit 11 and the known access input unit 12.
  • a tree is constructed in which the destination (second destination) of the automatic transfer destination is “node” and the automatic transfer instruction is “edge”. Also, the tree construction unit 13 adds content information for each node to each node.
  • the node associating unit 14 determines the correspondence between the nodes constituting the plurality of trees with respect to the plurality of trees created by the tree construction unit 13.
  • the node association unit 14 associates nodes of a plurality of trees with each other based on the similarity of local structures of the plurality of trees.
  • the similarity calculation unit 15 calculates the similarity between nodes associated among a plurality of trees based on the information of the content added to these nodes, and the similarity between the calculated nodes associated with each other Is used to calculate the similarity of multiple trees.
  • the classification unit 16 classifies the access into a set having similar features based on the similarity calculated by the similarity calculation unit 15. For example, the classification unit 16 determines whether or not the access input by the target access input unit 11 is an access to a malignant web site using the similarity calculated by the similarity calculation unit 15.
  • Example of analysis access are diagrams illustrating examples of analysis target access input to the access classification device 10. As shown in FIGS. 2A and 2B, the analysis target access is information related to redirection (see FIG. 2A) and information related to content (see FIG. 2B).
  • the information related to redirection includes serial number, transfer destination, transfer source, and transfer command information. Note that not only redirection of HTTP status code 300 but also automatic transfer that occurs due to the acquisition of the content specified by the HTML tag is also called redirection.
  • the transfer destination and transfer source include URLs, but are not limited thereto, and may be FQDN (Fully Qualified Domain Name), domain, host name, IP address, or the like. Further, the destination may be replaced with another character string or the like without specifying the destination. In this case, however, the character string and the destination need to correspond one-to-one.
  • the transfer command includes “SRC-IFRAME” representing a link by an HTML tag iframe tag and “SRC-SCRIPT-SRC” representing a link by a script tag of an HTML tag, but is not limited thereto.
  • “SRC-OBJECT-CODEBASE” representing a link by an Object tag of an HTML tag may be used.
  • it may be replaced with another character string or the like without explicitly indicating the transfer command. However, in this case, it is necessary that the character string and the transfer command have a one-to-one correspondence.
  • the information related to redirection is not limited to the example shown in FIG. 2A, and may include the time when the transfer occurred. This is because when it is assumed that the time at which redirection occurs and the time at which content is acquired are used in combination, the time from when the URL is accessed until the redirection occurs can be measured.
  • malicious JavaScript since it is known that malicious JavaScript is obfuscated, it takes time to process, so it is possible to consider the time required for processing. It should be noted that whether or not to include in the redirect-related information may be examined in terms of whether the benign web site and the malignant web site have different tendencies.
  • the information related to the content includes a serial number, a destination, and content information.
  • the same serial number as the information related to the redirect shown in FIG. 2A is used. However, if the contents acquired from the same destination with different accesses are the same, there is no need for a serial number. As shown in FIG. 2B, there is a URL as shown in FIG. 2B.
  • the address is not limited to this, but is FQDN (Fully Qualified Domain Name), domain, host name, IP address, etc. Also good.
  • the content includes HTML and JavaScript, but is not limited thereto, and may be PHP (Hypertext Preprocessor), CSS (Cascading Style Sheets), or an image.
  • the information regarding the content is not limited to the example illustrated in FIG. 2B, and may include information such as the time when the content is acquired and the time taken for the acquisition. As with information related to redirection, when it is assumed that the time when redirection occurs and the time when content is acquired are used, it is possible to measure the time from when these URLs are accessed until redirection occurs. It is.
  • FIGS. 3A and 3B are diagrams illustrating examples of known access input to the access classification device 10. As shown in FIGS. 3A and 3B, the known access is information related to redirection (see FIG. 3A) and information related to content (see FIG. 3B).
  • the redirect information includes a serial number, a label, a transfer destination, a transfer source, and a transfer command.
  • the same number is given to the redirect included in the same series of accesses.
  • a URL is conceivable as in the example of FIG. 2A, but of course not limited to this.
  • the destination may be replaced with another character string or the like without specifying the destination. However, the character string and the destination need to correspond one-to-one.
  • the transfer command “SRC-IFRAME”, “SRC-SCRIPT-SRC”, and the like can be considered as in the example of FIG. 2A, but the transfer command is not limited to this.
  • the transfer instruction may be replaced with a character string or the like. In this case, it is necessary to replace the transfer instruction with the same method as the target access.
  • a label for identifying the nature of the communication destination is given to each access.
  • This label is not limited to “benign” or “malignant” shown in FIG. 3A, but may be “advertisement”, “Drive-by-Download”, “Phishing”, or the like.
  • the information regarding a redirect is not restricted to the example shown to FIG. 3A.
  • the information related to the content includes a serial number, a destination, and content information.
  • the same serial number as the information related to redirection shown in FIG. 3A is used. However, if the contents acquired from the same destination with different accesses are the same, there is no need for a serial number.
  • a URL may be considered as the destination, but is not limited to this.
  • Content includes HTML and JavaScript, but is not limited to this. It should be noted that the information related to the content is related to the content among the inputs from the known access input unit 12, the content is an HTML code, JavaScript code, etc. Give an explanation. Also, the information regarding the content is not limited to the example shown in FIG. 3B.
  • FIG. 4 is a diagram for explaining a tree construction process by the tree construction unit 13.
  • the tree construction unit 13 uses the access transfer information shown in FIGS. 2 and 3 as a tree T1 in which the transfer source and transfer destination are “nodes” and the transfer instruction is “edge”. Build up. Then, the tree building unit 13 adds content information for the node to each node.
  • the tree construction unit 13 sets the URL of the web site as nodes N1 to N4, and creates edges E1 to E3 corresponding to transfer instructions between the URLs between the transfer source URL and the transfer destination URL.
  • content information for the URLs of the nodes N1 to N4 is added to the nodes N1 to N4.
  • content information a plurality of pieces of information effective for malignancy determination are digitized from the content and URL corresponding to the node and expressed as vectors.
  • e n is the eval number.
  • i n is the number of ifame.
  • pn is the number of IP addresses corresponding to the domain.
  • the content information is not limited to the number of evals, the number of ifames, the number of IP addresses corresponding to the domain, but may be the number of appearances of HTML tags, the number of appearances of JavaScript functions, the number of appearances of malicious patterns in URLs, and the like. All of these may be used as content information, or only a part may be used. However, the content information preferably includes a plurality of types.
  • the content information to be added to the node the content is digitized and only the information on the malicious content is extracted.
  • the change in the digitized vector is small, so it is possible to detect a malicious website. This can make it difficult for an attacker to avoid it.
  • the tree construction unit 13 removes the URL information attached to each of the nodes N1 to N4. As a result, it is possible to identify a web site focusing on a URL-independent redirect structure.
  • FIG. 4 shows an example in which the URLs once assigned to the nodes N1 to N4 are removed, the URLs may not be removed. Further, as the content information, the content itself or the URL itself may be used without being digitized, or a part (part of the code, domain, etc.) may be extracted from these. In this way, it is possible to reduce false detections by not quantifying a part of the URL that is fixedly used on the malicious web site.
  • FIG. 5 is a diagram illustrating a process of extracting a partial tree from a tree. As shown in FIG. 5, the tree construction unit 13 extracts a partial tree constituting the tree from the constructed tree (see FIG. 4).
  • the tree building unit 13 passes the path from the node N1 corresponding to the destination accessed first in the series of accesses from the tree T1 to the other end nodes N3 and N4. To extract.
  • the tree construction unit 13 extracts all the partial paths included in the path (see, for example, T1-1 and T1-2).
  • the tree construction unit 13 decomposes the extracted partial path into partial trees T1-1, T1-3, T1-4, and T1-2.
  • the tree construction unit 13 delete one of the overlapping subtrees.
  • overlapping subtrees are extracted. If many of these subtrees exist, the influence of a malignant subtree will be reduced when calculating the similarity. For this reason, it is desirable for the tree construction unit 13 to delete overlapping subtrees.
  • a malicious feature appears in the path structure.
  • a malignant web site may be redirected in multiple stages to a falsification site, a platform site, a site for identifying a browser version, or a site where an attack code is placed. For this reason, as illustrated, it is possible to reduce the amount of calculation by extracting subtrees focusing on the path, extracting subtrees expressing malignant features, and reducing the number of subtrees as a whole it is conceivable that.
  • the overlapping subtree has been deleted, the detection process can be performed without deleting the subtree.
  • the method for extracting the subtree is an example, and the method is not limited to this, and a subtree having a branch may be extracted.
  • FIG. 6 is a diagram illustrating one example of node association between a plurality of trees.
  • the node association unit 14 performs node association based on the subtree extracted in FIG. For example, when the node information is ignored, the tree construction unit 13 extracts a partial tree in which the way of connecting the edges of the partial tree matches as shown in FIG. Then, the node association unit 14 identifies a plurality of subtrees with matching edges among the subtrees extracted by the tree construction unit 13 for a plurality of trees, and determines the correspondence between the nodes in the plurality of identified subtrees. Determine the correspondence of nodes in multiple trees.
  • the subtree T2-1 in the subtree of the tree T2 and the subtree T3-1 in the tree T3 have the same edge connection.
  • the subtree T2-1 and the subtree T3-1 are subtrees that share a common redirect (see (1) in FIG. 6). Therefore, the node association unit 14 determines the correspondence between the nodes in these subtrees T2-1 and T3-1.
  • the node association unit 14 redirects a subtree having a path from the node N7 to the node N8 in the subtree of the tree T2 and a subtree having a path from the node N11 to the node N12 in the tree T3. Since they do not match, node association is not performed for these two subtrees.
  • the node association unit 14 associates the node N5 corresponding to the transfer source of the subtree T2-1 with the node N9 corresponding to the transfer source of the subtree T3-1 ((2-1 in FIG. 6). )reference).
  • the node association unit 14 associates the node N6 corresponding to the transfer destination of the subtree T2-1 with the node N10 corresponding to the transfer source of the subtree T3-1 (see (2-2) in FIG. 6). .
  • the node association method described in FIG. 6 is an example, and the present invention is not limited to this.
  • the node associating unit 14 may extract a subtree in which the number of matching edges is equal to or more than a threshold value, instead of a subtree having matching edges.
  • the node association unit 14 may associate a combination of nodes having a high degree of coincidence of edges connected to the nodes with respect to a plurality of trees. In this case, for each combination of nodes in the two trees, the node association unit 14 calculates a cost obtained by quantifying the degree of coincidence of redirects between the nodes, and associates a combination of nodes that minimizes the cost.
  • the node associating unit 14 associates the costs when the nodes are associated with each other, the number of different edges of the redirect to which the target node is the redirect destination, the number of different edges of the redirect from which the target node is the redirect source, Is defined as the sum of And the node matching part 14 matches the node of the combination with the lowest cost among the cost in each node combination among the possible node combinations.
  • FIGS. FIG. 7 and FIG. 8 are diagrams for explaining other examples of node correspondence between a plurality of trees. For example, calculation of the cost of the node N2 of the tree T1 and the node N24 of the tree T4 in FIG. 7 will be described.
  • the node association unit 14 compares the redirects to which the target node N2 and the node N24 are the redirect destinations.
  • the redirect edge for which the node N2 is the redirect destination is “SRC-IFRAME”
  • the redirect edge for which the node N24 is the redirect destination is “HTTP302Redirect”. Therefore, in the case of the node N2 and the node N24, the node association unit 14 obtains that the number of different edges of redirection to which the target node N2 and the node N24 are redirected is “1” (( 1)).
  • the node associating unit 14 compares the redirects that are the redirect sources of the target node N2 and the node N24, respectively.
  • the redirect edge from which the node N2 is the redirect source is “SRC-APPLET-ARCHIVE”, and there is no redirect edge from which the node N24 is the redirect source.
  • the node association unit 14 calculates “1” even when there is no corresponding edge (see (2) in FIG. 7).
  • the costs when the node N2 and the node N24 are associated with each other include the different number of redirection edges “1” for which the target node is the redirection destination and the different number of redirection edges “1” for which the target node is the redirection source. ”And“ 2 ”(see (3) of FIG. 7).
  • the node association unit 14 calculates the cost for each combination of nodes in the tree T1 and the tree T4. As a result, as illustrated in FIG. 8, the node association unit 14 can acquire the cost “2” as described above for the combination of the node N2 of the tree T1 and the node N24 of the tree T4 (FIG. 8). (See (1)). Further, the node association unit 14 can acquire the cost “3” for the combination of the node N2 and the node N21 (see (2) in FIG. 8). Further, the node association unit 14 can acquire the cost “0” for the combination of the node N2 and the node N22 (see (3) in FIG. 8).
  • the node association unit 14 can acquire the cost “2” for the combination of the node N2 and the node N23 (see (4) in FIG. 8). In this way, the cost is obtained for all combinations of nodes of the tree T1 and nodes of the tree T4.
  • the node association unit 14 obtains a combination that minimizes the sum of the costs of the associated nodes among the association methods of the nodes of the tree T1 and the nodes of the tree T4. For example, the total of the costs when all the nodes having a small number of nodes are associated with the other node is calculated by all possible association methods, and the association that minimizes the total of the costs is obtained. At this time, a plurality of nodes are not allowed to correspond to one node.
  • the method of associating the nodes is an example, and it is only necessary that the nodes having similar edges to be associated can be associated.
  • the node association unit 14 may output associations of all nodes, or a combination of nodes having the same connected edges or a ratio of the same number of edges to the number of connected edges is equal to or greater than a threshold value. Only the combination of nodes to be output may be output.
  • the definition of the cost is merely an example, and the present invention is not limited to this. It is sufficient to define the cost so that the cost is reduced when there are many identical edges.
  • the method based on the subtree shown in the node association example 1 is designed so that the influence of a long redirect is large. . For this reason, when it is confirmed that a long redirection occurs, the method based on the subtree shown in the node association example 1 is effective. On the other hand, even when a long redirection cannot be assumed, the method based on adjacent edges shown in the node association example 2 can be applied.
  • the node since the association method is based on a local structure, the node can be associated without any problem even if the attack code is concealed. For this reason, it is possible to detect whether or not the target access is a malignant web site by obtaining the similarity of the tree after performing the node association. Then, the calculation process of the tree similarity will be described next.
  • the similarity calculation unit 15 calculates the similarity based on the association result of a plurality of tree nodes determined by the node association unit 14 using the method shown in FIG. 6 or FIGS.
  • FIG. 9 is a diagram for explaining tree similarity calculation processing by the similarity calculation unit 15.
  • FIG. 9 shows an example of calculating the similarity between the tree T1 and the tree T4.
  • the node N2 of the tree T1 and the node N22 of the tree T4 have a correspondence relationship
  • the node N3 of the tree T1 and the node N23 of the tree T4 have a correspondence relationship.
  • the similarity calculation unit 15 first calculates the similarity between nodes in a correspondence relationship using information on the contents of each node.
  • the similarity calculation unit 15 defines the similarity between the nodes in the correspondence relationship by the Euclidean distance of the feature vector. That is, the similarity calculation unit 15 calculates the expression (1) for the node Nk to which the content information x k of one tree is added and the node Nh to which the content information y h of the other tree is added.
  • the Euclidean distance s k, h calculated using is used as the similarity between the corresponding node Nk and node Nh.
  • the similarity between nodes in a correspondence relationship is not limited to the Euclidean distance of the feature vector, and an L1 norm (sum of absolute values of differences in each dimension) or the like may be used.
  • content similarity calculating unit 15 For example, content similarity calculating unit 15, a similarity s 2, 22 of the node N22 of the node N2 and wood T4 trees T1, the information x 2 additional content to the node N2, which is added to the node N22 It was used to apply the information y 2 in equation (1) (2), is calculated.
  • the similarity calculation unit 15 uses the similarity s 3,23 between the node N3 of the tree T1 and the node N23 of the tree T4, the content information x 3 added to the node N3, and the content added to the node N23. by applying the information y 3 in equation (1) is calculated. As described above, the similarity calculation unit 15 calculates the similarity by using the content information added to the nodes in the correspondence relationship for each combination of the nodes in the correspondence relationship for the two trees for which the similarity is to be calculated. To do.
  • the similarity calculation unit 15 defines the similarity between the two trees as “2 ⁇ “ the sum of the similarities of the associated nodes ” ⁇ “ the sum of the number of nodes ”. For example, when calculating the similarity between the tree T1 and the tree T4 illustrated in FIG. 9, the similarity calculation unit 15 calculates the similarity s 2 between the node N2 and the node N22 that are in a correspondence relationship, and the node N3 that is in a correspondence relationship. And the similarity s 3 between the node N23 and this node is applied to this definition. Then, the similarity calculation unit 15 applies the node number “4” of the tree T1 and the node number “4” of the tree T4 to this definition as the sum of the number of nodes.
  • the similarity calculation unit 15 applies (2 ⁇ (s) to this definition by applying (s 2 + s 3 ), which is the sum of similarities of associated nodes, and (4 + 4), which is the sum of the number of nodes. 2 + s 3 ) / (4 + 4)) (refer to the frame M1), thereby obtaining the similarity between the tree T1 and the tree T4.
  • FIG. 9 although the similarity calculation method of two trees T1 and T4 was illustrated, the number of the trees to compare should just be two or more. Further, the method of calculating the similarity calculated using FIG. 9 is an example, and is not limited to this as long as it is based on the similarity of the associated node.
  • FIG. 10 is a flowchart showing the processing procedure of the identification model creation process when the similarity is used as the inner product value.
  • the known access input unit 12 inputs a known malignant access and a known benign access (see FIG. 3) (step S1).
  • the tree construction unit 13 constructs a tree from the input access (see FIG. 4), and extracts a partial tree from the constructed tree (see FIG. 5) (step S2).
  • the node association unit 14 associates nodes among a plurality of trees (step S3).
  • the node association unit 14 associates nodes between a plurality of trees using the method shown in FIG. 6 or FIGS. 7 and 8, and determines a node correspondence between the plurality of trees.
  • the similarity calculation unit 15 uses the method described with reference to FIG. 9 based on the association result of the plurality of tree nodes determined by the node association unit 14, and stores the content added to each node. Using the information, the similarity of a plurality of trees is calculated (step S4).
  • the classification unit 16 uses the existing supervised machine learning that uses the inner product value after the conversion to the high-dimensional space of the input as the inner product value of the tree, and uses the known malignant access and the known benign access as the teacher data. (Step S5), and an identification model is output (step S6).
  • the classification unit 16 applies the access input in step S1 and the similarity calculated in step S4 to supervised machine learning that uses the inner product value of the input converted into a high-dimensional space. To do. That is, the classification unit 16 sets the known benign access and the known malignant access input in step S1 as “teacher data”, and converts the similarity calculated in step S4 into a vector in the feature space.
  • an identification model is created by supervised machine learning with the “inner product value”.
  • the classification unit 16 uses, as an identification model, a method of determining an identification result based on the positive / negative of the weighted sum of the inner product values of the known malignant access and the known benign access and the identification target access, the classification unit 16 corresponds to each known access.
  • Output weights as model parameters.
  • the supervised machine learning method is, for example, a support vector machine, but is not limited thereto.
  • classification unit 16 outputs the created identification model to the hard disk drive 1090 described later.
  • the output identification model is stored in the hard disk drive 1090 as data.
  • FIG. 11 is a flowchart showing a processing procedure of access identification processing when the similarity is used as the inner product value.
  • the target access input unit 11 inputs an analysis target access (see FIG. 2) (step S11).
  • the tree construction unit 13 constructs a tree from the input access (see FIG. 4), and extracts a partial tree from the constructed tree (see FIG. 5) (step S12).
  • the node association unit 14 then associates nodes between the tree corresponding to the analysis target access and the tree corresponding to the known access that is the comparison target (step S13).
  • the node association unit 14 uses the method shown in FIG. 6 or FIGS. 7 and 8 to associate nodes between the tree corresponding to the analysis target access and the tree corresponding to the known access that is the comparison target. And determine the correspondence of the nodes between the two trees.
  • the similarity calculation unit 15 calculates the similarity between the tree corresponding to the analysis target access and the tree corresponding to the known access that is the comparison target (step). S14). In this case, the similarity calculation unit 15 generates a diagram based on the result of associating nodes between the tree corresponding to the analysis target access determined by the node association unit 14 and the tree corresponding to the known access to be compared. 9 is used to calculate the similarity between the tree corresponding to the analysis target access and the tree corresponding to the known access that is the comparison target.
  • the classification unit 16 reads the identification model learned in advance, uses the existing supervised machine learning that uses the inner product value after the conversion to the high-dimensional space of the input, uses the similarity of the tree as the inner product value,
  • the analysis target access is applied as test data (step S15), and the identification result is output (step S16).
  • the classification unit 16 applies the access input in step S11 and the similarity calculated in step S14 to supervised machine learning that uses the inner product value of the input converted into a high-dimensional space.
  • the classification unit 16 sets the analysis target access input in step S11 as “test data”, and converts the similarity calculated in step S14 into “vectors” after converting the test data into vectors on the feature amount space.
  • An identification result is created by supervised machine learning with “inner product value”.
  • the classification unit 16 classifies whether or not the analysis target access is similar in characteristics to the comparison target known access as an identification result. For example, if the known access to be compared is a known malignant access and the analysis target access is classified as having similar characteristics to the known access to be compared, it is determined that the access is to a malignant web site. The identification result is output.
  • the supervised machine learning technique is, for example, a support vector machine, but is not limited thereto as long as it is the same technique as that used in the above-described identification model creation process.
  • the classification unit 16 outputs the created identification result to a display device such as a display 1130 described later. Further, the process shown in FIG. 11 is executed for each known access set as a comparison target.
  • the access classification device 10 adds content information to the nodes of the tree when building the tree from the input access. Then, the access classification device 10 determines the correspondence between the nodes constituting the plurality of trees, calculates the similarity between the trees using the similarity between the nodes associated with each other, and then calculates Similarity is used to classify a series of accesses to destinations including automatic forwarding.
  • the access classification device 10 can detect based on the similarity of content having a similar redirect relationship. Therefore, the access classification device 10 can prevent the user terminal from being infected with malware by blocking the access of the user terminal to the web site determined to be malignant. For this reason, according to the first embodiment, the malicious web site can be identified from the structure of the web site including automatic transfer and the characteristics of the content. Further, according to the first embodiment, it is possible to construct a malignant web site identification method that can be identified by one access.
  • the access classification device 10 quantifies the content as content information to be added to the node of the tree, and generates only the information on the malicious content.
  • the access classification device 10 quantifies the content as content information to be added to the node of the tree, and generates only the information on the malicious content.
  • the access classification device 10 extracts a partial tree by paying attention to a path in the process of extracting the partial tree. In other words, it is considered that the access classification device 10 can reduce the amount of calculation by extracting a subtree expressing a malignant feature and reducing the number of subtrees to be subjected to node association in subsequent processing. .
  • the access classification device 10 since the access classification device 10 performs node association based on the local structure of the tree, it is possible to associate nodes even if the attack code is concealed.
  • the access classification device 10 accurately calculates the similarity between the analysis target access and the malignant web site or benign site by associating the nodes with each other and obtaining the similarity of the tree based on the content information. can do. That is, according to the first embodiment, it is possible to classify the analysis target access with high accuracy even when the attack code is concealed.
  • the relevance due to the redirection of a plurality of contents is also taken into consideration, so that it is closer to either a malignant feature or a benign feature.
  • the identification accuracy is improved. Therefore, according to the first embodiment, it is possible to perform a web search that is difficult to be avoided by an attacker, and it is possible to detect a malicious web site in which an attack code cannot be acquired and a graph becomes small with high detection accuracy. Can be realized.
  • FIG. 12 is a schematic diagram showing a schematic configuration of the access classification apparatus according to the second embodiment.
  • the access classification device 210 according to the second embodiment has a node association unit 214, a similarity degree, instead of the node association unit 14, the similarity calculation unit 15, and the classification unit 16 shown in FIG. A calculation unit 215 and a classification unit 216 are included.
  • the access classification device 210 further includes a representative tree creation unit 217 as compared with the access classification device 10 of FIG.
  • the node association unit 214 has the same function as the node association unit 14, and is a node corresponding to a tree corresponding to a known access or a tree corresponding to access to a destination to be analyzed and a representative tree (described later). Associate each other.
  • the similarity calculation unit 215 has the same function as the similarity calculation unit 15, and the similarity between a tree corresponding to access and a representative tree (described later) between the nodes associated with each other between the trees. Calculate using similarity.
  • the classification unit 216 classifies access based on the similarity between a representative tree (described later) and a tree corresponding to access.
  • the representative tree creation unit 217 classifies the plurality of trees into a plurality of sets composed of trees with high similarity based on the similarity calculated by the similarity calculation unit 215. Then, a subtree representing the characteristics of each set is created as a representative tree.
  • the representative tree creation unit 217 divides the access input by the known access input unit 12 into a plurality of sets based on the similarity calculated by the similarity calculation unit 215, and a subtree common to the trees in each set As a representative tree.
  • FIG. 13 is a diagram illustrating a method of classifying a plurality of trees into a plurality of sets.
  • the representative tree creation unit 217 divides the plurality of trees (access) shown in FIG. 4 into a plurality of sets composed of trees having high similarity.
  • the representative tree creation unit 217 joins the sets when the maximum value of the similarity between the trees belonging to each set is equal to or greater than a threshold from the state where each set is configured by only one tree.
  • the representative tree creation unit 217 repeatedly executes this joining process until there is no set to be joined.
  • each of the sets C1 to C5 is configured by only one tree (trees T11 to T15).
  • the classification unit 16 classifies the plurality of trees T11 to T15 into a plurality of sets C1 'to C3' composed of trees with high similarity.
  • the set C1 and the set C2 to which the trees T11 and T12 having a maximum similarity equal to or greater than the threshold value belong are combined and classified into the same set C1 '.
  • the set C3 and the set C5 to which the trees T13 and T15 having a maximum similarity equal to or greater than the threshold value belong are combined and classified into the same set C2 '.
  • the classification unit 216 uses the maximum value of similarity as a criterion for combining sets.
  • the classification unit 216 is not limited to this, and may use a minimum value or an average value of similarity.
  • the maximum value of similarity is used, a set of trees in which some subtrees that are commonly included in multiple trees are shared is created, but the minimum value of similarity is used instead of the maximum value
  • the classification unit 16 can create a set of trees in which many subtrees are common.
  • the classification unit 16 can create a set of intermediate trees.
  • the classification unit 16 preferentially combines the sets having the maximum similarity without setting the threshold, and performs the combining process as a whole. It is good also as what decides which step is adopted among the processes which repeated until it becomes a set, and combined each set after that. Furthermore, the number of sets to be combined is not limited to two but may be two or more.
  • FIG. 14 is a diagram showing a method for creating a representative tree from a set of trees.
  • the access classification device 210 uses the representative tree creation unit 217 to collect a set of trees created by the representative tree creation unit 217 (see FIG. 5) based on the subtree extracted by the tree construction unit 13 (see FIG. 5).
  • a representative tree is created from FIG.
  • the representative tree creation unit 217 sets a partial tree common to all trees in the set as a representative tree.
  • the representative tree creation unit 217 sets a subtree (N1-E3-N4) common to the trees T1 and T5 in the same set as a representative tree T9 that represents the characteristics of this set.
  • content may be ignored and a common partial tree may be extracted, and an average of feature vectors of each node may be used as content information.
  • the representative tree creation unit 217 uses a subtree common to all trees in the set as a representative tree, but is not limited to this. It is good. In the case where the URL information attached to the nodes N1 to N4 and N55 to N58 is not removed, the representative tree creation unit 217 creates the representative tree T9 including not only the transfer command but also the URL information. It is also possible to determine whether or not there is a match. Further, the number of comparison target trees is not limited to two, and may be two or more.
  • FIG. 15 is a flowchart showing the processing procedure of the identification model creation process when the similarity with the representative tree is used. 15 includes a plurality of steps similar to those in FIG. 10, common steps are denoted by reference numerals having the same endings, and detailed description thereof is omitted. Specifically, the processes in steps S21 to S24 and S29 in FIG. 15 correspond to the processes in steps S1 to S4 and S6 shown in FIG.
  • the representative tree creation unit 217 classifies the plurality of trees constructed in step S22 into a plurality of sets composed of trees with high similarity (see FIG. 13). ) For each set, a subtree representing the characteristics of each set (for example, a common subtree in the same set) is created as a representative tree (see FIG. 14) (step S25).
  • the node association unit 214 associates the node between the representative tree and the known access tree using the method shown in FIG. 6 or FIGS. 7 and 8 (step S26).
  • the similarity calculation unit 215 calculates the similarity between the representative tree and the known access tree using the content information added to each node (see FIG. 9) (step S27). Note that the access classification apparatus 210 performs steps S26 and S27 for each input known access, performs steps S26 and S27 for all known accesses, and then proceeds to the next step S28.
  • the classification unit 216 applies supervised machine learning using a vector in which similarities with the representative tree are arranged as an access feature vector (step S28), and creates an identification model.
  • the supervised machine learning methods include linear discriminant analysis, support vector machine, random forest, and the like, but are not limited to these methods.
  • FIG. 16 is a flowchart showing a processing procedure of access identification processing in the case where the similarity with the representative tree is used. Since FIG. 16 includes a plurality of steps similar to those in FIG. 11, common steps are denoted by the same reference numerals at the end, and detailed description thereof is omitted. Specifically, the processes in steps S31, S32, and S36 in FIG. 16 correspond to the processes in steps S11, S12, and S16 shown in FIG.
  • the node association unit 214 associates nodes between the representative tree and the target access tree (step S33). Then, the similarity calculation unit 215 calculates the similarity between the target access tree and the representative tree created by the representative tree creation unit 217 using the similarity between nodes associated with each other. (Step S34).
  • supervised machine learning is applied using a vector in which similarities with the representative tree are arranged as an access feature vector (step S35), and an identification result is output (step S36).
  • the supervised machine learning methods are, for example, linear discriminant analysis, support vector machine, random forest, etc., but if these are the same methods as those used for the identification model creation processing in FIG. Not exclusively.
  • the similarity between the representative tree and the access is obtained, and the similarity between the contents of the nodes associated between the representative tree and the tree corresponding to the access is obtained.
  • the identification can be performed by considering the similarity of the contents of the nodes associated between the representative tree and the tree corresponding to the access. The accuracy can be improved.
  • each component of each illustrated device is functionally conceptual and does not necessarily need to be physically configured as illustrated.
  • the specific form of distribution / integration of each device is not limited to the one shown in the figure, and all or a part of the distribution / integration is functionally or physically distributed in arbitrary units according to various loads or usage conditions.
  • all or any part of each processing function performed by each device is realized by a CPU (Central Processing Unit) and a program analyzed and executed by the CPU, or hardware by wired logic.
  • CPU Central Processing Unit
  • FIG. 17 is a diagram illustrating an example of a computer in which the access classification devices 10 and 210 are realized by executing a program.
  • the computer 1000 includes a memory 1010 and a CPU 1020, for example.
  • the computer 1000 also includes a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a 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
  • the hard disk drive interface 1030 is connected to the hard disk drive 1090.
  • the disk drive interface 1040 is connected to the disk drive 1100.
  • a removable storage medium such as a magnetic disk or an optical disk is inserted into the disk drive 1100.
  • the serial port interface 1050 is connected to a mouse 1110 and a keyboard 1120, for example.
  • the video adapter 1060 is connected to the display 1130, for example.
  • the hard disk drive 1090 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094. That is, the program that defines each process of the access classification devices 10 and 210 is implemented as a program module 1093 in which a code executable by the computer 1000 is described.
  • the program module 1093 is stored in the hard disk drive 1090, for example.
  • a program module 1093 for executing processing similar to the functional configuration in the access classification devices 10 and 210 is stored in the hard disk drive 1090.
  • the hard disk drive 1090 may be replaced by an SSD (Solid State Drive).
  • the setting data used in the processing of the above-described embodiment is stored as program data 1094 in, for example, the memory 1010 or the hard disk drive 1090. Then, the CPU 1020 reads the program module 1093 and the program data 1094 stored in the memory 1010 and the hard disk drive 1090 to the RAM 1012 and executes them as necessary.
  • the program module 1093 and the program data 1094 are not limited to being stored in the hard disk drive 1090, but may be stored in, for example, a removable storage medium and read by the CPU 1020 via the disk drive 1100 or the like. Alternatively, the program module 1093 and the program data 1094 may be stored in another computer connected via a network (LAN (Local Area Network), WAN (Wide Area Network), etc.). Then, the program module 1093 and the program data 1094 may be read by the CPU 1020 from another computer via the network interface 1070.
  • LAN Local Area Network
  • WAN Wide Area Network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

アクセス分類装置(10)は、木構築部(13)とノード対応付け部(14)と類似度算出部(15)と分類部(16)とを有する。木構築部(13)は、少なくとも第1の宛先及び第2の宛先をノードとし、該ノードに対応するコンテンツの情報を該ノードに付加し、第1の宛先から第2の宛先へ一連のアクセスを転送する命令をエッジとする複数の木を作成する。ノード対応付け部(14)は、複数の木について、木の各々の局所的な構造の類似性を基に複数の木のノード同士を対応付ける。類似度算出部(15)は、対応付けられたノード同士の類似度をコンテンツの情報に基づいて算出し、該算出したノード同士の類似度を用いて複数の木の類似度を算出する。分類部(16)は、算出された類似度に基づいて、アクセスを特徴が類似する集合に分類する分類する。

Description

アクセス分類装置、アクセス分類方法及びアクセス分類プログラム
 本発明は、アクセス分類装置、アクセス分類方法及びアクセス分類プログラムに関する。
 従来、ユーザ端末がアクセスするwebサイトの中から、マルウェアを感染させる悪性webサイトを識別する手法である悪性webサイト識別手法が存在する。この様な悪性webサイト識別手法は、ホスト上の挙動に基づく手法とコンテンツの特徴に基づく手法とに分類される。
 ホスト上の挙動に基づく手法は、webサーバ等のサーバから取得されたHTML(HyperText Markup Language)やJavaScript(登録商標)等のコンテンツを実行し、その時のホスト上での挙動から脆弱性に対する攻撃を検知することにより、悪性webサイトを識別する手法である。
 これに対し、コンテンツの特徴に基づく手法は、サーバからコンテンツの取得を行い、該コンテンツのコード解析を行い、悪性なコードに特徴的に出現する関数や文字列等の特徴、ドメインやURL(Uniform Resource Locator)に関連する情報、及び、リダイレクト(転送)の情報をもとに、機械学習を適用して、悪性webサイトを識別する手法である。
 以下、コンテンツの特徴に基づく手法による悪性webサイトの識別に係る従来技術について説明する。コンテンツの特徴に基づく手法による悪性webサイト識別手法には、単一ページから取得されたコンテンツの特徴を用いて識別する手法と、webサイトのリダイレクトによって発生した複数ページへのアクセスから特徴を抽出して識別する手法とがある。
 前者の識別手法では、コンテンツ中のJavaScriptを解析して識別する手法が多く提案されている。これらの手法の中には、例えば、スクリプトの行数や文字数、スクリプト中のキーワードの出現回数を用いて特徴ベクトルを記述し、機械学習の手法を用いて識別する手法(非特許文献1)がある。或いは、for文やwhile文中での処理を抽出し、特徴ベクトルを作成して識別する手法(非特許文献2)がある。さらに、JavaScriptから作成された抽象構文木のノードタイプから構成される系列を作成し、該系列の類似度によって識別する手法(非特許文献3)等がある。
 また、JavaScript以外にも、HTMLやURL及びホストの情報を利用する手法も存在する。例えば、HTMLを利用する手法には、iframeやscriptタグの出現回数、タグのサイズ特徴量を抽出して識別する手法(非特許文献4)がある。また、URL及びホストの情報を利用する手法には、URLに含まれるキーワード、DNS(Domain Name System)問合せの結果、IP(Internet Protocol)アドレスに紐付く地理的情報を用いて、URLの悪性判定を行う手法(非特許文献5)がある。
 そして、JavaScript、HTML、URL及びホストの各情報から悪性判定を行う識別器をそれぞれ構築し、複数の識別器の判定を総合してwebサイトの悪性判定を行う手法(非特許文献6)も存在する。あるいは、同一のページに異なる時刻にアクセスした際に取得されるコンテンツから差分を抽出し、該差分を基に悪性判定を行う手法(非特許文献7)も提案されている。
 上記以外にも、転送により発生した複数回のwebサイトへのアクセスを基に識別を行う手法では、さまざまな観点から特徴量を抽出して悪性webサイトの識別を行っている。例えば、Matsunakaらの手法(非特許文献8)では、実行ファイルのダウンロード時におけるHTTP(HyperText Transfer Protocol)ヘッダや、ダウンロード以前に取得されたコンテンツにダウンロードを示す情報がないこと等を根拠として、脆弱性への攻撃によって発生した転送が検知される。
 また、Stringhiniらの手法(非特許文献9)では、各ユーザが自動転送によってアクセスした一連のページの時系列から、最終ページが同一のアクセス群を作成した後、それらのアクセス群から、IPアドレス数やリダイレクト数等の特徴ベクトルを作成し、悪性webサイトを識別する。さらに、Rafiqueらの手法(非特許文献10)では、リダイレクトによってアクセスしたページの系列からマルウェアのダウンロードに必須な部分を、系列中の複数のページへ個別にアクセスすることによって抽出し、シグネチャを作成することで、悪性webサイトの識別を行っている。
Peter Likarish, Eunjin Jung, and Insoon Jo., "Obfuscated Malicious Javascript Detection using Classification Techniques.", IEEE 4th International Conference on Malicious and Unwanted Software (MALWARE), 2009. Charlie Curtsinger, et al., "ZOZZLE: Fast and Precise In-Browser JavaScript Malware Detection.", USENIX Security Symposium, 2011. Alexandros Kapravelos, et al., "Revolver: An Automated Approach to the Detection of Evasive Web-based Malware.", USENIX Security, 2013. Christian Seifert, Ian Welch, and Peter Komisarczuk., "Identification of Malicious Web Pages with Static Heuristics.", IEEE Telecommunication Networks and Applications Conference, 2008. Justin Ma, et al., "Beyond Blacklists: Learning to Detect Malicious Web Sites from Suspicious URLs.", Proceedings of the 15th ACM SIGKDD international conference on Knowledge discovery and data mining, 2009. Davide Canali, et al., "Prophiler: A Fast Filter for the Large-Scale Detection of Malicious Web Pages.", Proceedings of the 20th international conference on World wide web, 2011. Kevin Borgolte, Christopher Kruegel, and Giovanni Vigna., "Delta: Automatic Identification of Unknown Web-based Infection Campaigns." Proceedings of the 2013 ACM SIGSAC conference on Computer & communications security, 2013. Takashi Matsunaka, Ayumu Kubota, and Takahiro Kasama., "An Approach to Detect Drive-by Download by Observing the Web Page Transition Behaviors.", Ninth Asia Joint Conference on Information Security, 2014. Gianluca Stringhini, Christopher Kruegel, and Giovanni Vigna., "Shady Paths: Leveraging Surfing Crowds to Detect Malicious Web Pages.", Proceedings of the 2013 ACM SIGSAC conference on Computer & communications security, 2013. M. Zubair Rafique, et al., "Network Dialog Minimization and Network Dialog Diffing: Two Novel Primitives for Network Security Applications.", Proceedings of the 30th Annual Computer Security Applications Conference, 2014.
 悪性webサイトによる被害を削減するためには、網羅的に悪性webサイトの情報を収集することが重要である。一方、攻撃者は、悪性webサイトが検知されるのを防ぐために、解析システムによるアクセスを検知して攻撃コードを隠蔽する回避策を実施している。このため、被害削減のためには、このような悪性ページも検知することが重要である。しかしながら、従来の手法では、攻撃者の隠ぺい等により攻撃コードが得られない悪性webサイトについては、検知できない、または、検知精度が低いという問題があった。
 例えば、コンテンツの特徴に基づく手法では、攻撃コードが得られない悪性webサイトについては、ページから悪性なコンテンツが取得されず、特徴量がほぼ0となり、良性と判定されるため、悪性であることを検知できないという問題があった。
 また、複数のページの関係性に着目した手法は、攻撃コードへのリダイレクトに着目している手法と、リダイレクトをもとに形成されたグラフの形に着目する手法とに大別できる。この複数のページの関係性に着目した手法のうち、攻撃コードへのリダイレクトに着目する手法では、攻撃コードが得られないと着目しているリダイレクトが発生しないため、攻撃コードが得られない悪性webサイトを検知できないという問題があった。
 一方、複数のページの関係性に着目した手法のうち、リダイレクトグラフの形に着目する手法では、攻撃コードが得られない場合、良性サイトのグラフ形状との判別が困難であり、悪性webサイトに対する検知精度が低いという問題がある。一般的に、リダイレクトグラフの形は、リダイレクトの段数等に基づき、悪性webサイトのリダイレクトでは段数が長く、良性サイトのリダイレクトでは段数が短い傾向がある。このことから、リダイレクトグラフの形に着目する手法では、攻撃コードが得られない場合、悪性webサイトであった場合でも、リダイレクトの段数が短くなり、グラフの形が良性サイトに近くなるため、悪性webサイトであることの検知が困難となる。この結果、悪性webサイトをブラックリストに記載することができず、ユーザの悪性webサイトへのアクセスを許可してしまうという問題があった。
 このように、従来の技術では、攻撃者の隠ぺい等により攻撃コードが得られない悪性webサイトについては、検知できない、または、検知精度が低いという問題があった。
 本発明は、上記に鑑みてなされたものであって、攻撃コードが取得できない悪性webサイトを精度よく検知することができるアクセス分類装置、アクセス分類方法及びアクセス分類プログラムを提供することを目的とする。
 上述した課題を解決し、目的を達成するために、本発明に係るアクセス分類装置は、少なくとも第1の宛先及び第2の宛先をノードとし、該ノードに対応するコンテンツの情報を該ノードに付加し、第1の宛先から第2の宛先へアクセスを転送する命令をエッジとする複数の木を構築する木構築部と、木構築部によって構築された複数の木について、木の各々の局所的な構造の類似性を基に複数の木のノード同士を対応付けるノード対応付け部と、複数の木において対応付けられたノード同士の類似度を、これらのノードに付加されたコンテンツの情報に基づいて算出し、該算出した対応付けられたノード同士の類似度を用いて複数の木の類似度を算出する類似度算出部と、類似度算出部によって算出された類似度に基づいて、アクセスを、特徴が類似する集合に分類する分類部と、を有する。
 本発明によれば、攻撃コードが取得できない悪性webサイトを精度よく検知することができる。
図1は、実施の形態1に係るアクセス分類装置の概略構成を示す模式図である。 図2Aは、図1に示すアクセス分類装置に入力される解析対象アクセスの例を示す図である。 図2Bは、図1に示すアクセス分類装置に入力される解析対象アクセスの例を示す図である。 図3Aは、図1に示すアクセス分類装置に入力される既知アクセスの例を示す図である。 図3Bは、図1に示すアクセス分類装置に入力される既知アクセスの例を示す図である。 図4は、図1に示す木構築部による木の構築処理を説明する図である。 図5は、木から部分木が抽出される過程を示す図である。 図6は、複数の木の間におけるノードの対応付けの一例について説明する図である。 図7は、複数の木の間におけるノードの対応付けの他の例について説明する図である。 図8は、複数の木の間におけるノードの対応付けの他の例について説明する図である。 図9は、図1に示す類似度算出部による木の類似度算出処理を説明する図である。 図10は、類似度を内積値として用いる場合の識別モデル作成処理を説明するためのフローチャートである。 図11は、類似度を内積値として用いる場合のアクセス識別処理の処理手順を示すフローチャートである。 図12は、実施の形態2に係るアクセス分類装置の概略構成を示す模式図である。 図13は、複数の木を、複数の集合へ分類する方法を示す図である。 図14は、木の集合から代表木を作成する方法を示す図である。 図15は、代表木との類似度を用いる場合の識別モデル作成処理の処理手順を示すフローチャートである。 図16は、代表木との類似度を用いる場合のアクセス識別処理を説明するためのフローチャートである。 図17は、プログラムが実行されることにより、アクセス分類装置が実現されるコンピュータの一例を示す図である。
 以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施の形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
[実施の形態1]
 まず、実施の形態1に係るアクセス分類装置について、概略構成、アクセス分類処理の流れ及び具体例を説明する。
 図1は、実施の形態1に係るアクセス分類装置の概略構成を示す模式図である。図1に示すように、実施の形態1に係るアクセス分類装置10は、対象アクセス入力部11、既知アクセス入力部12、木構築部13、ノード対応付け部14、類似度算出部15及び分類部16を有する。これら各構成部分は、一方向又は双方向に、各種信号やデータの入出力が可能な様に接続されている。
 対象アクセス入力部11は、解析対象の宛先へのアクセスを入力として許容する。対象アクセス入力部11は、解析対象の宛先へのアクセスとして、リダイレクトに関する情報とコンテンツに関する情報とを入力として許容する。
 既知アクセス入力部12は、悪性webサイトを提供する宛先へのアクセスであることが既知である既知悪性アクセスと、これとは反対に良性webサイトを提供する宛先へのアクセスであることが既知である既知良性アクセスとを入力として許容する。既知アクセス入力部12は、既知のアクセスとして、リダイレクトに関する情報とコンテンツに関する情報とを入力として許容する。
 木構築部13は、対象アクセス入力部11と既知アクセス入力部12とにより入力された各アクセスから、少なくとも解析対象の宛先(第1の宛先)へのアクセス元(自動転送元)及びアクセス先(自動転送先)の宛先(第2の宛先)を「ノード」とし、自動転送命令を「エッジ」とする木を構築する。また、木構築部13は、各ノードに対し、各ノードに対するコンテンツの情報をそれぞれ付加する。
 ノード対応付け部14は、木構築部13によって作成された複数の木について、該複数の木を構成する各ノードの対応関係を決定する。このノード対応付け部14は、複数の木の各々の局所的な構造の類似性を基に、複数の木のノード同士を対応付ける。
 類似度算出部15は、複数の木の間において対応付けられたノード同士の類似度を、これらのノードに付加されたコンテンツの情報に基づいて算出し、該算出した対応付けられたノード同士の類似度を用いて複数の木の類似度を算出する。
 分類部16は、類似度算出部15によって算出された類似度に基づいて、アクセスを、特徴が類似する集合に分類する。例えば、分類部16は、類似度算出部15によって算出された類似度を用いて、対象アクセス入力部11により入力されたアクセスが、悪性webサイトへのアクセスであるか否かの判定を行う。
[解析対象アクセスの例]
 図2A及び図2Bは、アクセス分類装置10に入力される解析対象アクセスの例を示す図である。図2A及び図2Bに示すように、解析対象アクセスは、リダイレクトに関する情報(図2A参照)と、コンテンツに関する情報(図2B参照)とである。
 まず、図2Aを参照し、リダイレクトに関する情報について説明する。図2Aに示すように、リダイレクトに関する情報は、通番、転送先、転送元、及び、転送命令の情報を有する。なお、HTTPのステータスコード300番代のリダイレクトだけではなく、HTMLタグで指定されたコンテンツの取得によって発生する自動転送も、リダイレクトと呼ぶ。
 通番として、図2Aに示すように、同一の一連のアクセスに含まれるリダイレクトに同一の番号が与えられる。また、転送先、転送元としてはURLがあるが、これに限るものではなく、FQDN(Fully Qualified Domain Name)、ドメイン、ホスト名、IPアドレス等であってもよい。また、宛先を明示しなくても、宛先を他の文字列等に置き換えてもよい。ただし、この場合には、文字列と宛先とが一対一で対応している必要がある。
 そして、転送命令としては、HTMLタグのiframeタグによるリンクを表す「SRC-IFRAME」やHTMLタグのScriptタグによるリンクを表す「SRC-SCRIPT-SRC」などがあるが、これに限るものではない。例えば、HTMLタグのAppletタグによるリンクを表す「SRC-APPLET-ARCHIVE」、HTTPによる転送を表す「HTTP302Redirect」、HTMLタグのObjectタグによるリンクを表す「SRC-OBJECT-CODEBASE」等であってもよい。また、転送命令を明示せずに他の文字列等に置き換えてもよい。ただし、この場合には、文字列と転送命令とが一対一で対応している必要がある。
 また、リダイレクトに関する情報は、図2Aに示す例に限らず、転送が発生した時刻等を含んでいてもよい。これは、リダイレクトが発生した時刻とコンテンツが取得された時刻とを組み合わせて使うことを想定した場合、これらから、URLにアクセスしてからリダイレクトが発生するまでの時間が計測できるためである。ここで、悪性なJavaScriptは、難読化されているため処理に時間がかかることが知られているため、処理に必要な時間を考慮することが可能になる。なお、リダイレクトに関する情報に含めるかは、良性webサイトと悪性webサイトとで傾向が異なるかという点で検討を行えばよい。
 次に、図2Bを参照し、コンテンツに関する情報について説明する。図2Bに示すように、コンテンツに関する情報は、通番、宛先、及び、コンテンツの情報を有する。
 図2Bに示すように、通番は、図2Aに示すリダイレクトに関する情報と同一のものを用いる。ただし、異なるアクセスで同一宛先から取得されたコンテンツが同一の場合には、通番はなくてもよい。そして、宛先としては、図2Bに示すように、URLがあるがこれに限るものではなく、リダイレクトに関する情報と同様に、FQDN(Fully Qualified Domain Name)、ドメイン、ホスト名、IPアドレス等であってもよい。
 また、図2Bに示すように、コンテンツとしては、HTML、JavaScriptがあるが、これに限るものではなくPHP(Hypertext Preprocessor)、CSS(Cascading Style Sheets)或いは画像等でもよい。また、コンテンツに関する情報は、図2Bに示す例に限らず、コンテンツが取得された時刻や、取得にかかった時間等の情報を含んでいてもよい。リダイレクトに関する情報と同様に、リダイレクトが発生した時刻とコンテンツが取得された時刻とを組み合わせて使うことを想定した場合、これらから、URLにアクセスしてからリダイレクトが発生するまでの時間が計測できるためである。
[既知アクセスの例]
 図3A及び図3Bは、アクセス分類装置10に入力される既知アクセスの例を示す図である。図3A及び図3Bに示すように、既知アクセスは、リダイレクトに関する情報(図3A参照)と、コンテンツに関する情報(図3B参照)とである。
 図3Aに示すように、リダイレクトに関する情報は、通番、ラベル、転送先、転送元及び転送命令が含まれる。図3Aに示すように、通番は、図2Aの例と同様に、同一の一連のアクセスに含まれるリダイレクトに同一の番号が与えられる。そして、図3Aに示すように、転送先或いは転送元としては、図2Aの例と同様に、URLが考えられるが、もちろん、これに限るものではない。また、宛先を明示しなくても、宛先を他の文字列等に置き換えてもよい。ただし、文字列と宛先とが一対一で対応している必要がある。
 また、図3Aに示すように、転送命令としては、図2Aの例と同様に、「SRC-IFRAME」や「SRC-SCRIPT-SRC」などが考えられるが、これに限るものではない。また、転送命令を文字列等に置き換えてもよく、この場合には、対象アクセスと同じ方法で置き換える必要がある。
 また、図3Aに示すように、通信先の性質を識別するラベルを各アクセスに付与する。このラベルは、図3Aに示す「良性」や「悪性」に限るものではなく、「広告」、「Drive-by-Download」、「Phishing」等であってもよい。なお、リダイレクトに関する情報は、図3Aに示す例に限るものではない。
 そして、図3Bに示すように、コンテンツに関する情報は、通番、宛先及びコンテンツの情報を有する。図3Bに示すように、通番は、図3Aに示すリダイレクトに関する情報と同一のものを用いる。ただし、異なるアクセスで同一宛先から取得されたコンテンツが同一の場合には通番はなくてもよい。図3Bに示すように、宛先としては、URLが考えられるがこれに限るものではない。
 コンテンツは、HTML、JavaScriptがあるが、これに限るものではない。なお、コンテンツに関する情報は、既知アクセス入力部12からの入力のうちコンテンツに関するものであり、コンテンツは、HTML、JavaScriptのコード等であり、コンテンツの情報は、コンテンツを数値化したものとして、以降の説明を行う。また、コンテンツに関する情報としては、図3Bに示す例に限るものではない。
[木の構築]
 次に、図1に示す木構築部13による木の構築について説明する。図4は、木構築部13による木の構築処理を説明する図である。図4に示すように、木構築部13は、図2及び図3に示したアクセスの転送情報を基に、転送元及び転送先を「ノード」とし、転送命令を「エッジ」とする木T1を構築する。そして、木構築部13は、各ノードに対し、ノードに対するコンテンツの情報をノードに付加する。
 例えば、木構築部13は、webサイトのURLをノードN1~N4とし、該URL間の転送命令に対応するエッジE1~E3を、転送元URLと転送先URLとの間に作成する。
 そして、各ノードN1~N4に、ノードN1~N4のURLに対するコンテンツの情報を付加する。本実施の形態1では、コンテンツの情報として、ノードに対応するコンテンツやURLから、悪性判定に有効な複数の情報を数値化し、ベクトルとして表現している。
 具体的には、図4に示すように、ノードNnに対応するコンテンツの情報xを、x=[e,i,p]とし、コンテンツの情報を数値化する。ここで、eは、eval数である。iは、ifame数である。pは、ドメインに対応するIPアドレス数である。例えば、ノードN1については、コンテンツの情報xは、x=[0,1,2]である。なお、後述の図6~図9においては、説明のため、表示した二つの木のうち、一方の木のコンテンツの情報xを、x=[e,i,p]とし、他方の木のコンテンツの情報を、y=[e,i,p]として表す。
 また、コンテンツの情報は、eval数、ifame数、ドメインに対応するIPアドレス数に限らず、HTMLのタグの出現回数、JavaScript関数の出現回数、URLにおける悪性なパターンの出現回数などでもよい。これら全てを、コンテンツの情報として用いてもよいし、一部のみを用いてもよい。ただし、コンテンツの情報は、複数の種別を含むことが望ましい。
 このように、ノードに付加するコンテンツの情報として、コンテンツを数値化し、悪性なコンテンツの情報のみ抽出したものを生成する。これによって、悪性なコンテンツに意味のないコードが追加されたり、攻撃に関係ないコードが削除されたりしていた場合も、数値化されたベクトルの変化は少ないため、悪性webサイトを検知することができ、攻撃者による回避を困難にすることができる。
 そして、木構築部13は、コンテンツの情報の付加が完了すると、各ノードN1~N4に付されているURLの情報を除去する。これにより、URLに依存しないリダイレクト構造に着目した、webサイトの識別が可能となる。
 なお、図4では、ノードN1~N4に一旦付されたURLが除去された例を示したが、URLは、除去されなくてもよい。また、コンテンツの情報として、数値化を行わず、コンテンツそのものやURLそのものを用いてもよいし、これらから一部(コードの一部やドメイン等)を抽出して用いてもよい。このように、悪性webサイトで固定的に使われるURLの一部等を数値化しないことによって、誤検知を削減することができる。
[部分木の抽出]
 次に、木構築部13が構築した木から部分木を抽出する処理について説明する。図5は、木から部分木が抽出される過程を示す図である。図5に示すように、木構築部13は、構築された木(図4参照)から、該木を構成する部分木を抽出する。
 例えば、木構築部13は、図5(a)に示すように、木T1から、一連のアクセスの中で最初にアクセスした宛先に対応するノードN1から、他の末端ノードN3、N4までのパスを抽出する。次に、木構築部13は、図5(b)に示すように、パス中に含まれる全ての部分パス(例えば、T1-1,T1-2参照)を抽出する。そして、木構築部13は、図5(c)に示す様に、抽出された部分パスを部分木T1-1,T1-3,T1-4,T1-2に分解する。
 このとき、重複する部分木がある場合には、木構築部13は、重複する部分木の一方を削除することが望ましい。ここで、改ざんページから複数の画像の取得等が発生すると、重複する部分木が抽出される。これらの部分木が多数存在すると、類似度を算出する際に、悪性な部分木の影響が小さくなってしまう。このため、木構築部13は、重複する部分木を削除することが望ましい。
 また、悪性webサイトは、改ざんサイトにアクセスしたユーザを攻撃コードにリダイレクトさせるため、パスの構造に悪性な特徴が現れる。例えば、悪性webサイトは、改ざんサイト、踏み台サイト、ブラウザのバージョン等の識別を行うサイト、攻撃コードが置かれているサイトへの多段のリダイレクトが発生する。このため、例示したように、パスに着目して部分木を抽出することで、悪性な特徴を表現する部分木を抽出し、全体の部分木の数を減らすことで、計算量を削減できるものと考えられる。なお、重複する部分木を削除したが、削除しなくとも、検知処理は可能である。また、部分木の抽出方法は一例であり、これに限るものではなく、分岐をもつ部分木を抽出してもよい。
[ノードの対応付け例1]
 次に、図6を参照して、複数の木の間におけるノードの対応付けの一例について説明する。図6は、複数の木の間におけるノードの対応付け例の一つについて説明する図である。ノード対応付け部14は、図5で抽出した部分木をもとにノードの対応付けを行う。例えば、ノードの情報を無視した場合、図6に示すように、部分木のエッジのつながり方が一致する部分木が木構築部13によって抽出される。そして、ノード対応付け部14は、複数の木について木構築部13が抽出した部分木のうち、エッジが一致する複数の部分木を特定し、該特定した複数の部分木におけるノードの対応関係によって、複数の木におけるノードの対応関係を決定する。
 図6の例では、木T2の部分木のうち部分木T2-1と、木T3のうち部分木T3-1とが、エッジのつながり方が一致する。言い換えると、部分木T2-1と部分木T3-1とは、リダイレクトが共通な部分木である(図6の(1)参照)。そこで、ノード対応付け部14は、これらの部分木T2-1,T3-1において、ノードの対応関係を決定する。なお、ノード対応付け部14は、木T2の部分木のうちのノードN7からノードN8のパスを有する部分木と、木T3のうちノードN11からノードN12のパスを有する部分木とは、リダイレクトが一致しないため、この二つの部分木については、ノードの対応付けを行わない。
 具体的には、ノード対応付け部14は、部分木T2-1の転送元に対応するノードN5と部分木T3-1の転送元に対応するノードN9とを対応付ける(図6の(2-1)参照)。また、ノード対応付け部14は、部分木T2-1の転送先に対応するノードN6と部分木T3-1の転送元に対応するノードN10とを対応付ける(図6の(2-2)参照)。
 なお、図6で説明したノードの対応付けの方法は、一例であり、これに限るものではない。例えば、ノード対応付け部14は、エッジが一致する部分木ではなく、エッジの一致数が閾値以上の部分木を抽出してもよい。
[ノードの対応付け例2]
 また、ノード対応付け部14は、複数の木について、ノードに接続するエッジの一致度が高い組み合わせのノードを対応付けてもよい。この場合、ノード対応付け部14は、二つの木におけるノードの組み合わせごとに、ノード同士のリダイレクトの一致度を数値化したコストを算出し、コストが最小となる組み合わせのノードを対応付ける。
 例えば、ノード対応付け部14は、ノード同士を対応付けた場合のコストを、対象のノードがリダイレクト先となるリダイレクトの異なるエッジ数と、対象のノードがリダイレクト元となるリダイレクトの異なるエッジ数と、の和と定義する。そして、ノード対応付け部14は、考えられるノードの組み合わせの中で、各ノードの組み合わせにおけるコストのうち、コストが最小となる組み合わせのノードを対応付ける。
 そこで、図7及び図8を参照して、詳細に説明する。図7及び図8は、複数の木の間におけるノードの対応付け例の他の例について説明する図である。例えば、図7の木T1のノードN2と、木T4のノードN24とのコストの算出について説明する。
 まず、ノード対応付け部14は、ノードN2とノードN24との場合、対象のノードN2とノードN24とがそれぞれリダイレクト先となるリダイレクトの比較を行う。この場合、ノードN2がリダイレクト先となるリダイレクトのエッジが「SRC-IFRAME」であり、ノードN24がリダイレクト先となるリダイレクトのエッジが「HTTP302Redirect」であるため、異なる。したがって、ノード対応付け部14は、ノードN2とノードN24との場合、対象のノードN2とノードN24とがリダイレクト先となるリダイレクトの異なるエッジ数が「1」であることを求める(図7の(1)参照)。
 続いて、ノード対応付け部14は、対象のノードN2とノードN24とがそれぞれリダイレクト元となるリダイレクトの比較を行う。この場合、ノードN2がリダイレクト元となるリダイレクトのエッジが「SRC-APPLET-ARCHIVE」であり、ノードN24がリダイレクト元となるリダイレクトのエッジがない。このように、ノード対応付け部14は、対応するエッジがない場合も、「1」と計算する(図7の(2)参照)。
 したがって、ノードN2とノードN24とを対応付けた場合のコストは、対象のノードがリダイレクト先となるリダイレクトの異なるエッジ数「1」と、対象のノードがリダイレクト元となるリダイレクトの異なるエッジ数「1」と、の和であるため、「2」となる(図7の(3)参照)。
 このように、ノード対応付け部14は、木T1と木T4とにおけるノードの組み合わせごとに、コストを計算する。この結果、ノード対応付け部14は、図8に例示すように、木T1のノードN2と木T4のノードN24との組み合わせについては、上述したように、コスト「2」を取得できる(図8の(1)参照)。また、ノード対応付け部14は、ノードN2とノードN21との組み合わせについては、コスト「3」を取得できる(図8の(2)参照)。また、ノード対応付け部14は、ノードN2とノードN22との組み合わせについては、コスト「0」を取得できる(図8の(3)参照)。また、ノード対応付け部14は、ノードN2とノードN23との組み合わせについては、コスト「2」を取得できる(図8の(4)参照)。このように、すべての木T1のノードと木T4のノードとの組み合わせにおけるコストを取得する。
 そして、ノード対応付け部14は、木T1のノードと木T4のノードとの対応付け方のうち、対応づいたノードのコストの総和が最小となる組み合わせを求める。例えば、ノード数が小さい木の全てのノードをもう一方のノードに対応付けたときのコストの総和を可能な対応付け方全てで算出し、コストの総和が最小となる対応付けを求める。このとき、複数のノードが一つのノードに対応づくことは許さない。ノードの対応付け方は一例であり、接続するエッジが類似するノードの対応付けが可能であればよい。
 なお、ノード対応付け部14は、全てのノードの対応付けを出力してもよいし、接続するエッジがすべて同一のノードの組み合わせ、または、接続するエッジ数に対する同一なエッジ数の割合が閾値以上となるノードの組み合わせのみを出力してもよい。また、コストの定義は一例であり、これに限るものではなく、同一なエッジが多い場合にコストが小さくなるように、コストを定義すれば足りる。
 また、以上で説明したノードの対応付け例1及びノードの対応付け例2のうち、ノードの対応付け例1に示す部分木に基づく手法は、長いリダイレクトの影響が大きくなるように設計してある。このため、長いリダイレクトが発生することが確認できている場合は、ノードの対応付け例1に示す部分木に基づく手法が有効である。一方、長いリダイレクトが仮定できない場合であっても、ノードの対応付け例2に示す隣接するエッジに基づく方法は適用可能である。
 また、ノードの対応付け例1及びノードの対応付け例2のいずれも、対応付け方法は、局所的な構造に基づくため、攻撃コードが隠蔽されても問題なくノードの対応付けが可能となる。このため、ノードの対応付けを行った上で木の類似性を求めることによって、対象アクセスが悪性webサイトであるか否かを検知することが可能になる。そこで、次に、木の類似度の算出処理について説明する。
[木の類似度の算出]
 次に、図1に示す類似度算出部15による木の類似度の算出について説明する。類似度算出部15は、図6または図7,8に示す手法を用いてノード対応付け部14によって決定された複数の木のノードの対応付け結果を基に、類似度を算出する。図9は、類似度算出部15による木の類似度算出処理を説明する図である。
 図9では、木T1と木T4との類似度を算出する例を示す。木T1と木T4とにおいては、各ノードのうち、木T1のノードN2と木T4のノードN22とが対応関係にあり、木T1のノードN3と木T4のノードN23とが対応関係にある。
 類似度算出部15は、まず、対応関係にあるノード同士の類似度を、各ノードのコンテンツの情報を用いて算出する。この場合、類似度算出部15は、対応関係にあるノード同士の類似度を特徴ベクトルのユークリッド距離で定義する。すなわち、類似度算出部15は、一方の木の、コンテンツの情報xが付加されたノードNkと、他方の木の、コンテンツの情報yが付加されたノードNhについては、(1)式を用いて演算したユークリッド距離sk,hを、対応するノードNkとノードNhとの類似度とする。なお、対応関係にあるノード同士の類似度は、特徴ベクトルのユークリッド距離に限るものではなく、L1ノルム(各次元の差分の絶対値の和)等を用いてもよい。
Figure JPOXMLDOC01-appb-M000001
 例えば、類似度算出部15は、木T1のノードN2と木T4のノードN22との類似度s2,22を、ノードN2に付加されたコンテンツの情報xと、ノードN22に付加されたコンテンツの情報yを(1)式に適用した(2)式を用いて、算出する。
Figure JPOXMLDOC01-appb-M000002
 また、類似度算出部15は、木T1のノードN3と木T4のノードN23との類似度s3,23を、ノードN3に付加されたコンテンツの情報xと、ノードN23に付加されたコンテンツの情報yを(1)式に適用することによって、算出する。このように、類似度算出部15は、類似度算出対象の二つの木について対応関係にあるノードの組み合わせごとに、対応関係にあるノードに付加されたコンテンツの情報を用いて、類似度を算出する。
 そして、類似度算出部15は、二つの木の類似度を、「2×「対応づけられたノードの類似度の総和」÷「ノード数の和」」で定義する。例えば、図9に示す木T1と木T4との類似度を求める場合、類似度算出部15は、対応関係にあるノードN2とノードN22との類似度s、及び、対応関係にあるノードN3とノードN23との類似度sをこの定義に適用する。そして、類似度算出部15は、ノード数の和として、木T1のノード数「4」と木T4のノード数「4」をこの定義に適用する。したがって、類似度算出部15は、この定義に、対応づけられたノードの類似度の総和である(s+s)とノード数の和である(4+4)を適用した、(2×(s+s)/(4+4))(枠M1参照)を算出することによって、木T1と木T4との類似度を求める。
 なお、図9では、2つの木T1,T4の類似度算出方法を例示したが、比較する木の数は、2以上であればよい。また、図9を用いて算出した類似度の算出方法は、一例であり、対応付けられたノードの類似度に基づくものであれば、これに限るものではない。
[分類部の処理]
 次に、分類部16による分類対象の木に対する分類方法を説明する。類似度算出部15によって算出された、アクセス同士の類似度を用いて機械学習アルゴリズムを適用し、識別モデルや識別結果を出力する。
[識別モデル作成処理の処理手順]
 次に、図10及び図11を参照しながら、アクセス分類装置10の動作について、より詳細に説明する。
 まず、類似度算出部15が算出した複数の木の類似度を、特徴量空間上のベクトルへ変換した後の内積値として利用する場合の識別モデル作成例を示す。なお、識別モデルとは、入力データ(各データの数値ベクトル、または、データ同士の内積値)を入力したときに、識別結果(良性の識別、悪性の識別等)を出力するものである。図10は、類似度を内積値として用いる場合の識別モデル作成処理の処理手順を示すフローチャートである。
 まず、既知アクセス入力部12は、既知悪性アクセス及び既知良性アクセス(図3参照)を入力する(ステップS1)。続いて、木構築部13は、入力されたアクセスから木を構築し(図4参照)、構築された木から部分木を抽出する(図5参照)(ステップS2)。
 そして、ノード対応付け部14は、複数の木の間におけるノードの対応付けを行う(ステップS3)。この場合、ノード対応付け部14は、図6または図7,8に示す手法を用いて、複数の木の間でノードの対応付けを行い、複数の木の間におけるノードの対応関係を決定する。
 続いて、類似度算出部15は、ノード対応付け部14によって決定された複数の木のノードの対応付け結果を基に、図9で説明した手法を用いて、各ノードに付加されたコンテンツの情報を用いて、複数の木の類似度を算出する(ステップS4)。
 そして、分類部16は、入力の高次元空間への変換後の内積値を利用する既存の教師あり機械学習を、木の類似度を内積値として用い、既知悪性アクセスと既知良性アクセスを教師データとして適用し(ステップS5)、識別モデルを出力する(ステップS6)。言い換えると、分類部16は、ステップS1にて入力されたアクセスとステップS4にて算出された類似度とを、入力の高次元空間への変換後の内積値を利用する教師あり機械学習に適用する。すなわち、分類部16は、ステップS1において入力された既知良性アクセスと既知悪性アクセスとを「教師データ」とし、ステップS4にて算出された類似度を、教師データを特徴量空間上のベクトルへ変換した後の「内積値」とした教師あり機械学習により、識別モデルを作成する。分類部16は、例えば、識別モデルとして、既知悪性アクセスおよび既知良性アクセスと識別対象のアクセスとの内積値の重み付け和の正負で識別結果を決定する手法を用いる場合は、各既知アクセスに対応する重みをモデルパラメータとして出力する。なお、教師あり機械学習の手法は、例えば、サポートベクターマシン等であるが、これに限らない。
 また、分類部16は、作成された識別モデルを、後述するハードディスクドライブ1090に出力する。出力された識別モデルは、ハードディスクドライブ1090内にデータとして保存される。
[アクセス識別処理]
 続いて、類似度算出部15が算出した複数の木の間における類似度を、特徴量空間上のベクトルへ変換した後の内積値として利用する場合のアクセス識別例を示す。図11は、類似度を内積値として用いる場合のアクセス識別処理の処理手順を示すフローチャートである。
 まず、対象アクセス入力部11は、解析対象アクセス(図2参照)を入力する(ステップS11)。続いて、木構築部13は、入力されたアクセスから木を構築し(図4参照)、構築された木から部分木を抽出する(図5参照)(ステップS12)。
 そして、ノード対応付け部14は、解析対象アクセスに対応する木と、比較対象である既知アクセスに対応する木との間におけるノードの対応付けを行う(ステップS13)。この場合、ノード対応付け部14は、図6または図7,8に示す手法を用いて、解析対象アクセスに対応する木と、比較対象である既知アクセスに対応する木との間でノードの対応付けを行い、この二つの木の間におけるノードの対応関係を決定する。
 そして、類似度算出部15は、各ノードに付加されたコンテンツの情報を用いて、解析対象アクセスに対応する木と、比較対象である既知アクセスに対応する木との類似度を算出する(ステップS14)。この場合、類似度算出部15は、ノード対応付け部14によって決定された解析対象アクセスに対応する木と、比較対象である既知アクセスに対応する木とのノードの対応付け結果を基に、図9で説明した手法を用いて、解析対象アクセスに対応する木と、比較対象である既知アクセスに対応する木の類似度を算出する。
 続いて、分類部16は、事前に学習した識別モデルを読み込み、入力の高次元空間への変換後の内積値を利用する既存の教師あり機械学習を、木の類似度を内積値として用い、解析対象アクセスをテストデータとすることで適用し(ステップS15)、識別結果を出力する(ステップS16)。言い換えると、分類部16は、ステップS11にて入力されたアクセスとステップS14にて算出された類似度とを、入力の高次元空間への変換後の内積値を利用する教師あり機械学習に適用する。すなわち、分類部16は、ステップS11にて入力された解析対象アクセスを「テストデータ」とし、ステップS14にて算出された類似度を、テストデータを特徴量空間上のベクトルへ変換した後の「内積値」とした教師あり機械学習により、識別結果を作成する。
 例えば、分類部16は、識別結果として、解析対象アクセスが、比較対象の既知アクセスと特徴が類似するものであるか否かを分類する。例えば、比較対象の既知アクセスが悪性の既知アクセスであって、解析対象アクセスが比較対象の既知アクセスと特徴が類似するものであると分類した場合には、悪性webサイトへのアクセスであると判定した識別結果を出力する。
 なお、教師あり機械学習の手法は、例えば、サポートベクターマシン等であるが、上述した識別モデル作成処理に用いた手法と同一の手法であれば、これに限らない。ステップS16では、分類部16は、作成された識別結果を、後述するディスプレイ1130等の表示装置に出力する。また、図11に示す処理は、比較対象として設定された既知アクセスごとに実行する。
[実施の形態1の効果]
 このように、本実施の形態1に係るアクセス分類装置10は、入力されたアクセスから木を構築する際に、木のノードにコンテンツの情報を付加する。そして、アクセス分類装置10は、複数の木を構成する各ノードの対応関係を決定し、木同士において対応付けられたノード同士の類似度を用いて木同士の類似度を算出した後、算出した類似度を用いて、自動転送を含む宛先への一連のアクセスを分類している。
 これによって、本実施の形態1では、ユーザ端末からwebサーバへのアクセスを自動転送し、転送先のwebサイトでブラウザやプラグインの脆弱性を攻撃することでマルウェアをダウンロードさせる悪性webサイトがあっても、アクセス分類装置10は、類似したリダイレクト関係にあるコンテンツの類似度をもとに検知することができる。したがって、アクセス分類装置10は、悪性と判定されたwebサイトへのユーザ端末のアクセスを遮断することで、ユーザ端末のマルウェアへの感染を未然に防ぐことができる。このため、本実施の形態1によれば、自動転送を含むwebサイトの構造とコンテンツの特徴から悪性webサイトを識別することができる。また、実施の形態1によれば、1回のアクセスにより識別可能な悪性webサイト識別手法の構築が可能となる。
 そして、アクセス分類装置10は、木のノードに付加するコンテンツの情報として、コンテンツを数値化し、悪性なコンテンツの情報のみ抽出したものを生成する。この結果、本実施の形態1では、悪性なコンテンツに意味のないコードが追加されたり、攻撃に関係ないコードが削除されたりしていた場合も、数値化されたベクトルの変化は少ないため、悪性webサイトを検知することができ、攻撃者による回避を困難にすることができる。
 そして、アクセス分類装置10は、部分木を抽出する処理において、パスに着目して部分木を抽出している。言い換えると、アクセス分類装置10は、悪性な特徴を表現する部分木を抽出して、以降の処理のノード対応付け対象となる部分木の数を減らすことで、計算量を削減できるものと考えられる。
 また、アクセス分類装置10は、木の局所的な構造に基づいてノードの対応付けを行うため、攻撃コードが隠蔽されてもノードの対応付けが可能となる。アクセス分類装置10は、このノードの対応付けを行った上で、コンテンツの情報を基に木の類似性を求めることによって、解析対象アクセスと悪性webサイト或いは良性サイトとの類似度を精度よく算出することができる。すなわち、本実施の形態1では、攻撃コードが隠蔽されていた場合であっても、解析対象アクセスの分類を精度よく行うことができる。
 以上のように、本実施の形態1では、リダイレクトグラフの形への着目に加えて、複数のコンテンツのリダイレクトによる関連性も考慮することによって、悪性の特徴、良性の特徴のいずれに近いかの識別精度を向上させている。したがって、本実施の形態1によれば、攻撃者によって回避されにくいweb検索が可能であり、また、攻撃コードが取得できずグラフが小さくなった悪性webサイトについても、高い検知精度での検知を実現することができる。
[実施の形態2]
 次に、実施の形態2に係るアクセス分類装置について、概略構成、アクセス分類処理の流れ及び具体例を説明する。
 図12は、実施の形態2に係るアクセス分類装置の概略構成を示す模式図である。図12に示すように、実施の形態2に係るアクセス分類装置210は、図1に示すノード対応付け部14、類似度算出部15及び分類部16に代えて、ノード対応付け部214、類似度算出部215及び分類部216を有する。そして、アクセス分類装置210は、図1のアクセス分類装置10と比して、代表木作成部217をさらに有する。
 ノード対応付け部214は、ノード対応付け部14と同様の機能を有するとともに、既知アクセスに対応する木、或いは、解析対象の宛先へのアクセスに対応する木と、代表木(後述)とのノード同士を対応付ける。類似度算出部215は、類似度算出部15と同様の機能を有するとともに、アクセスに対応する木と、代表木(後述)との類似度を、これらの木同士において対応付けられたノード同士の類似度を用いて算出する。
 分類部216は、代表木(後述)とアクセスに対応する木との類似度に基づき、アクセスを分類する。
 代表木作成部217は、類似度算出部215によって算出された類似度に基づき、複数の木を、類似度の高い木から構成される複数の集合に分類する。そして、各集合の特徴を表す部分木を、代表木として作成する。代表木作成部217は、既知アクセス入力部12により入力されたアクセスを、類似度算出部215により算出された類似度を基に複数の集合に分割し、各集合内の木に共通する部分木を代表木として作成する。
[代表木の作成]
 代表木の作成では、複数の木を複数の集合に分割し、各集合から代表木を作成する。図13は、複数の木を、複数の集合へ分類する方法を示す図である。
 図13に示すように、代表木作成部217は、図4に示した複数の木(アクセス)を、類似度の高い木で構成される複数の集合へ分割する。代表木作成部217は、各集合がそれぞれ1つずつの木のみで構成されている状態から、各集合に属する木同士の上記類似度の最大値が閾値以上の場合に集合を結合する。代表木作成部217は、この結合処理を、結合させる集合がなくなるまで繰り返し実行する。
 例えば、図13(a)に示す例では、各集合C1~C5が、それぞれ1つずつの木(木T11~T15)のみにより構成されている。分類部16は、複数の木T11~T15を、類似度の高い木で構成される複数の集合C1’~C3’へ分類する。図13(b)に示す例では、類似度の最大値が閾値以上の木T11と木T12とがそれぞれ属する集合C1と集合C2とが結合され、同一の集合C1’に分類される。同様に、類似度の最大値が閾値以上の木T13と木T15とがそれぞれ属する集合C3と集合C5とが結合され、同一の集合C2’に分類される。
 この結合処理は繰り返し実行されるため、図13(c)に示す様に、集合C1”に属する全ての木T11,T12において、同じ集合C1”に属する他の木との類似度の最大値が閾値以上となる。同様に、集合C2”に属する全ての木T13~T15において、同じ集合C2”に属する他の木との類似度の最大値が閾値以上となる。これにより、類似度が高い木(木T11,T12と木T13~T15)で構成される複数の集合(集合C1”と集合C2”)への分類が可能となる。
 なお、集合を結合させる基準として、分類部216は、類似度の最大値を用いたが、これに限らず、類似度の最小値や平均値を用いてもよい。類似度の最大値を用いた場合、複数の木に共通して含まれる一部の部分木が共通な木の集合が作成されるが、最大値の代わりに類似度の最小値を用いた場合、分類部16は、多くの部分木が共通な木の集合を作成することができる。また、平均値を用いた場合、分類部16は、それらの中間の木の集合を作成することができる。また、集合を結合させる基準として閾値を設定したが、分類部16は、閾値を設定することなく、類似度が最大となる集合同士から優先的に結合させ、該結合処理を、全体が1つの集合になるまで繰り返し、その後、各集合を結合させた過程の内、何れの段階を採用するかを決定するものとしてもよい。さらに、結合対象の集合の数は、2に限らず、2以上であればよい。
 図14は、木の集合から代表木を作成する方法を示す図である。図14に示すように、アクセス分類装置210は、代表木作成部217により、木構築部13の抽出した部分木(図5参照)を基に、代表木作成部217の作成した木の集合(図13参照)から、代表木を作成する。例えば、代表木作成部217は、集合中の全ての木に共通する部分木を代表木とする。図14に示す例では、代表木作成部217は、同一集合中の木T1,T5に共通する部分木(N1-E3-N4)を、この集合の特徴を表す代表木T9とする。また、代表木としては、コンテンツを無視して共通な部分木を抽出し、コンテンツの情報として各ノードの特徴ベクトルの平均を用いてもよい。
 なお、代表木作成部217は、集合中の全ての木に共通する部分木を代表木としたが、これに限らず、集合中の所定割合以上の木に含まれる部分木の集合を代表木としてもよい。また、ノードN1~N4,N55~N58に付されたURL情報を除去しない態様の場合には、代表木作成部217は、転送命令だけでなくURL情報も含めて、代表木T9の作成のための一致・不一致の判定を行うものとしてもよい。さらに、比較対象の木の数は、2に限らず、2以上であればよい。
[識別モデル作成処理の処理手順]
 次に、図15及び図16を参照しながら、アクセス分類装置210の動作について、より詳細に説明する。
 図15は、代表木との類似度を用いる場合の識別モデル作成処理の処理手順を示すフローチャートである。なお、図15は、図10と同様のステップを複数含むので、共通するステップには、末尾が同一の参照符号を付すと共に、その詳細な説明は省略する。具体的には、図15のステップS21~S24,S29の各処理は、図10に示したステップS1~S4,S6の各処理にそれぞれ対応する。
 代表木作成部217は、ステップS24にて算出された類似度に基づき、ステップS22にて構築された複数の木を、類似度の高い木から構成される複数の集合に分類し(図13参照)、集合ごとに、各集合の特徴を表す部分木(例えば、同一集合内の共通部分木)を、代表木として作成する(図14参照)(ステップS25)。
 続いて、ノード対応付け部214は、図6または図7,8に示す手法を用いて、代表木と既知アクセスの木とのノードの対応付けを行う(ステップS26)。そして、類似度算出部215は、各ノードに付加されたコンテンツの情報を用いて、代表木と既知アクセスの木の類似度を算出する(図9参照)(ステップS27)。なお、アクセス分類装置210は、ステップS26,S27は、入力された既知アクセスごとに処理を行い、全ての既知アクセスについてステップS26,S27を行った後に次のステップS28の処理に進む。
 そして、分類部216は、代表木との類似度を並べたベクトルをアクセスの特徴ベクトルとして用いた教師あり機械学習を適用し(ステップS28)、識別モデルを作成する。なお、教師あり機械学習の手法は、線形判別分析、サポートベクターマシン、ランダムフォレスト等であるが、これらの手法に限らない。
[アクセス識別処理]
 図16は、代表木との類似度を用いる場合のアクセス識別処理の処理手順を示すフローチャートである。図16は、図11と同様のステップを複数含むので、共通するステップには、末尾が同一の参照符号を付すと共に、その詳細な説明は省略する。具体的には、図16のステップS31,S32,S36の各処理は、図11に示したステップS11,S12,S16の各処理にそれぞれ対応する。
 ノード対応付け部214は、代表木と対象アクセスの木とのノードの対応付けを行う(ステップS33)。そして、類似度算出部215は、対象アクセスの木と、代表木作成部217により作成された代表木との類似度を、これらの木同士において対応付けられたノード同士の類似度を用いて算出する(ステップS34)。
 続いて、代表木との類似度を並べたベクトルをアクセスの特徴ベクトルとして用い、教師あり機械学習を適用し(ステップS35)、識別結果を出力する(ステップS36)。
なお、教師あり機械学習の手法は、例えば、線形判別分析、サポートベクターマシン、ランダムフォレスト等であるが、図15における識別モデル作成処理に用いた手法と同一の手法であれば、これらの手法に限らない。
[実施の形態2の効果]
 このように、実施の形態2に係るアクセス分類装置210では、代表木とアクセスとの類似度を、この代表木とアクセスに対応する木との間で対応付けられたノードのコンテンツの類似度を用いて算出し、アクセスを分類する。したがって、実施の形態2に示す代表木とアクセスとを比較する構成においても、この代表木とアクセスに対応する木との間で対応付けられたノードのコンテンツの類似度も考慮することによって、識別精度を向上させることが可能になる。
[他の実施の形態]
[システム構成等]
 図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、CPU(Central Processing Unit)及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
 また、本実施の形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部又は一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
 図17は、プログラムが実行されることにより、アクセス分類装置10,210が実現されるコンピュータの一例を示す図である。コンピュータ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,210の各処理を規定するプログラムは、コンピュータ1000により実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、アクセス分類装置10,210における機能構成と同様の処理を実行するためのプログラムモジュール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によって読み出されてもよい。
 以上、本発明者によってなされた発明を適用した実施の形態について説明したが、本実施の形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施の形態に基づいて当業者等によりなされる他の実施の形態、実施例及び運用技術等は全て本発明の範疇に含まれる。
 10,210 アクセス分類装置
 11 対象アクセス入力部
 12 既知アクセス入力部
 13 木構築部
 14,214 ノード対応付け部
 15,215 類似度算出部
 16,216 分類部
 217 代表木作成部
 C1~C5,C1’~C3’,C1”,C2” 集合
 E1~E7,E21~E23,E54~E56 エッジ
 N1~N12,N21~N24,N55~N58 ノード
 T1,T2,T3,T4,T5,T11~T15 木
 T1-1,T1-2,T1-3,T1-4,T2-1,T3-1 部分木
 T9 代表木

Claims (7)

  1.  少なくとも第1の宛先及び第2の宛先をノードとし、該ノードに対応するコンテンツの情報を該ノードに付加し、前記第1の宛先から前記第2の宛先へアクセスを転送する命令をエッジとする複数の木を構築する木構築部と、
     前記木構築部によって構築された複数の木について、前記木の各々の局所的な構造の類似性を基に前記複数の木のノード同士を対応付けるノード対応付け部と、
     前記複数の木において対応付けられたノード同士の類似度を、これらのノードに付加されたコンテンツの情報に基づいて算出し、該算出した前記対応付けられたノード同士の類似度を用いて前記複数の木の類似度を算出する類似度算出部と、
     前記類似度算出部によって算出された類似度に基づいて、前記アクセスを、特徴が類似する集合に分類する分類部と、
     を有することを特徴とするアクセス分類装置。
  2.  前記木構築部は、構築した前記複数の木から部分木をそれぞれ抽出し、
     前記ノード対応付け部は、前記複数の木について前記木構築部が抽出した部分木のうち、前記エッジが一致する複数の部分木を特定し、該特定した前記複数の部分木における前記ノードの対応関係によって、前記複数の木におけるノードの対応関係を決定することを特徴とする請求項1に記載のアクセス分類装置。
  3.  前記ノード対応付け部は、前記複数の木について、前記ノードに接続する前記エッジの一致度が高い組み合わせのノードを対応付けることを特徴とする請求項1に記載のアクセス分類装置。
  4.  前記分類部は、前記類似度算出部によって算出された前記類似度を用いて、前記複数の木の特徴量の空間での内積値を算出し、前記アクセスを分類することを特徴とする請求項1~3のいずれか一つに記載のアクセス分類装置。
  5.  前記類似度算出部によって算出された前記類似度に基づき、前記複数の木を、類似度の高い複数の木により構成される複数の集合に分類し、各集合の特徴を表す部分木を、代表木として作成する代表木作成部と、
     をさらに有し、
     前記ノード対応付け部は、前記木構築部によって構築された宛先へのアクセスに対応する木と、前記代表木とのノード同士を対応付け、
     前記類似度算出部は、前記宛先へのアクセスに対応する木と、前記代表木との類似度を算出し、
     前記分類部は、前記代表木と前記宛先へのアクセスに対応する木との類似度に基づき、前記アクセスを分類することを特徴とする請求項1または2に記載のアクセス分類装置。
  6.  入力されたアクセスを、特徴が類似する集合に分類するアクセス分類装置が実行するアクセス分類方法であって、
     少なくとも第1の宛先及び第2の宛先をノードとし、該ノードに対応するコンテンツの情報を該ノードに付加し、前記第1の宛先から前記第2の宛先へアクセスを転送する命令をエッジとする複数の木を構築する木構築工程と、
     前記木構築工程において構築された複数の木について、前記木の各々の局所的な構造の類似性を基に前記複数の木のノード同士を対応付けるノード対応付け工程と、
     前記複数の木において対応付けられたノード同士の類似度を、これらのノードに付加されたコンテンツの情報に基づいて算出し、該算出した前記対応付けられたノード同士の類似度を用いて前記複数の木の類似度を算出する類似度算出工程と、
     前記類似度算出工程において算出された類似度に基づいて、前記アクセスを、特徴が類似する集合に分類する分類工程と、
     を含んだことを特徴とするアクセス分類方法。
  7.  少なくとも第1の宛先及び第2の宛先をノードとし、該ノードに対応するコンテンツの情報を該ノードに付加し、前記第1の宛先から前記第2の宛先へアクセスを転送する命令をエッジとする複数の木を構築する木構築ステップと、
     前記木構築ステップにおいて構築された複数の木について、前記木の各々の局所的な構造の類似性を基に前記複数の木のノード同士を対応付けるノード対応付けステップと、
     前記複数の木において対応付けられたノード同士の類似度を、これらのノードに付加されたコンテンツの情報に基づいて算出し、該算出した前記対応付けられたノード同士の類似度を用いて前記複数の木の類似度を算出する類似度算出ステップと、
     前記類似度算出ステップにおいて算出された類似度に基づいて、前記アクセスを、特徴が類似する集合に分類する分類ステップと、
     をコンピュータに実行させるためのアクセス分類プログラム。
PCT/JP2017/018213 2016-06-17 2017-05-15 アクセス分類装置、アクセス分類方法及びアクセス分類プログラム WO2017217163A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018523591A JP6503141B2 (ja) 2016-06-17 2017-05-15 アクセス分類装置、アクセス分類方法及びアクセス分類プログラム
EP17813066.2A EP3454230B1 (en) 2016-06-17 2017-05-15 Access classification device, access classification method, and access classification program
US16/307,358 US11212297B2 (en) 2016-06-17 2017-05-15 Access classification device, access classification method, and recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016-120656 2016-06-17
JP2016120656 2016-06-17

Publications (1)

Publication Number Publication Date
WO2017217163A1 true WO2017217163A1 (ja) 2017-12-21

Family

ID=60664009

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/018213 WO2017217163A1 (ja) 2016-06-17 2017-05-15 アクセス分類装置、アクセス分類方法及びアクセス分類プログラム

Country Status (4)

Country Link
US (1) US11212297B2 (ja)
EP (1) EP3454230B1 (ja)
JP (1) JP6503141B2 (ja)
WO (1) WO2017217163A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021229786A1 (ja) * 2020-05-15 2021-11-18 日本電信電話株式会社 学習装置、検出装置、学習方法、検出方法、学習プログラムおよび検出プログラム
JP2022157254A (ja) * 2021-03-31 2022-10-14 エヌ・ティ・ティ・コミュニケーションズ株式会社 分析装置、分析方法及び分析プログラム
JP7391960B2 (ja) 2019-01-30 2023-12-05 インターナショナル・ビジネス・マシーンズ・コーポレーション エクスプロイト・キット検出

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11270001B2 (en) * 2016-10-03 2022-03-08 Nippon Telegraph And Telephone Corporation Classification apparatus, classification method, and classification program
TWI648650B (zh) * 2017-07-20 2019-01-21 中華電信股份有限公司 閘道裝置、其惡意網域與受駭主機的偵測方法及非暫態電腦可讀取媒體
US10637887B2 (en) * 2017-12-29 2020-04-28 Cyphort Inc. System for query injection detection using abstract syntax trees
US11258809B2 (en) * 2018-07-26 2022-02-22 Wallarm, Inc. Targeted attack detection system
US11042634B2 (en) * 2018-12-21 2021-06-22 Fujitsu Limited Determining information leakage of computer-readable programs
US11843618B1 (en) 2022-05-15 2023-12-12 Uab 360 It Optimized analysis for detecting harmful content
CN116186628B (zh) * 2023-04-23 2023-07-07 广州钛动科技股份有限公司 App应用自动打标方法和系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013257773A (ja) * 2012-06-13 2013-12-26 Nippon Telegr & Teleph Corp <Ntt> 監視装置および監視方法
JP2016057767A (ja) * 2014-09-08 2016-04-21 Kddi株式会社 解析装置、解析方法およびコンピュータプログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030130977A1 (en) * 1999-08-06 2003-07-10 Oommen B. John Method for recognizing trees by processing potentially noisy subsequence trees
US7899067B2 (en) * 2002-05-31 2011-03-01 Cisco Technology, Inc. Method and apparatus for generating and using enhanced tree bitmap data structures in determining a longest prefix match
GB2452760A (en) * 2007-09-14 2009-03-18 Data Connection Ltd Storing and searching data in a database tree structure for use in data packet routing applications.
JP2010009219A (ja) * 2008-06-25 2010-01-14 Canon Inc 情報処理装置、情報処理方法及びプログラム
US8161130B2 (en) 2009-04-10 2012-04-17 Microsoft Corporation Bottom-up analysis of network sites
US9356941B1 (en) 2010-08-16 2016-05-31 Symantec Corporation Systems and methods for detecting suspicious web pages
US9087142B2 (en) * 2010-10-30 2015-07-21 Hewlett-Packard Development Company, L.P. Determining a similarity between tree related structures
JP6148323B2 (ja) 2012-03-22 2017-06-14 ロス アラモス ナショナル セキュリティー,リミテッド ライアビリティー カンパニーLos Alamos National Security,Llc 計算機ネットワークにおいて調整グループ攻撃を識別する異常検出
US9264312B2 (en) * 2013-09-30 2016-02-16 Cisco Technology, Inc. Method and system to calculate multiple shortest path first trees
US9641542B2 (en) * 2014-07-21 2017-05-02 Cisco Technology, Inc. Dynamic tuning of attack detector performance
US9419991B2 (en) * 2014-09-30 2016-08-16 Juniper Networks, Inc. De-obfuscating scripted language for network intrusion detection using a regular expression signature
US9723016B2 (en) * 2015-05-14 2017-08-01 International Business Machines Corporation Detecting web exploit kits by tree-based structural similarity search
US10255323B1 (en) * 2015-08-31 2019-04-09 Google Llc Quantization-based fast inner product search
US10148571B2 (en) * 2016-06-20 2018-12-04 Mellanox Technologies Tlv Ltd. Jump on a match optimization for longest prefix match using a binary search tree

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013257773A (ja) * 2012-06-13 2013-12-26 Nippon Telegr & Teleph Corp <Ntt> 監視装置および監視方法
JP2016057767A (ja) * 2014-09-08 2016-04-21 Kddi株式会社 解析装置、解析方法およびコンピュータプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
See also references of EP3454230A4 *
TOSHIKI SHIBAHARA: "Redirect no Kozoteki Ruijisei ni Motozuku Akusei Web Page Kenchi Shuho", COMPUTER SECURITY SYMPOSIUM 2015 RONBUNSHU, vol. 2015, no. 3, 21 October 2015 (2015-10-21), pages 496 - 503, XP009518221 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7391960B2 (ja) 2019-01-30 2023-12-05 インターナショナル・ビジネス・マシーンズ・コーポレーション エクスプロイト・キット検出
WO2021229786A1 (ja) * 2020-05-15 2021-11-18 日本電信電話株式会社 学習装置、検出装置、学習方法、検出方法、学習プログラムおよび検出プログラム
JP7439916B2 (ja) 2020-05-15 2024-02-28 日本電信電話株式会社 学習装置、検出装置、学習方法、検出方法、学習プログラムおよび検出プログラム
JP2022157254A (ja) * 2021-03-31 2022-10-14 エヌ・ティ・ティ・コミュニケーションズ株式会社 分析装置、分析方法及び分析プログラム
JP7157200B1 (ja) 2021-03-31 2022-10-19 エヌ・ティ・ティ・コミュニケーションズ株式会社 分析装置、分析方法及び分析プログラム

Also Published As

Publication number Publication date
JP6503141B2 (ja) 2019-04-17
EP3454230B1 (en) 2020-07-01
EP3454230A4 (en) 2019-11-27
US11212297B2 (en) 2021-12-28
EP3454230A1 (en) 2019-03-13
US20190297092A1 (en) 2019-09-26
JPWO2017217163A1 (ja) 2018-10-04

Similar Documents

Publication Publication Date Title
JP6503141B2 (ja) アクセス分類装置、アクセス分類方法及びアクセス分類プログラム
Vinayakumar et al. Evaluating deep learning approaches to characterize and classify malicious URL’s
Shibahara et al. Efficient dynamic malware analysis based on network behavior using deep learning
Patil et al. Malicious URLs detection using decision tree classifiers and majority voting technique
Jiang et al. A deep learning based online malicious URL and DNS detection scheme
Shibahara et al. Malicious URL sequence detection using event de-noising convolutional neural network
JP6557334B2 (ja) アクセス分類装置、アクセス分類方法、及びアクセス分類プログラム
RU2708356C1 (ru) Система и способ двухэтапной классификации файлов
US10038706B2 (en) Systems, devices, and methods for separating malware and background events
KR101806118B1 (ko) 오픈 포트 배너 키워드 분석을 통한 취약점 정보를 식별하는 방법 및 장치
Mimura et al. Filtering malicious javascript code with doc2vec on an imbalanced dataset
US20190180032A1 (en) Classification apparatus, classification method, and classification program
Shibahara et al. Detecting malicious websites by integrating malicious, benign, and compromised redirection subgraph similarities
CN115086004A (zh) 一种基于异质图的安全事件识别方法及系统
He et al. Malicious domain detection via domain relationship and graph models
CN107786529B (zh) 网站的检测方法、装置及系统
Sohan et al. A systematic literature review and quality analysis of Javascript malware detection
Dib et al. Evoliot: A self-supervised contrastive learning framework for detecting and characterizing evolving iot malware variants
Ravi et al. Analysing corpus of office documents for macro-based attacks using machine learning
WO2018047027A1 (en) A method for exploring traffic passive traces and grouping similar urls
Kumar et al. Detection of malware using deep learning techniques
CN114697066A (zh) 网络威胁检测方法和装置
Bagane et al. Classification of Malware using Deep Learning Techniques
CN113688240B (zh) 威胁要素提取方法、装置、设备及存储介质
EP3361405A1 (en) Enhancement of intrusion detection systems

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2018523591

Country of ref document: JP

Kind code of ref document: A

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

Ref document number: 17813066

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017813066

Country of ref document: EP

Effective date: 20181206

NENP Non-entry into the national phase

Ref country code: DE