WO2024089859A1 - 収集装置、収集方法、および、収集プログラム - Google Patents

収集装置、収集方法、および、収集プログラム Download PDF

Info

Publication number
WO2024089859A1
WO2024089859A1 PCT/JP2022/040259 JP2022040259W WO2024089859A1 WO 2024089859 A1 WO2024089859 A1 WO 2024089859A1 JP 2022040259 W JP2022040259 W JP 2022040259W WO 2024089859 A1 WO2024089859 A1 WO 2024089859A1
Authority
WO
WIPO (PCT)
Prior art keywords
keywords
posts
tweets
unit
collection
Prior art date
Application number
PCT/JP2022/040259
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 PCT/JP2022/040259 priority Critical patent/WO2024089859A1/ja
Publication of WO2024089859A1 publication Critical patent/WO2024089859A1/ja

Links

Images

Definitions

  • the present invention relates to a collection device, a collection method, and a collection program for collecting posts related to security threat information.
  • Security blogs, security reports, social platforms, etc. are sources from which information on security threats such as phishing attacks can be extracted.
  • non-patent documents 3 and 4 natural language processing technology can be applied to blogs and reports that summarize threat information analyzed by security experts, and the data can be extracted as formatted data, making it possible to use it mechanically.
  • Non-Patent Document 5 compares and evaluates Twitter (registered trademark), Facebook (registered trademark), news sites, security blogs, security forums, etc. as sources of threat information, and reports that Twitter is superior in terms of both the quantity and quality of information that can be collected.
  • Non-Patent Documents 6, 7, and 8 propose technology that focuses on specific users and keywords on Twitter and extracts threat-related URLs, domain names, hash values, IP addresses, vulnerability information, and other information from each user's tweets. It has been reported that this technology can obtain a large amount of useful threat information.
  • Phishing attacks continue at a rapid pace - unique URLs, an average of about 270 per day, Security NEXT, [online], [searched October 13, 2022], Internet ⁇ URL: https://www.security-next.com/134607> 2022/02 Phishing report status, [online], Council of Anti-Phishing Japan, [Retrieved October 13, 2022], Internet ⁇ URL: https://www.antiphishing.jp/report/monthly/202202.html> Zhu, Ziyun and Dumitras, Jerusalem, “ChainSmith: Automatically Learning the Semantics of Malicious Campaigns by Mining Threat Intelligence Reports”, 2018 IEEE European Symposium on Security and Privacy Satvat, Kiavash, Gjomemo, Rigel and Venkatakrishnan, V.N., “EXTRACTOR: Extracting Attack Behavior from Threat Reports”, IEEE EuroS&P 2021.
  • the objective of the present invention is to solve the above-mentioned problem and extract a wide range of security threat information.
  • the present invention is characterized by comprising a first collection unit that uses security keywords, which are keywords related to security threats, to collect posts related to security threats from posts on a social networking service (SNS), a keyword extraction unit that extracts co-occurring keywords, which are keywords that co-occur with more than a predetermined frequency, from the collected posts related to security threats, and a second collection unit that collects posts containing the co-occurring keywords and images linked to the posts from the SNS posts.
  • security keywords which are keywords related to security threats
  • SNS social networking service
  • the present invention makes it possible to extract a wide range of security threat information.
  • FIG. 1 is a diagram illustrating an example of a system configuration.
  • FIG. 2A is a diagram illustrating an example of the configuration of a collection device.
  • FIG. 2B is a flowchart illustrating an example of a processing procedure executed by the collection device.
  • FIG. 3 is a diagram for explaining a specific example of a processing procedure executed by the collection device.
  • FIG. 4 is a diagram showing an example of security keywords.
  • Figure 5 is a diagram illustrating an example of generating co-occurrence keywords.
  • FIG. 6 is a diagram showing an example of a Tweet that is the subject of data collection.
  • FIG. 7 is a diagram for explaining the process of extracting a URL and a domain name from the text and image of a Tweet.
  • FIG. 1 is a diagram illustrating an example of a system configuration.
  • FIG. 2A is a diagram illustrating an example of the configuration of a collection device.
  • FIG. 2B is a flowchart illustrating an example of a processing procedure executed by the collection
  • FIG. 8A is a diagram illustrating an example of the configuration of a classification device.
  • FIG. 8B is a flowchart illustrating an example of a processing procedure executed by the classification device.
  • FIG. 9 is a diagram for explaining a specific example of a processing procedure executed by the classification device.
  • FIG. 10 is a diagram showing an example of feature quantities generated from a Tweet.
  • Figure 11 is a diagram showing an example of an Account Feature of a Tweet.
  • Figure 12 shows an example of a Content Feature of a Tweet.
  • FIG. 13 is a diagram showing an example of a URL Feature of a Tweet.
  • Figure 14 shows an example of an OCR Feature of a Tweet.
  • Figure 15 shows an example of a Visual Feature of a Tweet.
  • Figure 16 shows an example of a Context Feature of a Tweet.
  • FIG. 17 is a diagram showing an example of feature amounts selected by the selection unit in FIG. 8A.
  • FIG. 18 shows the evaluation results of the classification accuracy of the system.
  • FIG. 19 is a diagram showing the number of phishing attack reports and URLs related to phishing attacks extracted by the system during a given period.
  • FIG. 20 is a diagram showing the results of comparing the system with OpenPhish.
  • FIG. 21 is a diagram showing the comparison results between the system and PhishTank.
  • FIG. 22 is a diagram showing the survey results of the number of reports by users and the number of phishing URLs.
  • FIG. 23 is a diagram showing the effect of dynamically selecting keywords.
  • FIG. 24 is a diagram illustrating a computer that executes a program.
  • SNS Social Networking Service
  • Twitter posts Twitter posts
  • SNS posts may be in either Japanese or English.
  • the system for example, quickly and accurately extracts tweets reporting phishing attacks from each user's tweets.
  • the system includes a collection device 10 and a classification device 20.
  • the collection device 10 and the classification device 20 may be connected to each other so as to be able to communicate with each other via a network such as the Internet, or may be installed in the same device.
  • Collection device 10 Collects a wide range of tweets that may be reports of phishing attacks. For example, the collection device 10 extracts keywords that co-occur in reports of phishing attacks (Co-occurrence Keywords). The collection device 10 then uses keywords related to security threats (Security Keywords) and the above-mentioned Co-occurrence Keywords to collect a wide range of tweets that may be reports of phishing attacks (Screened Tweets in Figure 1).
  • Classification device 20 Classifies tweets reporting phishing attacks from among the tweets collected by collection device 10. For example, classification device 20 extracts text and image features of tweets reporting phishing attacks through machine learning, and uses the extracted features to classify each tweet as either a tweet reporting a phishing attack or another tweet.
  • the collection device 10 may extract Co-occurrence Keywords from the group of Tweets classified as Tweets reporting phishing attacks. The collection device 10 may then use the extracted Co-occurrence Keywords to collect Tweets that may be reports of phishing attacks. In this way, the system can dynamically expand/reduce the keywords for collecting Tweets that may be reports of phishing attacks, and collect Tweets that should be collected at the appropriate time.
  • the system can also accurately extract reports of phishing attacks from the large amount of collected Tweets. Furthermore, the system extracts information about phishing attacks from both the text and images contained in Tweets, making it possible to extract useful information that could not be obtained by simply analyzing the text of Tweets.
  • This system provides the following benefits in countering phishing attacks: (1) It becomes possible to collect threat information from a wider range than the limited monitoring targets of conventional technology, making it possible to provide threat information from a new perspective.
  • the collection device 10 includes, for example, an input/output unit 11, a storage unit 12, and a control unit 13.
  • the input/output unit 11 is an interface that handles the input and output of various data. For example, the input/output unit 11 accepts input of Tweets collected from Twitter. In addition, the input/output unit 11 outputs Tweets that may be reports of phishing attacks extracted by the control unit 13 (Screened Tweets in FIG. 1 ).
  • the memory unit 12 stores data, programs, etc. that are referenced when the control unit 13 executes various processes.
  • the memory unit 12 is realized, for example, by a semiconductor memory element such as a RAM (Random Access Memory) or a flash memory, or a storage device such as a hard disk or an optical disk.
  • the memory unit 12 stores, for example, security keywords, co-occurrence keywords, etc. extracted by the control unit 13.
  • the control unit 13 is responsible for controlling the entire collection device 10.
  • the functions of the control unit 13 are realized, for example, by a CPU (Central Processing Unit) executing a program stored in the memory unit 12.
  • a CPU Central Processing Unit
  • the control unit 13 includes, for example, a first collection unit 131, a keyword extraction unit 132, a second collection unit 133, and a data collection unit 134.
  • a URL/domain name extraction unit 135 and a selection unit 136 shown by dashed lines, may or may not be provided, and cases in which they are provided will be described later.
  • the first collection unit 131 uses Security Keywords, which are keywords related to security threats, to collect Tweets reporting phishing attacks from each user's Tweets.
  • the keyword extraction unit 132 extracts co-occurrence keywords, which are keywords that co-occur with more than a predetermined frequency, from tweets reporting phishing attacks collected by the first collection unit 131. Note that these co-occurrence keywords may be extracted from tweets classified by the classification device 20 as tweets reporting phishing attacks.
  • the second collection unit 133 uses the Co-occurrence Keywords to collect Tweets that may be reports of phishing attacks from the Tweets of each user. For example, the second collection unit 133 collects Tweets that contain Security Keywords and Co-occurrence Keywords in the text of the Tweet or in images linked to the Tweet from the Tweets of each user. The collected Tweets are stored, for example, in the memory unit 12.
  • the data collection unit 134 collects data necessary for input to the classification device 20.
  • the data collection unit 134 collects the following data from Tweets collected by the second collection unit 133: (1) Tweet character strings (e.g., hashtags, number of characters, etc.), (2) meta information linked to the Tweet (e.g., application information, presence or absence of defang, etc.), (3) information related to the Tweet's account (e.g., number of followers of the account, period of account registration, etc.), and (4) images included in the Tweet (e.g., up to four images linked to the Tweet, etc.).
  • the collected data is stored, for example, in the memory unit 12.
  • the first collection unit 131 of the collection device 10 collects tweets reporting phishing attacks using, for example, security keywords (S1: collection of tweets using security keywords). Then, the keyword extraction unit 132 extracts co-occurrence keywords, which are keywords that co-occur with a predetermined frequency or more, from the tweets reporting phishing attacks collected in S1 (S2: extraction of co-occurrence keywords).
  • S1 collection of tweets using security keywords
  • S2 extraction of co-occurrence keywords
  • the second collection unit 133 uses the Security Keywords and Co-occurrence Keywords to collect Tweets that may be reports of phishing attacks from each user's Tweets (S3).
  • the data collection unit 134 collects data necessary for input to the classification device 20 from the Tweets collected in S3 (S4).
  • the collection device 10 can collect tweets that may be reports of phishing attacks.
  • the collection device 10 may also include a URL/domain name extraction unit 135 and a selection unit 136 as shown in FIG. 2A.
  • the URL/domain name extraction unit 135 extracts URLs and domain names from the text and images of the Tweets collected by the second collection unit 133.
  • the selection unit 136 selects Tweets that are likely to be reports of phishing attacks from the Tweets collected by the second collection unit 133, based on the URLs or domain names extracted by the URL/domain name extraction unit 135.
  • the selection unit 136 selects the Tweet as likely to be a report of a phishing attack.
  • the selection unit 136 selects the Tweet as likely to be a report of a phishing attack. For example, the selection unit 136 selects a domain name that has been registered in WHOIS for less than a predetermined number of days as a Tweet that is likely to be a report of a phishing attack.
  • the data collection unit 134 collects data (e.g., Tweet character strings, etc.) necessary for input to the classification device 20 from the Tweets selected by the selection unit 136.
  • data e.g., Tweet character strings, etc.
  • the collection device 10 can collect tweets and their data that are more likely to be reports of phishing attacks from the collected tweets.
  • the collection device 10 generates two types of keywords (Security Keywords and Co-occurrence Keywords) for searching for Tweets containing reports of phishing attacks.
  • the collection device 10 generates, as security keywords, keywords related to security threats and the media through which they are spread, such as "SMS” and “fake site,” and keywords for sharing security threat information, such as "#phishing” and "#fraud” (see FIG. 4). Note that existing keywords related to security threats may be used as the security keywords.
  • the collection device 10 extracts co-occurring keywords (co-occurrence keywords) with a frequency exceeding a predetermined value only from reports of phishing attacks collected using security keywords as keys.
  • the first collection unit 131 of the collection device 10 uses Security Keywords to collect Tweets reporting phishing attacks from each user's Tweets.
  • the keyword extraction unit 132 then extracts Co-occurrence Keywords from the collected Tweets.
  • the keyword extraction unit 132 newly extracts Co-occurrence Keywords from the Tweets collected during each specified period.
  • the keyword extraction unit 132 extracts proper nouns from the character strings of tweets for a given period of time, and calculates PMI (Pointwise Mutual Information) using the following formula (1). Note that X and Y in formula (1) are proper nouns contained in the tweets.
  • the keyword extraction unit 132 calculates the SoA using formula (2).
  • W is a proper noun contained in the Tweet
  • L is a label (security threat information or other).
  • the keyword extraction unit 132 extracts proper nouns whose SoA exceeds a predetermined threshold.
  • tweets containing the security keyword "fraud” include tweets related to phishing reports shown in FIG. 5 (1) and tweets unrelated to phishing reports shown in FIG. 5 (2).
  • the keyword extraction unit 132 extracts "Company d” and "SMS,” proper nouns that appear frequently (whose SoA exceeds a predetermined threshold) only in tweets ((1)) related to phishing reports that contain "fraud,” as co-occurrence keywords.
  • the collection device 10 collects data necessary for input to the classification device 20 from Twitter.
  • the second collection unit 133 collects Tweets that may be reports of phishing attacks from Tweets of each user by using the co-occurrence keywords extracted by the keyword extraction unit 132. In this way, the second collection unit 133 can collect Tweets that include URLs and domains of Potentially Phishing Sites, for example, as shown in FIG. 3.
  • the second collection unit 133 can collect Tweets (Screened Tweets) from among the Tweets of each user, excluding Tweets (Unrelated Tweets) related to Legitimate Sites.
  • the data collection unit 134 collects the following data related to the Tweets collected by the second collection unit 133 (see FIG. 6).
  • Tweet string e.g. hashtag, number of characters, etc.
  • meta information associated with the Tweet e.g. application information, whether or not defanged, etc.
  • information about the Tweet's account e.g. number of followers, period of account registration, etc.
  • images included in the Tweet e.g. up to four images associated with the Tweet, etc.
  • the URL/domain name extraction unit 135 of the collection device 10 extracts URLs and domain names from the text and images of the Tweets (Screened Tweets) collected by the second collection unit 133 .
  • the URL/domain name extraction unit 135 applies optical character recognition to the image of the Tweet to extract a character string.
  • a defang e.g., https -> ttps
  • the URL/domain name extraction unit 135 restores it to its original state.
  • the URL/domain name extraction unit 135 then extracts URLs and domain names from the character strings in the text and image of the Tweet using regular expressions.
  • the URL/domain name extraction unit 135 checks whether the extracted domain name exists in the Public Suffix List (see Reference 1) or the like.
  • the URL/domain name extraction unit 135 confirms that the extracted domain name exists, it extracts the domain name and a URL that includes the domain name. For example, the URL/domain name extraction unit 135 extracts the following URL and domain name from the Tweet shown in FIG. 7.
  • the selection unit 136 screens the URLs and domain names extracted by the URL/domain name extraction unit 135 for URLs and domain names related to phishing.
  • the selection unit 136 determines that the extracted URL and domain name are Potentially Phishing Sites. The selection unit 136 then selects Tweets that include URLs or domain names determined to be Potentially Phishing Sites as Tweets that are likely to be reports of phishing attacks.
  • the Allowlist e.g., a list of URLs or domain names of legitimate websites
  • a Long-lived Domain Name e.g., a domain name that has been registered in WHOIS for a predetermined number of days or more
  • the selection unit 136 determines that the URL and domain name are Legitimate Sites.
  • the selection unit 136 passes the domain name. In addition, if the extracted domain name matches the Tranco List (see Reference 2), the selection unit 136 excludes the domain name as a domain name that is not related to phishing attacks.
  • the selection unit 136 also queries WHOIS for the extracted domain name, and if no information can be obtained, passes the domain name. Furthermore, based on the WHOIS information, the selection unit 136 excludes a domain name if it has been more than 365 days since it was registered, and passes the domain name if it has not been 365 days since it was registered. The selection unit 136 then selects, for example, a Tweet that contains at least one URL or domain name that has been passed in the above process as a Tweet that is likely to be a report of a phishing attack.
  • the collection device 10 can extract tweets from each user that are likely to be reports of phishing attacks.
  • the classification device 20 includes, for example, an input/output unit 21, a storage unit 22, and a control unit 23.
  • the input/output unit 21 is an interface that handles the input and output of various data.
  • the input/output unit 21 accepts input of tweets that may be reports of phishing attacks collected by the collection device 10 and the associated data.
  • the input/output unit 21 also outputs the classification results obtained by the control unit 23.
  • the storage unit 22 stores data, programs, etc. referenced when the control unit 23 executes various processes.
  • the storage unit 22 is realized by a semiconductor memory element such as a RAM or a flash memory, or a storage device such as a hard disk or an optical disk.
  • the storage unit 22 stores tweets that are likely to be reports of phishing attacks received by the input/output unit 21 and the data (collected data), etc.
  • the storage unit 22 stores parameters of the classification model after the control unit 23 has learned the classification model.
  • the control unit 23 is responsible for controlling the entire classification device 20.
  • the functions of the control unit 23 are realized, for example, by the CPU executing a program stored in the storage unit 22.
  • the control unit 23 includes, for example, a data acquisition unit 231, a feature extraction unit 232, a feature selection unit 233, a learning unit 234, a classification unit 235, and an output processing unit 236.
  • the data acquisition unit 231 acquires tweets and their data that are likely to be reports of phishing attacks from the collection device 10.
  • the feature extraction unit 232 extracts features from the Tweet and its data acquired by the data acquisition unit 231. For example, the feature extraction unit 232 extracts features from the text and image of the Tweet acquired by the data acquisition unit 231.
  • the feature extraction unit 232 extracts, from a Tweet acquired by the data acquisition unit 231, features of the account of the Tweet, features of the content of the Tweet, features of the URL or domain name included in the Tweet, features of a character string obtained by optical character recognition of an image included in the post, features of an image included in the Tweet, features of the context of the text included in the Tweet, etc. Details of the extraction of Tweet features by the feature extraction unit 232 will be described later using specific examples.
  • the feature selection unit 233 selects, from among the features extracted by the feature extraction unit 232, features that are effective in classifying whether or not a tweet is related to a report of a phishing attack.
  • the feature selection method uses Boruta-SHAP (see References 3 and 4).
  • the feature selection unit 233 selects, from among the features extracted by the feature extraction unit 232, features that are effective for classifying whether or not a tweet is related to a report of a phishing attack, using the following procedure.
  • the feature selecting unit 233 generates false features that include random values in addition to the features to be selected.
  • the feature selection unit 233 classifies the features to be selected and the false features using a decision tree-based algorithm, and calculates the variable importance of each feature.
  • the feature selecting unit 233 counts the variable importance of the feature to be selected calculated in (2) if it is greater than the variable importance of the false feature.
  • the feature value selection unit 233 repeats the processes (1) to (3) multiple times and selects feature values that are determined to be statistically significant as feature values that are effective for classification.
  • the learning unit 234 learns a machine learning model (classification model) for classifying whether an input Tweet is a Tweet reporting a phishing attack or not through supervised learning using the features selected by the feature selection unit 233.
  • a machine learning model for classifying whether an input Tweet is a Tweet reporting a phishing attack or not through supervised learning using the features selected by the feature selection unit 233.
  • the learning unit 234 learns a classification model through supervised learning using the features selected by the feature selection unit 233 for teacher data related to phishing attacks (data to which each Tweet is assigned a correct answer label indicating whether it is a phishing attack or not).
  • the classification unit 235 uses the classification model learned by the learning unit 234 to classify whether the input Tweet is a Tweet reporting a phishing attack.
  • the output processing unit 236 outputs the result of the classification of the Tweet by the classification unit 235.
  • the data acquisition unit 231 of the classification device 20 acquires Tweets and their data that are likely to be reports of phishing attacks collected by the collection device 10 (S11: Acquisition of collected data).
  • the feature extraction unit 232 extracts features from the Tweets and their data acquired by the data acquisition unit 231 (S12: Extraction of Tweet features).
  • the feature selection unit 233 selects, from the features extracted in S12, features that are effective for classifying whether or not a tweet is a report of a phishing attack (S13). Then, the learning unit 234 uses the features selected in S13 for the teacher data related to phishing attacks to learn a classification model for classifying whether or not an input tweet is a report of a phishing attack (S14).
  • the classification unit 235 uses the classification model learned in S14 to classify whether the input Tweet is a Tweet reporting a phishing attack (S15). Then, the output processing unit 236 outputs the result of the classification in S16 (S16).
  • the data acquisition unit 231 of the classification device 20 acquires Tweets (Screened Tweets) and their data collected by the collection device 10. Then, the feature extraction unit 232 extracts features from the Tweets and their data acquired by the data acquisition unit 231.
  • the feature extraction unit 232 generates a total of 27 features of six types: Account Feature (1) from the account of the Tweet, Content Feature (2) from information linked to the Tweet, URL Feature (3) from the extracted URL, OCR Feature (5) from character strings extracted by OCR, Visual Feature (6) from the appearance of the image, and Context Feature (4) from the context of the Tweet.
  • Account Feature (1) from the account of the Tweet
  • Content Feature (2) from information linked to the Tweet
  • URL Feature (3) from the extracted URL
  • OCR Feature (5) from character strings extracted by OCR
  • Visual Feature (6) from the appearance of the image
  • Context Feature (4) from the context of the Tweet.
  • the feature extraction unit 232 In order to capture the characteristics of a Twitter user, the feature extraction unit 232 generates an Account Feature for each Tweet from information about the user's account (e.g., number of followings, number of followers, number of Tweets, number of media, number of lists, account registration date, etc.), as shown in FIG. 11 .
  • information about the user's account e.g., number of followings, number of followers, number of Tweets, number of media, number of lists, account registration date, etc.
  • (5-2) Content Feature In order to capture the characteristics of content that frequently appears in Tweets reporting phishing attacks, the feature extraction unit 232 generates a Content Feature for each Tweet from information linked to the Tweet itself (e.g., a string, a mentioned user, a hashtag, an image, a URL or domain name, an application used in the Tweet, a defang type, etc.), as shown in FIG. 12 .
  • information linked to the Tweet itself e.g., a string, a mentioned user, a hashtag, an image, a URL or domain name, an application used in the Tweet, a defang type, etc.
  • the feature extraction unit 232 In order to capture features related to the abuse of subdomains specific to phishing URLs and the abuse of specific top-level domains, the feature extraction unit 232 generates a URL Feature for each Tweet from the URL (or domain name) extracted from both the character string and image of the Tweet, as shown in Fig. 13.
  • the URL Feature is, for example, the character string of the URL, the domain name, the path, the numbers included in the URL, the top-level domain, etc.
  • OCR Feature In order to capture the characteristics of similar character strings in Tweets related to phishing attacks, the feature extraction unit 232 generates an OCR feature for each Tweet from character strings extracted by optical character recognition (OCR), as shown in Fig. 14.
  • OCR optical character recognition
  • the OCR feature is, for example, a character string, a word, a symbol, a number, a URL, a domain name, etc.
  • the feature extraction unit 232 In order to capture the commonality in the appearance of images contained in Tweets related to reports of phishing attacks, the feature extraction unit 232 generates a Visual Feature for each Tweet from the images associated with the Tweet.
  • the feature extraction unit 232 uses the Efficient Net model (see Reference 5), which has produced excellent results in image classification, to generate a fixed-dimensional vector of the image linked to the Tweet.
  • the feature extraction unit 232 then compresses the dimension of the vector using Truncated SV (see Reference 6), which converts a sparse vector into a dense vector.
  • the feature extraction unit 232 then treats the compressed vector as the Visual Feature of the image included in the Tweet.
  • the feature extraction unit 232 converts images associated with Tweets into vectors with inherent dimensions using an Efficient Net model that has been pre-trained on a large number of images from the Image Net, as shown in FIG. 15, for example.
  • the feature extraction unit 232 then compresses the converted vectors to a cumulative contribution rate of 99% in the training data using Truncated SV.
  • the feature extraction unit 232 In order to grasp the commonality of context in Tweets related to reports of phishing attacks, the feature extraction unit 232 generates a Context Feature for each Tweet from character strings in the Tweet.
  • the feature extraction unit 232 generates a fixed-dimensional vector from the character strings in the Tweet, for example, using the BERT model, which has shown excellent results in sentence classification.
  • the feature extraction unit 232 then compresses the dimension of the vector using Truncated SV.
  • the feature extraction unit 232 then sets the compressed vector as the Context Feature of the Tweet.
  • the feature extraction unit 232 converts the strings in the Tweet into vectors with inherent dimensions using a BERT model that has been pre-trained on a large number of strings from Wikipedia in English and Japanese, as shown in FIG. 16. The feature extraction unit 232 then compresses the converted vectors to a cumulative contribution rate of 99% in the training data using Truncated SV.
  • the feature selection unit 233 selects, from the group of features generated by the feature extraction unit 232 in (5), features that are effective (important) for classifying tweets reporting phishing attacks from other tweets.
  • Figure 17 shows examples of features that were determined to be important for classification as a result of feature selection.
  • the learning unit 234 learns a classification model (machine learning model) using the features (feature vectors) selected by the feature selection unit 233 in (6) and training data (Ground-Truth Dataset) to which correct labels indicating whether or not the attack is a phishing attack have been assigned.
  • Algorithms that can be used to train classification models include, for example, Random Forest, Neural Network, Decision Tree, Support Vector Machine, Logistic Regression, Naive Bayes, Gradient Boosting, and Stochastic Gradient Descent. After evaluating these algorithms against training data, it was confirmed that it is preferable to use Random Forest for the following three reasons.
  • Random Forest had better classification accuracy than any other algorithm. - Random Forest performed at a stable speed in both the learning and estimation (classification) phases. ⁇ Random Forest had a distributed feature importance for all six types of features.
  • the classification unit 235 classifies the Tweets collected by the collection device 10 into Tweets related to reports of phishing attacks (positive) or not (negative) using the machine learning model (classification model) learned in (7). Then, the output processing unit 236 outputs the result of the classification.
  • the classification device 20 may extract proper nouns that appear in tweets classified as reports of phishing attacks, and the collection device 10 may use the proper nouns when extracting co-occurrence keywords.
  • each component of each part shown in the figure is a functional concept, and does not necessarily have to be physically configured as shown in the figure.
  • the specific form of distribution and integration of each device is not limited to that shown in the figure, and all or a part of it can be functionally or physically distributed and integrated in any unit depending on various loads, usage conditions, etc.
  • each processing function performed by each device can be realized in whole or in any part by a CPU and a program executed by the CPU, or can be realized as hardware using wired logic.
  • the above-mentioned system can be implemented by installing a program as package software or online software on a desired computer.
  • the above-mentioned program can be executed by an information processing device to function as the above-mentioned system.
  • the information processing device referred to here includes mobile communication terminals such as smartphones, mobile phones, and PHS (Personal Handyphone System), as well as terminals such as PDAs (Personal Digital Assistants).
  • FIG. 24 is a diagram showing an example of a computer that executes a program.
  • the computer 1000 has, for example, a memory 1010 and a CPU 1020.
  • the computer 1000 also has 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 components is 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 a BIOS (Basic Input Output System).
  • BIOS Basic Input Output System
  • the hard disk drive interface 1030 is connected to a hard disk drive 1090.
  • the disk drive interface 1040 is connected to a disk drive 1100.
  • a removable storage medium such as a magnetic disk or 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 a 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 programs that define each process executed by the above-mentioned system are implemented as program modules 1093 in which computer-executable code is written.
  • the program modules 1093 are stored, for example, in the hard disk drive 1090.
  • a program module 1093 for executing processes similar to the functional configuration of the system is stored in the hard disk drive 1090.
  • the hard disk drive 1090 may be replaced by an SSD (Solid State Drive).
  • the data used in the processing of the above-described embodiment is stored as program data 1094, for example, in memory 1010 or hard disk drive 1090. Then, the CPU 1020 reads the program module 1093 or program data 1094 stored in memory 1010 or hard disk drive 1090 into RAM 1012 as necessary and executes it.
  • the program module 1093 and 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 program data 1094 may be stored in another computer connected via a network (such as a LAN (Local Area Network), WAN (Wide Area Network)). The program module 1093 and program data 1094 may then be read by the CPU 1020 from the other computer via the network interface 1070.
  • a network such as a LAN (Local Area Network), WAN (Wide Area Network)

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

