WO2019142398A1 - 解析装置、解析方法及び解析プログラム - Google Patents

解析装置、解析方法及び解析プログラム Download PDF

Info

Publication number
WO2019142398A1
WO2019142398A1 PCT/JP2018/034624 JP2018034624W WO2019142398A1 WO 2019142398 A1 WO2019142398 A1 WO 2019142398A1 JP 2018034624 W JP2018034624 W JP 2018034624W WO 2019142398 A1 WO2019142398 A1 WO 2019142398A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
web page
category
analysis
web
Prior art date
Application number
PCT/JP2018/034624
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/962,228 priority Critical patent/US11361073B2/en
Priority to EP18900705.7A priority patent/EP3726410B1/en
Priority to JP2019565703A priority patent/JP6714175B2/ja
Publication of WO2019142398A1 publication Critical patent/WO2019142398A1/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/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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/128Restricting unauthorised execution of programs involving web programs, i.e. using technology especially used in internet, generally interacting with a web browser, e.g. hypertext markup language [HTML], applets, java
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2119Authenticating web pages, e.g. with suspicious links

Definitions

  • the present invention relates to an analysis device, an analysis method, and an analysis program.
  • DBD Drive-By Download attacks
  • the DBD attack is an attack that uses a web browser to automatically transfer a user connected to a web page to the attack page and infect it with malware.
  • DBD attacks infect users with malware by exploiting vulnerabilities in Web browsers and plug-ins introduced to them.
  • Kirda “TrueClick: Automatically Distinguishing Trick Banners from Genuine Download Links”, ACSAC, 2014. A. Moshchuk, T. Bragin, S. D. Gribble, and H. M. Levy, “A Crawler-Based Study of Spyware on the Web", The Network and Distributed System Security Symposium, 2006.
  • Conventional web page crawling technology and web client type honeypot are techniques for analyzing the occurrence of an attack passively. For this reason, it is difficult to observe an attack that induces a user's operation, in which the conventional web page patrol technology and the web client type honeypot do not cause an attack unless the operation is performed.
  • the technology to reconfigure the transition of the Web page is a technology that observes Web traffic with a proxy server or DPI (Deep Packet Inspection), and configures an attack that guides user operations starting from malware download.
  • DPI Deep Packet Inspection
  • the present invention has been made in view of the above, and an object thereof is to provide an analysis apparatus, an analysis method, and an analysis program capable of observing an attack that induces a user operation through a Web page.
  • the analysis apparatus is an analysis apparatus that analyzes the URL of a web page, and receives an input of the URL of the web page to be analyzed.
  • a classification unit that accesses the URL of the web page and classifies the analysis target web page into a category that is an index representing a guidance method of the web page, and a detection method set in advance for the category classified by the classification unit
  • the first detection unit for detecting the operation target of the user operation from the web page to be analyzed
  • the execution unit for executing the operation on the operation target detected by the first detection unit, and the operation by the execution unit
  • a second detection unit that detects an operation event that occurs after execution of an operation on a target, a communication that is generated by an operation by the execution unit, and an operation detected by the second detection unit Vents, and the Web browser screen transition by the operation by the execution unit, and having an output unit for outputting the log data shown in association with the URL of the Web page to be analyzed.
  • FIG. 1 is a diagram showing an example of the configuration of an analysis system according to the embodiment.
  • FIG. 2 is a diagram showing an example of the configuration of the analysis device shown in FIG.
  • FIG. 3 is a diagram showing an example of the feature information extracted from the web page by the feature extraction unit shown in FIG.
  • FIG. 4 is a diagram showing an example of categories determined by the category determining unit shown in FIG.
  • FIG. 5 is a view showing an example of a detection target of a hypertext markup language (HTML) analysis unit shown in FIG.
  • FIG. 6 is a diagram showing an example of HTML source code to be analyzed.
  • FIG. 7 is a diagram showing an example of an image element to be detected.
  • FIG. 8 is a diagram showing an example of an image element output by the image analysis unit shown in FIG. FIG.
  • FIG. 9 is a diagram showing an example of overlapping web elements and image elements.
  • FIG. 10 is a diagram showing an example of insertion of overwrite processing of a JavaScript (registered trademark) function.
  • FIG. 11 is a diagram illustrating an example of an operation event, an operation target, and an operation detected by the function hook unit illustrated in FIG.
  • FIG. 12 is a diagram for explaining an iterative process including an operation on an operation target in the analysis device shown in FIG.
  • FIG. 13 is a diagram for explaining a configuration example of a browser automatic operation system to which the embodiment is applied.
  • FIG. 14 is a flowchart of the analysis procedure according to the embodiment.
  • FIG. 15 is a flowchart of the category classification process shown in FIG.
  • FIG. 16 is a diagram illustrating an example of a computer in which an analysis device is realized by execution of a program.
  • FIG. 1 is a diagram showing an example of the configuration of an analysis system according to the embodiment.
  • an analysis system 1 includes a determination device 3 and an analysis device 4 provided between the network 2 and the determination device 3.
  • the analysis device 4 is connected to an external device (not shown) via the network 2.
  • the analysis device 4 analyzes the input web page in order to specify the URL of the web page that guides the user operation.
  • the analysis device 4 actively performs an operation on the web page collected via the network 2 and observes an attack that guides a user operation via the web page.
  • the analysis device 4 detects, as an operation target, a portion on the Web page where a user operation is to be guided, and outputs, to the determination device 3, log data in which the operation target and operation content for the operation target are recorded.
  • the attack which induces a user operation is an attack which penetrates a user's psychological gap and attracts a user's own installation of malware by making a user's interest, an alert, or deception.
  • the determination device 3 refers to the log data output by the analysis device 4 to obtain malware and a browser extension function of malignant, and specifies the operation content and operation target leading to an attack. Then, the determination device 3 refers to the log data output by the analysis device 4 and determines the URL of the Web page where an attack that induces a user operation occurs. The determination device 3 generates a blacklist based on the determination result. Then, each security device (not shown) prevents the user from being infected with malware by blocking Web access to this blacklist.
  • the analysis device 4 actually accesses the URL of the web page, detects a location on the web page that guides the user operation, and actively executes the operation to trigger an attack that induces the user operation. Make observations of
  • FIG. 2 is a diagram showing an example of the configuration of the analysis device 4 shown in FIG.
  • the analysis device 4 includes a communication unit 10, a storage unit 20, and a control unit 30. Further, the analysis device 4 has an input interface (not shown) for receiving various operations from the operator, and an output device (not shown) realized by a display device, a printing device, an information communication device and the like.
  • the communication unit 10 is a communication interface that transmits and receives various information to and from another device connected via the network 2 or the like.
  • the communication unit 10 is realized by an NIC (Network Interface Card) or the like, and performs communication between the control unit 30 (described later) and another device via a telecommunication line such as a LAN (Local Area Network) or the Internet.
  • the communication unit 10 collects web pages via the network 2.
  • the communication unit 10 also outputs the observation result of the web page by the control unit 30 to the determination device 3 as a log.
  • the log indicates the communication generated by the actual operation on the operation target of the Web page, the operation event generated after execution of the operation, and the Web browser screen transitioned by the operation with the URL of the Web page to be analyzed. It is the data which it matched and showed.
  • the storage unit 20 is a storage device such as a hard disk drive (HDD), a solid state drive (SSD), or an optical disk.
  • the storage unit 20 may be a semiconductor memory capable of rewriting data such as a random access memory (RAM), a flash memory, and a non volatile static random access memory (NV SRAM).
  • the storage unit 20 stores an operating system (OS) executed by the analysis device 4 and various programs. Furthermore, the storage unit 20 stores various information used in the execution of the program.
  • the storage unit 20 is a first keyword storage unit 21, a second keyword storage unit 22, and a log data storage unit 23.
  • the first keyword storage unit 21 stores the first keyword.
  • the first keyword is a character string included in a web element such as a button or link in a web page.
  • the first keyword is set in advance for each category of the web page. For example, when the web page is a download page, "Download” can be considered as the first keyword. Also, as the first keyword, "Play Now” can be considered when the web page is a moving image page.
  • the first keyword is not limited to these strings.
  • the second keyword storage unit 22 stores a second keyword.
  • the second keyword is a character string drawn on the Web element that guides the user operation.
  • the second keyword is set for each category. For example, character strings such as “Download”, “Play Now”, “Click Here”, etc. are set as the second keyword.
  • the second keyword is not limited to these strings.
  • the log data storage unit 23 stores log data generated by the log output unit 36.
  • the log data includes the communication generated by the actual operation on the operation target for guiding the user operation on the Web page, the operation event generated after the execution of the operation, and the Web browser screen transitioned by the operation, of the Web page to be analyzed. It is the data shown in association with the URL.
  • the control unit 30 controls the entire analysis device 4.
  • the control unit 30 is, for example, an integrated circuit such as an electronic circuit such as a central processing unit (CPU) or a micro processing unit (MPU), an application specific integrated circuit (ASIC), or a field programmable gate array (FPGA).
  • the control unit 30 also has an internal memory for storing programs and control data that define various processing procedures, and executes each processing using the internal memory.
  • the control unit 30 also functions as various processing units when various programs operate.
  • the control unit 30 includes a URL input unit 31, a category classification unit 32 (classification unit), an operation target detection unit 33 (first detection unit), an operation execution unit 34 (execution unit), and a function hook unit 35 (second detection). Unit) and a log output unit 36 (output unit).
  • the URL input unit 31 receives the URL of the web page to be analyzed as an input.
  • the URL of the web page to be analyzed is input from an external device (not shown) via, for example, the network 2 and the communication unit 10.
  • the category classification unit 32 accesses the URL of the web page to be analyzed, and the web page to be analyzed represents the method of guiding the web page. Categorize into categories that are indicators.
  • the category is an index indicating a method of guiding a web page. Different categories of web pages have web elements that guide user operations of different nature.
  • the category classification unit 32 performs category classification so that the operation target detection unit 33 can select a rule for appropriately detecting a Web element to be operated in accordance with the Web page.
  • the category is, for example, a download page, an intermediate page, a social media page or an animation page.
  • the download page is a web page in which there is a download button in the web page and a file may be downloaded by performing an operation on the download button.
  • the intermediate page is a web page that arrives in the middle of redirecting to another web page, and requires an operation to the skip button or waiting for the redirect to be completed.
  • a social media page is a web page where users can post videos and messages.
  • a video page is a web page on which a streaming video is played.
  • the category is not limited to these items.
  • the category classification unit 32 classifies the switched Web page into categories.
  • the operation target detection unit 33 detects the operation target of the user operation from the analysis target Web page according to the detection method set in advance for the category classified by the category classification unit 32.
  • the operation target detection unit 33 detects the operation target from the Web page.
  • the operation target detection unit 33 detects, using the first keyword, a Web element that is different for each Web page and guides a user operation as the operation target.
  • Web elements are one of the elements that constitute HTML.
  • the operation target detection unit 33 detects, as an operation target, an image element which guides a user operation, which is different for each Web page.
  • the image element is an area that can be determined by an image processing technology typified by edge detection on the screen drawn by the Web browser.
  • the operation execution unit 34 executes an operation on the operation target detected by the operation target detection unit 33.
  • the operation execution unit 34 sequentially executes operations on the operation targets detected by the operation target detection unit 33.
  • the function hook unit 35 detects an operation event that occurs after the operation execution unit 34 performs an operation on the operation target.
  • the function hook unit 35 detects a change in the web page caused by the operation by the operation execution unit 34.
  • the function hook unit 35 overwrites a previously set JavaScript function when reading a Web page, and adds processing for notifying when the function is called.
  • the function hook unit 35 receives this notification and detects an operation event by detecting a call to a JavaScript function.
  • the log output unit 36 stores the log data in the log data storage unit 23 and outputs the log data to the determination device 3.
  • the log data includes the communication generated by the operation by the operation execution unit 34, the operation event detected by the function hook unit 35, and the Web browser screen transitioned by the operation by the operation execution unit 34 with the URL of the Web page to be analyzed. It is the data which it matched and showed.
  • the determination device 3 refers to the log data output by the analysis device 4 and determines the URL of the Web page in which an attack that induces a user operation occurs.
  • the category classification unit 32 includes a feature extraction unit 321 (extraction unit) and a category determination unit 322 (determination unit).
  • the feature extraction unit 321 extracts feature information for determining the category of the web page. Specifically, the feature extraction unit 321 accesses the URL of the Web page to be analyzed. Then, the feature extraction unit 321 extracts communication destination information of the accessed web page, HTML source code information, or screen information of the web browser screen as feature information. The feature extraction unit 321 extracts a URL or a domain name as communication destination information of the web page.
  • FIG. 3 is a diagram showing an example of the feature information extracted from the Web page by the feature extraction unit 321 shown in FIG.
  • the characteristic information of the web page includes communication destination information such as domain name and URL, presence or absence of video tag, and a specific character string representing an intermediate page etc. (for example, “Wait 5 seconds” HTML source code information such as the presence or absence of), and image information such as the height of a page rendered on a Web browser.
  • the feature extraction unit 321 sets “1” as the feature information when there is a tag and “0” when there is no specific character string.
  • the feature information is not limited to these items.
  • the feature extraction unit 321 determines that the domain name is “movie.example.com” and the video tag is “1” from the web page that is the URL “http://movie.example.com/” to which the web access has been made. , Page height “1700”, “0” indicating that there is no “Wait 5 seconds” character string is extracted (see serial number “1”).
  • the category determination unit 322 determines the category of the web page based on the feature amount extracted by the feature extraction unit 321.
  • the category determination unit 322 classifies the Web page into, for example, a download page, an intermediate page, a social media page, a moving image page, or a basic page, based on the feature amount extracted by the feature extraction unit 321.
  • the category determination unit 322 classifies the web page of this URL as a social media page.
  • the category determining unit 322 classifies the web page of this URL as a moving image page.
  • the category determination unit 322 classifies the Web page of this URL as the intermediate page. In addition, if the height of the web page is equal to or more than a predetermined threshold, the category determination unit 322 classifies the web page of this URL as a download page. Then, the category determination unit 322 classifies Web pages not classified into categories other than the above into basic pages.
  • FIG. 4 is a diagram showing an example of categories determined by the category determining unit 322 shown in FIG.
  • the category determination unit 322 classifies the URL “http://movie.example.com/” in which the video tag is present in the HTML source code as a moving image page (see serial number “2”).
  • the category determination unit 322 classifies the web page of the URL “http://download.example.com/” whose height of the web page is the predetermined threshold or more as the download page (see serial number “3”).
  • the category determination unit 322 classifies the web page of the URL “http://redirect.example.com/” in which the character string representing the intermediate page exists in the HTML source code as the intermediate page (see serial number “4”). ). The category determination unit 322 classifies the web page of the URL “http://social.example.com/” whose domain name matches the domain name of the social media site whose domain name is known as a social media page (see serial number “5”). ). Then, the category determining unit 322 classifies the web page of the web page URL “http://www.movie.example.com/” that is not classified into any other category as the basic page (see serial number “1”).
  • the present invention is not limited to this.
  • a web page having the nature of a plurality of categories it is possible to flexibly cope with the category classification by extending the category like a mixed category ("download + moving image" category) .
  • the operation target detection unit 33 includes an HTML analysis unit 331 (first analysis unit), an image analysis unit 332 (second analysis unit), and an operation target aggregation unit 333 (aggregation unit).
  • the HTML analysis unit 331 extracts a Web element including a predetermined character string from the HTML source code extracted by the feature extraction unit 321 by performing a character string search.
  • the predetermined character string is a character string set in advance for the category classified by the category classification unit 32.
  • the web element is one of the elements constituting HTML.
  • the HTML analysis unit 331 uses a CSS selector function implemented in a browser or a tool that performs browser operation in order to detect a web element in HTML.
  • XPath as a function for detecting web elements as well as CSS selectors.
  • the HTML analysis unit 331 uses an XPath function to detect a web element in HTML.
  • the HTML analysis unit 331 uses a CSS selector or XPath with the character string included in the text content surrounded by the properties and tags of the web element as the first keyword in order to detect the web element that guides the user operation. Execute the search.
  • the first keyword is set in advance for each category of web page, and is stored in the first keyword storage unit 21. For example, as the first keyword, "Download” is considered when the category is a download page, and "Play Now" is considered when the category is a moving image page.
  • the HTML analysis unit 331 can appropriately detect a web element that induces a user operation, which differs for each web page, by searching the HTML source code for the first keyword set for each category.
  • the function for searching web elements is not limited to CSS selectors and XPath.
  • FIG. 5 is a diagram showing an example of a detection target of the HTML analysis unit 331 shown in FIG.
  • the HTML analysis unit 331 sets “// * [contains (text (), 'Play Now']” as the search condition of the XPath. )]] (See serial number "4").
  • the CSS selector and the XPath to be used as the detection target are not limited to the examples shown in the figure.
  • FIG. 6 is a diagram showing an example of HTML source code to be analyzed.
  • the image analysis unit 332 performs image processing and character string search on an image element including a character string set in advance for the category classified by the category classification unit 32 from the screen information of the Web browser screen extracted by the feature extraction unit 321. Do and extract.
  • FIG. 7 is a diagram showing an example of an image element to be detected.
  • an area that can be determined by an image processing technology typified by edge detection is used as an image element.
  • the image analysis unit 332 In order to detect an operation target for guiding a user operation as an image element, the image analysis unit 332 first uses an existing image processing technology to set an area where the outline and area size match for each category of the Web page. Extract.
  • the contour to be detected is a graphic common to Web elements that guide operations by making the user visually noticeable. An example of the detected contour will be described for each category. For example, if the category is a download page, a rectangle serving as a download button can be considered as an outline to be detected. When the category is a moving image page, a triangle serving as a moving image reproduction button can be considered as an outline to be detected.
  • These contours are an example, and the contours to be detected are not limited to these.
  • the image analysis unit 332 extracts regions G1 to G4 in which the region size matches the contours indicating circles, ovals, rectangles, and triangles preset for each category of the web page.
  • the image analysis unit 332 outputs the extracted area as an image, and extracts a character string in the image using the existing optical character recognition technology.
  • the image analysis unit 332 outputs the extracted image as the image element of the operation target.
  • the second keyword is a character string drawn in the Web element that guides the user operation, and is set for each category.
  • the second keyword is stored in the second keyword storage unit 22. For example, “Download”, “Play Now", and “Click Here" can be considered as the second keyword.
  • the image analysis unit 332 outputs an area G1 including “Click Here”, an area G2 including “Play Now”, and an area G3 including “Download” as an image element to be operated. Further, as shown in FIG. 7, the image analysis unit 332 outputs an area G4 including a triangle serving as a moving image reproduction button as an operation target image element.
  • FIG. 8 is a view showing an example of an image element output by the image analysis unit 332 shown in FIG.
  • the image analysis unit 332 detects the horizontal (coordinates), vertical (coordinates), width (area size) and height (area size) which are information representing the image area of the image element. It is output in association with the used second keyword.
  • the information representing the image area of the image element is not limited to these items.
  • the image analysis unit 332 sets “100” horizontal, “300 vertical”, “300 width”, and “high” as information of image elements in the area G3 (see FIG. 7) including “Download”. "600” and the second keyword "Download” are output.
  • the operation target aggregation unit 333 integrates the Web element extracted by the HTML analysis unit 331 and the image element extracted by the image analysis unit 332 and determines it as an operation object. For example, the operation target aggregation unit 333 outputs the operation target by excluding the overlap between the extracted Web element and the image element.
  • the operation target aggregation unit 333 compares the area of the Web element with the image element area, and sets the ratio of the area of the overlapping area to the area of the smaller area as the overlapping rate. The operation target aggregation unit 333 determines that the Web element and the image element are the same operation target when the overlapping rate exceeds a preset threshold. Then, the operation target aggregation unit 333 eliminates image elements from overlapping Web elements and image elements, and outputs only Web elements as operation targets.
  • FIG. 9 is a diagram showing an example of overlapping web elements and image elements.
  • the threshold value of the overlap rate is set to 70%.
  • the operation target aggregation unit 333 calculates that the overlapping ratio is 80% of the area (50000 px) of the Web element 1 having a small area, and determines that the image element 1 and the Web element 1 overlap. . Then, the operation target aggregation unit 333 excludes the image element 1 from the image element 1 and the Web element 1, and outputs the Web element 1 as the operation target.
  • the operation execution unit 34 executes an operation on the operation target detected by the operation target detection unit 33.
  • the operation execution unit 34 performs an operation on the operation target indicated on the analysis target Web page.
  • the operation executed by the operation execution unit 34 may be a click on the operation target detected by the operation target detection unit 33, an operation of returning the browser history, or the like. The operation is not limited to these.
  • the function hook unit 35 detects the change of the Web page caused by the operation by the operation execution unit 34, the function overwrite unit 351 (overwrite unit), and the function call detection unit 352 (third detection unit). And.
  • the function overwriting unit 351 overwrites the JavaScript function at the start of reading the web page to be analyzed, and adds a process of notifying the function call detection unit 352 of the argument input to the JavaScript function.
  • the function hook unit 35 creates, in advance, JavaScript source code for inserting, into a JavaScript function related to an operation event that induces a user operation, an argument that is input at the moment the function is called to the browser extension function. Do.
  • the function overwrite unit 351 overwrites the JavaScript function on the HTML source code of the Web page to be analyzed.
  • FIG. 10 is a diagram showing an example of insertion of overwrite processing of a JavaScript function.
  • the created JavaScript source code is inserted as a Script tag at the beginning of the HTML source code of the Web page at the start of reading each time the Web browser reads the Web page, Add an extension of.
  • an alert function relating to an operation event for inducing a user operation
  • a confirm function or a function for installing a browser extension function can be considered, but it is not limited to these items.
  • the function call detection unit 352 receives the notification, acquires an argument input to the JavaScript function when the JavaScript function related to the operation event that induces the user operation is called, and detects the operation event. In other words, the function call detection unit 352 detects that the overwritten JavaScript function has been called. It can be said that the JavaScript function that has been overwritten is called when an operation event that induces a user operation occurs.
  • the function hook unit 35 can detect the occurrence of the operation event that induces the user operation by the detection process of the function call detection unit 352. That is, the function hook unit 35 detects a change in the Web page caused by the operation by the operation execution unit 34. As will be described later, in the log data by the log output unit 36, the occurrence of an operation event for guiding the user operation and the operation content and operation target led to the operation event for guiding the user operation in this case are associated with each other. It is recorded.
  • the log output unit 36 includes a communication recording unit 361, an event recording unit 362, and an image capture recording unit 363.
  • the communication recording unit 361 records the communication generated by the operation by the operation execution unit 34 for web page analysis in conjunction with the detection of the operation event by the function hook unit 35.
  • the event recording unit 362 records the operation event detected by the function hook unit 35 in conjunction with the detection of the operation event by the function hook unit 35.
  • the image capture recording unit 363 records the Web browser screen transitioned by the operation by the operation execution unit 34.
  • the log output unit 36 associates the communication recorded by the communication recording unit 361, the event recorded by the event recording unit 362, and the Web browser screen recorded by the image capture recording unit 363 with the URL of the Web page to be analyzed. Output the log data shown.
  • FIG. 11 is a diagram illustrating an example of an operation event, an operation target, and an operation detected by the function hook unit 35 illustrated in FIG.
  • the event recording unit 362 performs the operation performed immediately before by the operation execution unit 34. , The operation target, and the URL of the Web page on which the operation has been performed.
  • the operation event is an event of the Web browser that is generated due to the operation by the operation execution unit 34, and file download, installation of a browser extension function, and display of an alert dialog can be considered.
  • the operation event is not limited to these items.
  • information indicating the target on which the operation execution unit 34 has performed an operation is recorded. For example, the coordinates of the operation target, the area size, and the actual image are recorded in the item of the operation target.
  • various operations such as click and return operations are recorded.
  • the URL the URL of the Web page on which the operation execution unit 34 has performed the operation is recorded.
  • the category classification unit 32 classifies the category each time the Web page to be analyzed is switched. Then, in the analysis device 4, when the category of the web page is classified, the manipulation target detection unit 33 detects the manipulation target from the web page, and the manipulation execution unit 34 sequentially executes the manipulation on each manipulation target. . Then, in the analysis device 4, the operation on the operation target and each process required until this operation are repeatedly and recursively executed until a predetermined termination condition is reached. Then, in the analysis device 4, each time an operation is performed, an operation event that occurs after the operation execution unit 34 performs an operation on the operation target is detected.
  • the analysis device 4 recursively repeats the category classification of the Web page, the detection of the operation target, and the operation of the Web page with respect to the changed page. Changes in web pages may include changes in HTML structure and transitions to different web pages, but are not limited to these items.
  • the analysis device 4 moves to the Web page before the transition and does not execute the operation when the number of recursion preset in the middle of the recursion is exceeded or the operation target is not detected. Operate on the operation target. Then, as the end condition, for example, it is set that the operation on all the operation targets in the root page is completed. Therefore, when the operation on all the operation targets in the root page is completed, the analysis device 4 ends the analysis of the web page.
  • FIG. 12 is a diagram for explaining an iterative process including an operation on an operation target in the analysis device 4 shown in FIG.
  • the root page "root” is shown at the top.
  • the root page "root” has a "Download” button, a "Play” button, and a “Click” button as an operation target.
  • the operation execution unit 34 moves to the web page “1” when the “Download” button is operated.
  • the category classification unit 32 classifies the category with respect to the Web page “1”, and the operation target detection unit 33 detects the operation target.
  • the operation execution unit 34 sequentially executes the operation on the operation target of the web page “1”.
  • the Web page "1-1” is moved.
  • the category classification unit 32 classifies the categories for the Web page “1-1”
  • the operation target detection unit 33 detects an operation target
  • the operation execution unit 34 operates one of the operation targets. Run.
  • the analysis device 4 moves to the Web page “1” before transition, and executes the operation on the other operation target of the Web page “1”. Then, when moving to the Web page “1-2”, the analysis device 4 similarly performs category classification, operation target detection, and operation execution.
  • the analysis device 4 when the process is completed for all the operation targets of the web page “1”, the process returns to the root page “root” and operates the “Play” button to transit the transition web page “2 Similarly, category classification, operation target detection, and operation execution are performed.
  • the analysis device 4 classifies the categories, detects the operation target, and executes the operation until the operation on all the operation targets in the route page is completed. That is, the category classification unit 32, the operation target detection unit 33, the operation execution unit 34, and the function hook unit 35 end the processing when the end condition set in advance is reached. Then, when the operation on all the operation targets in the root page is completed, the analysis of the web page is ended.
  • FIG. 13 is a diagram for explaining a configuration example of a browser automatic operation system to which the embodiment is applied.
  • the analysis device 4 for example, there is a configuration in which software for operating the web browser M1 and a function implemented by the browser extension function are provided.
  • processing for operating the web browser is set in advance using software W1 that automates the browser operation.
  • the function hook unit 35, the communication recording unit 361, and the event recording unit 362 are implemented by the browser extended function W2.
  • both the function for operating the Web browser and the function implemented by the browser extension perform the operation performed and the operation performed by reading and writing the log to the log recording page. As a result, correspondence with the operation event that has occurred can be made. Then, the log output unit 36 outputs the log data.
  • the software for automating the browser operation may be the browser operation automation tool Selenium. Software that automates browser operation is not limited to this.
  • application of software capable of describing operation processing of the Web browser enables reduction of development cost by simplification of operation setting, file input / output operation, and cooperation with external tools. become.
  • the Web browser extended function is applied to acquire the communication log that can not be acquired by the above software and the operation event on the Web browser.
  • FIG. 14 is a flowchart of the analysis procedure according to the embodiment.
  • step S1 when the URL input unit 31 receives the input of the URL of the web page to be analyzed (step S1), the web browser is started using the browser automatic operation system shown in FIG. Step S2), start the web page analysis process. Then, in the function hook unit 35, the function overwrite unit 351 performs function overwrite processing to overwrite the JavaScript function on the HTML source code of the Web page to be analyzed (step S3).
  • the category classification unit 32 accesses the URL of the web page to be analyzed, and performs category classification processing to classify the web page to be analyzed into categories (step S4).
  • the operation target detection unit 33 detects the operation target of the user operation from the analysis target web page according to the detection method set in advance for the category classified by the category classification unit 32 (step S5).
  • the HTML analysis unit 331 extracts a Web element including a predetermined character string from the HTML source code by performing a character string search, and the image analysis unit 332 converts the screen information of the Web browser screen into a category.
  • the image element including the character string set in advance is extracted by performing image processing and character string search.
  • the operation target aggregation unit 333 excludes overlapping Web elements and image elements.
  • the analysis device 4 performs the operation on the operation target, and if there is a change in the web page after the operation, the category classification of the web page is recursively performed on the changed page. , Operation target detection, repeat the operation of the web page.
  • the operation execution unit 34 determines whether there is an unoperated operation target among the operation targets detected by the operation target detection unit 33 for the analysis target Web page (step S6). When it is determined that there is an unoperated operation target (step S6: Yes), the operation execution unit 34 executes an operation on the operation target (step S7). Then, the function hook unit 35 determines whether or not the change of the Web page caused by the operation by the operation execution unit 34 occurs in the detection by the function call detection unit 352 (step S8).
  • step S9 the end condition is met.
  • the termination condition is, for example, a case where operations on all operation targets in the root page are completed. If the operation execution unit 34 determines that the end condition is not met (step S9: No), the window to be analyzed is switched (step S10), and the process proceeds to step S3.
  • the function overwrite unit 351 performs function overwrite processing to overwrite the JavaScript function on the HTML source code of the switched web page.
  • step S8 determines that the change of the Web page does not occur (step S8: No), or when the operation execution unit 34 determines that the end condition is met (step S9: Yes), Return to S6.
  • step S6 determines whether the current page is a root page (step S11).
  • step S11 determines that the current page is not the root page (step S11: No)
  • step S12 the operation execution unit 34 returns to the window before switching (step S12). The processes in steps S6, S11, and S12 are repeated until the page returns to the root page.
  • the log output unit 36 detects the operation event detected by the function hook unit 35 and the operation target detection unit 33.
  • the detected operation target is correlated (step S13), log data including the correlated operation event and the operation target is output (step S14), and the process is ended.
  • the log data is data indicating the operation event and the operation target, as well as the Web browser screen transitioned by the operation of the operation execution unit 34 in association with the URL of the Web page to be analyzed.
  • FIG. 15 is a flowchart of the category classification process shown in FIG.
  • the feature extraction unit 321 accesses the URL of the Web page to be analyzed, and the communication destination information of the accessed Web page, HTML source code information, or screen information of the Web browser screen Are extracted as feature information (step S21).
  • the category determination unit 322 uses a predetermined classification rule based on the feature amount extracted by the predetermined feature extraction unit 321 in order to determine the category of the Web page. For example, the category determining unit 322 determines the category of the web page using the following determination rules.
  • the category determination unit 322 determines whether the feature information matches the domain name of a known social media site (step S22). If the category determination unit 322 determines that the feature information matches the domain name of the known social media site (step S22: Yes), the category of the web page is classified into the social media page (step S23), End the process.
  • step S22 determines that the feature information does not match the domain name of the known social media site (step S22: No), whether the video tag is present in the HTML source code extracted as the feature information It is determined (step S24).
  • step S24 If the category determination unit 322 determines that the video tag is present in the HTML source code extracted as the feature information (step S24: Yes), the category of the web page is classified into a moving image page (step S25). finish.
  • the category determination unit 322 determines that the video tag does not exist in the HTML source code extracted as the feature information (Step S24: No)
  • the character string representing the intermediate page exists in the HTML source code extracted as the feature information It is determined whether or not to do (step S26).
  • the character string representing the intermediate page is, for example, “Wait 5 seconds” or “Skip Ad”. If the category determining unit 322 determines that the character string representing the intermediate page is present in the HTML source code extracted as the feature information (step S26: Yes), the category of the web page is classified into the intermediate page (step S27). ), End the process.
  • step S26 determines whether the height of the Web page is equal to or greater than a preset threshold It is determined whether or not it is (step S28). If the category determination unit 322 determines that the height of the web page is equal to or greater than the preset threshold (step S28: Yes), the category of the web page is classified into the download page (step S29). Finish. If the category determining unit 322 determines that the height of the Web page is not greater than or equal to the preset threshold (Step S28: No), the category of the Web page is classified as a basic page (Step S30). End the process.
  • the analysis device 4 accesses the URL of the target web page, and classifies the analysis target web page into a category that is an index representing a method of guiding the web page. Then, the analysis device 4 detects the operation target of the user operation from the analysis target Web page according to the detection method set in advance for the classified category. Then, the analysis device 4 performs an operation on the detected operation target, and detects an operation event that occurs after the operation on the operation target is performed. Then, the analysis device 4 outputs log data in which the communication generated by the operation, the detected operation event, and the Web browser screen transitioned by the operation are associated with the URL of the Web page to be analyzed.
  • the analysis device 4 accesses the URL of the target web page, and classifies the analysis target web page into a category that is an index representing a method of guiding the web page, thereby generating a large number of web pages.
  • the operation target can be appropriately detected from the operable area. Then, the analysis device 4 actually operates the detected operation target, and detects the presence or absence of the occurrence of an operation event for guiding the user operation for each operation. As a result, according to the analysis device 4, it is possible to accurately and efficiently specify the operation that is the starting point of the attack and the operation target.
  • the analysis device 4 can observe an attack that guides the user's operation through the Web page. Further, the analysis device 4 outputs log data as an observation result. For this reason, in the determination device 3, it is possible to specify the operation that is the starting point for guiding the user operation to the attack and the operation target using the log data.
  • the category classification unit 32 actually accesses the URL of the web page to be analyzed, and the communication destination information of the accessed web page, the HTML source code information or the screen information of the web browser screen is used as the feature information. Extract. Then, the analysis device 4 analyzes the Web page based on the extracted feature amount to determine the method of detecting the operation target that is the starting point of the attack that guides the user operation and the operation to be performed on the detection method. , It will be possible to determine the web category.
  • the operation target detection unit 33 performs a character string search and extracts a Web element including a character string set in advance for the category from the extracted HTML source code. Then, the operation target detection unit 33 performs image processing and character string search to extract an image element including a character string set in advance for the category from the extracted screen information of the Web browser screen. That is, in the analysis device 4, by changing the detection method of the operation target for each of the classified categories, there is a possibility that it becomes the starting point of an attack that guides the user operation from many operable areas present in the web page. Operation object of the above can be properly extracted.
  • the operation target detection unit 33 aggregates the extracted Web elements and the image elements and determines them as the operation target, duplication of the operation target can be avoided. As a result, according to the analysis device 4, the operation on the operation target having a high possibility of inducing an attack can be efficiently implemented, and the analysis time can be reduced.
  • the analysis device 4 sequentially executes an operation on the extracted operation target, and detects a change in the Web page caused by the operation in response to the execution of the operation. Then, the analysis device 4 can appropriately observe the operation content and the operation target leading to the attack by repeating the classification of the web page, the detection of the operation target, and the execution of the operation to the operation target. Also, with the analysis device 4, it is possible to select the optimum operation according to the analysis stage by iterative processing, so that complex attacks that induce multiple operations can be triggered, and these complex attacks can be achieved. It is possible to accurately observe each process of
  • the function hook unit 35 overwrites the JavaScript function at the start of reading of the Web page to be analyzed, and adds a process of notifying the JavaScript function of the input argument. Then, the function hook unit 35 receives the notification, acquires an argument input to the JavaScript function when the JavaScript function related to the operation event inducing the user operation is called, and detects the operation event. That is, the function hook unit 35 can obtain an argument input to the JavaScript function at the moment when the function is called, whereby a function that may be related to an operation event that induces a user operation is an attack purpose. It can be used to analyze
  • each device is functionally conceptual and do not necessarily have to be physically configured as illustrated. That is, the specific form of the dispersion and integration of each device is not limited to that shown in the drawings, and all or a part thereof is functionally or physically dispersed in any unit depending on various loads, usage conditions, etc. It can be integrated and configured. Furthermore, all or any part of each processing function performed by each device may be realized by a CPU and a program analyzed and executed by the CPU, or may be realized as wired logic hardware.
  • FIG. 16 is a diagram illustrating an example of a computer in which the analysis device 4 is realized by executing a program.
  • the computer 1000 includes, for example, a memory 1010 and a CPU 1020.
  • the computer 1000 also includes a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. These units are connected by a bus 1080.
  • the memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM 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.
  • the serial port interface 1050 is connected to, for example, a mouse 1110 and a keyboard 1120.
  • the video adapter 1060 is connected to, for example, the display 1130.
  • 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, a program defining each process of the analysis device 4 is implemented as a program module 1093 in which a computer-executable code is described.
  • the program module 1093 is stored, for example, in the hard disk drive 1090.
  • a program module 1093 for executing the same process as the functional configuration in the analysis device 4 is stored in the hard disk drive 1090.
  • the hard disk drive 1090 may be replaced by an SSD.
  • the setting data used in the process of the above-described embodiment is stored as program data 1094 in, for example, the memory 1010 or the hard disk drive 1090. Then, the CPU 1020 reads out the program module 1093 and the program data 1094 stored in the memory 1010 and the hard disk drive 1090 to the RAM 1012 as needed, and executes them.
  • the program module 1093 and the program data 1094 are not limited to being stored in the hard disk drive 1090, and may be stored in, for example, a removable storage medium and read by the CPU 1020 via the disk drive 1100 or the like. Alternatively, the program module 1093 and the program data 1094 may be stored in another computer connected via a network (LAN, WAN (Wide Area Network), etc.). The program module 1093 and the program data 1094 may be read by the CPU 1020 from another computer via the network interface 1070.
  • LAN Local Area Network
  • WAN Wide Area Network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

