KR100869887B1 - Traffic identification system and method with analysis on signature of packets - Google Patents

Traffic identification system and method with analysis on signature of packets Download PDF

Info

Publication number
KR100869887B1
KR100869887B1 KR1020070057941A KR20070057941A KR100869887B1 KR 100869887 B1 KR100869887 B1 KR 100869887B1 KR 1020070057941 A KR1020070057941 A KR 1020070057941A KR 20070057941 A KR20070057941 A KR 20070057941A KR 100869887 B1 KR100869887 B1 KR 100869887B1
Authority
KR
South Korea
Prior art keywords
packet
signature
analysis
traffic
classified
Prior art date
Application number
KR1020070057941A
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 KR1020070057941A priority Critical patent/KR100869887B1/en
Application granted granted Critical
Publication of KR100869887B1 publication Critical patent/KR100869887B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/028Capturing of monitoring data by filtering

Abstract

A traffic analyzing system and a method through analysis on signature of packets are provided to analyze the signature of a packet instead of the port number of the packet by using the signature of the payload of packet and analyze the signature of the packet which carries out statistics. A pattern collecting and analyzing part(10) collects and analyzes a packet generated by a analysis object service, extracts the signature of a packet and stores signature location information. A traffic collection part(40) extracts classification the specific number of object packets from the traffic flow generated by a user based on the order of the packet included in the traffic flow. A traffic analysis part(50) classifies the flow into the flow of the analysis object service.

Description

패킷의 시그너처 분석을 통한 트래픽 분석 시스템 및 그 방법{Traffic identification system and method with analysis on signature of packets}Traffic identification system and method with analysis on signature of packets

도 1은 본 발명에 따른 패킷의 시그너처 분석을 통한 트래픽 분석 시스템의 전체 구성을 나타내는 개념도.1 is a conceptual diagram showing the overall configuration of a traffic analysis system through the signature analysis of the packet according to the present invention.

도 2는 본 발명에 따른 패킷의 시그너처 분석을 통한 트래픽 분석 시스템의 패킷의 구조 및 상기 패킷이 플로우로 구성되어 데이터베이스에 저장된 모습을 나타내는 블록도.Figure 2 is a block diagram showing the structure of the packet of the traffic analysis system through the signature analysis of the packet according to the present invention and the packet is stored in a database composed of a flow.

도 3은 본 발명에 따른 패킷의 시그너처 분석을 통한 트래픽 분석 방법을 나타내는 순서도.3 is a flowchart illustrating a traffic analysis method through signature analysis of a packet according to the present invention.

※ 도면의 주요부분에 대한 부호의 설명 ※※ Explanation of code about main part of drawing ※

1: 인터넷 10: 패턴수집 및 분석부1: Internet 10: Pattern Collection and Analysis Department

20: 패턴변환부 30: 데이터베이스20: pattern conversion unit 30: database

40: 트래픽수집부 50: 트래픽분석부40: traffic collecting unit 50: traffic analysis unit

60: 통계분석부 100: 트래픽 분석 시스템60: statistical analysis unit 100: traffic analysis system

200: 사용자PC 200: user PC

본 발명은 인터넷망의 트래픽 분석 시스템 및 그 방법에 관한 것이다.The present invention relates to a traffic analysis system and method of the Internet network.

IP 네트워크에서의 트래픽 엔지니어링을 위해서는 네트워크에서 흐르는 트래픽의 속성과 변화 패턴을 정확하게 이해하는 것이 필요하다. 여기서 상기 트래픽 엔지니어링은 여러 링크에서 트래픽의 흐름이 불균형하여 초래되는 체증(Congestion)을 피하기 위해서 트래픽의 흐름을 각 링크에 균형 있게 배분하는 작업이다.Traffic engineering in an IP network requires an accurate understanding of the nature and changing patterns of traffic flowing through the network. In this case, the traffic engineering is a task of distributing the flow of traffic to each link in order to avoid congestion caused by unbalanced flow of traffic on several links.

상기와 같은 네트워크에서 흐르는 트래픽의 속성과 변화 패턴을 정확히 이해하기 위해 트래픽의 기본단위인 패킷을 전송한 응용 계층 프로토콜의 TCP/UDP 등의 포트번호를 식별하는 패킷 응용 분류 방법을 주로 사용하며, 이는 트래픽 변동 및 가입자 사용행태 분석 등에 활용되어 트래픽 엔지니어링, 링크용량 설계 및 공급 등의 망 운용관리에 활용된다.In order to accurately understand the properties and changing patterns of the traffic flowing in the network as described above, the packet application classification method for identifying the port number such as TCP / UDP of the application layer protocol that transmitted the packet, which is the basic unit of the traffic, is mainly used. It is used for traffic fluctuations and subscriber usage analysis, and it is used for network operation management such as traffic engineering, link capacity design and supply.

그러나 인터넷 사용 환경이 복잡해지면서 패킷을 전송한 응용 프로토콜의 포트번호를 식별하는 패킷 응용 분류(예를 들어, 80포트는 웹, 21포트는 telnet, 4662포트는 edonkey)는 동적포트를 사용하는 서비스가 등장하고, 방화벽을 피하기 위해 개방된 포트를 이용하여 우회하는 트래픽이 증가하며, 임의로 사용할 포트번호를 설정할 수 있는 P2P프로그램이 등장함에 따라 분류 정확도가 낮아지게 되었고, 결국 포트번호에 의한 응용 분류 결과는 신뢰할 수 없게 되는 문제점이 있다.However, due to the complexity of the Internet environment, packet application classifications (eg, 80 port web, 21 port telnet, 4662 port edonkey) are used to identify the port number of the application protocol that sent the packet. As the traffic is diverted by using open ports to avoid firewalls, and the P2P program that can set a random port number appears, the classification accuracy is lowered. There is a problem of becoming unreliable.

따라서 상기와 같은 패킷 응용 분류에서 사용하는 패킷의 헤더에 기록된 포 트번호만을 이용해서 트래픽을 분류하는 것은 한계가 있으므로, 패킷의 페이로드(payload)부분에서 개별 서비스에 대한 특성을 분석하여 트래픽을 분류할 필요성이 있다.Therefore, there is a limitation in classifying traffic using only the port number recorded in the header of the packet used in the packet application classification as described above. Therefore, the payload part of the packet analyzes the characteristics of individual services to analyze the traffic. There is a need to classify.

본 발명은 상기와 같은 종래의 기술의 문제점을 해소하기 위해 제안된 것으로서, The present invention has been proposed to solve the problems of the prior art as described above,

사용자 발생 패킷의 헤더정보의 포트번호를 이용하여 패킷 응용 분류를 하던 종래의 방식에서 벗어나 패킷의 페이로드의 분석을 통해 시그너처(signature; 패킷의 고유한 패턴)를 도출하여 응용 분류를 수행하는 트래픽 분석 시스템 및 그 방법을 제공하는 것을 목적으로 한다.Traffic analysis that performs signature classification by deriving signature (signal unique pattern of packet) through analysis of packet payload, away from the conventional method of classifying packet application using port number of header information of user-generated packet It is an object to provide a system and a method thereof.

또한 본 발명은 상기 시그너처를 검색이 용이한 정규식의 형태로 구성하게 하는 것을 목적으로 한다.It is also an object of the present invention to configure the signature in the form of a regular expression that is easy to search.

또한 본 발명은 상기 사용자 발생 패킷을 특정조건을 만족하는 패킷 집합체인 플로우로 구성하여 시그너처 검색의 대상을 감소시키는 것을 목적으로 한다.In addition, an object of the present invention is to reduce the object of the signature search by configuring the user-generated packet as a flow that is a packet aggregate that satisfies a specific condition.

또한 본 발명은 상기 시그너처에 의한 응용 분류가 실패하더라도 포트번호에 의한 응용 분류를 병행하여 분류의 정확도를 높이게 하는 것을 목적으로 한다.In addition, an object of the present invention is to improve the accuracy of the classification in parallel with the application classification by the port number even if the application classification by the signature fails.

