WO2022079821A1 - 判定装置、判定方法および判定プログラム - Google Patents

判定装置、判定方法および判定プログラム Download PDF

Info

Publication number
WO2022079821A1
WO2022079821A1 PCT/JP2020/038730 JP2020038730W WO2022079821A1 WO 2022079821 A1 WO2022079821 A1 WO 2022079821A1 JP 2020038730 W JP2020038730 W JP 2020038730W WO 2022079821 A1 WO2022079821 A1 WO 2022079821A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
generated
generated content
feature amount
unit
Prior art date
Application number
PCT/JP2020/038730
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 EP20957650.3A priority Critical patent/EP4213048A4/en
Priority to JP2022556742A priority patent/JP7459961B2/ja
Priority to PCT/JP2020/038730 priority patent/WO2022079821A1/ja
Priority to US18/031,620 priority patent/US20230388337A1/en
Publication of WO2022079821A1 publication Critical patent/WO2022079821A1/ja

Links

Images

Classifications

    • 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/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • 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
    • 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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • 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

Definitions

  • the present invention relates to a determination device, a determination method, and a determination program.
  • SE social engineering
  • Non-Patent Documents 1 and 2 For example, conventionally, a technique for determining a malignant site using a feature amount for a specific service has been disclosed (see Non-Patent Documents 1 and 2).
  • Non-Patent Document 1 in order to capture various attacks, the design of the feature amount for detection is not appropriate, and the detection accuracy and the detection range are insufficient. Further, in the technique described in Non-Patent Document 2, since the feature quantity premised on accessing all URLs is used, the detection speed is insufficient and the detection accuracy is also insufficient.
  • the present invention has been made in view of the above, and an object of the present invention is to detect a malignant site quickly and with high accuracy.
  • the determination device includes a calculation unit that calculates the feature amount of the user-generated content generated by the user in a predetermined period, and the calculated regular user. Is the user-generated content generated by the malicious user by the learning unit that learns using the feature amount of the user-generated content generated by the malicious user and the feature amount of the content generated by the malicious user, and the learned model? It is characterized by having a determination unit for determining whether or not it is present.
  • FIG. 1 is a diagram for explaining an outline of the detection device of the present embodiment.
  • FIG. 2 is a schematic diagram illustrating a schematic configuration of the detection device of the present embodiment.
  • FIG. 3 is a diagram for explaining the processing of the collection function unit.
  • FIG. 4 is a diagram for explaining the processing of the generation unit.
  • FIG. 5 is a diagram for explaining the processing of the determination function unit.
  • FIG. 6 is a diagram for explaining the processing of the calculation unit.
  • FIG. 7 is a diagram for explaining the processing of the calculation unit.
  • FIG. 8 is a diagram for explaining the processing of the calculation unit.
  • FIG. 9 is a diagram for explaining the processing of the calculation unit.
  • FIG. 10 is a diagram for explaining the processing of the extraction function unit.
  • FIG. 11 is a diagram for explaining threat information.
  • FIG. 10 is a diagram for explaining the processing of the extraction function unit.
  • FIG. 11 is a diagram for explaining threat information.
  • FIG. 10 is a diagram for explaining the processing of the
  • FIG. 12 is a diagram for explaining threat information.
  • FIG. 13 is a flowchart showing a processing procedure of the collection function unit.
  • FIG. 14 is a flowchart showing a processing procedure of the determination function unit.
  • FIG. 15 is a flowchart showing a processing procedure of the determination function unit.
  • FIG. 16 is a flowchart showing a processing procedure of the extraction function unit.
  • FIG. 17 is a flowchart showing a processing procedure of the extraction function unit.
  • FIG. 18 is a diagram showing an example of a computer that executes a detection program.
  • FIG. 1 is a diagram for explaining an outline of the detection device.
  • the detection device 1 of the present embodiment collects user-generated contents such as videos, blogs, and bulletin board posts generated by users and posted on the Web in online services such as Facebook (registered trademark) and Twitter (registered trademark). , Perform analysis.
  • the detection device 1 efficiently obtains user-generated content that is highly likely to be malicious by the attacker by using the feature that the user-generated content by the attacker is diffused in a context similar to a specific timing. Collect and analyze whether it is malignant or not. Further, when the detection device 1 determines that the content is malicious user-generated content as a result of analysis, the detection device 1 extracts threat information, which is a characteristic that can be a threat, from the malicious user-generated content, and outputs a threat report. ..
  • the detection device 1 extracts a similar context of user-generated content to generate a search query, and efficiently collects user-generated content that is highly likely to be malicious using the search query.
  • the detection device 1 extracts a similar context of user-generated content to generate a search query, and efficiently collects user-generated content that is highly likely to be malicious using the search query.
  • a large number of users of a specific service generated at the same time can be used. Make a malicious judgment of the generated content.
  • the detection device 1 is a Web content obtained by accessing the URL described in the user-generated content for the user-generated content generated by the attacker and the user-generated content generated by the legitimate user in an arbitrary service. Learn feature differences. Then, the detection device 1 uses the learned feature difference to perform a malignancy determination on the user-generated content generated in large quantities by an arbitrary service at the same time.
  • the detection device 1 when the detection device 1 is determined to be malicious user-generated content, the detection device 1 extracts threat information, which is a characteristic that can be a threat, from the malicious user-generated content, and outputs a threat report. In this way, the detection device 1 detects an attack that can be a threat in real time.
  • threat information which is a characteristic that can be a threat
  • FIG. 2 is a schematic diagram illustrating a schematic configuration of the detection device of the present embodiment.
  • the detection device 1 of the present embodiment includes a collection function unit 15A, a determination function unit 15B, and an extraction function unit 15C.
  • Each of these functional units may be mounted on hardware different from that of the detection device 1. That is, the detection device 1 may be implemented as a detection system including a collection device, a determination device, and an extraction device.
  • the detection device 1 is realized by a general-purpose computer such as a personal computer, and includes an input unit 11, an output unit 12, a communication control unit 13, a storage unit 14, and a control unit 15.
  • the input unit 11 is realized by using an input device such as a keyboard or a mouse, and inputs various instruction information such as processing start to the control unit 15 in response to an input operation by the operator.
  • the output unit 12 is realized by a display device such as a liquid crystal display, a printing device such as a printer, or the like. For example, the output unit 12 displays the result of the detection process described later.
  • the communication control unit 13 is realized by a NIC (Network Interface Card) or the like, and controls communication between an external device and the control unit 15 via a telecommunication line such as a LAN (Local Area Network) or the Internet.
  • a NIC Network Interface Card
  • the communication control unit 13 controls communication between a server or the like that manages user-generated content or the like of each service and the control unit 15.
  • the storage unit 14 is realized by a semiconductor memory element such as a RAM (Random Access Memory) or a flash memory (Flash Memory), or a storage device such as a hard disk or an optical disk.
  • the storage unit 14 stores in advance a processing program for operating the detection device 1, data used during execution of the processing program, and the like, or temporarily stores each time the processing is performed.
  • the storage unit 14 may be configured to communicate with the control unit 15 via the communication control unit 13.
  • the storage unit 14 stores threat information and the like obtained as a result of the detection process described later. Further, the storage unit 14 may store user-generated content acquired by the acquisition unit 15a, which will be described later, from the server or the like of each service prior to the detection process.
  • the control unit 15 is realized by using a CPU (Central Processing Unit) or the like, and executes a processing program stored in a memory. As a result, the control unit 15 functions as a collection function unit 15A, a determination function unit 15B, and an extraction function unit 15C, as illustrated in FIG.
  • a CPU Central Processing Unit
  • the control unit 15 functions as a collection function unit 15A, a determination function unit 15B, and an extraction function unit 15C, as illustrated in FIG.
  • the collection function unit 15A includes an acquisition unit 15a, a generation unit 15b, and a collection unit 15c. Further, the determination function unit 15B includes a calculation unit 15d, a learning unit 15e, and a determination unit 15f. Further, the extraction function unit 15C includes an extraction unit 15g, a learning unit 15e, and a determination unit 15f.
  • the collection function unit 15A, the determination function unit 15B, and the extraction function unit 15C may be mounted on different hardware as a collection device, a determination device, and an extraction device, respectively.
  • the control unit 15 may include other functional units.
  • FIG. 3 is a diagram for explaining the processing of the collection function unit.
  • the collection function unit 15A extracts a similar context as a key phrase from a user-generated content group generated at the same time by a certain service, and generates a search query. Further, the collection function unit 15A efficiently collects user-generated content of any service having a high possibility of being malignant by using the generated search query of the key phrase having a high possibility of being malignant.
  • the acquisition unit 15a acquires user-generated content generated in each service during a predetermined period. Specifically, the acquisition unit 15a acquires user-generated content from the server or the like of each service via the input unit 11 or the communication control unit 13.
  • the acquisition unit 15a acquires user-generated content in which a URL is described for a predetermined service.
  • the acquisition unit 15a may acquire the user-generated content periodically at predetermined time intervals or by designating the time posted using "since" and "until”. Further, the acquisition unit 15a may acquire the user-generated content in which the URL is described by using "filters”. As a result, the acquisition unit 15a can acquire user-generated content in which the URL of the external site is described in real time.
  • the acquisition unit 15a may store the acquired user-generated content in the storage unit 14, for example, prior to the processing of the generation unit 15b described later.
  • the generation unit 15b generates a search query using words that appear in user-generated content for each service. For example, the generation unit 15b generates a search query using a combination of words that appear.
  • the generation unit 15b converts the acquired user-generated content into a feature vector having a predetermined number of dimensions.
  • the generation unit 15b is a vector space representing a vocabulary appearing in user-generated content, that is, a total of words appearing, and a vector of distributed expressions of words representing a combination of words appearing in each user content is used as a vector of distributed representation of the user-generated content. Let it be a feature vector. Then, the generation unit 15b learns the model of the distributed expression of words in advance, and applies the sentence summarization technique. That is, the sentence summarization technique extracts a combination of words in a distributed expression similar to the distributed expression of the entire target sentence (text) as a key phrase.
  • the generation unit 15b extracts a key phrase that represents the context of each user-generated content.
  • the generation unit 15b generates a search query for searching user-generated content including the extracted key phrase.
  • the generation unit 15b calculates the degree of similarity between the entire text of the user-generated content and the key phrase candidate according to the following equation (1).
  • doc is the entire target sentence
  • C is a key phrase candidate
  • K is a set of extracted word combinations (phrases).
  • the generation unit 15b extracts a combination of words by an n-gram method of extracting n consecutive words from the text. Then, the generation unit 15b calculates the cosine similarity between the entire text of the user-generated content and each phrase of the extracted n-gram by the above equation (1), and the value of the calculated similarity is from a predetermined threshold value. Extract the largest of the high phrases as a key phrase.
  • FIG. 4 is a diagram for explaining the processing of the generation unit 15b.
  • the generation unit 15b extracts word combinations by 3-gram.
  • the generation unit 15b includes the entire text of the user-generated content "Japan vs United States Free live streaming click here" and the phrases “japan vs united", “vs united states”, “united”, and “united” for each 3-gram. Key phrases are extracted by calculating the cosine similarity between and.
  • the generation unit 15b generates a search query using the frequency of appearance of each word. For example, the generation unit 15b aggregates the frequency of appearance of the 2-gram phrase and the 3-gram phrase in the text of the user-generated content acquired in a predetermined period. Then, the generation unit 15b extracts a phrase whose frequency of appearance is equal to or higher than a predetermined threshold value as a key phrase, and generates a search query for searching user-generated content including the key phrase.
  • the generation unit 15b extracts 3-gram phrases from the texts of all user-generated content posted every hour for 24 hours on March 1, and calculates the appearance frequency of each phrase. Next, the generation unit 15b selects a statistically abnormal value (outlier) among the 3-gram phrases that appeared in the user-generated content for 1 hour from 0:00 to 1:00 on March 2, the next day. Extract as a key phrase. That is, the generation unit 15b uses this phrase as a key phrase when a large amount of user-generated content including a phrase that does not normally appear is posted at a specific timing.
  • the generation unit 15b calculates a positive outlier using z-score.
  • the number of appearances per hour for 24 hours on March 1 is 0,0,0,2,4,10,2,5,10, respectively. , 2, 4, 5, 6, 2, 2, 5, 12, 20, 15, 20, 10, 20, 25, 30.
  • the average is 8.792 times and the standard deviation is 8.602.
  • this phrase appears 50 times in 1 hour from 0:00 to 1:00 on March 2.
  • the generation unit 15b uses this phrase "japan vs united" as a key phrase and generates a user including this key phrase. Generate a search query to search for content.
  • the generation unit 15b selects a search query that can be malicious for each service. For example, the generation unit 15b calculates the malignancy of the generated search query based on the search query used to search for the user-generated content most recently determined to be malignant for each service. Then, the generation unit 15b selects a search query whose malignancy is equal to or higher than a predetermined threshold value as a search query for the service.
  • the generation unit 15b is determined to be malignant by using the number of user-generated contents determined to be malignant or benign by using this search query in the past 24 hours as the malignancy of the search query. Calculate the ratio of the number of user-generated contents. Further, the generation unit 15b calculates the average value of the malignancy of each word of the key phrase as the malignancy of the detection query.
  • the number of malicious user-generated contents searched by the search query of the key phrase "rugby world cup streaming” is 20, and the number of benign user-generated contents is 50. Further, it is assumed that the number of malicious user-generated contents searched by the search query of the key phrase "free live streaming” is 100, and the number of benign user-generated contents is 100. Further, it is assumed that the number of malicious user-generated contents searched by the search query of the key phrase "rugby Japan vs. Korea" is 10, and the number of benign user-generated contents is 100.
  • the generation unit 15b calculates the malignancy of the search query for each service, and selects the search query whose malignancy of the calculated malignancy is equal to or higher than the threshold value as the search query of the user-generated content that can be malignant of the service. ..
  • the collection unit 15c collects user-generated content generated in a plurality of services by using the generated search query. For example, the collection unit 15c collects user-generated content of another service by using a search query generated by the user-generated content of one service. In addition, the collection unit 15c also collects a plurality of types of user-generated content in each service together with the generated date and time using the same search query.
  • the collection unit 15c applies the same search query to three types of collection URLs for the service a in which user-generated content for text posting, video posting, and event notification is generated, and each of the three types of users. Collect generated content along with the date and time it was posted (generated). Further, the same search query is applied to a common collection URL for the service b in which user-generated content for video posting and video distribution is generated, and two types of user-generated content are collected together with the posted date and time.
  • the collection unit 15c can efficiently collect user-generated content that is diffused in a context similar to a specific timing.
  • the collection unit 15c can easily and quickly collect user-generated content having a high possibility of malignancy for each service by using the search query that can be malignant selected by the generation unit 15b.
  • the collection unit 15c collects user-generated content by setting an upper limit on the collection amount, for example, 100 queries per hour. This makes it possible to reduce the load on the server of each service that is the collection destination.
  • FIG. 5 is a diagram for explaining the processing of the determination function unit.
  • the determination function unit 15B represents the feature amount of a specific service by using the difference in the features between the user-generated content generated by the attacker and the user-generated content generated by the legitimate user. Acquire a machine learning model by learning.
  • the determination function unit 15B uses a machine learning model as a feature amount, using a text feature amount representing the co-occurrence of phrases of user-generated content and a group feature amount representing the similarity of words appearing in each user-generated content. To learn.
  • the determination function unit 15B can determine whether or not the user-generated content of the service generated thereafter is malicious by using the learned machine learning model. For example, the determination function unit 15B can perform malicious determination of a large amount of user-generated content of a specific service generated at the same time in real time.
  • the calculation unit 15d calculates the feature amount of the user-generated content generated by the user in the predetermined service in the predetermined period.
  • the feature amount of the user-generated content is a text feature amount representing a feature of a combination of words co-occurring in a plurality of user-generated contents, and a word between a plurality of user-generated contents generated in a predetermined period. It is a group feature quantity that represents a feature related to similarity.
  • FIGS. 6 to 9 are diagrams for explaining the processing of the calculation unit.
  • the calculation unit 15d calculates a text feature amount representing a feature of a combination of words co-occurring in a plurality of user-generated contents. Specifically, the calculation unit 15d uses an optimized word distributed representation model for each of the phrases that co-occur in the collected user-generated content set to determine the text features of the user-generated content set. calculate.
  • the calculation unit 15d optimizes the model for outputting the feature vector of the distributed expression by the phrase co-occurring in each user-generated content of the set of user-generated content in advance. ..
  • the calculation unit 15d sets each of the word (1-gram phrase) and 2-gram phrase appearing in the set of malicious user-generated content as each line, and each user-generated content (document). (See 1.) is used as the input weight. Further, the calculation unit 15d calculates the average of each line corresponding to each phrase (see 2.).
  • calculation unit 15d calculates the inner product using each document as each row and the matrix with each word as each column as the output weight (see 3.), and outputs the feature vector of the distributed expression of each phrase. We are optimizing the model (see 4.).
  • the calculation unit 15d first extracts a word existing in the dictionary from the character string of the URL in the content for the set U of the collected user-generated content, and the character string of the URL. Replace with (WordSegmentation).
  • the calculation unit 15d optimizes the distributed representation model for the words (1-gram phrases) and 2-gram phrases that appear in the set U of the user-generated content in advance, as shown in FIG. conduct. Then, the calculation unit 15d generates a set of feature vectors VEC u of each user-generated content u using an optimized model of distributed representation (Word Embeddings). Then, the calculation unit 15d calculates the average of the feature vector VEC u of each user-generated content u as the text feature amount of the set of user-generated content.
  • the average of the feature vector VEC u of each user-generated content u calculated as described above can be a feature amount reflecting the features of the set U of the user-generated contents.
  • the calculation unit 15d calculates a group feature amount representing features related to word similarity between a plurality of user-generated contents generated in a predetermined period. Specifically, as shown in FIG. 8, the calculation unit 15d applies the Minhash-LSH algorithm to the appearing words (1-gram phrases) for the set U of user-generated content collected at the same time. Apply and calculate the similarity between each user-generated content.
  • the same period means that the time difference between the generated dates and times is within a predetermined time threshold value ⁇ . Then, when the calculated similarity exceeds a predetermined similarity threshold value ⁇ , the calculation unit 15d sets this set of user-generated content as a set of similar user-generated content.
  • the calculation unit 15d specifies a group feature amount for a similar user-generated content set.
  • Group features are the size of the set, the number of users in the set, the number of unique URLs listed in the set, the average number of URLs listed in the user-generated content in the set, or the average in the set. Posting time interval.
  • the calculation unit 15d determines whether or not the collected user-generated content set is a similar user-generated content set, and if it is a similar user-generated content set, a group. Identify the features.
  • FIG. 9 illustrates, for example, that the user-generated content 1 is generated by user1 and the appearing word is "Free live streaming URL1 URL1". Further, it is exemplified that the user-generated contents 1 to 3 are the same set of similar user-generated contents. In addition, as the group feature amount of this similar user-generated content set, the average posting time interval, the set size is 3, the number of unique users of the set is 2 (user1, user2), and the number of URL uniques of the set is 2 (URL1, URL2). ), It is exemplified that the average number of URLs of one content is 1.67.
  • the user-generated contents 4 and 5 are the same set of similar user-generated contents. Further, it is exemplified that the user-generated contents 6 and 7 are not a set of similar user-generated contents.
  • malware user-generated content tends to be spread at the same time in a similar context. Therefore, it is possible to specify the group feature amount as described above for the malicious user-generated content set. That is, if the group feature amount can be specified in this way, it means that there is a high possibility that this set of user-generated content is malicious.
  • the learning unit 15e learns using the calculated feature amount of the user-generated content generated by the regular user and the feature amount of the content generated by the malicious user. Further, the determination unit 15f determines whether or not the user-generated content is generated by a malicious user based on the learned model.
  • the learning unit 15e uses a machine learning model using text features that represent the co-occurrence of phrases in user-generated content and group features that represent the similarity of words that appear in each user-generated content. Learn with supervised learning. Further, the determination unit 15f uses the learned machine learning model to determine whether or not the user-generated content of the service acquired thereafter is malicious.
  • the determination function unit 15B learns the characteristics of user-generated content that is likely to be malignant and is generated at a specific timing such as an event, and uses the learning results to collect user-generated content in real time. It is possible to make a malignant judgment.
  • FIG. 10 is a diagram for explaining the processing of the extraction function unit.
  • the extraction function unit 15C extracts the feature amount of the Web content obtained by accessing the URL included in the user-generated content in an arbitrary service.
  • the extraction function unit 15C identifies the IP address of the FQDN (Fully FQDN) that will finally arrive.
  • the extraction function unit 15C learns the user-generated content generated by the attacker and the user-generated content generated by the legitimate user by using the feature amount. Then, the extraction function unit 15C uses the learned feature amount to perform a malignancy determination on the user-generated content generated in large quantities by an arbitrary service at the same time.
  • the extraction function unit 15C when the extraction function unit 15C is determined to be malicious user-generated content, the extraction function unit 15C extracts threat information, which is a characteristic that can be a threat, from the malicious user-generated content, and outputs a threat report. In this way, the extraction function unit 15C can detect an attack that can be a threat in real time.
  • threat information which is a characteristic that can be a threat
  • the extraction unit 15g accesses the entrance URL described in the user-generated content generated by the user in a plurality of services during a predetermined period, and extracts the feature amount of the user-generated content.
  • the feature amount extracted here includes a feature amount related to the Web content of the reached website and a feature amount related to a plurality of user-generated contents generated in a predetermined period.
  • the extraction unit 15g first accesses the entrance URL using the URL described in the collected user-generated content as the entrance URL, and identifies the URL of the site finally reached, that is, the arrival URL. .. If the entrance URL uses the URL shortening service, this is used as the entrance URL as it is.
  • the URL shortening service is a service that converts a long URL into a short and simple URL and issues it.
  • Many URL shortening services associate long URLs of other sites with short URLs issued under their own service, and redirect to the original long URL when this short URL is accessed. ..
  • the extraction unit 15g creates a Web crawler by combining, for example, the scraping framework Scrapy and the headless browser Splash capable of rendering Javascript (registered trademark). As a result, the extraction unit 15g accesses the URL described in the user-generated content and records the communication information.
  • the extraction unit 15g records the Web content of the website that finally arrives and the number of redirects. If the communication pattern transitions in the order of the entrance URL "http://bit.ly/aaa” ⁇ "http://redirect.com/” ⁇ the arrival URL "http://malicious.com", the number of redirects The Web contents of the final arrival website "malicious.com” are recorded twice.
  • the extraction unit 15g has the number of tags of each HTML of the arrival site, the distributed expression of the character string displayed on the arrival site, the number of redirects, and the number of FQDN (fully specified domain names) transitioning from the entrance URL to the arrival URL. Etc., and extract the feature amount of the Web content.
  • the extraction unit 15g can extract the feature amount of the malignant user-generated content.
  • the extraction unit 15g specifies the IP address of the FQDN that will finally reach. Further, when the extraction unit 15g reaches the same IP address from a plurality of services at the same time, the set of these user-generated contents is referred to as a similar user-generated content set.
  • the extraction unit 15g extracts the feature amount of the user-generated content such as the number of user-generated content, the number of services, the number of entrance URLs, the number of users, the distributed representation of text, etc. in the set of similar user-generated content.
  • the learning unit 15e learns using the feature amount of the user-generated content generated by the extracted regular user and the feature amount of the content generated by the malicious user. Further, the determination unit 15f determines whether or not the user-generated content is generated by a malicious user based on the learned model.
  • the learning unit 15e performs supervised learning of a machine learning model using the feature amount related to the Web content of the extracted final arrival website and the feature amount related to the user-generated content generated at the same time. conduct. Further, the determination unit 15f uses the learned machine learning model to determine whether or not the user-generated content of the service acquired thereafter is malicious.
  • the learning unit 15e learns the characteristics of a user-generated content set that is generated in a similar context at a specific timing such as an event and has a URL that reaches the same IP address and is highly likely to be malignant. .. Therefore, the determination unit 15f can use the learning result to determine the malignancy of the user-generated content collected in real time.
  • the extraction unit 15g outputs the attack characteristics of the user-generated content as threat information.
  • FIGS. 11 and 12 are diagrams for explaining threat information.
  • the threat information includes, for example, a key phrase included in the user-generated content, an entrance URL, a arrival URL, and the like described in the user-generated content of each service.
  • user-generated content of service a and service b including the key phrase “rugby world cup”, the entrance URL described in each, and the arrival URL common to services a and b are shown.
  • the extraction unit 15g outputs these threat information to a predetermined provider via the output unit 12 or the communication control unit 13.
  • a warning such as a report to the provider and a blacklist are provided.
  • attention is drawn to user-generated content in the context including, for example, the words "regular holding (once a week), free, live broadcasting, J-League” and the like.
  • attacker accounts and exploited services that use this context have been reported.
  • a blacklist including an entrance URL described in the user-generated content, a relay URL transitioning from the entrance URL, and a arrival URL finally reached from the relay URL is presented.
  • the malignant user-generated content in the above context and the malignant user-generated content in the context including the word "regular holding (once every four years), free of charge, live broadcasting, Tokyo Olympics" and the like. It is presented that the arrival URL is a common malicious site.
  • the extraction function unit 15C makes a malignancy determination using the feature amount obtained by accessing the entrance URL for the user-generated content having a high possibility of malignancy generated in large quantities by an arbitrary service at the same time. conduct. Further, when the extraction function unit 15C determines that the content is malicious user-generated content, the extraction function unit 15C extracts threat information from the malicious user-generated content and outputs a threat report. As a result, the extraction function unit 15C detects in real time an attack that can be a threat among the user-generated content with a high possibility of malignancy generated in large quantities by an arbitrary service at the same time, and outputs attack information. Is possible.
  • the extraction unit 15g provides threat information on the characteristics of the attack such as a character string or URL included in the guidance context of the user-generated content. It may be output as.
  • FIG. 13 is a flowchart showing a collection processing procedure of the collection function unit.
  • the flowchart of FIG. 13 is started, for example, at the timing when the user inputs an operation instructing the start.
  • the acquisition unit 15a acquires user-generated content generated in each service during a predetermined period (step S1). Specifically, the acquisition unit 15a acquires user-generated content from the server or the like of each service via the input unit 11 or the communication control unit 13.
  • the generation unit 15b generates a search query using words that appear in user-generated content for each service. For example, the generation unit 15b generates a search query using a combination of words that appear (step S2).
  • the generation unit 15b calculates the malignancy of the search query for each service, and selects a search query whose malignancy is equal to or higher than the threshold value as a search query for user-generated content that can be malignant for the service.
  • the collection unit 15c collects user-generated content generated in a predetermined service by using the selected search query (step S3). This completes a series of collection processes.
  • FIGS. 14 and 15 are flowcharts showing the processing procedure of the determination function unit.
  • the flowchart of FIG. 14 shows the learning process in the determination function unit 15B, and is started at the timing when, for example, the user inputs an operation instructing the start.
  • the calculation unit 15d calculates the feature amount of the user-generated content of the predetermined service collected by the collection function unit 15A in the predetermined period (step S4). Specifically, the calculation unit 15d has a text feature amount representing a feature of a combination of words co-occurring in a plurality of user-generated contents, and a feature relating to the similarity of words between a plurality of user-generated contents generated in a predetermined period. The group feature amount representing the above is calculated.
  • the learning unit 15e learns using the calculated feature amount of the user-generated content generated by the regular user and the feature amount of the content generated by the malicious user (step S5). As a result, a series of learning processes are completed.
  • FIG. 15 shows the determination process in the determination function unit 15B, and is started at the timing when, for example, the user inputs an operation instructing the start.
  • the calculation unit 15d calculates the feature amount of the user-generated content of the predetermined service collected by the collection function unit 15A in the predetermined period (step S4).
  • the determination unit 15f determines whether or not the user-generated content is generated by a malicious user based on the trained model (step S6). As a result, a series of determination processes is completed.
  • FIG. 16 and 17 are flowcharts showing the processing procedure of the extraction function unit.
  • the flowchart of FIG. 16 shows the learning process in the extraction function unit 15C, and is started at the timing when, for example, the user inputs an operation instructing the start.
  • the extraction unit 15g accesses the entrance URL described in the user-generated content of a plurality of services collected by the collection function unit 15A in a predetermined period, and extracts the feature amount of the user-generated content (step S14). Specifically, the extraction unit 15g extracts the feature amount related to the Web content of the reached website and the feature amount related to the plurality of user-generated contents generated in a predetermined period.
  • the learning unit 15e learns using the feature amount of the user-generated content generated by the extracted legitimate user and the feature amount of the content generated by the malicious user (step S5). As a result, a series of learning processes are completed.
  • FIG. 17 shows the determination process in the extraction function unit 15C, and is started at the timing when, for example, the user inputs an operation instructing the start.
  • the extraction unit 15g accesses the entrance URL described in the user-generated content of a plurality of services collected by the collection function unit 15A in a predetermined period, and extracts the feature amount of the user-generated content (step S14). ).
  • the determination unit 15f determines whether or not the user-generated content is generated by a malicious user based on the learned model (step S6).
  • the extraction unit 15g outputs the attack characteristics of the user-generated content as threat information (step S7). As a result, a series of determination processes is completed.
  • step S7 may be performed after the process of step S6 shown in FIG. That is, when the determination function unit 15B determines that the user-generated content is generated by a malicious user, the extraction unit 15g may output the attack characteristics of the user-generated content as threat information.
  • the acquisition unit 15a acquires the user-generated content generated in each service in a predetermined period.
  • the generation unit 15b generates a search query using words that appear in user-generated content for each service.
  • the collection unit 15c collects user-generated content generated in a plurality of services by using the generated search query.
  • the collection function unit 15A This enables the collection function unit 15A to efficiently collect user-generated content with a high possibility of malignancy, which is diffused in a context similar to a specific timing. As a result, the detection device 1 can detect a malignant site in a wide range quickly and with high accuracy.
  • the generation unit 15b selects a search query that can be malicious for each service.
  • the collection function unit 15A can easily and quickly collect user-generated content having a high possibility of being malicious for each service.
  • the calculation unit 15d calculates the feature amount of the user-generated content generated by the user in a predetermined period. Further, the learning unit 15e learns using the calculated feature amount of the user-generated content generated by the regular user and the feature amount of the content generated by the malicious user. Further, the determination unit 15f determines whether or not the user-generated content is generated by a malicious user based on the learned model.
  • the determination function unit 15B can learn the characteristics of the user-generated content generated at a specific timing such as an event, and use the learning result to perform a malicious determination of the user-generated content collected in real time. Will be. In this way, the determination function unit 15B can detect the malignant site quickly and with high accuracy.
  • the feature amount of the user-generated content calculated by the calculation unit 15d is between a text feature amount representing a feature of a combination of words co-occurring in a plurality of user-generated contents and a plurality of user-generated contents generated in a predetermined period.
  • the determination function unit 15B can learn using the characteristics of the user-generated content having a high possibility of malignancy, and can perform the malignancy determination of the user-generated content collected in real time using the learning result. ..
  • the extraction unit 15g accesses the entrance URL described in the user-generated content generated by the user in a plurality of services in a predetermined period, and extracts the feature amount of the user-generated content. do. Further, the learning unit 15e learns using the feature amount of the user-generated content generated by the extracted regular user and the feature amount of the content generated by the malicious user. Further, the determination unit 15f determines whether or not the user-generated content is generated by a malicious user based on the learned model.
  • the extraction function unit 15C can perform malicious determination of user-generated content collected in real time by using the characteristics of user-generated content of various services generated at specific timings such as events. .. As described above, the extraction function unit 15C can detect a malignant site in a wide range quickly and with high accuracy.
  • the feature amount extracted by the extraction unit 15g includes a feature amount related to the Web content of the reached website and a feature amount related to a plurality of user-generated contents generated in a predetermined period. This enables the extraction function unit 15C to extract effective threat information of malicious sites.
  • the extraction unit 15g when it is determined that the user-generated content is generated by a malicious user, the extraction unit 15g outputs the attack characteristics of the user-generated content as threat information. As a result, the extraction function unit 15C can present effective threat information of the malicious site to a predetermined provider.
  • the acquisition unit 15a acquires user-generated content generated in each service during a predetermined period.
  • the generation unit 15b generates a search query using words that appear in user-generated content for each service.
  • the collection unit 15c collects user-generated content generated in a plurality of services by using the generated search query.
  • the calculation unit 15d calculates the feature amount of the collected user-generated content of the predetermined service.
  • the learning unit 15e learns using the feature amount of the user-generated content generated by the regular user and the feature amount of the content generated by the malicious user.
  • the determination unit 15f determines whether or not the user-generated content is generated by a malicious user based on the learned model. Further, when it is determined that the user-generated content is generated by a malicious user, the extraction unit 15g accesses the entrance URL described in the user-generated content and outputs the attack characteristics of the user-generated content as threat information. do.
  • the detection device 1 quickly detects malicious user-generated content by using the characteristics of user-generated content generated at a specific timing such as an event, and provides an effective malicious site to a predetermined provider. It becomes possible to present threat information. In this way, the detection device 1 can quickly detect a malignant site in a wide range.
  • the generation unit 15b selects a search query that can be malicious for each service.
  • the detection device 1 can easily collect user-generated content having a high possibility of malignancy and detect the malignant user-generated content more quickly.
  • the feature amount of the user-generated content calculated by the calculation unit 15d is between a text feature amount representing a feature of a combination of words co-occurring in a plurality of user-generated contents and a plurality of user-generated contents generated in a predetermined period. Includes group features that represent features related to the similarity of words in. As a result, the detection device 1 can detect the malicious user-generated content more quickly by targeting the user-generated content having a high possibility of being malicious.
  • the learning unit 15e learns using the feature quantities of the user-generated contents of the plurality of services extracted by the extraction unit 15g, and the determination unit 15f learns by using the learned model, and the user-generated contents of the plurality of services are malicious users. Determine if it was generated by. This makes it possible to detect malicious user-generated content more quickly by using the characteristics of user-generated content of any service.
  • the feature amount extracted by the extraction unit 15g includes a feature amount related to the Web content of the reached website and a feature amount related to a plurality of user-generated contents generated in a predetermined period.
  • the detection device 1 can present effective threat information of a malicious site to a predetermined provider.
  • the detection device 1 can be implemented by installing a detection program that executes the above detection process as package software or online software on a desired computer.
  • the information processing device can function as the detection device 1.
  • the information processing device referred to here includes a desktop type or notebook type personal computer.
  • the information processing device includes smartphones, mobile communication terminals such as mobile phones and PHS (Personal Handyphone System), and slate terminals such as PDAs (Personal Digital Assistants).
  • the function of the detection device 1 may be implemented in the cloud server.
  • FIG. 18 is a diagram showing an example of a computer that executes a detection program.
  • the computer 1000 has, for example, a memory 1010, a CPU 1020, 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. Each of these parts is connected by a bus 1080.
  • the memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM 1012.
  • the ROM 1011 stores, for example, a boot program such as a BIOS (Basic Input Output System).
  • BIOS Basic Input Output System
  • the hard disk drive interface 1030 is connected to the hard disk drive 1031.
  • the disk drive interface 1040 is connected to the disk drive 1041.
  • a removable storage medium such as a magnetic disk or an optical disk is inserted into the disk drive 1041.
  • a mouse 1051 and a keyboard 1052 are connected to the serial port interface 1050.
  • a display 1061 is connected to the video adapter 1060.
  • the hard disk drive 1031 stores, for example, the OS 1091, the application program 1092, the program module 1093, and the program data 1094. Each piece of information described in the above embodiment is stored in, for example, the hard disk drive 1031 or the memory 1010.
  • the detection program is stored in the hard disk drive 1031 as, for example, a program module 1093 in which a command executed by the computer 1000 is described.
  • the program module 1093 in which each process executed by the detection device 1 described in the above embodiment is described is stored in the hard disk drive 1031.
  • the data used for information processing by the detection program is stored as program data 1094 in, for example, the hard disk drive 1031.
  • the CPU 1020 reads the program module 1093 and the program data 1094 stored in the hard disk drive 1031 into the RAM 1012 as needed, and executes each of the above-mentioned procedures.
  • the program module 1093 and program data 1094 related to the detection program are not limited to the case where they are stored in the hard disk drive 1031. For example, they are stored in a removable storage medium and read by the CPU 1020 via the disk drive 1041 or the like. May be done. Alternatively, the program module 1093 and the program data 1094 related to the detection program are stored in another computer connected via a network such as a LAN or WAN (Wide Area Network), and are read out by the CPU 1020 via the network interface 1070. You may.
  • a network such as a LAN or WAN (Wide Area Network)

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

