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

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

Info

Publication number
WO2019123757A1
WO2019123757A1 PCT/JP2018/035987 JP2018035987W WO2019123757A1 WO 2019123757 A1 WO2019123757 A1 WO 2019123757A1 JP 2018035987 W JP2018035987 W JP 2018035987W WO 2019123757 A1 WO2019123757 A1 WO 2019123757A1
Authority
WO
WIPO (PCT)
Prior art keywords
website
update history
result data
access result
classification
Prior art date
Application number
PCT/JP2018/035987
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 US16/955,083 priority Critical patent/US11423099B2/en
Priority to JP2019560805A priority patent/JP6823201B2/ja
Priority to EP18891675.3A priority patent/EP3705974B1/en
Publication of WO2019123757A1 publication Critical patent/WO2019123757A1/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/556Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • 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
    • G06F21/562Static detection
    • G06F21/563Static detection by source code analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1483Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing

Definitions

  • the present invention relates to a classification device, a classification method, and a classification program.
  • Website tampering that abuses another's website has become a problem. For example, an attacker achieves his / her purpose by falsifying another person's website to transfer it to a malicious website such as a website launching a drive-by download attack or a phishing site. Such falsification of a website occurs when a vulnerability existing in a web server or a web application is exploited, or website management information is stolen by malware infection.
  • CMS Content Management System
  • Non-Patent Documents 1 to 3 Conventionally, methods for detecting drive-by download attacks, phishing, and hacktivism on websites are known (see Non-Patent Documents 1 to 3). There is also known a method (see Non-Patent Document 4) of designing a feature quantity from a website before abuse and detecting abuse of the website in advance based on the feature quantity. All of the above-mentioned methods mainly use the URL of the website and the web content to design a feature that is useful for detecting abuse of the website.
  • the present invention has an object to solve the above-mentioned problems and to detect in advance precisely a website that may be abused due to the management state of the website by the administrator.
  • the present invention provides an acquisition unit for acquiring access result data to the website including information on the website updated by a website administrator, and a result of access to the website By comparing data in chronological order, an update history creation unit that creates an update history of the website, and a website that is likely to be abused in the future using the update history of the website as a feature amount And a classifier creation unit for creating a classifier.
  • FIG. 1 is a diagram for explaining the operation outline of the classification device.
  • FIG. 2 is a block diagram showing a configuration example of the classification device.
  • FIG. 3 is a diagram showing an example of the access result DB of FIG.
  • FIG. 4 is a diagram for explaining the creation of the update history.
  • FIG. 5 is a diagram showing an example of comparison of access result data.
  • FIG. 6 is a diagram showing an example of the update history.
  • FIG. 7 is a diagram showing an example of a feature vector indicating the update history of FIG.
  • FIG. 8 is a flow chart showing an example of a creation procedure of a classifier by the classification device of FIG.
  • FIG. 9 is a flow chart showing an example of the classification procedure by the classification device of FIG. FIG.
  • FIG. 10 is a flow chart showing an example of processing for storing access result data in the access result DB by the classification device of FIG.
  • FIG. 11 is a flowchart showing an example of update history creation processing by the classification device of FIG.
  • FIG. 12 is a diagram illustrating a computer that executes a classification program.
  • the classification device of the present embodiment constantly monitors a website, and collects information considered to be attributed to the administrator from the website. Then, the classification device classifies websites that can be abused in the future by analyzing how the websites are managed and operated retrospectively in chronological order.
  • the classification apparatus first makes the website shown in the learning URL list (the learning benign URL list and the learning malignant URL list) by the crawler unit (acquisition unit) 121 via the Internet. to access. Then, the crawler unit 121 collects access result data for each web site, and stores the access result data in the access result DB.
  • the access result data to the web site includes information (for example, web application information to be described later, etc.) updated due to the management by the web site administrator.
  • the above-described benign URL list for learning and the malignant URL list for learning use, for example, a URL list provided by a service (the following document 1) for archiving the past states of various websites.
  • a URL list provided by a service that archives the state of a website at each time after abuse detection and before abuse detection is used.
  • a URL list provided by a service that archives the status of each time not abused website is used.
  • the classification device compares the access result data of each website stored in the access result DB by the update history creating unit 122, and creates the update history of the website.
  • the classification apparatus generates the update history of the abused web site based on the access result data before the abuse detection among the access result data of the websites shown in the learning malignant URL list by the update history creation unit 122 Do. In other words, create a history of website updates until abuse is detected. Further, the classification device causes the update history creation unit 122 to create the update history of the website that has not been abused, based on the access result data of the website shown in the learning benign URL list.
  • the classifier creation unit 123 of the classification device performs machine learning and the like by using the abuse history of the abused website and the renewal history of the not abused website as feature amounts, and may be abused in the future. Create a classifier to classify websites that have
  • the classification device classifies the websites shown in the test URL list (a list of URLs of websites to be classified) using the created classifier.
  • the classification device accesses the website indicated by the test URL list by the crawler unit 121, and stores the access result data for the website in the access result DB. Then, the classification device compares the access result data of each website stored in the access result DB by the update history creating unit 122, and creates the update history of the website. After that, the classifier uses the update history of the website shown in the test URL list as the feature amount, and there is a possibility that each website shown in the test URL list may be abused in the future, using the above classifier. Classify whether or not there is, and output the classification result.
  • the classification device can accurately detect in advance a website that may be abused due to the management state of the website administrator.
  • the classification device 10 includes an input / output unit 11, a control unit 12, and a storage unit 13.
  • the input / output unit 11 is an input / output interface that receives input of various URL lists, and outputs the classification result of the web site indicated by the URL by the classifier.
  • the input / output unit 11 also controls a communication interface when the crawler unit 121 or the like accesses an external network such as the Internet.
  • the control unit 12 controls the entire classification device 10.
  • the control unit 12 includes a crawler unit 121, an update history creation unit 122, a classifier creation unit 123, and a classification unit 124.
  • the crawler unit 121 accesses the website of the designated URL and collects (acquires) various information. For example, the crawler unit 121 accesses each website shown in the URL list at predetermined intervals, collects access result data for the accessed website, and stores the access result data in the access result DB.
  • the access result data includes information of the website (for example, web application information to be described later) which is updated due to the management by the administrator of the website.
  • the crawler unit 121 is realized, for example, by execution of a browser or a crawler program for accessing a website.
  • the URL list input to the crawler unit 121 is, for example, a learning URL list (a learning benign URL list and a learning malignant URL list) or a test URL list.
  • the aforementioned list of benign URLs for learning and the list of malignant URLs for learning are, for example, as described above, the past of websites where no abuse has been detected (benign websites) and websites where abuse has been detected (malignant websites).
  • the malignant URL list for learning is, for example, a malignant URL list including URLs of websites in which misuse has been detected in advance using existing technologies (for example, anti-virus software and technologies described in non-patent documents 1 to 3).
  • existing technologies for example, anti-virus software and technologies described in non-patent documents 1 to 3.
  • known malignant URL lists shown in the following documents 2 and 3 may be used).
  • the crawler unit 121 accesses a web site archived at a time before detection of abuse, for example, based on the known malignant URL list, and collects access result data. Then, the crawler unit 121 accumulates the collected access result data as access result data before abuse detection (a series of access result data until abuse is detected) in the access result DB. At this time, when the crawler unit 121 regularly accesses the website indicated by the specific URL for a predetermined period and detects abuse of the website by the existing technology, the access result data collected up to that time is abused It may be used as previous access result data.
  • the access result data of the web site collected by the crawler unit 121 includes information constituting the web site.
  • the access result data to the web site may be the web server information of the web site obtained from the HTTP header of the web site and the web site obtained from the HTTP body of the web site (for example, meta tag of the HTTP body).
  • CMS application information of the website is obtained from web server information obtained from Server header or X-Powered-By header included in HTTP header, web application information obtained from meta tag included in HTTP body, URL path string Included CMS information etc.
  • the CMS information is, for example, information indicating whether or not the CMS of the website can be specified from the information for each of the URL of the website, the HTTP header, and the meta tag of the HTTP body.
  • CMS information includes “detect-url” indicating whether the CMS can be specified from the URL, “detect-meta” indicating whether the CMS can be specified from the meta tag, and HTTP header It is information such as "detect-header” indicating whether or not the CMS can be specified.
  • the web server information is information such as Server header, X-Powered-By header, and the like.
  • the web application information is information such as meta [generator] which is a generator attribute value of the meta tag.
  • the classification device 10 of the present embodiment uses information that can be updated by the administrator of the website, such as the web server information of the website or the web application information described above, as the feature amount.
  • the above-described web server information and web application information are not limited to the above, as long as they can be updated by the website administrator.
  • the access result data accumulated in the access result DB will be described with reference to FIG.
  • the access result data stored in the access result DB is “ID” which is identification information of each access result data, “Date” which is the access date and time to the website, and “URL” which is the URL of the accessed website.
  • the crawler part 121 shall judge based on a technique (for example, the technique of the following literature 4).
  • the crawler unit 121 accesses a website indicated in the learning URL list
  • the website to which the access is made is either a benign URL (a website that has not been abused) or a malignant URL (a website that has not been abused). It is stored in the access result DB with identification information indicating whether the website is abused.
  • the update history creation unit 122 of FIG. 2 creates a website update history based on the access result data stored in the access result DB (see FIG. 3). For example, the update history creation unit 122 acquires, from the access result DB, access result data for the same URL (referred to as a seed URL), and compares the access result data in chronological order. For example, the update history creation unit 122 compares each information included in the access result data to be compared (for example, comparison of character strings, numerical values, comparison of true / false values, etc.), and the comparison result Are stored in the storage unit 13 as an update history of the
  • the update history creation unit 122 creates the update history of the website indicated in the learning malignant URL list, the access history data before the abuse detection of the website is included in the access result data of the website. Based on, create a history of abused websites.
  • the access result data for the website (abused website) indicated in the learning malignant URL list As the access result data for the website (abused website) indicated in the learning malignant URL list, the access result data for each date and time from before the abuse detection of the website to after the abuse detection is Consider the case where it has been accumulated.
  • the update history creation unit 122 uses the access result data before abuse detection among the access result data of each date and time of the website to create the update history of the abused website (see FIG. 4). Use access result data that was not detected as abuse. That is, the update history creation unit 122 creates, for the abused website, the update history of the website by using the access result data of each date and time until the abuse is detected.
  • the update history creation unit 122 creates the update history of the website (a website that is not abused) indicated in the learning benign URL list, all the access result data (for each date and time) for the website Create an update history of the website by using the access result data).
  • the website (http: /) is compared for each "meta [generator]", "Server header”, "X-Powered-By header”, “detect-url”, “detect-meta” and “detect-header”.
  • the update history creating unit 122 does not change the character string “Up” when the character string can be observed.
  • “Stable”, “Updated” when the character string changes, and “Down” when the character string can not be observed are recorded in the update history.
  • the update history creation unit 122 updates “Up” when the numerical value increases, “Stable” when the numerical value does not change, and “Down” when the numerical value decreases. Record in history. Furthermore, when the comparison data is a true / false value, the update history creation unit 122 performs the same comparison as the numerical value, and “Up” when it changes from false to true, “when the true / false value does not change “Stable” records “Down” in the update history when it changes from true to false.
  • update history creation unit 122 may use a numerical value or a character string other than “Up, Stable, Updated, Down”, etc., as long as the change in value can be uniquely indicated.
  • the update history creation unit 122 accepts data types other than character strings, numerical values, and true / false values according to the data collected by the crawler unit 121.
  • the update history creation unit 122 records, in the update history, the time interval (number of months) of access date and time to the seed URL obtained by comparing the values of Date in the access result data. (See “Delta” in FIG. 6).
  • the classifier creation unit 123 creates the classifier
  • the time interval of the access date and time to the seed URL is also a feature value. It is possible to create a classifier considered.
  • the classification unit 124 accepts the input of the update history including the time interval of the access date and time to the classified website, and performs classification using the above-mentioned classifier, whereby the classification accuracy of the website that can be abused in the future Can be improved.
  • the update history creating unit 122 further adds the past for the same seed URL.
  • the update history may be created using the access result data.
  • the update history used by the classifier creation unit 123 to create a classifier needs to be an update history obtained by comparing access result data of the same seed URL the same number of times. Therefore, the update history creation unit 122 executes the following processing in order to set the number of times of comparison of access result data to the same number for each update history of access result data used for creation of a classifier.
  • each update history used to create a classifier needs to be an update history obtained by comparing access result data three times, but only three access result data of the same seed URL are stored in the access result DB Consider the case where it has not been done (can only be compared twice).
  • the update history creation unit 122 records the access result data of the same seed URL in the update history for comparison results for two times, and then updates the missing value (for example, -1) as the third comparison result. Record on
  • ⁇ 1 is used as the loss value in the above example, any value other than “ ⁇ 1” may be used as long as the value can be identified as the loss value.
  • the update history creation unit 122 can create an update history in which the number of comparisons of access result data is the same for each update history used for creating a classifier. Note that the number of comparisons of access result data can be set to any value.
  • the classifier creation unit 123 shown in FIG. 2 performs machine learning and the like using the update history of the website that has not been abused and the update history of the website that has been abused as feature quantities, and the website that may be abused in the future Create a classifier to classify
  • the classifier creation unit 123 reads the update history of the website shown in the learning benign URL list and the update history of the website shown in the learning malignant URL list, which are stored in the storage unit 13. Then, the classifier creation unit 123 creates a feature vector indicating the update history of the website indicated in the learning benign URL list and a feature vector indicating the update history of the website indicated in the learning malignant URL list. After that, the classifier creation unit 123 uses the feature data indicating the update history of the website indicated in the benign URL list for learning as benign data, and the feature vector indicating the update history of the website indicated in the malignant URL list for learning as malignant data. Machine learning etc. used as and create a classifier to classify websites that may be exploited in the future.
  • the classifier creation unit 123 creates the feature vector illustrated in FIG. 7 as a feature vector indicating the update history (in the case of three comparisons) in the seed URL “http: //c.example” illustrated in FIG. .
  • identification information of whether the feature vector is a feature vector of malignant data or a feature vector of benign data is added to the feature vector.
  • the classifier generation unit 123 performs machine learning and the like using the feature vector including the above-described identification information, and generates a classifier that classifies a website that may be abused in the future.
  • the classification unit 124 in FIG. 2 uses the classifier created by the classifier creation unit 123 to classify websites that may be exploited in the future, and outputs a classification result.
  • the classification unit 124 uses each of the websites shown in the test URL list using the feature vector indicating the update history of the website shown in the test URL list and the classifier created by the classifier creation unit 123. Classify whether or not it is likely to be abused in the future, and output the classification result.
  • the crawler unit 121 of the classification device 10 accesses the websites indicated in the learning benign URL list and the learning malignant URL list (S1), and stores the acquired access result data in the access result DB (S2).
  • the update history creation unit 122 acquires access result data regarding the same seed URL accumulated in the access result DB in chronological order, and creates an update history (S3).
  • the classifier creating unit 123 performs machine learning and the like using the update history regarding the website shown in the benign URL list for learning and the update history regarding the website shown in the malignant URL list for learning, and each website A classifier is created to classify whether or not there is a possibility that it will be exploited in the future (S4).
  • the crawler unit 121 of the classification device 10 accesses the web site indicated in the test URL list (S11), and stores the access result data acquired by the access in the access result DB (S12).
  • the update history creation unit 122 acquires access result data relating to the same seed URL stored in the access result DB in chronological order, and creates an update history (S13).
  • the classification unit 124 classifies the test URL shown in the test URL list using the classifier created in S4 of FIG. 8 (S14). For example, the classification unit 124 uses the feature vector indicating the update history of the website indicated by the test URL and the classifier created at S4 in FIG. Categorize which websites are likely to be Then, the classification unit 124 outputs the result of the classification of S14 (classification result) (S15).
  • the classification device 10 can accurately detect in advance a website that may be abused due to the management state of the website administrator.
  • the crawler unit 121 acquires the next access target URL from the input URL list (S21), accesses the acquired access target URL, and registers the acquired access result data in the access result DB (S22).
  • the crawler unit 121 determines that all the URLs included in the URL list have been accessed (Yes in S23), the processing ends, and if there is a URL that has not yet been accessed in the URL list (No in S23), S21 Return to
  • the update history creation unit 122 creates an update history related to the seed URL using the access result data stored in the access result DB (S3 in FIG. 8, S13 in FIG. 9) Will be described in detail.
  • the update history creation unit 122 attempts to acquire access result data relating to the seed URL in chronological order from the access result DB (S31), and can obtain access result data (S32: access result data [acquisition] Yes? Yes), go to S33.
  • the update history creation unit 122 can not obtain access result data relating to the seed URL in chronological order from the access result DB (S32: No result of access result data [acquisition]?)
  • Missing value in update history (For example, -1) is recorded (S34), and the process proceeds to S38.
  • the update history creating unit 122 confirms the presence of the access result data (access result data [held]) used in the comparison of the previous access result data, and when the access result data [held] exists (S33) Yes), advance to S35. On the other hand, when the access result data [held] does not exist (No in S33), the update history creation unit 122 stores the access result data [acquired] in the corresponding access result data [held] (S36), and returns to S31. .
  • the update history creation unit 122 records the comparison result of the access result data [acquired] and the access result data [held] in the update history (S35). Thereafter, the update history creation unit 122 stores the access result data [acquisition] as the access result data [holding] (S37). That is, the update history creation unit 122 stores the access result data [acquisition] in a predetermined area of the storage unit 13 as data for comparison with the access result data to be acquired next. Then, it progresses to S38.
  • classification device 10 classification using a history of access result data of the website including the management status of the administrator of the website as the feature amount to classify the website that may be abused in the future Create a pot. As a result, the classification device 10 can accurately classify whether each website is a website that may be abused in the future.
  • the classification device 10 may only create a classifier, and classification of websites using the classifier may be performed by another device.
  • the program can be implemented by installing a program for realizing the function of the classification device 10 described in the above embodiment in a desired information processing device (computer).
  • the information processing apparatus can function as the classification apparatus 10 by causing the information processing apparatus to execute the program provided as package software or online software.
  • the information processing apparatus referred to here includes a desktop or laptop personal computer.
  • the information processing apparatus also includes a mobile communication terminal such as a smartphone, a cellular phone, a PHS (Personal Handyphone System), and a PDA (Personal Digital Assistant).
  • the function of the classification device 10 may be implemented on a cloud server.
  • 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. These units are connected by a bus 1080.
  • the memory 1010 includes a read only memory (ROM) 1011 and a random access memory (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 1090.
  • Disk drive interface 1040 is connected to disk drive 1100.
  • a removable storage medium such as a magnetic disk or an optical disk is inserted into the disk drive 1100.
  • a mouse 1110 and a keyboard 1120 are connected to the serial port interface 1050.
  • a display 1130 is connected to the video adapter 1060.
  • the hard disk drive 1090 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094.
  • the various data and information described in the above embodiments are stored in, for example, the hard disk drive 1090 or the memory 1010.
  • the CPU 1020 reads the program module 1093 and the program data 1094 stored in the hard disk drive 1090 into the RAM 1012 as necessary, and executes the above-described procedures.
  • the program module 1093 and the program data 1094 related to the classification program described above are not limited to being stored in the hard disk drive 1090, for example, are stored in a removable storage medium, and the CPU (disk drive 1100 etc.) It may be read by a Central Processing Unit) 1020.
  • the program module 1093 and the program data 1094 according to the above program may be stored in another computer connected via a network such as a LAN (Local Area Network) or a WAN (Wide Area Network), and may be stored via the network interface 1070. It may be read by the CPU 1020.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Signal Processing (AREA)
  • Operations Research (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Algebra (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

分類装置は、ウェブサイトの管理者により更新されるウェブサイトアプリケーション情報、ウェブサーバ情報等を含むウェブサイトへのアクセス結果データを取得するクローラ部(121)と、ウェブサイトへのアクセス結果データに含まれる情報を時系列順に比較することにより、当該ウェブサイトの更新履歴を作成する更新履歴作成部(122)と、ウェブサイトの更新履歴を特徴量として用いて、今後悪用される可能性のあるウェブサイトを分類する分類器を作成する分類器作成部(123)と、作成した分類器により今後悪用される可能性のあるウェブサイトを分類する分類部とを備える。

Description

分類装置、分類方法、および、分類プログラム
 本発明は、分類装置、分類方法、および、分類プログラムに関する。
 他人のウェブサイトを悪用するウェブサイト改ざんが問題となっている。攻撃者は、例えば、ドライブバイダウンロード攻撃(Drive-by Download攻撃)を仕掛けるウェブサイトやフィッシングサイト等の悪性ウェブサイトへ転送するよう他人のウェブサイトを改ざんすることで、自身の目的を達成する。このようなウェブサイトの改ざんは、ウェブサーバやウェブアプリケーションに存在する脆弱性が悪用されたり、マルウェア感染によりウェブサイト管理情報が窃取されたりすることで発生する。
 特に、CMS(Content Management System)に存在する脆弱性の悪用による脅威は年々増大している。CMSは、ウェブサイトを作成、管理、配信するためのシステムであり、ウェブサイトの管理者に広く用いられている。しかしながら、これまでに多くの脆弱性がCMSで発見されていたり、ウェブサイトに使用されているCMSを容易に判別できたりするため、ウェブサイト改ざんに頻繁に悪用されている。このためウェブサイト改ざんの抑制には、ウェブサイト管理者によるCMSのバージョン更新やセキュリティパッチの適用が重要となる。
 しかしながら、実際には長い間に対応がなされず、放置されたウェブサイトが攻撃者に悪用されている。実際に、攻撃者は、「Dork」と呼ばれる技術により、検索エンジンを用いて脆弱なCMSで管理されているウェブサイトを効率的に見つけ出していることが知られている。これらの発見されたウェブサイトは、長く運用された実績を持つとともに、既知の脆弱性を保有していることが多いため、攻撃者の標的となりやすい。すなわち、不用意な管理者により管理・運用されるウェブサイトが、攻撃者に悪用される可能性が高いと推測できる。このような放置されたウェブサイトの管理者に対して、これまでの管理・運用の実態を踏まえて注意喚起することは、攻撃者によるウェブサイトの悪用を未然に防ぐ上で重要となる。
 このような注意喚起を実現する単純な方法として、Dork技術を用いて古いバージョンのCMSで管理されているウェブサイトを発見し、当該ウェブサイトの管理者に注意喚起する方法がある。しかしながら、管理者は適切にウェブサイトを管理運用しているものの、何らかの理由があってCMSの古いバージョンを意図的に使用している場合もある。このため、ウェブサイトに使用されるCMSが古いバージョンであるからといって、一概に悪用の恐れがあるとは言えない。
 従来、ウェブサイト上におけるドライブバイダウンロード攻撃やフィッシング、ハクティビズムを検知する手法が知られている(非特許文献1~3参照)。また、悪用前のウェブサイトから特徴量を設計し、その特徴量に基づきウェブサイトの悪用を事前に検知する手法(非特許文献4参照)が知られている。上記の手法はいずれも、ウェブサイトの悪用の検知に有用な特徴量の設計に、主にウェブサイトのURLやウェブコンテンツを用いている。
D. Canali, et al., "Prophiler: A Fast Filter for the Large-Scale Detection of Malicious Web Pages", in World Wide Web Conference (WWW), 2011. C. Ludl, et al., "On the Effectiveness of Techniques to Detect Phishing Sites", in Conference on Detection of Intrusions and Malware and Vulnerability Assessment (DIMVA), 2007. K. Borgolte, et al., "Meerkat: Detecting Website Defacements through Image-based Object Recognition", in USENIX Security Symposium, 2015. K. Soska, et al., "Automatically Detecting Vulnerable Websites Before They Turn Malicious", in USENIX Security Symposium, 2014.
 しかし、従来技術では、管理者によるウェブサイトの管理状態に起因して悪用される可能性があるウェブサイトを事前に精度よく検知する技術は提案されていなかった。そこで、本発明は、前記した問題を解決し、管理者によるウェブサイトの管理状態に起因して悪用される可能性があるウェブサイトを事前に精度よく検知することを課題とする。
 前記した課題を解決するため、本発明は、ウェブサイトの管理者により更新される前記ウェブサイトの情報を含む前記ウェブサイトへのアクセス結果データを取得する取得部と、前記ウェブサイトへのアクセス結果データを時系列順に比較することにより、当該ウェブサイトの更新履歴を作成する更新履歴作成部と、前記ウェブサイトの更新履歴を特徴量として用いて、今後悪用される可能性のあるウェブサイトを分類する分類器を作成する分類器作成部と、を備えることを特徴とする。
 本発明によれば、管理者によるウェブサイトの管理状態に起因して悪用される可能性があるウェブサイトを事前に精度よく検知することができる。
図1は、分類装置の動作概要を説明する図である。 図2は、分類装置の構成例を示すブロック図である。 図3は、図2のアクセス結果DBの一例を示す図である。 図4は、更新履歴の作成を説明するための図である。 図5は、アクセス結果データの比較の一例を示す図である。 図6は、更新履歴の一例を示す図である。 図7は、図6の更新履歴を示す特徴ベクトルの一例を示す図である。 図8は、図2の分類装置による分類器の作成手順の一例を示すフローチャートである。 図9は、図2の分類装置による分類手順の一例を示すフローチャートである。 図10は、図2の分類装置によるアクセス結果データのアクセス結果DBへの蓄積処理の一例を示すフローチャートである。 図11は、図2の分類装置による更新履歴の作成処理の一例を示すフローチャートである。 図12は、分類プログラムを実行するコンピュータを示す図である。
[概要]
 以下、図面を参照しながら、本発明を実施するための形態(実施形態)について説明する。
 本実施形態の分類装置は、定常的にウェブサイトを監視し、当該ウェブサイトから管理者に起因すると考えられる情報を収集する。そして、分類装置は、当該ウェブサイトがどのように管理・運用されているのかを過去にさかのぼり時系列に分析することで、今後悪用され得るウェブサイトを分類する。
[分類器の作成フェーズ]
 例えば、図1に示すように、分類装置は、まず、クローラ部(取得部)121により、インターネット経由で学習用URLリスト(学習用良性URLリストおよび学習用悪性URLリスト)に示されるウェブサイトへアクセスする。そして、クローラ部121は、各ウェブサイトへのアクセス結果データを収集し、アクセス結果DBに蓄積する。ここで、ウェブサイトへのアクセス結果データは、ウェブサイトの管理者による管理に起因して更新される情報(例えば、後記するウェブアプリケーション情報等)を含む。
 また、上記の学習用良性URLリストおよび学習用悪性URLリストは、例えば、様々なウェブサイトの過去の状態をアーカイブするサービス(以下の文献1)により提供されているURLリストを用いる。
 文献1:Internet Archive, “Wayback Machine”, https://archive.org/web/
 例えば、学習用悪性URLリストとして、悪用検知後および悪用検知前の各時刻におけるウェブサイトの状態をアーカイブしているサービスにより提供されているURLリストを用いる。また、学習用良性URLリストとして、悪用されていないウェブサイトの各時刻における状態をアーカイブしているサービスにより提供されているURLリストを用いる。
 次に、分類装置は、更新履歴作成部122により、アクセス結果DBに蓄積されたウェブサイトごとのアクセス結果データを比較し、当該ウェブサイトの更新履歴を作成する。
 例えば、分類装置は、更新履歴作成部122により、学習用悪性URLリストに示されるウェブサイトのアクセス結果データのうち、悪用検知前のアクセス結果データに基づき、悪用されたウェブサイトの更新履歴を作成する。つまり、悪用が検知されるまでのウェブサイトの更新履歴を作成する。また、分類装置は、更新履歴作成部122により、学習用良性URLリストに示されるウェブサイトのアクセス結果データに基づき、悪用されていないウェブサイトの更新履歴を作成する。
 そして、分類装置の分類器作成部123は、上記の悪用されたウェブサイトの更新履歴および悪用されていないウェブサイトの更新履歴を特徴量として用いて機械学習等を行い、今後悪用される可能性があるウェブサイトを分類する分類器を作成する。
[分類フェーズ]
 その後、分類装置は、作成した分類器を用いてテスト用URLリスト(分類対象となるウェブサイトのURLのリスト)に示されるウェブサイトの分類を行う。
 例えば、分類装置はクローラ部121によりテスト用URLリストに示されるウェブサイトにアクセスし、当該ウェブサイトへのアクセス結果データをアクセス結果DBに蓄積する。そして、分類装置は、更新履歴作成部122により、アクセス結果DBに蓄積されたウェブサイトごとのアクセス結果データを比較し、当該ウェブサイトの更新履歴を作成する。その後、分類装置は、テスト用URLリストに示されるウェブサイトの更新履歴を特徴量とし、上記の分類器を用いて、テスト用URLリストに示される各ウェブサイトが、今後悪用される可能性があるか否かを分類し、分類結果を出力する。
 このようにすることで、分類装置は、ウェブサイトの管理者の管理状態に起因して悪用される可能性があるウェブサイトを事前に精度よく検知することができる。
[構成]
 次に、図2を用いて分類装置10の構成を説明する。図2に示すように、分類装置10は、入出力部11と、制御部12と、記憶部13とを備える。
 入出力部11は、各種URLリストの入力を受け付けたり、分類器によるURLに示されるウェブサイトの分類結果等を出力したりする入出力インタフェースである。また、この入出力部11は、クローラ部121等がインターネット等の外部ネットワークにアクセスする際の通信インタフェースも司る。
 制御部12は、分類装置10全体の制御を司る。この制御部12は、クローラ部121と、更新履歴作成部122と、分類器作成部123と、分類部124とを備える。
[クローラ部]
 クローラ部121は、指定されたURLのウェブサイトへアクセスし、様々な情報を収集(取得)する。例えば、クローラ部121は、所定期間ごとに、URLリストに示される各ウェブサイトにアクセスし、アクセスしたウェブサイトへのアクセス結果データを収集し、アクセス結果DBへ蓄積する。このアクセス結果データは、ウェブサイトの管理者による管理に起因して更新される当該ウェブサイトの情報(例えば、後記するウェブアプリケーション情報等)を含む。このクローラ部121は、例えば、ウェブサイトへアクセスするブラウザまたはクローラプログラムの実行により実現される。
 なお、クローラ部121に入力されるURLリストは、例えば、学習用URLリスト(学習用良性URLリストと学習用悪性URLリスト)や、テスト用URLリストである。
 上記の学習用良性URLリストおよび学習用悪性URLリストは、例えば、前記したとおり、悪用が検知されていないウェブサイト(良性ウェブサイト)および悪用が検知されたウェブサイト(悪性ウェブサイト)の過去の状態をアーカイブするサービス(文献1)により提供されているURLリストを用いる。
 また、学習用悪性URLリストは、例えば、既存技術(例えば、アンチウイルスソフトや非特許文献1~3に記載の技術)を用いて、悪用を事前に検知したウェブサイトのURLを含む悪性URLリスト(例えば、以下の文献2,3に示す既知の悪性URLリストでもよい)を用いてもよい。
 文献2:OpenDNS, “PhishTank”, https://www.phishtank.com/
 文献3:Malwarebytes, “hpHosts”, https://www.hosts-file.net/
 この場合、クローラ部121は、例えば、前記既知の悪性URLリストに基づき、悪用検知前の時刻にアーカイブされたウェブサイトへアクセスし、アクセス結果データを収集する。そして、クローラ部121は、収集したアクセス結果データを、悪用検知前のアクセス結果データ(悪用が検知されるまでの一連のアクセス結果データ)として、アクセス結果DBに蓄積する。この時、クローラ部121は、所定期間、定常的に特定のURLが示すウェブサイトへアクセスし、既存技術により当該ウェブサイトの悪用を検知した場合に、それまで収集したアクセス結果データを、悪用検知前のアクセス結果データとして用いても良い。
 また、クローラ部121により収集される、ウェブサイトのアクセス結果データは、当該ウェブサイトを構成する情報を含む。例えば、ウェブサイトへのアクセス結果データは、当該ウェブサイトのHTTPヘッダから得られる当該ウェブサイトのウェブサーバ情報と、当該ウェブサイトのHTTPボティ(例えば、HTTPボディのmetaタグ)から得られる当該ウェブサイトのウェブアプリケーション情報と、当該ウェブサイトのCMS情報との少なくともいずれかを含む。例えば、アクセス結果データは、HTTPヘッダに含まれるServer headerやX-Powered-By headerから得られるウェブサーバ情報や、HTTPボディに含まれるmetaタグから得られるウェブアプリケーション情報、URLのパス文字列から得られるCMS情報等を含む。なお、CMS情報は、例えば、当該ウェブサイトのURL、HTTPヘッダ、および、HTTPボディのmetaタグそれぞれについて、当該情報から当該ウェブサイトのCMSを特定可能か否かを示した情報である。
 例えば、図3に示すアクセス結果データにおいて、CMS情報は、URLからのCMSの特定可否を示す「detect-url」、metaタグからのCMSの特定可否を示す「detect-meta」、HTTPヘッダからのCMSの特定可否を示す「detect-header」等の情報である。また、図3に示すアクセス結果データにおいて、ウェブサーバ情報は、Server header、X-Powered-By header等の情報である。さらに、図3に示すアクセス結果データにおいて、ウェブアプリケーション情報は、metaタグのgenerator属性値であるmeta[generator]等の情報である。
 なお、従来技術は、ウェブサイトが悪用される可能性があるか否かを判断する際、改ざんにより挿入されるコンテンツや攻撃コード等の悪性コンテンツに着目した情報を特徴量として用いていた。一方、本実施形態の分類装置10は、上記のウェブサイトのウェブサーバ情報やウェブアプリケーション情報等、ウェブサイトの管理者が更新でき得る情報を特徴量として用いる。ただし、上記のウェブサーバ情報やウェブアプリケーション情報は、ウェブサイト管理者により更新可能な情報であれば、これらに限るものではない。
[アクセス結果データ]
 アクセス結果DBに蓄積されるアクセス結果データを、図3を用いて説明する。例えば、アクセス結果DBに蓄積されるアクセス結果データは、各アクセス結果データの識別情報である「ID」、ウェブサイトへのアクセス日時である「Date」、アクセスしたウェブサイトのURLである「URL」、当該URLへアクセスした際に別途アクセスが発生するURLの数である「URL数」、HTTPボディのmetaタグのgenerator属性値である「meta[generator]」、HTTPヘッダに含まれる「Server header」および「X-Powered-By header」、URLからのCMSの特定可否を示す「detect-url」、metaタグからのCMSの特定可否を示す「detect-meta」、HTTPヘッダからのCMSの特定可否を示す「detect-header」等の情報を含む。
 また、上記のアクセス結果データにおける、「detect-url」、「detect-meta」および「detect-header」の値、つまり、True(CMSの特定可能)、False(CMSの特定不可能)は、既存技術(例えば、以下の文献4に記載の技術)に基づき、クローラ部121が判断するものとする。
 文献4:Wappalyzer, https://wappalyzer.com/
 なお、クローラ部121が学習用URLリストに示されるウェブサイトにアクセスした場合、当該ウェブサイトへのアクセス結果データに、アクセス先のウェブサイトが良性URL(悪用されていないウェブサイト)か悪性URL(悪用されたウェブサイト)かを示す識別情報を付与して、アクセス結果DBに蓄積する。
[更新履歴作成部]
 図2の更新履歴作成部122は、アクセス結果DB(図3参照)に蓄積されたアクセス結果データに基づき、ウェブサイトの更新履歴を作成する。例えば、更新履歴作成部122は、アクセス結果DBから、同一URL(シードURLと呼ぶ)へのアクセス結果データを取得し、時系列順に比較する。例えば、更新履歴作成部122は、比較対象のアクセス結果データに含まれる各情報の比較(例えば、文字列、数値の比較、真偽値等の比較)を行い、比較結果をシードURLのウェブサイトの更新履歴として記憶部13に記憶する。
 なお、更新履歴作成部122は、学習用悪性URLリストに示されるウェブサイトの更新履歴を作成する際、当該ウェブサイトへのアクセス結果データのうち、当該ウェブサイトの悪用検知前のアクセス結果データに基づき、悪用されたウェブサイトの更新履歴を作成する。
 このことを、具体例を用いて説明する。例えば、アクセス結果DBに、学習用悪性URLリストに示されるウェブサイト(悪用されたウェブサイト)へのアクセス結果データとして、当該ウェブサイトの悪用検知前から悪用検知後にわたる各日時のアクセス結果データが蓄積されていた場合を考える。
 この場合、更新履歴作成部122は、図4に示すように、悪用されたウェブサイトの更新履歴の作成に、当該ウェブサイトの各日時のアクセス結果データのうち、悪用検知前のアクセス結果データ(悪用検知されなかったアクセス結果データ)を利用する。つまり、更新履歴作成部122は、悪用されたウェブサイトについて、悪用が検知されるまでの各日時のアクセス結果データを用いて、当該ウェブサイトの更新履歴を作成する。
 一方、更新履歴作成部122が、学習用良性URLリストに示されるウェブサイト(悪用されていないウェブサイト)の更新履歴を作成する際には、当該ウェブサイトについてすべてのアクセス結果データ(各日時のアクセス結果データ)を利用して、当該ウェブサイトの更新履歴を作成する。
 更新履歴作成部122による更新履歴の作成を、具体例を用いて説明する。例えば、更新履歴作成部122は、図3に示すアクセス結果データのうち、シードURL「http://c.example」のアクセス結果データ(ID=101~103)を項目(例えば、「Date」、「meta[generator]」、「Server header」、「X-Powered-By header」、「detect-url」、「detect-meta」および「detect-header」)ごとに比較し、ウェブサイト(http://c.example)の更新履歴を作成する場合を考える。
 この場合、更新履歴作成部122は、まず、図5に示すように、ID=101とID=102のアクセス結果データに比較し、その比較結果(符号501)を記録する。次に、更新履歴作成部122は、ID=102とID=103のアクセス結果データを比較し、その比較結果(符号502)を更新履歴として記録する(図6のシードURL「http://c.example」における更新履歴の例(比較回数2回の場合)参照)。
 なお、例えば、更新履歴作成部122は、比較対象のアクセス結果データにおける比較データが文字列だった場合、当該文字列が観測できるようになった時に「Up」、当該文字列が変化しなかった時に「Stable」、当該文字列が変化した時に「Updated」、当該文字列が観測できないようになった時に「Down」を更新履歴に記録する。
 また、比較データが数値だった場合、更新履歴作成部122は、当該数値が増加した時に「Up」、当該数値が変化しなかった時に「Stable」、当該数値が減少した時に「Down」を更新履歴に記録する。さらに、比較データが真偽値だった場合、更新履歴作成部122は、数値と同様の比較が行われ、偽から真へ変化した時に「Up」、当該真偽値が変化しなかった時に「Stable」、真から偽変化した時に「Down」を更新履歴に記録する。
 また、更新履歴作成部122は、値の変化を一意に示すことができれば、数値や「Up、Stable、Updated、Down」以外の文字列等を用いてもよい。また、更新履歴作成部122は、クローラ部121により収集されるデータに応じて、文字列、数値、真偽値以外のデータタイプを許容するものとする。
 また、更新履歴作成部122は、図3に示すように、アクセス結果データのDateの値を比較して得られた、シードURLへのアクセス日時の時間間隔(月数)を更新履歴に記録してもよい(図6の「Delta」参照)。
 このようにシードURLへのアクセス日時の時間間隔(月数)を更新履歴に含めることで、分類器作成部123が分類器を作成する際、シードURLへのアクセス日時の時間間隔も特徴量として考慮した分類器の作成をすることができる。そして、分類部124が、分類対象のウェブサイトへのアクセス日時の時間間隔を含む更新履歴の入力を受け付け、上記の分類器を用いた分類を行うことで、今後悪用され得るウェブサイトの分類精度を向上させることができる。
 また、更新履歴作成部122は、同じシードURLのアクセス結果データ同士の時間間隔(図6における「Delta」の値)が事前に定めた時間間隔を上回らない場合、同じシードURLについて、さらに過去のアクセス結果データを用いて更新履歴を作成してもよい。
 なお、分類器作成部123が分類器の作成に用いる更新履歴はそれぞれ、同じシードURLのアクセス結果データを同じ回数比較して得られた更新履歴である必要がある。そのため、更新履歴作成部122は、分類器の作成に用いられるアクセス結果データの更新履歴それぞれについて、アクセス結果データの比較回数を同じ回数とするため、以下の処理を実行する。
 例えば、分類器の作成に用いる更新履歴はそれぞれ、アクセス結果データを3回比較して得られた更新履歴である必要があるが、アクセス結果DBに同じシードURLのアクセス結果データが3つしか蓄積されていない(2回しか比較できない)場合を考える。
 このような場合、更新履歴作成部122は、同じシードURLのアクセス結果データを2回分の比較結果を更新履歴に記録した後、3回目の比較結果として欠損値(例えば、-1)を更新履歴に記録する。
 例えば、更新履歴作成部122は、シードURL「http://c.example」における更新履歴として、図5に示すアクセス結果データ(ID=101~103)の比較結果(2回分の比較結果)を記録した上で、3回目の比較結果を「-1」とした更新履歴を作成する(図6のシードURL「http://c.example」における更新履歴の例(比較回数3回の場合)参照)。なお、上記の例では欠損値として「-1」を用いたが、欠損値であることが特定できる値であれば、「-1」以外の値を用いてもよい。
 このようにすることで、更新履歴作成部122は、分類器の作成に用いられる更新履歴それぞれについて、アクセス結果データの比較回数を同じ回数とした更新履歴を作成することができる。なお、アクセス結果データの比較回数は、任意の値を定めることができるものとする。
[分類器作成部]
 図2の分類器作成部123は、悪用されていないウェブサイトの更新履歴および悪用されたウェブサイトの更新履歴を特徴量として用いた機械学習等を行い、今後悪用される可能性のあるウェブサイトを分類する分類器を作成する。
 例えば、分類器作成部123は、記憶部13に記憶される、学習用良性URLリストに示されるウェブサイトの更新履歴と、学習用悪性URLリストに示されるウェブサイトの更新履歴とを読み出す。そして、分類器作成部123は、学習用良性URLリストに示されるウェブサイトの更新履歴を示す特徴ベクトルと、学習用悪性URLリストに示されるウェブサイトの更新履歴を示す特徴ベクトルとを作成する。その後、分類器作成部123は、学習用良性URLリストに示されるウェブサイトの更新履歴を示す特徴ベクトルを良性データ、学習用悪性URLリストに示されるウェブサイトの更新履歴を示す特徴ベクトルを悪性データとして用いた機械学習等を行い、今後悪用される可能性のあるウェブサイトを分類する分類器を作成する。
 例えば、分類器作成部123は、図6に示すシードURL「http://c.example」における更新履歴(比較回数3回の場合)を示す特徴ベクトルとして、図7に示す特徴ベクトルを作成する。なお、ここでは図示を省略しているが、特徴ベクトルには、当該特徴ベクトルが悪性データの特徴ベクトルか、良性データの特徴ベクトルかの識別情報が付与されているものとする。そして、分類器作成部123は、上記の識別情報を含む特徴ベクトルを用いて、機械学習等を行い、今後悪用される可能性のあるウェブサイトを分類する分類器を作成する。
[分類部]
 図2の分類部124は、分類器作成部123により作成された分類器を用いて、今後悪用される可能性のあるウェブサイトを分類し、分類結果を出力する。例えば、分類部124は、テスト用URLリストに示されるウェブサイトの更新履歴を示す特徴ベクトルと、分類器作成部123により作成された分類器を用いて、テスト用URLリストに示される各ウェブサイトが今後悪用される可能性があるか否かを分類し、分類結果を出力する。
[処理手順]
 次に、図8および図9を用いて、分類装置10の処理手順の例を説明する。まず、図8を用いて分類装置10が分類器を作成する手順を説明する。
 分類装置10のクローラ部121は、学習用良性URLリストおよび学習用悪性URLリストに示されるウェブサイトへアクセスし(S1)、取得したアクセス結果データをアクセス結果DBに蓄積する(S2)。その後、更新履歴作成部122は、アクセス結果DBに蓄積された同じシードURLに関するアクセス結果データを時系列順に取得し、更新履歴を作成する(S3)。そして、分類器作成部123は、学習用良性URLリストに示されるウェブサイトに関する更新履歴と、学習用悪性URLリストに示されるウェブサイトに関する更新履歴とを用いた機械学習等を行い、各ウェブサイトが今後悪用される可能性があるか否かを分類する分類器を作成する(S4)。
 次に、図9を用いて、分類装置10が作成した分類器を用いて、テスト用URLリストに示されるウェブサイトについて、今後悪用される可能性のあるウェブサイトを分類する手順を説明する。
 まず、分類装置10のクローラ部121は、テスト用URLリストに示されるウェブサイトにアクセスし(S11)、当該アクセスにより取得したアクセス結果データをアクセス結果DBに蓄積する(S12)。その後、更新履歴作成部122は、図8のS2と同様に、アクセス結果DBに蓄積された同じシードURLに関するアクセス結果データを時系列順に取得し、更新履歴を作成する(S13)。そして、分類部124は、図8のS4で作成された分類器を用いて、テスト用URLリストに示されるテスト用URLの分類を行う(S14)。例えば、分類部124は、テスト用URLに示されるウェブサイトの更新履歴を示す特徴ベクトルと、図8のS4で作成された分類器を用いて、テスト用URLリストに示されるウェブサイトが今後悪用される可能性のあるウェブサイトか否かを分類する。そして、分類部124は、S14の分類の結果(分類結果)を出力する(S15)。
 このようにすることで、分類装置10は、ウェブサイトの管理者の管理状態に起因して悪用される可能性があるウェブサイトを事前に精度よく検知することができる。
 次に、図10を用いて、クローラ部121が、アクセス結果DBにアクセス結果データを蓄積する処理(図8のS1,S2、図9のS11,S12)を詳細に説明する。
 クローラ部121は、入力されたURLリストから次のアクセス対象のURLを取得し(S21)、取得したアクセス対象のURLへアクセスし、取得したアクセス結果データをアクセス結果DBに登録する(S22)。そして、クローラ部121は、URLリストに含まれるURLすべてにアクセスしたと判断すると(S23でYes)、処理を終了し、URLリストにまだアクセスしていないURLがあれば(S23でNo)、S21に戻る。
 次に、図11を用いて、更新履歴作成部122が、アクセス結果DBに蓄積されたアクセス結果データを用いて、シードURLに関する更新履歴を作成する処理(図8のS3、図9のS13)を詳細に説明する。
 まず、更新履歴作成部122は、アクセス結果DBから、シードURLに関するアクセス結果データを時系列順に取得する(S31)ことを試み、アクセス結果データを取得できた場合(S32:アクセス結果データ[取得]が存在?でYes)、S33へ進む。一方、更新履歴作成部122は、アクセス結果DBから、シードURLに関するアクセス結果データを時系列順に取得できなかった場合(S32:アクセス結果データ[取得]が存在?でNo)、更新履歴に欠損値(例えば、-1)を記録し(S34)、S38へ進む。
 S33では、更新履歴作成部122は、前回のアクセス結果データの比較で使用したアクセス結果データ(アクセス結果データ[保持])の存在を確認し、アクセス結果データ[保持]が存在した場合は(S33でYes)、S35へ進む。一方、アクセス結果データ[保持]が存在しない場合は(S33でNo)、更新履歴作成部122は、アクセス結果データ[取得]を当該アクセス結果データ[保持]へ格納し(S36)、S31へ戻る。
 S35では、更新履歴作成部122は、更新履歴に、アクセス結果データ[取得]と、アクセス結果データ[保持]との比較結果を記録する(S35)。その後、更新履歴作成部122は、アクセス結果データ[取得]をアクセス結果データ[保持]として格納する(S37)。つまり、更新履歴作成部122は、アクセス結果データ[取得]を、次に取得するアクセス結果データとの比較用のデータとして記憶部13の所定領域に格納する。その後、S38へ進む。
 S38では、更新履歴作成部122は、アクセス結果データの比較回数が上限値に達していれば(S38でYes)、処理を終了し、アクセス結果データの比較回数が上限値に達していなければ(S38でNo)、S31に戻る。以上のようにして更新履歴作成部122は、シードURLごとの更新履歴を作成する。
 このような分類装置10によれば、ウェブサイトの管理者の管理状態を含む当該ウェブサイトのアクセス結果データの更新履歴を特徴量として用い、今後悪用される可能性のあるウェブサイトを分類する分類器を作成する。その結果、分類装置10は、各ウェブサイトが今後悪用される可能性のあるウェブサイトか否かを精度よく分類することができる。
 なお、上記の実施形態において分類器の作成と、分類器を用いたウェブサイトの分類とは分類装置10に行われるものとして説明したが、これに限定されない。例えば、分類装置10は、分類器の作成のみを行い、分類器を用いたウェブサイトの分類は、別の装置で行ってもよい。
[プログラム]
 また、上記の実施形態で述べた分類装置10の機能を実現するプログラムを所望の情報処理装置(コンピュータ)にインストールすることによって実装できる。例えば、パッケージソフトウェアやオンラインソフトウェアとして提供される上記のプログラムを情報処理装置に実行させることにより、情報処理装置を分類装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等がその範疇に含まれる。また、分類装置10の機能を、クラウドサーバに実装してもよい。
 図12を用いて、上記のプログラム(分類プログラム)を実行するコンピュータの一例を説明する。図12に示すように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース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が接続される。
 ここで、図12に示すように、ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093およびプログラムデータ1094を記憶する。上記の実施形態で説明した各種データや情報は、例えばハードディスクドライブ1090やメモリ1010に記憶される。
 そして、CPU1020が、ハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した各手順を実行する。
 なお、上記の分類プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ1100等を介してCPU(Central Processing Unit)1020によって読み出されてもよい。あるいは、上記のプログラムに係るプログラムモジュール1093やプログラムデータ1094は、LAN(Local Area Network)やWAN(Wide Area Network)等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
10 分類装置
11 入出力部
12 制御部
13 記憶部
121 クローラ部
122 更新履歴作成部
123 分類器作成部
124 分類部

Claims (8)

  1.  ウェブサイトの管理者により更新される前記ウェブサイトの情報を含む前記ウェブサイトへのアクセス結果データを取得する取得部と、
     前記ウェブサイトへのアクセス結果データを時系列順に比較することにより、当該ウェブサイトの更新履歴を作成する更新履歴作成部と、
     前記ウェブサイトの更新履歴を特徴量として用いて、今後悪用される可能性のあるウェブサイトを分類する分類器を作成する分類器作成部と、
     を備えることを特徴とする分類装置。
  2.  前記ウェブサイトへのアクセス結果データは、
     悪用されなかったウェブサイトへのアクセス結果データと、悪用されたウェブサイトの悪用前におけるウェブサイトへのアクセス結果データとを含み、
     前記更新履歴作成部は、
     前記悪用されなかったウェブサイトへのアクセス結果データを時系列順に比較することにより、前記悪用されなかったウェブサイトの更新履歴を作成する処理と、前記悪用されたウェブサイトの悪用前におけるウェブサイト結果データを時系列順に比較することにより、前記悪用されたウェブサイトの更新履歴を作成する処理とを実行し、
     前記分類器作成部は、
     前記悪用されなかったウェブサイトの更新履歴の特徴量と、前記悪用されたウェブサイトの更新履歴の特徴量とを用いて、今後悪用される可能性のあるウェブサイトを分類する分類器を作成する
     ことを特徴とする請求項1に記載の分類装置。
  3.  前記ウェブサイトへのアクセス結果データは、
     前記ウェブサイトのHTTPヘッダ情報から得られる当該ウェブサイトのウェブサーバ情報と、HTTPボティから得られる当該ウェブサイトのウェブアプリケーション情報と、当該ウェブサイトのURL、HTTPヘッダ情報および前記ウェブアプリケーション情報それぞれについて当該情報から当該ウェブサイトのCMS(Content Management System)を特定可能か否かを示すCMS情報との少なくともいずれかを含む
     ことを特徴とする請求項2に記載の分類装置。
  4.  前記ウェブサーバ情報は、
     前記ウェブサイトで用いられるウェブサーバソフトウエア、および、前記ウェブサイトで用いられるプログラミング言語の少なくともいずれかを示す情報である
     ことを特徴とする請求項3に記載の分類装置。
  5.  前記更新履歴作成部は、
     前記ウェブサイトへのアクセス結果データを時系列順に比較する際に、比較対象のアクセス結果データに示される前記ウェブサイトへのアクセス日時の差分を前記ウェブサイトの更新履歴に含める
     ことを特徴とする請求項1または請求項2に記載の分類装置。
  6.  分類対象となるウェブサイトへのアクセス結果データの更新履歴と、前記分類器とを用いて、今後悪用される可能性のあるウェブサイトを分類する分類部をさらに備える
     ことを特徴とする請求項1に記載の分類装置。
  7.  今後悪用される可能性のあるウェブサイトを分類する分類装置が、
     ウェブサイトの管理者により更新される前記ウェブサイトの情報を含む前記ウェブサイトへのアクセス結果データを取得するステップと、
     前記ウェブサイトへのアクセス結果データを時系列順に比較することにより、当該ウェブサイトの更新履歴を作成するステップと、
     前記ウェブサイトの更新履歴を特徴量として用いて、今後悪用される可能性のあるウェブサイトを分類する分類器を作成するステップと、
     を含んだことを特徴とする分類方法。
  8.  今後悪用される可能性のあるウェブサイトを分類するための分類プログラムであって、
     ウェブサイトの管理者により更新される前記ウェブサイトの情報を含む前記ウェブサイトへのアクセス結果データを取得するステップと、
     前記ウェブサイトへのアクセス結果データを時系列順に比較することにより、当該ウェブサイトの更新履歴を作成するステップと、
     前記ウェブサイトの更新履歴を特徴量として用いて、今後悪用される可能性のあるウェブサイトを分類する分類器を作成するステップと、
     をコンピュータに実行させることを特徴とする分類プログラム。
PCT/JP2018/035987 2017-12-20 2018-09-27 分類装置、分類方法、および、分類プログラム WO2019123757A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US16/955,083 US11423099B2 (en) 2017-12-20 2018-09-27 Classification apparatus, classification method, and classification program
JP2019560805A JP6823201B2 (ja) 2017-12-20 2018-09-27 分類装置、分類方法、および、分類プログラム
EP18891675.3A EP3705974B1 (en) 2017-12-20 2018-09-27 Classification device, classification method, and classification program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-243914 2017-12-20
JP2017243914 2017-12-20

Publications (1)

Publication Number Publication Date
WO2019123757A1 true WO2019123757A1 (ja) 2019-06-27

Family

ID=66992565

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/035987 WO2019123757A1 (ja) 2017-12-20 2018-09-27 分類装置、分類方法、および、分類プログラム

Country Status (4)

Country Link
US (1) US11423099B2 (ja)
EP (1) EP3705974B1 (ja)
JP (1) JP6823201B2 (ja)
WO (1) WO2019123757A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022163669A (ja) * 2021-04-14 2022-10-26 アウー インテリジェンス, インコーポレイテッド 情報匿名化の行動ベクトル化法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10936677B2 (en) * 2018-11-28 2021-03-02 Paypal, Inc. System and method for efficient multi stage statistical website indexing
US11799876B2 (en) * 2019-10-04 2023-10-24 Zscaler, Inc. Web crawler systems and methods to efficiently detect malicious sites
US12079299B2 (en) 2021-10-29 2024-09-03 International Business Machines Corporation Content management system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005208814A (ja) * 2004-01-21 2005-08-04 Nec Corp 改ざん検知制御装置、改ざん検知制御システム、改ざん検知制御方法、プログラムおよび記録媒体

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8862699B2 (en) * 2009-12-14 2014-10-14 Microsoft Corporation Reputation based redirection service
US20150200962A1 (en) 2012-06-04 2015-07-16 The Board Of Regents Of The University Of Texas System Method and system for resilient and adaptive detection of malicious websites
US9514494B2 (en) * 2012-08-23 2016-12-06 Sap Se Prevention of coalition attacks in social network communities
US10108797B2 (en) * 2014-03-13 2018-10-23 Nippon Telegraph And Telephone Corporation Monitoring device, monitoring method and monitoring program
WO2016060110A1 (ja) * 2014-10-14 2016-04-21 日本電信電話株式会社 解析装置、解析方法、および、解析プログラム
US9621576B1 (en) * 2014-12-31 2017-04-11 EMC IP Holding Company LLC Detecting malicious websites
CN104766014B (zh) * 2015-04-30 2017-12-01 安一恒通(北京)科技有限公司 用于检测恶意网址的方法和系统
WO2017069348A1 (ko) * 2015-10-19 2017-04-27 한국과학기술정보연구원 보안이벤트 자동 검증 방법 및 장치
US10033757B2 (en) * 2016-06-09 2018-07-24 Rapid7, Inc. Identifying malicious identifiers
WO2018035163A1 (en) * 2016-08-15 2018-02-22 RiskIQ, Inc. Techniques for determining threat intelligence for network infrastructure analysis
US11019096B2 (en) * 2017-01-11 2021-05-25 Nippon Telegraph And Telephone Corporation Combining apparatus, combining method, and combining program

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005208814A (ja) * 2004-01-21 2005-08-04 Nec Corp 改ざん検知制御装置、改ざん検知制御システム、改ざん検知制御方法、プログラムおよび記録媒体

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
C. LUDL ET AL.: "On the Effectiveness of Techniques to Detect Phishing Sites", CONFERENCE ON DETECTION OF INTRUSIONS AND MALWARE AND VULNERABILITY ASSESSMENT (DIMVA, 2007
CHIBA, DAIKI ET AL.: "Domainprofiler: discovering domain names abused in future", PROCEEDINGS OF ANNUAL IEEE /IFIP INTERNATIONAL CONFERENCE ON DEPENDABLE SYSTEMS AND NETWORKS , IEEE COMPUTER SOCIETY, 28 June 2016 (2016-06-28), pages 491 - 502, XP032973585, doi:10.1109/DSN.2016.51 *
D. CANALI ET AL.: "Prophiler: A Fast Filter for the Large-Scale Detection of Malicious Web Pages", WORLD WIDE WEB CONFERENCE (WWW, 2011
K. BORGOLTE ET AL.: "Meerkat: Detecting Website Defacements through Image-based Object Recognition", USENIX SECURITY SYMPOSIUM, 2015
K. SOSKA ET AL.: "Automatically Detecting Vulnerable Websites Before They Turn Malicious", USENIX SECURITY SYMPOSIUM, 2014
See also references of EP3705974A4
SOSKA, K. ET AL.: "Automatically detecting vulnerable websites before they turn malicious", PROCEEDINGS OF THE 23RD USENIX SECURITY SYMPOSIUM, 20 August 2014 (2014-08-20), pages 624 - 640, XP055620316 *
WAYBACK MACHINE, Retrieved from the Internet <URL:https://archive.org/web>

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022163669A (ja) * 2021-04-14 2022-10-26 アウー インテリジェンス, インコーポレイテッド 情報匿名化の行動ベクトル化法
JP7233758B2 (ja) 2021-04-14 2023-03-07 アウー インテリジェンス, インコーポレイテッド 情報匿名化の行動ベクトル化法

Also Published As

Publication number Publication date
EP3705974A1 (en) 2020-09-09
EP3705974A4 (en) 2021-09-01
JPWO2019123757A1 (ja) 2020-04-02
US20200372085A1 (en) 2020-11-26
JP6823201B2 (ja) 2021-01-27
EP3705974B1 (en) 2022-12-07
US11423099B2 (en) 2022-08-23

Similar Documents

Publication Publication Date Title
US9998484B1 (en) Classifying potentially malicious and benign software modules through similarity analysis
US10121000B1 (en) System and method to detect premium attacks on electronic networks and electronic devices
US9300682B2 (en) Composite analysis of executable content across enterprise network
JP6823201B2 (ja) 分類装置、分類方法、および、分類プログラム
CN109583193A (zh) 目标攻击的云检测、调查以及消除的系统和方法
Kurogome et al. EIGER: automated IOC generation for accurate and interpretable endpoint malware detection
Buyukkayhan et al. Lens on the endpoint: Hunting for malicious software through endpoint data analysis
CN111183620B (zh) 入侵调查
US9954874B2 (en) Detection of mutated apps and usage thereof
WO2017077847A1 (ja) 解析装置、解析方法、および、解析プログラム
Kardile Crypto ransomware analysis and detection using process monitor
Patil et al. Roadmap of digital forensics investigation process with discovery of tools
JP6169497B2 (ja) 接続先情報判定装置、接続先情報判定方法、及びプログラム
US9239907B1 (en) Techniques for identifying misleading applications
Li et al. Understanding security risks of embedded devices through fine-grained firmware fingerprinting
EP3848822B1 (en) Data classification device, data classification method, and data classification program
Liu et al. A research and analysis method of open source threat intelligence data
WO2023124041A1 (zh) 一种勒索病毒检测方法以及相关系统
CA2917230C (en) Identifying misuse of legitimate objects
Mukesh et al. Real-time framework for malware detection using machine learning technique
Bo et al. Tom: A threat operating model for early warning of cyber security threats
JP6378808B2 (ja) 接続先情報判定装置、接続先情報判定方法、及びプログラム
US12079335B2 (en) System context database management
Flaglien Cross-computer malware detection in digital forensics
Al Shamsi Mapping, Exploration, and Detection Strategies for Malware Universe

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2019560805

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2018891675

Country of ref document: EP

Effective date: 20200602

NENP Non-entry into the national phase

Ref country code: DE