収集装置は、セキュリティキーワードを用いて、各ユーザのTweetからフィッシング攻撃の報告に関するTweetを収集する。そして、収集装置は、収集したTweetから所定の頻度を超えて共起するキーワードである共起キーワードを抽出する。その後、収集装置は、各ユーザのTweetから、共起キーワードを含むTweetとそのTweetに紐づくデータ(例えば、テキスト、画像)を収集する。その後、収集装置は、収集したTweetのテキストおよび画像から抽出したURLまたはドメイン名に基づき、フィッシング攻撃の報告に関する投稿である可能性の高い投稿を選別する。

Description

収集装置、収集方法、および、収集プログラム
 本発明は、セキュリティ脅威情報に関する投稿を収集するための、収集装置、収集方法、および、収集プログラムに関する。
 ソーシャルプラットフォーム上では、セキュリティ有識者に加えて善意の一般ユーザが自ら観測した疑わしいフィッシング攻撃の事例を注意喚起として画像(例えば、スクリーンショット)等により多く共有している。これらの情報を可能な限り早期かつ正確に収集・分析・抽出できればフィッシング攻撃の対策に有用である。
 フィッシング攻撃等のセキュリティ脅威情報を抽出する対象として、セキュリティブログ、セキュリティレポート、ソーシャルプラットフォーム等がある。
 例えば、非特許文献3,4のように、セキュリティ専門家が分析した脅威情報をまとめたブログやレポートに自然言語処理技術を適用し、形式化したデータとして抽出することで、機械的に利活用可能となる。
 また、非特許文献5では、脅威情報の収集対象として、Twitter(登録商標)、Facebook(登録商標)、ニュースサイト、セキュリティブログ、セキュリティフォーラム等を比較評価し、収集可能な情報の量と質の両方においてTwitterが最も優れていることが報告されている。
 非特許文献6,7,8では、Twitterの特定のユーザやキーワードに着目して、各ユーザのTweetから脅威に関連したURLやドメイン名、ハッシュ値、IPアドレス、脆弱性情報等を抽出する技術を提案している。当該技術によれば、多数の有用な脅威情報が得られることが報告されている。