算出部(15d)が、所定の期間に、ユーザにより生成されるユーザ生成コンテンツの特徴量を算出する。学習部(15e)が、算出された正規ユーザにより生成されるユーザ生成コンテンツの特徴量と、悪性ユーザにより生成されるコンテンツの特徴量とを用いて学習する。判定部(15f)が、学習されたモデルにより、ユーザ生成コンテンツが悪性ユーザにより生成されたものか否かを判定する。

Description

判定装置、判定方法および判定プログラム
 本発明は、判定装置、判定方法および判定プログラムに関する。
 Web上の脅威として、ユーザ心理の脆弱性を悪用するソーシャルエンジニアリング(SE)攻撃が主流となりつつある。そして、悪性なWebサイトへの誘導経路として、攻撃者がオンラインサービスで生成してWeb上に投稿する動画、ブログ、掲示板への書き込み等のユーザ生成コンテンツが増加している。
 一方、攻撃者の生成するユーザ生成コンテンツは、特定のコンサートやスポーツ等のイベントをターゲットにリアルタイムで集中的に大量に生成され、多数のサービス上で正規ユーザを装って拡散される。そのため、迅速で精度が高い広範囲の検知技術が期待されている。
 例えば、従来、特定のサービスについて、特徴量を用いて悪性サイトを判定する技術が開示されている(非特許文献1、2参照)。
