[go: up one dir, main page]

KR101596603B1 - Apparatus and method for creating signature using network packet flow sequence - Google Patents

Apparatus and method for creating signature using network packet flow sequence Download PDF

Info

Publication number
KR101596603B1
KR101596603B1 KR1020140195522A KR20140195522A KR101596603B1 KR 101596603 B1 KR101596603 B1 KR 101596603B1 KR 1020140195522 A KR1020140195522 A KR 1020140195522A KR 20140195522 A KR20140195522 A KR 20140195522A KR 101596603 B1 KR101596603 B1 KR 101596603B1
Authority
KR
South Korea
Prior art keywords
packet
signature
packet flow
domain name
program
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1020140195522A
Other languages
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 한양대학교 산학협력단
Priority to KR1020140195522A priority Critical patent/KR101596603B1/en
Application granted granted Critical
Publication of KR101596603B1 publication Critical patent/KR101596603B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/1441Countermeasures against malicious traffic
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

네트워크 패킷 플로우 시퀀스 정보를 이용한 시그니처 생성 장치 및 방법이 개시된다. 시그니처 생성 장치는 프로그램 패킷에서 빠르고 쉽게 추출할 수 있는 프로토콜의 헤더 정보를 이용하여 획득한 패킷 플로우 시퀀스 및 도메인 네임을 이용하여 빠르게 시그니처를 생성할 수 있다.An apparatus and method for generating a signature using network packet flow sequence information are disclosed. The signature generator can quickly generate a signature using the acquired packet flow sequence and the domain name using the header information of the protocol that can be quickly and easily extracted from the program packet.

Description

네트워크 패킷 플로우 시퀀스 정보를 이용한 시그니처 생성 장치 및 방법{APPARATUS AND METHOD FOR CREATING SIGNATURE USING NETWORK PACKET FLOW SEQUENCE}[0001] APPARATUS AND METHOD FOR CREATING SIGNATURE USING NETWORK PACKET FLOW SEQUENCE USING NETWORK PACKET FLOW SEQUENCE INFORMATION [0002]

본 발명은 네트워크 패킷 플로우 시퀀스 정보를 이용한 시그니처 생성 장치 및 방법에 관한 것으로, 보다 구체적으로 프로그램의 시그니처를 생성하는 방법에 있어서, 프로그램 패킷에 따라 확인되는 패킷 플로우 시퀀스 및 도메인 네임을 이용하여 시그니처를 생성하는 시그니처 생성 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for generating a signature using network packet flow sequence information, and more particularly, to a method for generating a signature of a program, the method comprising: generating a signature using a packet flow sequence and a domain name, To a signature generation apparatus and method.

현재 많은 악성코드들이 빠르게 증가하고 있다. 이런 악성코드들에 대처하기 위하여 악성코드를 판별할 수 있는 다양한 방법이 제시되고 있다. 그 방법 중 하나가 네트워크 기반의 시그니처 생성 방식이다.Currently, many malicious codes are growing rapidly. To cope with these malicious codes, various methods for identifying malicious codes are suggested. One such method is network-based signature generation.

상기 방식은 일반 PC에서 사용하는 것과 같이 프로그램에서 발생시키는 패킷의 Payload 내부의 특정 데이터를 시그니처로 사용하여 악성코드의 패킷과 비교하는 방식이다. 하지만 특정 데이터로 정상 프로그램과 악성코드를 구별하는 것은 어려울 수 있다. 왜냐하면 악성코드와 정상 프로그램의 패킷 데이터가 동일할 수 있기 때문이다.This method is a method for comparing specific data in a payload of a packet generated in a program with a packet of a malicious code as a signature as used in a general PC. However, it can be difficult to distinguish malicious code from normal programs with certain data. This is because the packet data of the malicious code and the normal program may be the same.

상기 문제를 해결하기 위해서는 Payload 내부의 유일한 데이터를 시그니처로 사용하여야 한다. 그러나 상기 데이터를 선정하기 위하여 분석하는데 많은 비용을 소비하게 된다. 또한 빠르게 프로그램의 시그니처를 생성하지 못하여 악성코드에 대응하기 어려운 단점이 존재한다.To solve this problem, the only data in the payload should be used as a signature. However, it is expensive to analyze the data to select it. Also, there is a disadvantage that it is difficult to cope with malicious codes because the program signatures can not be generated quickly.

본 발명은 네트워크 패킷 플로우 시퀀스 정보를 이용한 시그니처 생성 장치 및 방법에 관한 것으로, 상기의 단점을 극복하기 위하여 프로그램 패킷에서 빠르고 쉽게 추출할 수 있는 프로토콜의 헤더 정보를 이용하여 획득한 패킷 플로우 시퀀스 및 도메인 네임을 이용하여 빠르게 시그니처를 생성함으로써 악성코드에 대응하는 것이 가능하다.The present invention relates to an apparatus and method for generating a signature using network packet flow sequence information. In order to overcome the disadvantages, a packet flow sequence and a domain name It is possible to respond to a malicious code by generating a signature quickly.

본 발명의 일실시예에 따라 네트워크 패킷 플로우 시퀀스 정보를 이용한 시그니처 생성 장치 및 방법에, 시그니처 생성 장치는 수신된 패킷을 분석하는 단계, 상기 분석된 패킷를 이용하여 패킷 플로우 및 도메인 네임을 확인하는 단계, 상기 확인된 패킷 플로우를 이용하여 패킷 플로우 시퀀스를 결정하는 단계, 상기 결정된 패킷 플로우 시퀀스 및 상기 확인된 도메인 네임을 이용하여 시그니처를 생성하는 단계 및 상기 생성된 시그니처를 악성코드 여부에 따라 분류하여 저장하는 단계를 포함할 수 있다.In an apparatus and method for generating a signature using network packet flow sequence information according to an embodiment of the present invention, the signature generation apparatus includes a step of analyzing a received packet, a step of confirming a packet flow and a domain name using the analyzed packet, Determining a packet flow sequence using the identified packet flow, generating a signature using the determined packet flow sequence and the identified domain name, and classifying and storing the generated signature according to the presence or absence of a malicious code Step < / RTI >

상기 분석하는 단계는 상기 수신된 패킷에서 시퀀스 번호를 포함하는 프로토콜 및 도메인 네임을 포함하는 프로토콜을 추출하는 단계 및 상기 추출된 시퀀스 번호를 포함하는 프로토콜 및 도메인 네임을 포함하는 프로토콜의 정보를 확인하는 단계를 포함할 수 있다.Wherein the analyzing comprises extracting a protocol including a protocol number and a domain name including the sequence number in the received packet, and confirming information of a protocol including a protocol and a domain name including the extracted sequence number . ≪ / RTI >

상기 확인하는 단계는 시퀀스 번호를 포함하는 프로토콜의 시퀀스 번호를 이용하여 패킷 플로우를 생성하는 단계 및 도메인 네임을 포함하는 프로토콜을 이용하여 도메인 네임을 추출하는 단계를 포함할 수 있다.The verifying step may include generating a packet flow using a sequence number of a protocol including a sequence number, and extracting a domain name using a protocol including a domain name.