상기와 같은 목적을 달성하기 위한 본 발명에 따른 패킷의 시그너처 분석을 통한 트래픽 분석 시스템은
분석대상서비스별 발생 패킷을 수집하고 분석하여 패킷의 시그너처를 도출하여 상기 시그너처와 상기 시그너처 위치정보를 저장하는 패턴수집 및 분석부,
사용자에 의해 발생된 트래픽 플로우로부터 상기 트래픽 플로우에 포함된 패킷의 순서를 기준으로 소정 개수의 분류대상패킷을 추출하는 트래픽수집부, 및
Traffic analysis system through the signature analysis of the packet according to the present invention for achieving the above object
A pattern collection and analysis unit which collects and analyzes generated packets for each analysis target service to derive a signature of the packet and stores the signature and the signature location information;
A traffic collecting unit for extracting a predetermined number of classified packets based on the order of packets included in the traffic flow from the traffic flow generated by the user;

상기 시그너처 위치정보를 이용하여 상기 분류대상패킷의 페이로드의 특정 위치에서 상기 시그너처를 검색하고, 상기 검색결과 상기 분류대상패킷의 페이로드에서 상기 시그너처가 검색되면 상기 플로우를 상기 시그너처가 포함된 분석대상서비스의 플로우로 분류하는 트래픽분석부를 포함한 것을 특징적 구성으로 한다.The signature is searched for at a specific position of the payload of the packet to be classified using the signature position information. When the signature is found at the payload of the packet to be classified, the analysis object is included in the flow. It is characterized by including a traffic analysis unit for classifying the flow of services.

삭제delete

삭제delete

여기서 시그너처는 개별 분석대상서비스의 패킷의 페이로드에 포함된 특정 문자열일 수 있고, 상기 시그너처는 개별 분석대상서비스의 패킷의 페이로드에 포함된 특정 패킷의 길이정보일 수 있으며, 상기 시그너처는 개별 서비스의 패킷의 페이로드에 포함된 패킷의 송수신 시 사용되는 메시지(키워드)일 수도 있다.The signature may be a specific string included in a payload of a packet of an individual analysis target service, and the signature may be length information of a specific packet included in a payload of a packet of an individual analysis target service, and the signature may be an individual service. It may also be a message (keyword) used when transmitting and receiving a packet included in the payload of the packet.

여기서 상기 트래픽 분석 시스템은 시그너처를 정규식 형태로 변환하여 데이터베이스에 구축함으로써, 상기 트래픽분석부로 하여금 정규식을 이용하여 분류대상패킷 내의 시그너처의 존재여부를 검색할 수 있도록 하는 패턴변환부를 추가적으로 포함할 수 있다.The traffic analysis system may further include a pattern conversion unit for converting a signature into a regular expression form and constructing it in a database so that the traffic analysis unit can search for the presence of a signature in a packet to be classified using a regular expression.

또한 상기 정규식은 상기 시그너처의 수량, 위치 또는 종류 중 어느 하나 이상을 나타내는 식별자와 시그너처의 조합으로 이루어질 수 있다.The regular expression may be a combination of an identifier and a signature representing any one or more of the quantity, location, or type of the signature.

한편 상기 트래픽 분석 시스템은 트래픽분석부에서 분류된 분석대상서비스별 사용자 발생 패킷을 분석하고 통계화하는 통계분석부를 추가적으로 포함할 수 있다.On the other hand, the traffic analysis system may further include a statistical analysis unit for analyzing and statistics the user-generated packets for each analysis target service classified by the traffic analysis unit.

한편 상기 분류대상패킷은 사용자가 발생시킨 패킷들 중 특정조건을 만족할 때 병합 생성되는 플로우 중에서 샘플로 선택된 일정 개수의 패킷일 수 있다.Meanwhile, the packet to be classified may be a predetermined number of packets selected as samples from among flows generated by merging when a specific condition among packets generated by a user is satisfied.

여기서 상기 플로우에서 분류대상패킷은 10개 내외인 것을 특징으로 한다.In this flow, the classification target packet is characterized in that about 10 or so.

한편 상기와 같은 본 발명의 패킷의 시그너처 분석을 통한 트래픽 분석 시스템을 이용한 트래픽 분석 방법은
a) 패턴수집 및 분석부를 이용하여 인터넷 분석대상서비스별 발생 패킷을 수집하고 분석하여 패킷의 시그너처를 도출하는 단계,
b) 트래픽수집부를 이용하여 사용자에 의해 발생된 트래픽 플로우로부터 상기 트래픽 플로우에 포함된 패킷의 순서를 기준으로 소정 개수의 분류대상패킷을 추출하는 단계, 및
On the other hand, the traffic analysis method using the traffic analysis system through the signature analysis of the packet of the present invention as described above
a) deriving the signature of the packet by collecting and analyzing the generated packets for each service to be analyzed using the pattern collecting and analyzing unit;
b) extracting a predetermined number of classified packets based on the order of packets included in the traffic flow from the traffic flow generated by the user using the traffic collecting unit; and

c) 트래픽분석부를 이용하여 상기 시그너처 위치정보를 이용하여 상기 분류대상패킷의 페이로드의 특정 위치에서 상기 시그너처를 검색하고, 상기 검색결과 상기 분류대상패킷의 페이로드에서 상기 시그너처가 검색되면 상기 플로우를 상기 시그너처가 포함된 분석대상서비스의 플로우로 분류하는 단계를 포함한 것을 특징적 구성으로 한다.c) search for the signature at a specific position of the payload of the packet to be classified using the signature location information using the traffic analysis unit; and if the signature is found in the payload of the packet to be classified, the flow is detected. Characterized in that it comprises the step of classifying the flow of the analysis target service containing the signature.

삭제delete

삭제delete

그런데 상기 트래픽 분석 시스템은 상기 b)에서 패턴변환부를 이용하여 상기 패턴수집 및 분석부에서 도출된 분석대상서비스별 발생 패킷의 시그너처를 정규식 형태로 변환하여 데이터베이스에 구축하는 단계를 추가적으로 포함으로써 상기 c)단계에서 상기 트래픽분석부로 하여금 정규식을 이용하여 분류대상패킷 내의 시그너처의 존재여부를 검색할 수 있도록 할 수 있다.The traffic analysis system further includes the step of converting the signature of the generated packet for each analysis target service derived from the pattern collecting and analyzing unit into a regular expression form by using the pattern converting unit in b) and constructing it in a database. In the step, the traffic analysis unit may enable the search for the presence of a signature in the packet to be classified using a regular expression.

그리고 상기 트래픽 분석 시스템은 c)에서 분석대상서비스별 발생 패킷의 시그너처가 분류대상패킷에서 검색되지 않을 경우 상기 분류대상패킷의 포트번호를 이용하여 분류대상패킷의 응용 분류를 재수행하는 c') 단계;를 추가적으로 포함할 수 있다.And c)) re-applying the classification of the packet to be classified using the port number of the packet to be classified if the signature of the packet generated by the analysis service is not detected in the packet to be classified in c). It may further include.

한편 상기 트래픽 분석 시스템은 d) 통계분석부를 이용하여 상기 트래픽분석부에서 분류된 분석대상서비스별 사용자 발생 패킷을 분석하고 통계화하는 단계를 추가적으로 포함할 수 있다.On the other hand, the traffic analysis system may further include the step of analyzing and statistically analyzing the user-generated packet for each analysis target service classified by the traffic analysis unit using the statistical analysis unit.

그리고 상기 트래픽 분석 시스템은 상기 분류대상패킷이 해당 분석대상서비스의 패킷으로 분류되면, 상기 분류대상패킷의 헤더정보, 페이로드 및 부가정보를 모두 데이터베이스에 구축하여, 통계분석부로 하여금 상기 부가정보를 이용하여 통계정보에 반영할 수 있도록 하는 e) 단계를 추가적으로 포함할 수 있다.When the classified packet is classified as a packet of the corresponding analysis target service, the traffic analysis system constructs all header information, payload, and additional information of the classified packet in a database, and causes a statistical analyzer to use the additional information. And it may further include the step e) to be reflected in the statistical information.

그리고 상기 트래픽 분석 시스템은 상기 b)에서 트래픽수집부에서 패킷을 수집하고, 수집된 패킷 중 중 특정조건을 만족하는 패킷들을 플로우로 구성하고, 상기 플로우 중에서 샘플로 선택된 일정 개수의 패킷을 분류대상패킷으로 구성하는 b') 단계를 추가적으로 포함할 수 있다.The traffic analysis system collects packets from the traffic collecting unit in b), configures packets satisfying a specific condition among the collected packets into flows, and classifies a predetermined number of packets selected as samples among the flows. B ') may be additionally included.

