WO2016028067A2 - 시각화를 이용한 악성 코드 탐지 시스템과 방법 - Google Patents

시각화를 이용한 악성 코드 탐지 시스템과 방법 Download PDF

Info

Publication number
WO2016028067A2
WO2016028067A2 PCT/KR2015/008625 KR2015008625W WO2016028067A2 WO 2016028067 A2 WO2016028067 A2 WO 2016028067A2 KR 2015008625 W KR2015008625 W KR 2015008625W WO 2016028067 A2 WO2016028067 A2 WO 2016028067A2
Authority
WO
WIPO (PCT)
Prior art keywords
dns
domain name
visualization
address
pattern
Prior art date
Application number
PCT/KR2015/008625
Other languages
English (en)
French (fr)
Other versions
WO2016028067A3 (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 주식회사 시큐그래프
Priority to EP15833965.5A priority Critical patent/EP3185164A4/en
Priority to US15/505,237 priority patent/US20170272454A1/en
Publication of WO2016028067A2 publication Critical patent/WO2016028067A2/ko
Publication of WO2016028067A3 publication Critical patent/WO2016028067A3/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/20Arrangements for detecting or preventing errors in the information received using signal quality detector
    • H04L1/203Details of error rate determination, e.g. BER, FER or WER
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • H04L43/106Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/142Denial of service attacks against network infrastructure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/144Detection or countermeasures against botnets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/145Detection or countermeasures against cache poisoning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/146Tracing the source of attacks

Definitions

  • the present invention relates to a malicious code detection system and method using visualization.
  • Botnet is a compound word of malicious code infected Bot and Network, and is a network of terminals infected with malicious code remotely controlled by an attacker.
  • Botnets are a major threat on the Internet, and they can be used to steal personal information, distributed denial of service (DDoS) attacks, spamming, spamming, pharming and phishing. It is used for cyber crime, threatening national security beyond economic losses.
  • DDoS distributed denial of service
  • botnets While various types of botnets have been known to date, their common feature is that botnets are remotely controlled by a C & C (Command and Control) server.
  • C & C Common and Control
  • IP address or "IP address”
  • domain name programmed as a string inside the malware
  • domain fluxes such as Domain Generation Algorithm (DGA), Dynamic Domain Name System (DDNS), etc.
  • DGA Domain Generation Algorithm
  • DDNS Dynamic Domain Name System
  • the domain name of the C & C server 110 generated by the DGA is maintained only for a short time, it is difficult for the security system to detect.
  • Many variants of malware and various evasion techniques make it difficult for existing security systems to detect, and unlike earlier botnets in the past, they communicate with multiple C & C servers, so there is no single point of failure. It is difficult.
  • Techniques for detecting a botnet include a client-based botnet detection technology and a network-based botnet detection technology.
  • Client-based botnet detection technology can be largely divided into signature-based detection and anomaly-based detection.
  • Signature-based detection technology is a malicious code analysis that can not detect new bots, and can be easily avoided using executable compression technology.
  • Anomaly detection technology includes a technology for detecting abnormal behavior such as a system call, but has a disadvantage of high false positive rate.
  • Network-based botnet detection technology analyzes and detects network traffic, which is difficult to process due to a large amount of traffic, and packet monitoring is impossible when encrypted communication is performed.
  • An object of the present invention is to provide a visualization pattern so that the user can intuitively detect malicious behavior.
  • the parameters include at least two of an IP address, a query type, a domain name, a timestamp, and a flag of a client sending a DNS query.
  • the malicious code detection system and method using visualization includes generating a visualization pattern using DNS packets and outputting the generated pattern.
  • the pattern indicates the domain name of the destination, the IP address of the client requesting the DNS query, and the amount of the DNS query.
  • Malicious code visualization method comprises the steps of extracting data about the IP address and DNS queries of the client from the DNS response packets; and visualized displayed in a cylindrical coordinate system based on the extracted data Generating a pattern.
  • the malicious code detection method using visualization includes generating a visualization pattern for malicious code detection using DNS packets.
  • IP addresses of devices for DNS querying the domain name based on the domain name are displayed.
  • the behavior of a botnet is generated as a visualization pattern using a DNS response packet.
  • the user can intuitively detect malicious behavior through the pattern.
  • 1 is a diagram showing the structure of a botnet.
  • FIG. 2 is a block diagram illustrating a malicious code detection system according to an embodiment of the present invention.
  • FIG. 3 is a block diagram illustrating a method for detecting malicious codes in accordance with an embodiment of the present invention.
  • FIG. 4 is a diagram illustrating visualization components for a visualization pattern according to an embodiment of the present invention.
  • FIG. 5 is a screen illustrating a pattern according to an embodiment of the present invention.
  • the present invention relates to a malicious code detection system and method using visualization, and provides a visualization pattern so that the user can intuitively identify the behavior of the botnet.
  • 1 is a configuration diagram for explaining the structure of a botnet.
  • a botnet is a C & C server (Command) by a botmaster 100 having authority to command / control bots that are infected with malicious code (bots).
  • command control server hereinafter referred to as " C & C ".
  • the botnet may use only one C & C server 110, recently, a plurality of C & C servers 110 may be used or the domain names of the C & C servers 110 may be changed so as not to be easily detected.
  • the bot 120 receives a command from the botmaster 100 and, in the process of connecting to the C & C server 110, the DNS (Domain Name System; DNS). Perform a query. More specifically, the bot executes the downloaded malware and queries the DNS server 130 to obtain the IP address of the C & C server 110.
  • DNS Domain Name System
  • the bot 120 joins the C & C server 110 by using the IP address received from the DNS server 130.
  • the botmaster 100 controls numerous bots 120 and transmits commands through the C & C server 110.
  • the bots receiving the above orders perform attacks such as DDoS, spam mailing, and leakage of personal information.
  • Recent botnets evade malware detection systems using multiple domain names to access the C & C server 110, which is distributed in many locations. This is to prevent the entire botnet from being blocked by accessing another C & C server 110 even when the C & C server 110 fails to access or some C & C server 110 is blocked.
  • FIG. 2 is a block diagram illustrating a malicious code detection system using visualization according to an embodiment of the present invention.
  • the malicious code detection system 220 using visualization is performed in an environment where the DNS server 130 and the plurality of client terminals 210a, 210b, 210c, and 210d are connected to the network 200. do.
  • the plurality of client terminals 210a, 210b, 210c and 210d include all types of terminals that query the DNS server 130 via the network 200.
  • the client terminal 210 may be any type that can be connected to the network 200 such as a desktop, a laptop, a smart phone, a tablet PC, a smart TV, a smart car, a smart home appliance, or the like. It includes terminals of.
  • the network 200 may be a wired network such as a wide area network (WAN), a metropolitan area network, a local area network (LAN), an intranet, or a mobile radio communication network. Or a wireless network such as a satellite network.
  • WAN wide area network
  • LAN local area network
  • intranet or a mobile radio communication network.
  • wireless network such as a satellite network.
  • DNS server 130 is responsible for translating domain names into network addresses and vice versa. According to an embodiment of the present invention, when the client terminal 210 makes a domain query to the DNS server 130 to access a destination server to receive a service, the DNS server 130 responds to the query. Return the IP address. In the case of the bot 120 infected with the same malicious code, the bot 120 has a similar query pattern and has a characteristic of collective behavior, which is different from an uninfected client terminal.
  • FIG. 3 is a block diagram illustrating a malicious code detection method according to an embodiment of the present invention.
  • the malware detection system 220 of the present embodiment includes a data collection module 300, a parameter extraction module 310, a data loading module 320, a filter module 330, and a blacklist management module ( 340, the visualization generation module 350.
  • the data module 300 collects DNS response packets on the network 200.
  • tapping may be used to mirror the traffic to collect DNS response packets, or to collect DNS response packets directly through software installed in the client terminal.
  • the malicious code detection system 220 may collect DNS queries.
  • the system of the present invention analyzes the DNS traffic is that the load is less than that of analyzing the entire network traffic, and the DNS traffic occurs before the bots 120 perform malicious activity.
  • the DNS response packet includes query data as well as DNS response data.
  • Parameter extraction module (310) Parse the DNS response packet to extract the visualization parameters.
  • the parameter may include an IP address, a domain name, a DNS query type, a timestamp, and a flag of the client terminal 210.
  • the parameter extraction module 310 may calculate cardinality for each domain name from the IP address and the domain name of the DNS response.
  • the parameter extraction module 310 may calculate the intensity from the timestamp and the IP address.
  • the parameter extraction module 310 may calculate a flag error rate from the IP address and flag.
  • the IP address of the client terminal 210 may be a 32 bit value in the IP header section.
  • the query type can be used to identify the behavior type as an unsigned 16-bit value for the query type field in the DNS query section.
  • the domain name is the name of the domain for which the client terminal 210 wants to obtain an IP address.
  • the domain name may be a variable-length string in the DNS query section or the response section and may be used to identify the attack target of the C & C server 110 or the bot 120.
  • the time stamp may be a 32-bit value recorded by the DNS server 130 in response time. It can be used to measure the amount of DNS queries generated by client terminal 210. However, since updating the time stamp every second requires a lot of resources, the present invention provides a client For a predetermined time And initial time Time variation of ) Can be used.
  • the lower 4 bits of the flag indicating an RCODE (Reply Code) indicating whether or not the query has been successfully answered are used.
  • the flag may be used to measure the error rate in order to detect a botnet or a DNS cache poisoning attack in which an attacker inserts tampered information into the cache of the DNS server 130. have.
  • the system of the present invention can calculate three parameters of cardinality, intensity and flag error rate.
  • Cardinality is Shows the number of clients querying a specific domain name. Cardinality can be calculated by domain name from the client's IP address and domain name in the DNS response. Normal clients do not maintain constant cardinality, while botnets have a relatively constant cardinality over time. Thus, the system can visually cluster the botnet through cardinality.
  • Domain name Client to query Is a set of against, domain Cardinality May be defined as in Equation 1 below.
  • the intensity represents the average number of queries per second of the client. Malicious behaviors such as sending spam, DNS cache poisoning attacks, and Distributed Reflection DoS (RDWS), generate many DNS packets in a short period of time, and the system is characterized by such malicious behavior. Considering this, the intensity can be measured to identify the client that is considered to be malicious. Every second client Intensity of Defined as
  • the intensity can be calculated from the timestamp and the client's IP address.
  • the flag error rate can be used to detect attack or malicious behavior. For example, when an attacker performs a DNS cache poisoning attack, many error flags occur. Thus, the system can detect an attack or malicious behavior through these error flags.
  • the flag error rate is defined by Equation 2 as follows.
  • the client Total number of queries in The client Means the number of flag errors in response to the query.
  • the flag error rate may be calculated from the client's IP address and flag.
  • Data loading module 320 may store data derived from the domain, and can be grouped all the IP addresses by name, parameter extraction module (310).
  • the data loading module 320 is a data structure for loading a domain name (hereinafter referred to as 'domain table') and a data structure for loading the IP of the client that queries the domain (hereinafter 'IP' Table ').
  • Domain table is the domain name As a key, IP table Data structures with values as Can be.
  • IP table Is the IP address of the client Has as key and array to store query type To store time variances or timestamps Array for storing flags and flags Structure containing Data structure with a value of ( May be).
  • the data structure of the domain table and the IP table of the data loading module 320 includes an array, a hash table, a hash map, a binary search tree, and a bit-tree. Or any kind of search algorithm, such as the AVL tree.
  • Data loading module 320 is a domain name Domain table Search for a domain name that exists in the Domain table If present, client IP That IP table Find out if it exists in.
  • Client IP That IP table If present in Structure Array within Wow Add to Client IP That IP table If not present in the new structure After creating a new structure Array within Wow on Should be inserted respectively.
  • client IP Is inserted as a key followed by client IP Is inserted as a key, and the new structure IP table with a value of ( ).
  • the data loading module 320 may delete the stored data when a preset threshold time elapses.
  • the data loading module 320 loads only one time without overloading a single domain of the domain table, only one time without overloading the client's IP address for a single domain, and a single IP address.
  • the timestamp and flag can be stored.
  • the filter module 330 filters to exclude data on normal behavior from the data loaded by the data loading module 320.
  • the filter module 330 is a domain name Cardinality for Filter and group domain names according to
  • the filter module 330 receives a domain table of the data loading module 320 as an input and generates a data structure having a cardinality as a key and an offset array as a value.
  • the filter module 330 While the filter module 330 traverses the domain table, the filter module 330 compares whether the total number of queries of the client is greater than the threshold and searches if the domain name exists in the blacklist.
  • the filter module 330 continues to traverse the domain table, otherwise, the filter module 330 will not be able to access the domain name. Check if cardinality exists in data structure.
  • the filter module 330 The offset of the corresponding array Insert in
  • the new array To generate the filter module 330 New array of offsets Inserting into the data structure To the key Insert it into the Insert as a value.
  • this conditional state can filter out quite a lot of meaningless data because the DNS query distribution follows Zipf's law.
  • the blacklist management module 340 stores the known blacklist domain.
  • the visualization generation module 350 is a set of triangular vertices in a cylindrical coordinate system. Output them.
  • the visualization generation module of the present invention may display the actions of the clients in a triangle as shown in FIG. 4.
  • the coordinates of a typical cylindrical coordinate system have a radius to represent a point in three-dimensional space.
  • x the angle from the y plane
  • the cylindrical coordinate system uses the height of the triangle to display the triangle in three-dimensional space.
  • the angle of the triangle , , The base of the triangle Use
  • Visualization generation module 350 is the data structure of the filter module 330 While traversing the domain name Cardinality Data structure Offset offset array To traverse. Offset array Domain name After getting offset for, domain table Domain name Get the client IP addresses
  • IP address of the client to calculate the angle of the triangle on the cylindrical coordinate system of the present invention
  • Each octet of , , And , The client's IP address May be expressed as Equation 3 below.
  • each client's IP address Angle Can be mapped to.
  • threshold ( ) May be determined according to network size or display resolution.
  • Position of the triangle on the cylindrical coordinate system of the present invention Axis is a domain name Cardinality May be determined by It can be arranged in descending or ascending order on the axis.
  • bracket I is a function when stored in a data structure
  • Equation 6 Equation 6
  • a set of vertices containing the elements of each triangle The coordinate value range of may be defined as in Equation 7 below.
  • Base of the triangle on the cylindrical coordinate system of the present invention Is the client's IP address It can be determined according to the average number of queries per second of the client.
  • three octets may be selected in the client IP and displayed as red, green, and blue with values from 0 to 255.
  • the system may designate a color differently depending on the situation even if the same triangle. For example, when the intensity of the client's IP address exceeds a preset threshold or the flag error rate of the IP address exceeds a threshold as described below, the color of the triangle indicates that the intensity of the IP address is preset. It may be different from the color of the triangle when it is below a threshold or when the flag error rate of the IP address is below the preset threshold or when it exceeds the blacklist domain or threshold.
  • the system may display the color of the triangle corresponding to the sign of the attack different from the color of the other wings.
  • the user can intuitively detect that an attack can be made to the destination through the pattern.
  • DNS data may be visualized and displayed in a cylindrical coordinate system.
  • the system may collect DNS responses, extract DNS queries included in the collected DNS responses, and generate a visual pattern based on the extracted DNS queries.
  • the domain name of the attack destination or the domain name of the C & C server 110 indicating Naver, Daum, etc. Represents the client sending the packet, e.g., the bot 120, and the length of the base of the triangle may be the intensity of the bot's DNS query.
  • the user may know which bot 120 communicates with which C & C server 110 or where the attack destination is through the visually displayed pattern.
  • the system of the present invention displays the IP address of each client on the cylindrical coordinate system as shown in FIG.
  • the domain names are displayed according to the cardinalities queried by the client on the axis.
  • the reason for displaying triangles in three-dimensional space is that when client IP addresses are displayed as dots or lines on a linear axis or plane, a large amount of IP addresses are duplicated or crossed, making it difficult to distinguish each IP address.
  • the domain name may be a domain name of the destination or may be a domain name of the C & C server 110.
  • the system of the present invention displays a botnet using a pattern formed by gathering triangles on a cylindrical coordinate system.
  • the coordinates of the triangle may be represented by the height of the triangle, the angle formed by the triangle, the position on the axis, and the base of the triangle.
  • the system adds additional coordinates as shown in Figure 5 to indicate the intensity of the client's query.
  • Using triangles to express intensity can represent more information than points or lines, and it's easier to distinguish colors or locations than points or lines. This is because displaying a figure with more vertices than a triangle requires more throughput.
  • the triangle is enough for the user to intuitively recognize the malicious behavior.
  • each client's IP address is a triangle Is displayed.
  • the IP addresses of clients that query the destination of the same domain name It can be displayed in a circle around an axis.
  • the base of each triangle may indicate the intensity of the DNS query amount of the client.
  • the system may define the attack pattern into four patterns as shown in FIGS. 6A to 6D.
  • Type-I (FIG. 6A):
  • a plurality of bots 120 make a DNS query to find one C & C server 110, they are represented by a disk-shaped pattern.
  • the disk-shaped pattern may appear even in a normal case, but the cardinality is very irregular, and the disk-shaped pattern has a low intensity.
  • the disk-shaped pattern corresponding to the botnet can be clearly distinguished from the pattern in the normal case in terms of size, color and thickness.
  • Type-II (FIG. 6 (B)): When a plurality of C & C server 110 or C & C server 110 has a plurality of domain names, when a plurality of bots DNS queries, Type-I disk type The patterns can be listed and presented in the form of a cylinder. At this time, each disk-shaped pattern may be the same or similar to each other.
  • Type-III (FIG. 6C): When a single or a plurality of bots 120 send many DNS queries, a pattern may be formed in the form of an increased triangle width. Such patterns indicate DRDoS attacks or abnormal behavior.
  • Type-IV (FIG. 6D): When one bot 120 queries a plurality of domain names, a plurality of triangles are generated. It is arranged in the axial direction and can be expressed as a plane. DNS cache poisoning attacks or other forms of abnormal behavior.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Cardiology (AREA)
  • Virology (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

사용자가 악성코드에 감염된 클라이언트 단말기들의 행위를 직관적으로 탐지할 수 있도록 시각화를 이용한 악성 코드 탐지 시스템과 방법이 개시된다. 시각화를 이용한 악성 코드 탐지 시스템은 DNS 패킷을 수집하는 데이터 수집 모듈, 수집된 DNS 패킷으로부터 시각화를 위한 매개변수들을 추출하는 매개변수 추출 모듈, 추출된 매개변수를 적재하기 위한 데이터 적재 모듈, 블랙리스트 도메인을 관리하기 위한 블랙리스트 관리 모듈, 적재된 데이터에서 불필요한 데이터들을 거르기 위한 필터 모듈, 추출된 매개변수들을 이용하여 시각화 패턴을 생성하는 시각화 생성 모듈을 포함한다.

Description

시각화를 이용한 악성 코드 탐지 시스템과 방법
본 발명은 시각화를 이용한 악성 코드 탐지 시스템과 방법에 관한 것이다.
봇넷(Botnet)은 악성코드에 감염된 단말(Bot)과 네트워크(Network)의 합성어로, 공격자에 의해 원격으로 제어되는 악성코드에 감염된 단말들의 네트워크이다.
봇넷은 인터넷 상의 주요 위협으로서, 개인 정보 탈취, DDoS(Distributed Denial of Service; 분산 서비스 거부 공격, 이하 "DDoS"라 한다.) 공격, 스팸메일 발송, 파밍(pharming) 과 피싱(phishing) 등과 같은 다양한 사이버 범죄에 이용되고 있어, 경제적 손실을 넘어 국가안보까지 위협하고 있다.
현재까지 다양한 종류의 봇넷이 알려졌지만, 이들의 공통적인 특성은 봇넷은 C&C (Command and Control; 이하 "명령 제어 서버"라 한다.) 서버에 의해 원격으로 제어된다는 점이다.
초기의 봇넷은 C&C 서버와 통신하기 위하여 IP 주소(Internet Protocol Address, 이하 "IP주소"라고 한다.) 또는 도메인 이름이 악성 코드 내부에 문자열로 프로그래밍 되어 있었다. 하지만, 이 경우 종래의 보안 기술의 정적 분석을 통하여 용이하게 C&C 서버를 검출하여 차단할 수 있다.
이러한 검출을 회피하기 위하여, 최근 봇넷은 DGA(Domain Generation Algorithm; 도메인 생성 알고리즘, 이하 'DGA'라 한다.), 동적 도메인 이름 시스템 (Dynamic Domain Name System, DDNS) 등과 같은 도메인 플럭스(domain flux)라는 회피 기술을 사용한다. 이와 같이 DGA에 의해 생성된 C&C 서버(110)의 도메인 이름은 짧은 기간 동안에만 유지되기 때문에 보안 시스템이 탐지하기 어려웠다. 악성코드의 수많은 변종과 다양한 회피기술로 인하여 기존의 보안 시스템이 탐지하기 어려우며, 과거 초기의 봇넷과 달리, 그들은 다수의 C&C 서버와 통신하기 때문에, 단일 실패 지점(single point of failure)이 없어서 차단하기 어렵다.
이와 같은 문제를 해결하기 위해 많은 탐지 기술들이 제안되었다. 봇넷을 탐지하기 위한 기술로는, 크게 클라이언트 기반의 봇넷 탐지 기술과 네트워크 기반의 봇넷 탐지 기술이 있다.
클라이언트 기반의 봇넷 탐지 기술은 크게 시그니처(signature) 기반 탐지 기술과 이상 행위 기반 탐지 기술로 나눌 수 있다. 시그니처 기반 탐지 기술의 경우 악성 코드 분석을 통한 것으로 신종 봇 탐지가 불가능하고, 실행 압축 기술을 이용하면 쉽게 회피할 수 있다는 단점이 있다. 이상행위 탐지 기술의 경우 시스템 콜 등의 이상 행위를 이용하여 탐지하는 기술 등이 있으나, 오탐율이 높다는 단점이 있다. 네트워크 기반의 봇넷 탐지 기술은 네트워크 트래픽을 분석하여 탐지하는 것으로, 많은 트래픽 양으로 인해 처리가 힘들고, 암호화 통신을 하는 경우 패킷 모니터링이 불가능하는 단점이 있다.
급증하는 사이버 범죄를 효율적으로 대처할 수 있는 방안이 시급하며, 단순한 회피 설계만으로 봇넷 탐지 기술을 무력화시키기 어려운 기술을 개발할 필요가 있다.
본 발명은 사용자가 악성 행위를 직관적으로 탐지할 수 있도록 시각화 패턴을 제공하는 것을 목적으로 한다.
상기한 바와 같은 목적을 달성하기 위해, 본 발명의 일 실시예에 따른 시각화를 이용한 악성 코드 탐지 시스템과 방법에 있어서, DNS 패킷을 수집하는 단계, 수집한 DNS 패킷으로부터 시각화를 위한 매개변수들을 추출하는 단계, 데이터를 적재하는 단계, 필터링하는 단계, 블랙리스트 관리 단계, 상기 추출된 매개변수와 필터링된 데이터 시각화 패턴을 생성하는 시각화 단계를 포함한다.
여기서, 상기 매개변수들은 DNS 질의를 보내는 클라이언트(Client)의 IP 주소, 질의 유형, 상기 도메인 이름, 타임스탬프(Timestamp)와 플래그(Flag) 중 적어도 두개를 포함한다.
본 발명의 일 실시예에 따른 시각화를 이용한 악성 코드 탐지 시스템과 방법은 DNS 패킷들을 이용하여 시각화 패턴을 생성하는 단계와 상기 생성된 패턴을 출력하는 단계를 포함한다. 여기서, 상기 패턴은 목적지의 도메인 이름, DNS 질의를 요청한 클라이언트(client)의 IP 주소와 상기 DNS 질의의 양을 표시한다.
본 발명의 일 실시예에 따른 악성 코드 시각화 방법은 DNS 응답 패킷들로부터 클라이언트의 IP 주소들과 DNS 질의들에 대한 데이터를 추출하는 단계;와 상기 추출된 데이터에 기초하여 원통형 좌표계로 표시되는 시각화된 패턴을 생성하는 단계를 포함한다.
본 발명의 다른 실시예에 따른 시각화를 이용한 악성 코드 탐지 방법은 DNS 패킷들을 이용하여 악성 코드 탐지를 위한 시각화 패턴을 생성하는 단계를 포함한다. 여기서, 상기 패턴에서 도메인 이름을 중심으로 하여 상기 도메인 이름을 DNS 질의를 하는 장치들의 IP 주소들이 표시된다.
본 발명에 따른 시각화를 이용한 악성 코드 탐지 방법은 DNS 응답 패킷을 이용하여 봇넷의 행위를 시각화 패턴으로 생성한다. 결과적으로, 사용자가 상기 패턴을 통하여 악성 행위를 직관적으로 탐지할 수 있다.
도 1은 봇넷의 구조를 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 악성코드 탐지 시스템을 설명하기 위한 구성도 이다.
도 3은 본 발명의 일 실시예에 따른 악성코드 탐지 시스템 방법을 도시한 블록도 이다.
도 4는 본 발명의 일 실시예에 따른 시각화 패턴을 위한 시각화 성분을 도시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 패턴을 도시한 화면이다.
도 6은 다양한 시각화 패턴들을 도시한 도면이다.
아래에서는 첨부한 도면들을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시 예들을 자세히 설명 한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
본 발명은 시각화를 이용한 악성 코드 탐지 시스템과 방법에 관한 것으로서, 사용자가 봇넷의 행위를 직관적으로 식별할 수 있도록 시각화 패턴으로 제공한다.
악성 코드 탐지 시스템과 방법에 대한 자세한 설명에 앞서 봇넷(botnet)에 대하여 간략하게 설명을 하기로 한다.
도 1은 봇넷의 구조를 설명하기 위한 구성도이다.
도 1을 참조하면, 봇넷(botnet)은 악성코드에 감염된 단말(bot, 이하 "봇"이라 한다)인 봇들을 명령/제어하는 권한을 가진 봇마스터(botmaster)(100)에 의해 C&C 서버 (Command and Control; 명령제어 서버, 이하 "C&C"라 한다.)(110)를 통해 원격제어 되는 봇들의 네트워크이다.
봇넷이 하나의 C&C 서버(110)만을 이용할 수도 있지만, 최근에는 용이하게 탐지되지 않도록 다수의 C&C 서버(110)들을 사용하거나, C&C 서버(110)들의 도메인 이름이 변경되기도 한다.
봇(120)은 봇마스터(100)로부터 명령을 받기 위해, C&C 서버(110)에 접속하는 과정에서 DNS(Domain Name System; 도메인 이름 시스템, 이하 "DNS"라 한다.) 서버(130)에 DNS 질의(query)를 수행한다. 더 자세하게는, 봇은 다운로드한 악성코드를 실행하고, C&C 서버(110)의 IP 주소를 얻기 위해 DNS 서버(130)에 질의한다.
봇(120)은 DNS 서버(130)로부터 응답받은 IP주소를 이용해 C&C 서버(110)에 접속을 하여 합류한다. 봇마스터(100)는 C&C 서버(110)를 통해 수많은 봇(120)들을 제어하고 명령을 전달한다. 상기 명령을 받은 봇들은 DDoS, 스팸메일 발송, 개인정보 유출 등의 공격을 수행한다.
최근의 봇넷은 여러 곳에 분산되어 존재하는 C&C 서버(110)에 접속하기 위해 다수의 도메인 이름을 사용하여 악성코드 탐지 시스템을 회피한다. 이는 C&C 서버(110)에 접속 실패를 하거나 일부 C&C 서버(110)가 차단되었어도 타 C&C 서버(110)에 접속하여 봇넷 전체가 차단되는 것을 방지하기 위함이기도 하다.
도 2는 본 발명의 일 실시예에 따른 시각화를 이용한 악성 코드 탐지 시스템을 설명하기 위한 구성도이다.
본 발명의 일 실시예에 따른 시각화를 이용한 악성 코드 탐지 시스템(220)은 DNS 서버(130), 복수의 클라이언트 단말기(210a, 210b, 210c 및 210d)가 네트워크(200)에 연결되어 있는 환경에서 수행된다.
복수의 클라이언트 단말기(210a, 210b, 210c 및 210d)는 네트워크(200)를 통해 DNS 서버(130)에 질의하는 모든 종류의 단말기들을 포함한다. 예를들어, 클라이언트 단말기(210)는 데스크탑(desktop), 랩탑(laptop), 스마트폰, 스마트 패드(tablet PC), 스마트 TV, 스마트 자동차, 스마트 가전기기 등과 같이 네트워크(200)에 접속가능한 모든 종류의 단말기들을 포함한다.
네트워크(200)는 광역 통신망(Wide Area Network; WAN), 도시권 통신망(Metropolitan Area Network), 근거리 통신망(Local Area Network; LAN), 인트라넷(Intranet)등과 같은 유선 네트워크나, 이동 통신망(mobile radio communication network) 또는 위성 통신망(satellite network) 등과 같은 무선 네트워크를 포함한다.
DNS 서버(130)는 도메인 이름을 네트워크 주소로 변환하거나 그 반대의 변환하는 역할을 수행한다. 본 발명의 일 실시예에 따르면, 클라이언트 단말기(210)은 서비스를 받고자 하는 목적 서버에 접속하기 위해, 상기 DNS 서버(130)로 도메인 질의를 하면 상기 DNS 서버(130)는 그 질의에 대해 응답으로 IP 주소를 반환한다. 동일한 악성코드에 감염된 봇(120)의 경우 유사한 질의 패턴을 갖고, 집단적인 행동을 보이는 특성이 있기 때문에 감염되지 않은 클라이언트 단말기와 차이점이 있다.
도 3은 본 발명의 일 실시예에 따른 악성 코드 탐지 방법을 도시한 블록도 이다.
도 3을 참조하면, 본 실시예의 악성코드 탐지 시스템(220)은 데이터 수집 모듈(300)과 매개변수 추출 모듈(310), 데이터 적재 모듈(320), 필터 모듈(330), 블랙리스트 관리 모듈(340), 시각화 생성 모듈(350)로 구성된다.
데이터 모듈(300)은 네트워크(200)상에서 DNS 응답 패킷(response packet)을 수집한다. 예들어, 태핑(tapping) 하여 트래픽을 미러링(mirroring)하여 DNS 응답 패킷을 수집하거나, 클라이언트 단말기에 설치된 소프트웨어를 통해서 직접적으로 DNS 응답 패킷을 수집할 수 있다. 물론, 악성 코드 탐지 시스템(220)은 DNS 질의를 수집할 수도 있다.
본 발명의 시스템이 DNS 트래픽을 분석하는 이유는 전체 네트워크 트래픽을 분석하는 것보다 부하가 적고, 봇(120)들의 악성행위 전에 DNS 트래픽이 발생하기 때문이다. 특히, DNS 응답 패킷은 DNS 응답 데이터 뿐만 아니라 질의 데이터를 포함한다.
매개변수 추출 모듈(310) DNS 응답 패킷을 파싱(parsing)하여 시각화 매개변수들을 추출한다.
상기 매개변수는 클라이언트 단말기(210)의 IP 주소, 도메인 이름, DNS 질의 유형, 타임스탬프와 플래그를 포함할 수 있다.
일 실시예에 따르면, 매개변수 추출 모듈(310)는 DNS 응답의 IP 주소 및 도메인 이름으로부터 도메인 이름별로 카디널리티(cardinality)를 계산할 수 있다.
또한, 매개변수 추출 모듈(310)는 타임스탬프(timestamp)와 상기 IP 주소로부터 인텐시티(intensity)를 계산할 수 있다.
게다가, 매개변수 추출 모듈(310)은 상기 IP 주소와 플래그로부터 플래그 오류율을 계산할 수 있다.
상기 클라이언트 단말기(210)의 IP 주소는 IP 헤더 섹션에 있는 32 비트(bit) 값일 수 있다.
DNS 응답에서, 질의 유형은 DNS 질의 섹션 내의 질의 유형 필드를 위한 부호없는16 비트 값으로 행위 유형을 식별하기 위해 사용될 수 있다.
DNS 응답에서, 도메인 이름은 클라이언트 단말기(210)가 IP주소를 얻고자 하는 도메인의 이름이다. 도메인 이름은 DNS 질의 섹션이나 응답 섹션 내의 가변 길이 문자열(variable-length string)일 수 있으며, C&C 서버(110) 또는 봇(120)의 공격 목표지를 식별하기 위해 사용될 수 있다.
DNS 응답에서, 타임스탬프는 DNS 서버(130)가 응답 시간을 기록한 32 비트 값일 수 있다. 클라이언트 단말기(210)에 의해 생성된 DNS 질의들의 양을 측정하기 위해 사용될 수 있다. 다만, 타임스탬프를 매초 업데이트하면 많은 자원이 필요하므로, 본 발명은 클라이언트
Figure PCTKR2015008625-appb-I000001
에 대하여 소정 시간
Figure PCTKR2015008625-appb-I000002
와 초기 시간
Figure PCTKR2015008625-appb-I000003
의 시간 변화량(
Figure PCTKR2015008625-appb-I000004
)을 이용할 수 있다.
즉,
Figure PCTKR2015008625-appb-I000005
.내의 16 비트 값으로 상태 정보를 포함하는 필드들로 구성되어 있다. 특히, 질의가 성공적으로 답변되었는지 아닌지를 나타내는 RCODE(Reply Code; 응답코드, 이하 'RCODE'라고 한다.)를 의미하는 플래그의 하위 4 비트를 사용한다. 본 발명에서, 상기 플래그는 봇넷을 탐지하거나 공격자가 DNS 서버(130)의 캐시에 변조된 정보를 삽입하는 DNS 캐시 중독 공격(DNS cache poisoning attack)등을 을 검출하기 위하여 오류율을 측정하기 위해 사용될 수 있다.
다음으로, 본 발명의 시스템은 위와 같이 5가지 매개변수들을 추출한 후, 카디널리티, 인텐시티 및 플래그 오류율의 세 가지 매개변수들을 계산할 수 있다.
카디널리티 특정 도메인 이름을 질의하는 클라이언트들의 수를 나타낸다. 카디널리티는 DNS 응답의 클라이언트의 IP 주소와 도메인 이름으로부터 도메인 이름별로 계산될 수 있다. 정상적인 클라이언트들은 일정한 카디널리티를 유지하지 않는 반면에, 봇넷은 시간이 지남에 따라 상대적으로 일정한 카디널리티를 유지하는 특성이 있다. 따라서, 상기 시스템은 카디널리티를 통하여 봇넷을 시각적으로 무리 지을 수 있다.
도메인 이름
Figure PCTKR2015008625-appb-I000006
를 질의하는 클라이언트
Figure PCTKR2015008625-appb-I000007
의 집합인
Figure PCTKR2015008625-appb-I000008
에 대하여, 도메인
Figure PCTKR2015008625-appb-I000009
의 카디널리티
Figure PCTKR2015008625-appb-I000010
는 아래의 수학식 1과 같이 정의될 수 있다.
수학식 1
Figure PCTKR2015008625-appb-M000001
본 발명에서, 인텐시티는 클라이언트의 초당 평균 질의 수를 나타낸다. 팸 스 전송, DNS 캐시 중독 공격과 RDDoS(Distributed Reflection DoS; 분산 반사 공격, 이하 'DRDoS'라 한다.) 등과 같은 악성 행위는 짧은 시간 동안 많은 DNS 패킷들을 생성하며, 상기 시스템은 이러한 악성 행위의 특성을 고려하여 악성 행위로 보여지는 클라이언트를 식별하기 위하여 인텐시티를 측정할 수 있다. 매초 클라이언트
Figure PCTKR2015008625-appb-I000011
의 인텐시티는
Figure PCTKR2015008625-appb-I000012
로 정의한다.
일 실시예에 따르면, 인텐시티는 타임스탬프 및 클라이언트의 IP 주소로부터 계산될 수 있다.
본 발명에서, 플래그 오류율은 공격 또는 악성 행위를 검출하기 위해 사용될 수 있다. 예를들어, 공격자가 DNS 캐시 중독 공격을 하면 많은 오류 플래그들이 발생한다. 따라서 상기 시스템은 이러한 오류 플래그들을 통하여 공격 또는 악성 행위를 검출할 수 있다. 상기 플래그 오류율은 다음과 같이 수학식 2로 정의한다.
수학식 2
Figure PCTKR2015008625-appb-M000002
여기서,
Figure PCTKR2015008625-appb-I000013
는 클라이언트
Figure PCTKR2015008625-appb-I000014
의 전체 질의 수를 나타내며,
Figure PCTKR2015008625-appb-I000015
는 클라이언트
Figure PCTKR2015008625-appb-I000016
의 질의에 대한 응답에서의 플래그 오류의 수를 의미한다.
일 실시예에 따르면, 플래그 오류율은 클라이언트의 IP 주소 및 플래그로부터 계산될 수 있다.
데이터 적재 모듈(320) 도메인 이름별로 모든 IP 주소들을 그룹핑 시킬 수 있으며, 매개변수 추출 모듈(310)에서 추출한 데이터를 저장할 수 있다.
일 실시예에 따르면, 데이터 적재 모듈(320)은 도메인 이름을 적재하기 위한 자료구조(이하 '도메인 테이블'이라고 한다.)와 해당 도메인을 질의한 클라이언트의 IP를 적재하기 위한 자료구조(이하 'IP 테이블'이라고 한다.)를 포함한다.
도메인 테이블은 도메인 이름
Figure PCTKR2015008625-appb-I000017
를 키(key)로 갖고, IP 테이블
Figure PCTKR2015008625-appb-I000018
을 값으로 갖는 자료구조
Figure PCTKR2015008625-appb-I000019
일 수 있다.
IP 테이블
Figure PCTKR2015008625-appb-I000020
는 클라이언트의 IP 주소
Figure PCTKR2015008625-appb-I000021
를 키(key)로 갖고, 질의 유형을 저장하기 위한 배열
Figure PCTKR2015008625-appb-I000022
, 시간변화량 또는 타임스탬프를 저장하기 위한 배열
Figure PCTKR2015008625-appb-I000023
와 플래그를 저장하기 위한 배열
Figure PCTKR2015008625-appb-I000024
를 포함하는 구조체
Figure PCTKR2015008625-appb-I000025
를 값으로 갖는 자료구조(
Figure PCTKR2015008625-appb-I000026
)일 수 있다.
데이터 적재 모듈(320)의 도메인 테이블과 IP 테이블의 자료구조는 배열(Array), 해쉬 테이블(Hash Table), 해쉬 맵(Hash Map), 이진탐색트리(Binary Search Tree), 비트리(B-Tree)나 AVL 트리와 같은 모든 종류의 검색 알고리즘으로 구현될 수 있다.
데이터 적재 모듈(320)는 도메인 이름
Figure PCTKR2015008625-appb-I000027
가 도메인 테이블
Figure PCTKR2015008625-appb-I000028
에 존재하는지를 검색한 후, 도메인 이름
Figure PCTKR2015008625-appb-I000029
가 도메인 테이블
Figure PCTKR2015008625-appb-I000030
에 존재하면, 클라이언트 IP
Figure PCTKR2015008625-appb-I000031
가 해당 IP 테이블
Figure PCTKR2015008625-appb-I000032
에 존재하는 지를 검색한다.
클라이언트 IP
Figure PCTKR2015008625-appb-I000033
가 해당 IP 테이블
Figure PCTKR2015008625-appb-I000034
에 존재한다면
Figure PCTKR2015008625-appb-I000035
를 구조체
Figure PCTKR2015008625-appb-I000036
내의 배열
Figure PCTKR2015008625-appb-I000037
Figure PCTKR2015008625-appb-I000038
에 추가한다. 클라이언트 IP
Figure PCTKR2015008625-appb-I000039
가 해당 IP 테이블
Figure PCTKR2015008625-appb-I000040
에 존재하지 않는다면, 새로운 구조체
Figure PCTKR2015008625-appb-I000041
를 생성한 후, 새 구조체
Figure PCTKR2015008625-appb-I000042
내의 배열
Figure PCTKR2015008625-appb-I000043
Figure PCTKR2015008625-appb-I000044
Figure PCTKR2015008625-appb-I000045
를 각각 삽입한 한다. 이어서, 클라이언트 IP
Figure PCTKR2015008625-appb-I000046
를 키(key)로 삽입하고, 새 구조체
Figure PCTKR2015008625-appb-I000047
를 값으로 갖는 IP 테이블(
Figure PCTKR2015008625-appb-I000048
)에 삽입한다.
도메인 이름
Figure PCTKR2015008625-appb-I000049
Figure PCTKR2015008625-appb-I000050
에 존재하지 않으면, 새로운 구조체
Figure PCTKR2015008625-appb-I000051
를 생성한 후, 새 구조체
Figure PCTKR2015008625-appb-I000052
내의 배열
Figure PCTKR2015008625-appb-I000053
Figure PCTKR2015008625-appb-I000054
Figure PCTKR2015008625-appb-I000055
를 각각 삽입한다. 이어서, 클라이언트 IP
Figure PCTKR2015008625-appb-I000056
를 키(key)로 삽입하고, 새 구조체
Figure PCTKR2015008625-appb-I000057
를 IP 테이블(
Figure PCTKR2015008625-appb-I000058
)에 삽입한다. 이어서, 도메인 테이블(
Figure PCTKR2015008625-appb-I000059
)에 도메인 이름
Figure PCTKR2015008625-appb-I000060
를 키로 삽입하고, IP 테이블
Figure PCTKR2015008625-appb-I000061
를 값으로 삽입한다.
데이터 적재 모듈(320)은 기설정한 임계 시간이 경과하면 저장한 데이터를 삭제할 수 있다.
일 실시예에 따르면, 데이터 적재 모듈(320)는 도메인 테이블의 단일 도메인에 대하여 중복 적재하지 않고 1회만 적재하고, 단일 도메인에 대하여 클라이언트의 IP 주소를 중복 적재하지 않고 1회만 적재하며, 단일 IP 주소에 따라 질의 유형, 타임스탬프와 플래그를 저장할 수 있다.
필터 모듈(330)은 데이터 적재 모듈(320)에서 적재한 데이터에서 정상 행위에 대한 데이터를 제외하기 위해 필터링한다. 구체적으로는, 필터 모듈(330)은 도메인이름
Figure PCTKR2015008625-appb-I000062
에 대한 카디널리티
Figure PCTKR2015008625-appb-I000063
에 따라 도메인 이름들을 필터링하고 그룹핑한다.
필터 모듈(330)은 데이터 적재 모듈(320)의 도메인 테이블 를 입력으로 하여 도메인 에 대한 카디널리티 를 키로 갖고, 오프셋 배열 를 값으로 갖는 자료 구조 를 생성한다.
필터 모듈(330)이 도메인 테이블 을 순회(traverse)하는 동안, 필터 모듈(330)은 클라이언트의 전체 질의 수 가 임계치 보다 큰 지의 여부 비교하고 도메인 이름 가 블랙리스트 에 존재하는지 검색한다.
만약, 클라이언트의 전체 질의 수 가 임계치 보다 작거나, 도메인 이름 가 블랙리스트 에 존재하지 않는다면, 필터 모듈(330)은 계속해서 도메인 테이블 을 순회하고, 그렇지 않다면, 필터 모듈(330)은 도메인 이름 에 대한 카디널리티 가 자료구조 에 존재하는지 검색한다.
자료구조
Figure PCTKR2015008625-appb-I000064
에 도메인
Figure PCTKR2015008625-appb-I000065
에 대한 카디널리티
Figure PCTKR2015008625-appb-I000066
가 존재한다면, 필터 모듈(330)은
Figure PCTKR2015008625-appb-I000067
의 오프셋을 해당 배열
Figure PCTKR2015008625-appb-I000068
에 삽입한다.
자료구조
Figure PCTKR2015008625-appb-I000069
에 도메인
Figure PCTKR2015008625-appb-I000070
에 대한 카디널리티
Figure PCTKR2015008625-appb-I000071
가 존재하지 않는다면, 새로운 배열
Figure PCTKR2015008625-appb-I000072
을 생성하고, 필터 모듈(330)은
Figure PCTKR2015008625-appb-I000073
의 오프셋을 새로운 배열
Figure PCTKR2015008625-appb-I000074
에 삽입하고, 자료구조
Figure PCTKR2015008625-appb-I000075
에 키(key)를
Figure PCTKR2015008625-appb-I000076
로 삽입하고,
Figure PCTKR2015008625-appb-I000077
를 값으로 삽입한다.
특히, 이러한 조건 상태는 DNS 질의 분포가 Zipf의 법칙을 따르기 때문에 상당히 많은 의미 없는 데이터를 필터 할 수 있다.
블랙리스트 관리 모듈(340)은 알려진 블랙리스트 도메인을 저장하는 역할을 수행한다.
시각화 생성 모듈(350)은 원통 좌표계에 삼각형 꼭지점 들의 집합
Figure PCTKR2015008625-appb-I000078
들을 출력한다.
본 발명의 시각화 생성모듈은, 도 4에 도시된 바와 같이 클라이언트들의 행위를 삼각형으로 표시할 수 있다.
특히, 통상적인 원통좌표계의 좌표는 3차원 공간에 한 점을 표시하기 위해 반지름
Figure PCTKR2015008625-appb-I000079
, x-y평면에서 이루는 각도
Figure PCTKR2015008625-appb-I000080
Figure PCTKR2015008625-appb-I000081
를 사용하지만, 본 발명에서 원통좌표계는 3차원 공간상에 삼각형을 표시하기 위해, 삼각형의 높이
Figure PCTKR2015008625-appb-I000082
및 삼각형의 각도
Figure PCTKR2015008625-appb-I000083
,
Figure PCTKR2015008625-appb-I000084
, 삼각형의 밑변
Figure PCTKR2015008625-appb-I000085
를 사용한다.
시각화 생성 모듈(350)은 필터 모듈(330)의 자료구조
Figure PCTKR2015008625-appb-I000086
를 순회하는 동안, 도메인 이름
Figure PCTKR2015008625-appb-I000087
의 카디널리티
Figure PCTKR2015008625-appb-I000088
를 얻고, 자료구조
Figure PCTKR2015008625-appb-I000089
인 오프셋 배열
Figure PCTKR2015008625-appb-I000090
를 순회한다. 오프셋 배열
Figure PCTKR2015008625-appb-I000091
에서 도메인 이름
Figure PCTKR2015008625-appb-I000092
에 대한 오프셋을 얻어온 뒤, 도메인 테이블
Figure PCTKR2015008625-appb-I000093
에서 도메인 이름
Figure PCTKR2015008625-appb-I000094
를 질의한 클라이언트 IP 주소들을 얻는다.
본 발명의 원통좌표계상에서 삼각형의 각도를 계산하기 위해, 클라이언트의 IP 주소
Figure PCTKR2015008625-appb-I000095
의 각 옥텟(octet)들을
Figure PCTKR2015008625-appb-I000096
,
Figure PCTKR2015008625-appb-I000097
,
Figure PCTKR2015008625-appb-I000098
Figure PCTKR2015008625-appb-I000099
로 표시하면, 클라이언트의 IP 주소
Figure PCTKR2015008625-appb-I000100
는 아래의 수학식 3과 같이 표현될 수 있다.
수학식 3
Figure PCTKR2015008625-appb-M000003
위 수학식 3으로부터 원통좌표계에 표시하기 위해 클라이언트의 IP 주소
Figure PCTKR2015008625-appb-I000101
를 각도
Figure PCTKR2015008625-appb-I000102
로 표현하기 위한 아래의 수학식 4와 같이 계산할 수 있다.
수학식 4
Figure PCTKR2015008625-appb-M000004
따라서, 각 클라이어트의 IP 주소
Figure PCTKR2015008625-appb-I000103
는 각도
Figure PCTKR2015008625-appb-I000104
로 매핑될 수 있다.
본 발명의 원통좌표계상에서 삼각형의 높이
Figure PCTKR2015008625-appb-I000105
을 계산하기 위해, 도메인 이름
Figure PCTKR2015008625-appb-I000106
의 카디널리티
Figure PCTKR2015008625-appb-I000107
에 의해 결정되며, 아래의 수학식 5와 같다.
수학식 5
Figure PCTKR2015008625-appb-M000005
여기서, 임계치(
Figure PCTKR2015008625-appb-I000108
)는 네트워크 규모 또는 디스플레이 해상도에 따라 결정될 수 있다.
본 발명의 원통좌표계상에서 삼각형의 위치
Figure PCTKR2015008625-appb-I000109
축은 도메인 이름
Figure PCTKR2015008625-appb-I000110
의 카디널리티
Figure PCTKR2015008625-appb-I000111
에 따라 결정될 수 있으며,
Figure PCTKR2015008625-appb-I000112
축 상에서 내림차순 또는 오름차순으로 배열될 수 있다.
또는, 사용자가 특정 삼각형을 선택 했을때,
Figure PCTKR2015008625-appb-I000113
값은 도메인 이름
Figure PCTKR2015008625-appb-I000114
의 카디널리티
Figure PCTKR2015008625-appb-I000115
에 따라 결정되지 않고, 원통좌표계상에서 사용자가 원하는 위치로 지정할 수 있다.
Figure PCTKR2015008625-appb-I000116
은 자료 구조 내에 저장될 때, 함수
Figure PCTKR2015008625-appb-I000117
가 자료 구조에서
Figure PCTKR2015008625-appb-I000118
을 반환시킨다고 가정하면,
Figure PCTKR2015008625-appb-I000119
값은 아래의 수학식 6과 같다.
수학식 6
Figure PCTKR2015008625-appb-M000006
각 삼각형의 요소들을 포함하는 꼭지점 집합
Figure PCTKR2015008625-appb-I000120
의 좌표값 범위는 아래의 수학식 7과 같이 정의될 수 있다.
본 발명의 원통좌표계상에서 삼각형의 밑변
Figure PCTKR2015008625-appb-I000121
은 클라이언트의 IP 주소
Figure PCTKR2015008625-appb-I000122
의 클라이언트의 초당 평균 질의 수에 따라 결정될 수 있다.
수학식 7
Figure PCTKR2015008625-appb-M000007
본 발명에서 원통좌표계상에 삼각형의 색상을 결정하기 위해, 클라이언트 IP에서 세 옥텟(octet)을 선택하여 0내지 255까지의 값으로 빨강, 녹색 및 파랑으로 표시할 수 있다.
또한, 상기 시스템은 동일한 삼각형이더라도 상황에 따라 색상을 다르게 지정할 수 있다. 예를들어, 후술하는 바와 같이 클라이언트의 IP 주소의 인텐시티가 기설정 임계값을 초과하거나 상기 IP 주소의 플래그 오류율이 임계값을 초과하였을 때의 상기 삼각형의 색상은 상기 IP 주소의 인텐시티가 상기 기설정 임계값 이하이거나 상기 IP 주소의 플래그 오류율이 상기 기설정 임계값 이하인 이거나, 블랙리스트 도메인이나 임계치를 초과하는 경우 상기 삼각형의 색상과 다를 수 있다.
일 실시예에 따르면, 상기 시스템은 공격의 징후에 해당한다고 해당하는 삼각형의 색상을 다른 날개들의 색상과 다르게 표시할 수 있다. 따라서, 사용자는 상기 패턴을 통하여 목적지로 공격이 가해질 수 있다는 것을 직관적으로 검출할 수 있다.
본 실시예의 시각화를 이용한 악성 코드 탐지 시스템과 방법은 도 5에 도시된 바와 같이, 원통좌표계에 DNS 데이터들을 시각화하여 표시할 수 있다. 예를 들어, 상기 시스템은 DNS 응답들을 수집하고 수집된 DNS 응답들에 포함된 DNS 질의들을 추출하며 상기 추출된 DNS 질의들에 기초하여 시각적 패턴을 생성할 수 있다.
Figure PCTKR2015008625-appb-I000123
축에 표시된
Figure PCTKR2015008625-appb-I000124
는 예를 들어 네이버, 다음 등을 표시하는 공격 목적지의 도메인 이름이나 C&C 서버(110)의 도메인 이름이고,
Figure PCTKR2015008625-appb-I000125
는 패킷을 전송하는 클라이언트, 예를 들어 봇(120)을 나타내며, 삼각형 밑변의 길이는 봇의 DNS 질의에 대한 인텐시티일 수 있다.
따라서, 사용자는 상기 시각적으로 표시된 패턴을 통하여 어느 봇(120)이 어느 C&C 서버(110)와 통신하는지 또는 공격 목적지가 어디인지 알 수 있다.
이하, 이러한 원통좌표계의 패턴을 생성하는 과정을 살펴보겠다. 계속하여, 상기 시스템은 위 세 가지 특징들을 이용하되, 3가지 원칙에 따라 시각화 패턴을 생성한다.
첫째, 본 발명의 시스템은 도 4에 도시된 바와 같이 원통좌표계상에 각 클라이언트의 IP 주소를 표시하고,
Figure PCTKR2015008625-appb-I000126
축에 클라이언트에 의해 질의되는 카디날리티에 따라 도메인 이름을 표시한다. 3차원 공간상에 삼각형으로 표시하는 이유는 클라이언트 IP 주소들을 선형 축 또는 평면상에 점 또는 선으로 표시하면 많은 양의 IP 주소들이 중복되거나 교차되어 각각의 IP 주소들을 구분하기 어렵기 때문이다. 여기서, 상기 도메인 이름은 목적지의 도메인 이름일 수도 있고 C&C 서버(110)의 도메인 이름일 수도 있다.
둘째, 본 발명의 시스템은 원통좌표계상에 삼각형들이 모여서 형성되는 패턴을 이용하여 봇넷을 표시한다. 원통좌표계에서 삼각형의 좌표는 도 4에 도시된 바와 같이 삼각형의 높이, 삼각형이 이루는 각도 및 축상의 위치 와 삼각형의 밑변 에 의해 표시될 수 있다.
셋째, 상기 시스템은 클라이언트의 질의에 대한 인텐시티를 표시하기 위하여 도 5에 도시된 바와 같이 추가 좌표
Figure PCTKR2015008625-appb-I000127
를 이용하여 삼각형의 밑변을 표시한다. 인텐시티를 표시하기 위하여 삼각형을 이용하는 것은 점이나 선으로 표현하는 것보다 더 많은 정보를 표현할 수 있고, 점이나 선보다 색상이나 위치를 구분하기에 더 용이하다. 삼각형 보다 더 많은 꼭지점을 가지는 도형으로 표시하는 경우에는 더 많은 처리량을 요구하기 때문이다. 또한, 삼각형으로도 사용자가 악성 행위를 직관적으로 인식하기에 충분하기 때문이다.
이 때, 각 클라이언트의 IP 주소는 삼각형의 각도
Figure PCTKR2015008625-appb-I000128
로 표시된다. 결과적으로, 동일한 도메인 이름의 목적지로 질의하는 클라이언트들의 IP 주소들은
Figure PCTKR2015008625-appb-I000129
축을 중심으로 원을 그리며 표시될 수 있다. 이때, 각 삼각형의 밑변은 클라이언트의 DNS 질의 양에 대한 인텐시티를 나타낼 수 있다.
상기 시스템은 공격 패턴을 도 6의 (A) 내지 (D)와 같이 4가지 패턴으로 정의할 수 있다.
Type-Ⅰ(도 6의 (A)) : 복수의 봇(120)이 1개의 C&C 서버(110)를 찾기 위해 DNS 질의를 하는 경우 디스크 형태의 패턴으로 나타낸다. 물론, 디스크 형태의 패턴은 정상적인 경우에도 나타날 수 있으나, 이때는 카디널리티가 매우 비규칙적이며, 디스크 형태의 패턴이 낮은 인텐시티를 가진다. 따라서, 봇넷에 해당하는 디스크 형태의 패턴은 사이즈, 색상과 두께 면에서 정상적인 경우의 패턴으로부터 명확하게 구별되어질 수 있다.
Type-Ⅱ (도 6의 (B)) : 복수의 C&C 서버(110) 또는 C&C 서버(110)가 복수의 도메인 이름들을 가질 때, 복수의 봇이 DNS질의를 하는 경우 Type-Ⅰ의 디스크 형태의 패턴이 나열되어 원통과 같은 형태로 나타낼 수 있다. 이때, 각각의 디스크 형태의 패턴들은 상호 같거나 유사한 패턴일 수 있다.
Type-Ⅲ (도 6의 (C)) : 단일 또는 복수의 봇(120)이 많은 DNS 질의들을 보낼 때, 삼각형의 폭이 증가된 형태로 패턴이 형성될 수 있다. 이와 같은 패턴은 DRDoS공격이나 비정상 행위를 나타낸다.
Type-Ⅳ (도 6의 (D)) : 1개의 봇(120)이 복수의 도메인 이름을 질의할 때, 복수의 삼각형이
Figure PCTKR2015008625-appb-I000130
축 방향으로 나열되어 평면처럼 표현될 수 있다. DNS 캐시 중독 공격 또는 다른 형태의 비정상 행위를 나타낸다.
상기한 본 발명의 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경과 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.

Claims (26)

  1. DNS 패킷을 수집하기 위한 데이터 수집 모듈; 시각화를 위한 매개변수들을 추출하는 매개변수 추출 모듈; 매개변수들에 해당하는 데이터를 저장하는 데이터 적재 모듈; 필터 모듈; 블랙리스트 모듈; 및 상기 추출된 매개변수들을 이용하여 시각화 패턴을 생성하는 시각화 생성 모듈을 포함하되,
    상기 시각화 패턴은 목적지의 도메인 이름, 클라이언트의 IP 주소와 DNS 질의의 양 중 적어도 하나를 표시하는 것을 특징으로 하는 시각화를 이용한 악성 코드 탐지 시스템.
  2. 제1항에 있어서, 상기 DNS 패킷은 DNS 응답 패킷이며, 상기 매개변수는 DNS 질의하는 클라이언트의 IP 주소, 질의 타입, 상기 도메인 이름, 타임스탬프와 플래그를 포함하는 것을 특징으로 하는 시각화를 이용한 악성 코드 탐지 시스템.
  3. 제1항에 있어서, 상기 패턴은 원통좌표계에 표시되며, 상기 목적지의 도메인 이름들은 선형 축 상에 이격되어 배열되고, 특정 도메인 이름을 목적지로 하는 클라이언트들의 IP 주소들이 선형 축 상에 표현된 상기 도메인 이름을 중심으로 배열되되,
    상기 DNS 질의들의 양은 삼각형의 밑변으로 표시되며, 상기 도메인 이름과 상기 IP 주소는 원통좌표계상에서 상기 삼각형의 각도에 대응하는 것을 특징으로 하는 시각화를 이용한 악성 코드 탐지 시스템.
  4. 제1항에 있어서,
    상기 DNS 패킷으로서 DNS 응답들을 수집하는 데이터 수집 모듈을 더 포함하되,
    상기 매개변수 추출 모듈은 상기 수집된 DNS 응답들로부터 상기 매개변수들을 추출하는 것을 특징으로 하는 시각화를 이용한 악성 코드 탐지 시스템.
  5. 제1항에 있어서, 상기 매개변수들을 추출하는 매개변수 추출 모듈;
    상기 추출된 매개변수들에 해당하는 데이터를 저장하는 데이터 적재 모듈; 상기 저장된 데이터로부터 정상 행위에 해당하는 데이터를 제외하기 위해 필터링하는 필터 모듈; 블랙리스트 도메인 이름을 관리하는 블랙리스트 관리 모듈과 상기 추출된 매개변수들을 이용하여 시각화 패턴을 생성하는 시각화 생성 모듈을 포함하는 것을 특징으로 하는 시각화를 이용한 악성 코드 탐지 시스템.
  6. 제5항에 있어서, 상기 데이터 적재 모듈은 기설정 임계시간이 경과하면 상기 저장된 데이터를 삭제하는 것을 특징으로 하는 시각화를 이용한 악성 코드 탐지 시스템.
  7. 제5항에 있어서, 상기 매개변수 추출 모듈은 DNS 응답의 클라이언트 IP 주소와 도메인 이름으로부터 도메인 이름별로 카디널리티를 계산하는 것을 특징으로 하는 시각화를 이용한 악성 코드 탐지 시스템.
  8. 제5항에 있어서, 상기 매개변수 추출 모듈은 타임스탬프와 상기 IP 주소로부터 인텐시티를 계산하는 것을 특징으로 하는 시각화를 이용한 악성 코드 탐지 시스템.
  9. 제5항에 있어서, 상기 매개변수 추출 모듈은 상기 IP 주소와 플래그로부터 플래그 오류율을 계산하는 것을 특징으로 하는 시각화를 이용한 악성 코드 탐지 시스템.
  10. 제5항에 있어서, 상기 데이터 적재 모듈은 상기 IP 주소는 1회만 저장하며 단일 IP 주소에 따라 질의 종류, 타임스탬프와 플래그를 저장하는 것을 특징으로 하는 시각화를 이용한 악성 코드 탐지 시스템.
  11. 제5항에 있어서, 상기 데이터 적재 모듈은 상기 IP 주소의 질의 수가 기설정 임계값 이상이거나 특정 도메인이 블랙리스트에 포함된 경우, 해당 도메인의 카디널리티와 해당 도메인 이름의 IP 주소를 자료 구조에 저장하는 것을 특징으로 하는 시각화를 이용한 악성 코드 탐지 시스템.
  12. 제1항에 있어서, 상기 패턴을 위한 매개변수는 상기 IP 주소, 상기 IP 주소로부터 계산된 각도, 상기 클라이언트 단말기가 질의한 카디널리티, 상기 클라이언트가 질의 양을 위한 임계값과 도메인의 카디널리티의 랭크값을 포함하는 것을 특징으로 하는 시각화를 이용한 악성 코드 탐지 시스템.
  13. DNS 패킷으로부터 시각화를 위해 상기 매개변수들을 추출하는 매개변수 추출모듈; 상기 추출된 매개변수들에 해당하는 데이터를 저장하는 데이터 적재 모듈; 상기 저장된 데이터로부터 정상 행위에 해당하는 데이터를 제외하기 위해 필터링하는 필터 모듈; 블랙리스트 도메인 이름을 관리하는 블랙리스트 관리 모듈과 상기 추출된 매개변수들을 이용하여 시각화 패턴을 생성하는 시각화 생성 모듈을 포함하되,
    상기 매개변수들은 DNS 질의를 보내는 클라이언트 단말기의 IP 주소, 질의 타입, 상기 도메인 이름, 타임스탬프와 플래그 중 적어도 두 개를 포함하는 것을 특징으로 하는 시각화를 이용한 악성 코드 탐지 시스템.
  14. 제13항에 있어서, 상기 패턴은 원통좌표계에 표시되며, 목적지의 도메인 이름들은 선형 축 상에 이격되어 배열되고, 특정 도메인 이름을 목적지로 하는 클라이언트들의 IP 주소들이 선형 축을 중심으로 하여 삼각형들이 원형으로 배열되되,
    상기 DNS 질의들의 양은 삼각형의 밑변으로 표시되며, 상기 도메인 이름 및 상기 IP 주소는 상기 삼각형의 꼭지점들에 대응하는 것을 특징으로 하는 시각화를 이용한 악성 코드 탐지 시스템.
  15. 제13항에 있어서, 상기 DNS 질의들의 양의 순서에 따라 상기 도메인 이름들이 선형 축 상에 순차적으로 배열되는 것을 특징으로 하는 시각화를 이용한 악성 코드 탐지 시스템.
  16. DNS 패킷들을 이용하여 시각화 패턴을 생성하는 단계; 및
    상기 생성된 패턴을 출력하는 단계를 포함하되,
    상기 패턴은 목적지의 도메인 이름, DNS 질의를 요청한 클라이언트의 IP 주소 및 상기 DNS 질의의 양을 표시하는 것을 특징으로 하는 악성 코드 탐지 및 시각화 방법.
  17. 제16항에 있어서, 상기 패턴은 원통좌표계에 표시되며, 상기 목적지의 도메인 이름들은 선형 축 상에 배열되고, 특정 도메인 이름을 질의하는 클라이언트들의 IP 주소들이 상기 도메인 이름을 중심으로 하는 원 상에 배열되되,
    상기 DNS 질의들의 양은 삼각형의 넓이로 표시되는 것을 특징으로 하는 악성 코드 탐지 및 시각화 방법.
  18. 제17항에 있어서, 상기 IP 주소의 인텐시티가 기설정 임계값을 초과하거나 상기 IP 주소의 플래그 오류율이 기설정 임계값을 초과하였을 때의 상기 삼각형의 색상은 상기 IP 주소의 인텐시티가 상기 기설정 임계값 이하이거나 상기 IP 주소의 플래그 오류율이 상기 기설정 임계값 이하인 때의 상기 삼각형의 색상과 다른 것을 특징으로 하는 악성 코드 탐지 및 시각화 방법.
  19. DNS 응답들로부터 클라이언트의 IP 주소들 및 DNS 질의들에 대한 데이터를 추출하는 단계; 및
    상기 추출된 데이터에 기초하여 원통좌표계로 표시되는 시각화된 패턴을 생성하는 단계를 포함하는 것을 특징으로 하는 악성 코드 시각화 방법.
  20. 제19항에 있어서, 상기 패턴에서, 목적지의 도메인 이름들은 선형 축 상에 배열되고 특정 도메인 이름을 질의하는 클라이언트들의 IP 주소들이 상기 선형축을 중심으로 하여 삼각형들이 원형으로 배열되되,
    상기 DNS 질의들의 양은 삼각형의 밑변으로 표시되는 것을 특징으로 하는 악성 코드 시각화 방법.
  21. DNS 패킷들을 이용하여 악성 코드 탐지를 위한 시각화 패턴을 생성하는 단계를 포함하되,
    상기 패턴에서 도메인 이름을 중심으로 하여 상기 도메인 이름을 질의하는 장치들의 IP 주소들이 표시되는 것을 특징으로 하는 악성 코드 시각화 방법.
  22. 제21항에 있어서, 상기 도메인 이름은 가상의 원의 중심에 배열되고 상기 IP 주소들은 상기 원 상에 배열되되,
    상기 DNS 패킷들의 양은 삼각형의 밑변으로 표시되며 상기 도메인 이름은 상기 삼각형의 꼭지점들 중 하나에 배열되는 것을 특징으로 하는 악성 코드 시각화 방법.
  23. 제21항에 있어서, 상기 장치들은 악성코드에 감염된 단말기이며 복수의 C&C 서버들에 연결되는 것을 특징으로 하는 악성 코드 시각화 방법.
  24. 제21항에 있어서, 상기 패턴은 상기 DNS 패킷들로부터 추출된 매개변수들을 이용함에 의해 생성되되,
    상기 DNS 패킷은 DNS 응답 패킷이며, 상기 매개변수는 DNS 질의를 보내는 클라이언트의 IP 주소, 질의 타입, 상기 도메인 이름, 타임스탬프와 플래그를 포함하는 것을 특징으로 하는 악성 코드 시각화 방법.
  25. 제21항에 있어서, 상기 DNS 패킷들의 양은 삼각형의 밑변으로 표시되되,
    상기 DNS 패킷들의 양이 기설정 임계값을 초과할 때의 상기 삼각형의 색상은 상기 DNS 패킷들의 양이 상기 기설정 임계값 이하일 때의 삼각형의 색상과 다른 것을 특징으로 하는 악성 코드 시각화 방법.
  26. 제21항에 있어서, 상기 C&C 서버나 공격대상의 도메인 이름들은 선형 축 상에 상호 이격되어 배열되며, 상기 도메인 이름들로 패킷들을 전송하는 장치들의 IP 주소들이 해당 도메인 이름을 중심으로 하는 원 상에 배열되는 것을 특징으로 하는 악성 코드 시각화 방법.
PCT/KR2015/008625 2014-08-18 2015-08-18 시각화를 이용한 악성 코드 탐지 시스템과 방법 WO2016028067A2 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP15833965.5A EP3185164A4 (en) 2014-08-18 2015-08-18 System and method for detecting malicious code using visualization
US15/505,237 US20170272454A1 (en) 2014-08-18 2015-08-18 System and method for detecting malicious code using visualization

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020140107285A KR101544322B1 (ko) 2014-08-18 2014-08-18 시각화를 이용한 악성 코드 탐지 시스템과 방법
KR10-2014-0107285 2014-08-18

Publications (2)

Publication Number Publication Date
WO2016028067A2 true WO2016028067A2 (ko) 2016-02-25
WO2016028067A3 WO2016028067A3 (ko) 2016-04-07

Family

ID=54061002

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2015/008625 WO2016028067A2 (ko) 2014-08-18 2015-08-18 시각화를 이용한 악성 코드 탐지 시스템과 방법

Country Status (4)

Country Link
US (1) US20170272454A1 (ko)
EP (1) EP3185164A4 (ko)
KR (1) KR101544322B1 (ko)
WO (1) WO2016028067A2 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10686814B2 (en) * 2015-04-10 2020-06-16 Hewlett Packard Enterprise Development Lp Network anomaly detection
CN107534646A (zh) * 2015-08-28 2018-01-02 慧与发展有限责任合伙企业 用于确定dns分组是否为恶意的提取数据分类
US10805318B2 (en) 2015-08-28 2020-10-13 Hewlett Packard Enterprise Development Lp Identification of a DNS packet as malicious based on a value
US9954881B1 (en) * 2016-03-29 2018-04-24 Microsoft Technology Licensing, Llc ATO threat visualization system
US10148683B1 (en) 2016-03-29 2018-12-04 Microsoft Technology Licensing, Llc ATO threat detection system
US10348758B1 (en) * 2016-12-02 2019-07-09 Symantec Corporation Systems and methods for providing interfaces for visualizing threats within networked control systems
KR102575974B1 (ko) 2017-01-25 2023-09-08 한국전자통신연구원 데이터 시각화 장치 및 방법
CN107835149B (zh) * 2017-09-13 2020-06-05 杭州安恒信息技术股份有限公司 基于dns流量分析的网络窃密行为检测方法以及装置
KR102057459B1 (ko) * 2017-11-27 2020-01-22 (주)에이알씨엔에스 네트워크 트래픽 플로우를 이용한 보안상황 종합 분석 및 인지 시스템
US11201853B2 (en) * 2019-01-10 2021-12-14 Vmware, Inc. DNS cache protection
US20200314107A1 (en) * 2019-03-29 2020-10-01 Mcafee, Llc Systems, methods, and media for securing internet of things devices
CN110365658B (zh) * 2019-06-25 2022-04-19 深圳市腾讯计算机系统有限公司 一种反射攻击防护与流量清洗方法、装置、设备及介质
US10855644B1 (en) 2019-09-09 2020-12-01 Vmware, Inc. Address resolution protocol entry verification
US11575646B2 (en) 2020-03-12 2023-02-07 Vmware, Inc. Domain name service (DNS) server cache table validation
US11438166B2 (en) * 2020-03-19 2022-09-06 Oracle International Corporation System and method for use of a suffix tree to control blocking of blacklisted encrypted domains
US12081589B2 (en) * 2021-01-22 2024-09-03 Comcast Cable Communications, Llc Systems and methods for improved domain name system security

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4296184B2 (ja) 2006-03-13 2009-07-15 日本電信電話株式会社 攻撃検出装置、攻撃検出方法および攻撃検出プログラム
KR100879608B1 (ko) * 2007-01-23 2009-01-21 한남대학교 산학협력단 공격지식기반의 네트워크 트래픽 분석 및 감시 방법
KR20120057066A (ko) * 2010-11-26 2012-06-05 한국전자통신연구원 네트워크 보안관제 시스템 및 방법, 네트워크 보안관제를 위한 보안 이벤트 처리 장치 및 시각화 처리 장치
KR101182793B1 (ko) * 2011-02-11 2012-09-13 고려대학교 산학협력단 도메인 이름 서비스 질의 데이터를 이용한 봇넷 탐지 방법 및 시스템
KR101538374B1 (ko) * 2011-07-29 2015-07-22 한국전자통신연구원 사이버 위협 사전 예측 장치 및 방법

Also Published As

Publication number Publication date
US20170272454A1 (en) 2017-09-21
KR101544322B1 (ko) 2015-08-21
WO2016028067A3 (ko) 2016-04-07
EP3185164A4 (en) 2017-08-16
EP3185164A2 (en) 2017-06-28

Similar Documents

Publication Publication Date Title
WO2016028067A2 (ko) 시각화를 이용한 악성 코드 탐지 시스템과 방법
EP3253018B1 (en) Network intrusion detection based on geographical information
CN109495443B (zh) 一种基于主机蜜罐对抗勒索软件攻击的方法和系统
WO2011010823A2 (ko) 클라우드 컴퓨팅을 이용한 DDoS 공격 탐지 및 차단 방법 및 서버
JP2003527793A (ja) ネットワークにおける、自動的な侵入検出及び偏向のための方法
CN111600856A (zh) 数据中心运维的安全系统
WO2012153913A1 (ko) 차단서버를 이용한 스푸핑 공격 방어방법
SE524963C2 (sv) Nod och mobil anordning för ett mobiltelekommunikationsnätverk som tillhandahåller intrångsdetektering
CN103607399A (zh) 基于暗网的专用ip网络安全监测系统及方法
CN111510463B (zh) 异常行为识别系统
CN103428200A (zh) 经被动监视检测流氓域名服务提供者的存在的方法和系统
WO2013024986A2 (ko) 네트워크 식별자 위치판단 시스템 및 그 방법
CN114567463A (zh) 一种工业网络信息安全监测与防护系统
EP4044505B1 (en) Detecting botnets
von Sperling et al. Tracking intruders in IoT networks by means of DNS traffic analysis
CN109981529B (zh) 报文获取方法、装置、系统及计算机存储介质
CN111726810A (zh) 数控加工环境中的无线信号监测及无线通信行为审计系统
CN106878338B (zh) 远动设备网关防火墙一体机系统
KR100830434B1 (ko) 악성코드 수집 시스템 및 방법
Vieira et al. Identifying attack signatures for the internet of things: an IP flow based approach
CA3122328A1 (en) A system for, and a method of creating cybersecurity situational awareness, threat detection and risk detection within the internet-of-things space
CN107959596A (zh) 一种基于网络系统的监测网络的方法以及网络系统
CN111031068B (zh) 一种基于复杂网络的dns分析方法
Abhijith et al. First Level Security System for Intrusion Detection and Prevention in LAN
Asaka et al. Local attack detection and intrusion route tracing

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

Country of ref document: EP

Kind code of ref document: A2

REEP Request for entry into the european phase

Ref document number: 2015833965

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2015833965

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 15505237

Country of ref document: US