[go: up one dir, main page]

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

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

Info

Publication number
WO2018131200A1
WO2018131200A1 PCT/JP2017/029066 JP2017029066W WO2018131200A1 WO 2018131200 A1 WO2018131200 A1 WO 2018131200A1 JP 2017029066 W JP2017029066 W JP 2017029066W WO 2018131200 A1 WO2018131200 A1 WO 2018131200A1
Authority
WO
WIPO (PCT)
Prior art keywords
browser
transfer path
analysis
url
real
Prior art date
Application number
PCT/JP2017/029066
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 EP17891283.8A priority Critical patent/EP3547193B1/en
Priority to JP2018561795A priority patent/JP6666475B2/ja
Priority to US16/476,551 priority patent/US11163882B2/en
Publication of WO2018131200A1 publication Critical patent/WO2018131200A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/567Computer malware detection or handling, e.g. anti-virus arrangements using dedicated hardware
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Definitions

  • the present invention relates to an analysis apparatus, an analysis method, and an analysis program.
  • Drive-by download attack transfers a client accessing a website to a different website mainly using HTML (HyperText Markup Language) tags and JavaScript (registered trademark), and then the attack code. It is an attack that forwards to a malicious website to be executed.
  • a client accesses a malicious website
  • attack code that exploits vulnerabilities in a web browser (hereinafter referred to as a browser) or a browser plug-in (hereinafter referred to as a plug-in) is executed, and a malicious code such as a computer virus is executed.
  • Download and install programs malware.
  • the URL Uniform Resource Locator
  • a method for detecting drive-by download attacks by detecting changes in the file system by accessing a malicious website using a real system browser hereinafter referred to as a real browser
  • Another method for detecting drive-by download attacks is to execute JavaScript in a browser emulator (hereinafter referred to as a pseudo-browser) and analyze the execution results to detect malicious JavaScript (for example, non- (See Patent Document 2).
  • the attacker identifies the type and version of the client (hereinafter referred to as browser fingerprinting) before transferring the accessing client to the malicious URL, and determines the predetermined attack target.
  • browser fingerprinting the type and version of the client
  • the success rate of the attack is improved by changing the control flow of JavaScript so that only the client who performs the transfer is transferred to the malicious URL (for example, see Non-Patent Document 3).
  • Browser fingerprinting includes, for example, a method for managing clients individually using HTTP (Hyper Text Transfer Protocol) cookies, a method for identifying clients using JavaScript functions, and a plug-in function. It is generally known how to use to identify a client.
  • HTTP Hyper Text Transfer Protocol
  • Some browser fingerprinting uses functions unique to the browser (for example, see Non-Patent Document 4, Non-Patent Document 5, and Non-Patent Document 6).
  • Non-Patent Document 7 code that avoids or obstructs analysis by existing methods so that it cannot be analyzed by clients other than the attack target by using browser-specific functions or intentional exception handling (hereinafter referred to as code) are called analysis avoidance codes) (see Non-Patent Document 7, for example).
  • analysis avoidance code uses a function that is not publicly available, it is difficult to specify the code to be monitored or analyzed even in an actual browser, and it is difficult to take measures.
  • browser-specific functions are implemented in existing technologies using pseudo-browser against drive-by download attacks using analysis-avoidance code that exploits browser-specific functions and implementation differences between real browsers and pseudo-browser.
  • the analysis avoidance code cannot be interpreted and the website cannot be analyzed.
  • the analysis avoidance code has a problem that it is difficult to specify a function to be abused or a mounting difference.
  • the present invention has been made in view of the above, and analysis is performed using a browser-specific function or a mounting difference between a real browser and a pseudo browser among all script codes executed on the analysis target website. It is an object of the present invention to provide an analysis apparatus, an analysis method, and an analysis program that can specify an analysis avoidance code that avoids the problem as an analysis target.
  • the analysis apparatus of the present invention is an analysis apparatus for analyzing website content and script code, and includes an access log to the URL of a website to be analyzed in an actual browser which is a browser of an actual system, and an environment of the actual browser Based on the malicious URL, the transfer path that is not transferred to the malicious URL in the pseudo browser and is transferred to the malicious URL in the actual browser Based on the specific transfer path, the transfer path verification unit that specifies the specific transfer path, and the browser-specific functions or the implementation differences between the real browser and the pseudo browser from the script code executed on the website And a specific unit that identifies an analysis avoidance code that avoids the analysis.
  • the analysis avoidance code that avoids the analysis by using the browser-specific function or the implementation difference between the real browser and the pseudo browser among the script codes executed on the analysis target website is analyzed. Can be specified as
  • FIG. 1 is a block diagram showing a configuration of an analysis apparatus according to the present embodiment.
  • FIG. 2 is a diagram for explaining the processing of the transfer path matching unit shown in FIG.
  • FIG. 3 is a diagram for explaining the URL decomposition executed by the transfer path matching unit shown in FIG.
  • FIG. 4 is a diagram for explaining the processing of the transfer path matching unit shown in FIG.
  • FIG. 5 is a flowchart showing a processing procedure of analysis processing until an analysis avoidance code is specified by the analysis apparatus shown in FIG.
  • FIG. 6 is a flowchart showing a processing procedure of the matching process for the malicious transfer path shown in FIG.
  • FIG. 7 is a diagram illustrating an example of a computer in which an analysis apparatus is realized by executing a program.
  • Embodiments of the present invention will be described.
  • an analysis apparatus, an analysis method, and an analysis program for analyzing website contents and script codes will be described.
  • an outline of the analysis apparatus according to the embodiment will be described.
  • FIG. 1 is a block diagram showing a configuration of an analysis apparatus according to the present embodiment.
  • the analysis apparatus 10 includes an input unit 11, a communication unit 12, a storage unit 13, a malicious URL database 14, a control unit 15, and an output unit 16.
  • the analysis device 10 identifies the browser type and version using the unique function of the web browser and the implementation difference between the real browser and the pseudo browser, and specifies the analysis avoidance code that avoids the analysis.
  • JavaScript code is analyzed among script codes will be described as an example.
  • the input unit 11 is an input interface that accepts various operations from the operator of the analysis apparatus 10.
  • the input unit 11 includes a touch panel, a voice input device, and input devices such as a keyboard and a mouse.
  • the communication unit 12 is a communication interface that transmits and receives various types of information to and from other devices connected via a network or the like.
  • the communication unit 12 is realized by a NIC (Network Interface Card) or the like, and performs communication between another device and the control unit 15 via a telecommunication line such as a LAN (Local Area Network) or the Internet.
  • NIC Network Interface Card
  • the communication unit 12 inputs the real browser log La, which is an access log to the analysis target website acquired in the real browser, which is a real system browser, to the control unit 15 via a network or the like.
  • the communication unit 12 is a browser emulator that is an access log to the analysis target website acquired in a pseudo browser that simulates the environment (OS (Operating System), browser, or plug-in) of the actual browser that operates the actual browser.
  • the log Lb (pseudo browser access log) is input to the control unit 15 via a network or the like.
  • the real browser log La and browser emulator log Lb input via the communication unit 12 are logs when accessing the URL of the same analysis target website.
  • the real browser log La includes a log transferred to the malicious URL, and the browser emulator log Lb does not include a log transferred to the malicious URL.
  • the pseudo browser simulates the environment in which the real browser operates.
  • the pseudo browser simulates the same browser type and the same version as the real browser, but has a different internal implementation from the real browser. This is because when a simulated browser is used to simulate an environment different from the environment in which the real browser operates, not the analysis avoidance code but the normal browser fingerprinting code is also analyzed. This is the same when a real browser of a different environment is used instead of the pseudo browser.
  • the communication unit 12 inputs the executed JavaScript code information Dc indicating the JavaScript code executed on this website to the control unit 15 via a network or the like.
  • the storage unit 13 is realized by a semiconductor memory device such as a RAM (Random Access Memory) or a flash memory (Flash Memory), or a storage device such as a hard disk or an optical disk. Data used during execution is stored.
  • a semiconductor memory device such as a RAM (Random Access Memory) or a flash memory (Flash Memory)
  • flash memory Flash Memory
  • Data used during execution is stored.
  • the malicious URL database 14 is a database in which known malicious URLs are recorded.
  • the malicious URL database 14 records known malicious URLs such as anti-viruses. Further, these known malicious URLs may be URLs detected by an existing attack detection technique (see, for example, Non-Patent Document 1 and Non-Patent Document 2).
  • the transfer path verification unit 151 (described later) identifies the malicious URL by comparing the malicious URL recorded in the malicious URL database 14 with the URL to be verified.
  • the analysis device 10 is not limited to the configuration having the malignant URL database 14 and may be configured to store a list in which known malignant URLs are recorded in the storage unit 13.
  • the control unit 15 has an internal memory for storing a program that defines various processing procedures and necessary data, and executes various processes using these programs.
  • the control unit 15 is an electronic circuit such as a CPU (Central Processing Unit) or MPU (Micro Processing Unit).
  • the control unit 15 includes a transfer path matching unit 151 and an analysis avoidance code specifying unit 152 (specifying unit).
  • the transfer path verification unit 151 receives the real browser log La and the browser emulator log Lb as inputs, and is a transfer path that is not transferred to the malicious URL in the pseudo browser based on the malicious URL and is transferred to the malicious URL in the actual browser.
  • the path is specified as a specific transfer path.
  • the transfer path verification unit 151 constructs a transfer graph from the access logs (real browser log La and browser emulator log Lb) acquired by the real browser and the pseudo browser. Then, the transfer path verification unit 151 compares the transfer paths with respect to the constructed two transfer graphs to specify a specific transfer path.
  • the transfer path matching unit 151 constructs a transfer graph based on the transfer source URL information and the transfer destination URL information included in the actual browser log La and the browser emulator log Lb (for details, see, for example, T. Nelms , R. Perdisci, M. Antonakakis, and M. Ahamad, “WebWitness: Investigating, Categorizing, and Mitigating Malware Download Paths”, in Proceedings of USENIX Security Symposium, 2015).
  • the transfer path matching unit 151 checks each transfer path in the constructed transfer graph.
  • the transfer path verification unit 151 specifies the malicious URL in each transfer path by comparing the malicious URL recorded in the malicious URL database 14 with the URL in each transfer path. Subsequently, the transfer path verification unit 151 identifies a transfer path that is not transferred to the malicious URL in the pseudo browser and is transferred to the malicious URL in the real browser. In other words, the transfer path verification unit 151 specifies the transfer path of the pseudo browser corresponding to the transfer path to the malicious URL included in the real browser as the specific transfer path based on the verified transfer path. The transfer path verification unit 151 verifies the transfer path using the domain name, path, query key, and query value.
  • the analysis avoidance code specifying unit 152 selects an analysis avoidance code from the JavaScript codes included in the JavaScript code information Dc executed on the analysis target website based on the specific transfer path specified by the transfer path matching unit 151. Identify.
  • the analysis avoidance code is a code that avoids the analysis by utilizing a browser-specific function or an implementation difference between the real browser and the pseudo browser.
  • the analysis avoidance code specifying unit 152 specifies a terminal URL that is a terminal URL in the specific transfer path specified by the transfer path matching unit 151.
  • the analysis avoidance code specifying unit 152 specifies, as an analysis avoidance code, the JavaScript code executed due to the access of the specified terminal URL among the JavaScript codes included in the executed JavaScript code information Dc. In other words, the analysis avoidance code specifying unit 152 specifies the JavaScript code executed with the specified terminal URL as the analysis avoidance code.
  • the output unit 16 is realized by, for example, a display device such as a liquid crystal display, a printing device such as a printer, an information communication device, or the like.
  • the output unit 16 outputs analysis results and the like to the operator.
  • FIG. 2 is a diagram for explaining the processing of the transfer path verification unit 151 shown in FIG.
  • FIG. 2 shows an example of a transfer graph constructed by two access logs of a real browser and a pseudo browser.
  • FIG. 2A shows a transfer graph constructed with the real browser log La
  • FIG. 2B shows a transfer graph constructed with the browser emulator log Lb.
  • the transfer path verification unit 151 constructs a transfer graph using the real browser log La as shown in FIG. 2A, thereby transferring the transfer paths (URL1, URL2) in the real browser log La. , (URL1, URL3, URL5), (URL1, URL4, URL6, URL7), (URL1, URL4, URL6, URL8). Further, as shown in FIG. 2B, the transfer path verification unit 151 constructs a transfer graph using the browser emulator log Lb, thereby transferring the transfer paths P11 (URL1, URL2), P12 (URL1) in the pseudo browser. , URL3, URL5), P13 (URL1, URL4, URL6, URL8) are acquired.
  • the transfer path matching unit 151 specifies that the URL 7 in the transfer path P1 (URL1, URL4, URL6, URL7) in the real browser is a malicious URL by referring to the malicious URL database 14 (FIG. 2). (See (1)). Then, the transfer path matching unit 151 specifies that the transfer path P1 in the real browser including the URL 7 that is the malicious URL is a transfer path to the malicious URL.
  • the transfer path verification unit 151 compares the transfer path in the real browser and the transfer path in the pseudo browser (see (2) in FIG. 2).
  • the transfer path verification unit 151 then transfers the transfer path P13 (URL1, URL4, URL6, URL8) having the largest number of the same URLs as the transfer path P1 to the malicious URL in the real browser among the transfer paths P11 to P13 in the pseudo browser. ) Is specified as a specific transfer path that is a transfer path that is not transferred to the malicious URL in the pseudo browser and that is transferred to the malicious URL in the actual browser (see (3) in FIG. 2).
  • the analysis avoidance code specifying unit 152 specifies URL6 as a terminal URL in a common node between the real browser transfer path P1 and the transfer path P13 specified in the pseudo browser (see (4) in FIG. 2). Note that the URL 8 in the transfer path P13 in the pseudo browser is not included in the transfer path of the real browser, and thus is excluded from the terminal URL identification target.
  • the analysis avoidance code specifying unit 152 specifies the JavaScript code executed at URL6 that is the terminal URL specified by the transfer path matching unit 151 as the analysis avoidance code.
  • FIG. 3 is a diagram for explaining the decomposition of the URL executed by the transfer path matching unit 151 shown in FIG.
  • the transfer path matching unit 151 decomposes the URL into a domain name, a path, a query key, and a query value.
  • FIG. 4 is a diagram for explaining the processing of the transfer path verification unit 151 shown in FIG.
  • FIG. 4 shows an example of a transfer graph constructed with two access logs, a real browser and a pseudo browser, in which a URL is decomposed into a domain name, a path, a query key, and a query value as described in FIG. 4A shows a transfer graph constructed with the actual browser log La, and FIG. 4B shows a transfer graph constructed with the browser emulator log Lb.
  • the transfer path matching unit 151 transfers the transfer path (domain1 / path1? Query1, domain2 / path2? Query2), (domain1 / path1) for the real browser log La. ? query1, domain3 / path3? query3), (domain1 / path1? query1, domain4 / path4? query4, domain5 / path5? query5), (domain1 / path1? query1, domain4 / path4? query4, domain6 / path6? query6) get. Further, as shown in FIG. 4B, the transfer path matching unit 151 transfers the transfer paths P21 (domain1 / path1? Query1, domain2 / path2?
  • the transfer path matching unit 151 specifies that “domain5 / path5? Query5” (see frame U1 in FIG. 4A) of the transfer path P2 in the real browser is a malicious URL (FIG. 4). (See (1)). Then, the transfer path matching unit 151 specifies that the transfer path P2 in the real browser including “domain5 / path5? Query5” is a transfer path to the malicious URL.
  • the transfer path checking unit 151 checks the transfer path in the real browser and the transfer path in the pseudo browser (see (2) in FIG. 4).
  • the transfer paths P21 to P23 in the pseudo browser have the same number of URLs in any transfer path in terms of URL granularity as compared to the transfer path P2 in the real browser. That is, the transfer paths P21 to P23 in the pseudo browser are either “domain1 / path1? Query1” and “domain2 / path2? Query2” or “domain3 / path3? Query3” with respect to the transfer path P2 in the real browser log La. "Or" domain6 / path6? Query6 "are equal.
  • the transfer path matching unit 151 performs matching with the granularity of the domain name, path, query key, and query value, regards the URLs with the largest number of matches in each granularity as equal, and performs the matching of the forwarding path. .
  • the transfer path verification unit 151 matches the URL “domain4 / path4? Query4” (see frame U2 in FIG. 4) in the transfer path P2 in the real browser among the transfer paths P21 to P23 in the pseudo browser.
  • the URL of the pseudo browser with the largest number is obtained (see (3) in FIG. 4).
  • the transfer path verification unit 151 uses the “domain4 / path4? query7 "(see frame U3 in FIG. 4). Then, the transfer path verification unit 151 uses the “domain4 / path4? Query7” (see frame U3 in FIG. 4) of the transfer path P23 as the URL “domain4 / path4? Query4” (see FIG. 4) in the transfer path P2 in the actual browser. It is considered to be equal to the frame U2).
  • the transfer path verification unit 151 may perform verification by considering all of the domain name, path, query key, and query value in the URL verification granularity, or any one of the domain name, path, query key, and query value. The matching process may be changed so that
  • the analysis avoidance code specifying unit 152 sets “domain4 / path4? Query7” on the transfer path P23 (domain1 / path1? Query1, domain4 / path4? Query7, domain6 / path6? Query6) of the pseudo browser as a terminal URL. It is specified (see (4) in FIG. 4). Note that “domain6 / path6? Query6” in the transfer path P23 in the pseudo browser is excluded from the identification target of the terminal URL.
  • the analysis avoidance code specifying unit 152 specifies the JavaScript code executed by the specified terminal URL “domain4 / path4? Query7” as the analysis avoidance code.
  • FIG. 5 is a flowchart showing the processing procedure of the analysis processing until the analysis avoidance code is specified by the analysis apparatus 10 shown in FIG.
  • the transfer path verification unit 151 acquires an access log to the website by the real browser and the pseudo browser (step S1).
  • the transfer path matching unit 151 acquires the real browser log La and the browser emulator log Lb for the same analysis target website.
  • the transfer path verification unit 151 acquires one malicious URL from the malicious URL database 14 (step S2).
  • step S3 determines whether or not the real browser log La acquired in step S1 includes the malicious URL acquired in step S2 (step S3). If the transfer path verification unit 151 determines that the acquired real browser log La includes a malicious URL (step S3: Yes), the process proceeds to step S4.
  • the transfer path verification unit 151 determines whether or not the malicious URL acquired in step S2 is included in the pseudo browser access log (browser emulator log Lb) acquired in step S1 (step S4).
  • the transfer path verification unit 151 and the analysis avoidance code identification unit 152 perform the verification process of the malicious transfer path (Ste S5).
  • the transfer path verification unit 151 and the analysis avoidance code specifying unit 152 receive the actual browser log La, the browser emulator log Lb, and JavaScript code information Dc executed on the analysis target website.
  • the transfer path matching unit 151 checks the transfer path in the pseudo browser log corresponding to the transfer path to the malicious URL in the real browser, and the analysis avoidance code specifying unit 152 performs the check. Specify the end URL of the transfer path in the pseudo browser log obtained by the above. Subsequently, the analysis avoidance code specifying unit 152 specifies the JavaScript code executed due to the access to the specified terminal URL as the analysis avoidance code from the executed JavaScript code information Dc.
  • step S6 the transfer path verification unit 151 determines whether or not all the malicious URLs included in the malicious URL database 14 are verified against the acquired real browser log La and browser emulator log Lb (step S6).
  • step S6: No If the transfer path verification unit 151 determines that all the malicious URLs included in the malicious URL database 14 are not verified (step S6: No), the process returns to step S2, and the malicious URL to be verified next is determined as the malicious URL. Obtained from the database 14. On the other hand, if it is determined that all the malicious URLs included in the malicious URL database 14 have been verified (step S6: Yes), the transfer path verification unit 151 outputs an analysis result and ends the analysis process.
  • FIG. 6 is a flowchart showing a processing procedure of the matching process for the malicious transfer path shown in FIG.
  • the transfer path verification unit 151 acquires a transfer path-A (URL list) from the root URL to the malicious URL in the real browser log La (step S7).
  • the transfer path verification unit 151 obtains a transfer path group -B from the root URL to each terminal URL in the pseudo browser access log (browser emulator log Lb) (step S8).
  • the transfer path verification unit 151 constructs a transfer graph based on the transfer source URL information and the transfer destination URL information included in the access log as described with reference to FIG. Get the transfer path.
  • the transfer path verification unit 151 acquires the transfer path by constructing a transfer graph after decomposing the URL included in the access log into the domain name, path, query key, and query value.
  • the transfer path verification unit 151 acquires transfer paths one by one from the acquired transfer path group-B, and acquires the transfer path-C having the largest number of matches with the URL included in the transfer path-A (step S9). . Then, the transfer path verification unit 151 determines whether or not the acquired transfer path-C is single (step S10).
  • step S10 determines that the acquired transfer path-C is not single, that is, there are a plurality of transfer paths-C (step S10: No), the process proceeds to step S11.
  • step S11 the transfer path verification unit 151 decomposes URLs included in the transfer path-A and the transfer path group-B into domain names, paths, and queries (query keys, query values), and transfers the transfer paths of the transfer path group-B.
  • the transfer path -C having the largest number of matches with the URL in the transfer path -A is acquired. That is, in step S11, the transfer path matching unit 151 checks the domain name, path, and query in the transfer path-A and the transfer path group-B for each URL, as in the URL matching process in step S9. The transfer path-C with the largest number of matches is acquired.
  • the transfer path-C acquired by the transfer path verification unit 151 is a specific transfer path that is a transfer path that is not transferred to the malicious URL in the pseudo browser and that is transferred to the malicious URL in the real browser.
  • the transfer path verification unit 151 selects one transfer path randomly selected from the plurality of transfer paths-C as the transfer path. -C.
  • the analysis avoidance code specifying unit 152 When the transfer path verification unit 151 determines that there is a single transfer path -C (step S10: Yes), or when the process of step S11 ends, the analysis avoidance code specifying unit 152 performs the process of step S12. Execute. That is, the analysis avoidance code specifying unit 152 attacks the JavaScript code executed in the terminal URL of the transfer path -C acquired by the transfer path matching unit 151 from the JavaScript codes included in the executed JavaScript code information Dc. Obtained as an evasion code, and the malicious forwarding path matching process is terminated.
  • the real browser log La and the browser emulator log Lb for the URL of the website to be analyzed are input, and the transfer path is not transferred to the malicious URL in the pseudo browser based on the malicious URL.
  • the transfer path transferred to the malicious URL in the real browser is specified as a specific transfer path, and the analysis avoidance code is specified from the script code executed on the website based on the specified transfer path.
  • an analysis avoidance code that avoids an analysis by using a browser-specific function or an implementation difference between a real browser and a pseudo browser, which has been difficult to specify until now. Then, according to the present embodiment, by manually analyzing the identified analysis avoidance code, the efficiency of analysis avoidance code identification, signature generation for malicious website detection, pseudo browser character performance Improvements can be made.
  • a transfer graph is constructed from each access log acquired by a real browser and a pseudo browser that simulates the real browser environment, and each transfer path is collated with respect to the two constructed transfer graphs.
  • the specific transfer path can be appropriately specified.
  • the end URL of the identified transfer path is obtained, and the JavaScript code executed due to the access of the end URL is specified from the executed JavaScript code, thereby avoiding analysis. The code can be properly identified.
  • the domain name, path, query key, query value The transfer path is collated after decomposing the transfer path using.
  • the specific transfer path can be appropriately specified, and the analysis avoidance code can also be appropriately specified.
  • each component of each illustrated device is functionally conceptual and does not necessarily need to be physically configured as illustrated.
  • the specific form of distribution / integration of each device is not limited to the one shown in the figure, and all or a part of the distribution / integration is functionally or physically distributed in arbitrary units according to various loads or usage conditions. Can be integrated and configured.
  • all or a part of each processing function performed in each device can be realized by a CPU and a program that is analyzed and executed by the CPU, or can be realized as hardware by wired logic.
  • FIG. 7 is a diagram illustrating an example of a computer in which the analysis apparatus 10 is realized by executing a program.
  • the computer 1000 includes a memory 1010 and a CPU 1020, for example.
  • the computer 1000 also includes a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. These units are connected by a bus 1080.
  • the memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM 1012.
  • the ROM 1011 stores a boot program such as BIOS (Basic Input Output System).
  • BIOS Basic Input Output System
  • the hard disk drive interface 1030 is connected to the hard disk drive 1090.
  • the disk drive interface 1040 is connected to the disk drive 1100.
  • a removable storage medium such as a magnetic disk or an optical disk is inserted into the disk drive 1100.
  • the serial port interface 1050 is connected to a mouse 1110 and a keyboard 1120, for example.
  • the video adapter 1060 is connected to the display 1130, for example.
  • the hard disk drive 1090 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094. That is, a program that defines each process of the analysis apparatus 10 is implemented as a program module 1093 in which a code executable by the computer 1000 is described.
  • the program module 1093 is stored in the hard disk drive 1090, for example.
  • a program module 1093 for executing processing similar to the functional configuration in the analysis apparatus 10 is stored in the hard disk drive 1090.
  • the hard disk drive 1090 may be replaced by an SSD (Solid State Drive).
  • the setting data used in the processing of the above-described embodiment is stored as program data 1094 in, for example, the memory 1010 or the hard disk drive 1090. Then, the CPU 1020 reads the program module 1093 and the program data 1094 stored in the memory 1010 and the hard disk drive 1090 to the RAM 1012 and executes them as necessary.
  • the program module 1093 and the program data 1094 are not limited to being stored in the hard disk drive 1090, but may be stored in, for example, a removable storage medium and read by the CPU 1020 via the disk drive 1100 or the like. Alternatively, the program module 1093 and the program data 1094 may be stored in another computer connected via a network (LAN, WAN, etc.). Then, the program module 1093 and the program data 1094 may be read by the CPU 1020 from another computer via the network interface 1070.
  • LAN local area network
  • WAN wide area network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

解析装置(10)は、実ブラウザログLaとブラウザエミュレータログLbとを入力とし、悪性URLデータベース(14)の悪性URL情報に基づき、疑似ブラウザにおいて悪性URLへ転送されない転送パスであって実ブラウザにおいて悪性URLへ転送される転送パスを特定転送パスとして特定する転送パス照合部(151)と、特定転送パスを基に、ウェブサイトにおいて実行されたスクリプトコードの中から、ブラウザ特有の機能或いは実ブラウザと疑似ブラウザとの実装差異を利用して解析を回避する解析回避コードを特定する解析回避コード特定部(152)と、を有する。

Description

解析装置、解析方法及び解析プログラム
 本発明は、解析装置、解析方法及び解析プログラムに関する。
 ドライブバイダウンロード攻撃(Drive-by Download攻撃)は、ウェブサイトにアクセスしたクライアントを、主にHTML(HyperText Markup Language)タグやJavaScript(登録商標)を用いて異なるウェブサイトへ転送した後、攻撃コードを実行する悪性ウェブサイトへ転送する攻撃である。クライアントが悪性ウェブサイトにアクセスすると、ウェブブラウザ(以下、ブラウザと呼ぶ。)やブラウザのプラグイン(以下、プラグインと呼ぶ。)の脆弱性を悪用する攻撃コードが実行され、コンピュータウィルスなどの悪性プログラム(マルウェア)をダウンロード、インストールしてしまう。なお、以下、攻撃コードが実行されるウェブサイトやマルウェアをダウンロードするウェブサイトのURL(Uniform Resource Locator)を悪性URLと呼ぶ。
 ドライブバイダウンロード攻撃を検知する方法として、実システムのブラウザ(以下、実ブラウザと呼ぶ。)で悪性ウェブサイトへアクセスし、マルウェアをダウンロード、インストールすることによって、発生するファイルシステムの変化を検知する方法(例えば、非特許文献1参照)がある。また、ドライブバイダウンロード攻撃を検知する他の方法として、JavaScriptをブラウザのエミュレータ(以下、疑似ブラウザと呼ぶ。)で実行し、実行結果を解析することで悪性なJavaScriptを検知する方法(例えば、非特許文献2参照)などもある。
 これらの検知方法に対し、攻撃者は、アクセスしてきたクライアントを悪性URLへ転送する前に、このクライアントの種別やバージョンを識別し(以下、ブラウザフィンガープリンティングと呼ぶ。)、予め定めた攻撃対象とするクライアントのみを悪性URLへ転送するようJavaScriptの制御フローを変更することによって、攻撃の成功率を向上させる(例えば、非特許文献3参照)。
 ブラウザフィンガープリンティングには、例えば、HTTP(Hyper Text Transfer Protocol) cookie(クッキー)を使用してクライアントを個別に管理する方法、JavaScriptの機能を用いてクライアントを識別する方法、及び、プラグインの機能を用いてクライアントを識別する方法が一般的に知られている。
 これらの方法はいずれも、ブラウザやプラグインに実装されている機能を利用して、ブラウザやプラグインの種別、バージョン或いは識別子を文字列や数値として確認する。このため、ブラウザフィンガープリンティングのコードを検知、特定することは比較的容易である。
 一方、ブラウザフィンガープリンティングには、ブラウザ特有の機能を利用するものが存在する(例えば、非特許文献4、非特許文献5、非特許文献6参照)。
 また、悪性ウェブサイトでは、ブラウザ特有の機能を使用したり、意図的な例外処理を発生させたりすることによって、攻撃対象以外のクライアントで解析できないよう既存方法による解析を回避、妨害するコード(以下、解析回避コードと呼ぶ。)が用いられるものがある(例えば、非特許文献7参照)。
 この解析回避コードについては、例えば、各ブラウザで使用されているレンダリングエンジンやJavaScriptエンジンによるウェブコンテンツの解釈差異を悪用する方法がある。特に、疑似ブラウザは、実ブラウザにおける一般的な機能を模擬するよう実装されていることが多く、ブラウザ特有の機能が実装されていないことから、解析回避コードを実行(解釈)できない。
 また、解析回避コードは、一般的に公開されていない機能を使用することから、実ブラウザにおいても、監視や解析すべきコードを特定することができず、対策を講じることが困難であった。
 上述した複数の転送、ブラウザフィンガープリンティングコード及び解析回避コードは、エクスプロイトキットと呼ばれるツールで悪性ウェブサイトを構築すると、自動的に組み込まれる。そのため、近年では多くの悪性ウェブサイトに用いられている。
 したがって、上記した解析回避コードを特定し、既存技術で当該コードを解釈できるよう対策を講じることは、今後、悪性ウェブサイトを解析、検知する上で重要となってくる。
L. Lu, V. Yegneswaran, P. Porras, and W. Lee, "BLADE: An Attack-Agnostic Approach for Preventing Drive-By Malware Infections", Proc. ACM on Conference Computer and Communications Security, pp. 440-450, 2010. M. Cova, C. Kruegel, and G. Vigna, "Detection and Analysis of Drive-by-Download Attacks and Malicious JavaScript Code", Proc. World Wide Web Conference, pp. 281-290, 2010. Y. Takata, M. Akiyama, T. Yagi, T. Hariu, and S. Goto, "MineSpider: Extracting Hidden URLs Behind Evasive Drive-by Download Attacks", IEICE Trans. Information and System, vol. E99.D, no. 4, pp. 860-872, 2016. N. Nikiforakis, A. Kapravelos, W. Joosen, C. Kruegel, F. Piessens, and G. Vigna, "Cookieless Monster: Exploring the Ecosystem of Web-based Device Fingerprinting", Proc. IEEE Symposium on Security and Privacy, 2013. C. F. Torres, H. Jonker, and S. Mauw, "FP-Block: usable web privacy by controlling browser fingerprinting", Proc. European Symposium on Research in Computer Security, pp. 1-17, 2015. Mozilla Developer Network, "Vendor Prefix", [online]、[平成28年11月7日検索]、インターネット<URL:https://developer.mozilla.org/en-US/docs/Glossary/Vendor_Prefix> A. Kapravelos, Y. Shoshitaishvili, M. Cova, C. Kruegel, and G. Vigna, "Revolver: An Automated Approach to the Detection of Evasive Web-based Malware", In Proceedings of the USENIX Security Symposium, 2013.
 このように、従来、ドライブバイダウンロード攻撃方法の一つとして、ブラウザフィンガープリンティングを用いて、特定のブラウザのみを悪性URLへ転送する方法が知られていた。そして、ドライブバイダウンロード攻撃の検知や特定する方法として、実ブラウザ、または、疑似ブラウザにより悪性URLにアクセスして動作を解析する方法がいくつか提案されている。
 しかしながら、ブラウザ特有の機能や実ブラウザと疑似ブラウザとの実装差異を悪用する解析回避コードを用いたドライブバイダウンロード攻撃に対して、疑似ブラウザを用いた既存技術では、ブラウザ特有の機能が実装されていないことが多いため、解析回避コードを解釈できず、ウェブサイトを解析できないという問題があった。また、解析回避コードは、悪用する機能や実装差異の特定が困難であるという問題があった。
 本発明は、上記に鑑みてなされたものであって、解析対象ウェブサイトで実行されたすべてのスクリプトコードの中から、ブラウザ特有の機能或いは実ブラウザと疑似ブラウザとの実装差異を利用して解析を回避する解析回避コードを解析対象として特定することができる解析装置、解析方法及び解析プログラムを提供することを目的とする。
 本発明の解析装置は、ウェブサイトのコンテンツ及びスクリプトコードを解析する解析装置であって、実システムのブラウザである実ブラウザにおける解析対象のウェブサイトのURLへのアクセスログと、実ブラウザの環境を模擬する疑似ブラウザにおける解析対象のウェブサイトのURLへのアクセスログとを入力とし、悪性URLに基づき、疑似ブラウザにおいて悪性URLへ転送されない転送パスであって実ブラウザにおいて悪性URLへ転送される転送パスを特定転送パスとして特定する転送パス照合部と、特定転送パスを基に、ウェブサイトにおいて実行されたスクリプトコードの中から、ブラウザ特有の機能或いは実ブラウザと疑似ブラウザとの実装差異を利用して解析を回避する解析回避コードを特定する特定部と、を有することを特徴とする。
 本発明によれば、解析対象ウェブサイトで実行されたすべてのスクリプトコードの中から、ブラウザ特有の機能或いは実ブラウザと疑似ブラウザとの実装差異を利用して解析を回避する解析回避コードを解析対象として特定することができる。
図1は、本実施の形態に係る解析装置の構成を示すブロック図である。 図2は、図1に示す転送パス照合部の処理を説明するための図である。 図3は、図1に示す転送パス照合部が実行するURLの分解について説明するための図である。 図4は、図1に示す転送パス照合部の処理を説明するための図である。 図5は、図1に示す解析装置による解析回避コードを特定するまでの解析処理の処理手順を示すフローチャートである。 図6は、図5に示す悪性転送パスの照合処理の処理手順を示すフローチャートである。 図7は、プログラムが実行されることにより解析装置が実現されるコンピュータの一例を示す図である。
 以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
[実施の形態]
 本発明の実施の形態について説明する。本発明の実施の形態では、ウェブサイトのコンテンツ及びスクリプトコードを解析する解析装置、解析方法及び解析プログラムについて説明する。まず、実施の形態における解析装置の概略について説明する。
[解析装置の構成]
 図1は、本実施の形態に係る解析装置の構成を示すブロック図である。図1に示すように、解析装置10は、入力部11、通信部12、記憶部13、悪性URLデータベース14、制御部15及び出力部16を有する。解析装置10は、ウェブブラウザの特有な機能や実ブラウザと疑似ブラウザとの実装差異を使用してブラウザの種別やバージョンを識別し、解析を回避する解析回避コードを特定する。なお、実施の形態では、スクリプトコードのうち、JavaScriptコードを解析する場合を例に説明する。
 入力部11は、解析装置10の操作者からの各種操作を受け付ける入力インタフェースである。例えば、入力部11は、タッチパネル、音声入力デバイス、キーボードやマウス等の入力デバイスによって構成される。
 通信部12は、ネットワーク等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースである。通信部12は、NIC(Network Interface Card)等で実現され、LAN(Local Area Network)やインターネットなどの電気通信回線を介した他の装置と制御部15との間の通信を行う。
 具体的には、通信部12は、実システムのブラウザである実ブラウザにおいて取得された解析対象ウェブサイトへのアクセスログである実ブラウザログLaを、ネットワークなどを介して、制御部15に入力する。そして、通信部12は、この実ブラウザを動作させる実ブラウザの環境(OS(Operating System)、ブラウザ或いはプラグイン)を模擬する疑似ブラウザにおいて取得された解析対象ウェブサイトへのアクセスログであるブラウザエミュレータログLb(疑似ブラウザのアクセスログ)を、ネットワークなどを介して、制御部15に入力する。この通信部12を介して入力される実ブラウザログLa及びブラウザエミュレータログLbは、それぞれ同じ解析対象ウェブサイトのURLにアクセスした際のログである。そして、実ブラウザログLaは、悪性URLへ転送されるログを含み、ブラウザエミュレータログLbは、悪性URLへ転送されるログを含まないものとする。
 なお、疑似ブラウザは、実ブラウザが動作する環境を模擬するものとする。また、疑似ブラウザは、実ブラウザと同じブラウザ種別と同じバージョンを模擬するが、実ブラウザとは内部実装が異なるものである。これは、疑似ブラウザで実ブラウザが動作する環境とは異なる環境を模擬した場合、解析回避コードではなく、通常のブラウザフィンガープリンティングコードも解析対象となってしまうためである。これは、疑似ブラウザの代わりに、異なる環境の実ブラウザを使用した場合も同様である。
 さらに、通信部12は、このウェブサイトで実行されたJavaScriptコードを示す実行されたJavaScriptコード情報Dcを、ネットワークなどを介して、制御部15に入力する。
 記憶部13は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現され、解析装置10を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが記憶される。
 悪性URLデータベース14は、既知の悪性URLを記録したデータベースである。悪性URLデータベース14は、アンチウィルス等の既知の悪性URLを記録する。また、これらの既知の悪性URLは、既存の攻撃検知技術(例えば、非特許文献1及び非特許文献2参照)で検知したURLであってもよい。転送パス照合部151(後述)は、悪性URLデータベース14に記録された悪性URLと、照合対象のURLとを照合することによって、悪性URLを特定する。なお、解析装置10は、悪性URLデータベース14を有する構成に限らず、既知の悪性URLを記録したリストを記憶部13に記憶する構成であってもよい。
 制御部15は、各種の処理手順などを規定したプログラム及び所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する。例えば、制御部15は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路である。制御部15は、転送パス照合部151及び解析回避コード特定部152(特定部)を有する。
 転送パス照合部151は、実ブラウザログLaと、ブラウザエミュレータログLbとを入力とし、悪性URLに基づき、疑似ブラウザにおいて悪性URLへ転送されない転送パスであって実ブラウザにおいて悪性URLへ転送される転送パスを特定転送パスとして特定する。転送パス照合部151は、実ブラウザ及び疑似ブラウザで取得したアクセスログ(実ブラウザログLa、ブラウザエミュレータログLb)からそれぞれ転送グラフを構築する。そして、転送パス照合部151は、構築した二つの転送グラフについて各転送パス同士を照合して、特定転送パスを特定する。
 具体的には、転送パス照合部151は、実ブラウザログLa及びブラウザエミュレータログLbに含まれる転送元URL情報と転送先URL情報とに基づき転送グラフを構築する(詳細は、例えば、T. Nelms, R. Perdisci, M. Antonakakis, and M. Ahamad, “WebWitness: Investigating, Categorizing, and Mitigating Malware Download Paths”, in Proceedings of USENIX Security Symposium, 2015を参照)。
 そして、転送パス照合部151は、構築した転送グラフにおける各転送パス同士を照合する。転送パス照合部151は、悪性URLデータベース14に記録された悪性URLと、各転送パス内のURLとを照合することによって、各転送パス内の悪性URLを特定する。続いて、転送パス照合部151は、疑似ブラウザにおいて悪性URLへ転送されない転送パスであって実ブラウザにおいて悪性URLへ転送される転送パスを特定する。言い換えると、転送パス照合部151は、照合した転送パスに基づき、実ブラウザに含まれる悪性URLへの転送パスに該当する疑似ブラウザの転送パスを特定転送パスとして特定する。なお、転送パス照合部151は、ドメイン名、パス、クエリキー、クエリバリューを用いて転送パスを照合する。
 解析回避コード特定部152は、転送パス照合部151によって特定された特定転送パスを基に、解析対象のウェブサイトで実行されたJavaScriptコード情報Dcに含まれるJavaScriptコードの中から、解析回避コードを特定する。解析回避コードは、ブラウザ特有の機能或いは実ブラウザと疑似ブラウザとの実装差異を利用して解析を回避するコードである。
 具体的には、解析回避コード特定部152は、転送パス照合部151が特定した特定転送パスのうち末端のURLである末端URLを特定する。解析回避コード特定部152は、実行されたJavaScriptコード情報Dcに含まれるJavaScriptコードの中から、特定した末端URLのアクセスに起因して実行されたJavaScriptコードを、解析回避コードとして特定する。言い換えると、解析回避コード特定部152は、特定した末端URLで実行されたJavaScriptコードを、解析回避コードとして特定する。
 出力部16は、例えば、液晶ディスプレイなどの表示装置、プリンター等の印刷装置、情報通信装置等によって実現される。出力部16は、解析結果等を操作者に対して出力する。
[転送パス照合部の処理]
 次に、転送パス照合部151の処理について具体的に説明する。図2は、図1に示す転送パス照合部151の処理を説明するための図である。図2は、実ブラウザと疑似ブラウザの二つのアクセスログで構築した転送グラフの一例を示す。図2の(a)は、実ブラウザログLaで構築した転送グラフを示し、図2の(b)は、ブラウザエミュレータログLbで構築した転送グラフを示す。
 具体的には、転送パス照合部151は、図2の(a)に示すように、実ブラウザログLaを用いて転送グラフを構築することによって、実ブラウザログLaにおける転送パス(URL1、URL2)、(URL1、URL3、URL5)、(URL1、URL4、URL6、URL7)、(URL1、URL4、URL6、URL8)を取得する。また、転送パス照合部151は、図2の(b)に示すように、ブラウザエミュレータログLbを用いて転送グラフを構築することによって、疑似ブラウザにおける転送パスP11(URL1、URL2)、P12(URL1、URL3、URL5)、P13(URL1、URL4、URL6、URL8)を取得する。
 ここで、URL7が悪性URLである場合を例に説明する。この場合、転送パス照合部151は、悪性URLデータベース14を参照することによって、実ブラウザにおける転送パスP1(URL1、URL4、URL6、URL7)におけるURL7が、悪性URLであることを特定する(図2の(1)参照)。そして、転送パス照合部151は、この悪性URLであるURL7を含む、実ブラウザにおける転送パスP1が悪性URLへの転送パスであることを特定する。
 続いて、転送パス照合部151は、実ブラウザにおける転送パスと、疑似ブラウザにおける転送パスとを照合する(図2の(2)参照)。そして、転送パス照合部151は、疑似ブラウザにおける転送パスP11~P13のうち、実ブラウザにおける悪性URLへの転送パスP1と、同じURLの数が最も多い転送パスP13(URL1、URL4、URL6、URL8)を、疑似ブラウザにおいて悪性URLへ転送されない転送パスであって実ブラウザにおいて悪性URLへ転送される転送パスである特定転送パスとして特定する(図2の(3)参照)。
 そして、解析回避コード特定部152は、実ブラウザの転送パスP1と、疑似ブラウザにおいて特定した転送パスP13との共通ノードにおける末端URLとして、URL6を特定する(図2の(4)参照)。なお、疑似ブラウザにおける転送パスP13内のURL8は、実ブラウザの転送パスに含まれないため、末端URLの特定対象からは除外される。
 これによって、解析回避コード特定部152は、転送パス照合部151が特定した末端URLであるURL6で実行されたJavaScriptコードを、解析回避コードとして特定する。
 続いて、転送パス照合部151の処理の他の例について説明する。図3は、図1に示す転送パス照合部151が実行するURLの分解について説明するための図である。図3に示すように、転送パス照合部151は、URLをドメイン名、パス、クエリキー、クエリバリューに分解する。例えば、転送パス照合部151は、枠Uaに示す「URL:http://a.example/b/c.html?d=e&f=g」を、枠Paに示すように、「ドメイン名:a.example」、「パス:/b/c.html」、「クエリキー:d,f」、「クエリバリュー:e,g」に分解する。
 そして、転送パス照合部151は、転送パスをそれぞれドメイン名、パス、クエリキー、クエリバリューに分解し、分解した各ドメイン名、パス、クエリキー、クエリバリューを用いて転送パス同士を照合する。図4は、図1に示す転送パス照合部151の処理を説明するための図である。図4は、図3で説明したようにURLをドメイン名、パス、クエリキー、クエリバリューに分解して表記した実ブラウザと疑似ブラウザの二つのアクセスログで構築した転送グラフの一例を示す。図4の(a)は、実ブラウザログLaで構築した転送グラフを示し、図4の(b)は、ブラウザエミュレータログLbで構築した転送グラフを示す。
 具体的には、転送パス照合部151は、図4の(a)に示すように、実ブラウザログLaについては、転送パス(domain1/path1?query1、domain2/path2?query2)、(domain1/path1?query1、domain3/path3?query3)、(domain1/path1?query1、domain4/path4?query4、domain5/path5?query5)、(domain1/path1?query1、domain4/path4?query4、domain6/path6?query6)を取得する。また、転送パス照合部151は、図4の(b)に示すように、ブラウザエミュレータログLbについては、転送パスP21(domain1/path1?query1、domain2/path2?query2)、P22(domain1/path1?query1、domain3/path3?query3)、P23(domain1/path1?query1、domain4/path4?query7、domain6/path6?query6)を取得する。
 ここで、「domain5/path5?query5」が悪性URLである場合を例に説明する。この場合、転送パス照合部151は、実ブラウザにおける転送パスP2の「domain5/path5?query5」(図4の(a)の枠U1参照)が、悪性URLであることを特定する(図4の(1)参照)。そして、転送パス照合部151は、「domain5/path5?query5」を含む、実ブラウザにおける転送パスP2が悪性URLへの転送パスであることを特定する。
 そして、転送パス照合部151は、実ブラウザにおける転送パスと、疑似ブラウザにおける転送パスとを照合する(図4の(2)参照)。この場合、疑似ブラウザにおける転送パスP21~P23は、実ブラウザにおける転送パスP2に対し、URLの粒度ではいずれの転送パスも同じURLの数が等しい。すなわち、疑似ブラウザにおける転送パスP21~P23は、実ブラウザログLaにおける転送パスP2に対し、いずれの転送パスも「domain1/path1?query1」と「domain2/path2?query2」または「domain3/path3?query3」または「domain6/path6?query6」の2つのURLが等しい。
 このような場合は、転送パス照合部151は、ドメイン名、パス、クエリキー、クエリバリューの粒度で照合を行い、各粒度で一致する数が最も多いURLを等しいとみなし、転送パスの照合を行う。
 具体的には、転送パス照合部151は、疑似ブラウザにおける転送パスP21~P23のうち、実ブラウザにおける転送パスP2におけるURL「domain4/path4?query4」(図4の枠U2参照)と一致する数が最も多い疑似ブラウザのURLを求める(図4の(3)参照)。
 図4の例では、転送パス照合部151は、実ブラウザにおける転送パスP2におけるURL「domain4/path4?query4」と一致する数が最も多い疑似ブラウザのURLとして、転送パスP23の「domain4/path4?query7」(図4の枠U3参照)を求める。そして、転送パス照合部151は、この転送パスP23の「domain4/path4?query7」(図4の枠U3参照)を、実ブラウザにおける転送パスP2におけるURL「domain4/path4?query4」(図4の枠U2参照)と等しいとみなす。
 なお、転送パス照合部151は、URLの照合粒度のうち、ドメイン名、パス、クエリキー、クエリバリューの全てを考慮して照合を行ってもよいし、ドメイン名、パス、クエリキー、クエリバリューいずれかを考慮するように照合処理を変更してもよい。
 続いて、解析回避コード特定部152は、疑似ブラウザの転送パスP23(domain1/path1?query1、domain4/path4?query7、domain6/path6?query6)上の「domain4/path4?query7」を、末端URLとして特定する(図4の(4)参照)。なお、疑似ブラウザにおける転送パスP23内の「domain6/path6?query6」は、末端URLの特定対象からは除外される。
 そして、解析回避コード特定部152は、特定した末端URLである「domain4/path4?query7」で実行されたJavaScriptコードを、解析回避コードとして特定する。
[解析処理の処理手順]
 図5は、図1に示す解析装置10による解析回避コードを特定するまでの解析処理の処理手順を示すフローチャートである。
 まず、図5に示すように、転送パス照合部151は、実ブラウザ及び疑似ブラウザによるウェブサイトへのアクセスログを取得する(ステップS1)。この場合、転送パス照合部151は、同じ解析対象のウェブサイトに対する実ブラウザログLa、ブラウザエミュレータログLbを取得する。続いて、転送パス照合部151は、悪性URLデータベース14から悪性URLを一つ取得する(ステップS2)。
 そして、転送パス照合部151は、ステップS1において取得した実ブラウザログLaに、ステップS2において取得した悪性URLを含むか否かを判断する(ステップS3)。転送パス照合部151は、取得した実ブラウザログLaに悪性URLを含むと判断した場合(ステップS3:Yes)、ステップS4に進む。
 転送パス照合部151は、ステップS1において取得した疑似ブラウザのアクセスログ(ブラウザエミュレータログLb)に、ステップS2において取得した悪性URLを含まないか否かを判断する(ステップS4)。
 ブラウザエミュレータログLbに悪性URLを含まないと転送パス照合部151が判断した場合(ステップS4:Yes)、転送パス照合部151及び解析回避コード特定部152は、悪性転送パスの照合処理を行う(ステップS5)。このステップS5の処理においては、転送パス照合部151及び解析回避コード特定部152は、実ブラウザログLa、ブラウザエミュレータログLb、及び、解析対象のウェブサイトにおいて実行されたJavaScriptコード情報Dcを入力とする。そして、転送パス照合部151は、ステップS5の処理においては、実ブラウザ中の悪性URLへの転送パスに該当する疑似ブラウザログ中の転送パスを照合し、解析回避コード特定部152は、照合して得られた疑似ブラウザログ中の転送パスの末端URLを特定する。続いて、解析回避コード特定部152は、実行されたJavaScriptコード情報Dcから、特定した末端URLへのアクセスに起因して実行されたJavaScriptコードを解析回避コードとして特定する。
 そして、転送パス照合部151が、取得した実ブラウザログLaに悪性URLを含まないと判断した場合(ステップS3:No)、ブラウザエミュレータログLbに悪性URLを含むと判断した場合(ステップS4:No)、或いは、悪性転送パスの照合処理を終了した場合、ステップS6に進む。転送パス照合部151は、ステップS6として、取得した実ブラウザログLa及びブラウザエミュレータログLbに対し、悪性URLデータベース14に含まれるすべての悪性URLを照合したか否かを判断する(ステップS6)。
 転送パス照合部151は、悪性URLデータベース14に含まれるすべての悪性URLを照合していないと判断した場合(ステップS6:No)、ステップS2に戻り、次に照合対象となる悪性URLを悪性URLデータベース14から取得する。一方、転送パス照合部151は、悪性URLデータベース14に含まれるすべての悪性URLを照合したと判断した場合(ステップS6:Yes)、解析結果を出力して、解析処理を終了する。
[悪性転送パスの照合処理の処理手順]
 次に、図5に示す悪性転送パスの照合処理の処理手順について説明する。図6は、図5に示す悪性転送パスの照合処理の処理手順を示すフローチャートである。
 まず、図6に示すように、転送パス照合部151は、実ブラウザログLa内におけるルートURLから悪性URLまでの転送パス-A(URLのリスト)を取得する(ステップS7)。次に、転送パス照合部151は、疑似ブラウザのアクセスログ(ブラウザエミュレータログLb)内におけるルートURLから各末端URLまでの転送パス群-Bを取得する(ステップS8)。転送パス照合部151は、このステップS7,S8の処理において、図2を用いて説明したように、アクセスログに含まれる転送元URL情報と転送先URL情報とに基づき転送グラフを構築することによって転送パスを取得する。或いは、転送パス照合部151は、アクセスログに含まれるURLをドメイン名、パス、クエリキー、クエリバリューに分解後に転送グラフを構築することによって転送パスを取得する。
 転送パス照合部151は、取得した転送パス群-Bから一つずつ転送パスを取得し、転送パス-Aに含まれるURLと最もマッチした数の多い転送パス-Cを取得する(ステップS9)。そして、転送パス照合部151は、取得した転送パス-Cが単一か否かを判断する(ステップS10)。
 転送パス照合部151は、取得した転送パス-Cが単一でない、すなわち、転送パス-Cが複数あると判断した場合(ステップS10:No)、ステップS11に進む。
 転送パス照合部151は、ステップS11において、転送パス-A及び転送パス群-Bに含まれるURLをドメイン名、パス、クエリ(クエリキー、クエリバリュー)に分解し、転送パス群-Bの転送パスの内、転送パス-A内のURLと最もマッチした数の多い転送パス-Cを取得する。すなわち、転送パス照合部151は、ステップS11において、ステップS9におけるURLの照合処理と同様に、URLごとに、転送パス-Aと転送パス群-Bとにおけるドメイン名、パス、クエリをそれぞれ照合し、最もマッチした数の多い転送パス-Cを取得する。転送パス照合部151が取得した転送パス-Cは、疑似ブラウザにおいて悪性URLへ転送されない転送パスであって実ブラウザにおいて悪性URLへ転送される転送パスである特定転送パスである。
 なお、転送パス照合部151は、ステップS11を行っても転送パス-Cが一つに定まらない場合は、例えば、複数の転送パス-Cの中からランダムに選択した一つの転送パスを転送パス-Cとする。
 転送パス-Cが単一であると転送パス照合部151が判断した場合(ステップS10:Yes)、または、ステップS11の処理が終了した場合、解析回避コード特定部152は、ステップS12の処理を実行する。すなわち、解析回避コード特定部152は、実行されたJavaScriptコード情報Dcに含まれるJavaScriptコードの中から、転送パス照合部151が取得した転送パス-Cの末端URLにおいて実行されたJavaScriptコードを、攻撃回避コードとして取得し、悪性転送パスの照合処理を終了する。
[実施の形態の効果]
 上述のように、本実施の形態では、解析対象のウェブサイトのURLに対する実ブラウザログLa及びブラウザエミュレータログLbを入力とし、悪性URLに基づいて疑似ブラウザにおいて悪性URLへ転送されない転送パスであって実ブラウザにおいて悪性URLへ転送される転送パスを特定転送パスとして特定し、該特定した転送パスを基に、ウェブサイトにおいて実行されたスクリプトコードの中から解析回避コードを特定している。
 したがって、実施の形態によれば、これまで特定が難しかった、ブラウザ特有の機能或いは実ブラウザと疑似ブラウザとの実装差異を利用して解析を回避する解析回避コードの特定することが可能になる。そして、本実施の形態によれば、特定した解析回避コードを手動等で解析することによって、解析回避コードの特定の効率化、悪性ウェブサイト検知のためのシグネチャの生成、疑似ブラウザの文字性能の改善を図ることができる。
 また、本実施の形態では、実ブラウザ及び当該実ブラウザ環境を模擬する疑似ブラウザで取得したアクセスログからそれぞれ転送グラフを構築し、構築した二つの転送グラフについて各転送パス同士を照合する。この結果、本実施の形態では、特定転送パスを適切に特定することができる。そして、本実施の形態では、この特定した転送パスのうちの末端URLを求め、実行されたJavaScriptコードの中から末端URLのアクセスに起因して実行されたJavaScriptコードを特定することによって、解析回避コードを適切に特定することができる。
 また、本実施の形態では、疑似ブラウザにおいて悪性URLへ転送されない転送パスであって実ブラウザにおいて悪性URLへ転送される転送パスが複数ある場合であっても、ドメイン名、パス、クエリキー、クエリバリューを用いて転送パスを分解した上で転送パスの照合を行う。このため、本実施の形態によれば、特定転送パスを適切に特定することができ、解析回避コードの特定も適切に実行することができる。
[システム構成等]
 図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
 また、本実施の形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部又は一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
 図7は、プログラムが実行されることにより、解析装置10が実現されるコンピュータの一例を示す図である。コンピュータ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を記憶する。すなわち、解析装置10の各処理を規定するプログラムは、コンピュータ1000により実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、解析装置10における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
 また、上述した実施の形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
 なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN、WAN等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
 以上、本発明者によってなされた発明を適用した実施の形態について説明したが、本実施の形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施の形態に基づいて当業者等によりなされる他の実施の形態、実施例及び運用技術等は全て本発明の範疇に含まれる。
 10 解析装置
 11 入力部
 12 通信部
 13 記憶部
 14 悪性URLデータベース
 15 制御部
 16 出力部
 151 転送パス照合部
 152 解析回避コード特定部

Claims (6)

  1.  ウェブサイトのコンテンツ及びスクリプトコードを解析する解析装置であって、
     実システムのブラウザである実ブラウザにおける解析対象のウェブサイトのURL(Uniform Resource Locator)へのアクセスログと、前記実ブラウザの環境を模擬する疑似ブラウザにおける前記解析対象のウェブサイトのURLへのアクセスログとを入力とし、悪性URLに基づき、前記疑似ブラウザにおいて前記悪性URLへ転送されない転送パスであって前記実ブラウザにおいて前記悪性URLへ転送される転送パスを特定転送パスとして特定する転送パス照合部と、
     前記特定転送パスを基に、前記ウェブサイトにおいて実行されたスクリプトコードの中から、ブラウザ特有の機能或いは前記実ブラウザと前記疑似ブラウザとの実装差異を利用して解析を回避する解析回避コードを特定する特定部と、
     を有することを特徴とする解析装置。
  2.  前記転送パス照合部は、前記実ブラウザ及び前記疑似ブラウザのアクセスログからそれぞれ転送グラフを構築し、構築した二つの転送グラフについて各転送パス同士を照合して前記特定転送パスを特定し、
     前記特定部は、前記特定転送パスのうちの末端のURLを特定し、前記ウェブサイトにおいて実行されたスクリプトコードの中から、特定した前記末端のURLのアクセスに起因して実行されたスクリプトコードを、前記解析回避コードとして特定することを特徴とする請求項1に記載の解析装置。
  3.  前記転送パス照合部は、ドメイン名、パス、クエリキー、クエリバリューの少なくとも一つを用いて転送パスを照合することを特徴とする請求項1または2に記載の解析装置。
  4.  前記転送パス照合部は、ドメイン名、パス、クエリキー、クエリバリューの少なくとも一つの粒度で転送パスの照合を行い、各粒度で一致する数が最も多いURLを等しいとみなすことを特徴とする請求項3に記載の解析装置。
  5.  ウェブサイトのコンテンツ及びスクリプトコードを解析する解析装置が実行する解析方法であって、
     実システムのブラウザである実ブラウザにおける解析対象のウェブサイトのURLへのアクセスログと、前記実ブラウザの環境を模擬する疑似ブラウザにおける前記解析対象のウェブサイトのURLへのアクセスログとを入力とし、悪性URLに基づき、前記疑似ブラウザにおいて前記悪性URLへ転送されない転送パスであって前記実ブラウザにおいて前記悪性URLへ転送される転送パスを特定転送パスとして特定する工程と、
     前記特定転送パスを基に、前記ウェブサイトにおいて実行されたスクリプトコードの中から、ブラウザ特有の機能或いは前記実ブラウザと前記疑似ブラウザとの実装差異を利用して解析を回避する解析回避コードを特定する工程と、
     を含んだことを特徴とする解析方法。
  6.  コンピュータを、請求項1~4のいずれか一つに記載の解析装置として機能させるための解析プログラム。
PCT/JP2017/029066 2017-01-11 2017-08-10 解析装置、解析方法及び解析プログラム WO2018131200A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP17891283.8A EP3547193B1 (en) 2017-01-11 2017-08-10 Analysis apparatus, analysis method and analysis program
JP2018561795A JP6666475B2 (ja) 2017-01-11 2017-08-10 解析装置、解析方法及び解析プログラム
US16/476,551 US11163882B2 (en) 2017-01-11 2017-08-10 Analysis apparatus, analysis method, and analysis program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-002378 2017-01-11
JP2017002378 2017-01-11

Publications (1)

Publication Number Publication Date
WO2018131200A1 true WO2018131200A1 (ja) 2018-07-19

Family

ID=62839415

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/029066 WO2018131200A1 (ja) 2017-01-11 2017-08-10 解析装置、解析方法及び解析プログラム

Country Status (4)

Country Link
US (1) US11163882B2 (ja)
EP (1) EP3547193B1 (ja)
JP (1) JP6666475B2 (ja)
WO (1) WO2018131200A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN119622727A (zh) * 2025-02-11 2025-03-14 广州技客信息科技有限公司 用于指纹浏览器的软件安全检测方法及系统

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102113966B1 (ko) 2019-11-25 2020-05-21 숭실대학교산학협력단 분석회피기법 우회 장치, 방법 및 이를 수행하기 위한 프로그램을 기록한 기록매체
CN114640492B (zh) * 2020-12-16 2024-08-20 深信服科技股份有限公司 一种url检测方法、系统、设备及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014071796A (ja) * 2012-10-01 2014-04-21 Nec Corp マルウェア検知装置、マルウェア検知システム、マルウェア検知方法、及びプログラム
WO2015087835A1 (ja) * 2013-12-10 2015-06-18 日本電信電話株式会社 Urlマッチング装置、urlマッチング方法、および、urlマッチングプログラム
WO2016024480A1 (ja) * 2014-08-11 2016-02-18 日本電信電話株式会社 ブラウザエミュレータ装置、構築装置、ブラウザエミュレート方法、ブラウザエミュレートプログラム、構築方法、および、構築プログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7774459B2 (en) * 2006-03-01 2010-08-10 Microsoft Corporation Honey monkey network exploration
US9015843B2 (en) * 2010-12-03 2015-04-21 Microsoft Corporation Predictive malware threat mitigation
US8966636B2 (en) * 2012-10-16 2015-02-24 International Business Machines Corporation Transforming unit tests for security testing
US10416970B2 (en) 2014-10-14 2019-09-17 Nippon Telegraph And Telephone Corporation Analysis device, analysis method, and analysis program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014071796A (ja) * 2012-10-01 2014-04-21 Nec Corp マルウェア検知装置、マルウェア検知システム、マルウェア検知方法、及びプログラム
WO2015087835A1 (ja) * 2013-12-10 2015-06-18 日本電信電話株式会社 Urlマッチング装置、urlマッチング方法、および、urlマッチングプログラム
WO2016024480A1 (ja) * 2014-08-11 2016-02-18 日本電信電話株式会社 ブラウザエミュレータ装置、構築装置、ブラウザエミュレート方法、ブラウザエミュレートプログラム、構築方法、および、構築プログラム

Non-Patent Citations (10)

* Cited by examiner, † Cited by third party
Title
A. KAPRAVELOSY. SHOSHITAISHVILIM. COVAC. KRUEGELG. VIGNA: "Revolver: An Automated Approach to the Detection of Evasive Web-based Malware", PROCEEDINGS OF THE USENIX SECURITY SYMPOSIUM, 2013
C. F. TORRESH. JONKERS. MAUW: "FP-Block: usable web privacy by controlling browser fingerprinting", PROC. EUROPEAN SYMPOSIUM ON RESEARCH IN COMPUTER SECURITY, 2015, pages 1 - 17
L. LUV. YEGNESWARANP. PORRASW. LEE: "BLADE: An Attack-Agnostic Approach for Preventing Drive-By Malware Infections", PROC. ACM ON CONFERENCE COMPUTER AND COMMUNICATIONS SECURITY, 2010, pages 440 - 450
M. COVAC. KRUEGELG. VIGNA: "Detection and Analysis of Drive-by-Download Attacks and Malicious JavaScript Code", PROC. WORLD WIDE WEB CONFERENCE, 2010, pages 281 - 290
MOZILLA DEVELOPER NETWORK, VENDOR PREFIX, 7 November 2016 (2016-11-07), Retrieved from the Internet <URL:https://developer.mozilla.org/en-US/docs/Glossary/Vendor_Prefix>
N. NIKIFORAKISA. KAPRAVELOSW. JOOSENC. KRUEGELF. PIESSENSG. VIGNA: "Cookieless Monster: Exploring the Ecosystem of Web-based Device Fingerprinting", PROC. IEEE SYMPOSIUM ON SECURITY AND PRIVACY, 2013
See also references of EP3547193A4
T. NELMSR. PERDISCIM. ANTONAKAKISM. AHAMAD: "WebWitness: Investigating, Categorizing, and Mitigating Malware Download Paths", PROCEEDINGS OF USENIX SECURITY SYMPOSIUM, 2015
TATSUYA NAGAI: "Multi Kankyo deno Drive-by-Download Kogeki no Link Kozo Kaiseki ni Tsuite", IEICE TECHNICAL REPORT. ICSS, vol. 116, no. 80, 6 June 2016 (2016-06-06), pages 63 - 68, XP009515464, ISSN: 0913-5685 *
Y. TAKATAM. AKIYAMAT. YAGIT. HARIUS. GOTO: "MineSpider: Extracting Hidden URLs Behind Evasive Drive-by Download Attacks", IEICE TRANS. INFORMATION AND SYSTEM, vol. E99.D, no. 4, 2016, pages 860 - 872

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN119622727A (zh) * 2025-02-11 2025-03-14 广州技客信息科技有限公司 用于指纹浏览器的软件安全检测方法及系统

Also Published As

Publication number Publication date
US20190325136A1 (en) 2019-10-24
US11163882B2 (en) 2021-11-02
EP3547193A4 (en) 2020-07-08
JPWO2018131200A1 (ja) 2019-04-18
EP3547193A1 (en) 2019-10-02
EP3547193B1 (en) 2021-11-24
JP6666475B2 (ja) 2020-03-13

Similar Documents

Publication Publication Date Title
RU2634211C1 (ru) Способ и система анализа протоколов взаимодействия вредоносных программ с центрами управления и выявления компьютерных атак
KR102362516B1 (ko) 사이버 위협 정보 처리 장치, 사이버 위협 정보 처리 방법 및 사이버 위협 정보 처리하는 프로그램을 저장하는 저장매체
Costin et al. A {Large-scale} analysis of the security of embedded firmwares
US10313370B2 (en) Generating malware signatures based on developer fingerprints in debug information
KR102447279B1 (ko) 사이버 위협 정보 처리 장치, 사이버 위협 정보 처리 방법 및 사이버 위협 정보 처리하는 프로그램을 저장하는 저장매체
KR102396237B1 (ko) 사이버 위협 정보 처리 장치, 사이버 위협 정보 처리 방법 및 사이버 위협 정보 처리하는 프로그램을 저장하는 저장매체
KR102424014B1 (ko) 사이버 위협 정보 처리 장치, 사이버 위협 정보 처리 방법 및 사이버 위협 정보 처리하는 프로그램을 저장하는 저장매체
JP6687761B2 (ja) 結合装置、結合方法および結合プログラム
KR102420884B1 (ko) 사이버 위협 정보 처리 장치, 사이버 위협 정보 처리 방법 및 사이버 위협 정보 처리하는 프로그램을 저장하는 저장매체
JP6450022B2 (ja) 解析装置、解析方法、および、解析プログラム
Lamprakis et al. Unsupervised detection of APT C&C channels using web request graphs
KR102432649B1 (ko) 사이버 위협 정보 처리 프로세서, 사이버 위협 정보 처리 방법 및 사이버 위협 정보 처리하는 프로그램을 저장하는 저장매체
US20240054215A1 (en) Cyber threat information processing apparatus, cyber threat information processing method, and storage medium storing cyber threat information processing program
JP5752642B2 (ja) 監視装置および監視方法
EP3799367B1 (en) Generation device, generation method, and generation program
JP6666475B2 (ja) 解析装置、解析方法及び解析プログラム
Sharif Web attacks analysis and mitigation techniques
KR102411383B1 (ko) 사이버 위협 정보 처리 장치, 사이버 위협 정보 처리 방법 및 사이버 위협 정보 처리하는 프로그램을 저장하는 저장매체
KR102437376B1 (ko) 사이버 위협 정보 처리 장치, 사이버 위협 정보 처리 방법 및 사이버 위협 정보 처리하는 프로그램을 저장하는 저장매체
KR102396236B1 (ko) 사이버 위협 정보 처리 장치, 사이버 위협 정보 처리 방법 및 사이버 위협 정보 처리하는 프로그램을 저장하는 저장매체
EP4386597A1 (en) Cyber threat information processing device, cyber threat information processing method, and storage medium storing cyber threat information processing program
JP6527111B2 (ja) 解析装置、解析方法および解析プログラム
KR20210076455A (ko) Xss 공격 검증 자동화 방법 및 그 장치
KR102396238B1 (ko) 사이버 위협 정보 처리 장치, 사이버 위협 정보 처리 방법 및 사이버 위협 정보 처리하는 프로그램을 저장하는 저장매체
KR102447280B1 (ko) 사이버 위협 정보 처리 장치, 사이버 위협 정보 처리 방법 및 사이버 위협 정보 처리하는 프로그램을 저장하는 저장매체

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: 17891283

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2018561795

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2017891283

Country of ref document: EP

Effective date: 20190627

NENP Non-entry into the national phase

Ref country code: DE