먼저 본 발명에서 지속적으로 사용되는 용어인 패킷(packet)에 대해 도 2를 참조하여 간단히 설명하면, 상기 패킷은 트래픽을 발생시키는 가장 작은 구성단위로서, 헤더 및 페이로드로 이루어진다.First, a packet, which is a term consistently used in the present invention, will be briefly described with reference to FIG. 2. The packet is a smallest structural unit generating traffic, and includes a header and a payload.

여기서 상기 헤더에 포함된 정보는 소스어드레스, 목적지어드레스, 소스포트, 목적지포트 및 프로토콜로 이루어진다. Herein, the information included in the header is composed of a source address, a destination address, a source port, a destination port, and a protocol.

그리고 상기 페이로드는 패킷의 실제 데이터가 담겨지는 부분이다.And the payload is a portion that contains the actual data of the packet.

여기서 부가적으로 후술하는 패킷 분석 및 수집부를 통해서 패킷을 수집할 때 총패킷수, 트래픽량 및 패킷방향 등을 부가정보로 구성하여 도 2와 같이, 데이터베이스에 구축할 수 있다.In this case, when collecting packets through the packet analysis and collection unit to be described later, the total number of packets, the traffic amount, the packet direction, and the like may be configured as additional information and constructed in the database as shown in FIG. 2.

그리고 플로우(flow)란 수집된 다수개의 패킷의 헤더정보 중 동일 소스 및 목적지 어드레스, 동일 소스 및 목적지 포트, 동일프로토콜 및 동일 범위의 캡처시간을 갖는 패킷의 집합체를 말하는 것이다. The flow refers to a collection of packets having the same source and destination addresses, the same source and destination ports, the same protocol, and the same range of capture time, among the header information of the plurality of collected packets.

상기 플로우에 대해 보다 상세히 설명하면 보통 IP 네트워크에서 1Gbps 링크에서도 수초에 수백만개의 패킷이 전송되므로, 상기 수백만개의 개별적인 패킷을 모두 검색하여 분석하는 것은 시스템의 성능 상 어려운 일일 수 있다.In more detail, the flow of millions of packets is transmitted in a few seconds even on a 1 Gbps link in an IP network. Therefore, searching and analyzing all of the millions of individual packets may be difficult in terms of system performance.

따라서 상기 다수개의 패킷 중 헤더정보에서 동일한 소스 및 목적지 어드레스와, 동일한 소스 및 목적지 포트와, 동일한 프로토콜을 사용하되, 후술하는 트래픽분석 및 수집부 에서 패킷을 수집할 때 기록하는 캡처시간을 기준으로 마지막 패킷 다음에 도착한 패킷이 30초 이내에서 생성된 일련의 패킷들의 집합을 플로우로 생성시키게 된다.Therefore, the same source and destination addresses, the same source and destination ports, and the same protocol are used in the header information among the plurality of packets, but the last time is based on the capture time recorded when the packet is collected by the traffic analysis and collection unit described later. A packet that arrives after a packet will generate a set of packets in a flow within 30 seconds.

여기서 상기 플로우에서 기준 캡처시간은 반드시 30초가 아니더라도 당업자에 의해 용이하게 임의의 시간으로 변경할 수 있으며, 별도의 액티브 타임 아웃을 설정하여 기준 캡쳐시간 내에 생성된 패킷이라도 일정 시간, 즉 30분이 경과 되면, 이후 수집되는 패킷은 해당 플로우의 패킷에서 제외할 수 있다.Here, the reference capture time in the flow can be easily changed to any time by those skilled in the art even if it is not necessarily 30 seconds, even if a packet generated within the reference capture time by setting a separate active timeout, a predetermined time, that is, 30 minutes, The collected packet can be excluded from the packet of the flow.

그리고 응용(application) 분류란 특정 패킷을 해당 서비스의 패킷으로 특정하여 분류 하는 것을 말한다.Application classification refers to classifying a specific packet as a packet of a corresponding service.

그리고 본 발명에서 사용되는 검색(search)은 검색어가 피검색어의 일부에 포함된 경우와, 검색어와 피검색어의 완전 일치를 뜻하는 매치(match)인 경우를 모두 포함한 개념이다.The search used in the present invention is a concept including both a case where a search word is included in a part of a search word and a case that means a perfect match between the search word and the search word.

이하 첨부된 도면을 참조하여 본 발명의 구체적인 구성에 대하여 설명하면 다음과 같다.Hereinafter, a detailed configuration of the present invention will be described with reference to the accompanying drawings.

도 1은 본 발명에 따른 패킷의 시그너처 분석을 통한 트래픽 분석 시스템(100)의 전체 구성을 나타내는 개념도이다.1 is a conceptual diagram illustrating the overall configuration of a traffic analysis system 100 through signature analysis of a packet according to the present invention.

도 1에 도시된 바와 같이, 본 발명에 따른 패킷의 시그너처 분석을 통한 트래픽 분석 시스템(100)(이하, 발명의 상세한 설명에서는 '트래픽 분석 시스템'이라 한다)은 기본적으로 패턴수집 및 분석부(10), 패턴변환부(20), 데이터베이스(30), 트래픽 수집부(40), 트래픽분석부(50) 및 통계분석부(60) 등의 구성요소가 구비된다.As shown in FIG. 1, the traffic analysis system 100 (hereinafter, referred to as a 'traffic analysis system' in the detailed description of the present invention) through signature analysis of a packet according to the present invention is basically a pattern collecting and analyzing unit 10. ), A pattern converter 20, a database 30, a traffic collector 40, a traffic analyzer 50, and a statistical analyzer 60 are provided.

상기 패턴수집 및 분석부(10)는 인터넷(1) 서비스 별 패킷을 수집하고, 수집된 패킷의 페이로드의 패턴정보를 분석하는 역할을 한다.The pattern collecting and analyzing unit 10 collects packets for each Internet service and analyzes pattern information of payloads of the collected packets.

여기서 상기 인터넷(1) 서비스는 인터넷에서 패킷을 분석 하여 통계에 반영할 수 있는 웹, 웹 하드, P2P, Streaming, Management, 메신저 등을 지칭하며, 이하 본 발명의 명세서에서는 이를 '분석대상서비스' 라고 한다.Here, the Internet (1) service refers to the web, web hard, P2P, streaming, management, messenger, etc. that can be reflected in the statistics by analyzing the packet in the Internet, hereinafter referred to as 'analysis target service' in the specification of the present invention. do.

여기서 상기 패턴수집 및 분석부(10)는 분석대상서비스별 발생 패킷을 수집하기 위해서 사용자 퍼스널 컴퓨터(PC)(200)에서 패킷 캡처용 프로그램을 구동시킨 후 P2P를 예로 들면 edonkey, 소리바다 등과 같은 분석대상서비스를 실제로 실행시켜 사용함으로써 분석대상서비스에서 발생되는 패킷을 패킷 캡처용 프로그램이 캡처하여 수집하는 방식을 사용한다. Here, the pattern collection and analysis unit 10 runs a packet capturing program in the user's personal computer (PC) 200 to collect generated packets for each service to be analyzed, and then analyzes P2P for example, edonkey, sound sea, and the like. By actually executing and using the service, the packet capture program captures and collects packets generated from the target service.

이렇게 수집된 분석대상서비스의 패킷에는 패킷의 패턴정보(페이로드정보, 길이정보, 위치정보), 포트번호, 시스템 IP주소 와 같은 정보가 포함되어 있으며, 이를 분석시나리오를 구성하는 방법으로 분석함으로써 시그너처란 결과물을 도출하게 된다.The collected packet of the analysis target service includes information such as packet pattern information (payload information, length information, location information), port number, system IP address, and signature by analyzing the analysis scenario in a manner that constitutes an analysis scenario. Column results.

상기 분석시나리오란 분석대상서비스에서 발생하는 다양한 패킷을 수집 및 분석하기 위해 분석대상서비스의 첫 실행동작(분석대상서비스의 홈페이지 방문 및 로그인) 이후 다양한 기능(예를 들면 파일다운로드, 세부검색, 웹페이지 클릭) 등을 실제로 실행해보는 것이다. The analysis scenario is a variety of functions (for example, file download, detailed search, and webpage) after the first execution of the analysis target service (visiting and logging into the homepage of the analysis target service) to collect and analyze various packets generated by the analysis target service. Click on the keyboard).

결국 상기 분석시나리오에 의해 발생된 패킷 분석을 통해 상기 분석대상서비스가 다른 분석대상 서비스와는 구분되는 패킷의 시그너처를 도출할 수 있다.As a result, the packet analysis generated by the analysis scenario may derive a signature of a packet distinguished from other analysis services.