상기 결정하는 단계는 상기 확인된 패킷 플로우에 대응하는 각 패킷들의 크기를 해당 패킷 플로우에 매핑하는 단계 상기 매핑된 패킷의 크기를 코드화하는 단계 및 상기 코드화된 크기를 상기 확인된 패킷 플로우 순서대로 나열하는 단계를 포함할 수 있다.Wherein the determining comprises mapping the size of each packet corresponding to the identified packet flow to a corresponding packet flow, encoding the size of the mapped packet, and arranging the coded size in the ascertained packet flow order Step < / RTI >

상기 생성하는 단계는 상기 패킷 플로우 시퀀스에 해당하는 IP 주소 및 상기 도메인 네임이 보유하는 IP 주소를 이용하여 시그니처를 생성하는 단계를 포함할 수 있다.The generating may include generating a signature using an IP address corresponding to the packet flow sequence and an IP address held by the domain name.

본 발명의 일실시예에 따라 네트워크 패킷 플로우 시퀀스 정보를 이용한 시그니처 생성 장치 및 방법에, 시그니처 유사성 판단 장치는 프로그램의 패킷을 수신하는 단계, 악성 코드로 분류된 시그니처를 로드하는 단계, 상기 수신된 프로그램의 패킷을 이용하여 시그니처를 생성하는 단계, 상기 프로그램의 시그니처와 상기 로드된 시그니처를 비교하는 단계 및 상기 비교된 결과에 따라 상기 프로그램의 시그니처와 상기 악성 코드로 분류된 시그니처가 유사한지 여부를 판단하는 단계를 포함할 수 있다.An apparatus and method for generating signature using network packet flow sequence information according to an embodiment of the present invention includes a step of receiving a packet of a program, loading a signature classified as a malicious code, Generating a signature using a packet of the program, comparing the signature of the program with the loaded signature, and determining whether the signature of the program is similar to the signature classified as the malicious code according to the compared result Step < / RTI >

상기 프로그램의 시그니처는 상기 프로그램의 패킷에 따라 생성된 패킷 플로우 및 도메인 네임에 기초하여 생성될 수 있다.The signature of the program may be generated based on the packet flow and the domain name generated according to the packet of the program.

본 발명의 일실시예에 따라 네트워크 패킷 플로우 시퀀스 정보를 이용한 시그니처 생성 장치 및 방법에, 시그니처 생성 장치는 패킷을 수신하는 통신 모뎀, 상기 수신된 패킷을 분석하는 분석부, 상기 분석된 패킷를 이용하여 패킷 플로우 및 도메인 네임을 확인하는 확인부, 상기 확인된 패킷 플로우를 이용하여 패킷 플로우 시퀀스를 결정하는 결정부, 상기 결정된 패킷 플로우 시퀀스 및 상기 확인된 도메인 네임을 이용하여 시그니처를 생성하는 생성부 및 상기 생성된 시그니처를 악성코드 여부에 따라 분류하여 저장하는 데이터베이스를 포함할 수 있다.In an apparatus and method for generating a signature using network packet flow sequence information according to an embodiment of the present invention, the signature generation apparatus includes a communication modem for receiving a packet, an analysis unit for analyzing the received packet, A determination unit for determining a flow name and a domain name, a determination unit for determining a packet flow sequence using the identified packet flow, a generation unit for generating a signature using the determined packet flow sequence and the identified domain name, And a database for classifying and storing the signatures according to the presence or absence of the malicious code.

본 발명의 일실시예에 따라 네트워크 패킷 플로우 시퀀스 정보를 이용한 시그니처 생성 장치 및 방법에, 시그니처 유사성 판단 장치는 프로그램의 패킷을 수신하는 통신 모뎀, 악성 코드로 분류된 시그니처를 로드하는 로드부, 상기 수신된 프로그램의 패킷을 이용하여 시그니처를 생성하는 생성부, 상기 생성된 프로그램의 시그니처와 상기 로드된 시그니처를 비교하는 비교부 및 상기 비교된 결과에 따라 상기 프로그램이의 시그니처와 상기 악성 코드로 분류된 시그니처가 유사한지 여부를 판단하는 판단부를 포함할 수 있다.An apparatus and method for generating a signature using network packet flow sequence information according to an embodiment of the present invention includes a communication modem for receiving a packet of a program, a load unit for loading a signature classified as a malicious code, A comparison unit for comparing the signature of the generated program with the loaded signature, and a comparison unit for comparing the signature of the program and the signature classified as the malicious code according to the comparison result, May be similar to each other.

상기 프로그램의 시그니처는 상기 프로그램의 패킷에 따라 생성된 패킷 플로우 및 도메인 네임에 기초하여 생성될 수 있다. The signature of the program may be generated based on the packet flow and the domain name generated according to the packet of the program.

본 발명의 일실시예에 따르면, 프로그램 패킷에서 빠르고 쉽게 추출할 수 있는 프로토콜의 헤더 정보를 이용하여 획득한 패킷 플로우 시퀀스 및 도메인 네임을 이용하여 빠르게 시그니처를 생성함으로써 악성코드에 대응하는 것이 가능하다.According to an embodiment of the present invention, it is possible to cope with a malicious code by quickly generating a signature using a packet flow sequence and a domain name obtained by using header information of a protocol that can be quickly and easily extracted from a program packet.

도 1은 일실시예에 따른 시그니처 생성 장치를 도시화한 것이다.
도 2는 일실시예에 따른 시그니처 유사성 판단 장치를 도시화한 것이다.
도 3은 일실시예에 따른 시그니처 생성하는 전체 과정을 도시화한 것이다.
도 4는 일실시예에 따른 프로그램 패킷을 분석하는 과정을 도시화한 것이다.
도 5은 일실시예에 따른 도메인 네임 목록을 생성하는 방법을 도시화한 것이다.
도 6은 일실시예에 따른 패킷 플로우 시퀀스의 생성 과정을 도시화한 것이다.
도 7은 일실시예에 따른 패킷 플로우 대응하는 각 패킷들의 크기를 해당 패킷 플로우에 매핑하는 방법을 도시화한 것이다.
도 8은 일실시예에 따른 패킷 플로우 시퀀스의 생성 예시를 도시화한 것이다.
도 9는 일실시예에 따른 패킷 플로우 시퀀스와 도메인 네임을 이용한 시그니처 생성 방법을 도시화한 것이다.
도 10는 일실시예에 따른 시그니처 유사성 판단 과정을 도시화한 것이다.
도 11은 일실시예에 따른 악성코드를 판단하는 방법의 예를 도시화한 것이다.
1 is a block diagram illustrating a signature generation apparatus according to an exemplary embodiment of the present invention.
2 is a block diagram illustrating a signature similarity determination apparatus according to an exemplary embodiment of the present invention.
FIG. 3 illustrates an overall process of generating a signature according to an exemplary embodiment.
FIG. 4 illustrates a process of analyzing a program packet according to an exemplary embodiment of the present invention.
FIG. 5 illustrates a method of generating a domain name list according to an exemplary embodiment of the present invention.
FIG. 6 illustrates a process of generating a packet flow sequence according to an embodiment.
FIG. 7 illustrates a method of mapping a size of each packet corresponding to a packet flow to a corresponding packet flow according to an exemplary embodiment.
8 illustrates an exemplary generation of a packet flow sequence according to one embodiment.
9 illustrates a method of generating a signature using a packet flow sequence and a domain name according to an exemplary embodiment of the present invention.
FIG. 10 illustrates a process of determining signature similarity according to an exemplary embodiment of the present invention.
FIG. 11 illustrates an example of a method for determining a malicious code according to an embodiment.