解析装置(4)は、解析対象のWebページのURLにアクセスし、解析対象のWebページをカテゴリに分類するカテゴリ分類部(32)と、分類されたカテゴリに対し予め設定された検出方法にしたがい、解析対象のWebページから、ユーザ操作の操作対象を検出する操作対象検出部(33)と、検出された操作対象に対して操作を実行する操作実行部(34)と、操作対象への操作の実行後に発生する操作イベントを検出する関数フック部(35)と、操作によって発生した通信、検出された操作イベント、及び、操作によって遷移したWebブラウザ画面を、解析対象のWebページのURLと対応付けて示したログデータを出力するログ出力部(36)と、を有する。

Description

解析装置、解析方法及び解析プログラム
 本発明は、解析装置、解析方法及び解析プログラムに関する。
 悪意のあるソフトウェアの総称であるマルウェアの感染は、ユーザのWebページ閲覧に起因することが多い。このマルウェアのユーザへの侵入の際に、ドライブ・バイ・ダウンロード(Drive-By Download:DBD)攻撃が用いられる。DBD攻撃は、Webブラウザを用いて、Webページに接続したユーザを、自動で攻撃ページに転送し、マルウェアに感染させる攻撃である。DBD攻撃は、Webブラウザやそれに導入されるプラグインの脆弱性を悪用してユーザにマルウェアを感染させる。
 DBD攻撃を発生させるWebページを分析するために、Webページを巡回する手法の他に、脆弱性を内包するおとりのシステムであるWebクライアント型ハニーポットを使用する方法がある。この方法では、Webクライアント型ハニーポットを用いてWebページを分析し、DBD攻撃を発生する悪性なWebページであると判明した場合、そのWebページのURL(Uniform Resource Locator)、ドメイン名、IP(Internet Protocol)アドレスを代表とする通信先情報をブラックリストとして設定する。そして、各セキュリティ装置は、このブラックリストに対するWebアクセスを遮断することによって、ユーザがマルウェアに感染することを防止する。