상기와 같이 도출된 시그너처는 The signature derived as above

1) 특정 분석대상서비스의 패킷의 페이로드에 포함된 특정 문자열일 수 있다.1) It may be a specific string included in the payload of a packet of a specific analysis target service.

예를 들어 P2P 방식 파일공유 프로그램인 BITTORRENT의 패킷의 경우 TCP 페이로드의 처음 문자열에는 19바이트로 이루어진 BITTORRENT PROTOCOL 이라는 특정 문자열을 포함한다. For example, in the case of the packet of BITTORRENT, a peer-to-peer file sharing program, the first string of the TCP payload includes a specific string called BITTORRENT PROTOCOL consisting of 19 bytes.

따라서 BITTORRENT 패킷의 시그너처로는 BITTORRENT PROTOCOL 이라는 특정 문자열로 이루어져, 만일 BITTORRENT PROTOCOL라는 문자열을 포함하는 패킷이라면, 이 패킷은 BITTORRENT서비스로 응용 분류 할 수 있다. Therefore, the signature of the BITTORRENT packet consists of a specific string called BITTORRENT PROTOCOL. If the packet contains the string BITTORRENT PROTOCOL, this packet can be classified as an BITTORRENT service.

한편 상기 시그너처는 2)개별 분석대상서비스의 패킷의 페이로드에 포함된 패킷의 길이정보일 수 있다.Meanwhile, the signature may be 2) length information of a packet included in a payload of a packet of an individual analysis target service.

예를 들어 edonkey라는 프로그램의 패킷은 1바이트의 식별자와, 4바이트로 표현되는 패킷 길이정보를 포함한다.For example, a packet of a program called edonkey includes an identifier of 1 byte and packet length information represented by 4 bytes.

따라서 edonkey의 시그너처는 전체 패킷의 길이에서 4바이트의 패킷길이와 1바이트의 식별자의 길이를 포함한 5바이트(패킷 길이정보+식별자)를 제외한 나머지 패킷의 길이가 상기 5바이트에 포함된 패킷 길이정보에 나타난 패킷의 길이와 일치하는 지 확인하는 방법을 사용하여 해당 분석대상서비스를 응용 분류 할 수 있다.Therefore, the signature of edonkey is based on the packet length information including the length of the remaining packets except for 5 bytes (packet length information + identifier) including the length of 4 bytes and the length of 1 byte in the total packet length. Application analysis can be classified by using the method of confirming that the packet length matches the indicated packet.

마지막으로 상기 시그너처는 분석대상서비스의 패킷의 페이로드에 포함된 제어메시지(키워드) 또는 그들의 조합으로 이루어질 수 있다.Finally, the signature may consist of a control message (keyword) included in the payload of the packet of the analysis target service or a combination thereof.

예를 들어 분산형 P2P 프로토콜인 Gnutella의 경우 파일 다운로드는 HTTP와 비슷한 프로토콜을 사용하여 이루어진다. 따라서 페이로드에 포함된 TCP 연결에 사용되는 제어메시지의 메시지(키워드)들을 검색함으로써 서비스의 응용 분류를 할 수 있다.For example, Gnutella, a distributed P2P protocol, uses a protocol similar to HTTP. Therefore, the application classification of the service can be performed by retrieving the messages (keywords) of the control message used for the TCP connection included in the payload.

상기와 같은 Gnutella의 제어메시지의 경우 TCP연결을 위한 요청메시지(request message)는 CONNECT<protocol version string>/n/n 이 되고, TCP연결을 위한 응답메시지(response message)는 Gnutella ok/n/n 이 되며, 파일 다운로드를 위한 초기 요청메시지(request message)는 GET/get/<file index>/<file name> 이 되고, reply 메시지를 위한 HTTP response header는 HTTP 200 OK/r/n이 된다.In the case of the control message of Gnutella as described above, the request message for the TCP connection is CONNECT <protocol version string> / n / n, and the response message for the TCP connection is Gnutella ok / n / n. The initial request message for file download is GET / get / <file index> / <file name>, and the HTTP response header for the reply message is HTTP 200 OK / r / n.

따라서 상기 제어메시지(키워드) 또는 제어메시지(키워드)들의 조합이 Gnutell의 시그너처가 되는 것이다.Therefore, the control message (keyword) or a combination of control messages (keyword) becomes the signature of Gnutell.

상기와 같이 패턴수집 및 분석부(10)에서 수집 및 분석된 분석대상서비스의 패킷의 시그너처는 패킷 내에서 위치가 가변적인 경우가 많고, 이럴 경우 시그너처의 특정이 어려울 수 있다.As described above, the signature of the packet of the analysis target service collected and analyzed by the pattern collecting and analyzing unit 10 may be variable in the location of the packet, and in this case, the signature may be difficult to specify.

따라서 패턴수집 및 분석부에서 도출된 분석대상서비스별 발생 패킷의 시그너처를 정규식 형태로 변환하여 데이터베이스에 구축하는 패턴변환부(20)를 구비하게 된다.Accordingly, the pattern conversion unit 20 converts the signature of the generated packet for each analysis target service derived from the pattern collection and analysis unit into a regular expression form and constructs it in a database.

여기서 정규식은 특정문자의 집합 또는 문자열을 기호를 이용하여 표현하는 공지된 기술 사상을 통해 쉽게 구해질 수 있다.Here, the regular expression can be easily obtained through a known technical idea of expressing a set or character string of a specific character by using a symbol.

이러한 정규식은 상기 시그너처의 수량, 위치 및 종류를 나타내는 하나 이상의 식별자와 시그너처의 조합으로 이루어져 사용자 발생 패킷에서 상기 시그너처가 존재하는 지 여부를 판단하는 일종의 검색식으로 활용된다.The regular expression is composed of a combination of one or more identifiers and signatures representing the quantity, location and type of the signature, and is used as a kind of search expression for determining whether the signature exists in a user-generated packet.

여기서 시그너처의 종류(class)란 각각의 문자들을 하나 하나 지정하는 대신에 가능한 문자들의 범위를 지정하는 것을 말한다. 예를 들어, j에서 z사이의 어떤 문자와도 일치하기를 원한다면, 대괄호를 사용하여 j-z의 범위를 지정할 수 있다.Here, the signature class refers to specifying a range of possible characters instead of specifying each character one by one. For example, if you want to match any character between j and z, you can use brackets to specify the range of j-z.

상기와 같은 정규식의 식별자 중 일예를 들면 다음과 같다.For example, the identifier of the regular expression as described above is as follows.

^ : 라인의 처음이나 문자열의 처음을 표시한다. 예를 들면 ^aaa의 경우 문자열의 처음에 aaa를 포함하면 검색이 되고, 그렇지 않으면 검색되지 않는다.^: Mark the beginning of a line or the beginning of a string. For example, if you include aaa at the beginning of the string, ^ aaa will be searched, otherwise it will not be searched.

. : 임의의 한 문자를 표시한다. 예를 들면 ^a.c의 경우 문자열의 처음에 abc, adc를 포함하면 검색되고, aa를 포함하면 검색되지 않는다.. : Display one random character. For example, ^ a.c will be searched if you include abc, adc at the beginning of the string, and not aa.

$ : 라인의 끝이나 문자열의 끝을 표시한다. 예를 들면 aaa$의 경우 문자열의 끝에 aaa를 포함하면 검색되고, aaa를 포함하지 않으면 검색되지 않는다.$: Mark end of line or end of string. For example, aaa $ would be searched if you included aaa at the end of the string, and not aaa.

상기와 같은 식별자를 이용하여 시그너처를 정규식으로 구성하면 다음과 같다.When the signature is configured as a regular expression using the above identifier, it is as follows.

앞서 설명한 BitTorrent의 정규식은 The regular expression in BitTorrent described earlier

BitTorrent: ^\x13bittorrent protocol이 되고,BitTorrent: becomes ^ \ x13bittorrent protocol,

