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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event 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
본 발명은 네트워크 패킷 플로우 시퀀스 정보를 이용한 시그니처 생성 장치 및 방법에 관한 것으로, 보다 구체적으로 프로그램의 시그니처를 생성하는 방법에 있어서, 프로그램 패킷에 따라 확인되는 패킷 플로우 시퀀스 및 도메인 네임을 이용하여 시그니처를 생성하는 시그니처 생성 장치 및 방법에 관한 것이다.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
시그니처 생성 시스템(130)은 분석부(131), 확인부(132), 결정부(133), 생성부(134) 및 저장부(135)로 구성될 수 있다. 분석부(131)는 통신 모뎀(120)을 통해 수신된 프로그램을 실행함으로써 발생되는 프로그램 패킷을 분석할 수 있다. 프로그램 패킷은 다양한 프로토콜을 통해 전송이 될 수 있다. 이 중에서 시퀀스 번호를 포함하는 프로토콜 및 도메인 네임을 포함하는 프로토콜을 추출하여 상기 프로토콜들에 의해 전송되는 프로그램 패킷의 정보를 분석할 수 있다. 이때, 분석부(131)을 통해 분석되는 프로그램 패킷의 정보는 패킷의 시퀀스 번호 및 도메인 네임일 수 있다.The
확인부(132)는 분석부(131)를 통해 분석된 프로그램 패킷의 정보를 이용하여 패킷 플로우 및 도메인 네인 목록을 확인할 수 있다. 도메인 네임 목록은 도메인 네임을 포함하는 프로토콜의 DNS 레코드 정보에서 추출할 수 있다. 이때, 확인부는 도메인 네임에 상응하는 IP 주소를 추출할 수 있다. 도메인 네임 당 다수의 IP 주소를 소유할 수 있어 도메인 네임 당 1:N의 관계로 구성될 수 있다. The
패킷 플로우는 시퀀스 번호를 포함하는 프로토콜을 이용하여 생성할 수 있다. 예를 들어, 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
패킷 플로우 시퀀스 하나로는 악성코드를 판별할 수 있는 시그니처를 만들 수 없다. 왜냐하면, 다양한 악성코드들에서 동일한 패킷 플로우 시퀀스가 존재할 수 있기 때문이다.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
저장부(135)는 생성된 프로그램의 시그니처를 악성코드 여부에 따라 분류하여 데이터베이스에 저장할 수 있다. 즉, 악성코드의 시그니처로 미 분류된 프로그램의 시그니처가 생성된 경우, 저장부(135)는 상기 생성된 프로그램의 시그니처가 악성행위를 통해 패킷을 발생 시켰을 때, 해당 시그니처를 악성코드로 저장할 수 있다.The
도 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
시그니처 유사성 판단 시스템(220)은 로드부(221), 생성부(222), 비교부(223) 및 판단부(224)로 구성될 수 있다. 로드부(221)는 악성코드로 분류되어 데이터베이스에 저장된 시그니처를 불러올 수 있다. The signature
생성부(222)는 통신 모뎀(120)을 통해 수신된 프로그램을 실행하여 발생되는 패킷을 이용하여 시그니처를 생성할 수 있다. 구체적으로, 프로그램의 패킷을 분석하여 패킷 플로우 및 도메인 네임을 확인하고, 확인된 패킷 플로우를 이용하여 패킷 플로우 시퀀스를 결정할 수 있다. 생성부(222)는 도메인 네임이 보유하는 IP 주소와 패킷 플로우 시퀀스에 해당하는 IP 주소를 일치시킴으로써, 패킷 플로우 시퀀스와 도메인 네임 목록을 조합할 수 있다. 상기 조합된 결과는 프로그램의 시그니처로 생성될 수 있다.The
비교부(223)는 데이터베이스에서 불러온 악성코드로 분류된 시그니처와 생성부(222)가 생성한 프로그램의 시그니처를 비교할 수 있다. 본 발명의 일실시예에 따라 비교부(223)는 악성코드로 분류된 시그니처와 생성된 프로그램의 시그니처에서 일차적으로 도메인 네임을 비교한 후 패킷의 크기를 코드화한 값을 차례로 비교할 수 있다.The comparing
판단부(224)는 비교부(223)에서 악성코드로 분류된 시그니처와 생성된 프로그램의 시그니처를 비교한 결과를 이용하여 프로그램 내에 악성코드의 유무를 판단할 수 있다. 생성부(222)에 의해 생성된 프로그램의 시그니처가 악성코드의 시그니처와 유사한지의 여부를 판단하는 기준은 별도의 서버(미도시)로부터 전달받을 수 있거나, 사용자에 의해 설정될 수 있다.The
도 3은 일실시예에 따른 시그니처 생성하는 전체 과정을 도시화한 것이다.FIG. 3 illustrates an overall process of generating a signature according to an exemplary embodiment.
단계(310)에서 시그니처 생성 장치(110)는 통신 모뎀(120)을 통해 수신한 프로그램을 실행함으로써 발생되는 패킷을 분석할 수 있다. 시그니처 생성 장치(110)는 패킷을 분석하여 패킷의 시퀀스 번호 및 도메인 네임을 추출할 수 있다.In
단계(320)에서 시그니처 생성 장치(110)는 추출된 패킷의 시퀀스 번호를 이용하여 패킷 플로우를 생성할 수 있다. 예를 들어, TCP프로토콜을 통해 전송되는 패킷의 헤더 정보에는 각각의 패킷별로 시퀀스 번호가 내장될 수 있다. 내장된 시퀀스 번호를 작은 것부터 시작하여 마지막인 것까지 연결하면 하나의 플로우가 생성될 수 있다. 이 생성된 하나의 플로우가 패킷 플로우가 될 수 있다.In
또한, 시그니처 생성 장치(110)에 의해 추출된 도메인 네임은 하나의 도메인 네임에 다수의 IP 주소를 보유할 수 있어 도메인 네임 당 IP 주소는 1:N의 관계로 구성될 수 있다. 시그니처 생성 장치(110)는 하나의 도메인 네임 당 보유할 수 있는 IP 주소의 관계를 이용하여 도메인 네임 목록을 생성할 수 있다.In addition, the domain name extracted by the
단계(330)에서 시그니처 생성 장치(110)는 패킷 플로우를 이용하여 패킷 플로우 시퀀스를 결정할 수 있다. 시그니처 생성 장치(110)는 패킷 플로우에 대응하는 각각의 패킷들의 크기를 해당 패킷 플로우에 매핑하고, 매핑된 패킷의 크기를 코드화하여 패킷 플로우의 순서대로 나열함으로써, 패킷 플로우 시퀀스를 결정할 수 있다.In
단계(340)에서 시그니처 생성 장치(110)는 결정된 패킷 플로우 시퀀스와 패킷을 분석하여 추출한 도메인 네임 목록을 이용하여 프로그램의 시그니처를 생성할 수 있다. 시그니처 생성 장치(110)는 패킷 플로우 시퀀스에 해당하는 IP 주소와 도메인 네임이 보유하고 있는 IP 주소를 일치시킴으로써, 패킷 플로우 시퀀스와 도메인 네임 목록을 조합하여 프로그램의 시그니처를 생성할 수 있다.In
단계(350)에서 시그니처 생성 장치(110)는 생성된 프로그램의 시그니처를 악성코드 여부에 따라 분류하여 데이터베이스에 저장할 수 있다. In
도 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
도 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
단계(620)에서 시그니처 생성 장치(110)는 도 8의 (a)와 같이 패킷의 크기를 해당 패킷 플로우에 매핑한 후 패킷의 크기를 코드화할 수 있고, 패킷의 크기가 코드화된 결과를 도 8의 (b)에서 확인할 수 있다. In
단계(630)에서 시그니처 생성 장치(110)가 도 8의 (b)를 패킷 플로우 순으로 나열하면 패킷 플로우 시퀀스를 생성되며 그 결과는 도 8의 (c)와 같다. 즉, 패킷 플로우 시퀀스는 IP 주소 및 패킷의 크기를 코드화한 값을 포함할 수 있다.In
도 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
도 10는 일실시예에 따른 시그니처 유사성 판단 과정을 도시화한 것이다.FIG. 10 illustrates a process of determining signature similarity according to an exemplary embodiment of the present invention.
시그니처 유사성 판단 장치(210)는 단계(1010)에서 데이터베이스로부터 악성코드로 분류된 시그니처를 불러올 수 있다. The signature
단계(1020)에서 시그니처 유사성 판단 장치(210)는 프로그램의 패킷을 이용하여 시그니처를 생성할 수 있다. 구체적으로, 프로그램의 패킷을 분석하여 패킷 플로우 및 도메인 네임을 확인하고, 확인된 패킷 플로우를 이용하여 패킷 플로우 시퀀스를 결정할 수 있다. 시그니처 유사성 판단 장치(210)는 도메인 네임이 보유하는 IP 주소와 패킷 플로우 시퀀스에 해당하는 IP 주소를 일치시킴으로써, 패킷 플로우 시퀀스와 도메인 네임 목록을 조합할 수 있다. 상기 조합된 결과는 프로그램의 시그니처로 생성될 수 있다.In
단계(1030)에서 시그니처 유사성 판단 장치(210)는 데이터베이스에서 불러온 악성코드로 분류된 시그니처와 프로그램의 패킷을 분석하여 생성한 시그니처를 비교할 수 있다. 일실시예로 시그니처 유사성 판단 장치(210)는 악성코드로 분류된 시그니처와 생성된 프로그램의 시그니처에서 일차적으로 도메인 네임을 비교한 후 패킷의 크기를 코드화한 값을 차례로 비교할 수 있다.In
단계(1040)에서 시그니처 유사성 판단 장치(210)는 악성코드로 분류된 시그니처와 생성된 프로그램의 시그니처를 비교한 결과를 이용하여 프로그램 내에 악성코드의 유무를 판단할 수 있다. 생성된 프로그램의 시그니처가 악성코드의 시그니처와 유사한지의 여부를 판단하는 기준은 별도의 서버(미도시)로부터 전달받을 수 있거나, 사용자에 의해 설정될 수 있다.In
도 11은 일실시예에 따른 악성코드를 판단하는 방법의 예를 도시화한 것이다.FIG. 11 illustrates an example of a method for determining a malicious code according to an embodiment.
시그니처 유사성 판단 장치(210)는 미리 악성 코드로 판단되어 데이터베이스에 저장된 시그니처를 불러와 프로그램의 패킷을 이용하여 생성된 프로그램의 시그니처와 비교할 수 있다. 시그니처 유사사어 판단 장치(210)는 악성코드 판단 기준에 의하여 실행된 프로그램 내에 악성코드의 존재 여부를 판단할 수 있다.The signature
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, 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.
상기 분석하는 단계는,
상기 수신된 패킷에서 시퀀스 번호를 포함하는 프로토콜 및 도메인 네임을 포함하는 프로토콜을 추출하는 단계; 및
상기 추출된 시퀀스 번호를 포함하는 프로토콜 및 도메인 네임을 포함하는 프로토콜의 정보를 확인하는 단계
를 포함하는 시그니처 생성 방법.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 >
상기 확인하는 단계는,
시퀀스 번호를 포함하는 프로토콜의 시퀀스 번호를 이용하여 패킷 플로우를 생성하는 단계; 및
도메인 네임을 포함하는 프로토콜을 이용하여 도메인 네임을 추출하는 단계
를 포함하는 시그니처 생성 방법.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 >
상기 결정하는 단계는,
상기 확인된 패킷 플로우에 대응하는 각 패킷들의 크기를 해당 패킷 플로우에 매핑하는 단계;
상기 매핑된 패킷의 크기를 코드화하는 단계; 및
상기 코드화된 크기를 상기 확인된 패킷 플로우 순서대로 나열하는 단계
를 포함하는 시그니처 생성 방법.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 >
악성 코드로 분류된 시그니처를 로드하는 단계;
상기 수신된 프로그램의 패킷을 이용하여 시그니처를 생성하는 단계;
상기 프로그램의 시그니처와 상기 로드된 시그니처를 비교하는 단계; 및
상기 비교된 결과에 따라 상기 프로그램의 시그니처와 상기 악성 코드로 분류된 시그니처가 유사한지 여부를 판단하는 단계
를 포함하고,
상기 프로그램의 시그니처는,
상기 프로그램의 패킷에 따라 생성된 패킷 플로우 시퀀스에 해당하는 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.
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)
| 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)
| 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 |
-
2014
- 2014-12-31 KR KR1020140195522A patent/KR101596603B1/en not_active Expired - Fee Related
Patent Citations (3)
| 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)
| 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 |