勢い続くフィッシング攻撃-ユニークURL、1日平均約270件,Security NEXT,[online],[2022年10月13日検索],インターネット<URL:https://www.security-next.com/134607> 2022/02 フィッシング報告状況,[online],フィッシング対策協議会 Council of Anti-Phishing Japan,[2022年10月13日検索],インターネット<URL:https://www.antiphishing.jp/report/monthly/202202.html> Zhu, Ziyun and Dumitras, Tudor, "ChainSmith: Automatically Learning the Semantics of Malicious Campaigns by Mining Threat Intelligence Reports", 2018 IEEE European Symposium on Security and Privacy Satvat, Kiavash and Gjomemo, Rigel and Venkatakrishnan, V.N., "EXTRACTOR: Extracting Attack Behavior from Threat Reports", IEEE EuroS&P 2021. Shin, Hyejin and Shim, WooChul and Moon, Jiin and Seo, Jae Woo and Lee, Sol and Hwang, Yong Ho, "Cybersecurity Event Detection with New and Re-emerging Words," ASIA CCS 2020. Alves, Fernando and Andongabo, Ambrose and Gashi, Ilir and Ferreira, Pedro M. and Bessani, Alysson, "Follow the Blue Bird: A Study on threat data published on Twitter", ESORICS 2020. Shin, Hyejin and Shim, WooChul and Kim, Saebom and Lee, Sol and Kang, Yong Goo and Hwang, Yong Ho, "#Twiti: Social Listening for Threat Intelligence", WWW 2021. Roy, Sayak Saha and Karanjit, Unique and Nilizadeh, Shirin, "Evaluating the Effectiveness of Phishing Reports on Twitter", eCrime 2021.
 しかし、上記の従来技術には以下の課題がある。