Hongyu Gao, et al., "Towards Online Spam Filtering in Social Networks"、[online]、[2019年7月27日検索]、インターネット<URL:http://cucis.ece.northwestern.edu/publications/pdf/GaoChe12.pdf> Sangho Lee, Jong Kim, "WARNINGBIRD: Detecting Suspicious URLs in Twitter Stream"、[online]、[2020年7月27日検索]、インターネット<URL:https://www.ndss-symposium.org/wp-content/uploads/2017/09/11_1.pdf>
 しかしながら、従来技術によれば、検知精度、検知速度、検知範囲の観点で不十分であった。例えば、非特許文献1に記載の技術では、多様な攻撃を捉えるためには、検知のための特徴量の設計が適切でなく、検知精度、検知範囲が不十分であった。また、非特許文献2に記載の技術では、全てのURLにアクセスすることを前提とした特徴量を用いているために、検知速度が不十分であり、また検知精度も不十分であった。
 本発明は、上記に鑑みてなされたものであって、悪性サイトの検知を迅速かつ精度高く行うことを目的とする。
 上述した課題を解決し、目的を達成するために、本発明に係る判定装置は、所定の期間に、ユーザにより生成されるユーザ生成コンテンツの特徴量を算出する算出部と、算出された正規ユーザにより生成されるユーザ生成コンテンツの特徴量と、悪性ユーザにより生成されるコンテンツの特徴量とを用いて学習する学習部と、学習されたモデルにより、ユーザ生成コンテンツが悪性ユーザにより生成されたものか否かを判定する判定部と、を有することを特徴とする。
 本発明によれば、悪性サイトの検知を迅速かつ精度高く行うことが可能となる。