Gnutella의 정규식은 ^(gnd[\x01\x02]?.?.?\x01|gnutella connect/[012]\.[0-9]\x0d\x0a|get /urires/n2r\?urn:sha1:|get /.*user-agent: (gtkgnutella|bearshare|mactella|gnucleus|gnotella|limewire|imesh)|get /.*content-type:application/x-gnutella-packets|giv [0-9]*:[0-9a-f]*/|queue [0-9a-f]* [1-9][0-9]?[0-9]?\.[1-9][0-9]?[0-9]?\.[1-9][0-9]?[0-9]?\.[1-9][0-9]?[0-9]?:[1-9][0-9]?[0-9]?[0-9]?|gnutella.*content-type: application/x-gnutella|..................lime)이 된다.Gnutella's regular expression is ^ (gnd [\ x01 \ x02]?.?.? \ X01 | gnutella connect / [012] \. [0-9] \ x0d \ x0a | get / urires / n2r \? Urn: sha1: get /.*user-agent: (gtkgnutella | bearshare | mactella | gnucleus | gnotella | limewire | imesh) | get /.*content-type:application/x-gnutella-packets|giv [0-9] *: [ 0-9a-f] * / | queue [0-9a-f] * [1-9] [0-9]? [0-9]? \. [1-9] [0-9]? [0 -9]? \. [1-9] [0-9]? [0-9]? \. [1-9] [0-9]? [0-9]?: [1-9] [0 -9]? [0-9]? [0-9]? | Gnutella. * Content-type: application / x-gnutella | .................. lime) Becomes

상기와 같이 시그너처에 다양한 식별자를 조합하여 정규식으로 구성하는 것은 이미 공지된 기술이므로 상세한 설명은 생략한다.As described above, since a variety of identifiers are combined with the signature to constitute a regular expression, a detailed description thereof will be omitted.

상기와 같이 패턴변환부(20)에 의해 분석대상서비스별로 발생 패킷에 대한 시그너처가 분석되고 정규식으로 데이터베이스(30)에 구축되면, 본 발명의 트래픽 분석을 위한 전처리가 마감되는 것이다.As described above, when the signature for the generated packet is analyzed for each service to be analyzed by the pattern conversion unit 20 and constructed in the database 30 by a regular expression, the preprocessing for traffic analysis of the present invention is finished.

한편 사용자가 발생시키는 분류대상패킷을 실시간으로 수집하고 분석하기 위해 트래픽 수집부(40)를 구비한다.Meanwhile, a traffic collector 40 is provided to collect and analyze the classification target packet generated by the user in real time.

상기 트래픽 수집부(40)는 사용자가 실시간으로 발생하는 트래픽을 통신의 영향이 없도록 복사하여 수집하는 공지된 기술인 탭(tap) 또는 미러링(mirroring) 장치 등을 이용하여 구현한다.The traffic collecting unit 40 is implemented by using a tap or mirroring device, which is a known technique for copying and collecting traffic generated in real time without influence of communication.

여기서 본 발명의 명세서의 용어 설명에 기재한 것처럼, 본 발명의 상기 트래픽 수집부(40)는 수집된 패킷 중 특정조건을 만족함에 따라 별도의 플로우생성부(도시되지 않음)에 의해서 생성된 패킷의 집합체인 플로우에서 샘플로 선택된 일정 개수의 분류대상패킷을 통해서 본 발명의 해당 서비스로의 응용 분류를 하게 된다.Here, as described in the terminology of the specification of the present invention, the traffic collection unit 40 of the present invention is a packet generated by a separate flow generation unit (not shown) in accordance with a specific condition of the collected packets The application classification to the corresponding service of the present invention is performed through a predetermined number of classification target packets selected as samples in the flow of the aggregate chain.

이는 상기 플로우에서 몇 개의 패킷을 분류대상패킷으로 분석하면 시스템의 성능상 효과적일 지를 실험을 통해 판단하여 일정 개수의 분류대상패킷의 페이로드 정보를 분석하여, 분석된 분류대상패킷의 페이로드 정보를 해당 플로우의 페이로드 정보로 특정하게 된다.This method analyzes the payload information of a certain number of classified packets by analyzing whether the number of packets in the flow is analyzed by the experiment to determine whether the system is effective in performance. This is specified by the payload information of the flow.

이 때 상기 분류대상패킷은 보통 플로우에서 10개 내외로 구성되는데, 이는 후술하는 패턴 검색 시 패킷의 수가 너무 많으면 미분류 패킷을 줄여 응용 분류의 비율을 높이는 장점이 있으나, 많은 시스템 자원과 시간이 소요되는 문제점이 있으므로, 한 플로우에서 10개 내외의 분류대상패킷을 선택하는 것이 바람직하나, 상기 분석대상패킷의 개수는 분석시스템의 설계에 따라 다양한 개수로 적용이 가능하다.At this time, the classification target packet is usually composed of about 10 in the flow, which has the advantage of increasing the ratio of the application classification by reducing the unclassified packet if the number of packets too many patterns to be described later, but it takes a lot of system resources and time Since there is a problem, it is preferable to select about 10 classification target packets in one flow, but the number of analysis target packets can be applied in various numbers according to the design of the analysis system.

일반적으로 상기 플로우의 앞쪽의 패킷의 페이로드에 주로 시그너처가 존재하므로, 상기 분류대상패킷은 주로 플로우 앞쪽 패킷이 해당되고 이를 위주로 분석하되, 앞쪽 패킷의 길이가 최소 바이트보다 작을 경우 뒤쪽 패킷을 분석하지는 않으며 헤더만으로 존재하는 패킷은 제외하고 페이로드가 있는 패킷을 기준으로 10개의 패킷을 순서대로 검색하게 된다.In general, signatures mainly exist in the payload of a packet in front of the flow, and thus, the packet to be classified mainly analyzes the packet in front of the flow, and analyzes the packet mainly in the case where the front packet is smaller than the minimum byte. In addition, 10 packets are searched in order based on the packet with payload except the packet existing only in the header.

이어서, 상기와 같이 구성된 플로우에서 트래픽 수집부(40)가 사용자 발생 분류대상패킷을 수집하게 되면, 상기 분류대상패킷은 페이로드에 대한 패턴 검색을 통한 해당 응용 분류가 시작된다.Subsequently, when the traffic collecting unit 40 collects a user-generated classification target packet in the flow configured as described above, the classification target packet starts a corresponding application classification through a pattern search for a payload.

상기와 같은 패턴 검색을 통한 분류대상패킷은 응용 분류를 위해 트래픽분석부(50)를 구비한다.The classification target packet through the pattern search as described above includes a traffic analysis unit 50 for application classification.

상기 트래픽분석부(50)는 데이터베이스(30)에 구축된 분석대상서비스별 시그너처의 정규식을 이용하여 분석대상서비스별 발생 패킷의 시그너처가 사용자가 발생시킨 분류대상패킷의 페이로드에 존재하는지 여부를 검색하는 패턴 검색을 수행하게 된다.The traffic analysis unit 50 searches whether the signature of the packet generated by the analysis target service exists in the payload of the classification target packet generated by the user using a regular expression of the signature for each analysis target service built in the database 30. Pattern search will be performed.

상기 시그너처 및 정규식과의 패턴 검색은 바람직하게는 RegEx라이브러리를 이용하여 구현하게 되며, 이는 공지된 기술이므로 상세한 설명은 생략하도록 한다.The pattern search with the signature and regular expression is preferably implemented using the RegEx library, which is a well-known technique, and thus detailed description thereof will be omitted.

위와 같은 트래픽분석부(50)의 패턴 검색에 따라 분석대상서비스별 발생 패킷의 시그너처가 분류대상패킷의 페이로드에서 검색되면, 해당 분류대상패킷은 해당 분석대상서비스에 속한다고 특정하고, 해당 분석대상서비스로 응용 분류를 하는 것이다. According to the pattern search of the traffic analysis unit 50 as described above, if the signature of the generated packet for each analysis service is detected in the payload of the packet to be classified, the corresponding packet to be classified belongs to the service to be analyzed, and the corresponding analysis object The application is classified as a service.

그러나 분석대상서비스별 발생 패킷의 시그너처가 분류대상패킷에서 검색되지 않을 경우 분류대상패킷의 헤더에 기록된 포트번호를 이용하여 다시 분류대상패킷을 분석 하게 된다.However, if the signature of the packet generated by the analysis service is not detected in the packet to be classified, the packet to be classified is analyzed again using the port number recorded in the header of the packet to be classified.