(1)情報収集対象のTweetが限定的である
 従来技術は、情報収集対象を特定のユーザアカウントに限定しているため、様々なユーザによるフィッシング攻撃の報告の情報は収集できない。また、従来技術は、「#phishing」や「#注意喚起」等の限定的なキーワードを収集対象としているため、限定的な範囲のTweetしか収集できない。
(2)情報抽出対象はTweetに含まれる一定の形式の文章のみである
 Tweetによるフィッシング攻撃の報告にはスクリーンショット等の画像も含まれるが、従来技術は、Tweet内の文章のみを情報抽出対象としている。そのため、従来技術では画像内に含まれる情報を抽出できない。また、ユーザは様々な形式で情報を投稿するため、一定の形式に特化した従来技術では、限定的な情報しか抽出できない。
 その結果、従来技術では、セキュリティ脅威情報を幅広く抽出できないという問題があった。そこで、本発明は、前記した問題を解決し、幅広くセキュリティ脅威情報を抽出することを課題とする。
 前記した課題を解決するため、本発明は、セキュリティ脅威に関するキーワードであるセキュリティキーワードを用いて、SNS(Social Networking Service)の投稿からセキュリティ脅威に関する投稿を収集する第1の収集部と、収集された前記セキュリティ脅威に関する投稿から所定の頻度を超えて共起するキーワードである共起キーワードを抽出するキーワード抽出部と、SNSの投稿から、前記共起キーワードを含む投稿および前記投稿に紐づく画像を収集する第2の収集部と、を備えることを特徴とする。
 本発明によれば、セキュリティ脅威情報を幅広く抽出することができる。
図1は、システムの構成例を示す図である。 図2Aは、収集装置の構成例を示す図である。 図2Bは、収集装置が実行する処理手順の例を示すフローチャートである。 図3は、収集装置が実行する処理手順の具体例を説明するための図である。 図4は、セキュリティキーワードの例を示す図である。 図5は、Co-occurrence Keywordsの生成例を説明するための図である。 図6は、データ収集の対象のTweetの例を示す図である。 図7は、Tweetのテキストおよび画像からURLとドメイン名を抽出する処理を説明するための図である。 図8Aは、分類装置の構成例を示す図である。 図8Bは、分類装置が実行する処理手順の例を示すフローチャートである。 図9は、分類装置が実行する処理手順の具体例を説明するための図である。 図10は、Tweetから生成される特徴量の例を示す図である。 図11は、TweetのAccount Featureの例を示す図である。 図12は、TweetのContent Featureの例を示す図である。 図13は、TweetのURL Featureの例を示す図である。 図14は、TweetのOCR Featureの例を示す図である。 図15は、TweetのVisual Featureの例を示す図である。 図16は、TweetのContext Featureの例を示す図である。 図17は、図8Aの選定部により選定された特徴量の例を示す図である。 図18は、システムの分類精度の評価結果を示す図である。 図19は、所定期間にシステムが抽出したフィッシング攻撃の報告とフィッシング攻撃に関連したURLの件数を示す図である。 図20は、システムとOpenPhishとの比較結果を示す図である。 図21は、システムとPhishTankとの比較結果を示す図である。 図22は、ユーザの報告回数とフィッシングURL数の調査結果を示す図である。 図23は、動的にキーワードを選定することの効果を示す図である。 図24は、プログラムを実行するコンピュータを示す図である。
 以下、図面を参照しながら、本発明を実施するための形態(実施形態)について説明する。本発明は、本実施形態に限定されない。
[概要]
 まず、図1を用いて、本実施形態の収集装置および分類装置を備えるシステムの概要を説明する。
 なお、システムが扱うSNS(Social Networking Service)の投稿は、Twitterの投稿(Tweet)である場合を例に説明するが、これに限定されない。また、SNSの投稿は、日本語の投稿でもよいし英語の投稿でもよい。
 また、本実施形態において、システムは、SNSの投稿からフィッシング攻撃の報告に関する投稿を収集する場合を例に説明するが、フィッシング攻撃以外のセキュリティ脅威の報告に関する投稿を収集してもよい。
 システムは、例えば、各ユーザのTweetからフィッシング攻撃の報告のTweetを早期かつ高精度に抽出する。例えば、システムは、収集装置10と分類装置20とを含んで構成される。なお、収集装置10と分類装置20とはインターネット等のネットワーク経由で通信可能に接続されてもよいし、同じ装置内に装備されてもよい。