이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 일실시예에 따른 시그니처 생성 장치를 도시화한 것이다.1 is a block diagram illustrating a signature generation apparatus according to an exemplary embodiment of the present invention.

일실시예에 따른 시그니처 생성 장치(110)는 통신 모뎀(120) 및 시그니처 생성 시스템(130)으로 구성될 수 있다. 통신 모뎀(120)는 프로그램 패킷을 수신할 수 있다. 예를 들어, 프로그램이 한 장소에서 다른 장소로 전송될 때, 주로 패킷 단위로 분할되어 TCP/IP 프로토콜에 의해 전송이 될 수 있다. 분할된 패캣들은 각각 별도의 번호가 붙여지고 목적지 주소가 포함되어 인터넷을 통해 전송될 수 있다. 목적지에 도착한 패킷들은 TCP 계층의 수신부에서 원래의 프로그램으로 재조립되어 프로그램을 수신할 수 있다.The signature generating apparatus 110 according to an embodiment may be configured with a communication modem 120 and a signature generating system 130. [ The communication modem 120 may receive the program packet. For example, when a program is transmitted from one place to another, it can be divided into packets and transmitted by the TCP / IP protocol. Partitioned packets can be transmitted over the Internet with separate numbers and destination addresses. Packets arriving at the destination can be reassembled into the original program at the receiver of the TCP layer to receive the program.

시그니처 생성 시스템(130)은 분석부(131), 확인부(132), 결정부(133), 생성부(134) 및 저장부(135)로 구성될 수 있다. 분석부(131)는 통신 모뎀(120)을 통해 수신된 프로그램을 실행함으로써 발생되는 프로그램 패킷을 분석할 수 있다. 프로그램 패킷은 다양한 프로토콜을 통해 전송이 될 수 있다. 이 중에서 시퀀스 번호를 포함하는 프로토콜 및 도메인 네임을 포함하는 프로토콜을 추출하여 상기 프로토콜들에 의해 전송되는 프로그램 패킷의 정보를 분석할 수 있다. 이때, 분석부(131)을 통해 분석되는 프로그램 패킷의 정보는 패킷의 시퀀스 번호 및 도메인 네임일 수 있다.The signature generation system 130 may include an analysis unit 131, an identification unit 132, a determination unit 133, a generation unit 134, and a storage unit 135. The analysis unit 131 may analyze a program packet generated by executing the program received through the communication modem 120. [ Program packets can be transmitted over various protocols. A protocol including a sequence number and a protocol including a domain name may be extracted to analyze information of a program packet transmitted by the protocols. At this time, the information of the program packet analyzed through the analysis unit 131 may be a sequence number and a domain name of the packet.

확인부(132)는 분석부(131)를 통해 분석된 프로그램 패킷의 정보를 이용하여 패킷 플로우 및 도메인 네인 목록을 확인할 수 있다. 도메인 네임 목록은 도메인 네임을 포함하는 프로토콜의 DNS 레코드 정보에서 추출할 수 있다. 이때, 확인부는 도메인 네임에 상응하는 IP 주소를 추출할 수 있다. 도메인 네임 당 다수의 IP 주소를 소유할 수 있어 도메인 네임 당 1:N의 관계로 구성될 수 있다. The confirmation unit 132 can confirm the packet flow and the domain name list using the analyzed information of the program packet through the analysis unit 131. [ The domain name list can be extracted from the DNS record information of the protocol including the domain name. At this time, the verification unit can extract the IP address corresponding to the domain name. It can own multiple IP addresses per domain name and can be configured with a 1: N relationship per domain name.

패킷 플로우는 시퀀스 번호를 포함하는 프로토콜을 이용하여 생성할 수 있다. 예를 들어, TCP프로토콜을 통해 전송되는 패킷의 헤더 정보에는 각각의 패킷별로 시퀀스 번호가 내장될 수 있다. 내장된 시퀀스 번호를 작은 것부터 시작하여 마지막인 것까지 연결하면 하나의 플로우가 생성될 수 있다. 이 생성된 하나의 플로우가 패킷 플로우가 될 수 있다.The packet flow can be generated using a protocol that includes a sequence number. For example, the sequence number of each packet may be embedded in the header information of the packet transmitted through the TCP protocol. One flow can be created by concatenating the built-in sequence numbers starting from the smallest one to the last one. This generated one flow can be a packet flow.

결정부(133)는 상기 생성된 패킷 플로우를 이용하여 패킷 플로우 시퀀스를 결정할 수 있다. 먼저, 결정부(133)는 상기 생성된 패킷 플로우에 대응하는 각각의 패킷들의 크기를 해당 패킷 플로우에 매핑할 수 있다. 결정부(133)는 매핑된 패킷의 크기를 코드화하여 상기 생성된 패킷 플로우 순서대로 나열함으로써, 패킷 플로우 시퀀스를 결정할 수 있다. 결정된 패킷 플로우 시퀀스는 추후 시그니처를 생성하는데 이용될 수 있다.The determination unit 133 can determine the packet flow sequence using the generated packet flow. First, the determination unit 133 may map the size of each packet corresponding to the generated packet flow to a corresponding packet flow. The determination unit 133 can determine the packet flow sequence by encoding the sizes of the mapped packets and arranging them in the order of the generated packet flows. The determined packet flow sequence may be used to generate a signature later.

패킷 플로우 시퀀스 하나로는 악성코드를 판별할 수 있는 시그니처를 만들 수 없다. 왜냐하면, 다양한 악성코드들에서 동일한 패킷 플로우 시퀀스가 존재할 수 있기 때문이다.One packet flow sequence can not create signatures that can identify malicious code. This is because the same packet flow sequence may exist in various malicious codes.

따라서, 생성부(134)는 패킷 플로우 시퀀스와 도메인 네임 목록을 이용하여 시그니처를 생성할 수 있다. 생성부(134)는 패킷 플로우 시퀀스마다 통신을 한 대상의 IP 주소를 보유할 수 있다. 또한, 생성부(134)는 확인부(132)가 추출한 도메인 네임에 상응하는 IP 주소를 보유할 수 있다. 생성부(134)는 패킷 플로우 시퀀스에 해당하는 IP 주소 및 도메인 네임이 보유하고 있는 IP 주소를 일치시킴으로써, 패킷 플로우 시퀀스와 도메인 네임 목록을 조합할 수 있다. 이렇게 조합된 패킷 플로우 시퀀스와 도메인 네임 목록의 결과는 프로그램의 시그니처로 생성될 수 있다.Therefore, the generating unit 134 can generate a signature using the packet flow sequence and the domain name list. The generation unit 134 can hold the IP address of the communication object for each packet flow sequence. In addition, the generating unit 134 may have an IP address corresponding to the domain name extracted by the identifying unit 132. The generating unit 134 may combine the packet flow sequence and the domain name list by matching the IP address corresponding to the packet flow sequence and the IP address held by the domain name. The result of this combined packet flow sequence and domain name list can be generated as a signature of the program.

저장부(135)는 생성된 프로그램의 시그니처를 악성코드 여부에 따라 분류하여 데이터베이스에 저장할 수 있다. 즉, 악성코드의 시그니처로 미 분류된 프로그램의 시그니처가 생성된 경우, 저장부(135)는 상기 생성된 프로그램의 시그니처가 악성행위를 통해 패킷을 발생 시켰을 때, 해당 시그니처를 악성코드로 저장할 수 있다.The storage unit 135 may classify the signature of the generated program according to whether the malicious code is stored in the database. That is, when a signature of a program not classified as a signature of a malicious code is generated, the storage unit 135 may store the signature as a malicious code when the generated signature of the program generates a packet through a malicious action .

도 2는 일실시예에 따른 시그니처 유사성 판단 장치를 도시화한 것이다.2 is a block diagram illustrating a signature similarity determination apparatus according to an exemplary embodiment of the present invention.

시그니처 유사성 판단 장치(210)는 통신 모뎀(120) 및 시그니처 유사성 판단 시스템(220)으로 구성될 수 있다. 통신 모뎀(120)는 프로그램의 패킷을 수신할 수 있다. 예를 들어, 프로그램이 한 장소에서 다른 장소로 전송될 때, 주로 패킷 단위로 분할되어 TCP/IP 프로토콜에 의해 전송이 될 수 있다. 분할된 패캣들은 각각 별도의 번호가 붙여지고 목적지 주소가 포함되어 인터넷을 통해 전송될 수 있다. 목적지에 도착한 패킷들은 TCP 계층의 수신부에서 원래의 프로그램으로 재조립되어 프로그램을 수신할 수 있다.The signature similarity determination device 210 may be configured of a communication modem 120 and a signature similarity determination system 220. The communication modem 120 may receive the packets of the program. For example, when a program is transmitted from one place to another, it can be divided into packets and transmitted by the TCP / IP protocol. Partitioned packets can be transmitted over the Internet with separate numbers and destination addresses. Packets arriving at the destination can be reassembled into the original program at the receiver of the TCP layer to receive the program.

시그니처 유사성 판단 시스템(220)은 로드부(221), 생성부(222), 비교부(223) 및 판단부(224)로 구성될 수 있다. 로드부(221)는 악성코드로 분류되어 데이터베이스에 저장된 시그니처를 불러올 수 있다. The signature similarity determination system 220 may include a load unit 221, a generation unit 222, a comparison unit 223, and a determination unit 224. The load unit 221 can be classified as malicious code and can recall the signature stored in the database.

생성부(222)는 통신 모뎀(120)을 통해 수신된 프로그램을 실행하여 발생되는 패킷을 이용하여 시그니처를 생성할 수 있다. 구체적으로, 프로그램의 패킷을 분석하여 패킷 플로우 및 도메인 네임을 확인하고, 확인된 패킷 플로우를 이용하여 패킷 플로우 시퀀스를 결정할 수 있다. 생성부(222)는 도메인 네임이 보유하는 IP 주소와 패킷 플로우 시퀀스에 해당하는 IP 주소를 일치시킴으로써, 패킷 플로우 시퀀스와 도메인 네임 목록을 조합할 수 있다. 상기 조합된 결과는 프로그램의 시그니처로 생성될 수 있다.The generation unit 222 may generate a signature using a packet generated by executing a program received through the communication modem 120. [ Specifically, a packet of a program may be analyzed to identify a packet flow and a domain name, and the packet flow sequence may be determined using the confirmed packet flow. The generating unit 222 may combine the packet flow sequence and the domain name list by matching the IP address held by the domain name with the IP address corresponding to the packet flow sequence. The combined result may be generated as a signature of the program.

비교부(223)는 데이터베이스에서 불러온 악성코드로 분류된 시그니처와 생성부(222)가 생성한 프로그램의 시그니처를 비교할 수 있다. 본 발명의 일실시예에 따라 비교부(223)는 악성코드로 분류된 시그니처와 생성된 프로그램의 시그니처에서 일차적으로 도메인 네임을 비교한 후 패킷의 크기를 코드화한 값을 차례로 비교할 수 있다.The comparing unit 223 can compare the signature classified by the malicious code retrieved from the database with the signature of the program generated by the generating unit 222. [ According to an embodiment of the present invention, the comparison unit 223 compares the domain name with the signatures of the malicious code and the signature of the generated program, and then compares the coded values of the packet size in order.

판단부(224)는 비교부(223)에서 악성코드로 분류된 시그니처와 생성된 프로그램의 시그니처를 비교한 결과를 이용하여 프로그램 내에 악성코드의 유무를 판단할 수 있다. 생성부(222)에 의해 생성된 프로그램의 시그니처가 악성코드의 시그니처와 유사한지의 여부를 판단하는 기준은 별도의 서버(미도시)로부터 전달받을 수 있거나, 사용자에 의해 설정될 수 있다.The determination unit 224 can determine the presence or absence of a malicious code in the program using the result of comparing the signature of the generated program with the signature classified as the malicious code in the comparison unit 223. [ The criterion for determining whether the signature of the program generated by the generating unit 222 is similar to the signature of the malicious code may be received from a separate server (not shown) or may be set by the user.

도 3은 일실시예에 따른 시그니처 생성하는 전체 과정을 도시화한 것이다.FIG. 3 illustrates an overall process of generating a signature according to an exemplary embodiment.

단계(310)에서 시그니처 생성 장치(110)는 통신 모뎀(120)을 통해 수신한 프로그램을 실행함으로써 발생되는 패킷을 분석할 수 있다. 시그니처 생성 장치(110)는 패킷을 분석하여 패킷의 시퀀스 번호 및 도메인 네임을 추출할 수 있다.In step 310, the signature generation apparatus 110 may analyze a packet generated by executing a program received through the communication modem 120. [ The signature generation device 110 may analyze the packet to extract the sequence number and the domain name of the packet.

단계(320)에서 시그니처 생성 장치(110)는 추출된 패킷의 시퀀스 번호를 이용하여 패킷 플로우를 생성할 수 있다. 예를 들어, TCP프로토콜을 통해 전송되는 패킷의 헤더 정보에는 각각의 패킷별로 시퀀스 번호가 내장될 수 있다. 내장된 시퀀스 번호를 작은 것부터 시작하여 마지막인 것까지 연결하면 하나의 플로우가 생성될 수 있다. 이 생성된 하나의 플로우가 패킷 플로우가 될 수 있다.In step 320, the signature generation device 110 may generate a packet flow using the sequence number of the extracted packet. For example, the sequence number of each packet may be embedded in the header information of the packet transmitted through the TCP protocol. One flow can be created by concatenating the built-in sequence numbers starting from the smallest one to the last one. This generated one flow can be a packet flow.

또한, 시그니처 생성 장치(110)에 의해 추출된 도메인 네임은 하나의 도메인 네임에 다수의 IP 주소를 보유할 수 있어 도메인 네임 당 IP 주소는 1:N의 관계로 구성될 수 있다. 시그니처 생성 장치(110)는 하나의 도메인 네임 당 보유할 수 있는 IP 주소의 관계를 이용하여 도메인 네임 목록을 생성할 수 있다.In addition, the domain name extracted by the signature generation device 110 may have a plurality of IP addresses in one domain name, so that the IP address per domain name may be configured in a 1: N relationship. The signature generation device 110 can generate a domain name list using the relation of IP addresses that can be held per one domain name.

단계(330)에서 시그니처 생성 장치(110)는 패킷 플로우를 이용하여 패킷 플로우 시퀀스를 결정할 수 있다. 시그니처 생성 장치(110)는 패킷 플로우에 대응하는 각각의 패킷들의 크기를 해당 패킷 플로우에 매핑하고, 매핑된 패킷의 크기를 코드화하여 패킷 플로우의 순서대로 나열함으로써, 패킷 플로우 시퀀스를 결정할 수 있다.In step 330, the signature generation device 110 may determine the packet flow sequence using the packet flow. The signature generation device 110 can determine the packet flow sequence by mapping the size of each packet corresponding to the packet flow to the corresponding packet flow, and encoding the size of the mapped packet and arranging the size in the order of the packet flow.

단계(340)에서 시그니처 생성 장치(110)는 결정된 패킷 플로우 시퀀스와 패킷을 분석하여 추출한 도메인 네임 목록을 이용하여 프로그램의 시그니처를 생성할 수 있다. 시그니처 생성 장치(110)는 패킷 플로우 시퀀스에 해당하는 IP 주소와 도메인 네임이 보유하고 있는 IP 주소를 일치시킴으로써, 패킷 플로우 시퀀스와 도메인 네임 목록을 조합하여 프로그램의 시그니처를 생성할 수 있다.In step 340, the signature generation device 110 may generate the signature of the program using the extracted domain name list by analyzing the packet flow sequence and the packet. The signature generation device 110 can generate a signature of the program by combining the IP flow address with the IP address held by the domain name and combining the packet flow sequence and the domain name list.

단계(350)에서 시그니처 생성 장치(110)는 생성된 프로그램의 시그니처를 악성코드 여부에 따라 분류하여 데이터베이스에 저장할 수 있다. In step 350, the signature generation device 110 may classify the signature of the generated program according to whether it is malicious code or not and store the classified signature in the database.

도 4는 일실시예에 따른 프로그램 패킷을 분석하는 과정을 도시화한 것이다.FIG. 4 illustrates a process of analyzing a program packet according to an exemplary embodiment of the present invention.

단계(410)에서 시그니처 생성 장치(110)는 분석할 패킷을 PCAP(Packet CAPture, 패킷 캡처)파일로 변환할 수 있다. PCAP는 컴퓨터 네트워크 관리 분야에서 네트워크 상에 떠돌아 다니는 패킷을 포착할 수 있다. PCAP 파일에는 포착된 패킷의 헤더 정보와 해당 패킷의 데이터가 포함되어 있다, 시그니처 생성 장치(110)는 패킷의 헤더에 포함되어 있는 정보를 이용하여 해당 패킷의 시퀀스 번호 및 도메인 네임을 추출할 수 있다.In step 410, the signature generation device 110 may convert a packet to be analyzed into a PCAP (Packet Capture) file. PCAP can capture packets that float on the network in the area of computer network management. The PCAP file includes header information of the captured packet and data of the packet. The signature generation device 110 can extract the sequence number and the domain name of the packet using the information included in the header of the packet .

도 5은 일실시예에 따른 도메인 네임을 생성하는 방법을 도시화한 것이다. FIG. 5 illustrates a method of generating a domain name according to an embodiment.

도메인 네임 목록은 DNS 프로토콜 패킷의 DNS 레코드 정보에서 추출할 수 있다. 이때, DNS 레코드 정보는 도메인 네임과 도메인 네임과 연결되는 IP 주소가 포함되어 있을 수 있다. 상기 IP 주소를 얻는 방법은 크게 3가지가 있다. 그 중 첫번째는 반복적 변환을 이용하는 방법이다. 예를 들어, 클라이언트가 웹 브라우저에 naver.com 을 입력하면 먼저 루트 네임 서버에 질의하여 com 담당 서버 주소를 리턴 받는다. 그러면 클라이언트는 다시com 담당 서버 주소에 naver.com 변환 요청을 보낸다. 이러한 형태로 클라이언트가 최종 IP 주소 반환 받을 때까지 계속해서 요청 및 응답을 하는 방식이 반복적 변환 방법이다.The domain name list can be extracted from the DNS record information of the DNS protocol packet. At this time, the DNS record information may include a domain name and an IP address associated with the domain name. There are three methods for obtaining the IP address. The first is to use iterative transformations. For example, if a client enters naver.com in a web browser, it first queries the root name server and returns the com server address. The client then sends a naver.com conversion request back to the com server address. In this way, it is an iterative conversion method that continues to request and respond until the client returns the final IP address.

두번째는 재귀적 변환을 이용한 방법이다. 반복적 변환 방법에서는 클라이언트가 최종적인 응답을 받을 때까지 요청 및 응답을 계속해야 한다. 하지만 재귀적 변환을 이용하게 되면, 클라이언트는 루트 서버에 요청을 하고, 루트 서버는 naver.com 이 자신의 서버에 등록되어 있는지 검사한다. 만약 등록되어 있지 않다면 com 담당 서버에 요청을 하고 com서버는 naver.com이 자신의 서버에 등록되어 있는지 검사한다. 이렇게 재귀적으로 실제 도메인 네임을 가지고 있는 서버까지 요청이 이동하여 IP 주소 얻는 방식이 재귀적 변환 방법이다.The second is a recursive transformation method. In the iterative transformation method, the client must continue to request and respond until a final response is received. However, when recursive conversion is used, the client makes a request to the root server, and the root server checks that naver.com is registered on its server. If it is not registered, it makes a request to com server and com server checks whether naver.com is registered on its server. Thus, recursive conversion is a method in which a request is moved to a server having a real domain name to obtain an IP address.

이런 재귀적 변환으로 클라이언트가 최종 IP 주소 얻으려면, 중간과정의 네임서버들이 모두 재귀적 변환을 허용해야 한다.In order for the client to get the final IP address with this recursive transformation, all intermediate name servers must allow recursive conversion.

마지막으로 일반적인 DNS 네임 변환 방법이 있다. 일반적인 DNS 네임 변환 방법은 상기 재귀적 변환 방법과 반복적 변환 방법을 함께 사용하여 최종 IP주소를 얻을 수 있다. 이와 같은 일반적인 DNS 네임 변환 방법은 상기 재귀적 변환 방법과 반복적 변환 방법을 함께 사용함으로써 효율성을 높일 수 있다.Finally, there is a common DNS name translation method. A common DNS name translation method can use the recursive conversion method and the iterative conversion method together to obtain a final IP address. Such a general DNS name conversion method can increase the efficiency by using the recursive conversion method and the iterative conversion method together.

이와 같은 방법으로 DNS 프로토콜 패킷의 DNS 레코드 정보에서 추출할 수 있는 도메인 네임에 대한 IP 주소는 다수일 수 있다. 도 5에서 볼 수 있듯이 도메인 네임 목록은 도메인 네임에 해당하는 복수의 IP 주소를 포함할 수 있다.In this manner, the IP address for the domain name that can be extracted from the DNS record information of the DNS protocol packet may be a plurality of IP addresses. As shown in FIG. 5, the domain name list may include a plurality of IP addresses corresponding to the domain names.

도 6은 일실시예에 따른 패킷 플로우 시퀀스의 생성 과정을 도시화한 것이다.FIG. 6 illustrates a process of generating a packet flow sequence according to an embodiment.

시그니처 생성 장치(110)는 패킷 플로우를 이용하여 패킷 플로우 시퀀스를 생성할 수 있다. 단계(610)에서 시그니처 생성 장치(110)는 패킷 플로우에 대응하는 각각의 패킷들의 크기를 해당 패킷 플로우에 매핑할 수 있다. 패킷의 크기를 해당 패킷 플로우에 매핑하는 방법은 도 7에 잘 나타나있다. 상기 방법에 의하여 패킷의 크기가 해당 패킷 플로우에 매핑된 결과를 도 8의 (a) 도면에서 확인할 수 있다. The signature generation device 110 can generate a packet flow sequence using the packet flow. In step 610, the signature generation device 110 may map the size of each packet corresponding to the packet flow to the corresponding packet flow. A method of mapping the size of a packet to a corresponding packet flow is well illustrated in FIG. The result of mapping the size of the packet to the packet flow according to the above method can be confirmed in the drawing of FIG. 8 (a).

단계(620)에서 시그니처 생성 장치(110)는 도 8의 (a)와 같이 패킷의 크기를 해당 패킷 플로우에 매핑한 후 패킷의 크기를 코드화할 수 있고, 패킷의 크기가 코드화된 결과를 도 8의 (b)에서 확인할 수 있다. In step 620, the signature generation device 110 can encode the size of the packet after mapping the size of the packet to the corresponding packet flow as shown in FIG. 8A, (B) of Fig.

단계(630)에서 시그니처 생성 장치(110)가 도 8의 (b)를 패킷 플로우 순으로 나열하면 패킷 플로우 시퀀스를 생성되며 그 결과는 도 8의 (c)와 같다. 즉, 패킷 플로우 시퀀스는 IP 주소 및 패킷의 크기를 코드화한 값을 포함할 수 있다.In step 630, when the signature generation apparatus 110 lists the packets in the order of packet flow in FIG. 8B, a packet flow sequence is generated. The result is shown in FIG. 8C. That is, the packet flow sequence may include a value obtained by encoding the IP address and the packet size.

도 9는 일실시예에 따른 패킷 플로우 시퀀스와 도메인 네임을 이용한 시그니처 생성 방법을 도시화한 것이다.9 illustrates a method of generating a signature using a packet flow sequence and a domain name according to an exemplary embodiment of the present invention.

시그니처 생성 장치(110)는 패킷 플로우 시퀀스 및 도메인 네임 목록을 이용하여 프로그램의 시그니처를 생성할 수 있다. 패킷 플로우 시퀀스는 해당 패킷 플로우 시퀀스마다 통신을 한 대상의 IP 주소를 보유할 수 있다. 또한, 도메인 네임 목록은 한 개의 도메인 네임 당 다수의 IP 주소를 보유할 수 있다. 시그니처 생성 장치(110)는 패킷 플로우 시퀀스의 IP 주소와 도메인 네임이 보유하고 있는 IP 주소를 일치시켜 패킷 플로우 시퀀스와 도메인 네임 목록을 조합함으로써 시그니처를 생성할 수 있다. 시그니처 생성 장치(110)에 의해 생성된 프로그램의 시그니처는 도 9와 같이 생성될 수 있다.The signature generation device 110 can generate the signature of the program using the packet flow sequence and the domain name list. The packet flow sequence can hold the IP address of the object that communicated with each packet flow sequence. Also, the domain name list may have a plurality of IP addresses per domain name. The signature generation apparatus 110 can generate a signature by combining the IP address of the packet flow sequence with the IP address held by the domain name and combining the packet flow sequence and the domain name list. The signature of the program generated by the signature generating apparatus 110 can be generated as shown in FIG.

도 10는 일실시예에 따른 시그니처 유사성 판단 과정을 도시화한 것이다.FIG. 10 illustrates a process of determining signature similarity according to an exemplary embodiment of the present invention.

시그니처 유사성 판단 장치(210)는 단계(1010)에서 데이터베이스로부터 악성코드로 분류된 시그니처를 불러올 수 있다. The signature similarity determining device 210 can fetch the signature classified as malicious code from the database in step 1010. [

단계(1020)에서 시그니처 유사성 판단 장치(210)는 프로그램의 패킷을 이용하여 시그니처를 생성할 수 있다. 구체적으로, 프로그램의 패킷을 분석하여 패킷 플로우 및 도메인 네임을 확인하고, 확인된 패킷 플로우를 이용하여 패킷 플로우 시퀀스를 결정할 수 있다. 시그니처 유사성 판단 장치(210)는 도메인 네임이 보유하는 IP 주소와 패킷 플로우 시퀀스에 해당하는 IP 주소를 일치시킴으로써, 패킷 플로우 시퀀스와 도메인 네임 목록을 조합할 수 있다. 상기 조합된 결과는 프로그램의 시그니처로 생성될 수 있다.In step 1020, the signature similarity determination apparatus 210 may generate a signature using the packet of the program. Specifically, a packet of a program may be analyzed to identify a packet flow and a domain name, and the packet flow sequence may be determined using the confirmed packet flow. The signature similarity determining device 210 can combine the packet flow sequence and the domain name list by matching the IP address held by the domain name with the IP address corresponding to the packet flow sequence. The combined result may be generated as a signature of the program.

단계(1030)에서 시그니처 유사성 판단 장치(210)는 데이터베이스에서 불러온 악성코드로 분류된 시그니처와 프로그램의 패킷을 분석하여 생성한 시그니처를 비교할 수 있다. 일실시예로 시그니처 유사성 판단 장치(210)는 악성코드로 분류된 시그니처와 생성된 프로그램의 시그니처에서 일차적으로 도메인 네임을 비교한 후 패킷의 크기를 코드화한 값을 차례로 비교할 수 있다.In step 1030, the signature similarity determination apparatus 210 may compare signatures generated by analyzing packets classified into malicious codes and program packets that are retrieved from the database. In one embodiment, the signature similarity determination device 210 may compare domain names in the signature of the generated program with the signatures classified in the malicious code, and then compare the encoded values of the packet size in order.

단계(1040)에서 시그니처 유사성 판단 장치(210)는 악성코드로 분류된 시그니처와 생성된 프로그램의 시그니처를 비교한 결과를 이용하여 프로그램 내에 악성코드의 유무를 판단할 수 있다. 생성된 프로그램의 시그니처가 악성코드의 시그니처와 유사한지의 여부를 판단하는 기준은 별도의 서버(미도시)로부터 전달받을 수 있거나, 사용자에 의해 설정될 수 있다.In step 1040, the signature similarity determination apparatus 210 can determine whether or not a malicious code is present in the program using the result of comparing the signature of the generated program with the signature classified as the malicious code. The criterion for determining whether the signature of the generated program is similar to the signature of the malicious code can be received from a separate server (not shown) or can be set by the user.

도 11은 일실시예에 따른 악성코드를 판단하는 방법의 예를 도시화한 것이다.FIG. 11 illustrates an example of a method for determining a malicious code according to an embodiment.

시그니처 유사성 판단 장치(210)는 미리 악성 코드로 판단되어 데이터베이스에 저장된 시그니처를 불러와 프로그램의 패킷을 이용하여 생성된 프로그램의 시그니처와 비교할 수 있다. 시그니처 유사사어 판단 장치(210)는 악성코드 판단 기준에 의하여 실행된 프로그램 내에 악성코드의 존재 여부를 판단할 수 있다.The signature similarity determination unit 210 can compare the signature stored in the database with the signature of the program generated using the packet of the program by judging that the signature is previously determined to be malicious code. The signature-similar-word determination apparatus 210 can determine whether or not a malicious code exists in the program executed by the malicious code determination criterion.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the apparatus and components described in the embodiments may be implemented within a computer system, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable array (FPA) A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device , Or may be permanently or temporarily embodied in a transmitted signal wave. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.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. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced. Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

110 : 시그니처 생성 장치
120 : 통신 모뎀
130 : 시그니처 생성 시스템
210 : 시그니처 유사성 판단 장치
220 : 시그니처 유사성 판단 시스템
110: Signature Generator
120: Communication modem
130: Signature Generation System
210: Signature similarity judging device
220: Signature Similarity Judging System

Claims (8)

수신된 패킷을 분석하는 단계;
상기 분석된 패킷을 이용하여 패킷 플로우 및 도메인 네임을 확인하는 단계;
상기 확인된 패킷 플로우를 이용하여 패킷 플로우 시퀀스를 결정하는 단계;
상기 결정된 패킷 플로우 시퀀스에 해당하는 IP 주소 및 상기 확인된 도메인 네임이 보유하는 IP 주소를 일치시켜 시그니처를 생성하는 단계; 및
상기 생성된 시그니처를 악성코드 여부에 따라 분류하여 저장하는 단계
를 포함하고,
상기 패킷 플로우 시퀀스는 상기 확인된 패킷 플로우에 대응하는 각 패킷들의 크기를 해당 패킷 플로우에 매핑하고, 매핑된 패킷의 크기를 코드화하여 결정되고,
상기 시그니처는 상기 도메인 네임과 상기 패킷 플로우에 매핑된 패킷의 크기가 코드화된 정보로 구성되며,
상기 수신된 패킷의 악성코드 여부를 판단하는 경우, 상기 시그니처에 포함된 도메인 네임을 비교한 결과에 기초하여 패킷의 크기가 코드화된 값을 비교하는 시그니처 생성 방법.
Analyzing the received packet;
Confirming a packet flow and a domain name using the analyzed packet;
Determining a packet flow sequence using the identified packet flow;
Generating a signature by matching an IP address corresponding to the determined packet flow sequence and an IP address held by the identified domain name; And
Classifying and storing the generated signature according to whether the malicious code is detected
Lt; / RTI >
The packet flow sequence is determined by mapping the size of each packet corresponding to the confirmed packet flow to a corresponding packet flow, encoding the size of the mapped packet,
Wherein the signature comprises information on the domain name and the size of a packet mapped to the packet flow,
And comparing the coded value of the packet size based on a result of comparing the domain name included in the signature when determining whether the received packet is malicious code.
제1항에서 있어서,
상기 분석하는 단계는,
상기 수신된 패킷에서 시퀀스 번호를 포함하는 프로토콜 및 도메인 네임을 포함하는 프로토콜을 추출하는 단계; 및
상기 추출된 시퀀스 번호를 포함하는 프로토콜 및 도메인 네임을 포함하는 프로토콜의 정보를 확인하는 단계
를 포함하는 시그니처 생성 방법.
The method of claim 1,
Wherein the analyzing comprises:
Extracting a protocol including a protocol number and a domain name including the sequence number in the received packet; And
Confirming information of a protocol including the extracted sequence number and a protocol including a domain name
/ RTI >
제1항에서 있어서,
상기 확인하는 단계는,
시퀀스 번호를 포함하는 프로토콜의 시퀀스 번호를 이용하여 패킷 플로우를 생성하는 단계; 및
도메인 네임을 포함하는 프로토콜을 이용하여 도메인 네임을 추출하는 단계
를 포함하는 시그니처 생성 방법.
The method of claim 1,
Wherein the verifying step comprises:
Generating a packet flow using a sequence number of a protocol including a sequence number; And
Extracting a domain name using a protocol including a domain name
/ RTI >
제1항에 있어서,
상기 결정하는 단계는,
상기 확인된 패킷 플로우에 대응하는 각 패킷들의 크기를 해당 패킷 플로우에 매핑하는 단계;
상기 매핑된 패킷의 크기를 코드화하는 단계; 및
상기 코드화된 크기를 상기 확인된 패킷 플로우 순서대로 나열하는 단계
를 포함하는 시그니처 생성 방법.
The method according to claim 1,
Wherein the determining comprises:
Mapping the size of each packet corresponding to the identified packet flow to a corresponding packet flow;
Encoding the size of the mapped packet; And
Listing the coded sizes in the ascertained packet flow order
/ RTI >
삭제delete 프로그램의 패킷을 수신하는 단계;
악성 코드로 분류된 시그니처를 로드하는 단계;
상기 수신된 프로그램의 패킷을 이용하여 시그니처를 생성하는 단계;
상기 프로그램의 시그니처와 상기 로드된 시그니처를 비교하는 단계; 및
상기 비교된 결과에 따라 상기 프로그램의 시그니처와 상기 악성 코드로 분류된 시그니처가 유사한지 여부를 판단하는 단계
를 포함하고,
상기 프로그램의 시그니처는,
상기 프로그램의 패킷에 따라 생성된 패킷 플로우 시퀀스에 해당하는 IP 주소 및 도메인 네임이 보유하는 IP 주소를 일치시켜 생성되고,
상기 패킷 플로우 시퀀스는 패킷 플로우에 대응하는 각 패킷들의 크기를 해당 패킷 플로우에 매핑하고, 매핑된 패킷의 크기를 코드화하여 결정되며,
상기 판단하는 단계는,
상기 시그니처에 포함된 도메인 네임을 비교한 결과에 기초하여 패킷의 크기가 코드화된 값을 비교하는 시그니처 유사성 판단 방법.
Receiving a packet of a program;
Loading a signature classified as malicious code;
Generating a signature using a packet of the received program;
Comparing the signature of the program with the loaded signature; And
Determining whether the signature of the program is similar to the signature classified as the malicious code according to the comparison result
Lt; / RTI >
Wherein the signature of the program comprises:
An IP address corresponding to a packet flow sequence generated according to a packet of the program, and an IP address held by the domain name,
The packet flow sequence is determined by mapping the size of each packet corresponding to the packet flow to a corresponding packet flow and encoding the size of the mapped packet,
Wherein the determining step comprises:
And comparing the coded value of the packet size based on a result of comparing the domain names included in the signature.
패킷을 수신하는 통신 모뎀;
상기 수신된 패킷을 분석하는 분석부;
상기 분석된 패킷을 이용하여 패킷 플로우 및 도메인 네임을 확인하는 확인부;
상기 확인된 패킷 플로우를 이용하여 패킷 플로우 시퀀스를 결정하는 결정부;
상기 결정된 패킷 플로우 시퀀스에 해당하는 IP 주소 및 상기 확인된 도메인 네임이 보유하는 IP 주소를 일치시켜 시그니처를 생성하는 생성부; 및
상기 생성된 시그니처를 악성코드 여부에 따라 분류하여 저장하는 데이터베이스
를 포함하고,
상기 패킷 플로우 시퀀스는 상기 확인된 패킷 플로우에 대응하는 각 패킷들의 크기를 해당 패킷 플로우에 매핑하고, 매핑된 패킷의 크기를 코드화하여 결정되고,
상기 시그니처는 상기 도메인 네임과 상기 패킷 플로우에 매핑된 패킷의 크기가 코드화된 정보로 구성되며,
상기 수신된 패킷의 악성코드 여부를 판단하는 경우, 상기 시그니처에 포함된 도메인 네임을 비교한 결과에 기초하여 패킷의 크기가 코드화된 값을 비교하는 시그니처 생성 장치.
A communication modem for receiving a packet;
An analysis unit for analyzing the received packet;
A confirmation unit for verifying the packet flow and the domain name using the analyzed packet;
A determining unit for determining a packet flow sequence using the confirmed packet flow;
A generating unit for generating a signature by matching an IP address corresponding to the determined packet flow sequence and an IP address held by the identified domain name; And
A database for classifying and storing the generated signatures according to the presence or absence of a malicious code
Lt; / RTI >
The packet flow sequence is determined by mapping the size of each packet corresponding to the confirmed packet flow to a corresponding packet flow, encoding the size of the mapped packet,
Wherein the signature comprises information on the domain name and the size of a packet mapped to the packet flow,
And comparing the coded value of the packet size based on a result of comparing the domain name included in the signature when determining whether the received packet is malicious code.
프로그램의 패킷을 수신하는 통신 모뎀;
악성 코드로 분류된 시그니처를 로드하는 로드부;
상기 수신된 프로그램의 패킷을 이용하여 시그니처를 생성하는 생성부;
상기 생성된 프로그램의 시그니처와 상기 로드된 시그니처를 비교하는 비교부; 및
상기 비교된 결과에 따라 상기 프로그램의 시그니처와 상기 악성 코드로 분류된 시그니처가 유사한지 여부를 판단하는 판단부
를 포함하고,
상기 프로그램의 시그니처는,
상기 프로그램의 패킷에 따라 생성된 패킷 플로우 시퀀스에 해당하는 IP 주소 및 도메인 네임이 보유하는 IP 주소를 일치시켜 생성되고,
상기 패킷 플로우 시퀀스는 패킷 플로우에 대응하는 각 패킷들의 크기를 해당 패킷 플로우에 매핑하고, 매핑된 패킷의 크기를 코드화하여 결정되며,
상기 판단부는,
상기 시그니처에 포함된 도메인 네임을 비교한 결과에 기초하여 패킷의 크기가 코드화된 값을 비교하는 시그니처 유사성 판단 장치.
A communication modem for receiving a packet of a program;
A load unit for loading a signature classified as a malicious code;
A generating unit for generating a signature using the packet of the received program;
A comparing unit comparing the signature of the generated program with the loaded signature; And
Determining whether the signature of the program is similar to the signature classified as the malicious code according to the comparison result;
Lt; / RTI >
Wherein the signature of the program comprises:
An IP address corresponding to a packet flow sequence generated according to a packet of the program, and an IP address held by the domain name,
The packet flow sequence is determined by mapping the size of each packet corresponding to the packet flow to a corresponding packet flow and encoding the size of the mapped packet,
Wherein,
And compares the coded value of the packet size based on a result of comparing the domain names included in the signature.
KR1020140195522A 2014-12-31 2014-12-31 Apparatus and method for creating signature using network packet flow sequence Expired - Fee Related KR101596603B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140195522A KR101596603B1 (en) 2014-12-31 2014-12-31 Apparatus and method for creating signature using network packet flow sequence

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140195522A KR101596603B1 (en) 2014-12-31 2014-12-31 Apparatus and method for creating signature using network packet flow sequence

Publications (1)

Publication Number Publication Date
KR101596603B1 true KR101596603B1 (en) 2016-03-07

Family

ID=55540252

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140195522A Expired - Fee Related KR101596603B1 (en) 2014-12-31 2014-12-31 Apparatus and method for creating signature using network packet flow sequence

Country Status (1)

Country Link
KR (1) KR101596603B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108092997A (en) * 2018-02-05 2018-05-29 中国联合网络通信集团有限公司 A kind of domain name analytic method and device
KR20210090312A (en) * 2020-01-09 2021-07-20 한국전자통신연구원 Apparatus and method for identifying traffice similar to remote-access-tool

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120005599A (en) * 2010-07-09 2012-01-17 삼성전자주식회사 Apparatus and method for detecting target flow in wireless communication system
US8578491B2 (en) * 2008-12-11 2013-11-05 Alcatel Lucent Network based malware detection and reporting
US20140101759A1 (en) * 2010-01-06 2014-04-10 Damballa, Inc. Method and system for detecting malware

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8578491B2 (en) * 2008-12-11 2013-11-05 Alcatel Lucent Network based malware detection and reporting
US20140101759A1 (en) * 2010-01-06 2014-04-10 Damballa, Inc. Method and system for detecting malware
KR20120005599A (en) * 2010-07-09 2012-01-17 삼성전자주식회사 Apparatus and method for detecting target flow in wireless communication system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108092997A (en) * 2018-02-05 2018-05-29 中国联合网络通信集团有限公司 A kind of domain name analytic method and device
CN108092997B (en) * 2018-02-05 2020-09-25 中国联合网络通信集团有限公司 Method and device for domain name resolution
KR20210090312A (en) * 2020-01-09 2021-07-20 한국전자통신연구원 Apparatus and method for identifying traffice similar to remote-access-tool
KR102386616B1 (en) * 2020-01-09 2022-04-15 한국전자통신연구원 Apparatus and method for identifying traffice similar to remote-access-tool

Similar Documents

Publication Publication Date Title
US11544575B2 (en) Machine-learning based approach for malware sample clustering
US10970391B2 (en) Classification method, classification device, and classification program
CN106384048B (en) Threat information processing method and device
CN112468364B (en) CIP asset detection method and device, computer equipment and readable storage medium
KR20170060280A (en) Apparatus and method for automatically generating rules for malware detection
CN113098828A (en) Network security alarm method and device
JP2016091549A (en) Systems, devices, and methods for separating malware and background events
CN104579773A (en) Domain name system analysis method and device
CN111935185B (en) Method and system for constructing large-scale trapping scene based on cloud computing
EP3905084A1 (en) Method and device for detecting malware
US20160205118A1 (en) Cyber black box system and method thereof
US20180121544A1 (en) Apparatus and method for enhancing regular expression search performance through cost-based optimization technique
CN113609089B (en) Interface request processing method, device, readable storage medium and computer equipment
CN114785567A (en) Traffic identification method, device, equipment and medium
CN110555147A (en) website data capturing method, device, equipment and medium thereof
KR101596603B1 (en) Apparatus and method for creating signature using network packet flow sequence
CN112711525B (en) Collaborative testing method and device for UI test and interface test and computing equipment
CN115242436B (en) A malicious traffic detection method and system based on command line characteristics
JP6092759B2 (en) COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL METHOD, AND COMMUNICATION CONTROL PROGRAM
Sheffey et al. Improving meek with adversarial techniques
WO2017039591A1 (en) Extracted data classification to determine if a dns packet is malicious
CN111368128A (en) Target picture identification method and device and computer readable storage medium
CN106713114B (en) Verification information processing method and device
US10091311B2 (en) Smart location determination
US20180123894A1 (en) Fingerprint determination for network mapping

Legal Events

Date Code Title Description
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

D13-X000 Search requested

St.27 status event code: A-1-2-D10-D13-srh-X000

D14-X000 Search report completed

St.27 status event code: A-1-2-D10-D14-srh-X000

PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

R15-X000 Change to inventor requested

St.27 status event code: A-3-3-R10-R15-oth-X000

R16-X000 Change to inventor recorded

St.27 status event code: A-3-3-R10-R16-oth-X000

E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20190217

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20190217

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000