WO2019027106A1 - System for analyzing degree of risk for malicious code distribution site by using machine learning - Google Patents

System for analyzing degree of risk for malicious code distribution site by using machine learning Download PDF

Info

Publication number
WO2019027106A1
WO2019027106A1 PCT/KR2017/014233 KR2017014233W WO2019027106A1 WO 2019027106 A1 WO2019027106 A1 WO 2019027106A1 KR 2017014233 W KR2017014233 W KR 2017014233W WO 2019027106 A1 WO2019027106 A1 WO 2019027106A1
Authority
WO
WIPO (PCT)
Prior art keywords
malicious code
malicious
unit
url
code
Prior art date
Application number
PCT/KR2017/014233
Other languages
French (fr)
Korean (ko)
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 주식회사 에프원시큐리티
Publication of WO2019027106A1 publication Critical patent/WO2019027106A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • 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
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis

Definitions

  • the present invention relates to a risk analysis system for malicious code, and more particularly, to a risk analysis system for malicious code by analyzing a malicious code in a web site And it is periodically checked whether the code that distributes malicious program is inserted into the website and detected before the malicious code is distributed and informed to the system administrator or the control system so that malicious code And a risk analysis system.
  • Malicious code refers to software designed to infiltrate, install, damage the system or network, and illegally obtain information from the computer system without the user's knowledge.
  • various malicious code analysis and detection researches are actively carried out, but it is a reality that there are many limitations to cope with malicious codes that become more intelligent and sophisticated day by day.
  • Static analysis is a method of analyzing without executing malicious code.
  • Binary pattern matching, data flow and code flow analysis are typical static analysis techniques.
  • the static analysis technique has the merit that safe and quick analysis is easy because it excludes the execution of malicious code, but it has a disadvantage that accurate analysis is not easy.
  • Dynamic analysis is a technique to analyze malicious code by operating in a controllable environment such as a virtual machine. It has an advantage that accurate actual behavior can be seen regardless of code obfuscation such as execution compression.
  • the dynamic analysis technique has a disadvantage that it takes a lot of time to observe the contamination possibility and behavior of the experimental environment according to actual malicious code execution.
  • a first object of the present invention to solve such a problem is to insert malicious code distribution code into a web site, thereby detecting malicious code in a target web server, And to provide a code analysis system for risk analysis.
  • the second object of the present invention is to provide a risk analysis system for malicious code that can periodically check whether a code for distributing a malicious program is inserted into a web site and detect it before a malicious code is distributed to a system administrator or a control system .
  • the third object of the present invention is to detect the malicious code bubble and analyze the risk of analyzing whether the actual malicious code distribution is activated on the web site found as the bubble, and based on this, the repeatability of the malicious code bubble, And the malicious code is activated, the risk probability is derived, and by learning it continuously, it is possible to provide a risk analysis system of malicious code which can bring accuracy to the risk analysis.
  • the present invention provides a malicious code distribution risk analysis system, comprising: a web crawling system for generating a copy of a link page up to a predetermined depth of a URL accessed by a user, A malicious code distribution pattern analyzing unit for analyzing a malicious code distribution pattern using HTML parsed by the HTML parsing unit; a malicious code distribution pattern analyzing unit for analyzing the malicious code distribution pattern analyzed by the malicious code distribution pattern analysis unit; A malicious code DB detection unit for detecting malicious code distribution URLs using the malicious code distribution URL, a malicious code DB unit for storing contents of the malicious code distribution URLs, and a malicious code distribution URL, And a malicious code URL access blocking unit that blocks the malicious code.
  • the risk analysis system for malicious code may further include a script obfuscation processing unit for decoding the malicious code distribution pattern to analyze the malicious code distribution pattern.
  • the risk analysis system for malicious code may further include a DOM and a BOM generator for generating a DOM or a BOM using HTML parsed by the HTML parser.
  • the risk analysis system for malicious code may further include a script engine unit for generating a scenario script according to a copy generated by the web crawler and performing an operation according to the generated script.
  • the risk analysis system for malicious code may further include a risk analysis unit for analyzing the risk of malicious code using at least one of a malicious code distribution pattern and a malicious code distribution URL.
  • the risk analysis unit includes an RNN learning module that uses a recurrent neural network (RNN) to derive a risk probability according to variables including the latestness, repeatability, and malicious code activation of a malicious code bubble .
  • RNN recurrent neural network
  • the malicious code DB unit may store the risk probability derived by the RNN learning module and update the content of the malicious code distribution URL by reflecting the risk probability.
  • the malicious code is detected, and the web site that is detected as the e-mail is analyzed to determine whether the actual distribution of malicious code is active. Based on the result, the repeatability of malicious code, , The risk probability is derived, and by learning it continuously, the accuracy of the risk analysis can be obtained.
  • synergy effect can be expected in connection with security control service, and it is effective to increase customer trust and direct / indirect profit through secure internet environment and stable web service provision of company / public institution.
  • FIG. 1 is a diagram showing a schematic configuration of a risk analysis system for malicious code, which is an embodiment of the present invention.
  • FIG. 2 is a diagram showing an example of codes before and after decoding by the script obfuscation processing unit, which is a constitution of the present invention.
  • FIG. 3 is a diagram showing a schematic configuration of a risk analysis unit, which is an embodiment of the present invention.
  • FIG. 4 is a diagram schematically showing a learning method of an RNN learning module which is a constitution of the present invention.
  • FIG. 5 is a diagram illustrating a result of a risk probability derivation according to a learning method of an RNN learning module, which is one configuration of the present invention.
  • FIG. 6 is a block diagram specifically illustrating a malicious code distribution risk analysis system according to another embodiment of the present invention.
  • FIG. 7 is a block diagram illustrating a procedure for distributing a malicious code on a web site and a process for monitoring malicious code distribution.
  • FIG. 8 is a configuration diagram specifically showing the monitoring server shown in FIG.
  • FIG. 9 is a diagram illustrating a method of analyzing malicious code and malicious code distribution patterns of the MC spread pattern analyzing engine and MC breaker shown in FIG.
  • FIG. 10 is a flowchart illustrating an operation of analyzing HTML content of the HTML content analysis engine shown in FIGS. 8 and 9.
  • FIG. 10 is a flowchart illustrating an operation of analyzing HTML content of the HTML content analysis engine shown in FIGS. 8 and 9.
  • FIG. 11 is a flowchart illustrating a malicious program distribution pattern detection operation of the MC distribution pattern analysis engine shown in FIG. 8 and FIG. 9.
  • FIG. 11 is a flowchart illustrating a malicious program distribution pattern detection operation of the MC distribution pattern analysis engine shown in FIG. 8 and FIG. 9.
  • FIG. 11 is a flowchart illustrating a malicious program distribution pattern detection operation of the MC distribution pattern analysis engine shown in FIG. 8 and FIG. 9.
  • FIG. 12 is a diagram showing an example of detection of a malicious code distribution pattern and a malicious code distribution pattern.
  • FIG. 13 is a flowchart showing a malicious code decoding and detection operation of the MC decoding processing engine shown in FIGS. 8 and 9.
  • FIG. 13 is a flowchart showing a malicious code decoding and detection operation of the MC decoding processing engine shown in FIGS. 8 and 9.
  • FIG. 14 is a diagram illustrating a malicious code and a malicious code decoding process and an example of detection.
  • &quot when an element is referred to as " comprising ", it means that it can include other elements as well, without excluding other elements unless specifically stated otherwise.
  • " "... ",” ... Unit, “” module, “” device, “and the like refer to a unit that processes at least one function or operation, which may be implemented as a combination of hardware and / or software.
  • first, second, etc. terms including ordinal numbers such as first, second, etc. may be used to describe various elements, but the elements are not limited to these terms. The terms are used only for the purpose of distinguishing one component from another.
  • first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.
  • / or < / RTI &gt includes any combination of a plurality of related listed items or any of a plurality of related listed items.
  • 'module' or 'sub' performs at least one function or operation, and may be implemented in hardware or software, or a combination of hardware and software.
  • a plurality of 'modules' or a plurality of 'parts' may be integrated into at least one module except for 'module' or 'module' which needs to be implemented by specific hardware, and may be implemented by at least one processor.
  • FIG. 1 is a diagram showing a schematic configuration of a risk analysis system for malicious code 10, which is an embodiment of the present invention
  • FIG. 2 is a diagram showing an example of codes before and after decoding by a script obfuscation processing unit, .
  • the risk analysis system 10 includes a web crawling unit 100, an HTML parsing unit 200, a malicious code distribution pattern analyzing unit 300, a malicious code distribution URL detecting unit 400, The malicious code DB unit 500, the malicious code URL access blocking unit 600, the script obfuscation processing unit 700, the DOM and BOM generation unit 800, the script engine unit 900 and the risk analysis unit 1000 can do.
  • the web crawling unit 100 can generate a copy of the link page up to a predetermined depth of the URL the user has accessed and index the generated copy.
  • the web crawler 100 accesses a web site and a homepage operated by a web providing server (not shown) and uses contents provided from a web site and a homepage up to a predetermined depth, (E.g., script code, etc.).
  • a predetermined depth (E.g., script code, etc.).
  • the web crawler 100 When the risk probability of a specific URL is equal to or greater than a predetermined threshold value, the web crawler 100 generates a copy of all link pages including a predetermined depth as well as sub links of a specific URL, can do.
  • the web crawler unit 100 sets a predetermined depth to the full depth, generates a copy of all the link pages of the specific URL, Indexing can be performed.
  • the web crawler 100 accesses a web site operated by a web providing server (not shown) and a homepage and uses all the contents provided by the entire web site and the homepage
  • a distribution code and an execution code (for example, script code, etc.) generated when content is provided can be provided.
  • the malicious code distribution pattern analyzing unit 300 analyzes malicious code distribution patterns based on the distribution codes and execution codes and analyzes the distribution patterns of malicious codes more accurately .
  • malicious code distribution can be detected more widely.
  • the HTML parsing unit 200 may parse the HTML of the generated copy.
  • the HTML parsing unit 200 receives the Http / Https URL of the HTML content generated according to the operation of the script engine unit 900, and sequentially parses and analyzes the HTML content.
  • the script obfuscation processing unit 700 may decode the malicious code distribution pattern in order to analyze the malicious code distribution pattern.
  • the script obfuscation processing unit 700 sequentially loads the URLs sequentially generated according to the operation of the script engine unit 900, the scripts of the voiced code generated when the HTML contents are provided and the malicious code in real time, .
  • the HTML parsing unit 200 sequentially parses and analyzes the URL, the script of the distributed code, and the script of the malicious code, and the DOM and BOM generation unit 800 generates the DOM and the BOM by using the HTML parsed by the HTML parsing unit 200 Can be used to generate DOM or BOM.
  • the script obfuscation processing unit 700 compares the script of the DOM or the BOM with the decoding information of the dropper, the keylog, the data outflow file, the malicious program distribution script, and the malicious code script stored in the malicious code DB unit 500 And can detect the dropper, the keylog, the data leakage file, the malicious code, the malicious code access URL, and the malicious program distributed code by decoding in real time.
  • the script obfuscation processing unit 700 decodes at least one URL or codes of a URL generated sequentially by the script engine unit 900, a distributed code generated when providing HTML contents, and a script code in real time.
  • the malicious URL access blocking unit 600 may block the URL generated according to the detection result, the inflow code generated when the HTML content is provided, and the script code inflow and connection.
  • the malicious code distribution pattern analyzing unit 300 can analyze the malicious code distribution pattern using the HTML parsed by the HTML parsing unit 200.
  • the malicious code distribution pattern analyzing unit 300 can analyze the malicious code distribution pattern using the decoded HTML after the script obfuscation processing unit 700 decodes the HTML parsed by the HTML parsing unit 200 .
  • the malicious code distribution pattern analyzing unit 300 analyzes the contents provided on the web site and the homepage, the distribution codes and execution codes generated when the contents are provided, in real time, and stores the contents of the droppers, the keyboard, the data leakage file, A malicious code access URL, a malicious program distribution code, and a malicious program distribution pattern.
  • the malicious code distribution pattern analyzing unit 300 analyzes execution codes such as a URL sequentially generated according to an operation of the script engine unit 900, a distributed code generated when content is provided, and a script code to the malicious code DB unit 500, the pattern information used for distributing the malicious code, and the attribute value of at least one of src, width, and height to check whether there is a malicious code distribution pattern.
  • the malicious code distribution URL detection unit 400 can detect a malicious code distribution URL using the malicious code distribution pattern analyzed by the malicious code distribution pattern analysis unit 300.
  • the malicious code distributed URL detection unit 400 detects malicious code based on the URL, the malicious code access URL generated when the HTML content is provided, the malicious program distribution URL, Code and malware spread patterns.
  • the malicious code distribution pattern analysis unit 300 may use the decoding result of the script obfuscation processing unit 700 to generate an inline frame (iframe) tag, an inline frame ) Tag, an embedded tag, an object tag, a link tag, a script tag, and a JavaScript tag.
  • the malicious code distribution pattern analysis unit 300 refers to and compares at least one attribute value among src, width, and height in the HTML content to check for and detect the presence or absence of a pattern used for malicious code distribution.
  • the malicious code DB unit 500 may store the content of the malicious code distributed URL.
  • the content of the malicious code distribution URL stored in the malicious code DB unit 500 may include the physical location of the server, the user, the type of business information, and the like.
  • the malicious URL access blocking unit 600 may block access to the corresponding URL of the user terminal (not shown) when the specific URL is determined to be a malicious code distribution URL.
  • the malicious URL access blocking unit 600 can transmit, through wireless communication, that a specific URL is determined to be a malicious code distribution URL by an administrator terminal (not shown).
  • a user terminal (not shown) and an administrator terminal (not shown) may be implemented by various electronic devices such as a smart phone, a smart watch, a desktop PC, a tablet PC, a notebook PC and the like.
  • the malicious code URL access interception unit 600 intercepts the malicious code distribution pattern analysis result of the malicious code distribution pattern analysis unit 300 and the detection result of the malicious program distribution code of the malicious code distribution URL detection unit 400 You can block URLs and malicious code access URLs accordingly.
  • the script engine unit 900 may generate the scenario script according to the copy generated by the web crawler unit 100 and may perform an operation according to the generated script.
  • the script engine unit 900 can also use the distributed code and the executable code (for example, script code) provided from the web providing server (not shown) by the web crawler unit 100, Can be sequentially performed.
  • the executable code for example, script code
  • the risk analysis unit 1000 can analyze the risk of malicious code using at least one of a malicious code distribution pattern and a malicious code distribution URL.
  • the risk analysis unit 1000 can use the Recurrent Neural Network (RNN) to derive a risk probability according to variables including the latestness, repeatability, and malicious code activation of malicious code have.
  • RNN Recurrent Neural Network
  • the malicious code DB unit 500 may store the risk probability derived by the risk analysis unit 1000 and update the content of the malicious code distribution URL by reflecting the risk probability.
  • the risk analysis unit 1000 controls the web crawler 100 to perform a copy creation and indexing of the link page with respect to the IP band, the host, and the similar industry related to the malicious code distribution URL .
  • the risk analysis unit 1000 can derive IP information for a similar domain, and the malicious code URL access blocking unit 600 can block access to a specific URL .
  • FIG. 3 is a diagram showing a schematic configuration of a risk analysis unit, which is a constitution of the present invention.
  • FIG. 4 is a diagram schematically showing a learning method of an RNN learning module, which is a constitution of the present invention.
  • FIG. 4 is a diagram showing a result of a risk probability derivation according to a learning method of an RNN learning module as a constituent;
  • the risk analysis unit may include an RNN learning module 1010 and a spreadsheet risk classification module 1020.
  • the RNN learning module 1010 can derive a risk probability according to a variable including the latestness, repeatability, and malicious code activation of a malicious code bubble using a recurrent neural network (RNN).
  • RNN recurrent neural network
  • the latest malware epidemic is to determine whether malicious code has been distributed for a predetermined period based on the current time, and the repeatability of the malicious code spool means the number of times that malicious code is distributed, Whether the actual malicious program is downloaded (file verification by comparing the hash value) or whether the malicious program is executed or not is determined.
  • the RNN learning module 1010 inputs to the input layer the variables (X1, X2, and X3) of the above malicious code, the repeatability and the malicious code activation
  • the output values of y1, y2, and y3 in the output layer for a specific URL can be derived using a predetermined algorithm or pre-input function.
  • the RNN learning module 1010 can derive a risk probability using the derived output value, and determine whether the risk probability is higher or lower than the predetermined threshold Or low.
  • the spreadsheet risk classification module 1020 can classify a particular URL as high risk or low risk according to the risk determination result of the RNN learning module 1010.
  • the malicious code DB unit 500 may control the malicious code DB unit 500 to store the risk probability derived from the malicious code DB unit 500 and the malicious code DB unit 500 may reflect the risk probability You can control to update the contents of malicious code distribution URLs.
  • the risk classification module 1020 controls the web crawler 100 to perform a copy creation and indexing of the link page with respect to the IP band, the host, and the similar industry related to the malicious code distribution URL can do.
  • the malware risk classification module 1020 can derive IP information for a similar domain, and the malicious code URL access blocking unit 600 can prevent access to a specific URL Can be controlled.
  • the risk can be calculated using machine learning through the above-described risk analysis unit 1000, the accuracy and efficiency of the risk calculation are improved and the malicious code There is an effect that the seeking rate can be remarkably lowered.
  • the risk analysis unit 1000 has an advantage that it can automatically update using the machine learning.
  • FIG. 6 is a block diagram specifically illustrating a malicious code distribution risk analysis system according to another embodiment of the present invention.
  • 7 is a block diagram illustrating a process for distributing a malicious code on a web site and a process for monitoring malicious code distribution.
  • the risk analysis system for malicious code includes a web providing server 1200, a web providing server 1200 for providing a web site and a homepage service to a communication terminal 1100 of an Internet user, A malicious code access URL, a malicious program distribution code, and a malicious program distribution pattern distributed from the zombie server 1400 or the hacker server 1500 are monitored in real time by monitoring a website and a homepage provided by the malicious program, A monitoring server 1300 for blocking a malicious code, a malicious code access URL, and a malicious program distribution code and generating a notification message.
  • the web providing server 1200 may be an Internet hosting engine or a hosting server operated by a company or an individual, and distributes a web site and a homepage address through the Internet, and operates a web site and a homepage.
  • a communication terminal 1100 such as a notebook computer, a tablet mobile communication device, or a PC
  • a web site and a homepage service are provided.
  • the communication terminal 1100 may be a notebook, a smart phone, a tablet PC, a tablet mobile communication device, a personal PC, etc.
  • a customer or an Internet user using the Internet may form a network with the communication terminal 1100, You will access the homepage and use it.
  • hackers who distribute malicious code may use a zombie server (1400), a hacker server (1500) or a PC to embed a dropper on a website or a homepage, It embeds patterns of spreading codes and malicious codes of code or malicious programs.
  • the malicious code or malicious code distribution pattern of the malicious program and the malicious code distribution pattern may be included as the i-frame tag, the embed, the object tag, the link tag, the script tag, and the JavaScript tag.
  • the malicious behavior For example, key logging, data leakage.
  • the communication terminal 1100 downloads the malicious code by an instruction to download the information, and the downloaded file is executed to periodically transmit the personal information and various information stored in the communication terminal 1100 It is exposed to malicious acts such as leakage.
  • the monitoring server 1300 real-time monitors various contents, dubbed codes, execution codes, and the like provided by the web providing server 1200 while being connected to the web sites and homepages provided by the web providing server 1200 in real time. At this time, the monitoring server 1300 detects and analyzes various contents, a distributed code, an execution code, and the like provided by the web providing server 1200 and transmits the detected contents, the drop codes, and the execution codes distributed from the zombie server 1400 or the hacker server 1500 , Data leakage file, malicious code, malicious code access URL, malicious program distribution code, and malicious program distribution pattern in real time.
  • the web server 1200 and the zombie server 200 generate a notification message by blocking the dropper, the keylog, the data leakage file, the malicious code, the malicious code access URL, the malicious program distribution code and the malicious program distribution pattern according to the detection result, (1400) and the hacker server (1500).
  • FIG. 8 is a configuration diagram specifically showing the monitoring server shown in FIG.
  • FIG. 9 is a diagram illustrating a malicious code and malicious code distribution pattern analysis method of the MC spread pattern analyzing engine and the MC breaker shown in FIG. 8 in detail.
  • the monitoring server 1300 accesses a web site operated by the web providing server 1200 and a homepage, uses contents provided from a web site and a homepage, and transmits a distributed code and an execution code (For example, script code, etc.), the web site and the contents provided on the web site and the homepage, and the distributed code and the execution code generated when the contents are provided are analyzed in real time and the zombie server 1400 and the hacker
  • An MC analysis unit 1320 for detecting a dropper, a keylog, a data leakage file, a malicious code, a malicious code access URL, a malicious program distribution code and a malicious program distribution pattern by the server 1500; URL, a malicious program distribution code, and a malicious program distribution pattern and outputs the dropper, the keyword, and the malicious program according to the detection result of the MC analysis unit 1320,
  • the web server 1200, the zombie server 1400, and the hacker server 1500 generate a notification message and block the malicious program access URL, malicious code, malicious code access URL, malicious program distribution code,
  • the web agent 1310 accesses a web site and a homepage operated by the web providing server 1200 in real time to maintain a real-time connection state.
  • Various behaviors that can be used on websites and homepages such as by sequentially using various contents provided on a website and a homepage, receiving distributed codes and execution codes (for example, script codes, etc.) Are sequentially executed.
  • the MC analyzer 1320 analyzes and analyzes the contents provided on the web site and the homepage according to the execution operation of the web agent 1310, Detects a dropper, a keylog, a data leakage file, a malicious code, a malicious code access URL, a malicious program distribution code, and a malicious program distribution pattern by the zombie server 1400 or the hacker server 1500.
  • the MC analysis unit 1320 includes an HTML content analysis engine 1321 for sequentially detecting and analyzing HTML content to detect a malicious program distribution code using HTML, And an MC spread pattern analyzing engine 1322 for detecting a malicious program distribution pattern used when a malicious program is distributed.
  • FIG. 10 is a flowchart illustrating an operation of analyzing HTML content of the HTML content analysis engine shown in FIGS. 8 and 9.
  • FIG. 10 is a flowchart illustrating an operation of analyzing HTML content of the HTML content analysis engine shown in FIGS. 8 and 9.
  • the HTML content analysis engine 1321 receives the Http / Https URL of the HTML content through the web agent 1310 and sequentially parses and analyzes the HTML content to construct the HTML DOM. And, it analyzes and analyzes Http / Https URL and existence of HTML contents and Http / Https URL, and detects and analyzes malicious program spread code using HTML to be included in Http / Https URL.
  • FIG. 11 is a flowchart illustrating a malicious program distribution pattern detection operation of the MC distribution pattern analysis engine shown in FIG. 8 and FIG. 9.
  • FIG. 12 is a diagram showing an example of detection of a malicious code distribution pattern and a malicious code distribution pattern.
  • the MC distribution pattern analysis engine 1322 receives HTML contents through the web agent 1310 and generates URLs and HTML contents sequentially generated according to the operation of the web agent 1310 And decodes at least one URL or codes of the distributed code and the script code in real time. Then, at least one of an inline frame (iframe) tag, an inline frame tag, an embedded tag, an object tag, a link tag, a script tag, and a JavaScript tag used for distributing malicious code is detected do. Next, at least one attribute value of src, width, height is referenced and compared in the HTML contents to check whether there is a pattern used for distributing malicious code or not.
  • iframe inline frame
  • HTML contents or HTML codes used for distributing malicious codes are included in an execution code such as a URL, a distributed code generated in providing contents, and a script code in an encoded state.
  • the MC dissemination pattern analysis engine 1322 decodes in real time the execution codes such as a URL generated sequentially in accordance with the operation of the web agent 1310, a distributed code generated in providing contents, and a script code, height of the malicious code can be checked by referring to at least one attribute value among the patterns.
  • the MC dissemination pattern analysis engine 1322 decodes the execution code such as the URL, the dubbing code and the script code generated in providing the content in real time, and then analyzes the malicious program distribution pattern information provided from the database unit 1340 And malicious code access URL information, respectively, to check whether there is a pattern used for distributing malicious code.
  • the MC interception unit 1330 decodes the malicious code, the malicious code access URL, the malicious program distribution code, and the malicious program distribution pattern and outputs the dropper, the keylog, the data outflow file, and the malicious program distribution pattern according to the detection result of the MC analysis unit 1320, Block malicious code, malicious code access URL, malicious program distribution code, and malicious program distribution pattern. Then, a notification message is generated and transmitted to the web providing server 1200, the zombie server 1400, and the hacker server 1500.
  • the MC interception unit 1330 decodes in real time the URLs generated in sequence according to the operation of the web agent 1310, the distributed codes generated in providing the HTML contents, and the script codes to generate droppers,
  • An MC decoding processing engine 1331 for detecting a malicious code, a malicious code access URL, and a malicious program distribution code, respectively, and for blocking a URL generated according to the detection result,
  • the malicious code access URL generated when the HTML content is provided, the malicious program distribution code and the malicious program distribution pattern are blocked according to the result of the malicious code distribution pattern check of the distribution pattern analysis engine 1322,
  • An MC distribution pattern processing engine 1332 that transmits the malicious code to the malicious code distribution server 1200, the zombie server 1400, and the hacker server 1500;
  • the URL and the malicious code access URL are blocked according to the result of checking the existence of the pattern and the malicious program distribution code detection result, and a notification message is generated and transmitted to the web providing server 1200, the zombie server 1400, and the hacker server 1500
  • the database unit 1340 stores operator information for operating the web providing server 1200 and login information for a web site operated by the web providing server 1200 or users accessing the homepage.
  • a MC distributed URL DB for storing, updating and sharing URL information generated according to detection results of malicious code access URLs and malicious program distribution codes, malicious program distribution pattern information and malicious code distribution
  • an MC distribution pattern DB for storing, updating, and sharing the pattern information used in do.
  • FIG. 13 is a flowchart showing a malicious code decoding and detection operation of the MC decoding processing engine shown in Figs. 8 and 9.
  • Fig. 14 is a diagram illustrating a malicious code and a malicious code decoding process and an example of detection.
  • the MC decoding processing engine 1331 of the MC interceptor 1330 receives a URL sequentially generated according to the operation of the web agent 1310, a script of a distribution code generated when HTML contents are provided, The script of the malicious code is loaded in real time and stored in memory. Then, the HTML DOM and the BOM are constructed by sequentially parsing and analyzing the URL, the script of the distributed code, and the script of the malicious code.
  • the MC decoding processing engine 1331 compares the scripts of the HTML DOM and the BOM with the decoding information of the dropper, the keylog, the data leakage file, the malicious program distribution script, and the malicious code script from the MC decoding information DB A malicious code, a malicious code access URL, and a malicious program distribution code, and detects a URL generated according to the detection result, a distribution code generated when providing HTML contents, and a script Block code entry and connection.
  • the MC distribution pattern processing engine 1332 transmits execution codes such as a URL sequentially generated according to the operation of the web agent 1310, a distribution code generated when contents are provided, and a script code to malicious program distribution pattern information , Pattern information used for distributing malicious code, and attribute value of at least one of src, width, and height to check presence / absence of a malicious code distribution pattern.
  • the URL, the malicious code access URL generated when the HTML content is provided, the malicious program distribution code, and the malicious program distribution pattern are blocked according to the result of checking whether the malicious code distribution pattern exists or not, and a notification message is generated, To the zombie server (1400) and the hacker server (1500).
  • the MC distributed URL blocking engine 1333 blocks the URL and the malicious code access URL access according to the result of the malicious code distribution pattern detection engine 1332 and the malicious program distribution code detection result of the MC distribution pattern processing engine 1332, And transmits it to the web providing server 1200, the zombie server 1400, and the hacker server 1500.
  • malware codes in the encoded state inserted in the web site and malicious codes of malicious programs are detected and blocked in advance, It is possible to prevent the malicious code infection damage inside the organization. In addition, it can prevent damages to corporate website and website users and improve corporate reliability and customer satisfaction.
  • synergy effects can be expected in connection with security management services, and customer trust and direct and indirect profits can be increased through secure internet environment and stable web service provision of corporate / public institutions.
  • the configuration and operation of the risk analysis system for malicious code can be performed using machine learning according to the embodiment of the present invention. While the present invention has been described with respect to specific embodiments thereof, Can be carried out without departing from the scope.
  • the risk analysis system of malicious code of the present invention can detect and respond to abuse of a target web server as a malicious code site via a web site by inserting a malicious code distribution code into the web site,
  • the system administrator or the control system can be notified before the malicious code is distributed and the malicious code can be detected by detecting the malicious code and the actual malicious code is distributed to the website detected as the malicious code And whether or not the malicious code is activated.
  • the risk probability is derived from the repeatability, the latest malicious code activation, etc. of the malicious code, and the risk probability is calculated.
  • Accuracy can be achieved by introducing artificial intelligence technology , It is possible to generate revenue by improving service reliability by providing malicious code distribution detection service.
  • a malicious code distribution risk analysis system that can generate these various effects can be used throughout the security industry.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Virology (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The present invention detects a malicious code distribution site and analyzes whether malicious code distribution is actually activated in a website discovered to be the distribution site, so as to calculate a degree of risk, and uses, as variables, repeatability, up-to-dateness, malicious code activation/inactivation, and the like of the malicious code distribution site, so as to continuously perform learning on the basis of the degree of risk, thereby enabling analysis of the degree of risk to be accurate.

Description

머신러닝을 이용한 악성코드 유포지 위험도 분석 시스템Risk Analysis System for Malicious Code Utilization Using Machine Learning
본 발명은 악성코드 유포지 위험도 분석 시스템에 관한 것으로서, 보다 상세하게는 웹사이트에 악성코드를 유포하는 코드를 삽입함으로써 대상 웹서버가 악성코드 유표/경유하는 사이트로 악용되는 것을 사전에 탐지하여 대응할 수 있고, 웹사이트에 악성프로그램을 배포하는 코드가 삽입되는지를 주기적으로 검사하여 악성코드가 배포되기 전에 미리 탐지, 시스템관리자 또는 관제시스템에 알림으로써, 선 조치를 취할 수 있는 머신러닝을 이용한 악성코드 유포지 위험도 분석 시스템에 관한 것이다.The present invention relates to a risk analysis system for malicious code, and more particularly, to a risk analysis system for malicious code by analyzing a malicious code in a web site And it is periodically checked whether the code that distributes malicious program is inserted into the website and detected before the malicious code is distributed and informed to the system administrator or the control system so that malicious code And a risk analysis system.
네트워크 및 컴퓨터의 발전에 따라 악성코드 역시 폭발적인 증가 추이를 보이고 있으며, 새로운 악성코드의 출현과 더불어 기존의 악성코드를 이용한 변종 역시 큰 몫을 차지하고 있다. With the development of networks and computers, malicious codes are also showing explosive growth. Along with the emergence of new malicious codes, variants using existing malicious codes also play a large part.
악성코드는 사용자가 알지 못하는 사이 컴퓨터 시스템에 침입, 설치되어 시스템이나 네트워크에 피해를 주고, 불법적으로 정보를 취득하도록 설계된 소프트웨어를 의미한다. 이러한 악성코드의 위협에 대응하기 위해, 현재 다양한 악성코드 분석 및 탐지 연구가 활발하게 진행되고 있지만, 날이 갈수록 지능화되고 정교해지는 악성코드들에 대응하기에는 많은 한계가 따르는 것이 현실이다. Malicious code refers to software designed to infiltrate, install, damage the system or network, and illegally obtain information from the computer system without the user's knowledge. In order to cope with such malicious code threats, currently various malicious code analysis and detection researches are actively carried out, but it is a reality that there are many limitations to cope with malicious codes that become more intelligent and sophisticated day by day.
악성코드를 분석하는 방법은 크게 정적 분석과 동적 분석 두 가지로 분류될 수 있다. 정적 분석은 악성코드를 실행시키지 않고 분석하는 방법으로, 바이너리 패턴 매칭, 데이터 플로우와 코드 플로우 분석 등이 대표적인 정적 분석기법의 하나이다. 정적 분석 기법은 악성코드의 실행을 배제하기 때문에 안전하고 빠른 분석이 용이하다는 장점을 가지고 있지만, 정확한 분석이 쉽지 않은 단점을 갖고 있다. The methods of analyzing malicious code can be roughly divided into static analysis and dynamic analysis. Static analysis is a method of analyzing without executing malicious code. Binary pattern matching, data flow and code flow analysis are typical static analysis techniques. The static analysis technique has the merit that safe and quick analysis is easy because it excludes the execution of malicious code, but it has a disadvantage that accurate analysis is not easy.
정적 분석의 단점을 극복하기 위해 제안된 새로운 형태의 분석 접근법이 동적 분석 기법이다. 동적 분석은 가상 머신과 같은 제어 가능한 환경 속에서 악성코드를 동작시켜 그 행위를 분석하는 기법으로, 실행압축과 같은 코드 난독화와 무관하게 정확한 실제 행위를 볼 수 있다는 장점을 가지고 있다. 동적 분석 기법은 실제 악성코드 실행에 따르는 실험환경의 오염 가능성과 행위 관찰을 위해 많은 시간이 소요되는 단점이 있다.A new type of analytical approach proposed to overcome the drawbacks of static analysis is dynamic analysis. Dynamic analysis is a technique to analyze malicious code by operating in a controllable environment such as a virtual machine. It has an advantage that accurate actual behavior can be seen regardless of code obfuscation such as execution compression. The dynamic analysis technique has a disadvantage that it takes a lot of time to observe the contamination possibility and behavior of the experimental environment according to actual malicious code execution.
이러한 종래기술의 경우, 최근 해커들이 웹사이트를 해킹하여 악성코드를 심어 놓고 유포시키는 등의 신종 기법들을 탐지 및 분석할 수 없는 문제가 있다. 인터넷 사용자들은 웹 사이트에 심어놓은 악성코드의 피해를 입게 되므로, 웹 사이트나 홈페이지에 악성코드가 발생하는 경우 해당 기업의 이미지가 실추될 수 있고 접속 고객이 감소하며, 고객 피해를 해결해야 하는 문제가 뒤따른다. In the case of such a conventional technology, there is a problem that hackers can not detect and analyze new techniques such as hacking a web site and planting and distributing malicious code. Internet users are infected with malicious code that is embedded on a web site. Therefore, if a malicious code occurs on a website or a homepage, the image of the company may be lost, the number of connected customers may decrease, Follow.
따라서, 이러한 문제점을 해결하기 위한 본 발명의 첫 번째 목적은 웹사이트에 악성코드를 유포하는 코드를 삽입함으로써 대상 웹서버가 악성코드 유표/경유하는 사이트로 악용되는 것을 사전에 탐지하여 대응할 수 있는 악성코드 유포지 위험 분석 시스템을 제공하는 것이다.Therefore, a first object of the present invention to solve such a problem is to insert malicious code distribution code into a web site, thereby detecting malicious code in a target web server, And to provide a code analysis system for risk analysis.
또한, 본 발명의 두 번째 목적은 웹사이트에 악성프로그램을 배포하는 코드가 삽입되는지를 주기적으로 검사하여 악성코드가 배포되기 전에 미리 탐지, 시스템관리자 또는 관제시스템에 알릴 수 있는 악성코드 유포지 위험 분석 시스템을 제공하는 것이다.The second object of the present invention is to provide a risk analysis system for malicious code that can periodically check whether a code for distributing a malicious program is inserted into a web site and detect it before a malicious code is distributed to a system administrator or a control system .
그리고 본 발명의 세 번째 목적은 악성코드 유포지를 탐지하여 유포지로 발견되는 웹사이트에 대해 실제 악성코드 유포가 활성화 되어 있는지 여부 등을 분석하여 위험도를 산정하고, 이를 바탕으로 악성코드 유포지의 반복성, 최신성, 악성코드 활성화 여부 등을 변수로 하여, 위험도 확률을 도출하며, 이를 계속적으로 학습함으로써, 위험도 분석에 정확성을 가져올 수 있는 악성코드 유포지 위험 분석 시스템을 제공하는 것이다.The third object of the present invention is to detect the malicious code bubble and analyze the risk of analyzing whether the actual malicious code distribution is activated on the web site found as the bubble, and based on this, the repeatability of the malicious code bubble, And the malicious code is activated, the risk probability is derived, and by learning it continuously, it is possible to provide a risk analysis system of malicious code which can bring accuracy to the risk analysis.
상기 첫 번째 내지 세 번째 목적을 달성하기 위하여, 본 발명은 악성코드 유포지 위험도 분석 시스템에 있어서, 사용자가 접속한 URL의 기 설정된 깊이까지 링크 페이지의 복사본을 생성하고, 생성된 복사본을 인덱싱하는 웹 크롤링부, 상기 복사본의 HTML을 파싱하는 HTML 파싱부, 상기 HTML 파싱부가 파싱한 HTML을 이용하여 악성코드 유포 패턴을 분석하는 악성코드 유포 패턴 분석부, 상기 악성코드 유포 패턴 분석부가 분석한 악성코드 유포 패턴을 이용하여, 악성코드 유포 URL을 탐지하는 악성코드 유포 URL 탐지부, 상기 악성코드 유포 URL에 대한 내용을 저장하는 악성코드 DB부, 악성코드 유포 URL로 판단한 경우, 사용자 단말의 해당 URL에 접속을 차단하는 악성코드 URL 접속 차단부를 포함하는 위험도 분석 시스템을 제공한다.In order to achieve the above first to third objects, the present invention provides a malicious code distribution risk analysis system, comprising: a web crawling system for generating a copy of a link page up to a predetermined depth of a URL accessed by a user, A malicious code distribution pattern analyzing unit for analyzing a malicious code distribution pattern using HTML parsed by the HTML parsing unit; a malicious code distribution pattern analyzing unit for analyzing the malicious code distribution pattern analyzed by the malicious code distribution pattern analysis unit; A malicious code DB detection unit for detecting malicious code distribution URLs using the malicious code distribution URL, a malicious code DB unit for storing contents of the malicious code distribution URLs, and a malicious code distribution URL, And a malicious code URL access blocking unit that blocks the malicious code.
상기 악성코드 유포지 위험도 분석 시스템은 상기 악성코드 유포 패턴을 분석하기 위하여, 악성코드 유포 패턴을 디코딩하는 스크립트 난독화 처리부를 더 포함할 수 있다.The risk analysis system for malicious code may further include a script obfuscation processing unit for decoding the malicious code distribution pattern to analyze the malicious code distribution pattern.
상기 악성코드 유포지 위험도 분석 시스템은 상기 HTML 파싱부가 파싱한 HTML을 이용하여 DOM 또는 BOM을 생성하는 DOM 및 BOM 생성부를 더 포함할 수 있다.The risk analysis system for malicious code may further include a DOM and a BOM generator for generating a DOM or a BOM using HTML parsed by the HTML parser.
상기 악성코드 유포지 위험도 분석 시스템은 웹 크롤링부가 생성한 복사본에 따라 시나리오 스크립트를 생성하고, 생성한 스크립트에 따른 동작을 수행하는 스크립트 엔진부를 더 포함할 수 있다.The risk analysis system for malicious code may further include a script engine unit for generating a scenario script according to a copy generated by the web crawler and performing an operation according to the generated script.
상기 악성코드 유포지 위험도 분석 시스템은 악성코드 유포 패턴 및 악성코드 유포 URL 중 적어도 하나를 이용하여, 악성코드 유포지 위험도를 분석하는 위험도 분석부를 더 포함할 수 있다.The risk analysis system for malicious code may further include a risk analysis unit for analyzing the risk of malicious code using at least one of a malicious code distribution pattern and a malicious code distribution URL.
상기 위험도 분석부는 재귀적 신경망(Recurrent Neural Network 이하 'RNN')을 이용하여, 악성코드 유포지의 최신성, 반복성 및 악성코드 활성화 여부를 포함하는 변수에 따른 위험도 확률을 도출하는 RNN 학습 모듈을 포함할 수 있다.The risk analysis unit includes an RNN learning module that uses a recurrent neural network (RNN) to derive a risk probability according to variables including the latestness, repeatability, and malicious code activation of a malicious code bubble .
상기 악성코드 DB부는 상기 RNN 학습 모듈이 도출한 위험도 확률을 저장하고, 상기 위험도 확률을 반영하여 악성코드 유포 URL에 대한 내용을 갱신할 수 있다.The malicious code DB unit may store the risk probability derived by the RNN learning module and update the content of the malicious code distribution URL by reflecting the risk probability.
상기에서 설명한 본 발명의 머신러닝을 이용한 악성코드 유포지 위험도 분석 시스템에 의하면, 웹사이트에 악성코드를 유포하는 코드를 삽입함으로써 대상 웹서버가 악성코드 유표/경유하는 사이트로 악용되는 것을 사전에 탐지하여 대응할 수 있다.According to the risk analysis system for malicious code using the machine learning of the present invention described above, by inserting a code for spreading malicious code on a web site, it is possible to detect beforehand that the target web server is abused as a malicious code / Can respond.
또한, 웹사이트에 악성프로그램을 배포하는 코드가 삽입되는지를 주기적으로 검사하여 악성코드가 배포되기 전에 미리 탐지, 시스템관리자 또는 관제시스템에 알릴 수 있다.It also periodically inspects websites for malicious program distribution code, which can be detected and reported to the system administrator or the control system before malicious code is distributed.
그리고 악성코드 유포지를 탐지하여 유포지로 발견되는 웹사이트에 대해 실제 악성코드 유포가 활성화 되어 있는지 여부 등을 분석하여 위험도를 산정하고, 이를 바탕으로 악성코드 유포지의 반복성, 최신성, 악성코드 활성화 여부 등을 변수로 하여, 위험도 확률을 도출하며, 이를 계속적으로 학습함으로써, 위험도 분석에 정확성을 가져올 수 있다.In addition, the malicious code is detected, and the web site that is detected as the e-mail is analyzed to determine whether the actual distribution of malicious code is active. Based on the result, the repeatability of malicious code, , The risk probability is derived, and by learning it continuously, the accuracy of the risk analysis can be obtained.
또한, 기업의 웹 사이트와 웹 사이트 이용 고객들의 피해를 막고 기업 신뢰도와 고객 만족도를 향상시킬 수 있다. In addition, it can prevent damage to corporate website and website users and improve corporate reliability and customer satisfaction.
아울러, 보안관제 서비스와 연계 운영 시 시너지 효과를 기대할 수 있으며, 안전한 인터넷 환경 및 기업/공공기관의 안정적인 웹 서비스 제공으로 고객 신뢰 및 직/간접 이익을 증가시킬 수 있는 효과가 있다. In addition, synergy effect can be expected in connection with security control service, and it is effective to increase customer trust and direct / indirect profit through secure internet environment and stable web service provision of company / public institution.
도 1은 본 발명의 일 실시예인 악성코드 유포지 위험도 분석 시스템의 개략적인 구성을 나타낸 도면이다.FIG. 1 is a diagram showing a schematic configuration of a risk analysis system for malicious code, which is an embodiment of the present invention.
도 2는 본 발명의 일 구성인 스크립트 난독화 처리부의 디코딩 전후 코드의 예시를 나타낸 도면이다.2 is a diagram showing an example of codes before and after decoding by the script obfuscation processing unit, which is a constitution of the present invention.
도 3은 본 발명의 일 구성인 위험도 분석부에 대한 개략적인 구성을 나타낸 도면이다.3 is a diagram showing a schematic configuration of a risk analysis unit, which is an embodiment of the present invention.
도 4는 본 발명의 일 구성인 RNN 학습 모듈의 학습 방법을 개략적으로 나타낸 도면이다.4 is a diagram schematically showing a learning method of an RNN learning module which is a constitution of the present invention.
도 5는 본 발명의 일 구성인 RNN 학습 모듈의 학습 방법에 따른 위험도 확률 도출 결과를 나타낸 도면이다.FIG. 5 is a diagram illustrating a result of a risk probability derivation according to a learning method of an RNN learning module, which is one configuration of the present invention.
도 6은 본 발명의 또 다른 실시 예에 따른 악성코드 유포지 위험도 분석 시스템을 구체적으로 나타낸 구성도이다.FIG. 6 is a block diagram specifically illustrating a malicious code distribution risk analysis system according to another embodiment of the present invention.
도 7은 웹 사이트의 악성코드 유포 시도 과정과 악성코드 유포를 모니터링하기 위한 과정을 일 예로 나타낸 구성도이다.7 is a block diagram illustrating a procedure for distributing a malicious code on a web site and a process for monitoring malicious code distribution.
도 8은 도 6에 도시된 모니터링 서버를 구체적으로 나타낸 구성도이다.8 is a configuration diagram specifically showing the monitoring server shown in FIG.
도 9는 도 8에 도시된 MC 유포패턴 분석엔진과 MC 차단부의 악성 코드 및 악성 코드 유포 패턴 분석 방식을 구체적으로 나타낸 도면이다.FIG. 9 is a diagram illustrating a method of analyzing malicious code and malicious code distribution patterns of the MC spread pattern analyzing engine and MC breaker shown in FIG.
도 10은 도 8 및 도 9에 도시된 HTML 컨텐츠 분석 엔진의 HTML 컨텐츠를 분석 동작을 나타낸 순서도이다.FIG. 10 is a flowchart illustrating an operation of analyzing HTML content of the HTML content analysis engine shown in FIGS. 8 and 9. FIG.
도 11은 도 8 및 도 9에 도시된 MC 유포패턴 분석 엔진의 악성 프로그램 유포 패턴 탐지 동작을 나타낸 순서도이다.11 is a flowchart illustrating a malicious program distribution pattern detection operation of the MC distribution pattern analysis engine shown in FIG. 8 and FIG. 9. FIG.
도 12는 악성코드 유포패턴과 악성코드 유포패턴의 탐지 예를 나타낸 도면이다.12 is a diagram showing an example of detection of a malicious code distribution pattern and a malicious code distribution pattern.
도 13은 는 도 8 및 도 9에 도시된 MC 디코딩 처리엔진의 악성코드 디코딩 및 탐지 동작을 나타낸 순서도이다.FIG. 13 is a flowchart showing a malicious code decoding and detection operation of the MC decoding processing engine shown in FIGS. 8 and 9. FIG.
도 14는 악성코드와 악성코드 디코딩 과정 및 탐지 예를 나타낸 도면이다.14 is a diagram illustrating a malicious code and a malicious code decoding process and an example of detection.
본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정 해석되지 아니하며, 발명자는 그 사용자의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다.It is to be understood that the words or words used in the present specification and claims are not to be construed in a conventional or dictionary sense and that the inventor can properly define the concept of a term in order to best describe the user's invention And should be construed in light of the meanings and concepts consistent with the technical idea of the present invention.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 “포함”한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 “…부”, “…기”, “…단”, “모듈”, “장치” 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 및/또는 소프트웨어의 결합으로 구현될 수 있다.Throughout the specification, when an element is referred to as " comprising ", it means that it can include other elements as well, without excluding other elements unless specifically stated otherwise. In addition, the term " "... "," ... Unit, "" module, "" device, "and the like refer to a unit that processes at least one function or operation, which may be implemented as a combination of hardware and / or software.
본 발명의 실시 예에서 사용되는 용어에 대해 간략히 설명하고, 본 실시 예들에 대해 구체적으로 설명하기로 한다.The terms used in the embodiments of the present invention will be briefly described, and these embodiments will be described in detail.
본 발명의 실시 예에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 실시예들의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 실시예들에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 실시예들의 전반에 걸친 내용을 토대로 정의되어야 한다. Although the terms used in the embodiments of the present invention have been selected in consideration of the functions of the present invention, the present invention is not limited thereto and can be varied depending on the intention or the precedent of the artisan skilled in the art, . Also, in certain cases, some terms are arbitrarily selected by the applicant, and in this case, the meaning thereof will be described in detail in the description of the corresponding embodiments. Therefore, the terms used in the embodiments should be defined based on the meaning of the terms, not on the names of simple terms, and on the contents of the embodiments throughout.
본 발명의 실시 예에서, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. In an embodiment of the present invention, terms including ordinal numbers such as first, second, etc. may be used to describe various elements, but the elements are not limited to these terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.
또한, 본 발명의 실시 예에서, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. Further, in the embodiments of the present invention, the singular expressions include plural expressions unless the context clearly indicates otherwise.
또한, 본 발명의 실시 예에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Furthermore, in the embodiments of the present invention, terms such as " comprises " or " having ", etc. are intended to specify the presence of stated features, integers, steps, operations, elements, parts, or combinations thereof, Steps, operations, elements, components, or combinations of elements, numbers, steps, operations, components, parts, or combinations thereof.
또한, 본 발명의 실시 예에서, ‘모듈’ 혹은 ‘부’는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의‘모듈’ 혹은 복수의‘부’는 특정한 하드웨어로 구현될 필요가 있는 ‘모듈’ 혹은 ‘부’를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.Also, in the embodiments of the present invention, 'module' or 'sub' performs at least one function or operation, and may be implemented in hardware or software, or a combination of hardware and software. In addition, a plurality of 'modules' or a plurality of 'parts' may be integrated into at least one module except for 'module' or 'module' which needs to be implemented by specific hardware, and may be implemented by at least one processor.
또한, 본 발명의 실시 예에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다.Further, in the embodiment of the present invention, when a part is referred to as being " connected " with another part, it is not limited to a case where it is " directly connected " And the like.
이하, 본 발명의 실시 예를 첨부한 도면들을 참조하여 상세히 설명하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예인 악성코드 유포지 위험도 분석 시스템(10)의 개략적인 구성을 나타낸 도면이며, 도 2는 본 발명의 일 구성인 스크립트 난독화 처리부의 디코딩 전후 코드의 예시를 나타낸 도면이다.FIG. 1 is a diagram showing a schematic configuration of a risk analysis system for malicious code 10, which is an embodiment of the present invention, and FIG. 2 is a diagram showing an example of codes before and after decoding by a script obfuscation processing unit, .
도 1을 참고하면, 악성코드 유포지 위험도 분석 시스템(10)은 웹 크롤링부(100), HTML 파싱부(200), 악성코드 유포 패턴 분석부(300), 악성코드 유포 URL 탐지부(400), 악성코드 DB부(500), 악성코드 URL 접속 차단부(600), 스크립트 난독화 처리부(700), DOM 및 BOM 생성부(800), 스크립트 엔진부(900) 및 위험도 분석부(1000)를 포함할 수 있다.1, the risk analysis system 10 includes a web crawling unit 100, an HTML parsing unit 200, a malicious code distribution pattern analyzing unit 300, a malicious code distribution URL detecting unit 400, The malicious code DB unit 500, the malicious code URL access blocking unit 600, the script obfuscation processing unit 700, the DOM and BOM generation unit 800, the script engine unit 900 and the risk analysis unit 1000 can do.
웹 크롤링부(100)는 사용자가 접속한 URL의 기 설정된 깊이까지 링크 페이지의 복사본을 생성하고, 생성된 복사본을 인덱싱할 수 있다.The web crawling unit 100 can generate a copy of the link page up to a predetermined depth of the URL the user has accessed and index the generated copy.
그리고 웹 크롤링부(100)는 웹 제공 서버(미도시)에서 운용하는 웹 사이트 및 홈페이지에 접속하여 기 설정된 깊이까지 웹 사이트 및 홈페이지에서 제공하는 컨텐츠들을 이용하고 컨텐츠 제공시 발생되는 유포 코드 및 실행코드(예를 들어, 스크립트 코드 등)를 제공받을 수 있다.The web crawler 100 accesses a web site and a homepage operated by a web providing server (not shown) and uses contents provided from a web site and a homepage up to a predetermined depth, (E.g., script code, etc.).
또한, 웹 크롤링부(100)는 특정 URL의 위험도 확률이 기 설정된 임계치 이상인 경우, 특정 URL은 기 설정된 깊이뿐만 아니라 특정 URL의 서브 링크를 포함한 모든 링크 페이지의 복사본을 생성하고, 생성된 복사본을 인덱싱할 수 있다.When the risk probability of a specific URL is equal to or greater than a predetermined threshold value, the web crawler 100 generates a copy of all link pages including a predetermined depth as well as sub links of a specific URL, can do.
즉, 웹 크롤링부(100)는 특정 URL의 위험도 확률이 기 설정된 임계치 이상인 경우, 기 설정된 깊이가 전체(full depth)로 설정되어, 특정 URL의 모든 링크 페이지의 복사본을 생성하고, 생성된 복사본의 인덱싱을 수행할 수 있다.That is, when the risk probability of a specific URL is equal to or greater than a predetermined threshold value, the web crawler unit 100 sets a predetermined depth to the full depth, generates a copy of all the link pages of the specific URL, Indexing can be performed.
그리고 웹 크롤링부(100)는 특정 URL의 위험도 확률이 기 설정된 임계치 이상인 경우, 웹 제공 서버(미도시)에서 운용하는 웹 사이트 및 홈페이지에 접속하여 전체 웹 사이트 및 홈페이지에서 제공하는 모든 컨텐츠를 이용하고 컨텐츠 제공시 발생되는 유포 코드 및 실행코드(예를 들어, 스크립트 코드 등)를 제공받을 수 있다.When the risk probability of a specific URL is equal to or greater than a predetermined threshold value, the web crawler 100 accesses a web site operated by a web providing server (not shown) and a homepage and uses all the contents provided by the entire web site and the homepage A distribution code and an execution code (for example, script code, etc.) generated when content is provided can be provided.
즉, 특정 URL의 위험도 확률이 기 설정된 임계치 이상인 경우, 후술할 악성코드 URL 차단부(600)가 특정 URL의 접속을 차단하는 것과는 별개로 웹 크롤링부(100)는 기 설정된 깊이가 아닌 전체 웹 사이트 및 홈페이지에서 제공하는 모든 컨텐츠를 이용하고, 유포 코드 및 실행코드를 제공받아 이를 기초하여 악성코드 유포 패턴 분석부(300)가 악성코드 유포 패턴을 분석하는바, 악성코드 유포 패턴을 보다 정확히 분석할 수 있다.That is, when the risk probability of a specific URL is equal to or greater than a predetermined threshold value, the web crawler 100 notifies the entire web site (not the predetermined depth) apart from the malicious code URL blocking unit 600, The malicious code distribution pattern analyzing unit 300 analyzes malicious code distribution patterns based on the distribution codes and execution codes and analyzes the distribution patterns of malicious codes more accurately .
또한, 추가적으로 악성코드 유포 URL을 탐지함으로써, 악성코드 유포지를 보다 폭넓게 탐지할 수 있는 효과도 있다.In addition, by detecting malicious code distribution URLs, malicious code distribution can be detected more widely.
HTML 파싱부(200)는 생성된 복사본의 HTML을 파싱할 수 있다.The HTML parsing unit 200 may parse the HTML of the generated copy.
보다 구체적으로, HTML 파싱부(200)는 스크립트 엔진부(900)의 동작에 따라 발생하는 HTML 컨텐츠의 Http/Https URL을 제공받고, HTML 컨텐츠를 순차적으로 파싱해서 분석할 수 있다.More specifically, the HTML parsing unit 200 receives the Http / Https URL of the HTML content generated according to the operation of the script engine unit 900, and sequentially parses and analyzes the HTML content.
스크립트 난독화 처리부(700)는 악성코드 유포 패턴을 분석하기 위하여, 악성코드 유포 패턴을 디코딩할 수 있다.The script obfuscation processing unit 700 may decode the malicious code distribution pattern in order to analyze the malicious code distribution pattern.
보다 구체적으로 스크립트 난독화 처리부(700)는 스크립트 엔진부(900)의 동작에 따라 순차적으로 발생되는 URL, HTML 컨텐츠 제공시 발생되는 유포 코드의 스크립트 및 악성코드의 스크립트를 실시간 순차적으로 로딩하고 메모리에 저장한다.More specifically, the script obfuscation processing unit 700 sequentially loads the URLs sequentially generated according to the operation of the script engine unit 900, the scripts of the voiced code generated when the HTML contents are provided and the malicious code in real time, .
이후, HTML 파싱부(200)는 URL, 유포 코드의 스크립트 및 악성코드의 스크립트를 순차적으로 파싱(parsing) 해서 분석하며, DOM 및 BOM 생성부(800)는 HTML 파싱부(200)가 파싱한 HTML을 이용하여 DOM 또는 BOM을 생성할 수 있다.The HTML parsing unit 200 sequentially parses and analyzes the URL, the script of the distributed code, and the script of the malicious code, and the DOM and BOM generation unit 800 generates the DOM and the BOM by using the HTML parsed by the HTML parsing unit 200 Can be used to generate DOM or BOM.
스크립트 난독화 처리부(700)는 상술한 DOM 또는 BOM의 스크립트와 악성코드 DB부(500)가 저장하고 있는 드랍퍼, 키로그, 데이터 유출파일, 악성 프로그램 유포 스크립트, 악성코드 스크립트들의 디코딩 정보들과 비교하여 실시간으로 디코딩함으로써, 드랍퍼, 키로그, 데이터 유출파일, 악성코드, 악성코드 접속 URL, 악성 프로그램 유포 코드를 각각 검출할 수 있다.The script obfuscation processing unit 700 compares the script of the DOM or the BOM with the decoding information of the dropper, the keylog, the data outflow file, the malicious program distribution script, and the malicious code script stored in the malicious code DB unit 500 And can detect the dropper, the keylog, the data leakage file, the malicious code, the malicious code access URL, and the malicious program distributed code by decoding in real time.
또한, 스크립트 난독화 처리부(700)는 스크립트 엔진부(900)에 의해 순차적으로 발생되는 URL, HTML 컨텐츠 제공시 발생되는 유포 코드 및 스크립트 코드 중 적어도 하나의 URL이나 코드들을 실시간으로 디코딩한다.In addition, the script obfuscation processing unit 700 decodes at least one URL or codes of a URL generated sequentially by the script engine unit 900, a distributed code generated when providing HTML contents, and a script code in real time.
이후, 악성코드 URL 접속 차단부(600)는 검출 결과에 따라 발생되는 URL, HTML 컨텐츠 제공시 발생되는 유포 코드 및 스크립트 코드 유입 및 접속을 차단할 수 있다.Then, the malicious URL access blocking unit 600 may block the URL generated according to the detection result, the inflow code generated when the HTML content is provided, and the script code inflow and connection.
악성코드 유포 패턴 분석부(300)는 HTML 파싱부(200)가 파싱한 HTML을 이용하여 악성코드 유포 패턴을 분석할 수 있다.The malicious code distribution pattern analyzing unit 300 can analyze the malicious code distribution pattern using the HTML parsed by the HTML parsing unit 200.
즉, 악성코드 유포 패턴 분석부(300)는 HTML 파싱부(200)가 파싱한 HTML를 스크립트 난독화 처리부(700)가 디코딩한 이후, 디코딩된 HTML을 이용하여 악성코드 유포 패턴을 분석할 수 있다.That is, the malicious code distribution pattern analyzing unit 300 can analyze the malicious code distribution pattern using the decoded HTML after the script obfuscation processing unit 700 decodes the HTML parsed by the HTML parsing unit 200 .
또한, 악성코드 유포 패턴 분석부(300)는 웹 사이트 및 홈페이지에서 제공하는 컨텐츠들과 컨텐츠 제공시 발생되는 유포 코드 및 실행코드를 실시간으로 분석하여, 드랍퍼, 키로그, 데이터 유출파일, 악성코드, 악성코드 접속 URL, 악성 프로그램 유포 코드 및 악성 프로그램 유포 패턴을 검출할 수 있다.In addition, the malicious code distribution pattern analyzing unit 300 analyzes the contents provided on the web site and the homepage, the distribution codes and execution codes generated when the contents are provided, in real time, and stores the contents of the droppers, the keyboard, the data leakage file, A malicious code access URL, a malicious program distribution code, and a malicious program distribution pattern.
보다 구체적으로, 악성코드 유포 패턴 분석부(300)는 스크립트 엔진부(900)의 동작에 따라 순차적으로 발생되는 URL, 컨텐츠 제공시 발생되는 유포 코드 및 스크립트 코드와 같은 실행 코드를 악성코드 DB부(500)가 저장하고 있는 악성 프로그램 유포 패턴 정보, 악성코드 유포에 사용되었던 패턴 정보, src, width, height 중 적어도 하나의 속성 값과 비교하여 악성코드 유포 패턴의 유무를 확인할 수 있다.More specifically, the malicious code distribution pattern analyzing unit 300 analyzes execution codes such as a URL sequentially generated according to an operation of the script engine unit 900, a distributed code generated when content is provided, and a script code to the malicious code DB unit 500, the pattern information used for distributing the malicious code, and the attribute value of at least one of src, width, and height to check whether there is a malicious code distribution pattern.
그리고 악성코드 유포 URL 탐지부(400)는 악성코드 유포 패턴 분석부(300)가 분석한 악성코드 유포 패턴을 이용하여, 악성코드 유포 URL을 탐지할 수 있다.The malicious code distribution URL detection unit 400 can detect a malicious code distribution URL using the malicious code distribution pattern analyzed by the malicious code distribution pattern analysis unit 300.
보다 구체적으로, 악성코드 유포 URL 탐지부(400)는 악성코드 유포 패턴 분석부(300)의 악성코드 유포 패턴의 유무 확인 결과에 따라 URL, HTML 컨텐츠 제공시 발생되는 악성코드 접속 URL, 악성 프로그램 유포 코드 및 악성 프로그램 유포 패턴을 탐지할 수 있다.More specifically, the malicious code distributed URL detection unit 400 detects malicious code based on the URL, the malicious code access URL generated when the HTML content is provided, the malicious program distribution URL, Code and malware spread patterns.
또한, 악성코드 유포 패턴 분석부(300)는 스크립트 난독화 처리부(700)의 디코딩 결과를 이용하여, HTML 컨텐츠에서 악성코드 유포에 사용되는 아이 프레임(inline frame, iframe) 태그, 내부 프레임(inline frame) 태그, 임베드, 오브젝트 태그, 링크 태그, 스크립트 태그, 자바스크립트 태그 중 적어도 하나의 태그를 검출할 수 있다.In addition, the malicious code distribution pattern analysis unit 300 may use the decoding result of the script obfuscation processing unit 700 to generate an inline frame (iframe) tag, an inline frame ) Tag, an embedded tag, an object tag, a link tag, a script tag, and a JavaScript tag.
또한, 악성코드 유포 패턴 분석부(300)는 HTML 컨텐츠에서 src, width, height 중 적어도 하나의 속성값을 참조 및 비교하여 악성코드 유포에 사용되는 패턴의 유무를 확인 및 검출하게 된다. In addition, the malicious code distribution pattern analysis unit 300 refers to and compares at least one attribute value among src, width, and height in the HTML content to check for and detect the presence or absence of a pattern used for malicious code distribution.
또한, 악성코드 DB부(500)는 악성코드 유포 URL에 대한 내용을 저장할 수 있다.In addition, the malicious code DB unit 500 may store the content of the malicious code distributed URL.
악성코드 DB부(500)가 저장하는 악성코드 유포 URL에 대한 내용은 서버의 물리적 위치, 사용자, 업종 정보 등을 포함할 수 있다.The content of the malicious code distribution URL stored in the malicious code DB unit 500 may include the physical location of the server, the user, the type of business information, and the like.
악성코드 URL 접속 차단부(600)는 특정 URL이 악성코드 유포 URL로 판단된 경우, 사용자 단말(미도시)의 해당 URL에 접속을 차단할 수 있다.The malicious URL access blocking unit 600 may block access to the corresponding URL of the user terminal (not shown) when the specific URL is determined to be a malicious code distribution URL.
또한, 악성코드 URL 접속 차단부(600)는 무선 통신을 이용하여, 관리자 단말(미도시)로 특정 URL이 악성코드 유포 URL로 판단되었음을 송신할 수 있다.In addition, the malicious URL access blocking unit 600 can transmit, through wireless communication, that a specific URL is determined to be a malicious code distribution URL by an administrator terminal (not shown).
이를 통해 관리자는 웹 사이트에 악성프로그램을 배포하는 악성 코드가 삽입되었는지 여부를 미리 확인할 수 있고, 이를 통해 악성 코드를 통해 문제가 발생하기 전에 미리 조치할 수 있는 효과가 있다.This allows administrators to know in advance whether or not malicious code that distributes malicious programs has been injected into a Web site, thereby allowing the malicious code to take precautions before a problem occurs.
여기서 사용자 단말(미도시) 및 관리자 단말(미도시)은 스마트 폰, 스마트 워치, 데스크탑 PC, 태블릿 PC, 노트북 PC 등과 같은 다양한 전자 장치로 구현될 수 있다.Here, a user terminal (not shown) and an administrator terminal (not shown) may be implemented by various electronic devices such as a smart phone, a smart watch, a desktop PC, a tablet PC, a notebook PC and the like.
보다 구체적으로 악성코드 URL 접속 차단부(600)는 악성코드 유포 패턴 분석부(300)의 악성코드 유포 패턴의 유무 확인 결과 및 악성코드 유포 URL 탐지부(400)의 악성 프로그램 유포 코드의 탐지 결과에 따라 URL 및 악성코드 접속 URL을 차단할 수 있다.More specifically, the malicious code URL access interception unit 600 intercepts the malicious code distribution pattern analysis result of the malicious code distribution pattern analysis unit 300 and the detection result of the malicious program distribution code of the malicious code distribution URL detection unit 400 You can block URLs and malicious code access URLs accordingly.
스크립트 엔진부(900)는 웹 크롤링부(100)가 생성한 복사본에 따라 시나리오 스크립트를 생성하고, 생성한 스크립트에 따른 동작을 수행할 수 있다.The script engine unit 900 may generate the scenario script according to the copy generated by the web crawler unit 100 and may perform an operation according to the generated script.
또한, 스크립트 엔진부(900)는 웹 크롤링부(100)가 웹 제공 서버(미도시)로부터 제공 받은 유포 코드 및 실행코드(예를 들어, 스크립트 코드 등)를 이용하여, 해당 유포 코드 및 실행코드에 따른 동작을 순차적으로 수행할 수 있다.The script engine unit 900 can also use the distributed code and the executable code (for example, script code) provided from the web providing server (not shown) by the web crawler unit 100, Can be sequentially performed.
위험도 분석부(1000)는 악성코드 유포 패턴 및 악성코드 유포 URL 중 적어도 하나를 이용하여, 악성코드 유포지 위험도를 분석할 수 있다.The risk analysis unit 1000 can analyze the risk of malicious code using at least one of a malicious code distribution pattern and a malicious code distribution URL.
또한, 위험도 분석부(1000)는 재귀적 신경망(Recurrent Neural Network 이하 'RNN')을 이용하여, 악성코드 유포지의 최신성, 반복성 및 악성코드 활성화 여부를 포함하는 변수에 따른 위험도 확률을 도출할 수 있다.Also, the risk analysis unit 1000 can use the Recurrent Neural Network (RNN) to derive a risk probability according to variables including the latestness, repeatability, and malicious code activation of malicious code have.
그리고 악성코드 DB부(500)는 위험도 분석부(1000)가 도출한 위험도 확률을 저장하고, 위험도 확률을 반영하여 악성코드 유포 URL에 대한 내용을 갱신할 수 있다.The malicious code DB unit 500 may store the risk probability derived by the risk analysis unit 1000 and update the content of the malicious code distribution URL by reflecting the risk probability.
위험도 확률이 기 설정된 임계치 이상인 경우, 위험도 분석부(1000)는 악성코드 유포 URL과 관련된 IP 대역, 호스트, 유사 업종에 대하여 웹 크롤링부(100)가 링크 페이지의 복사본 생성 및 인덱싱을 수행하도록 제어할 수 있다.If the risk probability is equal to or greater than the predetermined threshold, the risk analysis unit 1000 controls the web crawler 100 to perform a copy creation and indexing of the link page with respect to the IP band, the host, and the similar industry related to the malicious code distribution URL .
또한, 특정 URL의 위험도 확률이 기 설정된 임계치 이상인 경우, 위험도 분석부(1000)는 유사 도메인에 대하여 IP 정보를 도출할 수 있고, 악성코드 URL 접속 차단부(600)가 특정 URL에 대한 접속을 차단하도록 제어할 수 있다.If the risk probability of a specific URL is equal to or greater than a predetermined threshold value, the risk analysis unit 1000 can derive IP information for a similar domain, and the malicious code URL access blocking unit 600 can block access to a specific URL .
도 3은 본 발명의 일 구성인 위험도 분석부에 대한 개략적인 구성을 나타낸 도면이며, 도 4는 본 발명의 일 구성인 RNN 학습 모듈의 학습 방법을 개략적으로 나타낸 도면이고, 도 5는 본 발명의 일 구성인 RNN 학습 모듈의 학습 방법에 따른 위험도 확률 도출 결과를 나타낸 도면이다.FIG. 3 is a diagram showing a schematic configuration of a risk analysis unit, which is a constitution of the present invention. FIG. 4 is a diagram schematically showing a learning method of an RNN learning module, which is a constitution of the present invention. FIG. 4 is a diagram showing a result of a risk probability derivation according to a learning method of an RNN learning module as a constituent; FIG.
도 3을 참고하면, 위험도 분석부는 RNN 학습 모듈(1010) 및 유포지 위험도 분류 모듈(1020)을 포함할 수 있다.Referring to FIG. 3, the risk analysis unit may include an RNN learning module 1010 and a spreadsheet risk classification module 1020.
RNN 학습 모듈(1010)은 재귀적 신경망(Recurrent Neural Network 이하 'RNN')을 이용하여, 악성코드 유포지의 최신성, 반복성 및 악성코드 활성화 여부를 포함하는 변수에 따른 위험도 확률을 도출할 수 있다.The RNN learning module 1010 can derive a risk probability according to a variable including the latestness, repeatability, and malicious code activation of a malicious code bubble using a recurrent neural network (RNN).
여기서, 악성코드 유포지의 최신성은 현 시점을 기준으로 기 설정된 기간 동안 악성코드를 유포한 적이 있는지 여부를 판단하는 것이며, 악성코드 유포지의 반복성은 해당 악성코드 유포지의 유포 횟수를 의미하고, 악성코드 활성화 여부는 실제 악성프로그램 다운로드 여부(해쉬 값 비교를 통한 파일 확인) 또는 악성프로그램 실행 여부 등을 의미한다.Here, the latest malware epidemic is to determine whether malicious code has been distributed for a predetermined period based on the current time, and the repeatability of the malicious code spool means the number of times that malicious code is distributed, Whether the actual malicious program is downloaded (file verification by comparing the hash value) or whether the malicious program is executed or not is determined.
도 4를 참고하면, RNN 학습 모듈(1010)은 상술한 악성코드 유포지의 회신성, 반복성 및 악성코드 활성화 여부(X1, X2, X3)을 변수로 하여, 입력계층에 입력을 하고, 은닉계층에서 기 설정된 알고리즘 또는 기 입력된 함수를 이용하여, 특정 URL에 대한 출력계층에서 y1, y2 및 y3의 출력 값을 도출할 수 있다.Referring to FIG. 4, the RNN learning module 1010 inputs to the input layer the variables (X1, X2, and X3) of the above malicious code, the repeatability and the malicious code activation The output values of y1, y2, and y3 in the output layer for a specific URL can be derived using a predetermined algorithm or pre-input function.
도 5를 참고하면, RNN 학습 모듈(1010)은 도출된 출력 값을 이용하여, 위험도 확률을 도출할 수 있고, 도출된 위험도 확률이 기 설정된 임계치 이상 또는 미만 여부에 따라서, 특정 URL에 대한 위험도 높음 또는 낮음을 판단할 수 있다.Referring to FIG. 5, the RNN learning module 1010 can derive a risk probability using the derived output value, and determine whether the risk probability is higher or lower than the predetermined threshold Or low.
유포지 위험도 분류 모듈(1020)은 RNN 학습 모듈(1010)의 위험도 판단 결과에 따라 특정 URL을 위험도 높음 또는 낮음으로 분류할 수 있다.The spreadsheet risk classification module 1020 can classify a particular URL as high risk or low risk according to the risk determination result of the RNN learning module 1010. [
그리고 유포지 위험도 분류 모듈(1020)은 악성코드 DB부(500)가 도출된 위험도 확률을 저장하도록 제어할 수 있고, 유포지 위험도 분류 모듈(1020)은 악성코드 DB부(500)가 위험도 확률을 반영하여 악성코드 유포 URL에 대한 내용을 갱신하도록 제어할 수 있다.The malicious code DB unit 500 may control the malicious code DB unit 500 to store the risk probability derived from the malicious code DB unit 500 and the malicious code DB unit 500 may reflect the risk probability You can control to update the contents of malicious code distribution URLs.
위험도 확률이 기 설정된 임계치 이상인 경우, 유포지 위험도 분류 모듈(1020)은 악성코드 유포 URL과 관련된 IP 대역, 호스트, 유사 업종에 대하여 웹 크롤링부(100)가 링크 페이지의 복사본 생성 및 인덱싱을 수행하도록 제어할 수 있다.When the risk probability is equal to or greater than a preset threshold value, the risk classification module 1020 controls the web crawler 100 to perform a copy creation and indexing of the link page with respect to the IP band, the host, and the similar industry related to the malicious code distribution URL can do.
또한, 특정 URL의 위험도 확률이 기 설정된 임계치 이상인 경우, 유포지 위험도 분류 모듈(1020)은 유사 도메인에 대하여 IP 정보를 도출할 수 있고, 악성코드 URL 접속 차단부(600)가 특정 URL에 대한 접속을 차단하도록 제어할 수 있다.In addition, when the risk probability of a specific URL is equal to or greater than a predetermined threshold value, the malware risk classification module 1020 can derive IP information for a similar domain, and the malicious code URL access blocking unit 600 can prevent access to a specific URL Can be controlled.
상술한 위험도 분석부(1000)를 통해 머신러닝을 이용하여 위험도를 산정할 수 있으므로 기존 전문 인력이 수동으로 위험도를 산정하는 것에 비해 위험도 산정의 정확성 및 효율이 상승하고, 위험도 산정에 따른 악성코드 오탐율을 현저히 낮출 수 있는 효과가 있다.Since the risk can be calculated using machine learning through the above-described risk analysis unit 1000, the accuracy and efficiency of the risk calculation are improved and the malicious code There is an effect that the seeking rate can be remarkably lowered.
또한, 위험도 분석부(1000)의 변수 산정 과정에서 기존 기술이 수동으로 업데이트하는데 비해 위험도 분석부(1000)는 머신러닝을 이용하는 바, 자동으로 업데이트를 할 수 있는 장점이 있다.In addition, while the existing technology is manually updated in the process of calculating the risk of the risk analysis unit 1000, the risk analysis unit 1000 has an advantage that it can automatically update using the machine learning.
도 6은 본 발명의 또 다른 실시 예에 따른 악성코드 유포지 위험도 분석 시스템을 구체적으로 나타낸 구성도이다. 그리고, 도 7은 웹 사이트의 악성코드 유포 시도 과정과 악성코드 유포를 모니터링하기 위한 과정을 일 예로 나타낸 구성도이다. FIG. 6 is a block diagram specifically illustrating a malicious code distribution risk analysis system according to another embodiment of the present invention. 7 is a block diagram illustrating a process for distributing a malicious code on a web site and a process for monitoring malicious code distribution.
먼저, 도 6을 참조하면, 본 발명에 따른 악성코드 유포지 위험도 분석 시스템은 인터넷 이용자의 통신 단말기기(1100)로 웹 사이트 및 홈페이지 서비스를 제공하는 웹 제공 서버(1200), 웹 제공 서버(1200)에서 제공하는 웹 사이트 및 홈페이지를 모니터링하여 좀비 서버(1400)나 해커 서버(1500)로부터 유포되는 악성 코드, 악성코드 접속 URL, 악성 프로그램 유포 코드 및 악성 프로그램 유포 패턴을 실시간으로 탐지하고, 탐지 결과에 따라 악성 코드, 악성코드 접속 URL, 악성 프로그램 유포 코드를 차단하며 알림 메시지를 발생시키는 모니터링 서버(1300)를 구비한다. Referring to FIG. 6, the risk analysis system for malicious code according to the present invention includes a web providing server 1200, a web providing server 1200 for providing a web site and a homepage service to a communication terminal 1100 of an Internet user, A malicious code access URL, a malicious program distribution code, and a malicious program distribution pattern distributed from the zombie server 1400 or the hacker server 1500 are monitored in real time by monitoring a website and a homepage provided by the malicious program, A monitoring server 1300 for blocking a malicious code, a malicious code access URL, and a malicious program distribution code and generating a notification message.
웹 제공 서버(1200)는 기업이나 개인이 운용하는 인터넷 호스팅 엔진이나 호스팅 서버가 될 수 있으며, 인터넷을 통해 웹 사이트 및 홈페이지 주소를 유포하며 웹 사이트 및 홈페이지를 운용한다. 그리고, 인터넷 이용자가 노트북이나 태블릿 이동 통신기기, PC 등의 통신 단말기기(1100)로 웹 사이트나 홈페이지에 접속하면 웹 사이트 및 홈페이지 서비스를 제공한다. The web providing server 1200 may be an Internet hosting engine or a hosting server operated by a company or an individual, and distributes a web site and a homepage address through the Internet, and operates a web site and a homepage. When an Internet user accesses a website or a homepage through a communication terminal 1100 such as a notebook computer, a tablet mobile communication device, or a PC, a web site and a homepage service are provided.
통신 단말기기(1100)는 노트북, 스마트폰, 태블릿 PC, 태블릿 이동 통신기기, 개인 PC 등이 될 수 있으며, 인터넷을 이용하는 고객이나 인터넷 이용자들은 통신 단말기기(1100)로 네트워크망을 이루고 웹 사이트나 홈페이지에 접속하고 이용하게 된다. The communication terminal 1100 may be a notebook, a smart phone, a tablet PC, a tablet mobile communication device, a personal PC, etc. A customer or an Internet user using the Internet may form a network with the communication terminal 1100, You will access the homepage and use it.
하지만, 악성코드를 유포하는 해커들은 좀비 서버(1400)나 해커 서버(1500), PC 등을 이용하여 웹 사이트나 홈페이지에 드랍퍼(DROPPER)를 심어놓거나, 키로그와 데이터 유출파일을 심어 놓는 등 악성코드나 악성 프로그램의 유포코드 및 악성코드 유포패턴을 심어놓는다. 여기서, 악성코드나 악성 프로그램의 유포코드 및 악성코드 유포패턴은 아이프레임 태그, 임베드, 오브젝트 태그, 링크 태그, 스크립트 태그, 자바스크립트 태그 등으로 포함될 수 있다. However, hackers who distribute malicious code may use a zombie server (1400), a hacker server (1500) or a PC to embed a dropper on a website or a homepage, It embeds patterns of spreading codes and malicious codes of code or malicious programs. Here, the malicious code or malicious code distribution pattern of the malicious program and the malicious code distribution pattern may be included as the i-frame tag, the embed, the object tag, the link tag, the script tag, and the JavaScript tag.
도 7과 같이, 노트북이나 태블릿 이동 통신기기, PC 등의 통신 단말기기(1100)를 통해 웹 제공 서버(1200)에서 제공하는 웹 사이트나 홈페이지에 접속하면 자동으로 드랍퍼나 키로그 등 실제 악성행위(예를 들어, 키로깅, 데이터 유출)를 수행하는 파일을 다운받게 된다. 이러한 상태에서 통신 단말기기(1100)는 정보를 다운로드 받으라는 명령어에 의해 악성코드가 다운로드하게 되고, 다운로드된 파일이 실행되어 주기적으로 통신 단말기기(1100)에 저장되어 있던 개인정보와 다양한 정보들을 하여 유출하는 등 실제로 악성행위에 노출된다. As shown in FIG. 7, when a web site or a homepage provided by the web providing server 1200 is accessed through a communication terminal 1100 such as a notebook computer, a tablet mobile communication device, or a PC, the malicious behavior For example, key logging, data leakage). In this state, the communication terminal 1100 downloads the malicious code by an instruction to download the information, and the downloaded file is executed to periodically transmit the personal information and various information stored in the communication terminal 1100 It is exposed to malicious acts such as leakage.
모니터링 서버(1300)는 웹 제공 서버(1200)에서 제공하는 웹 사이트 및 홈페이지에 실시간으로 접속된 상태로 웹 제공 서버(1200)에서 제공하는 다양한 컨텐츠나 유포 코드 및 실행코드 등을 실시간 모니터링한다. 이때, 모니터링 서버(1300)는 웹 제공 서버(1200)에서 제공하는 다양한 컨텐츠나 유포코드 및 실행코드 등을 탐지 및 분석하여, 좀비 서버(1400)나 해커 서버(1500)로부터 유포되는 드랍퍼, 키로그, 데이터 유출파일, 악성코드, 악성코드 접속 URL, 악성 프로그램 유포 코드 및 악성 프로그램 유포 패턴을 실시간으로 탐지한다. 그리고, 탐지 결과에 따라 드랍퍼, 키로그, 데이터 유출파일, 악성코드, 악성코드 접속 URL, 악성 프로그램 유포 코드 및 악성 프로그램 유포 패턴을 차단하고, 알림 메시지를 발생시켜 웹 제공 서버(1200)와 좀비 서버(1400) 및 해커 서버(1500) 등으로 전송한다. The monitoring server 1300 real-time monitors various contents, dubbed codes, execution codes, and the like provided by the web providing server 1200 while being connected to the web sites and homepages provided by the web providing server 1200 in real time. At this time, the monitoring server 1300 detects and analyzes various contents, a distributed code, an execution code, and the like provided by the web providing server 1200 and transmits the detected contents, the drop codes, and the execution codes distributed from the zombie server 1400 or the hacker server 1500 , Data leakage file, malicious code, malicious code access URL, malicious program distribution code, and malicious program distribution pattern in real time. Then, the web server 1200 and the zombie server 200 generate a notification message by blocking the dropper, the keylog, the data leakage file, the malicious code, the malicious code access URL, the malicious program distribution code and the malicious program distribution pattern according to the detection result, (1400) and the hacker server (1500).
도 8은 도 6에 도시된 모니터링 서버를 구체적으로 나타낸 구성도이다. 그리고, 도 9는 도 8에 도시된 MC 유포패턴 분석엔진과 MC 차단부의 악성 코드 및 악성 코드 유포 패턴 분석 방식을 구체적으로 나타낸 도면이다. 8 is a configuration diagram specifically showing the monitoring server shown in FIG. FIG. 9 is a diagram illustrating a malicious code and malicious code distribution pattern analysis method of the MC spread pattern analyzing engine and the MC breaker shown in FIG. 8 in detail.
도 8을 참조하면, 모니터링 서버(1300)는 웹 제공 서버(1200)에서 운용하는 웹 사이트 및 홈페이지에 접속하여 웹 사이트 및 홈페이지에서 제공하는 컨텐츠들을 이용하고 컨텐츠 제공시 발생되는 유포 코드 및 실행코드(예를 들어, 스크립트 코드 등)를 제공받는 웹 에이전트(1310), 웹 사이트 및 홈페이지에서 제공하는 컨텐츠들과 컨텐츠 제공시 발생되는 유포 코드 및 실행코드를 실시간으로 분석하여 상기 좀비 서버(1400)나 해커 서버(1500)에 의한 드랍퍼, 키로그, 데이터 유출파일, 악성코드, 악성코드 접속 URL, 악성 프로그램 유포 코드 및 악성 프로그램 유포 패턴을 검출하는 MC 분석부(1320), 상기의 악성코드, 악성코드 접속 URL, 악성 프로그램 유포 코드 및 악성 프로그램 유포 패턴을 디코딩하고 MC 분석부(1320)의 검출 결과에 따라 상기의 드랍퍼, 키로그, 데이터 유출파일, 악성코드, 악성코드 접속 URL, 악성 프로그램 유포 코드 및 악성 프로그램 유포 패턴을 차단하며, 알림 메시지를 발생시켜 상기 웹 제공 서버(1200)와 좀비 서버(1400) 및 해커 서버(1500)로 전송하는 MC 차단부(1330), 상기의 악성코드, 악성 프로그램 유포 코드의 디코딩 정보, 악성 프로그램 유포 패턴 정보, 악성코드 접속 URL 정보, 통신 단말기기(1100)의 접속 정보, 통신 단말기기(1100)의 이용자 정보 및 웹 제공 서버(1200)를 운용하는 운용자 정보를 저장 및 갱신하고 MC 분석부(1320) 및 MC 차단부(1330)와 실시간으로 갱신하고 공유하는 데이터 베이스부(1340)를 구비한다. Referring to FIG. 8, the monitoring server 1300 accesses a web site operated by the web providing server 1200 and a homepage, uses contents provided from a web site and a homepage, and transmits a distributed code and an execution code (For example, script code, etc.), the web site and the contents provided on the web site and the homepage, and the distributed code and the execution code generated when the contents are provided are analyzed in real time and the zombie server 1400 and the hacker An MC analysis unit 1320 for detecting a dropper, a keylog, a data leakage file, a malicious code, a malicious code access URL, a malicious program distribution code and a malicious program distribution pattern by the server 1500; URL, a malicious program distribution code, and a malicious program distribution pattern and outputs the dropper, the keyword, and the malicious program according to the detection result of the MC analysis unit 1320, The web server 1200, the zombie server 1400, and the hacker server 1500 generate a notification message and block the malicious program access URL, malicious code, malicious code access URL, malicious program distribution code, The malicious program distribution pattern information, the malicious code access URL information, the access information of the communication terminal 1100, the communication terminal 1100, the malicious program distribution code, And a database unit 1340 for storing and updating the user information of the web server 1200 and the operator information for operating the web providing server 1200 and updating and sharing the information with the MC analyzing unit 1320 and the MC blocking unit 1330 in real time.
웹 에이전트(1310)는 웹 제공 서버(1200)에서 운용하는 웹 사이트 및 홈페이지에 실시간 접속하여 실시간 접속 상태를 유지한다. 그리고, 웹 사이트 및 홈페이지에서 제공하는 다양한 컨텐츠들을 순차적으로 이용하고, 컨텐츠 제공시 발생되는 유포 코드 및 실행코드(예를 들어, 스크립트 코드 등)를 제공받는 등 웹 사이트 및 홈페이지에서 이용할 수 있는 다양한 행위들을 순차적으로 실행한다. The web agent 1310 accesses a web site and a homepage operated by the web providing server 1200 in real time to maintain a real-time connection state. Various behaviors that can be used on websites and homepages, such as by sequentially using various contents provided on a website and a homepage, receiving distributed codes and execution codes (for example, script codes, etc.) Are sequentially executed.
도 9에 도시된 바와 같이, MC 분석부(1320)는 웹 에이전트(1310)의 실행 동작에 따라 웹 사이트 및 홈페이지에서 제공하는 컨텐츠들과 컨텐츠 제공시 발생되는 유포 코드 및 실행코드를 실시간으로 분석 및 탐지함으로써, 좀비 서버(1400)나 해커 서버(1500)에 의한 드랍퍼, 키로그, 데이터 유출파일, 악성코드, 악성코드 접속 URL, 악성 프로그램 유포 코드 및 악성 프로그램 유포 패턴을 검출한다. 이를 위해, MC 분석부(1320)는 HTML 컨텐츠를 순차적으로 파싱해서 분석함으로써 HTML을 이용한 악성 프로그램 유포 코드를 탐지하는 HTML 컨텐츠 분석 엔진(1321), 및 컨텐츠 제공시 발생되는 스크립트 코드와 HTML 컨텐츠를 실시간으로 분석하여 악성 프로그램 유포시 이용되는 악성 프로그램 유포 패턴을 탐지하는 MC 유포패턴 분석엔진(1322)을 구비한다. As shown in FIG. 9, the MC analyzer 1320 analyzes and analyzes the contents provided on the web site and the homepage according to the execution operation of the web agent 1310, Detects a dropper, a keylog, a data leakage file, a malicious code, a malicious code access URL, a malicious program distribution code, and a malicious program distribution pattern by the zombie server 1400 or the hacker server 1500. To this end, the MC analysis unit 1320 includes an HTML content analysis engine 1321 for sequentially detecting and analyzing HTML content to detect a malicious program distribution code using HTML, And an MC spread pattern analyzing engine 1322 for detecting a malicious program distribution pattern used when a malicious program is distributed.
도 10은 도 8 및 도 9에 도시된 HTML 컨텐츠 분석 엔진의 HTML 컨텐츠를 분석 동작을 나타낸 순서도이다. FIG. 10 is a flowchart illustrating an operation of analyzing HTML content of the HTML content analysis engine shown in FIGS. 8 and 9. FIG.
도 10을 참조하면, HTML 컨텐츠 분석 엔진(1321)은 웹 에이전트(1310)를 통해 HTML 컨텐츠의 Http/Https URL을 제공받고, HTML 컨텐츠를 순차적으로 파싱해서 분석함으로써 HTML DOM을 구성한다. 그리고, HTML 컨텐츠와 Http/Https URL의 존재여부 및 Http/Https URL을 분석함으로써, Http/Https URL에 포함되도록 HTML을 이용하는 악성 프로그램 유포 코드를 탐지 및 분석한다. Referring to FIG. 10, the HTML content analysis engine 1321 receives the Http / Https URL of the HTML content through the web agent 1310 and sequentially parses and analyzes the HTML content to construct the HTML DOM. And, it analyzes and analyzes Http / Https URL and existence of HTML contents and Http / Https URL, and detects and analyzes malicious program spread code using HTML to be included in Http / Https URL.
도 11은 도 8 및 도 9에 도시된 MC 유포패턴 분석 엔진의 악성 프로그램 유포 패턴 탐지 동작을 나타낸 순서도이다. 그리고, 도 12는 악성코드 유포패턴과 악성코드 유포패턴의 탐지 예를 나타낸 도면이다. 11 is a flowchart illustrating a malicious program distribution pattern detection operation of the MC distribution pattern analysis engine shown in FIG. 8 and FIG. 9. FIG. 12 is a diagram showing an example of detection of a malicious code distribution pattern and a malicious code distribution pattern.
도 11 및 도 12를 참조하면, MC 유포패턴 분석엔진(1322)은 웹 에이전트(1310)를 통해 HTML 컨텐츠를 제공받고 웹 에이전트(1310)의 동작에 따라 순차적으로 발생되는 URL, HTML 컨텐츠 제공시 발생되는 유포 코드 및 스크립트 코드 중 적어도 하나의 URL이나 코드들을 실시간으로 디코딩한다. 그리고, HTML 컨텐츠에서 악성 코드 유포에 사용되는 아이 프레임(inline frame, iframe) 태그, 내부 프레임(inline frame) 태그, 임베드, 오브젝트 태그, 링크 태그, 스크립트 태그, 자바스크립트 태그 중 적어도 하나의 태그를 검출한다. 이어, HTML 컨텐츠에서 src, width, height 중 적어도 하나의 속성값을 참조 및 비교하여 악성 코드 유포에 사용되는 패턴의 유무를 확인 및 검출하게 된다. Referring to FIGS. 11 and 12, the MC distribution pattern analysis engine 1322 receives HTML contents through the web agent 1310 and generates URLs and HTML contents sequentially generated according to the operation of the web agent 1310 And decodes at least one URL or codes of the distributed code and the script code in real time. Then, at least one of an inline frame (iframe) tag, an inline frame tag, an embedded tag, an object tag, a link tag, a script tag, and a JavaScript tag used for distributing malicious code is detected do. Next, at least one attribute value of src, width, height is referenced and compared in the HTML contents to check whether there is a pattern used for distributing malicious code or not.
도 12에 도시된 바와 같이, 악성 코드 유포에 사용되는 HTML 컨텐츠나 HTML 코드들은 인코딩된 상태로 URL, 컨텐츠 제공시 발생되는 유포 코드 및 스크립트 코드와 같은 실행코드에 포함되어 있다. 따라서, MC 유포패턴 분석엔진(1322)은 웹 에이전트(1310)의 동작에 따라 순차적으로 발생되는 URL, 컨텐츠 제공시 발생되는 유포 코드 및 스크립트 코드와 같은 실행코드를 실시간으로 디코딩하고, src, width, height 중 적어도 하나의 속성값을 참조하여 악성 코드 유포에 사용되는 패턴의 유무를 확인할 수 있다. As shown in FIG. 12, HTML contents or HTML codes used for distributing malicious codes are included in an execution code such as a URL, a distributed code generated in providing contents, and a script code in an encoded state. Accordingly, the MC dissemination pattern analysis engine 1322 decodes in real time the execution codes such as a URL generated sequentially in accordance with the operation of the web agent 1310, a distributed code generated in providing contents, and a script code, height of the malicious code can be checked by referring to at least one attribute value among the patterns.
한편, MC 유포패턴 분석엔진(1322)은 상기 URL, 컨텐츠 제공시 발생되는 유포 코드 및 스크립트 코드와 같은 실행 코드를 실시간으로 디코딩한 후, 상기 데이터 베이스부(1340)에서 제공되는 악성 프로그램 유포 패턴 정보 및 악성코드 접속 URL 정보와 각각 비교 분석하여 악성 코드 유포에 사용되는 패턴의 유무를 확인할 수 있다. Meanwhile, the MC dissemination pattern analysis engine 1322 decodes the execution code such as the URL, the dubbing code and the script code generated in providing the content in real time, and then analyzes the malicious program distribution pattern information provided from the database unit 1340 And malicious code access URL information, respectively, to check whether there is a pattern used for distributing malicious code.
MC 차단부(1330)는 악성코드, 악성코드 접속 URL, 악성 프로그램 유포 코드 및 악성 프로그램 유포 패턴을 디코딩하고, MC 분석부(1320)의 검출 결과에 따라 상기의 드랍퍼, 키로그, 데이터 유출파일, 악성코드, 악성코드 접속 URL, 악성 프로그램 유포 코드 및 악성 프로그램 유포 패턴을 차단한다. 그리고, 알림 메시지를 발생시켜 웹 제공 서버(1200)와 좀비 서버(1400) 및 해커 서버(1500)로 전송한다. 이를 위해, MC 차단부(1330)는 웹 에이전트(1310)의 동작에 따라 순차적으로 발생되는 URL, HTML 컨텐츠 제공시 발생되는 유포 코드 및 스크립트 코드를 실시간으로 디코딩하여 드랍퍼, 키로그, 데이터 유출파일, 악성코드, 악성코드 접속 URL, 악성 프로그램 유포 코드를 각각 검출하고 검출 결과에 따라 발생되는 URL, HTML 컨텐츠 제공시 발생되는 유포 코드 및 스크립트 코드 유입 및 접속을 차단하는 MC 디코딩 처리엔진(1331), MC 유포패턴 분석엔진(1322)의 악성 코드 유포 패턴 유무 확인 결과에 따라 URL, HTML 컨텐츠 제공시 발생되는 악성코드 접속 URL, 악성 프로그램 유포 코드 및 악성 프로그램 유포 패턴을 차단하고 알림 메시지를 발생시켜 웹 제공 서버(1200)와 좀비 서버(1400) 및 해커 서버(1500)로 전송하는 MC 유포 패턴 처리 엔진(1332), 악성 코드 유포에 사용되는 패턴의 유무를 확인 결과 및 악성 프로그램 유포 코드 탐지 결과에 따라 URL, 악성코드 접속 URL 접속을 차단하고 알림 메시지를 발생시켜 웹 제공 서버(1200)와 좀비 서버(1400) 및 해커 서버(1500)로 전송하는 MC 유포 URL 차단엔진(1333)을 구비한다. The MC interception unit 1330 decodes the malicious code, the malicious code access URL, the malicious program distribution code, and the malicious program distribution pattern and outputs the dropper, the keylog, the data outflow file, and the malicious program distribution pattern according to the detection result of the MC analysis unit 1320, Block malicious code, malicious code access URL, malicious program distribution code, and malicious program distribution pattern. Then, a notification message is generated and transmitted to the web providing server 1200, the zombie server 1400, and the hacker server 1500. To this end, the MC interception unit 1330 decodes in real time the URLs generated in sequence according to the operation of the web agent 1310, the distributed codes generated in providing the HTML contents, and the script codes to generate droppers, An MC decoding processing engine 1331 for detecting a malicious code, a malicious code access URL, and a malicious program distribution code, respectively, and for blocking a URL generated according to the detection result, The malicious code access URL generated when the HTML content is provided, the malicious program distribution code and the malicious program distribution pattern are blocked according to the result of the malicious code distribution pattern check of the distribution pattern analysis engine 1322, An MC distribution pattern processing engine 1332 that transmits the malicious code to the malicious code distribution server 1200, the zombie server 1400, and the hacker server 1500; The URL and the malicious code access URL are blocked according to the result of checking the existence of the pattern and the malicious program distribution code detection result, and a notification message is generated and transmitted to the web providing server 1200, the zombie server 1400, and the hacker server 1500 And an MC-based URL blocking engine 1333 that performs the MC-based URL blocking process.
한편으로, 도 8에 도시된 바와 같이, 데이터 베이스부(1340)는 웹 제공 서버(1200)를 운용하는 운용자 정보와 웹 제공 서버(1200)에서 운용하는 웹 사이트나 홈페이지 접속 이용자들의 로그인 정보 들을 저장하고 공유하는 사용자 정보 DB, 드랍퍼, 키로그, 데이터 유출파일, 악성 프로그램 유포 스크립트, 악성코드 스크립트들의 정보 및 드랍퍼, 키로그, 데이터 유출파일, 악성 프로그램 유포 스크립트, 악성코드 스크립트들의 디코딩 정보를 각각 저장하고 갱신 및 공유하는 MC 디코딩 정보 DB, 악성코드 접속 URL 및 악성 프로그램 유포 코드를 검출 결과에 따라 발생되는 URL 정보들을 각각 저장하고 갱신 및 공유하는 MC 유포 URL DB, 악성 프로그램 유포 패턴 정보 및 악성 코드 유포에 사용되었던 패턴 정보를 각각 저장하고 갱신 및 공유하는 MC 유포 패턴 DB를 구비한다. 8, the database unit 1340 stores operator information for operating the web providing server 1200 and login information for a web site operated by the web providing server 1200 or users accessing the homepage. The information of the user information DB, the dropper, the keylog, the data leakage file, the malicious program distribution script, the malicious code script, and the decoding information of the dropper, the keylog, the data leakage file, the malicious program distribution script, A MC distributed URL DB for storing, updating and sharing URL information generated according to detection results of malicious code access URLs and malicious program distribution codes, malicious program distribution pattern information and malicious code distribution And an MC distribution pattern DB for storing, updating, and sharing the pattern information used in do.
도 13은 도 8 및 도 9에 도시된 MC 디코딩 처리엔진의 악성코드 디코딩 및 탐지 동작을 나타낸 순서도이다. 그리고, 도 14는 악성코드와 악성코드 디코딩 과정 및 탐지 예를 나타낸 도면이다. 13 is a flowchart showing a malicious code decoding and detection operation of the MC decoding processing engine shown in Figs. 8 and 9. Fig. 14 is a diagram illustrating a malicious code and a malicious code decoding process and an example of detection.
도 13 및 도 14를 참조하면, MC 차단부(1330)의 MC 디코딩 처리엔진(1331)은 웹 에이전트(1310)의 동작에 따라 순차적으로 발생되는 URL, HTML 컨텐츠 제공시 발생되는 유포 코드의 스크립트 및 악성 코드의 스크립트를 실시간 순차적으로 로딩하고 메모리에 저장한다. 그리고, URL, 유포 코드의 스크립트 및 악성 코드의 스크립트를 순차적으로 파싱(parsing) 해서 분석함으로써 HTML DOM, BOM을 구성한다. 13 and 14, the MC decoding processing engine 1331 of the MC interceptor 1330 receives a URL sequentially generated according to the operation of the web agent 1310, a script of a distribution code generated when HTML contents are provided, The script of the malicious code is loaded in real time and stored in memory. Then, the HTML DOM and the BOM are constructed by sequentially parsing and analyzing the URL, the script of the distributed code, and the script of the malicious code.
이 후, MC 디코딩 처리엔진(1331)은 상기의 HTML DOM, BOM의 스크립트들을 상기 MC 디코딩 정보 DB로부터의 드랍퍼, 키로그, 데이터 유출파일, 악성 프로그램 유포 스크립트, 악성코드 스크립트들의 디코딩 정보들과 비교하여 실시간으로 디코딩함으로써, 드랍퍼, 키로그, 데이터 유출파일, 악성코드, 악성코드 접속 URL, 악성 프로그램 유포 코드를 각각 검출하고, 검출 결과에 따라 발생되는 URL, HTML 컨텐츠 제공시 발생되는 유포 코드 및 스크립트 코드 유입 및 접속을 차단한다. Thereafter, the MC decoding processing engine 1331 compares the scripts of the HTML DOM and the BOM with the decoding information of the dropper, the keylog, the data leakage file, the malicious program distribution script, and the malicious code script from the MC decoding information DB A malicious code, a malicious code access URL, and a malicious program distribution code, and detects a URL generated according to the detection result, a distribution code generated when providing HTML contents, and a script Block code entry and connection.
MC 유포 패턴 처리 엔진(1332)은 웹 에이전트(1310)의 동작에 따라 순차적으로 발생되는 URL, 컨텐츠 제공시 발생되는 유포 코드 및 스크립트 코드와 같은 실행 코드를 MC 유포 패턴 DB로부터의 악성 프로그램 유포 패턴 정보, 악성 코드 유포에 사용되었던 패턴 정보, src, width, height 중 적어도 하나의 속성 값과 비교하여 악성 코드 유포 패턴의 유무를 확인할 수 있다. 그리고, 악성코드 유포 패턴 유무 확인 결과에 따라 상기 URL, HTML 컨텐츠 제공시 발생되는 악성코드 접속 URL, 악성 프로그램 유포 코드 및 악성 프로그램 유포 패턴을 차단하고, 알림 메시지를 발생시켜 웹 제공 서버(1200)와 좀비 서버(1400) 및 해커 서버(1500)로 전송한다. The MC distribution pattern processing engine 1332 transmits execution codes such as a URL sequentially generated according to the operation of the web agent 1310, a distribution code generated when contents are provided, and a script code to malicious program distribution pattern information , Pattern information used for distributing malicious code, and attribute value of at least one of src, width, and height to check presence / absence of a malicious code distribution pattern. The URL, the malicious code access URL generated when the HTML content is provided, the malicious program distribution code, and the malicious program distribution pattern are blocked according to the result of checking whether the malicious code distribution pattern exists or not, and a notification message is generated, To the zombie server (1400) and the hacker server (1500).
MC 유포 URL 차단엔진(1333)은 MC 유포 패턴 처리 엔진(1332)의 악성코드 유포패턴의 유무 확인 결과 및 악성 프로그램 유포 코드의 탐지 결과에 따라 URL, 상기 악성코드 접속 URL 접속을 차단하고, 알림 메시지를 발생시켜 웹 제공 서버(1200)와 좀비 서버(1400) 및 해커 서버(1500)로 전송하게 된다. The MC distributed URL blocking engine 1333 blocks the URL and the malicious code access URL access according to the result of the malicious code distribution pattern detection engine 1332 and the malicious program distribution code detection result of the MC distribution pattern processing engine 1332, And transmits it to the web providing server 1200, the zombie server 1400, and the hacker server 1500.
이상 상술한 바와 같이, 본 발명의 악성코드 유포지 위험도 분석 시스템에 의하면 웹 사이트에 삽입된 인코딩 상태의 악성 코드와 악성 프로그램의 유포 코드를 사전에 탐지 및 차단함으로써, 웹 사이트 운용 기업의 서비스 이용자 및 기업 조직내부의 악성코드 감염 피해를 예방할 수 있게 된다. 그리고, 기업의 웹 사이트와 웹 사이트 이용 고객들의 피해를 막고 기업 신뢰도와 고객 만족도를 향상시킬 수 있다.As described above, according to the risk analysis system for malicious code of the present invention, malicious codes in the encoded state inserted in the web site and malicious codes of malicious programs are detected and blocked in advance, It is possible to prevent the malicious code infection damage inside the organization. In addition, it can prevent damages to corporate website and website users and improve corporate reliability and customer satisfaction.
또한, 보안관제 서비스와 연계 운영 시 시너지 효과를 기대할 수 있으며, 안전한 인터넷 환경 및 기업/공공기관의 안정적인 웹 서비스 제공으로 고객 신뢰 및 직/간접 이익을 증가시킬 수 있다. In addition, synergy effects can be expected in connection with security management services, and customer trust and direct and indirect profits can be increased through secure internet environment and stable web service provision of corporate / public institutions.
상기와 같이 본 발명의 실시 예에 따른 머신러닝을 이용한 악성코드 유포지 위험도 분석 시스템의 구성 및 동작이 이루어질 수 있으며, 한편 상기 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나 여러 가지 변형이 본 발명의 범위를 벗어나지 않고 실시될 수 있다.As described above, the configuration and operation of the risk analysis system for malicious code can be performed using machine learning according to the embodiment of the present invention. While the present invention has been described with respect to specific embodiments thereof, Can be carried out without departing from the scope.
이상에서 본 발명은 비록 한정된 실시 예와 도면에 의해 설명되었으나, 본 발명은 이것에 의해 한정되지 않으며 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 수정 및 변형이 가능함은 물론이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, and that various modifications and changes may be made by those skilled in the art.
본 실시 예와 관련된 기술 분야에서 통상의 지식을 가진 자는 상기된 기재의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시 방법들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Therefore, disclosure methods should be considered from an illustrative point of view, not from a restrictive point of view. The scope of the present invention is defined by the appended claims rather than by the foregoing description, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.
본 발명의 악성코드 유포지 위험도 분석 시스템은 웹사이트에 악성코드를 유포하는 코드를 삽입함으로써 대상 웹서버가 악성코드 유표/경유하는 사이트로 악용되는 것을 사전에 탐지하여 대응할 수 있고, 웹사이트에 악성프로그램을 배포하는 코드가 삽입되는지를 주기적으로 검사하여 악성코드가 배포되기 전에 미리 탐지, 시스템관리자 또는 관제시스템에 알릴 수 있으며, 악성코드 유포지를 탐지하여 유포지로 발견되는 웹사이트에 대해 실제 악성코드 유포가 활성화 되어 있는지 여부 등을 분석하여 위험도를 산정하고, 이를 바탕으로 악성코드 유포지의 반복성, 최신성, 악성코드 활성화 여부 등을 변수로 하여, 위험도 확률을 도출하며, 이를 계속적으로 학습함으로써, 위험도 분석에 정확성을 가져올 수 있는바, 인공지능 기술 도입을 통한 효율적인 악성코드유포 탐지서비스 제공으로 서비스 신뢰도 향상에 따른 수익 창출 도모가 가능하며, 클라우드 서비스 신규 수요처를 확보함으로써 클라우드 시장 확산 기반 마련 및 성장 가능한 비즈니스 모델 확보가 가능하고, 산업단지에 클라우드서비스를 제공하여 입주 중소기업의 IT 비용절감, 생산성 향상 등 산업단지 입주 중소기업의 경쟁력 강화에 도움을 줄 수 있다.The risk analysis system of malicious code of the present invention can detect and respond to abuse of a target web server as a malicious code site via a web site by inserting a malicious code distribution code into the web site, The system administrator or the control system can be notified before the malicious code is distributed and the malicious code can be detected by detecting the malicious code and the actual malicious code is distributed to the website detected as the malicious code And whether or not the malicious code is activated. Based on the results, the risk probability is derived from the repeatability, the latest malicious code activation, etc. of the malicious code, and the risk probability is calculated. Accuracy can be achieved by introducing artificial intelligence technology , It is possible to generate revenue by improving service reliability by providing malicious code distribution detection service. By securing a new demand for cloud service, it is possible to establish a base for spreading the cloud market and secure a business model that can grow, It can help strengthen the competitiveness of SMEs entering industrial complexes such as IT cost reduction and productivity improvement of small and medium-sized enterprises moving in.
이러한 다양한 효과를 발생시킬 수 있는 악성코드 유포지 위험도 분석 시스템은 보안 산업 전반에 활용될 수 있다.A malicious code distribution risk analysis system that can generate these various effects can be used throughout the security industry.