(1)収集装置10:フィッシング攻撃の報告である可能性のあるTweetを幅広く収集する。例えば、収集装置10は、フィッシング攻撃の報告に共起するキーワード(Co-occurrence Keywords)を抽出する。そして、収集装置10は、セキュリティ脅威に関するキーワード(Security Keywords)と上記のCo-occurrence Keywordsを用いて、フィッシング攻撃の報告である可能性のあるTweet(図1におけるScreened Tweets)を幅広く収集する。
(2)分類装置20:収集装置10により収集されたTweetの中からフィッシング攻撃の報告のTweetを分類する。例えば、分類装置20は、フィッシング攻撃の報告のTweetのテキストおよび画像の特徴を機械学習により抽出し、その抽出した特徴を用いて、各Tweetがフィッシング攻撃の報告のTweetかそれ以外のTweetかを分類する。
 なお、分類装置20によるTweetの分類後、収集装置10は、フィッシング攻撃の報告のTweetと分類されたTweet群からCo-occurrence Keywordsを抽出してもよい。そして、収集装置10は、抽出したCo-occurrence Keywordsを用いて、フィッシング攻撃の報告である可能性のあるTweetを収集してもよい。このようにすることで、システムは、フィッシング攻撃の報告である可能性のあるTweetを収集するためのキーワードを動的に拡充/縮小し、適切なタイミングで収集すべきTweetを収集することができる。
 このようなシステムによれば、セキュリティ有識者だけではなく善意の一般ユーザからもフィッシング攻撃の報告のTweetを収集できる。また、システムは、多数のキーワードでTweetを収集するので、フィッシング攻撃の報告を大規模に分析できる。
 また、システムは、収集した大規模なTweetの中からフィッシング攻撃の報告を精度よく抽出できる。さらに、システムは、Tweetに含まれるテキストと画像の両方からフィッシング攻撃に関する情報を抽出するので、Tweetのテキストを分析するだけでは得られなかった有用な情報を抽出することができる。
 本システムは、フィッシング攻撃の対策に以下の効果をもたらす。
(1)従来技術の限定的な監視対象を超えた幅広い範囲から脅威情報が収集可能となり、新たな観点での脅威情報の提供が可能となる。
(2)特に、これまで不足していた日本人を標的としていたフィッシング攻撃の対策に利活用可能な脅威情報をいち早く提供可能となる。
(3)本システムにより得られるデータを通信事業者のフィルタリングルール等に適用することで、フィッシング攻撃等の被害者の減少につながる。
[収集装置]
[構成例]
 次に、収集装置10を詳細に説明する。まず、図2Aを用いて、収集装置10の構成例を説明する。収集装置10は、例えば、入出力部11、記憶部12、および、制御部13を備える。
 入出力部11は、各種データの入出力を司るインタフェースである。入出力部11は、例えば、Twitter上から収集したTweetの入力を受け付ける。また、入出力部11は、例えば、制御部13により抽出されたフィッシング攻撃の報告である可能性のあるTweet(図1におけるScreened Tweets)を出力する。
 記憶部12は、制御部13が各種処理を実行する際に参照されるデータ、プログラム等を記憶する。記憶部12は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部12は、例えば、制御部13により抽出されたSecurity Keywords、Co-occurrence Keywords等を記憶する。
 制御部13は、収集装置10全体の制御を司る。制御部13の機能は、例えば、CPU(Central Processing Unit)が、記憶部12に記憶されるプログラムを実行することにより実現される。
 制御部13は、例えば、第1の収集部131と、キーワード抽出部132と、第2の収集部133と、データ収集部134とを備える。なお、破線で示すURL・ドメイン名抽出部135および選別部136は装備される場合と装備されない場合とがあり、装備される場合については後記する。
 第1の収集部131は、セキュリティ脅威に関するキーワードであるSecurity Keywords(セキュリティキーワード)を用いて、各ユーザのTweetからフィッシング攻撃の報告のTweetを収集する。
 キーワード抽出部132は、第1の収集部131により収集されたフィッシング攻撃の報告のTweetから所定の頻度を超えて共起するキーワードであるCo-occurrence Keywords(共起キーワード)を抽出する。なお、このCo-occurrence Keywordsは、分類装置20によりフィッシング攻撃の報告のTweetと分類されたTweetから抽出してもよい。
 第2の収集部133は、Co-occurrence Keywordsを用いて、各ユーザのTweetから、フィッシング攻撃の報告である可能性のあるTweetを収集する。例えば、第2の収集部133は、各ユーザのTweetから、当該Tweetのテキストまたは当該Tweetに紐づく画像に、Security Keywords、Co-occurrence Keywordsを含むTweetを収集する。収集したTweetは、例えば、記憶部12に格納される。
 データ収集部134は、分類装置20への入力に必要なデータを収集する。例えば、データ収集部134は、第2の収集部133により収集されたTweetから、以下のデータを収集する。(1)Tweetの文字列(例えば、ハッシュタグ、文字数等)、(2)Tweetに紐づくメタ情報(例えば、アプリケーション情報、デファングの有無等)、(3)Tweetのアカウントに関する情報(例えば、アカウントのフォロワー数、アカウント登録期間等)、(4)Tweetに含まれる画像(例えば、Tweetに紐づく最大4枚までの画像等)。収集したデータ(収集データ)は、例えば、記憶部12に格納される。
[処理手順の例]
 次に、図2Bを用いて、収集装置10が実行する処理手順の例を説明する。まず、収集装置10の第1の収集部131は、例えば、Security Keywordsを用いて、フィッシング攻撃の報告のTweetを収集する(S1:Security Keywordsを用いたTweetの収集)。そして、キーワード抽出部132は、S1で収集されたフィッシング攻撃の報告のTweetから所定の頻度を超えて共起するキーワードであるCo-occurrence Keywordsを抽出する(S2:Co-occurrence Keywordsの抽出)。
 S2の後、第2の収集部133は、各ユーザのTweetから、Security KeywordsとCo-occurrence Keywordsを用いて、フィッシング攻撃の報告である可能性のあるTweetを収集する(S3)。その後、データ収集部134は、S3で収集されたTweetから、分類装置20への入力に必要なデータを収集する(S4)。
 収集装置10が上記の処理を実行することで、フィッシング攻撃の報告である可能性のあるTweetを収集することができる。
 なお、収集装置10は、図2Aに示す、URL・ドメイン名抽出部135および選別部136を備えていてもよい。
 URL・ドメイン名抽出部135は、第2の収集部133により収集されたTweetのテキストおよび画像からURLとドメイン名を抽出する。選別部136は、URL・ドメイン名抽出部135により抽出されたURLまたはドメイン名に基づき、第2の収集部133により収集されたTweetからフィッシング攻撃の報告である可能性の高いTweetを選別する。
 例えば、選別部136は、第2の収集部133により収集されたTweetに含まれるURLまたはドメインが、正当なウェブサイトのURLまたはドメイン名のリストに含まれない場合、フィッシング攻撃の報告である可能性の高いTweetとして選別する。また、選別部136は、当該Tweetに含まれるURLのドメイン名の利用期間が所定期間未満の場合、フィッシング攻撃の報告である可能性の高いTweetとして選別する。例えば、選別部136は、WHOISの登録からの経過日数が所定日数未満のドメイン名を、フィッシング攻撃の報告である可能性の高いTweetとして選別する。
 その後、データ収集部134は、選別部136により選別されたTweetから、分類装置20への入力に必要なデータ(例えば、Tweetの文字列等)を収集する。
 このようにすることで収集装置10は、収集されたTweetからフィッシング攻撃の報告である可能性がより高いTweetおよびそのデータを収集することができる。
[処理手順の具体例]
 次に、図3を用いて、収集装置10が実行する処理手順の具体例を説明する。なお、収集装置10には、URL・ドメイン名抽出部135および選別部136が装備される場合を例に説明する。
(1)Generating Keywords
 収集装置10は、フィッシング攻撃の報告を含むTweetを検索するための2種類のキーワード(Security KeywordsとCo-occurrence Keywords)を生成する。
(1-1)Security Keywords
 まず、Security Keywordsについて説明する。例えば、収集装置10は、Security Keywordsとして、「SMS」や「偽サイト」といったセキュリティ脅威やそれが拡散される媒体に関連したキーワード、「#phishing」や「#詐欺」といったセキュリティ脅威情報を共有するためのキーワードを生成する(図4参照)。なお、このSecurity Keywordsは、セキュリティ脅威に関する既存のキーワードを用いてもよい。