L. Invernizzi, P. M. Comparetti, S. Benvenuti, C. Kruegel, M. Cova, and G. Vigna, "EVILSEED: A Guided Approach to Finding Malicious Web Pages", IEEE S&P., pp.428-442, 2012. T. Nelms, R. Perdisci, M. Antonakakis, and M. Ahamad, "Towards Measuring and Mitigating Social Engineering Software Download Attacks", USENIX Security Symposium, pp.773-789, 2016. S. Duman, K. Onarlioglu, A. O. Ulusoy, W. Robertson, and E. Kirda, "TrueClick: Automatically Distinguishing Trick Banners from Genuine Download Links", ACSAC, 2014. A. Moshchuk, T. Bragin, S. D. Gribble, and H. M. Levy, "A Crawler-based Study of Spyware on the Web", The Network and Distributed System Security Symposium, 2006.
 悪性Webページの通信先情報を示すブラックリストを生成するためには、Webページを解析して、Webページを経由した攻撃の発生の有無を分析する必要がある。
 ここで、Webページ上には多数の操作可能な箇所が存在し、それらに対するユーザの操作が起点となってマルウェアをダウンロードさせる攻撃が存在する。また、Webページの遷移やWebページ構造の変更を行い、複数の操作を誘導する攻撃も存在する。
 従来のWebページ巡回技術やWebクライアント型ハニーポットは、攻撃の発生を受動的に解析する技術である。このため、従来のWebページ巡回技術やWebクライアント型ハニーポットでは、操作を実施しなければ攻撃が発生しない、ユーザ操作を誘導する攻撃を観測することが難しい。
 また、Webページの遷移を再構成する技術がある。このWebページの遷移を再構成する技術は、プロキシサーバやDPI(Deep Packet Inspection)でWebトラヒックを観測し、マルウェアのダウンロードを起点として、ユーザ操作を誘導する攻撃を構成する技術であるしかしながら、Webページの遷移を再構成する技術では、多数あるユーザの操作内容や操作対象を正確に再現することができず、ユーザ操作を誘導する攻撃を観測することが難しい。
 このように、従来の技術では、ユーザ操作を誘導する攻撃の観測を行うことが難しく、Webページを経由した攻撃の発生の有無を分析することが困難であった。
 本発明は、上記に鑑みてなされたものであって、Webページを介してユーザ操作を誘導する攻撃を観測することができる解析装置、解析方法及び解析プログラムを提供することを目的とする。
 上述した課題を解決し、目的を達成するために、本発明に係る解析装置は、WebページのURLを解析する解析装置であって、解析対象のWebページのURLの入力を受け付けると、解析対象のWebページのURLにアクセスし、該解析対象のWebページを、Webページの誘導方法を表す指標であるカテゴリに分類する分類部と、分類部が分類したカテゴリに対して予め設定された検出方法にしたがい、解析対象のWebページから、ユーザ操作の操作対象を検出する第1の検出部と、第1の検出部が検出した操作対象に対して操作を実行する実行部と、実行部による操作対象への操作の実行後に発生する操作イベントを検出する第2の検出部と、実行部による操作によって発生した通信、第2の検出部において検出された操作イベント、及び、実行部による操作によって遷移したWebブラウザ画面を、解析対象のWebページのURLと対応付けて示したログデータを出力する出力部と、を有することを特徴とする。
 本発明によれば、Webページを介してユーザ操作を誘導する攻撃を観測することができる。