Claims (7)

  1. 악성코드 유포지 위험도 분석 시스템에 있어서,In a malicious code spread risk analysis system,
    사용자가 접속한 URL의 기 설정된 깊이까지 링크 페이지의 복사본을 생성하고, 생성된 복사본을 인덱싱하는 웹 크롤링부;A web crawler for generating a copy of the link page up to a predetermined depth of the URL accessed by the user and indexing the generated copy;
    상기 복사본의 HTML을 파싱하는 HTML 파싱부;An HTML parser for parsing the HTML of the copy;
    상기 HTML 파싱부가 파싱한 HTML을 이용하여 악성코드 유포 패턴을 분석하는 악성코드 유포 패턴 분석부;A malicious code distribution pattern analyzing unit for analyzing a malicious code distribution pattern using the HTML parsed by the HTML parsing unit;
    상기 악성코드 유포 패턴 분석부가 분석한 악성코드 유포 패턴을 이용하여, 악성코드 유포 URL을 탐지하는 악성코드 유포 URL 탐지부;A malicious code distributed URL detection unit for detecting a malicious code distribution URL using the malicious code distribution pattern analyzed by the malicious code distribution pattern analysis unit;
    상기 악성코드 유포 URL에 대한 내용을 저장하는 악성코드 DB부;A malicious code DB unit for storing contents of the malicious code distribution URL;
    악성코드 유포 URL로 판단한 경우, 사용자 단말의 해당 URL에 접속을 차단하는 악성코드 URL 접속 차단부;A malicious code URL access blocking unit for blocking access to a URL of the user terminal when the malicious code distribution URL is determined;
    를 포함하는 악성코드 유포지 위험도 분석 시스템.A risk analysis system for malicious code.
  2. 제1항에 있어서,The method according to claim 1,
    상기 악성코드 유포 패턴을 분석하기 위하여, 악성코드 유포 패턴을 디코딩하는 스크립트 난독화 처리부;A script obfuscation processing unit for decoding the malicious code distribution pattern to analyze the malicious code distribution pattern;
    를 더 포함하는 악성코드 유포지 위험도 분석 시스템.Wherein the malicious code is a malicious code.
  3. 제1항에 있어서,The method according to claim 1,
    상기 HTML 파싱부가 파싱한 HTML을 이용하여 DOM 또는 BOM을 생성하는 DOM 및 BOM 생성부;A DOM and BOM generating unit for generating a DOM or a BOM using HTML parsed by the HTML parsing unit;
    를 더 포함하는 악성코드 유포지 위험 분석 시스템.Wherein the malicious code is a malicious code.
  4. 제1항에 있어서,The method according to claim 1,
    웹 크롤링부가 생성한 복사본에 따라 시나리오 스크립트를 생성하고, 생성한 스크립트에 따른 동작을 수행하는 스크립트 엔진부;A script engine unit for generating a scenario script according to a copy generated by the web crawler unit and performing an operation according to the generated script;
    를 더 포함하는 악성코드 유포지 위험 분석 시스템.Wherein the malicious code is a malicious code.
  5. 제1항에 있어서,The method according to claim 1,
    악성코드 유포 패턴 및 악성코드 유포 URL 중 적어도 하나를 이용하여, 악성코드 유포지 위험도를 분석하는 위험도 분석부;A risk analysis unit for analyzing the risk of malicious code using at least one of a malicious code distribution pattern and a malicious code distribution URL;
    를 더 포함하는 악성코드 유포지 위험 분석 시스템.Wherein the malicious code is a malicious code.
  6. 제5항에 있어서,6. The method of claim 5,
    상기 위험도 분석부는The risk analysis unit
    재귀적 신경망(Recurrent Neural Network 이하 'RNN')을 이용하여, 악성코드 유포지의 최신성, 반복성 및 악성코드 활성화 여부를 포함하는 변수에 따른 위험도 확률을 도출하는 RNN 학습 모듈;RNN learning module that derives risk probability according to variables including recency, repeatability and activation of malicious code by using recurrent neural network (RNN).
    을 포함하는 악성코드 유포지 위험 분석 시스템.The risk analysis system for malicious code.
  7. 제6항에 있어서,The method according to claim 6,
    상기 악성코드 DB부는The malicious code DB unit
    상기 RNN 학습 모듈이 도출한 위험도 확률을 저장하고, 상기 위험도 확률을 반영하여 악성코드 유포 URL에 대한 내용을 갱신하는 것을 특징으로 하는 악성코드 유포지 위험 분석 시스템.Stores the risk probability derived by the RNN learning module, and updates the contents of the malicious code distribution URL by reflecting the risk probability.