여기서 상기 분류대상패킷의 헤더에 기록된 포트번호가 알려진 웰노운(Well-known) 포트는 제한된 유명한 응용에만 할당되고 보통의 응용은 웰노운 포트를 할당받을 수 없다. 따라서 웰노운 포트번호일 경우 분류대상패킷은 해당 분석대상서 비스로의 패킷으로 응용 분류하고, 헤더에 기록된 포트번호가 웰노운 포트번호가 아닐 경우 해당 분류대상패킷은 미분류 트래픽으로 특정한다.Here, the well-known port whose port number recorded in the header of the classification packet is known is assigned only to a limited famous application, and the general application cannot be assigned a well-known port. Therefore, in the case of the well-known port number, the classified target packet is classified as an application packet to the corresponding analysis target service. If the port number recorded in the header is not the well-known port number, the classified packet is specified as unclassified traffic.

이와 같이 분류대상패킷의 응용분류가 성공한 경우, 상기 트래픽분석부는 응용 분류가 성공된 분류대상패킷의 헤더정보, 페이로드와, 패킷 수집 및 분석부에서 패킷을 수집할 때 기록한 총패킷수, 트래픽량, 패킷방향 등을 부가정보로 구성하고 이를 모두 데이터베이스에 구축하여, 후술하는 통계분석부로 하여금 상기 부가정보를 이용하여 분류별 통계정보에 반영할 수 있도록 한다.When the application classification of the packet to be classified is successful as described above, the traffic analyzer analyzes the header information, the payload of the packet to be classified successfully, and the total number of packets and the traffic volume recorded when the packet is collected by the packet collection and analysis unit. , Packet direction, etc. are configured as additional information, and all of them are constructed in a database so that the statistical analysis unit described later can be reflected in the statistical information for each classification using the additional information.

한편 상기 트래픽분석부(50)에서 사용자가 발생한 분석대상서비스별 발생 패킷을 분석하여 통계화하는 통계분석부(60)를 구비한다.On the other hand, the traffic analysis unit 50 is provided with a statistical analysis unit 60 for analyzing and statistically generating the packet generated by the analysis target service generated by the user.

상기 통계분석부(60)는 응용 분류가 성공된 패킷의 헤더정보, 페이로드 및 부가정보를 이용하여 서비스별 통계(패킷 수, 패킷 방향, 트래픽량, 포트 별 사용 통계)와, 서비스군 별 통계(P2P서비스계열, 웹하드 서비스 계열, 메신저 별 계열)등의 데이터를 제공하게 된다.The statistical analysis unit 60 uses the header information, payload and additional information of the packet whose application classification is successful, and statistics for each service (packet number, packet direction, traffic volume, port usage statistics), and service group statistics. It provides data such as P2P service series, web hard service series, and messenger series.

상기와 같은 트래픽 분석 시스템을 이용한 본 발명에 따른 패킷의 패턴분류 및 분석을 통한 트래픽 분석 방법을 도 3을 참조하여 설명하면 다음과 같다.A traffic analysis method through pattern classification and analysis of a packet according to the present invention using the traffic analysis system as described above will be described with reference to FIG. 3.

먼저 패턴수집 및 분석부(10)를 이용하여 인터넷 분석대상서비스별 발생 패킷을 수집하고(S100), 분석하여 패킷의 시그너처를 도출하며(S102), 패턴변환부(20)를 이용하여 상기 패턴수집 및 분석부(10)에서 도출된 분석대상서비스별 발생 패킷의 시그너처를 정규식 형태로 변환하여(S104) 데이터베이스(30)에 구축하게 된다.First, by using the pattern collecting and analyzing unit 10 to collect the packet generated by the Internet analysis target service (S100), and to analyze the signature of the packet to derive (S102), using the pattern converter 20 to collect the pattern And the signature of the packet generated by the analysis target service derived from the analysis unit 10 is converted into a regular expression form (S104) is built in the database 30.

이어서 트래픽 수집부(40)를 이용하여 사용자가 발생시키는 패킷을 수집하고 분석하며(S106), 상기 패킷이 이미 생성된 플로우에 속하는 지를 판단하여(S108), 이미 생성된 플로우에 속하지 않는다면 플로우를 생성하여(S110), 해당 플로우의 분류대상패킷에 대해 시그너처와의 매칭을 수행한다.(S112)Next, the user collects and analyzes the packet generated by the user using the traffic collecting unit 40 (S106), determines whether the packet belongs to the already generated flow (S108), and generates a flow if it does not belong to the already generated flow. (S110), the matching with the signature is performed on the packet to be classified of the flow.

여기서 상기 (S108)에서 상기 패킷이 이미 생성된 플로우에 속한다면, 바로 해당 플로우의 분류대상패킷에 대해 시그너처와의 매칭을 수행한다.(S112)If the packet belongs to a flow that has already been generated in step S108, matching with a signature is performed on the packet to be classified in the flow.

상기 (S112)에서 분류대상패킷 및 시그너처 간의 검색 결과 일치하는 패턴이 있다면 해당 플로우는 특정 분석대상서비스로의 응용 분류를 하게 되고(S116) 플로우의 종료체크를 한다.(S118)If there is a pattern matching the search result between the classification target packet and the signature in step (S112), the corresponding flow classifies the application to a specific analysis target service (S116) and checks the end of the flow (S118).

그러나 상기 (S112)에서 분류대상패킷 및 시그너처 간의 검색 결과 일치하는 패턴이 없다면 플로우의 패턴 검색은 종료되어 플로우 종료체크를 한다.(S118)However, if there is no pattern matching the search result between the classification target packet and the signature in step S112, the pattern search of the flow is terminated and the flow end check is performed (S118).

다음으로 상기 종료 체크된 플로우가 응용 분류가 끝난 플로우인지를 파악하여(S120), 응용 분류가 되지 않은 플로우인 경우 포트번호를 이용하여 재검색을 수행하여(S122), 상기 분류대상패킷의 포트번호가 웰노운 포트번호인지 아닌지를 판단하고(S124), 판단 결과 웰노운 포트번호일 경우 해당 분석대상서비스로 응용 분류를 하고(S126), 웰노운 포트번호가 아닐 경우 해당 플로우는 미분류 설정을 하게 된다.(S125)Next, the flow checks whether the end-checked flow is the application classification flow (S120), and if the flow is not the application classification, rescans using the port number (S122), and the port number of the packet to be classified is classified. It is determined whether or not the well-known port number (S124), if the determination result is the well-known port number, the application is classified as the analysis target service (S126), and if not the well-known port number, the flow is set to unclassified. (S125)

그러나 상기 (S120)에서 응용 분류가 끝난 플로우인 경우 바로 종료된다.However, in the case of the flow of application classification in the step (S120) immediately ends.

마지막으로 통계분석부(60)로 하여금 데이터베이스에 구축된 분류대상패킷의 헤더정보, 페이로드 및 부가정보를 이용하여 분류별 통계정보에 반영할 수 있도록 하고, 특정된 사용자가 발생한 분석대상서비스별 트래픽을 분석하여 통계화하는 작업을 수행하게 한다.Finally, the statistical analysis unit 60 may be reflected in the statistical information for each classification by using the header information, payload, and additional information of the packet to be classified in the database. Analyzes and statistics.

이상, 본 발명은 비록 한정된 구성과 도면에 의해 설명되었으나, 본 발명의 기술적 사상은 이러한 것에 한정되지 않으며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해, 본 발명의 기술적 사상과 하기 기재될 특허청구범위의 균등범위 내에서 다양한 수정 및 변형 실시가 가능할 것이다. As mentioned above, although the present invention has been described by means of a limited configuration and drawings, the technical idea of the present invention is not limited to the above, and by those skilled in the art to which the present invention pertains, Various modifications and variations may be made without departing from the scope of the appended claims.

상기와 같은 구성에 의한 본 발명에 따르면, According to the present invention by the above configuration,

본 발명은 분석대상서비스별 발생 패킷을 수집 및 분석하여 패킷의 시그너처를 도출하고, 상기 시그너처가 사용자가 발생시킨 분류대상패킷의 페이로드에서 검색되면, 실시간으로 상기 분류대상패킷을 해당 분석대상서비스의 패킷으로 응용 분류하게 된다.The present invention collects and analyzes generated packets for each analysis target service to derive a signature of the packet, and when the signature is retrieved from the payload of the classification target packet generated by the user, the classified packets are retrieved in real time. The application is classified into packets.