図1は、実施の形態における解析システムの構成の一例を示す図である。 図2は、図1に示す解析装置の構成の一例を示す図である。 図3は、図2に示す特徴抽出部がWebページから抽出した特徴情報の一例を示す図である。 図4は、図2に示すカテゴリ決定部が決定するカテゴリの一例を示す図である。 図5は、図2に示すHTML(Hypertext Markup Language)解析部の検出対象の一例を示す図である。 図6は、解析対象のHTMLソースコードの一例を示す図である。 図7は、検出対象の画像エレメントの一例を示す図である。 図8は、図2に示す画像解析部が出力する画像エレメントの一例を示す図である。 図9は、重複するWebエレメントと画像エレメントとの一例を示す図である。 図10は、JavaScript(登録商標)関数の上書き処理の挿入の一例を示す図である。 図11は、図2に示す関数フック部が検出した操作イベント、操作対象及び操作の例を示す図である。 図12は、図2に示す解析装置における操作対象への操作を含む繰り返し処理を説明する図である。 図13は、実施の形態を適用したブラウザ自動操作システムの構成例を説明する図である。 図14は、実施の形態に係る解析処理の処理手順を示すフローチャートである。 図15は、図14に示すカテゴリ分類処理の処理手順を示すフローチャートである。 図16は、プログラムが実行されることにより、解析装置が実現されるコンピュータの一例を示す図である。
 以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施の形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
[実施の形態]
 本発明の実施の形態について説明する。図1は、実施の形態における解析システムの構成の一例を示す図である。
 図1に示すように、実施の形態に係る解析システム1は、判定装置3と、ネットワーク2と判定装置3との間に設けられた解析装置4とを有する。解析装置4は、ネットワーク2を介して、外部装置(不図示)と接続する。
 解析装置4は、ユーザ操作を誘導するWebページのURLを特定するために、入力されたWebページを解析する。解析装置4は、ネットワーク2を介して収集したWebページに対して能動的に操作を実施して、Webページを介してユーザ操作を誘導する攻撃を観測する。解析装置4は、Webページ上のユーザ操作を誘導する箇所を操作対象として検出し、操作対象や、操作対象に対する操作内容を記録したログデータを、判定装置3に出力する。なお、ユーザ操作を誘導する攻撃は、ユーザの興味を引いたり、警告したり、欺いたりすることによって、ユーザの心理的な隙を突き、ユーザ自らにマルウェアをインストールさせる攻撃である。
 判定装置3は、解析装置4が出力したログデータを参照し、マルウェアや悪性のブラウザ拡張機能を取得するとともに、攻撃に繋がる操作内容や操作対象を特定する。そして、判定装置3は、解析装置4が出力したログデータを参照し、ユーザ操作を誘導する攻撃が発生するWebページのURLを判別する。判定装置3は、判別結果を基にブラックリストを生成する。そして、各セキュリティ装置(不図示)は、このブラックリストに対するWebアクセスを遮断することによって、ユーザがマルウェアに感染することを防止する。
 ここで、攻撃者にとって、ユーザ操作を誘導する攻撃は、攻撃を発動させるユーザ操作をどれだけ発生させるかが重要である。この観点で、デジタルデータのダウンロードボタンを表示することによる誘導は広く行われていると考えられる。解析装置4は、実際にWebページのURLにアクセスし、Webページ上のユーザ操作を誘導する箇所を検出し、能動的に操作を実行することによって、ユーザ操作を誘導する攻撃を誘発させて攻撃の観測を行う。