PCT/KR2017/014233 2017-08-01 2017-12-06 System for analyzing degree of risk for malicious code distribution site by using machine learning WO2019027106A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170097491A KR101809159B1 (en) 2017-08-01 2017-08-01 A system for analyzing the risk of malicious codes using machine learning
KR10-2017-0097491 2017-08-01

Publications (1)

Publication Number Publication Date
WO2019027106A1 true WO2019027106A1 (en) 2019-02-07

Family

ID=60954211

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2017/014233 WO2019027106A1 (en) 2017-08-01 2017-12-06 System for analyzing degree of risk for malicious code distribution site by using machine learning

Country Status (2)

Country Link
KR (1) KR101809159B1 (en)
WO (1) WO2019027106A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11573785B2 (en) 2020-05-14 2023-02-07 International Business Machines Corporation Predicting code vulnerabilities using machine learning classifier models trained on internal analysis states

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102174475B1 (en) 2018-12-05 2020-11-04 단국대학교 산학협력단 A system for detecting obfuscation or packing of an application using machine learning, and concealed malware detection and classification system and methods including it

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130068425A (en) * 2011-12-15 2013-06-26 한국인터넷진흥원 System for evaluating the degree of risk for hopping and distribution sites of malicious code and method for evaluating the same
KR20140059952A (en) * 2012-11-09 2014-05-19 한국인터넷진흥원 A system and a method for detecting spread and pass sites of malicious code
KR101577404B1 (en) * 2015-08-13 2015-12-28 인스소프트 주식회사 System and method for blocking access malware by using monitoring java-script object and computer program for executing the method
KR20160142268A (en) * 2016-11-30 2016-12-12 주식회사 에프원시큐리티 System for detecting and preventing malicious code based on website

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101514984B1 (en) 2014-03-03 2015-04-24 (주)엠씨알시스템 Detecting system for detecting Homepage spreading Virus and Detecting method thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130068425A (en) * 2011-12-15 2013-06-26 한국인터넷진흥원 System for evaluating the degree of risk for hopping and distribution sites of malicious code and method for evaluating the same
KR20140059952A (en) * 2012-11-09 2014-05-19 한국인터넷진흥원 A system and a method for detecting spread and pass sites of malicious code
KR101577404B1 (en) * 2015-08-13 2015-12-28 인스소프트 주식회사 System and method for blocking access malware by using monitoring java-script object and computer program for executing the method
KR20160142268A (en) * 2016-11-30 2016-12-12 주식회사 에프원시큐리티 System for detecting and preventing malicious code based on website

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ANONYMOUS: "The Development of Performance Evaluation Index for Collecting Malware and Automatic Analysis", HANYANG UNIVERSITY-RESEARCH REPORT, KISA-WP-2010-0088, 31 December 2010 (2010-12-31), XP055679898, Retrieved from the Internet <URL:https://www.kisa.or.kr/jsp/common/libraryDown.jsp?folder=017663> *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11573785B2 (en) 2020-05-14 2023-02-07 International Business Machines Corporation Predicting code vulnerabilities using machine learning classifier models trained on internal analysis states