図1は、本実施形態の検知装置の概要を説明するための図である。 図2は、本実施形態の検知装置の概略構成を例示する模式図である。 図3は、収集機能部の処理を説明するための図である。 図4は、生成部の処理を説明するための図である。 図5は、判定機能部の処理を説明するための図である。 図6は、算出部の処理を説明するための図である。 図7は、算出部の処理を説明するための図である。 図8は、算出部の処理を説明するための図である。 図9は、算出部の処理を説明するための図である。 図10は、抽出機能部の処理を説明するための図である。 図11は、脅威情報を説明するための図である。 図12は、脅威情報を説明するための図である。 図13は、収集機能部の処理手順を示すフローチャートである。 図14は、判定機能部の処理手順を示すフローチャートである。 図15は、判定機能部の処理手順を示すフローチャートである。 図16は、抽出機能部の処理手順を示すフローチャートである。 図17は、抽出機能部の処理手順を示すフローチャートである。 図18は、検知プログラムを実行するコンピュータの一例を示す図である。
 以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
[検知装置の概要]
 図1は検知装置の概要を説明するための図である。本実施形態の検知装置1は、Facebook(登録商標)、Twitter(登録商標)等のオンラインサービスにおいて、ユーザが生成してWeb上に投稿する動画、ブログ、掲示板書き込み等のユーザ生成コンテンツを収集し、解析を行う。
 具体的には、攻撃者が、ユーザが注目するイベントに対して集中的に大量のユーザ生成コンテンツを生成して拡散すること、また、ユーザが悪性サイトにアクセスしたくなるような類似の文脈でユーザ生成コンテンツを生成することに着目する。
 そこで、検知装置1は、攻撃者によるユーザ生成コンテンツは、特定のタイミングに類似した文脈で拡散されるという特徴を用いて、攻撃者による悪性のものである可能性の高いユーザ生成コンテンツを効率よく収集し、悪性か否かの解析を行う。また、検知装置1は、解析の結果、悪性のユーザ生成コンテンツであると判定された場合に、この悪性のユーザ生成コンテンツから、脅威となり得る特徴である脅威情報を抽出し、脅威レポートを出力する。
 例えば、検知装置1は、ユーザ生成コンテンツの類似した文脈を抽出して検索クエリを生成し、検索クエリを用いて悪性である可能性が高いユーザ生成コンテンツを効率よく収集する。また、特定のサービスに特化して、攻撃者が生成するユーザ生成コンテンツと正規ユーザが生成するユーザ生成コンテンツとの特徴差を学習することにより、同時期に生成された特定のサービスの大量のユーザ生成コンテンツの悪性判定を行う。
 また、検知装置1は、任意のサービスにおいて、攻撃者が生成するユーザ生成コンテンツと正規ユーザが生成するユーザ生成コンテンツとについて、ユーザ生成コンテンツに記載されているURLにアクセスして得られるWebコンテンツの特徴差を学習する。そして、検知装置1は、学習した特徴差を用いて、同時期に任意のサービスで大量に生成されたユーザ生成コンテンツについて、悪性判定を行う。
 また、検知装置1は、悪性のユーザ生成コンテンツであると判定された場合に、この悪性のユーザ生成コンテンツから、脅威となり得る特徴である脅威情報を抽出し、脅威レポートを出力する。このようにして、検知装置1は、脅威となり得る攻撃をリアルタイムに検知する。
[検知装置の構成]
 図2は、本実施形態の検知装置の概略構成を例示する模式図である。図2に例示するように、本実施形態の検知装置1は、収集機能部15A、判定機能部15Bおよび抽出機能部15Cを含んで構成される。これらの各機能部は、検知装置1とは異なるハードウェアに実装されてもよい。すなわち、検知装置1は、収集装置、判定装置および抽出装置を有する検知システムとして実装されてもよい。
 検知装置1は、パソコン等の汎用コンピュータで実現され、入力部11、出力部12、通信制御部13、記憶部14、および制御部15を備える。
 入力部11は、キーボードやマウス等の入力デバイスを用いて実現され、操作者による入力操作に対応して、制御部15に対して処理開始などの各種指示情報を入力する。出力部12は、液晶ディスプレイなどの表示装置、プリンター等の印刷装置等によって実現される。例えば、出力部12には、後述する検知処理の結果が表示される。
 通信制御部13は、NIC(Network Interface Card)等で実現され、LAN(Local Area Network)やインターネットなどの電気通信回線を介した外部の装置と制御部15との通信を制御する。例えば、通信制御部13は、各サービスのユーザ生成コンテンツ等を管理するサーバ等と制御部15との通信を制御する。
 記憶部14は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部14には、検知装置1を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが予め記憶され、あるいは処理の都度一時的に記憶される。なお、記憶部14は、通信制御部13を介して制御部15と通信する構成でもよい。
 本実施形態において、記憶部14は、後述する検知処理の結果として得られる脅威情報等を記憶する。また、記憶部14は、検知処理に先立って、後述する取得部15aが各サービスのサーバ等から取得したユーザ生成コンテンツを記憶してもよい。
 図2の説明に戻る。制御部15は、CPU(Central Processing Unit)等を用いて実現され、メモリに記憶された処理プログラムを実行する。これにより、制御部15は、図2に例示するように、収集機能部15A、判定機能部15Bおよび抽出機能部15Cとして機能する。
 収集機能部15Aは、取得部15a、生成部15bおよび収集部15cを含む。また、判定機能部15Bは、算出部15d、学習部15eおよび判定部15fを含む。また、抽出機能部15Cは、抽出部15g、学習部15eおよび判定部15fを含む。
 なお、これらの機能部は、それぞれ、あるいは一部が異なるハードウェアに実装されてもよい。例えば、上記したように、収集機能部15A、判定機能部15B、抽出機能部15Cが、それぞれ収集装置、判定装置、抽出装置として異なるハードウェアに実装されてもよい。また、制御部15は、その他の機能部を備えてもよい。