[解析装置の構成]
 次に、解析装置4の構成について説明する。図2は、図1に示す解析装置4の構成の一例を示す図である。図2に示すように、解析装置4は、通信部10、記憶部20及び制御部30を有する。また、解析装置4は、操作者からの各種操作を受け付ける入力インタフェース(不図示)や、表示装置、印刷装置、情報通信装置等によって実現された出力装置(不図示)を有する。
 通信部10は、ネットワーク2等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースである。通信部10は、NIC(Network Interface Card)等で実現され、LAN(Local Area Network)やインターネットなどの電気通信回線を介した他の装置と制御部30(後述)との間の通信を行う。例えば、通信部10は、ネットワーク2を介して、Webページを収集する。また、通信部10は、制御部30によるWebページの観測結果を、ログとして判定装置3に出力する。具体的には、ログは、Webページの操作対象に対する実際の操作によって発生した通信、操作の実行後に発生する操作イベント、及び、操作によって遷移したWebブラウザ画面を、解析対象のWebページのURLと対応付けて示したデータである。
 記憶部20は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光ディスク等の記憶装置である。なお、記憶部20は、RAM(Random Access Memory)、フラッシュメモリ、NVSRAM(Non Volatile Static Random Access Memory)等のデータを書き換え可能な半導体メモリであってもよい。記憶部20は、解析装置4で実行されるOS(Operating System)や各種プログラムを記憶する。さらに、記憶部20は、プログラムの実行で用いられる各種情報を記憶する。記憶部20は、第1キーワード記憶部21、第2キーワード記憶部22及びログデータ記憶部23である。
 第1キーワード記憶部21は、第1キーワードを記憶する。第1キーワードは、Webページ内のボタンやリンクなどのWebエレメント内に含まれる文字列である。第1キーワードは、予めWebページのカテゴリごとに設定される。例えば、第1キーワードとして、Webページがダウンロードページである場合には「Download」が考えられる。また、第1キーワードとして、Webページが動画ページである場合には「Play Now」が考えられる。第1キーワードは、これらの文字列に限るものではない。カテゴリごとに第1キーワードが設定されることによって、操作対象検出部33(後述)は、Webページごとに異なるユーザ操作を誘導するWebエレメントを、操作対象として、適切に検出することができる。
 第2キーワード記憶部22は、第2キーワードを記憶する。第2キーワードは、ユーザ操作を誘導するWebエレメントに描画されている文字列である。第2キーワードは、カテゴリごとに設定される。例えば、第2キーワードとして、「Download」、「Play Now」、「Click Here」等の文字列が設定される。第2キーワードは、これらの文字列に限るものではない。カテゴリごとに第2キーワードが設定されることによって、操作対象検出部33(後述)は、Webページごとに異なるユーザ操作を誘導する画像エレメントを、操作対象として、適切に検出することができる。
 ログデータ記憶部23は、ログ出力部36によって生成されたログデータを記憶する。ログデータは、Webページ上のユーザ操作を誘導する操作対象に対する実際の操作によって発生した通信、操作の実行後に発生した操作イベント、及び、操作によって遷移したWebブラウザ画面を、解析対象のWebページのURLと対応付けて示したデータである。
 制御部30は、解析装置4全体を制御する。制御部30は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路である。また、制御部30は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部30は、各種のプログラムが動作することにより各種の処理部として機能する。制御部30は、URL入力部31、カテゴリ分類部32(分類部)、操作対象検出部33(第1の検出部)、操作実行部34(実行部)、関数フック部35(第2の検出部)及びログ出力部36(出力部)を有する。
 URL入力部31は、解析対象のWebページのURLを入力として受け付ける。解析対象のWebページのURLは、例えば、ネットワーク2及び通信部10を介して、外部装置(不図示)から入力される。
 カテゴリ分類部32は、URL入力部31が解析対象のWebページのURLの入力を受け付けると、解析対象のWebページのURLにアクセスし、該解析対象のWebページを、Webページの誘導方法を表す指標であるカテゴリに分類する。カテゴリは、Webページの誘導方法を表す指標である。カテゴリの異なるWebページは、異なる性質のユーザ操作を誘導するWebエレメントを有する。カテゴリ分類部32は、操作対象検出部33が、Webページに合わせて、操作対象のWebエレメントを適切に検出するルールを選択できるように、カテゴリ分類を行う。
 カテゴリは、例えば、ダウンロードページ、中間ページ、ソーシャルメディアページ或いは動画ページなどである。ダウンロードページは、Webページ内にダウンロードボタンが存在し、それに操作を行うことでファイルがダウンロードされる可能性のあるWebページである。中間ページは、別のWebページへのリダイレクトの途中に到達し、スキップボタンへの操作や、リダイレクト完了までの待機を必要とするWebページである。ソーシャルメディアページは、動画やメッセージをユーザが投稿できるWebページである。動画ページは、ストリーミング動画が再生されるWebページである。なお、カテゴリは、これらの項目に限るものではない。また、カテゴリ分類部32は、解析対象のWebページが切り替わると、該切り替わったWebページを、カテゴリに分類する。
 操作対象検出部33は、カテゴリ分類部32が分類したカテゴリに対して予め設定された検出方法にしたがい、解析対象のWebページから、ユーザ操作の操作対象を検出する。操作対象検出部33は、カテゴリ分類部32によってWebページのカテゴリが分類されると、Webページから操作対象を検出する。
 操作対象検出部33は、第1キーワードを用いて、Webページごとに異なる、ユーザ操作を誘導するWebエレメントを、操作対象として検出する。Webエレメントは、HTMLを構成する要素の一つである。また、操作対象検出部33は、Webページごとに異なる、ユーザ操作を誘導する画像エレメントを、操作対象として検出する。画像エレメントは、Webブラウザによって描画された画面において、エッジ検出を代表とする画像処理技術で判別可能な領域である。
 操作実行部34は、操作対象検出部33が検出した操作対象に対して操作を実行する。操作実行部34は、操作対象検出部33が検出した操作対象に対して、順次操作を実行する。
 関数フック部35は、操作実行部34による操作対象への操作の実行後に発生する操作イベントを検出する。関数フック部35は、操作実行部34による操作が起因となるWebページの変化を検出する。関数フック部35は、予め設定したJavaScript関数をWebページの読み込み時に上書きし、関数が呼び出された際に通知する処理を追加する。関数フック部35は、この通知を受けて、JavaScript関数の呼出を検出することによって、操作イベントを検出する。
 ログ出力部36は、ログデータをログデータ記憶部23に記憶するとともに、ログデータを判定装置3に出力する。ログデータは、操作実行部34による操作によって発生した通信、関数フック部35において検出された操作イベント、及び、操作実行部34による操作によって遷移したWebブラウザ画面を、解析対象のWebページのURLと対応付けて示したデータである。判定装置3は、解析装置4が出力したログデータを参照し、ユーザ操作を誘導する攻撃が発生するWebページのURLを判別する。
[カテゴリ分類部]
 次に、カテゴリ分類部32の構成について説明する。カテゴリ分類部32は、特徴抽出部321(抽出部)及びカテゴリ決定部322(決定部)を有する。
 特徴抽出部321は、Webページのカテゴリを決定するための特徴情報を抽出する。具体的には、特徴抽出部321は、解析対象のWebページのURLにアクセスする。そして、特徴抽出部321は、アクセスしたWebページの通信先情報、HTMLソースコード情報或いはWebブラウザ画面の画面情報を特徴情報として抽出する。特徴抽出部321は、Webページの通信先情報として、URLやドメイン名を抽出する。
 図3は、図2に示す特徴抽出部321がWebページから抽出した特徴情報の一例を示す図である。図3の各項目に示すように、Webページの特徴情報には、ドメイン名やURLといった通信先情報、videoタグの有無や、中間ページ等を表す特定の文字列(例えば、“Wait 5 seconds”)の有無などのHTMLソースコード情報、Webブラウザに描画されたページの高さなどの画像情報がある。なお、特徴抽出部321は、タグの有無や特定の文字列の有無については、有る場合には「1」、ない場合には「0」を特徴情報とする。また、特徴情報は、これらの項目に限るものではない。
 例えば、特徴抽出部321は、Webアクセスを行ったURL「http://movie.example.com/」であるWebページから、ドメイン名「movie.example.com」、videoタグ有を示す「1」、ページの高さ「1700」、“Wait 5 seconds”文字列がないことを示す「0」を抽出する(通番「1」参照)。
 カテゴリ決定部322は、特徴抽出部321が抽出した特徴量を基にWebページのカテゴリを決定する。カテゴリ決定部322は、特徴抽出部321が抽出した特徴量を基に、Webページを、例えば、ダウンロードページ、中間ページ、ソーシャルメディアページ、動画ページ或いは基本ページに分類する。
 具体的には、カテゴリ決定部322は、URLのドメイン名が既知のソーシャルメディアサイトのドメイン名に一致する場合、このURLのWebページをソーシャルメディアページに分類する。また、カテゴリ決定部322は、Webページから抽出したHTMLソースコードにvideoタグが存在する場合には、このURLのWebページを動画ページに分類する。
 また、カテゴリ決定部322は、Webページから抽出したHTMLソースコードに中間ページを表す文字列が存在する場合、このURLのWebページを中間ページに分類する。また、カテゴリ決定部322は、Webページの高さが所定の閾値以上である場合、このURLのWebページをダウンロードページに分類する。そして、カテゴリ決定部322は、上記以外のカテゴリに分類されないWebページを基本ページに分類する。
 図4は、図2に示すカテゴリ決定部322が決定するカテゴリの一例を示す図である。図4に示すように、カテゴリ決定部322は、HTMLソースコードにvideoタグが存在するURL「http://movie.example.com/」を、動画ページに分類する(通番「2」参照)。カテゴリ決定部322は、Webページの高さが所定の閾値以上であるURL「http://download.example.com/」のWebページを、ダウンロードページに分類する(通番「3」参照)。
 また、カテゴリ決定部322は、HTMLソースコードに中間ページを表す文字列が存在するURL「http://redirect.example.com/」のWebページを、中間ページに分類する(通番「4」参照)。カテゴリ決定部322は、ドメイン名が既知のソーシャルメディアサイトのドメイン名に一致するURL「http://social.example.com/」のWebページを、ソーシャルメディアページに分類する(通番「5」参照)。そして、カテゴリ決定部322は、上記以外のカテゴリに分類されないWebページURL「http://www.movie.example.com/」のWebページを、基本ページに分類する(通番「1」参照)。
 なお、上記では、Webページとカテゴリとが一対一である例を説明したが、これに限らない。例えば、複数のカテゴリの性質を持ったWebページに対しては、混合したカテゴリ(「ダウンロード+動画」カテゴリ)のように、カテゴリを拡張することによって、カテゴリの分類に柔軟に対応することができる。
[操作対象検出部]
 次に、操作対象検出部33の構成について説明する。操作対象検出部33は、HTML解析部331(第1の解析部)、画像解析部332(第2の解析部)及び操作対象集約部333(集約部)を有する。
 HTML解析部331は、特徴抽出部321が抽出したHTMLソースコードから、所定の文字列を含むWebエレメントを、文字列検索を行って抽出する。所定の文字列は、カテゴリ分類部32が分類したカテゴリに対して予め設定された文字列である。
 ここで、Webエレメントは、HTMLを構成する要素の一つである。例えば、HTML解析部331は、HTML内のWebエレメントを検出するために、ブラウザやブラウザ操作を行うツールに実装されるCSSセレクタ機能を用いる。また、CSSセレクタと同様にWebエレメントを検出するための機能としてXPathがある。HTML解析部331は、HTML内のWebエレメントを検出するために、XPath機能を用いる。
 HTML解析部331は、ユーザ操作を誘導するWebエレメントを検出するために、そのWebエレメントのプロパティやタグに囲まれたテキストコンテンツ内に含まれる文字列を第1キーワードとして、CSSセレクタやXPathを用いて検索を実行する。第1キーワードは、前述したように、Webページのカテゴリごとに予め設定され、第1キーワード記憶部21に記憶される。例えば、第1キーワードとして、カテゴリがダウンロードページである場合には「Download」が考えられ、カテゴリが動画ページである場合には「Play Now」が考えられる。
 HTML解析部331は、カテゴリごとに設定された第1キーワードをHTMLソースコードから検索を行うことによって、Webページごとに異なる、ユーザ操作を誘導するWebエレメントを適切に検出することができる。なお、Webエレメントを検索するための機能は、CSSセレクタとXPathに限るものではない。
 図5は、図2に示すHTML解析部331の検出対象の一例を示す図である。図5に示すように、HTML解析部331は、検出対象が「classプロパティに「Download」を含むWebエレメント」である場合には、CSSセレクタに「*[class*=‘Download’]」を設定する(通番「1」参照)。そして、通番「2」,「3」のように、検索対象に対応させてCSSセレクタを設定する。また、HTML解析部331は、検出対象が「テキストコンテンツに「Play Now」を含むWebエレメント」である場合には、XPathの検索条件として「//*[contains(text(), ‘Play Now’)]」を設定する(通番「4」参照)。なお、検出対象と使用するCSSセレクタ及びXPathは、図に示す例に限るものではない。
 図6は、解析対象のHTMLソースコードの一例を示す図である。上記のように、HTML解析部331は、CSSセレクタやXPathを用いて、HTMLソースコードから、行R1~R4に示すWebエレメントをそれぞれ検出することができる。すなわち、HTML解析部331は、図5の通番「1」のCSSセレクタによって、行R1に示すWebエレメント「<a class=“download-button”>link</a>」を検出できる。また、HTML解析部331は、図5の通番「4」のXPathによって、行R4に示すWebエレメント「<div>Play Now</div>」を検出できる。
 画像解析部332は、特徴抽出部321が抽出したWebブラウザ画面の画面情報から、カテゴリ分類部32が分類したカテゴリに対して予め設定された文字列を含む画像エレメントを、画像処理及び文字列検索を行って抽出する。
 図7は、検出対象の画像エレメントの一例を示す図である。本実施の形態では、Webブラウザによって描画された画面において、エッジ検出を代表とする画像処理技術で判別可能な領域を画像エレメントとする。
 画像解析部332は、ユーザ操作を誘導する操作対象を画像エレメントとして検出するために、まず、既存の画像処理技術によって、Webページのカテゴリごとに予め設定した輪郭と領域サイズとが一致する領域を抽出する。検出する輪郭は、ユーザに対して視覚的に目立たせることで操作を誘導するWebエレメントに共通する図形である。検出する輪郭の例として、カテゴリごとに説明する。例えば、カテゴリがダウンロードページの場合は、ダウンロードボタンとなる長方形が、検出する輪郭として考えられる。また、カテゴリが動画ページの場合は、動画再生ボタンとなる三角形が、検出する輪郭として考えられる。これらの輪郭は一例であり、検出する輪郭は、これらに限るものではない。
 図7に示すように、画像解析部332は、Webページのカテゴリごとに予め設定した円形、楕円形、長方形、三角形を示す輪郭と領域サイズが一致する、領域G1~G4を抽出する。
 続いて、画像解析部332は、抽出した領域を画像として出力し、既存の光学文字認識技術を用いて画像内の文字列を抽出する。画像解析部332は、抽出した文字列が、予め設定された第2のキーワードを含む場合には、抽出した画像を、操作対象の画像エレメントとして出力する。第2キーワードは、前述したように、ユーザ操作を誘導するWebエレメントに描画されている文字列であり、カテゴリごとに設定される。第2キーワードは、第2キーワード記憶部22に記憶される。例えば、第2キーワードとして、「Download」、「Play Now」、「Click Here」が考えられる。
 画像解析部332は、図7に示すように、「Click Here」を含む領域G1、「Play Now」を含む領域G2、「Download」を含む領域G3を、操作対象の画像エレメントとして出力する。また、画像解析部332は、図7に示すように、動画再生ボタンとなる三角形を含む領域G4を、操作対象の画像エレメントとして出力する。
 図8は、図2に示す画像解析部332が出力する画像エレメントの一例を示す図である。図8に示すように、画像解析部332は、画像エレメントの画像領域を表す情報である、横(座標)、縦(座標)、幅(領域サイズ)及び高さ(領域サイズ)を、検出に使用した第2キーワードに対応付けて出力する。画像エレメントの画像領域を表す情報は、これらの項目に限るものではない。
 例えば、図8に示すように、画像解析部332は、「Download」を含む領域G3(図7参照)の画像エレメントの情報として、横「100」、縦「300」、幅「300」及び高さ「600」と、第2キーワード「Download」とを出力する。
 操作対象集約部333は、HTML解析部331が抽出したWebエレメントと、画像解析部332が抽出した画像エレメントとを集約して操作対象として決定する。例えば、操作対象集約部333は、抽出したWebエレメントと画像エレメントとの重複を排除して操作対象を出力する。
 この場合、まず、操作対象集約部333は、Webエレメントの領域と画像エレメント領域とを比較し、領域が小さい方の面積に占める重複領域の面積の割合を重複率とする。操作対象集約部333は、重複率が予め設定された閾値を超えている場合に、Webエレメントと画像エレメントとが同一の操作対象であると判定する。そして、操作対象集約部333は、重複するWebエレメント及び画像エレメントから画像エレメントを排除し、Webエレメントのみを操作対象として出力する。
 図9は、重複するWebエレメントと画像エレメントとの一例を示す図である。例えば、重複率の閾値値を70%と設定する。図9では、画像エレメント1(座標(横=110px,縦=190px),幅=600px,高さ=110 px)とWebエレメント1(座標(横=100px, 縦=200 px),幅=500px,高さ=100px)とが重複する場合について説明する。この場合、画像エレメント1とWebエレメント1とが重複する面積は40000pxである。
 この結果、操作対象集約部333は、重複率が、領域が小さいWebエレメント1の面積(50000px)の80%であると計算し、画像エレメント1とWebエレメント1とが重複していると判定する。そして、操作対象集約部333は、画像エレメント1とWebエレメント1とから画像エレメント1を排除し、Webエレメント1を操作対象として出力する。