(1-2)Security Keywords
 次に、Co-occurrence Keywordsについて説明する。例えば、収集装置10は、Security Keywordsをキーとして収集したフィッシング攻撃の報告にのみ、所定値を超える頻度で共起するキーワード(Co-occurrence Keywords)を抽出する。
 例えば、収集装置10の第1の収集部131は、Security Keywordsを用いて、各ユーザのTweetからフィッシング攻撃の報告のTweetを収集する。その後、キーワード抽出部132は、収集されたTweetからCo-occurrence Keywordsを抽出する。例えば、キーワード抽出部132は、所定期間ごとに、当該所定期間に収集されたTweetの中からCo-occurrence Keywordsを新規に抽出する。
 例えば、キーワード抽出部132は、所定期間のTweetの文字列から固有名詞を抽出し、以下の式(1)によりPMI(Pointwise Mutual Information)を計算する。なお、式(1)における、X,Yは、Tweet中に含まれる固有名詞である。
 PMI(X,Y)=log(P(X,Y)/P(X)P(Y))…式(1)
 次に、キーワード抽出部132は、式(2)によりSoAを計算する。なお、式(2)における、W:Tweet中に含まれる固有名詞、L:ラベル(セキュリティ脅威情報orその他)である。
 SoA(W,L)=PMI(W,L)-PMI(W,¬L)…式(2)
 そして、キーワード抽出部132は、SoAが所定の閾値を超える固有名詞を抽出する。例えば、Security Keyword「詐欺」を含むTweetには、図5の(1)に示すフィッシング報告に関連のあるTweetと、図5の(2)に示すフィッシング報告に関連のないTweetとが含まれる。キーワード抽出部132は、このうち「詐欺」を含むフィッシング報告に関連のあるTweet((1))にのみ頻出する(SoAが所定の閾値を超える)固有名詞である「d社」と「SMS」をCo-occurrence Keywordsとして抽出する。
(2)Searching Tweets
 次に、収集装置10は、分類装置20への入力に必要なデータをTwitterから収集する。例えば、第2の収集部133は、キーワード抽出部132により抽出されたCo-occurrence Keywordsを用いて、各ユーザのTweetから、フィッシング攻撃の報告である可能性のあるTweetを収集する。これにより、第2の収集部133は、例えば、図3に示すようにPotentially Phishing SitesのURL・ドメインを含むTweetを収集することができる。
 つまり、第2の収集部133は、各ユーザのTweetのうち、Legitimate Sites(正当なサイト)に関するTweet(Unrelated Tweets)を除外したTweet(Screened Tweets)を収集することができる。データ収集部134は、第2の収集部133により収集されたTweet(図6参照)に関する、以下のデータを収集する。
 Tweetの文字列(例えば、ハッシュタグ、文字数等)、Tweetに紐づくメタ情報(例えば、アプリケーション情報、デファングの有無等)、Tweetのアカウントに関する情報(例えば、フォロワー数、アカウント登録期間等)、Tweetに含まれる画像(例えば、Tweetに紐づく最大4枚までの画像等)。
(3)Extracting URLs and Domain Names
 次に、収集装置10のURL・ドメイン名抽出部135は、第2の収集部133が収集したTweet(Screened Tweets)のテキストおよび画像から、URLおよびドメイン名を抽出する。
 例えば、URL・ドメイン名抽出部135は、Tweetの画像に光学文字認識を適用して文字列を抽出する。また、URL・ドメイン名抽出部135は、Tweetの文字列にデファング(例えば、https -> ttps)が存在する場合は元に戻す。そして、URL・ドメイン名抽出部135は、Tweetのテキストおよび画像の文字列から正規表現でURLとドメイン名を抽出する。その後、URL・ドメイン名抽出部135は、抽出したドメイン名が存在し得るか否かをPublic Suffix List(文献1参照)等で確認する。
・文献1:“Public Suffix List”, https://publicsuffix.org/
 そして、URL・ドメイン名抽出部135は、抽出したドメイン名が存在することを確認すると、当該ドメイン名および当該ドメイン名を含むURLを抽出する。例えば、URL・ドメイン名抽出部135は、図7に示すTweetから、以下のURLおよびドメイン名を抽出する。
・URL:https://tinyurl.com/yph6pswp、https://atavollwei.duckdns.org/
・ドメイン名:tinyurl.com、atavollwei.duckdns.org
(4)Screening Phishing-related URLs and Domain Names
 次に、選別部136は、URL・ドメイン名抽出部135により抽出されたURLおよびドメイン名から、フィッシングに関連のあるURLおよびドメイン名をスクリーニングする。
 例えば、選別部136は、抽出されたURLまたはドメイン名がAllowlist(例えば、正当なウェブサイトのURLまたはドメイン名のリスト)にmatchせず、かつ、Long-lived Domain Names(例えば、WHOISの登録からの経過日数が所定日数以上のドメイン名)でもない場合、抽出されたURLおよびドメイン名を、Potentially Phishing Sitesと判定する。そして、選別部136は、Potentially Phishing Sitesと判定したURLまたはドメイン名を含むTweetを、フィッシング攻撃の報告である可能性の高いTweetとして選別する。
 一方、抽出されたURLとドメイン名がAllowlistにmatchする場合、または、Long-lived Domain Namesである場合、選別部136は、当該URLおよびドメイン名をLegitimate Sites(正当なサイト)とする。
 例えば、選別部136は、抽出されたドメイン名が事前定義したURL短縮サービスのドメイン名に該当する場合は、当該ドメイン名を通過させる。また、選別部136は、抽出されたドメイン名がTranco List(文献2参照)にマッチする場合、当該ドメイン名をフィッシング攻撃に関連がないドメイン名として除外する。
・文献2:“A research-oriented top sites ranking hardened against manipulation - Tranco”, https://tranco-list.eu/
 また、選別部136は、抽出されたドメイン名をWHOISに問い合わせて、情報が取得できない場合、当該ドメイン名を通過させる。さらに、選別部136は、WHOIS情報に基づき、ドメイン名が登録後365日以上経過している場合、当該ドメイン名を除外し、登録後365日経過していない場合、当該ドメイン名を通過させる。そして、選別部136は、例えば、上記の処理で通過したURLまたはドメイン名が少なくとも1種類存在するTweetをフィッシング攻撃の報告である可能性の高いTweetとして選別する。
 このようにすることで収集装置10は、各ユーザのTweetから、フィッシング攻撃の報告である可能性の高いTweetを抽出することができる。
[分類装置]
[構成例]
 次に、分類装置20を詳細に説明する。まず、図8Aを用いて、分類装置20の構成例を説明する。分類装置20は、例えば、入出力部21、記憶部22、および、制御部23を備える。
 入出力部21は、各種データの入出力を司るインタフェースである。入出力部21は、例えば、収集装置10が収集したフィッシング攻撃の報告である可能性のあるTweetとそのデータの入力を受け付ける。また、入出力部21は、制御部23による分類結果を出力する。
 記憶部22は、制御部23が各種処理を実行する際に参照されるデータ、プログラム等を記憶する。記憶部22は、RAM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。例えば、記憶部22は、入出力部21で受け付けたフィッシング攻撃の報告である可能性の高いTweetとそのデータ(収集データ)等を記憶する。また、記憶部22は、制御部23による分類モデルの学習後、分類モデルのパラメータ等を記憶する。
 制御部23は、分類装置20全体の制御を司る。制御部23の機能は、例えば、CPUが、記憶部22に記憶されるプログラムを実行することにより実現される。
 制御部23は、例えば、データ取得部231と、特徴量抽出部232と、特徴量選定部233と、学習部234と、分類部235と、出力処理部236とを備える。
 データ取得部231は、収集装置10からフィッシング攻撃の報告である可能性の高いTweetとそのデータを取得する。
 特徴量抽出部232は、データ取得部231により取得されたTweetとそのデータから特徴量を抽出する。例えば、特徴量抽出部232は、データ取得部231により取得されたTweetのテキストおよび画像それぞれの特徴量を抽出する。
 例えば、特徴量抽出部232は、データ取得部231により取得されたTweetから、当該Tweetのアカウントの特徴量、当該Tweetのコンテンツの特徴量、当該Tweetに含まれるURLまたはドメイン名の特徴量、当該投稿に含まれる画像の光学文字認識により得られる文字列の特徴量、当該Tweetに含まれる画像の特徴量、当該Tweetに含まれるテキストの文脈の特徴量等を抽出する。特徴量抽出部232によるTweetの特徴量の抽出の詳細は、具体例を用いて後記する。
 特徴量選定部233は、特徴量抽出部232により抽出された特徴量の中から、フィッシング攻撃の報告に関するTweetか否かの分類に有効な特徴量を選定する。特徴量の選定方法は、例えば、Boruta-SHAP(文献3,4参照)を用いる。
・文献3:Kursa, Miron B. and Rudnicki, Witold R., “Feature Selection with the Boruta Package,” Journal of Statistical Software 2010.
・文献4:“BorutaShap : A wrapper feature selection method which combines the Boruta feature selection algorithm with Shapley values,” https://zenodo.org/badge/latestdoi/255354538
 例えば、特徴量選定部233は、特徴量抽出部232により抽出された特徴量の中から、以下の手順により、フィッシング攻撃の報告に関するTweetか否かの分類に有効な特徴量を選定する。
(1)まず、特徴量選定部233は、選定対象の特徴量に加えてランダムな値を含めた偽の特徴量を生成する。
(2)次に、特徴量選定部233は、選定対象の特徴量と偽の特徴量で決定木ベースのアルゴリズムで分類を行い、各特徴量の変数重要度を計算する。
(3)次に、特徴量選定部233は、(2)で計算した選定対象の特徴量の変数重要度が偽の特徴量の変数重要度よりも大きければそれをカウントする。
(4)特徴量選定部233は、(1)~(3)の処理を複数回繰り返し、統計的に有意と判断した特徴量を、分類に有効な特徴量として選定する。
 学習部234は、特徴量選定部233により選定された特徴量を用いた教師あり学習により、入力されたTweetがフィッシング攻撃の報告のTweetか否かを分類するための機械学習モデル(分類モデル)の学習を行う。例えば、学習部234は、フィッシング攻撃に関する教師データ(各Tweetがフィッシング攻撃か否かの正解ラベルが付与されたデータ)について、特徴量選定部233により選定された特徴量を用いた教師あり学習により、分類モデルの学習を行う。
 分類部235は、学習部234により学習された分類モデルを用いて、入力されたTweetがフィッシング攻撃の報告のTweetか否かを分類する。出力処理部236は、分類部235によるTweetの分類の結果を出力する。