[収集機能部]
 図3は、収集機能部の処理を説明するための図である。図3に示すように、収集機能部15Aは、あるサービスで同時期に生成されたユーザ生成コンテンツ群から類似した文脈をキーフレーズとして抽出して検索クエリを生成する。また、収集機能部15Aは、生成した悪性である可能性の高いキーフレーズの検索クエリを用いて、悪性である可能性が高い任意のサービスのユーザ生成コンテンツを効率よく収集する。
 図2の説明に戻る。取得部15aは、所定の期間に各サービスにおいて生成されるユーザ生成コンテンツを取得する。具体的には、取得部15aは、入力部11あるいは通信制御部13を介して、各サービスのサーバ等から、ユーザ生成コンテンツを取得する。
 例えば、取得部15aは、所定のサービスについて、URLが記載されているユーザ生成コンテンツを取得する。その際に、取得部15aは、所定の時間ごとに定常的に、あるいは、“since”、“until”を用いて投稿された時間を指定して、ユーザ生成コンテンツを取得してもよい。また、取得部15aは、“filters”を用いてURLが記載されているユーザ生成コンテンツに限定して取得してもよい。これにより、取得部15aは、リアルタイムに外部のサイトのURLが記載されているユーザ生成コンテンツを取得することが可能となる。
 なお、取得部15aは、例えば、後述する生成部15bの処理に先立って、取得したユーザ生成コンテンツを記憶部14に記憶させてもよい。
 生成部15bは、サービスごとのユーザ生成コンテンツに出現する単語を用いて、検索クエリを生成する。例えば、生成部15bは、出現する単語の組み合わせを用いて検索クエリを生成する。
 具体的には、生成部15bは、取得されたユーザ生成コンテンツを、所定の次元数の特徴ベクトルに変換する。例えば、生成部15bは、ユーザ生成コンテンツに出現する語彙すなわち出現する単語の総体を表すベクトル空間で、各ユーザコンテンツに出現する単語の組み合わせを表す単語の分散表現のベクトルを、当該ユーザ生成コンテンツの特徴ベクトルとする。そして、生成部15bは、単語の分散表現のモデルを予め学習し、文章要約技術を適用する。つまり、文章要約技術により、対象とする文章(テキスト)全体の分散表現と類似した分散表現の単語の組み合わせをキーフレーズとして抽出する。
 これにより、生成部15bは、各ユーザ生成コンテンツの文脈を表すキーフレーズを抽出する。また、生成部15bは、抽出したキーフレーズを含むユーザ生成コンテンツを検索するための検索クエリを生成する。
 具体的には、生成部15bは、次式(1)に従って、ユーザ生成コンテンツのテキスト全体とキーフレーズ候補との間の類似度を算出する。ここで、docは対象とする文章全体、Cはキーフレーズ候補、Kは抽出された単語の組み合わせ(フレーズ)の集合である。
Figure JPOXMLDOC01-appb-M000001
 上記式(1)において、λを変化させることにより、多様なキーフレーズを抽出することが可能となる。
 例えば、生成部15bは、テキストから連続するn個の単語を抽出するn-gramの手法により、単語の組み合わせを抽出する。そして、生成部15bは、上記式(1)によりユーザ生成コンテンツのテキスト全体と抽出したn-gramの各フレーズとの間のコサイン類似度を算出し、算出した類似度の値が所定の閾値より高いフレーズのうち最大のものをキーフレーズとして抽出する。
 ここで、図4は、生成部15bの処理を説明するための図である。図4に示す例では、生成部15bは、3-gramにより単語の組み合わせを抽出している。また、生成部15bは、ユーザ生成コンテンツのテキスト全体「Japan vs Unibted States Free live streaming click here」と各3-gramのフレーズ「japan vs united」、「vs united states」、「united states free」、…との間のコサイン類似度を算出することにより、キーフレーズを抽出する。
 あるいは、生成部15bは、各単語の出現する頻度を用いて検索クエリを生成する。例えば、生成部15bは、所定の期間に取得されたユーザ生成コンテンツのテキストにおいて、2-gramのフレーズと3-gramのフレーズとの出現する頻度を集計する。そして、生成部15bは、出現する頻度が所定の閾値以上のフレーズをキーフレーズとして抽出し、キーフレーズを含むユーザ生成コンテンツを検索するための検索クエリを生成する。
 例えば、生成部15bは、3月1日の24時間に、1時間ごとに投稿された全ユーザ生成コンテンツのテキストから3-gramのフレーズを抽出し、各フレーズの出現頻度を算出する。次に、生成部15bは、翌日3月2日の0時-1時の1時間のユーザ生成コンテンツに出現した3-gramのフレーズのうち、統計的に異常な値(外れ値)のものをキーフレーズとして抽出する。つまり、生成部15bは、通常は出現しないフレーズを含むユーザ生成コンテンツが特定のタイミングに大量に投稿された場合に、このフレーズをキーフレーズとする。
 例えば、生成部15bは、z-scoreを用いて正の外れ値を算出する。図4に示した例において、フレーズ「japan vs united」について、3月1日の24時間の1時間ごとの出現回数が、それぞれ0,0,0,2,4,10,2,5,10,2,4,5,6,2,2,5,12,20,15,20,10,20,25,30であったとする。この場合の平均は8.792回、標準偏差は8.602である。
 また、3月2日の0時-1時の1時間にこのフレーズが50回出現したとする。この場合のz-scoreは、Z=(50-8.792)/8.602=4.790と算出される。また、外れ値の閾値が、有意な出現頻度5%に対応する1.96である場合には、生成部15bは、このフレーズ「japan vs united」をキーフレーズとして、このキーフレーズを含むユーザ生成コンテンツを検索する検索クエリを生成する。
 また、生成部15bは、サービスごとに悪性になり得る検索クエリを選定する。例えば、生成部15bは、サービスごとに直近に悪性と判定されたユーザ生成コンテンツの検索に用いられた検索クエリに基づいて、生成した検索クエリの悪性度を算出する。そして、生成部15bは、悪性度が所定の閾値以上の検索クエリを当該サービスの検索クエリとして選定する。
 ここで、生成部15bは、検索クエリの悪性度として、過去24時間に、この検索クエリを用いて検索され、悪性または良性と判定されたユーザ生成コンテンツの数を用いて、悪性と判定されたユーザ生成コンテンツ数の割合を算出する。また、生成部15bは、キーフレーズの単語ごとの悪性度の平均値を、検出クエリの悪性度とみなして算出する。
 例えば、過去24時間にあるサービスにおいて、キーフレーズ「rugby world cup streaming」の検索クエリによって検索された悪性のユーザ生成コンテンツ数が20、良性のユーザ生成コンテンツ数が50であったとする。また、キーフレーズ「free live streaming」の検索クエリによって検索された悪性のユーザ生成コンテンツ数が100、良性のユーザ生成コンテンツ数が100であったとする。また、キーフレーズ「rugby japan vs korea」の検索クエリによって検索された悪性のユーザ生成コンテンツ数が10、良性のユーザ生成コンテンツ数が100であったとする。
 この場合に、単語「japan」の悪性度は、α=10/(10+100)となる。また、単語「rugby」の悪性度は、β={20/(20+50)+10/(10+100)}/2となる。また、また、単語「streaming」の悪性度は、γ={20/(20+50)+100/(100+100)}/2となる。
 したがって、キーフレーズ「japan rugby streaming」の検索クエリの悪性度のスコアは、(α+β+γ)/3=0.225と算出される。
 このようにして、生成部15bは、サービスごとに検索クエリの悪性度を算出し、算出した悪性度が閾値以上である検索クエリを、当該サービスの悪性となり得るユーザ生成コンテンツの検索クエリとして選定する。
 収集部15cは、生成された検索クエリを用いて、複数のサービスにおいて生成されるユーザ生成コンテンツを収集する。例えば、収集部15cは、あるサービスのユーザ生成コンテンツで生成された検索クエリを用いて、他のサービスのユーザ生成コンテンツを収集する。また、収集部15cは、各サービスにおいても、複数の種類のユーザ生成コンテンツを、同一の検索クエリを用いて、生成された日時とともに収集する。
 例えば、収集部15cは、文章投稿、動画投稿およびイベント告知のユーザ生成コンテンツが生成されるサービスaに対して、同一の検索クエリを3種類の収集URLに適用して、3種類のそれぞれのユーザ生成コンテンツを投稿(生成)された日時とともに収集する。また、動画投稿および動画配信のユーザ生成コンテンツが生成されるサービスbに対して、同一の検索クエリを共通の収集URLに適用して、2種類のユーザ生成コンテンツを投稿された日時とともに収集する。
 これにより、収集部15cは、特定のタイミングに類似した文脈で拡散されるユーザ生成コンテンツを効率よく収集することが可能となる。特に、収集部15cは、生成部15bが選定した悪性となり得る検索クエリを用いることにより、サービスごとに悪性の可能性が高いユーザ生成コンテンツを容易かつ迅速に収集することが可能となる。
 なお、収集部15cは、例えば1時間当あたり100クエリというように、収集量に上限を設けてユーザ生成コンテンツの収集を行う。これにより、収集先である各サービスのサーバの負荷を軽減することが可能となる。