[操作実行部]
 次に、操作実行部34の処理について説明する。操作実行部34は、操作対象検出部33が検出した操作対象に対して操作を実行する。操作実行部34は、解析対象のWebページに示された操作対象に対して操作を行う。操作実行部34が実行する操作は、操作対象検出部33が検出した操作対象に対するクリック、ブラウザ履歴の戻る操作などが考えられる。操作は、これらに限るものではない。
[関数フック部]
 次に、関数フック部35について説明する。関数フック部35は、操作実行部34による操作が起因となるWebページの変化を検出するために、関数上書部351(上書部)と、関数呼出検出部352(第3の検出部)とを有する。
 関数上書部351は、解析対象のWebページの読み込み開始時に、JavaScript関数を上書きして、JavaScript関数に入力された引数を関数呼出検出部352に通知する処理を追加する。
 関数フック部35は、ユーザ操作を誘導する操作イベントに関わるJavaScript関数に、その関数が呼ばれた瞬間に入力された引数をブラウザ拡張機能に対して通知する処理を挿入するJavaScriptソースコードを予め作成する。関数上書部351は、解析対象のWebページのHTMLソースコードに、JavaScript関数を上書きする。
 図10は、JavaScript関数の上書き処理の挿入の一例を示す図である。図10の枠内に示すように、作成されたJavaScriptソースコードは、WebブラウザがWebページ読み込みを行うたびに、読み込み開始時に、WebページのHTMLソースコードの先頭にScriptタグとして挿入して、ブラウザの拡張機能を追加する。なお、ユーザ操作を誘導する操作イベントに関わるJavaScript関数として、alert関数、confirm関数、或いは、ブラウザ拡張機能をインストールする関数などが考えられるが、これらの項目に限るものではない。
 関数呼出検出部352は、通知を受けて、ユーザ操作を誘導する操作イベントに関わるJavaScript関数が呼び出された時にJavaScript関数に入力された引数を取得して、操作イベントを検出する。言い換えると、関数呼出検出部352は、上書きしたJavaScript関数が呼び出されたことを検出する。上書きしたJavaScript関数が呼び出されるとは、ユーザ操作を誘導する操作イベントが発生した場合であると言える。
 したがって、関数フック部35は、関数呼出検出部352の検出処理によって、ユーザ操作を誘導する操作イベントの発生を検出することができる。すなわち、関数フック部35は、操作実行部34による操作が起因となるWebページの変化を検出する。後述するように、ログ出力部36によるログデータには、ユーザ操作を誘導する操作イベントの発生と、この際の、ユーザ操作を誘導する操作イベントに導いた操作内容や操作対象とが対応付けて記録される。
[ログ出力部]
 次に、ログ出力部36について説明する。ログ出力部36は、通信記録部361、イベント記録部362及び画像キャプチャ記録部363を有する。
 通信記録部361は、関数フック部35による操作イベントの検出と連動し、Webページ解析のための操作実行部34による操作によって発生した通信を記録する。イベント記録部362は、関数フック部35による操作イベントの検出と連動し、関数フック部35において検出された操作イベントを記録する。そして、画像キャプチャ記録部363は、関数フック部35による操作イベントの検出と連動し、操作実行部34による操作によって遷移したWebブラウザ画面を記録する。ログ出力部36は、通信記録部361が記録した通信、イベント記録部362が記録したイベント、及び、画像キャプチャ記録部363が記録したWebブラウザ画面を、前記解析対象のWebページのURLと対応付けて示したログデータを出力する。
 図11は、図2に示す関数フック部35が検出した操作イベント、操作対象及び操作の例を示す図である。図11に示すように、操作実行部34による操作対象への操作実行中に、関数呼出検出部352が操作イベントを検出した場合、イベント記録部362は、操作実行部34が直前に実施した操作と、操作対象と、操作を実行したWebページのURLと、を抽出する。
 図11に示すように、操作イベントは、操作実行部34による操作が起因となり発生したWebブラウザのイベントであり、ファイルダウンロード、ブラウザ拡張機能のインストール及びアラートダイアログの表示が考えられる。操作イベントは、これらの項目に限るものではない。また、操作対象の項目には、操作実行部34が操作を行った対象を示す情報が記録される。操作対象の項目には、例えば、操作対象の座標、領域サイズ及び実際の画像が記録される。また、操作の項目には、クリック、戻る操作等の各種操作が記録される。また、URLの項目には、操作実行部34が操作を実行したWebページのURLが記録される。
[繰り返し処理]
 ここで、解析装置4では、解析対象のWebページが切り替わるごとに、カテゴリ分類部32がカテゴリ分類を行う。そして、解析装置4では、操作対象検出部33が、Webページのカテゴリが分類されると、Webページから操作対象を検出し、操作実行部34が各操作対象に対して、順次操作を実行する。そして、解析装置4では、操作対象に対する操作及びこの操作までに要する各処理は、所定の終了条件に達するまで、繰り返し再帰的に実行される。そして、解析装置4では、操作が実行されるごとに、操作実行部34による操作対象への操作の実行後に発生する操作イベントが検出される。
 ここで、解析装置4における繰り返し処理について説明する。まず、URL入力部31により入力された、Webページの解析開始時に最初に到達するページを、ルートページとする。解析装置4では、操作実行部34による操作後にWebページの変化があった場合は、変化後のページに対して再帰的にWebページのカテゴリ分類、操作対象の検出、Webページの操作を繰り返す。Webページの変化は、HTML構造の変化や異なるWebページへの遷移が考えられるが、これらの項目に限るものではない。
 遷移前のWebページに移動する条件として、例えば、予め設定された再帰回数を超えること、或いは、操作対象が検出されないことが設定される。このため、解析装置4は、再帰処理の途中で予め設定された再帰回数を超えた場合や、操作対象が検出されなかった場合は、遷移前のWebページに移動し、操作を実行していない操作対象に操作を行う。そして、終了条件として、例えば、ルートページ内の全ての操作対象に対する操作が完了したことが設定される。このため、解析装置4は、ルートページ内の全ての操作対象に対する操作が完了した場合、Webページの解析を終了する。
 図12は、図2に示す解析装置4における操作対象への操作を含む繰り返し処理を説明する図である。例えば、図12では、ルートページ「root」が、最上位に示されている。このルートページ「root」には、操作対象として「Download」ボタン、「Play」ボタン、「Click」ボタンがある。
 操作実行部34は、「Download」ボタンを操作すると、Webページ「1」に移動する。この場合、このWebページ「1」に対し、カテゴリ分類部32がカテゴリの分類を行い、操作対象検出部33が操作対象の検出を行う。そして、操作実行部34は、Webページ「1」の操作対象に順次操作を実行する。この結果、Webページ「1-1」に移動する。続いて、Webページ「1-1」に対して、カテゴリ分類部32がカテゴリの分類を行い、操作対象検出部33が操作対象の検出を行い、操作実行部34が、操作対象の一方に操作を実行する。
 ここで、再帰回数(繰り返し回数)を超えた場合には、解析装置4では、遷移前のWebページ「1」に移動し、Webページ「1」の操作対象の他方に対する操作を実行する。そして、解析装置4は、Webページ「1-2」に移動した場合にも、同様に、カテゴリの分類、操作対象の検出、操作の実行を行う。
 続いて、解析装置4では、Webページ「1」の全ての操作対象について処理が終了した場合には、ルートページ「root」に戻り、「Play」ボタンを操作して、遷移したWebページ「2」に対し、同様に、カテゴリの分類、操作対象の検出、操作の実行を行う。このように、解析装置4は、ルートページ内の全ての操作対象に対する操作が完了するまで、カテゴリの分類、操作対象の検出、操作の実行を行う。すなわち、カテゴリ分類部32、操作対象検出部33、操作実行部34及び関数フック部35は、予め設定された終了条件に達した場合に処理を終了する。そして、ルートページ内の全ての操作対象に対する操作が完了すると、このWebページの解析を終了する。
[実施例]
 図13は、実施の形態を適用したブラウザ自動操作システムの構成例を説明する図である。図13に示すように、本実施の形態に係る解析装置4の実施例として、例えば、WebブラウザM1を操作するソフトウェアと、ブラウザ拡張機能によって実装した機能とを設けた構成がある。
 カテゴリ分類部32、操作対象検出部33、操作実行部34及び画像キャプチャ記録部363については、ブラウザ操作を自動化するソフトウェアW1を用いて、予めWebブラウザを操作する処理が設定される。また、関数フック部35、通信記録部361及びイベント記録部362については、ブラウザ拡張機能W2によって実装される。
 この実施例のように、Webブラウザを操作する機能と、ブラウザ拡張機能によって実装した機能との双方がログ記録用のページにログの読み込みと書き込みとを行うことによって、実施した操作と、操作が起因となり発生した操作イベントとの対応付けが可能になる。そして、ログ出力部36が、ログデータを出力する。なお、ブラウザ操作を自動化するソフトウェアは、ブラウザ操作自動化ツールSeleniumが考えられる。ブラウザ操作を自動化するソフトウェアは、これに限るものではない。
 すなわち、本実施例のように、Webブラウザの操作処理を記述可能なソフトウェアを適用することによって、操作設定の簡易化による開発コストの削減、ファイル入出力操作、及び、外部ツールとの連携が可能になる。そして、本実施例のように、上記のソフトウェアで取得不可能な通信ログやWebブラウザ上の操作イベントを取得するためにWebブラウザの拡張機能を適用する。これによって、本実施例では、ブラウザ操作を自動化するソフトウェアとブラウザ拡張機能とが相互に通信を行うことによって、ユーザ操作を誘導する攻撃を観測した際に、攻撃の内容、起点となった操作対象、それに対する操作を特定することが可能になる。