Also Published As

Publication number Publication date
KR101809159B1 (en) 2017-12-14

Similar Documents

Publication Publication Date Title
US11463458B2 (en) Protecting against and learning attack vectors on web artifacts
US10592676B2 (en) Application security service
US11212305B2 (en) Web application security methods and systems
US9712560B2 (en) Web page and web browser protection against malicious injections
US9479526B1 (en) Dynamic comparative analysis method and apparatus for detecting and preventing code injection and other network attacks
Borgolte et al. Delta: automatic identification of unknown web-based infection campaigns
Sadeghian et al. A taxonomy of SQL injection detection and prevention techniques
US20150341385A1 (en) Web page and web browser protection against malicious injections
CN112685737A (en) APP detection method, device, equipment and storage medium
US20170337372A1 (en) Maliciousness Categorization of Application Packages Based on Dynamic Analysis
CN108780485A (en) Data set extraction based on pattern match
WO2018182126A1 (en) System and method for authenticating safe software
Li et al. Hunting the red fox online: Understanding and detection of mass redirect-script injections
Kim et al. A study on static analysis model of mobile application for privacy protection
CN111163094B (en) Network attack detection method, network attack detection device, electronic device, and medium
US20230004637A1 (en) Secure web framework
JP6450022B2 (en) Analysis device, analysis method, and analysis program
CN106789869B (en) Traffic proxy vulnerability detection method and system based on Basic authentication
Gupta et al. CSSXC: Context-sensitive sanitization framework for Web applications against XSS vulnerabilities in cloud environments
WO2019027106A1 (en) System for analyzing degree of risk for malicious code distribution site by using machine learning
KR101688390B1 (en) System for detecting and preventing malicious code based on website
Pistoia et al. Labyrinth: Visually configurable data-leakage detection in mobile applications
Sharif Web attacks analysis and mitigation techniques
KR101699009B1 (en) Method for collecting blackmarket crawler for mobile malware
Das et al. Detection of cross-site scripting attack under multiple scenarios

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17920603

Country of ref document: EP

Kind code of ref document: A1