[判定機能部]
 図5は、判定機能部の処理を説明するための図である。図5に示すように、判定機能部15Bは、特定のサービスについて、攻撃者が生成するユーザ生成コンテンツと正規ユーザが生成するユーザ生成コンテンツとの特徴の差を用いて、それぞれの特徴量を表す機械学習モデルを学習により取得する。判定機能部15Bは、特徴量として、ユーザ生成コンテンツのフレーズの共起性を表すテキスト特徴量と、各ユーザ生成コンテンツに出現する単語の類似性を表すグループ特徴量とを用いて、機械学習モデルの学習を行う。
 これにより、判定機能部15Bは、学習された機械学習モデルを用いて、その後に生成された当該サービスのユーザ生成コンテンツが悪性か否かを判定することが可能となる。例えば、判定機能部15Bは、同時期に生成された特定のサービスの大量のユーザ生成コンテンツの悪性判定をリアルタイムに行うことが可能となる。
 図2の説明に戻る。算出部15dは、所定の期間に、所定のサービスにおいて、ユーザにより生成されるユーザ生成コンテンツの特徴量を算出する。本実施形態において、ユーザ生成コンテンツの特徴量は、複数のユーザ生成コンテンツに共起する単語の組み合わせの特徴を表すテキスト特徴量と、所定の期間に生成された複数のユーザ生成コンテンツ間の単語の類似に関する特徴を表すグループ特徴量である。
 ここで、図6~図9は、算出部の処理を説明するための図である。まず、算出部15dは、複数のユーザ生成コンテンツに共起する単語の組み合わせの特徴を表すテキスト特徴量を算出する。具体的には、算出部15dは、収集されたユーザ生成コンテンツの集合に共起するフレーズのそれぞれについて、最適化した単語の分散表現のモデルを用いて、ユーザ生成コンテンツの集合のテキスト特徴量を算出する。
 より具体的には、図6に示すように、算出部15dは、予め、ユーザ生成コンテンツの集合の各ユーザ生成コンテンツで共起するフレーズによる分散表現の特徴ベクトルを出力するモデルの最適化を行う。図6に示す例では、算出部15dは、悪性のユーザ生成コンテンツの集合に出現する単語(1-gramのフレーズ)と2-gramのフレーズとのそれぞれを各行として、各ユーザ生成コンテンツ(文書)を各列とした行列(1.参照)を入力の重みとして用いている。また、算出部15dは、各フレーズに対応する各行の平均を算出している(2.参照)。
 また、算出部15dは、各文書を各行として、各単語を各列とした行列を出力の重みとして用いて、内積を算出し(3.参照)、各フレーズの分散表現の特徴ベクトルを出力するモデルの最適化を行っている(4.参照)。
 そして、算出部15dは、図7に示すように、まず、収集されたユーザ生成コンテンツの集合Uに対して、コンテンツ内のURLの文字列から辞書に存在する単語を抽出し、URLの文字列と置き換える(WordSegmentation)。
 また、算出部15dは、予め、ユーザ生成コンテンツの集合Uに出現する単語(1-gramのフレーズ)と2-gramのフレーズとについて、図6に示したように分散表現のモデルの最適化を行う。そして、算出部15dは、最適化した分散表現のモデルを用いて、各ユーザ生成コンテンツuの特徴ベクトルVECの集合を生成する(WordEmbeddings)。そして、算出部15dは、ユーザ生成コンテンツの集合のテキスト特徴量として、各ユーザ生成コンテンツuの特徴ベクトルVECの平均を算出する。
 ここで、異なるタイミングのイベントにおいても、悪性のユーザ生成コンテンツには類似した単語が多く存在する傾向にある。そのため、悪性のユーザ生成コンテンツの集合Uについて、上記のように算出される各ユーザ生成コンテンツuの特徴ベクトルVECの平均は、ユーザ生成コンテンツの集合Uの特徴を反映した特徴量となり得る。
 また、算出部15dは、所定の期間に生成された複数のユーザ生成コンテンツ間の単語の類似に関する特徴を表すグループ特徴量を算出する。具体的には、図8に示すように、算出部15dは、同時期に収集されたユーザ生成コンテンツの集合Uについて、出現する単語(1-gramのフレーズ)に対して、Minhash-LSHアルゴリズムを適用し、各ユーザ生成コンテンツ間の類似度を算出する。ここで、同時期とは、生成された日時の時間差が所定の時間閾値σ以内であることを意味している。そして、算出部15dは、算出した類似度が所定の類似度閾値τを超えた場合に、このユーザ生成コンテンツの集合を類似ユーザ生成コンテンツ集合とする。
 算出部15dは、類似ユーザ生成コンテンツ集合について、グループ特徴量を特定する。グループ特徴量は、集合のサイズ、集合内のユーザ数、集合内に記載されているユニークなURLの数、集合内のユーザ生成コンテンツに記載されているURLの数の平均、または集合内の平均投稿時間間隔である。
 例えば、図9に例示するように、算出部15dは、収集されたユーザ生成コンテンツ集合ごとに、類似ユーザ生成コンテンツ集合であるか否かを判定し、類似ユーザ生成コンテンツ集合である場合に、グループ特徴量を特定する。
 図9には、例えば、ユーザ生成コンテンツ1は、user1により生成され、出現する単語が「Free live streaming URL1 URL1」であることが例示されている。また、ユーザ生成コンテンツ1~3が同一の類似ユーザ生成コンテンツ集合であることが例示されている。また、この類似ユーザ生成コンテンツ集合のグループ特徴量として、平均投稿時間間隔、集合のサイズが3、集合のユニークユーザの数が2(user1、user2)、集合のURLユニーク数が2(URL1、URL2)、1コンテンツのURL数の平均が1.67であることが例示されている。
 また、ユーザ生成コンテンツ4、5が同一の類似ユーザ生成コンテンツ集合であることが例示されている。また、ユーザ生成コンテンツ6、7は、類似ユーザ生成コンテンツ集合ではないことが例示されている。
 ここで、悪性のユーザ生成コンテンツは、類似した文脈で同時期に拡散される傾向にある。そのため、悪性のユーザ生成コンテンツ集合について、上記のようにグループ特徴量を特定することが可能である。つまり、このようにグループ特徴量を特定できる場合には、このユーザ生成コンテンツの集合が悪性である可能性が高いことを意味する。
 図2の説明に戻る。学習部15eは、算出された正規ユーザにより生成されるユーザ生成コンテンツの特徴量と、悪性ユーザにより生成されるコンテンツの特徴量とを用いて学習する。また、判定部15fは、学習されたモデルにより、ユーザ生成コンテンツが悪性ユーザにより生成されたものか否かを判定する。
 具体的には、学習部15eは、ユーザ生成コンテンツのフレーズの共起性を表すテキスト特徴量と、各ユーザ生成コンテンツに出現する単語の類似性を表すグループ特徴量とを用いて、機械学習モデルの教師あり学習を行う。また、判定部15fは、学習された機械学習モデルを用いて、その後に取得された当該サービスのユーザ生成コンテンツが悪性か否かを判定する。
 このように、判定機能部15Bは、イベント等の特定のタイミングで生成される悪性の可能性が高いユーザ生成コンテンツの特徴を学習し、学習結果を用いて、リアルタイムに収集されたユーザ生成コンテンツの悪性判定を行うことが可能となる。
[抽出機能部]
 図10は、抽出機能部の処理を説明するための図である。図10に示すように、抽出機能部15Cは、任意のサービスにおいて、ユーザ生成コンテンツに含まれるURLにアクセスして得られるWebコンテンツの特徴量を抽出する。例えば、抽出機能部15Cは、最終的に到達するFQDN(完全指定ドメイン名)のIPアドレスを特定する。
 また、抽出機能部15Cは、攻撃者が生成するユーザ生成コンテンツと正規ユーザが生成するユーザ生成コンテンツについて、特徴量を用いて学習する。そして、抽出機能部15Cは、抽出機能部15Cは、学習した特徴量を用いて、同時期に任意のサービスで大量に生成されたユーザ生成コンテンツについて、悪性判定を行う。
 また、抽出機能部15Cは、悪性のユーザ生成コンテンツであると判定された場合に、この悪性のユーザ生成コンテンツから、脅威となり得る特徴である脅威情報を抽出し、脅威レポートを出力する。このようにして、抽出機能部15Cは、脅威となり得る攻撃をリアルタイムに検知することが可能となる。
 図2の説明に戻る。抽出部15gは、所定の期間に、複数のサービスにおいて、ユーザにより生成されるユーザ生成コンテンツに記載された入口URLにアクセスして該ユーザ生成コンテンツの特徴量を抽出する。ここで抽出される特徴量は、到達する到達WebサイトのWebコンテンツに関する特徴量と、所定の期間に生成された複数のユーザ生成コンテンツに関する特徴量とを含む。
 具体的には、抽出部15gは、まず、収集されたユーザ生成コンテンツに記載されたURLを入口URLとして、この入口URLにアクセスして、最終的に到達したサイトのURLすなわち到達URLを特定する。なお、入口URLがURL短縮サービスを利用したものである場合には、これをそのまま入口URLとする。
 ここで、ユーザ生成コンテンツに記載されたURLには、bit[.]ly、tinyuri[.]com等のURL短縮サービスを利用したものが多数存在する。URL短縮サービスは、長いURLを短く簡素なURLに変換して発行するサービスである。URL短縮サービスの多くは、他のサイトの長いURLを自サービスの配下で発行した短いURLと対応付けておくことで、この短いURLへのアクセスがあった場合に、元の長いURLへリダイレクトする。
 そこで、抽出部15gは、例えば、スクレイピングフレームワークのScrapyとJavascript(登録商標)レンダリングが可能なヘッドレスブラウザSplashとを組み合わせてWebクローラを作成する。これにより、抽出部15gは、ユーザ生成コンテンツに記載されたURLにアクセスし、通信情報を記録する。
 例えば、抽出部15gは、最終的に到達するWebサイトのWebコンテンツとリダイレクトの回数とを記録する。入口URL「http://bit.ly/aaa」→「http://redirect.com/」→到達URL「http://malicious.com」の順に遷移する通信パターンである場合には、リダイレクト回数2回、最終到達Webサイト「malicious.com」のWebコンテンツ等が記録される。
 そして、抽出部15gは、到達サイトの各HTMLのタグ数、到達サイト上に表示される文字列の分散表現、リダイレクト回数、入口URLから到達URLまでに遷移するFQDN(完全指定ドメイン名)の数等といった、Webコンテンツの特徴量を抽出する。ここで、HTMLの計上するタグは、例えば、悪性サイトに頻出するTop30のタグとすることにより、抽出部15gが、悪性のユーザ生成コンテンツの特徴量を抽出することが可能となる。
 また、抽出部15gは、最終的に到達するFQDNのIPアドレスを特定する。また、抽出部15gは、同時期に複数のサービスから同一のIPアドレスに到達する場合に、これらのユーザ生成コンテンツの集合を、類似ユーザ生成コンテンツ集合とする。
 そして、抽出部15gは、類似ユーザ生成コンテンツ集合について、集合内のユーザ生成コンテンツ数、サービス数、入口URLの数、ユーザ数、テキストの分散表現等といった、ユーザ生成コンテンツの特徴量を抽出する。
 学習部15eは、抽出された正規ユーザにより生成されるユーザ生成コンテンツの特徴量と、悪性ユーザにより生成されるコンテンツの特徴量とを用いて学習する。また、判定部15fは、学習されたモデルにより、ユーザ生成コンテンツが悪性ユーザにより生成されたものか否かを判定する。
 具体的には、学習部15eは、抽出された最終到達WebサイトのWebコンテンツに関する特徴量と、同時期に生成されたユーザ生成コンテンツに関する特徴量とを用いて、機械学習モデルの教師あり学習を行う。また、判定部15fは、学習された機械学習モデルを用いて、その後に取得された当該サービスのユーザ生成コンテンツが悪性か否かを判定する。
 このように、学習部15eは、イベント等の特定のタイミングで類似した文脈で生成され、同一のIPアドレスに到達するURLが記載された悪性の可能性が高いユーザ生成コンテンツ集合の特徴を学習する。したがって、判定部15fは、学習結果を用いて、リアルタイムに収集されたユーザ生成コンテンツの悪性判定を行うことが可能となる。
 また、抽出部15gは、ユーザ生成コンテンツが悪性ユーザにより生成されたと判定された場合に、該ユーザ生成コンテンツの攻撃の特徴を脅威情報として出力する。ここで、図11および図12は、脅威情報を説明するための図である。図11に示すように、脅威情報には、例えばユーザ生成コンテンツに含まれるキーフレーズと、各サービスのユーザ生成コンテンツに記載された入口URL、到達URL等が含まれる。図11に示す例では、キーフレーズ「rugby world cup」を含むサービスaおよびサービスbのユーザ生成コンテンツと、それぞれに記載されている入口URLと、サービスa、bに共通の到達URLが示されている。抽出部15gは、これらの脅威情報を、所定の提供先に対して出力部12または通信制御部13を介して出力する。
 具体的には、図12に示すように、脅威情報として、提供先に対する通報等の注意喚起や、ブラックリスト等が提供される。図12に示す例では、例えば、単語「定期開催(週に1回)、無料、生放送、Jリーグ」等を含む文脈のユーザ生成コンテンツについて、注意喚起されている。特に、この文脈を用いる攻撃者のアカウントと悪用されたサービスとが通報されている。また、このユーザ生成コンテンツに記載された入口URL、入口URLから遷移する中継URL、中継URLから最終的に到達する到達URLを含むブラックリストが提示されている。
 また、図12に示す例では、上記の文脈の悪性のユーザ生成コンテンツと、単語「定期開催(4年に1回)、無料、生放送、東京オリンピック」等を含む文脈の悪性のユーザ生成コンテンツとについて、到達URLが共通の悪性サイトであることが提示されている。
 このように、抽出機能部15Cは、同時期に任意のサービスで大量に生成された悪性の可能性の高いユーザ生成コンテンツについて、入口URLにアクセスして得られる特徴量を用いて、悪性判定を行う。また、抽出機能部15Cは、悪性のユーザ生成コンテンツであると判定された場合に、この悪性のユーザ生成コンテンツから脅威情報を抽出し、脅威レポートを出力する。これにより、抽出機能部15Cは、同時期に任意のサービスで大量に生成された悪性の可能性の高いユーザ生成コンテンツのうち、脅威となり得る攻撃をリアルタイムに検知して、攻撃情報を出力することが可能となる。
 なお、抽出部15gは、上記の判定機能部15Bにおいて悪性のユーザ生成コンテンツであると判定された場合に、該ユーザ生成コンテンツの誘導文脈に含まれる文字列やURL等の攻撃の特徴を脅威情報として出力してもよい。