[解析処理の処理手順]
 次に、解析装置4が実行する解析処理について説明する。図14は、実施の形態に係る解析処理の処理手順を示すフローチャートである。
 図14に示すように、まず、URL入力部31が、解析対象のWebページのURLの入力を受け付けると(ステップS1)、図13において示したブラウザ自動操作システムを用いてWebブラウザを起動し(ステップS2)、Webページの解析処理を開始する。そして、関数フック部35では、関数上書部351が、解析対象のWebページのHTMLソースコードに、JavaScript関数を上書きする関数上書処理を行う(ステップS3)。
 そして、カテゴリ分類部32は、解析対象のWebページのURLにアクセスし、該解析対象のWebページをカテゴリに分類するカテゴリ分類処理を行う(ステップS4)。操作対象検出部33は、カテゴリ分類部32が分類したカテゴリに対して予め設定された検出方法にしたがい、解析対象のWebページから、ユーザ操作の操作対象を検出する(ステップS5)。ステップS5では、HTML解析部331が、HTMLソースコードから、所定の文字列を含むWebエレメントを、文字列検索を行って抽出し、画像解析部332が、Webブラウザ画面の画面情報から、カテゴリに対して予め設定された文字列を含む画像エレメントを、画像処理及び文字列検索を行って抽出する。そして、操作対象集約部333が、重複するWebエレメントと画像エレメントの除外を行う。
 そして、解析装置4は、図12で説明したように、操作対象への操作を行い、操作後にWebページの変化があった場合は、変化後のページに対して再帰的にWebページのカテゴリ分類、操作対象の検出、Webページの操作を繰り返す。
 まず、操作実行部34は、解析対象のWebページについて操作対象検出部33が検出した操作対象のうち、未操作の操作対象が存在するか否かを判定する(ステップS6)。操作実行部34は、未操作の操作対象が存在すると判定した場合(ステップS6:Yes)、操作対象に対して操作を実行する(ステップS7)。そして、関数フック部35は、関数呼出検出部352による検出において、操作実行部34による操作が起因となるWebページの変化が発生するか否かを判定する(ステップS8)。
 関数フック部35が、Webページの変化が発生したと判定した場合(ステップS8:Yes)、操作実行部34は、終了条件に一致するか否かを判定する(ステップS9)。終了条件は、例えば、ルートページ内の全ての操作対象に対する操作が完了した場合である。操作実行部34は、終了条件に一致しないと判定した場合(ステップS9:No)、解析対象のウィンドウを切り替え(ステップS10)、ステップS3に進む。この場合、関数上書部351が、切り替えたWebページのHTMLソースコードに、JavaScript関数を上書きする関数上書処理を行う。
 一方、関数フック部35が、Webページの変化が発生しないと判定した場合(ステップS8:No)、または、操作実行部34が、終了条件に一致すると判定した場合(ステップS9:Yes)、ステップS6に戻る。
 操作実行部34は、未操作の操作対象が存在しないと判定した場合(ステップS6:No)、現在のページがルートページか否かを判定する(ステップS11)。操作実行部34は、現在のページがルートページでないと判定した場合(ステップS11:No)、切り替え前のウィンドウに戻る(ステップS12)。なお、ステップS6,S11,S12の処理は、ページが、ルートページに戻るまで繰り返される。
 そして、操作実行部34が、現在のページがルートページであると判定した場合(ステップS11:Yes)、ログ出力部36は、関数フック部35が検出した操作イベントと、操作対象検出部33が検出した操作対象とを対応付けて(ステップS13)、対応付けた操作イベントと操作対象とを含むログデータを出力して(ステップS14)、処理を終了する。なお、ログデータは、操作イベントと操作対象ととともに、操作実行部34による操作によって遷移したWebブラウザ画面を、解析対象のWebページのURLと対応付けて示したデータである。
[カテゴリ分類処理]
 次に、カテゴリ分類処理(ステップS4)について説明する。図15は、図14に示すカテゴリ分類処理の処理手順を示すフローチャートである。
 図15に示すように、カテゴリ分類部32では、特徴抽出部321は、解析対象のWebページのURLにアクセスし、アクセスしたWebページの通信先情報、HTMLソースコード情報或いはWebブラウザ画面の画面情報を特徴情報として抽出する(ステップS21)。続いて、カテゴリ決定部322は、Webページのカテゴリを決定するために、所定の特徴抽出部321が抽出した特徴量を基に、所定の分類ルールを用いる。例えば、カテゴリ決定部322は、以下のような判定ルールを用いて、Webページのカテゴリを決定する。
 まず、カテゴリ決定部322は、特徴情報が、既知のソーシャルメディアサイトのドメイン名と一致するか否かを判定する(ステップS22)。カテゴリ決定部322は、特徴情報が、既知のソーシャルメディアサイトのドメイン名と一致すると判定した場合(ステップS22:Yes)、このWebページのカテゴリを、ソーシャルメディアページに分類して(ステップS23)、処理を終了する。
 また、カテゴリ決定部322は、特徴情報が、既知のソーシャルメディアサイトのドメイン名と一致しないと判定した場合(ステップS22:No)、特徴情報として抽出したHTMLソースコードにvideoタグが存在するか否かを判定する(ステップS24)。
 カテゴリ決定部322は、特徴情報として抽出したHTMLソースコードにvideoタグが存在すると判定した場合(ステップS24:Yes)、このWebページのカテゴリを、動画ページに分類して(ステップS25)、処理を終了する。
 一方、カテゴリ決定部322は、特徴情報として抽出したHTMLソースコードにvideoタグが存在しないと判定した場合(ステップS24:No)、特徴情報として抽出したHTMLソースコードに中間ページを表す文字列が存在するか否かを判定する(ステップS26)。中間ページを表す文字列は、例えば、「Wait 5 seconds」や「Skip Ad」等である。カテゴリ決定部322は、特徴情報として抽出したHTMLソースコードに中間ページを表す文字列が存在すると判定した場合(ステップS26:Yes)、このWebページのカテゴリを、中間ページに分類して(ステップS27)、処理を終了する。
 カテゴリ決定部322は、特徴情報として抽出したHTMLソースコードに中間ページを表す文字列が存在しないと判定した場合(ステップS26:No)、Webページの高さが予め設定された閾値以上であるか否かを判定する(ステップS28)。カテゴリ決定部322は、Webページの高さが予め設定された閾値以上であると判定した場合(ステップS28:Yes)、このWebページのカテゴリを、ダウンロードページに分類して(ステップS29)、処理を終了する。また、カテゴリ決定部322は、Webページの高さが予め設定された閾値以上でないと判定した場合(ステップS28:No)、このWebページのカテゴリを、基本ページに分類して(ステップS30)、処理を終了する。
[実施の形態の効果]
 このように、本実施の形態に係る解析装置4は、対象のWebページのURLにアクセスし、該解析対象のWebページを、Webページの誘導方法を表す指標であるカテゴリに分類する。そして、解析装置4は、分類したカテゴリに対して予め設定された検出方法にしたがい、解析対象のWebページから、ユーザ操作の操作対象を検出する。そして、解析装置4は、検出した操作対象に対して操作を実行し、操作対象への操作の実行後に発生する操作イベントを検出する。そして、解析装置4は、操作によって発生した通信、検出された操作イベント、及び、操作によって遷移したWebブラウザ画面を、解析対象のWebページのURLと対応付けて示したログデータを出力する。
 したがって、解析装置4は、対象のWebページのURLにアクセスし、該解析対象のWebページを、Webページの誘導方法を表す指標であるカテゴリに分類することによって、Webページ内に存在する多数の操作可能な領域から、操作対象を適切に検出することができる。そして、解析装置4は、検出された操作対象に対して実際に操作を行い、操作ごとにユーザ操作を誘導する操作イベントの発生の有無を検出する。この結果、解析装置4によれば、攻撃の起点となる操作と、その操作対象とを、正確かつ効率的に特定することができる。
 以上の処理を行うことによって、解析装置4は、Webページを介してユーザ操作を誘導する攻撃を観測することができる。また、解析装置4は、観測結果としてログデータを出力する。このため、判定装置3では、ログデータを用いて、ユーザ操作を攻撃まで誘導する起点となった操作と、その操作対象とを特定することが可能になる。
 また、解析装置4は、カテゴリ分類部32が、解析対象のWebページのURLに実際にアクセスし、アクセスしたWebページの通信先情報、HTMLソースコード情報或いはWebブラウザ画面の画面情報を特徴情報として抽出する。そして、解析装置4では、抽出した特徴量を基にWebページを分析することによって、ユーザ操作を誘導する攻撃の起点となる操作対象の検出方法と、それに対して実施する操作を決定するための、Webカテゴリを決定することが可能になる。
 また、解析装置4では、操作対象検出部33が、抽出したHTMLソースコードから、カテゴリに対して予め設定された文字列を含むWebエレメントを、文字列検索を行って抽出する。そして、操作対象検出部33が、抽出したWebブラウザ画面の画面情報から、カテゴリに対して予め設定された文字列を含む画像エレメントを、画像処理及び文字列検索を行って抽出する。すなわち、解析装置4では、分類されたカテゴリごとに操作対象の検出方法を変更することによって、Webページ内に存在する多数の操作可能な領域から、ユーザ操作を誘導する攻撃の起点となる可能性の高い操作対象を、適切に抽出することができる。また、解析装置4では、操作対象検出部33が、抽出したWebエレメントと画像エレメントとを集約して操作対象として決定するため、操作対象の重複を回避することができる。この結果、解析装置4によれば、攻撃を誘発する可能性の高い操作対象に対する操作を効率的に実施することができ、解析時間を削減することができる。
 また、解析装置4では、抽出した操作対象に対して順次操作を実行し、操作の実行に対応させて、操作が起因となるWebページの変化を検出している。そして、解析装置4では、Webページの分類と操作対象の検出と操作対象への操作の実行を繰り返すことによって、攻撃に繋がる操作内容や操作対象を適切に観測することができる。また、解析装置4では、繰り返し処理によって、解析段階に合わせた最適な操作を選択することができるため、複数の操作を誘導する複雑な攻撃の誘発を可能にし、これらの複雑な攻撃に至るまでのそれぞれの経緯を正確に観測することができる。
 また、解析装置4では、関数フック部35が、解析対象のWebページの読み込み開始時に、JavaScript関数を上書きして、JavaScript関数に入力された引数を通知する処理を追加する。そして、関数フック部35は、通知を受けて、ユーザ操作を誘導する操作イベントに関わるJavaScript関数が呼び出された時にJavaScript関数に入力された引数を取得して、操作イベントを検出する。すなわち、関数フック部35は、JavaScript関数に入力された引数を、その関数が呼ばれた瞬間に取得可能にすることによって、ユーザ操作を誘導する操作イベントに係る可能性がある関数が、攻撃目的に使用されたかを分析することができる。
[システム構成等]
 図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
 また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的におこなうこともでき、あるいは、手動的に行なわれるものとして説明した処理の全部又は一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
 図16は、プログラムが実行されることにより、解析装置4が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
 メモリ1010は、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
 ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、解析装置4の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、解析装置4における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSDにより代替されてもよい。
 また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
 なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
 以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例及び運用技術等は全て本発明の範疇に含まれる。
 1 解析システム
 2 ネットワーク
 3 判定装置
 4 解析装置
 10 通信部
 20 記憶部
 21 第1キーワード記憶部
 22 第2キーワード記憶部
 23 ログデータ記憶部
 30 制御部
 31 URL入力部
 32 カテゴリ分類部
 33 操作対象検出部
 34 操作実行部
 35 関数フック部
 36 ログ出力部
 321 特徴抽出部
 322 カテゴリ決定部
 331 HTML解析部
 332 画像解析部
 333 操作対象集約部
 351 関数上書部
 352 関数呼出検出部
 361 通信記録部
 362 イベント記録部
 363 画像キャプチャ記録部