따라서 종래와 같이 포트번호로 패킷으로 응용 분류를 하였을 때에는 미분류 트래픽이 전체 트래픽의 19.7%를 차지하나, 본 발명의 패킷의 시그너처를 이용하여 응용 분류를 하게 되면, 이 비율이 11%로 줄어들고, 포트번호로는 분류가 불가능했던 P2P 및 웹 하드 트래픽을 분류할 수 있게 하여 높은 정확도로 트래픽을 분류할 수 있는 효과를 발휘할 수 있다.Therefore, when classifying an application by packet number using a conventional port number, unclassified traffic occupies 19.7% of the total traffic. However, when the application classification is performed using the signature of the packet of the present invention, the ratio is reduced to 11%. By classifying P2P and web hard traffic that could not be classified by number, it is possible to classify traffic with high accuracy.

또한 본 발명은 분석대상서비스의 발생 패킷의 시그너처의 수량, 위치 및 종류를 나타내는 식별자와 상기 시그너처의 조합으로 이루어진 정규식을 통해 사용자 발생 분류대상패킷과의 패턴 검색을 수행한다.In addition, the present invention performs a pattern search with a user-generated classification target packet through a regular expression consisting of a combination of the signature and the identifier indicating the number, location and type of the signature of the occurrence packet of the analysis target service.

따라서 상기 시그너처가 페이로드 내에서 고정된 위치에 배치되는 경우와, 가변적인 위치에 배치되는 경우까지 보다 빠른 속도로 패턴 검색할 수 있어서, 시스템에 무리를 주지 않고, 신속한 트래픽의 측정을 가능하게 하는 효과를 발휘할 수 있다.Accordingly, the signature can be searched at a faster speed until the signature is placed at a fixed position in the payload and at a variable position, thereby enabling quick measurement of traffic without burdening the system. It can be effective.

또한 사용자가 발생한 패킷을 모두 검사하는 방식이 아니라 사용자가 발생시킨 패킷들 중 특정조건을 만족할 때 병합 생성되는 플로우 중에서 샘플로 선택된 일정 개수의 패킷만을 분류대상패킷으로 선정하여 응용 분류를 하므로 시스템에 무리를 주지 않고, 신속한 트래픽 측정을 할 수 있는 효과를 발휘할 수 있다.In addition, the system classifies the application by selecting only a certain number of packets selected as samples from among flows generated by merging when the user meets a specific condition among the packets generated by the user, as a classification target packet. It is possible to exert the effect of making a quick traffic measurement without the need.

또한 본 발명은 시그너처 검색 결과, 분석대상서비스별 발생 패킷의 시그너처가 분류대상패킷에 존재하지 않을 경우 보조적으로 분류대상패킷의 헤더정보에 포함된 포트번호를 이용하여 다시 응용 분류를 재수행하므로, 응용 분류의 정확도를 배가시킬 수 있는 효과를 발휘할 수 있다.In addition, the present invention, if the signature search result, the signature of the packet generated by the analysis target service does not exist in the packet to be classified, the application is again performed using the port number included in the header information of the packet to be classified again, The effect can double the accuracy of the classification.

Claims (14)

분석대상서비스별 발생 패킷을 수집하고 분석하여 패킷의 시그너처를 도출하여 상기 시그너처와 상기 시그너처 위치정보를 저장하는 패턴수집 및 분석부;A pattern collection and analysis unit for collecting the generated packets for each analysis target service and deriving signatures of the packets to store the signatures and the signature location information; 사용자에 의해 발생된 트래픽 플로우로부터 상기 트래픽 플로우에 포함된 패킷의 순서를 기준으로 소정 개수의 분류대상패킷을 추출하는 트래픽수집부; 및A traffic collecting unit for extracting a predetermined number of classification target packets based on the order of packets included in the traffic flow from the traffic flow generated by the user; And 상기 시그너처 위치정보를 이용하여 상기 분류대상패킷의 페이로드의 특정 위치에서 상기 시그너처를 검색하고, 상기 검색결과 상기 분류대상패킷의 페이로드에서 상기 시그너처가 검색되면 상기 플로우를 상기 시그너처가 포함된 분석대상서비스의 플로우로 분류하는 트래픽분석부를 포함한 것을 특징으로 하는 패킷의 시그너처 분석을 통한 트래픽 분석 시스템.The signature is searched for at a specific position of the payload of the packet to be classified using the signature position information. When the signature is found at the payload of the packet to be classified, the analysis object is included in the flow. Traffic analysis system through the signature analysis of the packet comprising a traffic analysis unit for classifying the flow of the service. 제1항에 있어서,The method of claim 1, 상기 시그너처는 개별 분석대상서비스의 패킷의 페이로드에 포함된 특정 문자열인 것을 특징으로 하는 패킷의 시그너처 분석을 통한 트래픽 분석 시스템.The signature is a traffic analysis system through the signature analysis of the packet, characterized in that the specific string included in the payload of the packet of the individual analysis target service. 제1항에 있어서,The method of claim 1, 상기 시그너처는 개별 분석대상서비스의 패킷의 페이로드에 포함된 패킷의 길이정보인 것을 특징으로 하는 패킷의 시그너처 분석을 통한 트래픽 분석 시스템.The signature is a traffic analysis system through the signature analysis of the packet, characterized in that the length information of the packet included in the payload of the packet of the individual analysis target service. 제1항에 있어서,The method of claim 1, 상기 시그너처는 개별 서비스의 패킷의 페이로드에 포함된 패킷의 송수신 시 사용되는 제어메시지인 것을 특징으로 하는 패킷의 시그너처 분석을 통한 트래픽 분석 시스템.The signature is a traffic analysis system through the signature analysis of the packet, characterized in that the control message used when transmitting and receiving the packet included in the payload of the packet of the individual service. 제1항 내지 제4항 중 어느 하나의 항에 있어서,The method according to any one of claims 1 to 4, 상기 시그너처를 정규식 형태로 변환하여 데이터베이스에 구축함으로써, 상기 트래픽분석부로 하여금 정규식을 이용하여 분류대상패킷 내의 시그너처의 존재여부를 검색할 수 있도록 하는 패턴변환부를 추가적으로 포함한 것을 특징으로 하는 패킷의 시그너처 분석을 통한 트래픽 분석 시스템.By converting the signature into a regular expression form and building in a database, the signature analysis of the packet further comprises a pattern conversion unit for allowing the traffic analysis unit to search for the presence of the signature in the packet to be classified using the regular expression. Traffic analysis system. 제5항에 있어서,The method of claim 5, 상기 정규식은 상기 시그너처의 수량, 위치 또는 종류 중 어느 하나 이상을 나타내는 식별자와 상기 시그너처의 조합으로 이루어진 것을 특징으로 하는 패킷의 시그너처 분석을 통한 트래픽 분석 시스템.The regular expression is a traffic analysis system through the signature analysis of the packet, characterized in that the combination of the signature and the identifier indicating any one or more of the quantity, location or type of the signature. 제1항에 있어서,The method of claim 1, 상기 트래픽분석부에서 분류된 분석대상서비스별 사용자 발생 패킷을 분석하고 통계화하는 통계분석부를 추가적으로 포함한 것을 특징으로 하는 패킷의 시그너처 분석을 통한 트래픽 분석 시스템.Traffic analysis system through the signature analysis of the packet characterized in that it further comprises a statistical analysis unit for analyzing and statistically analyzing the user-generated packets for each analysis service classified by the traffic analysis unit. 제1항에 있어서,The method of claim 1, 상기 분류대상패킷은 상기 트래픽 플로우에 포함된 패킷 중 첫번째 패킷부터 소정 번째 패킷으로 결정되는 것을 특징으로 하는 The classification target packet is determined as a predetermined first packet from the first packet among the packets included in the traffic flow. 패킷의 시그너처 분석을 통한 트래픽 분석 시스템.Traffic analysis system through signature analysis of packets. a) 패턴수집 및 분석부를 이용하여 인터넷 분석대상서비스별 발생 패킷을 수집하고 분석하여 패킷의 시그너처를 도출하는 단계;a) deriving a signature of a packet by collecting and analyzing generated packets for each service to be analyzed using the pattern collecting and analyzing unit; b) 트래픽수집부를 이용하여 사용자에 의해 발생된 트래픽 플로우로부터 상기 트래픽 플로우에 포함된 패킷의 순서를 기준으로 소정 개수의 분류대상패킷을 추출하는 단계; 및b) extracting a predetermined number of classification packets based on the order of packets included in the traffic flow from the traffic flow generated by the user using the traffic collecting unit; And c) 트래픽분석부를 이용하여 상기 시그너처 위치정보를 이용하여 상기 분류대상패킷의 페이로드의 특정 위치에서 상기 시그너처를 검색하고, 상기 검색결과 상기 분류대상패킷의 페이로드에서 상기 시그너처가 검색되면 상기 플로우를 상기 시그너처가 포함된 분석대상서비스의 플로우로 분류하는 단계;를 포함한 것을 특징으로 하는 패킷의 시그너처 분석을 통한 트래픽 분석 방법.c) search for the signature at a specific position of the payload of the packet to be classified using the signature location information using the traffic analysis unit; and if the signature is found in the payload of the packet to be classified, the flow is detected. Classifying the signature into a flow of an analysis target service including the signature; and analyzing the traffic of the packet through the signature analysis. 제9항에 있어서,The method of claim 9, 상기 a)에서In a) a') 패턴변환부를 이용하여 상기 패턴수집 및 분석부에서 도출된 분석대상서비스별 발생 패킷의 시그너처를 정규식 형태로 변환하여 데이터베이스에 구축하는 단계를 추가적으로 포함함으로써, 상기 c) 단계에서 상기 트래픽분석부로 하여금 정규식을 이용하여 분류대상패킷 내의 시그너처의 존재여부를 검색할 수 있도록 한 것을 특징으로 하는 패킷의 시그너처 분석을 통한 트래픽 분석 방법.a ') converting the signature of the generated packet for each analysis target service derived from the pattern collecting and analyzing unit into a regular expression using a pattern converting unit, and constructing the signature in a database; Traffic analysis method through the signature analysis of the packet, characterized in that to enable the search for the presence of the signature in the packet to be classified using a regular expression. 제9항 또는 제10항에 있어서,The method of claim 9 or 10, c') 상기 c)에서 상기 분류대상패킷의 페이로드의 특정 위치에서 상기 시그너처를 검색한 결과, 상기 분류대상패킷의 페이로드에서 상기 시그너처가 검색되지 않으면 상기 분류대상패킷의 포트번호를 이용하여 상기 분류대상패킷의 응용 분류를 재수행하는 단계를 추가적으로 포함한 것을 특징으로 하는 패킷의 시그너처 분석을 통한 트래픽 분석 방법.c ') searching for the signature at a specific position of the payload of the packet to be classified in step c), if the signature is not found in the payload of the packet to be classified, using the port number of the packet to be classified; Traffic analysis method through the signature analysis of the packet further comprising the step of re-executing the application classification of the packet to be classified. 제9항에 있어서,The method of claim 9, d) 통계분석부를 이용하여 상기 트래픽분석부에서 분류된 분석대상서비스별 사용자 발생 패킷을 분석하고 통계화하는 단계를 추가적으로 포함한 것을 특징으로 하는 패킷의 시그너처 분석을 통한 트래픽 분석 방법.d) traffic analysis method through the signature analysis of the packet, characterized in that it further comprises the step of analyzing the user-generated packet for each analysis target service classified by the traffic analysis unit using a statistical analysis unit. 제9항 또는 제10항에 있어서,The method of claim 9 or 10, e) 상기 분류대상패킷이 해당 분석대상서비스의 패킷으로 분류되면, 상기 분류대상패킷의 헤더정보, 페이로드 및 부가정보를 모두 데이터베이스에 구축하여, 통계분석부로 하여금 상기 부가정보를 이용하여 통계정보에 반영할 수 있도록 하는 단계를 추가적으로 포함한 것을 특징으로 하는 패킷의 시그너처 분석을 통한 트래픽 분석 방법.e) When the classified packet is classified as a packet of the corresponding analysis target service, all header information, payload, and additional information of the classified packet are constructed in a database, and the statistical analysis unit uses the additional information to provide statistical information. Traffic analysis method through the signature analysis of the packet, characterized in that it further comprises the step of reflecting. 제9항에 있어서,The method of claim 9, 상기 b)에서 In b) 상기 분류대상패킷은 상기 트래픽 플로우에 포함된 패킷 중 첫번째 패킷부터 소정 번째 패킷으로 결정되는 것을 특징으로 하는 The classification target packet is determined as a predetermined first packet from the first packet among the packets included in the traffic flow. 패킷의 시그너처 분석을 통한 트래픽 분석 방법.Traffic analysis method through signature analysis of packets.
KR1020070057941A 2007-06-13 2007-06-13 Traffic identification system and method with analysis on signature of packets KR100869887B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070057941A KR100869887B1 (en) 2007-06-13 2007-06-13 Traffic identification system and method with analysis on signature of packets

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070057941A KR100869887B1 (en) 2007-06-13 2007-06-13 Traffic identification system and method with analysis on signature of packets