[検知処理]
 次に、図13~図17を参照して、本実施形態に係る検知装置1による検知処理について説明する。まず、図13は、収集機能部の収集処理手順を示すフローチャートである。図13のフローチャートは、例えば、ユーザが開始を指示する操作入力を行ったタイミングで開始される。
 まず、取得部15aが、所定の期間に各サービスにおいて生成されるユーザ生成コンテンツを取得する(ステップS1)。具体的には、取得部15aは、入力部11あるいは通信制御部13を介して、各サービスのサーバ等から、ユーザ生成コンテンツを取得する。
 次に、生成部15bは、サービスごとのユーザ生成コンテンツに出現する単語を用いて、検索クエリを生成する。例えば、生成部15bは、出現する単語の組み合わせを用いて検索クエリを生成する(ステップS2)。
 また、生成部15bは、サービスごとに検索クエリの悪性度を算出し、算出した悪性度が閾値以上である検索クエリを、当該サービスの悪性となり得るユーザ生成コンテンツの検索クエリとして選定する。
 収集部15cは、選定された検索クエリを用いて、所定のサービスにおいて生成されるユーザ生成コンテンツを収集する(ステップS3)。これにより、一連の収集処理が完了する。
 次に、図14および図15は、判定機能部の処理手順を示すフローチャートである。まず、図14のフローチャートは、判定機能部15Bにおける学習処理を示し、例えば、ユーザが開始を指示する操作入力を行ったタイミングで開始される。
 算出部15dは、収集機能部15Aが所定の期間に収集した、所定のサービスのユーザ生成コンテンツの特徴量を算出する(ステップS4)。具体的には、算出部15dは、複数のユーザ生成コンテンツに共起する単語の組み合わせの特徴を表すテキスト特徴量と、所定の期間に生成された複数のユーザ生成コンテンツ間の単語の類似に関する特徴を表すグループ特徴量とを算出する。
 また、学習部15eが、算出された正規ユーザにより生成されるユーザ生成コンテンツの特徴量と、悪性ユーザにより生成されるコンテンツの特徴量とを用いて学習する(ステップS5)。これにより、一連の学習処理が完了する。
 次に、図15のフローチャートは、判定機能部15Bにおける判定処理を示し、例えば、ユーザが開始を指示する操作入力を行ったタイミングで開始される。
 算出部15dは、収集機能部15Aが所定の期間に収集した、所定のサービスのユーザ生成コンテンツの特徴量を算出する(ステップS4)。
 次に、判定部15fが、学習されたモデルにより、ユーザ生成コンテンツが悪性ユーザにより生成されたものか否かを判定する(ステップS6)。これにより、一連の判定処理が終了する。
 また、図16および図17は、抽出機能部の処理手順を示すフローチャートである。まず、図16のフローチャートは、抽出機能部15Cにおける学習処理を示し、例えば、ユーザが開始を指示する操作入力を行ったタイミングで開始される。
 まず、抽出部15gが、収集機能部15Aが所定の期間に収集した、複数のサービスのユーザ生成コンテンツに記載された入口URLにアクセスして、該ユーザ生成コンテンツの特徴量を抽出する(ステップS14)。具体的には、抽出部15gは、到達する到達WebサイトのWebコンテンツに関する特徴量と、所定の期間に生成された複数のユーザ生成コンテンツに関する特徴量とを抽出する。
 また、学習部15eが、抽出された正規ユーザにより生成されるユーザ生成コンテンツの特徴量と、悪性ユーザにより生成されるコンテンツの特徴量とを用いて学習する(ステップS5)。これにより、一連の学習処理が完了する。
 次に、図17のフローチャートは、抽出機能部15Cにおける判定処理を示し、例えば、ユーザが開始を指示する操作入力を行ったタイミングで開始される。
 まず、抽出部15gが、収集機能部15Aが所定の期間に収集した、複数のサービスのユーザ生成コンテンツに記載された入口URLにアクセスして、該ユーザ生成コンテンツの特徴量を抽出する(ステップS14)。
 また、判定部15fが、学習されたモデルにより、ユーザ生成コンテンツが悪性ユーザにより生成されたものか否かを判定する(ステップS6)。
 そして、判定部15fが、ユーザ生成コンテンツが悪性ユーザにより生成されたと判定した場合には、抽出部15gが、このユーザ生成コンテンツの攻撃の特徴を脅威情報として出力する(ステップS7)。これにより、一連の判定処理が終了する。
 なお、図17の処理と同様に、図15に示したステップS6の処理の後にステップS7の処理が行われてもよい。すなわち、判定機能部15Bにおいてユーザ生成コンテンツが悪性ユーザにより生成されたと判定された場合に、抽出部15gがこのユーザ生成コンテンツの攻撃の特徴を脅威情報として出力してもよい。
 以上、説明したように、本実施形態の収集機能部15Aでは、取得部15aが、所定の期間に各サービスにおいて生成されるユーザ生成コンテンツを取得する。また、生成部15bが、サービスごとのユーザ生成コンテンツに出現する単語を用いて、検索クエリを生成する。また、収集部15cが、生成された検索クエリを用いて、複数のサービスにおいて生成されるユーザ生成コンテンツを収集する。
 これにより、収集機能部15Aは、特定のタイミングに類似した文脈で拡散される、悪性の可能性が高いユーザ生成コンテンツを効率よく収集することが可能となる。その結果、検知装置1は、広範囲で悪性サイトの検知を迅速かつ精度高く行うことが可能となる。
 また、生成部15bは、サービスごとに悪性になり得る検索クエリを選定する。これにより、収集機能部15Aは、サービスごとに悪性の可能性が高いユーザ生成コンテンツを容易に迅速に収集することが可能となる。
 また、判定機能部15Bでは、算出部15dが、所定の期間に、ユーザにより生成されるユーザ生成コンテンツの特徴量を算出する。また、学習部15eが、算出された正規ユーザにより生成されるユーザ生成コンテンツの特徴量と、悪性ユーザにより生成されるコンテンツの特徴量とを用いて学習する。また、判定部15fが、学習されたモデルにより、ユーザ生成コンテンツが悪性ユーザにより生成されたものか否かを判定する。
 これにより、判定機能部15Bは、イベント等の特定のタイミングで生成されるユーザ生成コンテンツの特徴を学習し、学習結果を用いて、リアルタイムに収集されたユーザ生成コンテンツの悪性判定を行うことが可能となる。このように、判定機能部15Bは、悪性サイトの検知を迅速かつ精度高く行うことが可能となる。
 また、算出部15dが算出するユーザ生成コンテンツの特徴量は、複数のユーザ生成コンテンツに共起する単語の組み合わせの特徴を表すテキスト特徴量と、所定の期間に生成された複数のユーザ生成コンテンツ間の単語の類似に関する特徴を表すグループ特徴量とを含む。
 これにより、判定機能部15Bは、悪性の可能性が高いユーザ生成コンテンツの特徴を用いて学習し、学習結果を用いて、リアルタイムに収集されたユーザ生成コンテンツの悪性判定を行うことが可能となる。
 また、抽出機能部15Cでは、抽出部15gが、所定の期間に、複数のサービスにおいて、ユーザにより生成されるユーザ生成コンテンツに記載された入口URLにアクセスして該ユーザ生成コンテンツの特徴量を抽出する。また、学習部15eが、抽出された正規ユーザにより生成されるユーザ生成コンテンツの特徴量と、悪性ユーザにより生成されるコンテンツの特徴量とを用いて学習する。また、判定部15fが、学習されたモデルにより、ユーザ生成コンテンツが悪性ユーザにより生成されたものか否かを判定する。
 これにより、抽出機能部15Cは、イベント等の特定のタイミングで生成される多様なサービスのユーザ生成コンテンツの特徴を用いて、リアルタイムに収集されたユーザ生成コンテンツの悪性判定を行うことが可能となる。このように、抽出機能部15Cは、広範囲で悪性サイトの検知を迅速かつ精度高く行うことが可能となる。
 また、抽出部15gが抽出する特徴量は、到達する到達WebサイトのWebコンテンツに関する特徴量と、所定の期間に生成された複数のユーザ生成コンテンツに関する特徴量とを含む。これにより、抽出機能部15Cは、有効な悪性サイトの脅威情報を抽出することが可能となる。
 また、抽出部15gは、ユーザ生成コンテンツが悪性ユーザにより生成されたと判定された場合に、該ユーザ生成コンテンツの攻撃の特徴を脅威情報として出力する。これにより、抽出機能部15Cは、所定の提供先に、有効な悪性サイトの脅威情報を提示することが可能となる。
 また、本実施形態の検知装置1において、取得部15aが、所定の期間に各サービスにおいて生成されるユーザ生成コンテンツを取得する。また、生成部15bが、サービスごとのユーザ生成コンテンツに出現する単語を用いて、検索クエリを生成する。また、収集部15cが、生成された検索クエリを用いて、複数のサービスにおいて生成されるユーザ生成コンテンツを収集する。また、算出部15dが、収集された所定のサービスのユーザ生成コンテンツの特徴量を算出する。また、学習部15eが、正規ユーザにより生成されるユーザ生成コンテンツの特徴量と、悪性ユーザにより生成されるコンテンツの特徴量とを用いて学習する。また、判定部15fが、学習されたモデルにより、ユーザ生成コンテンツが悪性ユーザにより生成されたものか否かを判定する。また、抽出部15gが、ユーザ生成コンテンツが悪性ユーザにより生成されたと判定された場合に、該ユーザ生成コンテンツに記載された入口URLにアクセスして該ユーザ生成コンテンツの攻撃の特徴を脅威情報として出力する。
 これにより、検知装置1は、イベント等の特定のタイミングで生成されるユーザ生成コンテンツの特徴を用いて、迅速に悪性のユーザ生成コンテンツを検知して、所定の提供先に、有効な悪性サイトの脅威情報を提示することが可能となる。このように、検知装置1は、広範囲で悪性サイトの検知を迅速に行うことが可能となる。
 また、生成部15bは、サービスごとに悪性になり得る検索クエリを選定する。これにより、検知装置1は、悪性の可能性の高いユーザ生成コンテンツを容易に収集し、より迅速に悪性のユーザ生成コンテンツを検知することが可能となる。
 また、算出部15dが算出するユーザ生成コンテンツの特徴量は、複数のユーザ生成コンテンツに共起する単語の組み合わせの特徴を表すテキスト特徴量と、所定の期間に生成された複数のユーザ生成コンテンツ間の単語の類似に関する特徴を表すグループ特徴量とを含む。これにより、検知装置1は、悪性の可能性の高いユーザ生成コンテンツを処理対象として、より迅速に悪性のユーザ生成コンテンツを検知することが可能となる。
 また、学習部15eは、抽出部15gが抽出する複数のサービスのユーザ生成コンテンツの特徴量を用いて学習し、判定部15fが、学習されたモデルにより、複数のサービスのユーザ生成コンテンツが悪性ユーザにより生成されたものか否かを判定する。これにより、任意のサービスのユーザ生成コンテンツの特徴を用いて、より迅速に悪性のユーザ生成コンテンツの検知が可能となる。
 また、抽出部15gが抽出する特徴量は、到達する到達WebサイトのWebコンテンツに関する特徴量と、所定の期間に生成された複数のユーザ生成コンテンツに関する特徴量とを含む。これにより、検知装置1は、所定の提供先に、有効な悪性サイトの脅威情報を提示することが可能となる。