Claims (7)

  1.  WebページのURL(Uniform Resource Locator)を解析する解析装置であって、
     解析対象のWebページのURLの入力を受け付けると、前記解析対象のWebページのURLにアクセスし、該解析対象のWebページを、Webページの誘導方法を表す指標であるカテゴリに分類する分類部と、
     前記分類部が分類したカテゴリに対して予め設定された検出方法にしたがい、前記解析対象のWebページから、ユーザ操作の操作対象を検出する第1の検出部と、
     前記第1の検出部が検出した操作対象に対して操作を実行する実行部と、
     前記実行部による前記操作対象への操作の実行後に発生する操作イベントを検出する第2の検出部と、
     前記実行部による操作によって発生した通信、前記第2の検出部において検出された操作イベント、及び、前記実行部による操作によって遷移したWebブラウザ画面を、前記解析対象のWebページのURLと対応付けて示したログデータを出力する出力部と、
     を有することを特徴とする解析装置。
  2.  前記分類部は、
     前記解析対象のWebページのURLにアクセスし、アクセスしたWebページの通信先情報、HTML(Hypertext Markup Language)ソースコード情報或いはWebブラウザ画面の画面情報を特徴情報として抽出する抽出部と、
     前記抽出部が抽出した特徴量を基に前記Webページのカテゴリを決定する決定部と、
     を有することを特徴とする請求項1に記載の解析装置。
  3.  前記第1の検出部は、
     前記抽出部が抽出したHTMLソースコードから、前記分類部が分類したカテゴリに対して予め設定された文字列を含むWebエレメントを、文字列検索を行って抽出する第1の解析部と、
     前記抽出部が抽出したWebブラウザ画面の画面情報から、前記分類部が分類したカテゴリに対して予め設定された文字列を含む画像エレメントを、画像処理及び文字列検索を行って抽出する第2の解析部と、
     前記第1の解析部が抽出したWebエレメントと、前記第2の解析部が抽出した画像エレメントとを集約して操作対象として決定する集約部と、
     を有することを特徴とする請求項2に記載の解析装置。
  4.  前記分類部は、前記解析対象のWebページが切り替わると、該切り替わったWebページを、前記カテゴリに分類し、
     前記第1の検出部は、前記分類部によって前記Webページのカテゴリが分類されると、前記Webページから前記操作対象を検出し、
     前記実行部は、前記第1の検出部が検出した操作対象に対して、順次操作を実行し、
     前記第2の検出部は、前記実行部による操作が起因となる前記Webページの変化を検出し、
     前記分類部、前記第1の検出部、前記実行部及び前記第2の検出部は、予め設定された終了条件に達した場合に処理を終了し、
     前記出力部は、前記終了条件に達した場合に、前記ログデータを出力することを特徴とする請求項1に記載の解析装置。
  5.  前記第2の検出部は、
     前記解析対象のWebページの読み込み開始時に、JavaScript(登録商標)関数を上書きして、JavaScript関数に入力された引数を通知する処理を追加する上書部と、
     前記通知を受けて、前記ユーザ操作を誘導する操作イベントに関わるJavaScript関数が呼び出された時に前記JavaScript関数に入力された引数を取得して、前記操作イベントを検出する第3の検出部と、
     を有することを特徴とする請求項1に記載の解析装置。
  6.  WebページのURL(Uniform Resource Locator)を解析する解析装置が実行する解析方法であって、
     解析対象のWebページのURLの入力を受け付けると、前記解析対象のWebページのURLにアクセスし、該解析対象のWebページを、Webページの誘導方法を表す指標であるカテゴリに分類する工程と、
     分類された前記カテゴリに対して予め設定された検出方法にしたがい、前記解析対象のWebページから、ユーザ操作の操作対象を検出する工程と、
     検出された前記操作対象に対して操作を実行する工程と、
     前記操作対象への操作の実行後に発生する操作イベントを検出する工程と、
     前記操作によって発生した通信、前記操作イベントを検出する工程において検出された操作イベント、及び、前記操作によって遷移したWebブラウザ画面を、前記解析対象のWebページのURLと対応付けて示したログデータを出力する工程と、
     を含んだことを特徴とする解析方法。
  7.  解析対象のWebページのURL(Uniform Resource Locator)の入力を受け付けると、前記解析対象のWebページのURLにアクセスし、該解析対象のWebページを、Webページの誘導方法を表す指標であるカテゴリに分類するステップと、
     分類された前記カテゴリに対して予め設定された検出方法にしたがい、前記解析対象のWebページから、ユーザ操作の操作対象を検出するステップと、
     検出された前記操作対象に対して操作を実行するステップと、
     前記操作対象への操作の実行後に発生する操作イベントを検出するステップと、
     前記操作によって発生した通信、前記操作イベントを検出するステップにおいて検出された操作イベント、及び、前記操作によって遷移したWebブラウザ画面を、前記解析対象のWebページのURLと対応付けて示したログデータを出力するステップと、
     をコンピュータに実行させるための解析プログラム。
PCT/JP2018/034624 2018-01-17 2018-09-19 解析装置、解析方法及び解析プログラム WO2019142398A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US16/962,228 US11361073B2 (en) 2018-01-17 2018-09-19 Analysis apparatus, analysis method, and analysis program
EP18900705.7A EP3726410B1 (en) 2018-01-17 2018-09-19 Interpretation device, interpretation method and interpretation program
JP2019565703A JP6714175B2 (ja) 2018-01-17 2018-09-19 解析装置、解析方法及び解析プログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-005695 2018-01-17
JP2018005695 2018-01-17

Publications (1)

Publication Number Publication Date
WO2019142398A1 true WO2019142398A1 (ja) 2019-07-25

Family

ID=67301228

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/034624 WO2019142398A1 (ja) 2018-01-17 2018-09-19 解析装置、解析方法及び解析プログラム

Country Status (4)

Country Link
US (1) US11361073B2 (ja)
EP (1) EP3726410B1 (ja)
JP (1) JP6714175B2 (ja)
WO (1) WO2019142398A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7320211B1 (ja) 2023-06-12 2023-08-03 株式会社エーアイセキュリティラボ ウェブサイトの脆弱性を検査するためのシステム、方法、及びプログラム

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10805331B2 (en) 2010-09-24 2020-10-13 BitSight Technologies, Inc. Information technology security assessment system
US9438615B2 (en) 2013-09-09 2016-09-06 BitSight Technologies, Inc. Security risk management
US10257219B1 (en) 2018-03-12 2019-04-09 BitSight Technologies, Inc. Correlated risk in cybersecurity
US11200323B2 (en) 2018-10-17 2021-12-14 BitSight Technologies, Inc. Systems and methods for forecasting cybersecurity ratings based on event-rate scenarios
US10521583B1 (en) * 2018-10-25 2019-12-31 BitSight Technologies, Inc. Systems and methods for remote detection of software through browser webinjects
US10726136B1 (en) 2019-07-17 2020-07-28 BitSight Technologies, Inc. Systems and methods for generating security improvement plans for entities
US11956265B2 (en) 2019-08-23 2024-04-09 BitSight Technologies, Inc. Systems and methods for inferring entity relationships via network communications of users or user devices
US11494331B2 (en) * 2019-09-10 2022-11-08 Cornami, Inc. Reconfigurable processor circuit architecture
US11032244B2 (en) 2019-09-30 2021-06-08 BitSight Technologies, Inc. Systems and methods for determining asset importance in security risk management
US10893067B1 (en) 2020-01-31 2021-01-12 BitSight Technologies, Inc. Systems and methods for rapidly generating security ratings
US11023585B1 (en) 2020-05-27 2021-06-01 BitSight Technologies, Inc. Systems and methods for managing cybersecurity alerts

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10207756A (ja) * 1997-01-16 1998-08-07 Nec Corp ホームページの構成を分析する方法およびその装置
JP2007522582A (ja) * 2004-02-17 2007-08-09 マイクロソフト コーポレーション 階段化されたオブジェクト関連の信用決定
WO2016109283A1 (en) * 2014-12-30 2016-07-07 Fireeye, Inc. Intelligent context aware user interaction for malware detection

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8448245B2 (en) 2009-01-17 2013-05-21 Stopthehacker.com, Jaal LLC Automated identification of phishing, phony and malicious web sites
US8683584B1 (en) 2009-04-25 2014-03-25 Dasient, Inc. Risk assessment
CN104852883A (zh) * 2014-02-14 2015-08-19 腾讯科技(深圳)有限公司 保护账号信息安全的方法和系统
KR101574652B1 (ko) * 2015-01-14 2015-12-11 한국인터넷진흥원 모바일 침해사고 분석시스템 및 방법
CN104766014B (zh) * 2015-04-30 2017-12-01 安一恒通(北京)科技有限公司 用于检测恶意网址的方法和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10207756A (ja) * 1997-01-16 1998-08-07 Nec Corp ホームページの構成を分析する方法およびその装置
JP2007522582A (ja) * 2004-02-17 2007-08-09 マイクロソフト コーポレーション 階段化されたオブジェクト関連の信用決定
WO2016109283A1 (en) * 2014-12-30 2016-07-07 Fireeye, Inc. Intelligent context aware user interaction for malware detection

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
A. MOSHCHUKT. BRAGINS. D. GRIBBLEH. M. LEVY: "A Crawler-based Study of Spyware on the Web", THE NETWORK AND DISTRIBUTED SYSTEM SECURITY SYMPOSIUM, 2006
L. INVERNIZZIP. M. COMPARETTIS. BENVENUTIC. KRUEGELM. COVAG. VIGNA: "EVILSEED: A Guided Approach to Finding Malicious Web Pages", IEEE S&P., 2012, pages 428 - 442, XP032456302, DOI: 10.1109/SP.2012.33
S. DUMANK. ONARLIOGLUA. 0. ULUSOYW. ROBERTSONE. KIRDA: "TrueClick: Automatically Distinguishing Trick Banners from Genuine Download Links", ACSAC, 2014
See also references of EP3726410A4
T. NELMSR. PERDISCIM. ANTONAKAKISM. AHAMAD: "Towards Measuring and Mitigating Social Engineering Software Download Attack", USENIX SECURITY SYMPOSIUM, 2016, pages 773 - 789

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7320211B1 (ja) 2023-06-12 2023-08-03 株式会社エーアイセキュリティラボ ウェブサイトの脆弱性を検査するためのシステム、方法、及びプログラム

Also Published As

Publication number Publication date
US20210064746A1 (en) 2021-03-04
US11361073B2 (en) 2022-06-14
EP3726410A4 (en) 2021-06-02
EP3726410B1 (en) 2022-06-22
EP3726410A1 (en) 2020-10-21
JP6714175B2 (ja) 2020-06-24
JPWO2019142398A1 (ja) 2020-04-23

Similar Documents

Publication Publication Date Title
JP6714175B2 (ja) 解析装置、解析方法及び解析プログラム
US9712560B2 (en) Web page and web browser protection against malicious injections
US9509714B2 (en) Web page and web browser protection against malicious injections
US9596255B2 (en) Honey monkey network exploration
US7543055B2 (en) Service provider based network threat prevention
US20130291111A1 (en) Method and Device for Program Identification Based on Machine Learning
JP6687761B2 (ja) 結合装置、結合方法および結合プログラム
CN109347882B (zh) 网页木马监测方法、装置、设备及存储介质
KR100968126B1 (ko) 웹쉘 탐지 시스템 및 웹쉘 탐지 방법
EP3783846A1 (en) Determination method, determination device and determination program
Kim et al. AIBFT: artificial intelligence browser forensic toolkit
CN114491560A (zh) 一种漏洞检测方法、装置、存储介质及电子设备
US11556819B2 (en) Collection apparatus, collection method, and collection program
JP5966076B1 (ja) 情報処理装置、情報処理方法及びプログラム
JP6007308B1 (ja) 情報処理装置、情報処理方法及びプログラム
WO2020240637A1 (ja) 学習装置、判定装置、学習方法、判定方法、学習プログラムおよび判定プログラム
US11748476B2 (en) Conversion device and conversion program
JP6105797B1 (ja) 情報処理装置、情報処理方法及びプログラム
KR102311119B1 (ko) 웹 취약점 자동 진단 방법 및 이러한 방법을 수행하는 장치
WO2023067663A1 (ja) 解析機能付与方法、解析機能付与装置及び解析機能付与プログラム
JP7131704B2 (ja) 抽出装置、抽出方法及び抽出プログラム
JP6105792B1 (ja) 情報処理装置、情報処理方法及びプログラム
JP6063593B1 (ja) 情報処理装置、情報処理方法及びプログラム

Legal Events

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

Ref document number: 18900705

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019565703

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2018900705

Country of ref document: EP

Effective date: 20200714

NENP Non-entry into the national phase

Ref country code: DE