[処理手順の例]
 次に、図8Bを用いて、分類装置20が実行する処理手順の例を説明する。まず、分類装置20のデータ取得部231は、収集装置10により収集されたフィッシング攻撃の報告である可能性の高いTweetとそのデータを取得する(S11:収集データの取得)。その後、特徴量抽出部232は、データ取得部231により取得されたTweetとそのデータから特徴量を抽出する(S12:Tweetの特徴量の抽出)。
 S12の後、特徴量選定部233は、S12で抽出された特徴量の中から、フィッシング攻撃の報告に関するTweetか否かの分類に有効な特徴量を選定する(S13)。そして、学習部234は、フィッシング攻撃に関する教師データについて、S13で選定された特徴量を用いて、入力されたTweetがフィッシング攻撃の報告のTweetか否かを分類するための分類モデルの学習を行う(S14)。
 S14の後、分類部235は、S14で学習された分類モデルを用いて、入力されたTweetがフィッシング攻撃の報告のTweetか否かを分類する(S15)。そして、出力処理部236は、S16における分類の結果を出力する(S16)。
[処理手順の具体例]
 次に、図9を用いて、分類装置20が実行する処理手順の具体例を説明する。
(5)Feature Engineering
 まず、分類装置20のデータ取得部231は、収集装置10により収集されたTweet(Screened Tweets)とそのデータを取得する。そして、特徴量抽出部232は、データ取得部231により取得されたTweetとそのデータから特徴量を抽出する。
 例えば、特徴量抽出部232は、図10に示すように、TweetのアカウントからAccount Feature(1)、Tweetに紐づく情報からContent Feature(2)、抽出したURLからURL Feature(3)、OCRで抽出した文字列から OCR Feature(5)、画像の見た目からVisual Feature(6)、Tweetの文脈からContext Feature(4)の6種類、合計27項目の特徴量を生成する。以下、各特徴量について詳細に説明する。
(5-1)Account Feature
 特徴量抽出部232は、Twitterのユーザの特徴を捉えるために、例えば、図11に示すように、ユーザのアカウントの情報(例えば、フォロー数、フォロワー数、ツイート数、メディア数、リスト数、アカウント登録日等)から、TweetごとにAccount Featureを生成する。
(5-2)Content Feature
 特徴量抽出部232は、フィッシング攻撃の報告のTweetに頻出するコンテンツの特性を捉えるために、例えば、図12に示すように、Tweet自体に紐づく情報(例えば、文字列、メンションしたユーザ、ハッシュタグ、画像、URLまたはドメイン名、Tweetに用いるアプリケーション、デファングタイプ等)から、TweetごとにContent Featureを生成する。
(5-3)URL Feature
 特徴量抽出部232は、フィッシングURLに特有なサブドメインの悪用や特定のTop-level domainの悪用に関する特徴を捉えるために、例えば、図13に示すように、Tweetの文字列と画像の両方から抽出したURL(またはドメイン名)から、TweetごとのURL Featureを生成する。URL Featureは、例えば、URLの文字列、ドメイン名、パス、URLに含まれる数字、トップレベルドメイン等である。
(5-4)OCR Feature
 特徴量抽出部232は、フィッシング攻撃に関するTweetにおいて類似する文字列の特性を捉えるために、例えば、図14に示すように、光学文字認識(OCR)で抽出した文字列から、TweetごとにOCR Featureを生成する。OCR Featureは、例えば、文字列、単語、シンボル、数字、URLまたはドメイン名等である。
(5-5)Visual Feature
 特徴量抽出部232は、フィッシング攻撃の報告に関するTweetに含まれる画像の見た目の共通性を捉えるために、Tweetに紐づく画像から、TweetごとにVisual Featureを生成する。
 特徴量抽出部232は、画像分類で優れた結果を出しているEfficient Netモデル(文献5参照)を用いて、Tweetに紐づく画像の固定次元のベクトルを生成する。その後、特徴量抽出部232は、疎なベクトルを密なベクトルに変換するためのTruncated SV(文献6参照)により、ベクトルの次元を圧縮する。そして、特徴量抽出部232は、圧縮したベクトルを、Tweetに含まれる画像のVisual Featureとする。
・文献5:Tan, Mingxing and Le, Quoc., “EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks”, ICML 2019.
・文献6:“The truncatedsvd as a method for regularization”, BIT Numerical Mathematics.
 特徴量抽出部232は、例えば、図15に示すように、Image Netの大量の画像を事前学習したEfficient Netモデルを用いて、Tweetに紐づく画像を固有次元のべクトルに変換する。そして、特徴量抽出部232は、Truncated SVにより、変換したベクトルを、教師データにおける累積寄与率99%に圧縮する。
(5-6)Context Feature
 特徴量抽出部232は、フィッシング攻撃の報告に関するTweetにおける文脈の共通性を捉えるために、Tweet内の文字列から、TweetごとにContext Featureを生成する。
 特徴量抽出部232は、例えば、文章分類で優れた結果を出しているBERTモデルを用いて、Tweet内の文字列から固定次元のベクトルを生成する。その後、特徴量抽出部232は、Truncated SVにより、ベクトルの次元を圧縮する。そして、特徴量抽出部232は、圧縮したベクトルを、TweetのContext Featureとする。
 特徴量抽出部232は、例えば、図16に示すように、英語と日本語のWikipediaの大量の文字列を事前学習したBERTモデルを用いて、Tweet内の文字列を固有次元のベクトルに変換する。そして、特徴量抽出部232は、Truncated SVにより、変換したベクトルを、教師データにおける累積寄与率99%に圧縮する。
(6)Feature Selection
 特徴量選定部233は、(5)において特徴量抽出部232により生成された特徴量群から、フィッシング攻撃の報告のTweetとその他のTweetとの分類に有効な(重要な)特徴量を選定する。
 なお、Feature Selectionの結果、分類において重要な特徴量と判断された特徴量の例を図17に示す。
Account Feature:英語6種類(6次元)、日本語5種類(5次元)
Content Feature:英語6種類(9次元)、日本語4種類(7次元)
URL Feature:英語2種類(2次元)、日本語3種類(3次元)
OCR Feature:英語3種類(3次元)、日本語3種類(3次元)
Visual Feature:英語9次元、日本語5次元
Context Feature:英語58次元、日本語33次元
 なお、図17に示すContext Featureのうち、App source(14)について、Twitter Web App、Twitter for iPhone(登録商標)、Twitter for Android(登録商標)は、両言語で重要であり、PhishingPickerは、英語の場合のみ重要であった。また、Defanged type(15)については、example[.]comは両言語で重要、hxxpは日本語の場合のみ重要であった。さらに、図17に示すURL Featureのうち、Top-level domain(20)については、.xyzが日本語の場合のみ重要であった。
 最終的には、英語87次元、日本語56次元の特徴量がフィッシング攻撃の報告のTweetとその他のTweetとの分類に重要であることが確認できた。
(7)Offline Training
 学習部234は、(6)において特徴量選定部233により選定された特徴量(特徴ベクトル)と、フィッシング攻撃か否かの正解ラベルが付与された教師データ(Ground-Truth Dataset)とを用いて、分類モデル(Machine Learning Model)を学習する。
 なお、分類モデルの学習に用いられるアルゴリズムは、例えば、Random Forest、Neural Network、 Decision Tree、Support Vector Machine、Logistic Regression、Naive Bayes、Gradient Boosting、Stochastic Gradient Descent等が考えられる。これらのアルゴリズムについて、教師データに対して評価した結果、以下の3つの理由によりRandom Forestを用いることが好ましいことが確認できた。
・Random Forestは、他のどのアルゴリズムよりも優れた分類精度であった。
・Random Forestは、学習と推定(分類)の両方のフェーズで安定した速度で動作した。
・Random Forestは、6種類全ての特徴に対して特徴量重要度が分散していた。
(8)Online Classification
 分類部235は、(7)において学習されたMachine Learning Model(分類モデル)を用いて、収集装置10により収集されたTweetが、フィッシング攻撃の報告に関するTweet(positive)か否(Negative)かを分類する。そして、出力処理部236は、その分類の結果を出力する。
 なお、分類装置20は、フィッシング攻撃の報告と分類したTweetに登場する固有名詞(Proper Nouns)を抽出し、収集装置10は、当該固有名詞をCo-occurrence Keywordsを抽出する際に用いてもよい。
[評価結果]
 次に、本実施形態のシステムの評価結果を説明する。例えば、システムが選定した特徴量を用いることで、英語、日本語ともにおよそ95%の精度でフィッシング攻撃の報告のTweetか否かを分類できることが確認できた(図18参照)。
 また、本実施形態のシステムは、実験期間(2021/8/1~2021/9/30)において、図19に示すように、77,004件のフィッシング攻撃の報告(User Reports)と85,027件のフィッシングURL(Phising URLs)を抽出することができた。
 さらに、既存のデータフィードであるOpenPhish(文献7参照)により収集されたフィッシングURLと、本実施形態のシステムにより収集されたフィッシングURLとを比較したところ(図20参照)、両者で共通していた4,802件のフィッシングURLのうち、2,686件(全体の55.9%)のフィッシングURLについて、本実施形態のシステムの方が早く収集できた。