Publications (1)

Publication Number Publication Date
KR100869887B1 true KR100869887B1 (en) 2008-11-24

Family

ID=40284602

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070057941A KR100869887B1 (en) 2007-06-13 2007-06-13 Traffic identification system and method with analysis on signature of packets

Country Status (1)

Country Link
KR (1) KR100869887B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101605187B1 (en) * 2015-04-30 2016-03-21 (주)시스메이트 Apparatus and method for collecting unknown traffic flow to analysis application traffic
KR20160123903A (en) * 2015-04-17 2016-10-26 (주) 시스메이트 Apparatus and Method for Automatically Extracting Network Traffic Signature
KR20220074150A (en) 2020-11-27 2022-06-03 (주)닥터소프트 Saas traffic detection method through signature-based traffic analysis and server thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060063564A (en) * 2004-12-06 2006-06-12 한국전자통신연구원 An apparatus for capturing internet protocol(ip) packet with sampling and signature searching function, and a method thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060063564A (en) * 2004-12-06 2006-06-12 한국전자통신연구원 An apparatus for capturing internet protocol(ip) packet with sampling and signature searching function, and a method thereof

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160123903A (en) * 2015-04-17 2016-10-26 (주) 시스메이트 Apparatus and Method for Automatically Extracting Network Traffic Signature
KR101673549B1 (en) * 2015-04-17 2016-11-07 (주) 시스메이트 Apparatus and Method for Automatically Extracting Network Traffic Signature
KR101605187B1 (en) * 2015-04-30 2016-03-21 (주)시스메이트 Apparatus and method for collecting unknown traffic flow to analysis application traffic
KR20220074150A (en) 2020-11-27 2022-06-03 (주)닥터소프트 Saas traffic detection method through signature-based traffic analysis and server thereof

Similar Documents

Publication Publication Date Title
Barradas et al. FlowLens: Enabling Efficient Flow Classification for ML-based Network Security Applications.
Vlăduţu et al. Internet traffic classification based on flows' statistical properties with machine learning
CN108701187A (en) Mixed hardware software distribution threat analysis
Sija et al. A survey of automatic protocol reverse engineering approaches, methods, and tools on the inputs and outputs view
CN102984140B (en) Malicious software feature fusion analytical method and system based on shared behavior segments
CN102724317A (en) Network data flow classification method and device
Elejla et al. Labeled flow-based dataset of ICMPv6-based DDoS attacks
Mitsuhashi et al. Identifying malicious dns tunnel tools from doh traffic using hierarchical machine learning classification
KR100869887B1 (en) Traffic identification system and method with analysis on signature of packets
KR100608541B1 (en) An apparatus for capturing Internet ProtocolIP packet with sampling and signature searching function, and a method thereof
US11159548B2 (en) Analysis method, analysis device, and analysis program
KR101048991B1 (en) Botnet Behavior Pattern Analysis System and Method
Zhang et al. A spark-based DDoS attack detection model in cloud services
Long et al. Network traffic classification based on a deep learning approach using netflow data
Marshall CANDID: classifying assets in networks by determining importance and dependencies
Krundyshev Preparing datasets for training in a neural network system of intrusion detection in industrial systems
KR20120085400A (en) Packet Processing System and Method by Prarllel Computation Based on Hadoop
KR100710047B1 (en) Apparatus for traffic identification on internet protocol network environment
Rajaboevich et al. Analysis of methods for measuring available bandwidth and classification of network traffic
CN108347447B (en) P2P botnet detection method and system based on periodic communication behavior analysis
Shukla et al. Identification and counting of hosts behind nat using machine learning
Khcdkar et al. Identification of Network Traffic over IOT Platforms.
Shahbar Analysis of multilayer-encryption anonymity networks
Su et al. Mobile traffic identification based on application's network signature
Yin et al. WaterPurifier: A scalable system to prevent the DNS water torture attack in 5G-enabled SIoT network

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121106

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20131105

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20141105

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20151105

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20161104

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20171106

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20181031

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190903

Year of fee payment: 12