[プログラム]
 上記実施形態に係る検知装置1が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。一実施形態として、検知装置1は、パッケージソフトウェアやオンラインソフトウェアとして上記の検知処理を実行する検知プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の検知プログラムを情報処理装置に実行させることにより、情報処理装置を検知装置1として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)などの移動体通信端末、さらには、PDA(Personal Digital Assistant)などのスレート端末などがその範疇に含まれる。また、検知装置1の機能を、クラウドサーバに実装してもよい。
 図18は、検知プログラムを実行するコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有する。これらの各部は、バス1080によって接続される。
 メモリ1010は、ROM(Read Only Memory)1011およびRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1031に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1041に接続される。ディスクドライブ1041には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース1050には、例えば、マウス1051およびキーボード1052が接続される。ビデオアダプタ1060には、例えば、ディスプレイ1061が接続される。
 ここで、ハードディスクドライブ1031は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093およびプログラムデータ1094を記憶する。上記実施形態で説明した各情報は、例えばハードディスクドライブ1031やメモリ1010に記憶される。
 また、検知プログラムは、例えば、コンピュータ1000によって実行される指令が記述されたプログラムモジュール1093として、ハードディスクドライブ1031に記憶される。具体的には、上記実施形態で説明した検知装置1が実行する各処理が記述されたプログラムモジュール1093が、ハードディスクドライブ1031に記憶される。
 また、検知プログラムによる情報処理に用いられるデータは、プログラムデータ1094として、例えば、ハードディスクドライブ1031に記憶される。そして、CPU1020が、ハードディスクドライブ1031に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した各手順を実行する。
 なお、検知プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1031に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ1041等を介してCPU1020によって読み出されてもよい。あるいは、検知プログラムに係るプログラムモジュール1093やプログラムデータ1094は、LANやWAN(Wide Area Network)等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
 以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述および図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例および運用技術等は全て本発明の範疇に含まれる。
 1 検知装置
 11 入力部
 12 出力部
 13 通信制御部
 14 記憶部
 15 制御部
 15A 収集機能部
 15B 判定機能部
 15C 抽出機能部
 15a 取得部
 15b 生成部
 15c 収集部
 15d 算出部
 15e 学習部
 15f 判定部
 15g 抽出部

Claims (5)

  1.  所定の期間に、ユーザにより生成されるユーザ生成コンテンツの特徴量を算出する算出部と、
     算出された正規ユーザにより生成されるユーザ生成コンテンツの特徴量と、悪性ユーザにより生成されるコンテンツの特徴量とを用いて学習する学習部と、
    学習されたモデルにより、ユーザ生成コンテンツが悪性ユーザにより生成されたものか否かを判定する判定部と、
     を有することを特徴とする判定装置。
  2.  前記算出部が算出する前記ユーザ生成コンテンツの特徴量は、複数のユーザ生成コンテンツに共起する単語の組み合わせの特徴を表すテキスト特徴量と、所定の期間に生成された複数のユーザ生成コンテンツ間の単語の類似に関する特徴を表すグループ特徴量とを含むことを特徴とする請求項1に記載の判定装置。
  3.  前記グループ特徴量は、集合のサイズ、集合内のユーザ数、集合内に記載されているユニークなURLの数、集合内のユーザ生成コンテンツに記載されているURLの数の平均、または集合内の平均投稿時間間隔のいずれか1つ以上を含むことを特徴とする請求項2に記載の判定装置。
  4.  判定装置が実行する判定方法であって、
     所定の期間に、ユーザにより生成されるユーザ生成コンテンツの特徴量を算出する算出工程と、
     算出された正規ユーザにより生成されるユーザ生成コンテンツの特徴量と、悪性ユーザにより生成されるコンテンツの特徴量とを用いて学習する学習工程と、
    学習されたモデルにより、ユーザ生成コンテンツが悪性ユーザにより生成されたものか否かを判定する判定工程と、
     を含んだことを特徴とする判定方法。
  5.  所定の期間に、ユーザにより生成されるユーザ生成コンテンツの特徴量を算出する算出ステップと、
     算出された正規ユーザにより生成されるユーザ生成コンテンツの特徴量と、悪性ユーザにより生成されるコンテンツの特徴量とを用いて学習する学習ステップと、
    学習されたモデルにより、ユーザ生成コンテンツが悪性ユーザにより生成されたものか否かを判定する判定ステップと、
     をコンピュータに実行させるための判定プログラム。
PCT/JP2020/038730 2020-10-14 2020-10-14 判定装置、判定方法および判定プログラム WO2022079821A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP20957650.3A EP4213048A4 (en) 2020-10-14 2020-10-14 DETERMINATION DEVICE, DETERMINATION METHOD AND DETERMINATION PROGRAM
JP2022556742A JP7459961B2 (ja) 2020-10-14 2020-10-14 判定装置、判定方法および判定プログラム
PCT/JP2020/038730 WO2022079821A1 (ja) 2020-10-14 2020-10-14 判定装置、判定方法および判定プログラム
US18/031,620 US20230388337A1 (en) 2020-10-14 2020-10-14 Determination device, determination method, and determination program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/038730 WO2022079821A1 (ja) 2020-10-14 2020-10-14 判定装置、判定方法および判定プログラム

Publications (1)

Publication Number Publication Date
WO2022079821A1 true WO2022079821A1 (ja) 2022-04-21

Family

ID=81207839

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/038730 WO2022079821A1 (ja) 2020-10-14 2020-10-14 判定装置、判定方法および判定プログラム

Country Status (4)

Country Link
US (1) US20230388337A1 (ja)
EP (1) EP4213048A4 (ja)
JP (1) JP7459961B2 (ja)
WO (1) WO2022079821A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150295942A1 (en) * 2012-12-26 2015-10-15 Sinan TAO Method and server for performing cloud detection for malicious information
US20160012223A1 (en) * 2010-10-19 2016-01-14 Cyveillance, Inc. Social engineering protection appliance
CN110602045A (zh) * 2019-08-13 2019-12-20 南京邮电大学 一种基于特征融合和机器学习的恶意网页识别方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2595693B1 (en) * 2010-07-22 2015-03-04 Endobetix Ltd Pancreatiobiliary diversion device
US9083729B1 (en) * 2013-01-15 2015-07-14 Symantec Corporation Systems and methods for determining that uniform resource locators are malicious
CN109472027A (zh) * 2018-10-31 2019-03-15 北京邮电大学 一种基于博文相似性的社交机器人检测系统及方法
US20200234109A1 (en) * 2019-01-22 2020-07-23 International Business Machines Corporation Cognitive Mechanism for Social Engineering Communication Identification and Response

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160012223A1 (en) * 2010-10-19 2016-01-14 Cyveillance, Inc. Social engineering protection appliance
US20150295942A1 (en) * 2012-12-26 2015-10-15 Sinan TAO Method and server for performing cloud detection for malicious information
CN110602045A (zh) * 2019-08-13 2019-12-20 南京邮电大学 一种基于特征融合和机器学习的恶意网页识别方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
HONGYU GAO ET AL., TOWARDS ONLINE SPAM FILTERING IN SOCIAL NETWORKS, 27 July 2019 (2019-07-27)
ISHIHARA, TAKASHI; ORITO, RINTARO; SATO, MASAYA; YAMAUCHI, TOSHIHIRO: "Method of Generating Blacklist by Searching Malicious Mobile Websites", SYMPOSIUM OF INFORMATION PROCESSING SOCIETY OF JAPAN (IPSJ) : COMPUTER SECURITY SYMPOSIUM 2019, vol. 2019, 21 October 2019 (2019-10-21) - 24 October 2019 (2019-10-24), pages 1025 - 1032, XP009537011 *
SANGHO LEEJONG KIM, WARNINGBIRD: DETECTING SUSPICIOUS URLS IN TWITTER STREAM, 27 July 2020 (2020-07-27)
See also references of EP4213048A4

Also Published As

Publication number Publication date
EP4213048A1 (en) 2023-07-19
EP4213048A4 (en) 2024-04-03
US20230388337A1 (en) 2023-11-30
JP7459961B2 (ja) 2024-04-02
JPWO2022079821A1 (ja) 2022-04-21

Similar Documents

Publication Publication Date Title
US11698908B2 (en) Content inversion for user searches and product recommendations systems and methods
Aljofey et al. An effective detection approach for phishing websites using URL and HTML features
US8478701B2 (en) Locating a user based on aggregated tweet content associated with a location
RU2595594C2 (ru) Способ и устройство для автоматического аннотирования содержимого электронных документов
US20150112753A1 (en) Social content filter to enhance sentiment analysis
EP3703329B1 (en) Webpage request identification
CN113055386A (zh) 一种攻击组织的识别分析方法和装置
Deshpande et al. Detection of phishing websites using Machine Learning
RU2701040C1 (ru) Способ и вычислительное устройство для информирования о вредоносных веб-ресурсах
CN111753171A (zh) 一种恶意网站的识别方法和装置
Zeng et al. A comprehensive measurement study of domain-squatting abuse
CN114222000B (zh) 信息推送方法、装置、计算机设备和存储介质
Du et al. PRTIRG: a knowledge graph for people-readable threat intelligence recommendation
CN107665442B (zh) 获取目标用户的方法及装置
WO2022079821A1 (ja) 判定装置、判定方法および判定プログラム
WO2022079822A1 (ja) 検知装置、検知方法および検知プログラム
JP6823205B2 (ja) 収集装置、収集方法及び収集プログラム
WO2022079823A1 (ja) 抽出装置、抽出方法および抽出プログラム
WO2022079824A1 (ja) 収集装置、収集方法および収集プログラム
Anagnostopoulos et al. Semantic query suggestion using Twitter Entities
Panchenko et al. Large-scale parallel matching of social network profiles
RU2762241C2 (ru) Система и способ выявления мошеннических активностей при взаимодействии пользователя с банковскими сервисами
JP2017215803A (ja) 特徴語抽出装置
KR101402339B1 (ko) 문서 관리 시스템 및 문서 관리 방법
Jiang et al. An integrated Chinese malicious webpages detection method based on pre-trained language models and feature fusion

Legal Events

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

Ref document number: 20957650

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022556742

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 18031620

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2020957650

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2020957650

Country of ref document: EP

Effective date: 20230414

NENP Non-entry into the national phase

Ref country code: DE