・文献7:“OpenPhish - Phishing Intelligence”, https://openphish.com
 また、既存のデータフィードであるPhishTank(文献8参照)により収集されたフィッシングURLと、本実施形態のシステムにより収集されたフィッシングURLとを比較したところ(図21参照)、両者で共通していた5,323件のフィッシングURLのうち、3,183件(全体の59.8%)のフィッシングURLについて、本実施形態のシステムの方が早く収集できた。
・文献8:“PhishTank | Join the fight against phishing”, https://www.phishtank.com/.
 また、ユーザによるフィッシング攻撃の報告の回数とフィッシングURLの数を調査したところ、ユーザにより1度しか報告されないフィッシング攻撃はフィッシングURL全体の49.8%であることが確認された(図22参照)。つまり、幅広いユーザからのフィッシング攻撃の報告は唯一性が高いフィッシングURLを含んでいる可能性が高いことが確認された。このことから、本実施形態のシステムのように、幅広いユーザからフィッシング攻撃の報告を収集することは極めて有効であるとことが確認できた。
 また、フィッシング攻撃の報告のTweetの収集に、固定的なキーワード(Security Keywords)のみならず、動的なキーワード(Co-occurrence Keywords)も用いることの効果を確認した(図23参照)。その結果、固定的なキーワード(Security Keywords)のみならず、動的なキーワード(Co-occurrence Keywords)も用いた方が、固定的なキーワード(Security Keywords)のみを用いるよりも、User Reports(フィッシング攻撃の報告のTweet)を+23.3%抽出できることが確認できた。また、固定的なキーワード(Security Keywords)のみならず、動的なキーワード(Co-occurrence Keywords)も用いた方が、フィッシングURLを+24.1%抽出できることが確認できた。
 このことから、本実施形態のシステムのように、固定的なキーワード(Security Keywords)のみならず動的なキーワード(Co-occurrence Keywords)も用いてTweetを収集することはフィッシング攻撃の情報収集に極めて有効であるとことが確認できた。
[システム構成等]
 また、図示した各部の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
 また、前記した実施形態において説明した処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
 前記したシステムは、パッケージソフトウェアやオンラインソフトウェアとしてプログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記のプログラムを情報処理装置に実行させることにより、情報処理装置を前記したシステムとして機能させることができる。ここで言う情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等の端末等がその範疇に含まれる。
 図24は、プログラムを実行するコンピュータの一例を示す図である。コンピュータ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を記憶する。すなわち、上記のシステムが実行する各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、システムにおける機能構成と同様の処理を実行するためのプログラムモジュール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 収集装置
 11,21 入出力部
 12,22 記憶部
 13,23 制御部
 20 分類装置
 131 第1の収集部
 132 キーワード抽出部
 133 第2の収集部
 134 データ収集部
 135 URL・ドメイン名抽出部
 136 選別部
 231 データ取得部
 232 特徴量抽出部
 233 特徴量選定部
 234 学習部
 235 分類部
 236 出力処理部

Claims (6)

  1.  セキュリティ脅威に関するキーワードであるセキュリティキーワードを用いて、SNS(Social Networking Service)の投稿からセキュリティ脅威に関する投稿を収集する第1の収集部と、
     収集された前記セキュリティ脅威に関する投稿から所定の頻度を超えて共起するキーワードである共起キーワードを抽出するキーワード抽出部と、
     SNSの投稿から、前記共起キーワードを含む投稿および前記投稿に紐づく画像を収集する第2の収集部と、
     を備えることを特徴とする収集装置。
  2.  前記第2の収集部により収集された前記投稿のテキストおよび画像から抽出されたURLまたはドメイン名に基づき、前記投稿の中から、セキュリティ脅威に関する投稿である可能性のある投稿を選別し、出力する選別部
     をさらに備えることを特徴とする請求項1に記載の収集装置。
  3.  前記選別部は、
     前記第2の収集部により収集された前記投稿のテキストおよび画像から抽出されたURLまたはドメイン名が、正当なウェブサイトのURLまたはドメイン名のリストに含まれない場合、または、前記ドメイン名の利用期間が所定期間未満の場合、当該投稿をセキュリティ脅威に関する投稿である可能性のある投稿として選別する
     ことを特徴とする請求項2に記載の収集装置。
  4.  前記第1の収集部は、
     所定期間ごとに前記投稿を収集し、
     前記キーワード抽出部は、
     前記所定期間に収集された投稿から前記共起キーワードを抽出する
     ことを特徴とする請求項1に記載の収集装置。
  5.  収集装置により実行される収集方法であって、
     セキュリティ脅威に関するキーワードであるセキュリティキーワードを用いて、SNS(Social Networking Service)の投稿からセキュリティ脅威に関する投稿を収集する工程と、
     収集された前記セキュリティ脅威に関する投稿から所定の頻度を超えて共起するキーワードである共起キーワードを抽出する工程と、
     SNSの投稿から、前記共起キーワードとを含む投稿のテキストおよび前記投稿に紐づく画像を収集する工程と、
     を含むことを特徴とする収集方法。
  6.  セキュリティ脅威に関するキーワードであるセキュリティキーワードを用いて、SNS(Social Networking Service)の投稿からセキュリティ脅威に関する投稿を収集する工程と、
     収集された前記セキュリティ脅威に関する投稿から所定の頻度を超えて共起するキーワードである共起キーワードを抽出する工程と、
     SNSの投稿から、前記共起キーワードを含む投稿および前記投稿に紐づく画像を収集する工程と、
     をコンピュータに実行させるための収集プログラム。
PCT/JP2022/040259 2022-10-27 2022-10-27 収集装置、収集方法、および、収集プログラム WO2024089859A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/040259 WO2024089859A1 (ja) 2022-10-27 2022-10-27 収集装置、収集方法、および、収集プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/040259 WO2024089859A1 (ja) 2022-10-27 2022-10-27 収集装置、収集方法、および、収集プログラム

Publications (1)

Publication Number Publication Date
WO2024089859A1 true WO2024089859A1 (ja) 2024-05-02

Family

ID=90830268

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/040259 WO2024089859A1 (ja) 2022-10-27 2022-10-27 収集装置、収集方法、および、収集プログラム

Country Status (1)

Country Link
WO (1) WO2024089859A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015069618A (ja) * 2013-10-01 2015-04-13 Necエンジニアリング株式会社 セキュリティ状態可視化方法、プログラム及びシステム
JP2015072614A (ja) * 2013-10-03 2015-04-16 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 特定のテーマに依存して危険表現となりうる表現を検出する方法、並びに、当該表現を検出するための電子装置及びその電子装置用プログラム
JP2019109730A (ja) * 2017-12-19 2019-07-04 日本電気株式会社 情報処理装置、ハザードマップ生成方法およびプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015069618A (ja) * 2013-10-01 2015-04-13 Necエンジニアリング株式会社 セキュリティ状態可視化方法、プログラム及びシステム
JP2015072614A (ja) * 2013-10-03 2015-04-16 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 特定のテーマに依存して危険表現となりうる表現を検出する方法、並びに、当該表現を検出するための電子装置及びその電子装置用プログラム
JP2019109730A (ja) * 2017-12-19 2019-07-04 日本電気株式会社 情報処理装置、ハザードマップ生成方法およびプログラム

Similar Documents

Publication Publication Date Title
Vinayakumar et al. Evaluating deep learning approaches to characterize and classify malicious URL’s
Shafi’I et al. A review on mobile SMS spam filtering techniques
Moghimi et al. New rule-based phishing detection method
Lin et al. Malicious URL filtering—A big data application
Buber et al. NLP based phishing attack detection from URLs
US11146586B2 (en) Detecting a root cause for a vulnerability using subjective logic in social media
Riadi Detection of cyberbullying on social media using data mining techniques
Gada et al. Cyberbullying Detection using LSTM-CNN architecture and its applications
Vanitha et al. Malicious-URL detection using logistic regression technique
Boahen et al. Detection of compromised online social network account with an enhanced knn
Sleeman et al. Understanding cybersecurity threat trends through dynamic topic modeling
Nowroozi et al. An adversarial attack analysis on malicious advertisement url detection framework
Thakur et al. An intelligent algorithmically generated domain detection system
De La Torre-Abaitua et al. On the application of compression-based metrics to identifying anomalous behaviour in web traffic
Opara et al. Look before You leap: Detecting phishing web pages by exploiting raw URL And HTML characteristics
Singh et al. Spam detection using ANN and ABC Algorithm
Kayhan et al. Cyber threat detection: Unsupervised hunting of anomalous commands (UHAC)
Prusty et al. SMS Fraud detection using machine learning
Pradeepa et al. Lightweight approach for malicious domain detection using machine learning
Zaman et al. Phishing website detection using effective classifiers and feature selection techniques
CN117614644A (zh) 恶意网址识别方法、电子设备及存储介质
WO2024089859A1 (ja) 収集装置、収集方法、および、収集プログラム
Dangwal et al. Feature selection for machine learning-based phishing websites detection
WO2024089860A1 (ja) 分類装置、分類方法、および、分類プログラム
EP4020886B1 (en) System and method for detecting suspicious websites in proxy's data streams