KR101886526B1 - 응용 트래픽 분류에 정교한 페이로드 시그니쳐 생성 방법 및 시스템 - Google Patents
응용 트래픽 분류에 정교한 페이로드 시그니쳐 생성 방법 및 시스템 Download PDFInfo
- Publication number
- KR101886526B1 KR101886526B1 KR1020160162049A KR20160162049A KR101886526B1 KR 101886526 B1 KR101886526 B1 KR 101886526B1 KR 1020160162049 A KR1020160162049 A KR 1020160162049A KR 20160162049 A KR20160162049 A KR 20160162049A KR 101886526 B1 KR101886526 B1 KR 101886526B1
- Authority
- KR
- South Korea
- Prior art keywords
- signature
- traffic
- signatures
- packet
- content
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9042—Separate storage for different parts of the packet, e.g. header and payload
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
응용 트래픽 분류에 정교한 페이로드 시그니쳐 생성 방법 및 시스템이 개시된다. 페이로드 시그니쳐 생성 방법은 복수의 응용들과 관련된 트래픽을 수집하는 단계, 수집된 트래픽들을 대상으로 공통 문자열을 추출하여 콘텐츠 시그니쳐를 포함하는 콘텐츠 시그니쳐 집합을 생성하는 단계, 상기 수집된 트래픽들 중 어느 하나의 트래픽을 대상으로, 상기 콘텐츠 시그니쳐 집합에 포함된 콘텐츠 시그니쳐들 중 복수의 콘텐츠 시그니쳐가 매칭하는 패킷 시그니쳐를 생성하는 단계, 및 상기 수집된 트래픽들을 기반으로 하는 플로우를 대상으로 복수의 패킷 시그니쳐가 매칭하는 플로우 시그니쳐를 생성하는 단계를 포함할 수 있다.
Description
본 발명은 응용 트래픽 분류에 정교한 페이로드 시그니쳐 생성 방법 및 시스템에 관한 것으로서, 네트워크 정책을 기반으로 다양한 응용(application)에 대한 정확한 트래픽 분류를 통해 네트워크를 관리하기 위한 페이로드 시그니쳐를 생성 또는 정의하는 기술에 관한 것이다.
오늘날 네트워크 고속화와 더불어 인터넷 연결이 가능한 스마트 기기들의 보편화에 따라 인터넷에 기반한 응용프로그램의 사용이 급격하게 증가하고 있다. 이에 따라 한정된 네트워크 자원을 효율적으로 사용하고, 사용자에게 안정적인 서비스를 제공하기 위해 다양한 종류의 응용 레벨 트래픽을 정확하게 분류하는 기술에 대한 연구가 진행되고 있다.
페이로드를 추출한 응용의 트래픽에 대해서는 정확한 분석이 가능하기 때문에, 트래픽(traffic)의 분류를 위한 다양한 방법들 중 페이로드 시그니쳐 기반 분석 방법이 많이 이용되고 있다.
아래의 비특허문헌 [1] H.-A. Kim and B. Karp , "Autograph: Toward automated, distributed worm signature detection," in USENIX Security Symp ., vol. 286, 2004., [2] B.-C. Park, Y. J. Won, M.-S. Kim, and J. W. Hong, "Towards automated application signature generation for traffic identification," IEEE Network Operations and Management Symp .(NOMS 2008), pp. 160-167, 2008., 비특허문헌 [3] C. MU, X.-h. HUANG , X. TIAN , Y. MA, and J.-l. Qi, "Automatic traffic signature extraction based on fixed bit offset algorithm for traffic classification," The J. China Universities of Posts and Telecommun., vol. 18, pp. 79-85, 2011.에서는 페이로드 시그니쳐의 구조에 대해 제시하고 있다. 페이로드 시그니쳐의 구조는 패킷의 데이터 부분인 페이로드(payload) 내의 공통 문자열을 기반으로 한다. 이에 따라, 특정 응용 프로그램에 고유하지 않고, 다른 응용 프로그램과 중복되는 페이로드 시그니쳐가 추출될 가능성이 높다. 이처럼, 특정 응용에 해당하는 페이로드 시그니쳐가 다른 응용을 분석(즉, 다른 응용을 식별)하는 경우, 네트워크 관리에 있어서 신뢰도를 저하시키며, 네트워크 정책이나 고장 진단, 용량 계획 등을 정확히 수행하기 어렵다. 특히, 네트워크 보안 분야에서는 특정 응용의 시그니쳐가 다른 응용을 분석하는 경우, 악성 트래픽을 오탐(False Positive)하거나 미탐(False Negative)함에 따라 엄청난 손실을 초래하게 된다.
예컨대, 특정 프로토콜에서 메타 데이터로 사용되는 문자열(GET, Accept, HTTP/1.1, 201, User-Agent, Content-Type, Referrer 등)이 시그니쳐로 추출되는 경우, 상기 특정 프로토콜을 사용하는 응용에 대해서는 모두 동일한 시그니쳐가 추출될 수 있다. 즉, HTTP Request, Response의 명령어가 시그니쳐로 추출될 가능성이 있으며, 해당 시그니쳐의 경우 특정 응용 이외에 HTTP를 이용하는 다른 응용도 식별 가능하다는 점에서, 해당 응용을 식별하기 위한 시그니쳐로서의 가치가 없을 수 있다. 이외에, 앨범(Album), 이미지(Image), 음악(Music) 등의 사전적 의미를 가지는 문자열이 시그니쳐로 추출되는 경우에도 시그니쳐로서의 신뢰도가 낮을 수 있다. 예컨대, 음악(Music)이 시그니쳐로 추출된 경우, 다양한 음악 서비스를 제공하는 응용 중 정확히 어떤 음악 응용 프로그램을 식별하기 위한 시그니쳐인지를 구분하기 어렵다. 즉, 소리바다, 멜론 등 다양한 음악 응용 프로그램 모두 음원 제공을 목적으로 하고 있으므로 페이로드에 음악(Music)을 포함하고 있는 바, 음악을 시그니쳐로 하는 경우, 해당 시그니쳐가 소리바다와 멜론 모두를 식별하기 때문에 정확히 어떤 응용 프로그램을 식별하는지 특정하기 어렵다. 즉, 특정 응용의 시그니쳐가 다른 응용을 식별하여 네트워크의 신뢰도를 저하시킨다.
따라서, 급격하게 증가하는 응용 트래픽에서 네트워크 관리자가 페이로드를 일일이 확인하여 검증된 시그니쳐를 수작업으로 하지 않고 자동으로 시그니쳐를 정의 또는 생성함에 있어서, 특정 응용프로그램에 특화된 보다 정교한 페이로드 시그니쳐가 요구된다. 한국등록특허 제10-1270339호는 시그니쳐 검사방법에 관한 것으로, 네트워크 패킷의 내용과 일치하는 인덱스가 있는 경우 인덱스에 대한 그룹에 포함된 시그니쳐에 대하여 시그니쳐 검사를 수행하고, 일치하는 인덱스가 없는 경우에는 해당 인덱스 그룹에 속한 시그니쳐는 이후에도 검사할 필요가 없으므로 시그니쳐 검사에서 제외시키는 시그니쳐 검사 기술을 개시하고 있다.
[1] H.-A. Kim and B. Karp, "Autograph: Toward automated, distributed worm signature detection," in USENIX Security Symp., vol. 286, 2004.
[2] B.-C. Park, Y. J. Won, M.-S. Kim, and J. W. Hong, "Towards automated application signature generation for traffic identification," IEEE Network Operations and Management Symp.(NOMS 2008), pp. 160-167, 2008.
[3] C. MU, X.-h. HUANG, X. TIAN, Y. MA, and J.-l. Qi, "Automatic traffic signature extraction based on fixed bit offset algorithm for traffic classification," The J. China Universities of Posts and Telecommun., vol. 18, pp. 79-85, 2011.
[4]R. Agrawal and R. Srikant, "Fast algorithms for mining association rules," in Proc. 20th Int. Conf. VLDB, pp. 487-499, 1994
[5]R. Agrawal and R. Srikant, "Mining sequential patterns," in Proc. Eleventh Int. Conf. Data Eng., pp. 3-14, 1995.
본 발명은 상기한 바와 같은 종래기술의 문제점을 해결하기 위해, 다른 응용 프로그램과는 중복되지 않고 특정 응용 프로그램에 특화된 보다 정교한 페이로드 시그니쳐의 구조를 정의하는 기술을 제안하고자 한다.
상기한 목적을 달성하기 위해 페이로드 시그니쳐 생성 방법은 복수의 응용들과 관련된 트래픽을 수집하는 단계, 수집된 트래픽들을 대상으로 공통 문자열을 추출하여 콘텐츠 시그니쳐를 포함하는 콘텐츠 시그니쳐 집합을 생성하는 단계, 상기 수집된 트래픽들 중 어느 하나의 트래픽을 대상으로, 상기 콘텐츠 시그니쳐 집합에 포함된 콘텐츠 시그니쳐들 중 복수의 콘텐츠 시그니쳐가 매칭하는 패킷 시그니쳐를 생성하는 단계, 및 상기 수집된 트래픽들을 기반으로 하는 플로우를 대상으로 복수의 패킷 시그니쳐가 매칭하는 플로우 시그니쳐를 생성하는 단계를 포함할 수 있다.
일측면에 따르면, 상기 콘텐츠 시그니쳐를 하위 레벨, 패킷 시그니쳐를 중간 레벨 및 플로우 시그니쳐를 상위 레벨의 구조로 하는 페이로드 시그니쳐를 특정 응용을 식별하기 위한 시그니쳐로 생성하는 단계를 더 포함할 수 있다.
다른 측면에 따르면, 상기 플로우 시그니쳐를 생성하는 단계는, 상기 수집된 트래픽들에 포함된 패킷들을 대상으로 패킷의 헤더 중 5-튜플 정보가 동일한 패킷들을 추출하는 단계, 및 추출된 패킷들 각각을 상기 플로우로 정의하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 플로우 시그니쳐를 생성하는 단계는, 전체 트래픽을 대상으로 동일 플로우 내에서 복수의 패킷 시그니쳐가 매칭하는 플로우 시그니쳐를 정의하는 단계를 더 포함할 수 있다.
또 다른 측면에 따르면, 상기 5-튜플 정보는, 패킷의 헤더에 포함된 출발지 IP 주소 정보, 목적지 IP 주소 정보, 출발지 포트 번호, 목적지 포트 번호 및 4계층 프로토콜 정보를 포함할 수 있다.
또 다른 측면에 따르면, 상기 패킷 시그니쳐를 생성하는 단계는, 상기 어느 하나의 트래픽을 대상으로 기정의된 일정 빈도 수 이상 매칭하는 복수의 콘텐츠 시그니쳐의 집합을 상기 패킷 시그니쳐로 생성할 수 있다.
또 다른 측면에 따르면, 전체 트래픽(total traffic)을 대상으로 하나의 패킷 시그니쳐에 해당하는 적어도 하나의 콘텐츠 시그니쳐와 매칭하는 트래픽의 양을 계산하는 단계, 및 계산된 상기 트래픽의 양과 전체 트래픽의 양에 기초하여 페이로드 시그니쳐의 분석률을 계산하는 단계를 더 포함할 수 있다.
페이로드 시그니쳐 생성 시스템은, 복수의 응용들과 관련된 트래픽들을 수집하는 트래픽 수집부, 및 수집된 트래픽들을 대상으로 공통 문자열을 추출하여 콘텐츠 시그니쳐를 포함하는 콘텐츠 시그니쳐 집합을 생성하고, 상기 수집된 트래픽들 중 어느 하나의 트래픽들을 대상으로, 상기 콘텐츠 시그니쳐 집합에 포함된 콘텐츠 시그니쳐들 중 복수의 콘텐츠 시그니쳐가 매칭하는 패킷 시그니쳐를 생성하고, 상기 수집된 트래픽들을 기반으로 하는 플로우를 대상으로 복수의 패킷 시그니쳐가 매칭하는 플로우 시그니쳐를 생성하는 시그니쳐 생성부를 포함할 수 있다.
일측면에 따르면, 상기 시그니쳐 생성부는, 상기 콘텐츠 시그니쳐를 하위 레벨, 패킷 시그니쳐를 중간 레벨 및 플로우 시그니쳐를 상위 레벨의 구조로 하는 페이로드 시그니쳐를 특정 응용을 식별하기 위한 시그니쳐로 생성할 수 있다.
다른 측면에 따르면, 상기 시그니쳐 생성부는, 상기 수집된 트래픽들에 포함된 패킷들을 대상으로 패킷의 헤더 중 5-튜플 정보가 동일한 패킷들을 추출하고, 추출된 패킷들 각각을 상기 플로우로 정의하고, 전체 트래픽을 대상으로 동일 플로우 내에서 복수의 패킷 시그니쳐가 매칭하는 플로우 시그니쳐를 정의할 수 있다.
또 다른 측면에 따르면, 전체 트래픽(total traffic)을 대상으로 하나의 패킷 시그니쳐에 해당하는 적어도 하나의 콘텐츠 시그니쳐와 매칭하는 트래픽의 양을 계산하고, 계산된 상기 트래픽의 양과 전체 트래픽의 양에 기초하여 페이로드 시그니쳐의 분석률을 계산하는 분석률 계산부를 더 포함할 수 있다.
본 발명에 따르면, 하위 레벨부터 상위 레벨까지 복수의 레벨로 구성된 페이로드 시그니쳐 구조를 정의함으로써, 공통 문자열을 사용하는 페이로드 시그니쳐 보다 특정 응용 프로그램에 대해서 보다 더 특화시킬 수 있다. 즉, 새로운 구조의 페이로드 시그니쳐가 다른 응용 프로그램을 식별하거나 분석할 확률을 낮추고(다시 말해, 오탐률을 감소시키고), 특정 응용 프로그램을 식별하거나 분석하는 정교한 페이로드 시그니쳐를 생성할 수 있다.
그리고, 새로운 구조의 페이로드 시그니쳐를 이용하여 응용 프로그램을 분석 또는 식별함에 따라, 오탐률이 감소하여 트래픽 분석의 정확도가 향상되고, 분석 결과의 신뢰성이 높아져 네트워크 관리의 효율성이 증가할 수 있다. 즉, 새로운 구조의 페이로드 시그니쳐를 이용하여 트래픽 분석 시, TP(True Positive)의 수치는 유지하면서, FP(false Positive)의 수치는 감소할 수 있다.
도 1은 본 발명의 일실시예에 있어서, 페이로드 시그니쳐 생성 시스템의 네트워크 구성을 도시한 도면이다.
도 2는 본 발명의 일실시예에 있어서, 페이로드 시그니쳐 생성 시스템의 내부구성을 도시한 블록도이다.
도 3은 본 발명의 일실시예에 있어서, 페이로드 시그니쳐 생성 방법을 도시한 흐름도이다.
도 4는 본 발명의 일실시예에 있어서, 페이로드 시그니쳐의 구조를 도시한 도면이다.
도 5는 본 발명의 일실시예에 있어서, 복수의 레벨 구조를 가지는 페이로드 시그니쳐를 이용하여 트래픽의 분석률을 계산하는 방법을 도시한 흐름도이다.
도 2는 본 발명의 일실시예에 있어서, 페이로드 시그니쳐 생성 시스템의 내부구성을 도시한 블록도이다.
도 3은 본 발명의 일실시예에 있어서, 페이로드 시그니쳐 생성 방법을 도시한 흐름도이다.
도 4는 본 발명의 일실시예에 있어서, 페이로드 시그니쳐의 구조를 도시한 도면이다.
도 5는 본 발명의 일실시예에 있어서, 복수의 레벨 구조를 가지는 페이로드 시그니쳐를 이용하여 트래픽의 분석률을 계산하는 방법을 도시한 흐름도이다.
이하, 본 발명의 바람직한 실시예를 첨부한 도면들을 참조하여 상세히 설명하기로 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면 번호에 상관없이 동일한 수단에 대해서는 동일한 참조 번호를 사용하기로 한다.
본 발명은 특정 응용 프로그램에 고유하게 특화된 페이로드 시그니쳐의 구조를 정의하는 기술에 관한 것으로, 특히, 특정 응용 프로그램(이하, '특정 응용'이라 칭함.)에 대해 하위 레벨부터 상위 레벨까지 복수의 레벨로 구성된 페이로드 시그니쳐(payload signature)를 정의 또는 생성하는 기술에 관한 것이다. 예를 들어, 하위 레벨의 콘텐츠 시그니쳐(contents signature), 중간 레벨의 패킷 시그니쳐(packet signature), 및 상위 레벨의 플로우 시그니쳐(flow signature)의 구조를 갖는 페이로드 시그니쳐를 정의 또는 생성하는 기술에 관한 것이다.
본 실시예들에서, '콘텐츠 시그니쳐(content signature)'는 페이로드 시그니쳐(payload signature)의 하위 레벨에 해당하는 것으로서, 트래픽(traffic)의 데이터 부분인 페이로드(payload) 내의 공통된 문자열을 나타낼 수 있다. 즉, 콘텐츠 시그니쳐는 트래픽들에 공통적으로 포함하고 있는 연속된 문자열을 나타낼 수 있다. 여기서, 페이로드 시그니쳐(payload signature)는 시스템으로 유입 또는 수집되는 복수의 트래픽들 중 특정 트래픽이 어떤 응용(예컨대, 다음, 구글, 네이버, 야후 등)으로부터 시스템으로 유입 또는 수집되는 트래픽인지를 식별하기 위한 키(key)를 의미할 수 있다. 그리고, 트래픽(traffic)은 헤더(header)와 데이터(data)로 이루어진 패킷들의 집합을 나타낼 수 있다. 그리고, 페이로드(payload)는 패킷의 데이터 부분인 데이터 트래픽을 의미하고, 콘텐츠 시그니쳐는 서로 다른 패킷들을 대상으로 추출된 공통된 문자열을 기반으로 정의 또는 생성될 수 있다.
본 실시예들에서, '패킷 시그니쳐(packet signature)'는 동일한 패킷 내 콘텐츠 시그니쳐의 집합으로서, 동일한 패킷에서 발생하는 콘텐츠 시그니쳐의 조합을 의미할 수 있다. 즉, 하나의 패킷 내에서 상기 콘텐츠 시그니쳐의 집합에 포함된 복수의 시그니쳐들 중 적어도 둘 이상을 포함하는 경우, 포함하는 적어도 둘 이상의 콘텐츠 시그니쳐의 조합이 패킷 시그니쳐가 될 수 있다. 이처럼, 패킷 시그니쳐는 하나의 패킷에서 매칭하는 여러 개의 콘텐츠 시그니쳐를 조합한 형태를 나타낼 수 있다.
본 실시예들에서, '플로우 시그니쳐(flow signature)'는 동일한 플로우(flow) 내에서 발생하는 패킷 시그니쳐의 집합으로서, 동일한 플로우 내에서 추출되는 패킷 시그니쳐의 집합 중 기정의된 일정 빈도 수를 만족하는 집합을 의미할 수 있다.
본 실시예들에서, 정답지 트래픽은, 해당 응용에서만 발생한 순수한 트래픽, 즉, 다른 응용은 섞여있지 않은 트래픽을 의미할 수 있다. 예를 들어, 네이버(naver)의 정답지 트래픽은 네이버(naver)에서 발생한 트래픽만을 의미하고, 구글의 정답지 트래픽을 구글(***)에서 발생한 트래픽만을 의미할 수 있다.
도 1은 본 발명의 일실시예에 있어서, 페이로드 시그니쳐 생성 시스템의 네트워크 구성을 도시한 도면이다.
도 1에서, 페이로드 시그니쳐 생성 시스템(100)은 적어도 하나의 호스트(110)로부터 트래픽(traffic), 즉, 패킷을 수집할 수 있다. 도 1에서는 3개의 호스트를 도시하고 있으나, 이는 실시예에 해당되며, 호스트는 3개 미만, 3개 이상일 수 있다. 예컨대, 호스트는 데스크탑 PC, 노트북, 스마트폰, 태블릿 등의 유/무선 인터넷을 이용하는 다양한 전자 기기를 포함할 수 있다.
도 1에 따르면, 페이로드 시그니쳐 생성 시스템(100)은 인터넷(101) 등의 네트워크를 통해 기정의된 일정시간 동안 복수의 호스트들(110)에서 발생하는 트래픽(즉, 패킷, 120)을 수집할 수 있다. 이때, 페이로드 시그니쳐 생성 시스템(100)은 TMA(Traffic Measurement Agent)를 이용하여 각 호스트로부터 트래픽(120)을 수집할 수 있다. 그리고, 페이로드 시그니쳐 생성 시스템(100)은 수집된 트래픽(120)을 대상으로 정답지 트래픽(Ground Traffic, GT Traffic)을 생성할 수 있다. 여기서, 정답지 트래픽은 해당 응용에서만 발생한 순수한 트래픽, 즉, 다른 응용은 섞여있지 않은 트래픽을 의미할 수 있다. 예를 들어, naver의 정답지 트래픽이라 함은 naver에서 발생한 트래픽만을 의미할 수 있다.
일례로, 각 호스트(111, 112, 113)에서 TMA가 설치되어 실행 또는 구동될 수 있으며, 각 호스트에서 TMA가 실행 시 로그 데이터(log data, 140)가 생성될 수 있다. 그러면, 페이로드 시그니쳐 생성 시스템(100)은 각 호스트(111, 112, 113)로부터 상기 트래픽에 해당하는 로그 데이터(140)를 수집할 수 있다. 여기서, 로그 데이터(log data, 140)는, 프로세스 이름(process name) 정보, IP 주소 정보, 포트 번호(port number) 정보, 스테이트(state) 정보, 프로토콜(protocol) 정보 등을 포함할 수 있다. 각 호스트는 기정의된 시간 간격으로 TMA 서버로 로그 데이터를 전송할 수 있다. 그러면, TMA 서버(130)는 각 호스트(111, 112, 113)로부터 시간대 별로 수신된 로그 데이터를 통합하여 저장할 수 있다. 예컨대, 로그 데이터의 수신 시간, 해당 로그 데이터를 전송한 호스트의 식별자 정보 및 해당 로그 데이터를 매칭하여 저장할 수 있다. 그러면, 페이로드 시그니쳐 생성 시스템(100)은 수집된 트래픽에 해당하는 호스트의 식별자 정보에 기초하여 해당 호스트의 로그 데이터를 TMA 서버(130)로 요청하여 수신할 수 있다. 이처럼, 트래픽과 로그 데이터가 수집되면, 페이로드 시그니쳐 생성 시스템(100)은 로그 데이터에 기초하여 응용 별로 정답지 트래픽을 생성할 수 있으며, 수집된 트래픽들(즉, 패킷들)을 대상으로 복수의 레벨로 구성된 페이로드 시그니쳐를 정의 또는 생성할 수 있다.
도 2는 본 발명의 일실시예에 있어서, 페이로드 시그니쳐 생성 시스템의 내부구성을 도시한 블록도이고, 도 3은 본 발명의 일실시예에 있어서, 페이로드 시그니쳐 생성 방법을 도시한 흐름도이다.
도 2에 따르면, 트래픽 수집부(210), 시그니쳐 생성부(220), 분석률 계산부(230) 및 제어부(240)를 포함할 수 있다. 여기서, 제어부(240)는 본 발명의 일실시예에 따른 페이로드 시그니쳐 생성 시스템(200)의 구성 요소, 즉, 트래픽 수집부(210), 시그니쳐 생성부(220), 분석률 계산부(230)의 동작을 전반적으로 제어할 수 있다. 예컨대, 제어부(240)는 트래픽 수집부(210), 시그니쳐 생성부(220), 분석률 계산부(230)에서 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있으며, 메모리와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령의 실행, 기본적인 산술, 로직 및 입출력 연산을 수행하도록 트래픽 수집부(210), 시그니쳐 생성부(220), 분석률 계산부(230)의 동작을 제어할 수 있다.
그리고, 도 3의 각 단계들(310 내지 350 단계)은 도 2의 구성요소인 트래픽 수집부(210), 시그니쳐 생성부(220), 분석률 계산부(230) 및 제어부(240)에 의해 수행될 수 있다.
310 단계에서, 트래픽 수집부(210)는 인터넷 등의 네트워크를 통해 기정의된 일정시간 동안 복수의 호스트들에서 발생하는 패킷(즉, 트래픽)을 수집할 수 있다. 이때, 트래픽 수집부(210)는 TMA(Traffic Measurement Agent)를 이용하여 각 호스트로부터 트래픽을 수집할 수 있다.
예를 들어, 각 호스트에서 네이버, 다음, 구글, 야후 등의 응용에 액세스(access)하는 경우, 트래픽 수집부(210)는 각 호스트에서 상기 응용들 중 특정 응용에 액세스하여 데이터 다운로드, 실시간 미디어 스트리밍 서비스 이용(예컨대, 음악, 인터넷 TV 시청 등)함에 따라 발생하는 패킷을 포함하는 트래픽을 수집할 수 있다. 여기서, 패킷은 헤더(header)와 데이터인 페이로드(payload)로 구성될 수 있으며, 패킷의 헤더는 5-튜블(tuple) 정보를 포함할 수 있다. 5-튜플 정보는 해당 패킷의 출발지 IP 주소 정보, 목적지 IP 주소 정보, 출발지 포트(port) 번호, 목적지 포트 번호 및 4계층 프로토콜 정보를 포함할 수 있다.
320 단계에서, 시그니쳐 생성부(220)는 수집된 패킷들을 대상으로 공통된 문자열을 추출하여 콘텐츠 시그니쳐(content signature)를 생성(즉, 정의)할 수 있다.
일례로, 패킷 1부터 패킷 100까지 100개의 패킷들이 수집된 경우, 시그니쳐 생성부(220)는 100개의 패킷들의 페이로드에서 공통된 문자열을 추출할 수 있다. 예컨대, 321 단계에서. 시그니쳐 생성부(220)는 위의 비특허문헌 [ 4]R . Agrawal and R. Srikant , "Fast algorithms for mining association rules," in Proc . 20th Int. Conf . VLDB , pp. 487-499, 1994., [ 5]R . Agrawal and R. Srikant , "Mining sequential patterns," in Proc . Eleventh Int . Conf . Data Eng ., pp. 3-14, 1995.에서 설명하고 있는 순차 패턴 알고리즘을 이용하여 복수의 패킷들에서 공통 문자열을 추출할 수 있다.
322 단계에서, 시그니쳐 생성부(220)는 추출된 공통 문자열들 중 기정의된 일정 빈도수 이상 추출된 공통 문자열을 콘텐츠 시그니쳐로 생성(즉, 정의)할 수 있다.
예를 들어, 100개의 패킷들을 대상으로 추출된 공통 문자열이 30개인 경우, 시그니쳐 생성부(220)는 30개의 공통 문자열 중 2회 이상 추출된 공통 문자열을 콘텐츠 시그니쳐로 정의할 수 있다. 여기서, 일정 빈도수가 2회인 경우를 예로 들어 설명하였으나, 이는 실시예에 해당되며, 일정 빈도수는 2회 이외에 3회, 4회 이상 등과 같이 미리 정의될 수 있다. 예컨대, 30개의 공통 문자열들 중 2회 이상 중복하여 추출된 공통 문자열이 10개인 경우, 10개의 콘텐츠 시그니쳐가 생성될 수 있다.
323 단계에서, 시그니쳐 생성부(220)는 생성된 콘텐츠 시그니쳐들을 포함하는 콘텐츠 시그니쳐 집합을 생성할 수 있다. 예컨대, 30개의 공통된 문자열들 중 일정 빈도수를 만족하는 10개의 콘텐츠 시그니쳐가 생성된 경우, 중복 추출된 10개의 공통된 문자열(즉, 10개의 콘텐츠 시그니쳐에 해당함)을 포함하는 콘텐츠 시그니쳐 집합을 생성할 수 있다.
아래의 표 1은 콘텐츠 시그니쳐(content signature)의 예를 나타낼 수 있다.
Signature id | Content Signature |
1 | <GET /> |
2 | <HTTP /1.1> |
3 | <MUSIC> |
4 | <CACHE-CONTROL> |
5 | <NO> |
6 | <FACEBOOK> |
7 | <IMAGE> |
8 | <ALBUM> |
9 | <32> |
표 1에 따르면, 9개의 공통 문자열들이 각각 콘텐츠 시그니쳐로 정의될 수 있다. 예컨대, 100개의 패킷들 중 2회 이상 중복되어 추출된 공통 문자열인, <GET/>, <HTTP/1.1>, <MUSIC>, <CACHE-CONTROL>, <NO>, <FACEBOOK>, <IMAGE>, <ALBUM>, <32> 각각이 콘텐츠 시그니쳐로 생성(즉, 정의)될 수 있으며, 시그니쳐 생성부(220)는 <GET/>, <HTTP/1.1>, <MUSIC>, <CACHE-CONTROL>, <NO>, <FACEBOOK>, <IMAGE>, <ALBUM>, <32>를 포함하는 하나의 콘텐츠 시그니쳐 집합을 생성할 수 있다.
330 단계에서, 시그니쳐 생성부(220)는 콘텐츠 시그니쳐에 기초하여 패킷 시그니쳐를 생성할 수 있다. 이때, 시그니쳐 생성부(220)는 수집된 트래픽들 중 어느 하나의 트래픽을 대상으로, 콘텐츠 시그니쳐 집합에 포함된 콘텐츠 시그니쳐들 중 적어도 하나의 콘텐츠 시그니쳐가 매칭하는 패킷 시그니쳐를 생성할 수 있다.
일례로, 시그니쳐 생성부(220)는 100개의 패킷들 중 어느 하나의 패킷 내에서 상기 콘텐츠 시그니쳐 집합에 포함된 시그니쳐들 중 적어도 하나 또는 적어도 둘 이상의 시그니쳐가 기정의된 일정 빈도수 이상 매칭하는 콘텐츠 시그니쳐들을 추출하고, 매칭하는 콘텐츠 시그니쳐들의 조합을 패킷 시그니쳐로 생성(즉, 정의)할 수 있다. 이때, 시그니쳐 생성부(220)는 100개의 패킷들 각각에 대해 패킷 시그니쳐를 정의하는 프로세스를 수행할 수 있다. 예컨대, 하나의 패킷 내에 콘텐츠 시그니쳐 집합에 포함된 9개의 시그니쳐들 중 <GET/>, <MUSIC>, <32>의 3개의 콘텐츠 시그니쳐가 포함된 경우, 즉, 매칭하는 경우, 시그니쳐 생성부(220)는 매칭하는 상기 3개의 콘텐츠 시그니쳐들의 집합을 패킷 시그니쳐(<GET/><MUSIC><32>)로 정의(즉, 생성)할 수 있다. 구체적으로, 시그니쳐 생성부(220)는 콘텐츠 시그니쳐 집합에 포함된 콘텐츠 시그니쳐들의 가능한 모든 조합(예컨대, 2개짜리, 3개짜리, ..., n개짜리 조합)을 순차패턴 알고리즘을 이용하여 후보 패킷 시그니쳐(즉, 패킷 시퀀스라고 함)를 생성 후, 생성된 후보 패킷 시그니쳐 중 기정의된 일정 빈도 수 이상 매칭하는 조합을 패킷 시그니쳐로 생성할 수 있다. 예컨대, 전체 트래픽을 대상으로 동일 패킷 내에서 아래의 표 2와 같이 4개의 패킷 시그니쳐들이 생성될 수 있다. 표 2에서는 추출된 패킷 시그니쳐들을 포함하는 패킷 시그니쳐 집합을 나타낼 수 있다. 예를 들어, 일정 빈도수가 전체 패킷의 95% 이상으로 기정의된 경우, 시그니쳐 생성부(220)는 후보 패킷 시그니쳐들 중 전체 패킷의 95% 이상 발견되는 콘텐츠 시그니쳐들의 조합을 패킷 시그니쳐로 정의할 수 있다.
표 2에 따르면, 4개의 패킷 시그니쳐를 포함하고 있으며, 패킷 시그니쳐는 전체 패킷들을 대상으로 생성될 수 있다. 패킷 시그니쳐는 일정 빈도수 이상(전체 패킷에서 기정의한 빈도수, 예를 들면 95%)의 패킷들에서 발생되는 컨텐츠 시그니쳐의 집합이므로, 항상 전체 패킷들에 대해 생성될 수 있다. 여기서, 컨텐츠 시그니쳐의 집합은 동일한 패킷 내에 함께 존재하는 시그니쳐 세트(set)로서, 상기 세트(set)가 다른 패킷들에서도 발견될 수 있으며, 전체 패킷들 중 일정 빈도 수 이상 발견이 되면 해당 세트를 패킷 시그니쳐로 생성할 수 있다.
표 2에서, 패킷 시그니쳐 3의 경우, 콘텐츠 시그니쳐 집합에 포함된 9개의 콘텐츠 시그니쳐들 중 9개의 콘텐츠 시그니쳐들을 조합한 복수개의 콘텐츠 시그니쳐의 집합을 생성할 수 있다. 그리고, 생성된 콘텐츠 시그니쳐의 집합에 포함된 콘텐츠 시그니쳐 중 일정 빈도수 이상 매칭된 콘텐츠 시그니쳐의 집합(예컨대, 2개의 콘텐츠 시그니쳐를 모아놓은 집합)이 패킷 시그니쳐 3으로 정의될 수 있다. 그리고, 패킷 시그니쳐 4와 같이, 1개의 콘텐츠 시그니쳐 <FACEBOOK>를 포함하는 콘텐츠 시그니쳐의 집합이 패킷 시그니쳐로 생성될 수도 있다.
340 단계에서, 시그니쳐 생성부(220)는 콘텐츠 시그니쳐의 집합들 중 일정 빈도수 이상 매칭된 콘텐츠 시그니쳐의 집합인 패킷 시그니쳐에 기초하여 플로우 시그니쳐를 생성할 수 있다.
341 단계에서, 시그니쳐 생성부(220)는 수집된 트래픽들을 대상으로 트래픽에 포함된 패킷들 각각의 헤더 정보에 기초하여 플로우(flow)에 해당하는 패킷들을 분류할 수 있다.
예를 들어, 시그니쳐 생성부(220)는 수집된 트래픽들에 포함된 100개의 패킷들을 대상으로, 패킷 각각의 헤더에 포함된 5-튜플 정보에 기초하여 동일 그룹에 해당하는 패킷들을 분류할 수 있다. 여기서, 패킷의 헤더에 포함된 출발지 IP 주소 정보, 목적지 IP 주소 정보, 출발지 포트 번호, 목적지 포트 번호 및 4계층 프로토콜 정보를 포함할 수 있다. 즉, 시그니쳐 생성부(220)는 100개의 패킷들 중 출발지 IP 주소 정보, 목적지 IP 주소 정보, 출발지 포트 번호, 목적지 포트 번호 및 4계층 프로토콜 정보가 동일한 패킷 별로 분류하여 하나의 플로우(flow)로 구분할 수 있다. 예컨대, 100개의 패킷들 중 헤더 정보에 포함된 5-튜플 정보가 동일한 40개의 패킷들을 플로우 1, 상기 5-튜플 정보가 동일한 30개의 패킷들을 플로우 2, 상기 5-튜플 정보가 동일한 20개의 패킷들을 플로우 3, 상기 5-튜플 정보가 동일한 10개의 패킷들을 플로우 4로 분류할 수 있다.
342 단계에서, 시그니쳐 생성부(220)는 하나의 플로우(flow) 내에서 복수의 패킷 시그니쳐가 매칭하는 플로우 시그니쳐를 생성할 수 있다. 이때, 시그니쳐 생성부(220)는 하나의 동일한 플로우를 대상으로, 패킷 시그니쳐 집합에 포함된 패킷 시그니쳐들 중 일정 빈도수 이상 추출되는 패킷 시그니쳐를 추출하고, 추출된 패킷 시그니쳐의 조합을 플로우 시그니쳐로 정의(즉, 생성)할 수 있다.
예컨대, 아래의 표 3은 플로우 시그니쳐를 나타낼 수 있다.
위의 표 3에 따르면, 전체 트래픽 내에서 2개의 플로우 시그니쳐가 생성될 수 있다. 즉, 플로우 시그니쳐는 동일한 플로우 내에서 발생하는 패킷 시그니쳐의 집합이므로, 패킷 시그니쳐의 가능한 모든 조합들 중 기정의된 일정 빈도수(예컨대, 플로우의 95%) 이상 발견되는 패킷 시그니쳐의 집합이 플로우 시그니쳐로 정의될 수 있다. 예컨대, 표 2의 패킷 시그니쳐 집합에 포함된 패킷 시그니쳐 1, 패킷 시그니쳐 2, 패킷 시그니쳐 3, 및 패킷 시그니쳐 4 중 하나의 플로우 내에서 일정 빈도수 이상 매칭되는 패킷 시그니쳐들을 모아놓은 집합이 하나의 플로우 시그니쳐(<GET/><MUSIC><32><ALBUM><CASHE-CONROL>)로 생성될 수 있다. 표 3과 같이 전체 트래픽 내에서 2개의 플로우 시그니쳐가 생성될 수 있다. 이때, 플로우가 4개로 분류된 경우, 시그니쳐 생성부(220)는 4개의 플로우들 각각을 대상으로 플로우 시그니쳐를 생성할 수 있다.
350 단계에서, 시그니쳐 생성부(220)는 생성된 콘텐츠 시그니쳐, 패킷 시그니쳐, 플로우 시그니쳐를 복수의 레벨로 하는 페이로드 시그니쳐를 특정 응용에 해당하는 시그니쳐로 생성할 수 있다. 여기서, 콘텐츠 시그니쳐는 하위 레벨, 패킷 시그니쳐는 중간 레벨, 플로우 시그니쳐는 상위 레벨에 해당할 수 있다. 이처럼, 페이로드 시그니쳐는 3개의 레벨로 구성된 시그니쳐 구조를 가질 수 있으며, 생성된 페이로드 시그니쳐에 기초하여 특정 응용이 분석, 즉, 식별될 수 있다.
도 4는 본 발명의 일실시예에 있어서, 페이로드 시그니쳐의 구조를 도시한 도면이다.
도 4에 따르면, 페이로드 시그니쳐는 3개의 레벨, 즉, 콘텐츠 시그니쳐(410), 패킷 시그니쳐(420) 및 플로우 시그니쳐(430)로 구성된 구조를 가질 수 있다.
도 4를 참고하면, 1차적으로 시그니쳐 생성부(220)는 4개의 패킷들에 해당하는 페이로드(411)를 대상으로 공통된 문자열을 추출할 수 있다. 그리고, 추출된 공통 문자열들 중 일정 빈도수 이상(예컨대, 2회 이상) 추출된 공통 문자열을 콘텐츠 시그니쳐(412, 413, 414)로 생성(즉, 정의)할 수 있다. 그리고, 콘텐츠 시그니쳐(412, 413, 414)를 모아놓은 집합이 콘텐츠 시그니쳐 집합(410)에 해당할 수 있다.
그리고, 2차적으로 시그니쳐 생성부(220)는 복수의 콘텐츠 시그니쳐 집합 중 특정 콘텐츠 시그니쳐 집합(410)에 포함된 콘텐츠 시그니쳐들이 하나의 패킷 내에서 일정 빈도수 이상 매칭되는지 여부를 확인할 수 있다. 그리고, 시그니쳐 생성부(220)는 일정 빈도수 이상 매칭되는 적어도 하나의 콘텐츠 시그니쳐 집합을 패킷 시그니쳐로 생성(즉, 정의)할 수 있다. 예컨대, 하나의 패킷 내에서 콘텐츠 시그니쳐 1(412)과 콘텐츠 시그니쳐 2(413)를 포함하는 콘텐츠 시그니쳐 집합이 기정의된 일정 빈도수 이상 포함된 경우(즉 매칭하는 경우), 시그니쳐 생성부(220)는 콘텐츠 시그니쳐 1(412)과 콘텐츠 시그니쳐 2(413)으로 구성된 콘텐츠 시그니쳐 집합을 패킷 시그니쳐 1(421)로 생성(즉, 정의)할 수 있다. 이때, 상기 하나의 패킷 내에서 콘텐츠 시그니쳐 3(413)이 일정 빈도수 이상 매칭하는 경우, 시그니쳐 생성부(220)는 콘텐츠 시그니쳐 3(413)을 패킷 시그니쳐 2(422)로 생성(즉, 정의)할 수 있다. 이처럼, 패킷 시그니쳐는 하나의 패킷(즉, 데이터 트래픽)에서 여러 개의 콘텐츠 시그니쳐가 매칭되어야 하므로 오탐률이 적어 트래픽 분석의 정확성을 향상시킬 수 있다. 이에 따라, 패킷 시그니쳐는 콘텐츠 시그니쳐보다 응용에 보다 정교한 시그니쳐에 해당할 수 있다.
3차적으로, 시그니쳐 생성부(220)는 동일 플로우(flow) 내에서 패킷 시그니쳐 집합(420)에 포함된 패킷 시그니쳐들 중 일정 빈도수 이상 매칭되는 적어도 하나의 패킷 시그니쳐를 플로우 시그니쳐로 생성(즉, 정의)할 수 있다. 예컨대, 동일 플로우 내에서 패킷 시그니쳐 1(421)과 패킷 시그니쳐 2(422)가 기정의된 일정 빈도수 이상 포함된 경우(즉 매칭하는 경우), 시그니쳐 생성부(220)는 패킷 시그니쳐 1(421)과 패킷 시그니쳐 2(422)으로 구성된 집합을 플로우 시그니쳐 1(431)로 생성(즉, 정의)할 수 있다. 이처럼, 플로우 시그니쳐는 동일 플로우 내에서 여러 개의 패킷 시그니쳐가 매칭되어야 하므로 패킷 시그니쳐보다 해당 응용의 분석에 오탐률이 적은 더 정교한 시그니쳐가 될 수 있다.
이러한 콘텐츠 시그니쳐, 패킷 시그니쳐 및 플로우 시그니쳐를 레벨로 하는 페이로드 시그니쳐의 구조는 아래의 표 4와 같이 수학식 형태로 표현될 수 있다.
표 4에서, 특정 응용에 대한 공통 문자열 중 일정 빈도수 이상이 되는 9개의 콘텐츠 시그니쳐가 추출된 경우를 가정하면, 콘텐츠 시그니쳐 집합 C는 와 같이 표현될 수 있다. 그리고, 동일 패킷 내에 존재하는 콘텐츠 시그니쳐 집합 중 일정 빈도 수가 넘는 패킷 시그니쳐가 4개인 경우를 가정하면, 패킷 시그니쳐 집합 P는 와 같이 표현될 수 있다. 도 4에서는 플로우 시그니쳐가 1개인 경우를 도시하였으나, 하나의 플로우 내에서 플로우 시그니쳐가 2개 이상 추출될 수 있으며, 플로우 시그니쳐가 2개 추출된 경우, 로 표현될 수 있으며, 를 나타낼 수 있다. 여기서, c1 내지 c9, p1 내지 p4, f1 내지 f2는 위의 표 1 내지 표 3의 시그니쳐 ID(signatureid)를 나타낼 수 있다. 위의 표 1 내지 표 3과 위에서 설명한 상기 집합 C, P, F를 참고하면, 콘텐츠 시그니쳐 6(C6), 패킷 시그니쳐 4(P4), 플로우 시그니쳐 2(f2)는 모두 문자열 <FACEBOOK> 문자열을 나타내는 시그니쳐에 해당할 수 있다. 이때, 응용에 대한 분석률이 모두 같을지라도 콘텐츠 시그니쳐 6(C6)보다 패킷 시그니쳐 4(P4)가 해당 응용에 보다 정교하고, 패킷 시그니쳐 4(P4)보다 플로우 시그니쳐 2(f2)가 해당 응용에 보다 정교한 시그니쳐에 해당할 수 있다.
한편, 콘텐츠 시그니쳐, 패킷 시그니쳐, 플로우 시그니쳐와 같이 복수의 레벨 구조를 갖는 페이로드 시그니쳐를 이용하여 트래픽을 분석하는 경우, 패킷 시그니쳐 또는 플로우 시그니쳐를 사용하여 트래픽을 분석함에 따라 분석률에 한계가 존재할 수 있다. 예컨대, 패킷 시그니쳐를 사용하는 경우, 하나의 패킷 시그니쳐가 매칭되기 위해서는 해당 패킷 시그니쳐를 생성하기 위해 사용된 적어도 하나의 콘텐츠 시그니쳐가 모두 매칭되어야 할 수 있다. 즉, 콘텐츠 시그니쳐 3개를 기반으로 하나의 패킷 시그니쳐가 생성된 경우, 3개의 콘텐츠 시그니쳐 모두가 매칭되어야 패킷 시그니쳐가 매칭되는 것으로 트래픽을 분석할 수 있다. 이에 따라, 새로운 페이로드 시그니쳐 구조에 맞는 분석률 계산이 수행될 수 있다.
도 5는 본 발명의 일실시예에 있어서, 복수의 레벨 구조를 가지는 페이로드 시그니쳐를 이용하여 트래픽의 분석률을 계산하는 방법을 도시한 흐름도이다.
도 5에서, 각 단계들(510 내지 520 단계)는 도 2의 분석률 계산부(230)에 의해 수행될 수 있다.
510 단계에서, 분석률 계산부(230)는 전체 트래픽(즉, 패킷)을 대상으로, 하나의 패킷 시그니쳐에 해당하는 적어도 하나의 콘텐츠 시그니쳐와 매칭하는 트래픽의 양(즉, 트래픽의 개수)을 계산할 수 있다.
520 단계에서, 분석률 계산부(230)는 계산된 트래픽의 양(즉, 트래픽의 개수)과 전체 트래픽의 양(즉, 전체 트래픽의 개수)에 기초하여 페이로드 시그니쳐의 분석률을 계산할 수 있다. 즉, 분석률 계산부(230)는 복수의 레벨 구조를 갖는 페이로드 시그니쳐로 특정 응용을 통해 유입된 트래픽을 분석할 때의 분석률을 계산할 수 있다.
예를 들어, 분석률 계산부(230)는 아래의 수학식 1에 기초하여 분석률을 계산할 수 있다.
[수학식 1]
페이로드 시그니쳐가 단순히 콘텐츠 시그니쳐가 아닌 패킷 시그니쳐와 플로우 시그니쳐와 같이 콘텐츠 시그니쳐보다 높은 레벨의 시그니쳐로 구성된 구조를 가지는 경우, 상위 레벨의 시그니쳐는 하위 레벨의 시그니쳐의 집합으로 생성되므로 하위 레벨의 시그니쳐가 분석한 트래픽은 상위 레벨의 시그니쳐도 분석할 수 있다.
예를 들어, 수학식 1에서, 3개의 콘텐츠 시그니쳐 A, B, C가 하나의 패킷 시그니쳐를 생성하기 위해 이용된 경우, 패킷 시그니쳐의 분석률은 콘텐츠 시그니쳐 집합에 포함된 콘텐츠 시그니쳐 A, B, C가 매칭된 트래픽의 양을 단순히 더하는 것이 아니라, 분석률 계산부(230)는 하나의 패킷 시그니쳐를 구성하는 콘텐츠 시그니쳐 A, B, C로 분석한 트래픽들(즉, 패킷 시그니쳐로 분석한 트래픽들)의 합집합의 양을 전체 트래픽의 양으로 나눈 것의 백분율을 계산하여 분석률을 계산할 수 있다. 즉, 콘텐츠 시그니쳐 A, B, C가 각각 분석한 트래픽이 중복될 수 있으므로 A, B, C의 합집합의 양을 전체 트래픽의 양으로 나눌 수 있다. 이에 따라, 콘텐츠 시그니쳐보다 높은 레벨(패킷 시그니쳐, 플로우 시그니쳐)의 시그니쳐를 사용하여 응용 트래픽을 분석하는 경우에 하위 레벨의 시그니쳐를 이용할 때의 분석률을 그대로 유지하면서 오탐률은 감소시켜 특정 응용을 보다 정확히 분석할 수 있다. 상위 레벨의 시그니쳐 구조를 사용하는 경우, 시그니쳐의 개수를 줄이면서 특정 응용에 더 정교한 시그니쳐가 생성되므로, 상위 레벨의 시그니쳐를 다수개 보유할 시 대용량의 트래픽을 콘텐츠 시그니쳐와 같은 하위 레벨의 시그니쳐를 이용할 때 보다 빠른 시간에 분석할 수 있다.
아래의 표 5는 복수의 레벨 구조를 가진 페이로드 시그니쳐를 이용하여 특정 응용 트래픽에 적용하는 경우의 실험 환경을 나타낼 수 있다.
먼저 수집된 트래픽을 TMA(Traffic Measurement Agent)를 이용하여 정답지 트래픽(Ground Traffic, GTT)이 생성될 수 있다. 그리고, 응용 1(예컨대, 네이버), 응용 2(예컨대, 야후)의 정답지 트래픽(Ground Traffic, GTT)을 바탕으로 각각의 응용들의 콘텐츠 시그니쳐와 패킷 시그니쳐가 추출될 수 있다. 추출한 2가지 응용에 해당하는 콘텐츠 시그니쳐와 패킷 시그니쳐를 반대로 적용하여 표 5의 (2)와 (3)이 계산될 수 있다. 예컨대, 응용 1의 패킷 시그니쳐와 콘텐츠 시그니쳐 각각을 이용하여 응용 2의 트래픽을 분석하고, 응용 2의 패킷 시그니쳐와 콘텐츠 시그니쳐 각각을 이용하여 응용 1의 트래픽을 분석하여 표 5의 (2)와 (3)이 계산될 수 있다. 표 5의 (1)과 (4)는 2가지 응용의 시그니쳐로 해당 응용의 정답지 트래픽(GTT)을 분석한 경우의 분석률을 나타낼 수 있다. 즉, 분석률 계산부(230)는 표 5의 (1), (2), (3), (4)의 값에 기초하여 콘텐츠 시그니쳐와 패킷 시그니쳐의 분석률과 오탐률을 비교 분석할 수 있다.
표 5에서, GTT는 정답지 트래픽을 나타내고, Sig는 시그니쳐를 나타낼 수 있다. 그리고, (1)은 응용 1의 시그니쳐를 응용 1의 정답지 트래픽에 적용한 분석률을 나타내고, 이는 응용 1 분석에 대한 TP(True Positive)에 해당할 수 있다. (2)는 응용 2의 시그니쳐를 응용 1의 정답지 트래픽에 적용한 분석률을 나타내며, 이는 응용 2의 분석에 대한 FP(False Positive), 즉, 오탐률을 나타낼 수 있다. (3)은 응용 1의 시그니쳐를 응용 2의 정답지 트래픽이 적용한 분석률을 나타내는 것으로서, 응용 2의 분석에 대한 FP(False Positive), 즉, 오탐률에 해당할 수 있다. (4)는 응용 2의 시그니쳐로 응용 2의 정답지 트래픽을 분석한 분석률을 나타내는 것으로서, 응용 2에 대한 TP(True Positive)에 해당할 수 있다.
아래의 표 6은 위의 표 5 실험 조건에 따른 실험 결과로서, 응용 1과 응용 2의 오탐률을 나타낼 수 있다. 표 6에서 실험 결과에 해당하는 모든 값은 트래픽의 플로우(flow) 단위에 해당할 수 있다.
표 6의 FP를 참고하면, 응용 1 및 응용 2 모두에서 콘텐츠 시그니쳐의 오탐률보다 패킷 시그니쳐의 오탐률이 더 낮음을 확인할 수 있다. 그리고, 표 6의 TP를 참고하면, 응용 1 및 응용 2 모두에서 콘텐츠 시그니쳐에 비해 패킷 시그니쳐의 분석률이 변화가 적음을 확인할 수 있다.
이상에서 설명한 바와 같이, 특정 응용에 대한 페이로드 시그니쳐의 구조가 콘텐츠 시그니쳐, 패킷 시그니쳐 및 플로우 시그니쳐가 복수의 레벨로 구성되도록 정의됨에 따라, 응용 별 시그니쳐 추출 시 시그니쳐 중복을 감소 또는 방지하고, 응용 트래픽 분석 시 오탐률을 감소시켜 신뢰성을 높일 수 있다. 즉, 효율적인 네트워크 관리가 가능할 수 있다. 그리고, 표 5 및 표 6의 실험을 통해 확인한 바와 같이, 페이로드 시그니쳐가 복수의 레벨 구조를 가짐에 따라 TP, FP의 수치 분석 결과, 해당 시그니쳐로 해당 응용을 분석하는 분석률인 TP는 유지시키면서 오탐률인 FP의 수치는 감소시키는 것을 알 수 있다.
소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
Claims (11)
- 복수의 응용들과 관련된 트래픽을 수집하는 단계;
수집된 트래픽들을 대상으로 공통 문자열을 추출하여 콘텐츠 시그니쳐를 포함하는 콘텐츠 시그니쳐 집합을 생성하는 단계;
상기 수집된 트래픽들 중 어느 하나의 트래픽을 대상으로, 상기 콘텐츠 시그니쳐 집합에 포함된 콘텐츠 시그니쳐들 중 복수의 콘텐츠 시그니쳐가 매칭하는 패킷 시그니쳐를 생성하는 단계; 및
상기 수집된 트래픽들을 기반으로 하는 플로우를 대상으로 복수의 패킷 시그니쳐가 매칭하는 플로우 시그니쳐를 생성하는 단계
를 포함하는 페이로드 시그니쳐 생성 방법. - 제1항에 있어서,
상기 콘텐츠 시그니쳐를 하위 레벨, 패킷 시그니쳐를 중간 레벨 및 플로우 시그니쳐를 상위 레벨의 구조로 하는 페이로드 시그니쳐를 특정 응용을 식별하기 위한 시그니쳐로 생성하는 단계
를 더 포함하는 페이로드 시그니쳐 생성 방법. - 제1항에 있어서,
상기 플로우 시그니쳐를 생성하는 단계는,
상기 수집된 트래픽들에 포함된 패킷들을 대상으로 패킷의 헤더 중 5-튜플 정보가 동일한 패킷들을 추출하는 단계; 및
추출된 패킷들 각각을 상기 플로우로 정의하는 단계
를 포함하는 페이로드 시그니쳐 생성 방법. - 제3항에 있어서,
상기 플로우 시그니쳐를 생성하는 단계는,
전체 트래픽을 대상으로 동일 플로우 내에서 복수의 패킷 시그니쳐가 매칭하는 플로우 시그니쳐를 정의하는 단계
를 더 포함하는 페이로드 시그니쳐 생성 방법. - 제3항에 있어서,
상기 5-튜플 정보는, 패킷의 헤더에 포함된 출발지 IP 주소 정보, 목적지 IP 주소 정보, 출발지 포트 번호, 목적지 포트 번호 및 4계층 프로토콜 정보를 포함하는 것
을 특징으로 하는 페이로드 시그니쳐 생성 방법. - 제1항에 있어서,
상기 패킷 시그니쳐를 생성하는 단계는,
상기 어느 하나의 트래픽을 대상으로 기정의된 일정 빈도 수 이상 매칭하는 복수의 콘텐츠 시그니쳐의 집합을 상기 패킷 시그니쳐로 생성하는 것
을 특징으로 하는 페이로드 시그니쳐 생성 방법. - 제1항에 있어서,
전체 트래픽(total traffic)을 대상으로 하나의 패킷 시그니쳐에 해당하는 적어도 하나의 콘텐츠 시그니쳐와 매칭하는 트래픽의 양을 계산하는 단계; 및
계산된 상기 트래픽의 양과 전체 트래픽의 양에 기초하여 페이로드 시그니쳐의 분석률을 계산하는 단계
를 더 포함하는 페이로드 시그니쳐 생성 방법. - 복수의 응용들과 관련된 트래픽들을 수집하는 트래픽 수집부; 및
수집된 트래픽들을 대상으로 공통 문자열을 추출하여 콘텐츠 시그니쳐를 포함하는 콘텐츠 시그니쳐 집합을 생성하고, 상기 수집된 트래픽들 중 어느 하나의 트래픽들을 대상으로, 상기 콘텐츠 시그니쳐 집합에 포함된 콘텐츠 시그니쳐들 중 복수의 콘텐츠 시그니쳐가 매칭하는 패킷 시그니쳐를 생성하고, 상기 수집된 트래픽들을 기반으로 하는 플로우를 대상으로 복수의 패킷 시그니쳐가 매칭하는 플로우 시그니쳐를 생성하는 시그니쳐 생성부
를 포함하는 페이로드 시그니쳐 생성 시스템. - 제8항에 있어서,
상기 시그니쳐 생성부는,
상기 콘텐츠 시그니쳐를 하위 레벨, 패킷 시그니쳐를 중간 레벨 및 플로우 시그니쳐를 상위 레벨의 구조로 하는 페이로드 시그니쳐를 특정 응용을 식별하기 위한 시그니쳐로 생성하는 것
을 특징으로 하는 페이로드 시그니쳐 생성 시스템. - 제8항에 있어서,
상기 시그니쳐 생성부는,
상기 수집된 트래픽들에 포함된 패킷들을 대상으로 패킷의 헤더 중 5-튜플 정보가 동일한 패킷들을 추출하고, 추출된 패킷들 각각을 상기 플로우로 정의하고, 전체 트래픽을 대상으로 동일 플로우 내에서 복수의 패킷 시그니쳐가 매칭하는 플로우 시그니쳐를 정의하는 것
을 특징으로 하는 페이로드 시그니쳐 생성 시스템. - 제8항에 있어서,
전체 트래픽(total traffic)을 대상으로 하나의 패킷 시그니쳐에 해당하는 적어도 하나의 콘텐츠 시그니쳐와 매칭하는 트래픽의 양을 계산하고, 계산된 상기 트래픽의 양과 전체 트래픽의 양에 기초하여 페이로드 시그니쳐의 분석률을 계산하는 분석률 계산부
를 더 포함하는 페이로드 시그니쳐 생성 시스템.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160162049A KR101886526B1 (ko) | 2016-11-30 | 2016-11-30 | 응용 트래픽 분류에 정교한 페이로드 시그니쳐 생성 방법 및 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160162049A KR101886526B1 (ko) | 2016-11-30 | 2016-11-30 | 응용 트래픽 분류에 정교한 페이로드 시그니쳐 생성 방법 및 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180062126A KR20180062126A (ko) | 2018-06-08 |
KR101886526B1 true KR101886526B1 (ko) | 2018-08-07 |
Family
ID=62600587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160162049A KR101886526B1 (ko) | 2016-11-30 | 2016-11-30 | 응용 트래픽 분류에 정교한 페이로드 시그니쳐 생성 방법 및 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101886526B1 (ko) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101560820B1 (ko) * | 2013-11-29 | 2015-10-15 | (주) 시스메이트 | 시그니처 기반 어플리케이션 식별 장치 및 방법 |
-
2016
- 2016-11-30 KR KR1020160162049A patent/KR101886526B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101560820B1 (ko) * | 2013-11-29 | 2015-10-15 | (주) 시스메이트 | 시그니처 기반 어플리케이션 식별 장치 및 방법 |
Non-Patent Citations (1)
Title |
---|
‘응용 레벨 트래픽 분류를 위한 시그니쳐 생성 및 갱신 시스템 개발’, 정보처리학회논문지, pp.99-108, 2010.02 |
Also Published As
Publication number | Publication date |
---|---|
KR20180062126A (ko) | 2018-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107665191B (zh) | 一种基于扩展前缀树的私有协议报文格式推断方法 | |
CN111565205B (zh) | 网络攻击识别方法、装置、计算机设备和存储介质 | |
Vlăduţu et al. | Internet traffic classification based on flows' statistical properties with machine learning | |
WO2017107965A1 (zh) | 一种web异常检测方法和装置 | |
US8666985B2 (en) | Hardware accelerated application-based pattern matching for real time classification and recording of network traffic | |
Zhang et al. | Proword: An unsupervised approach to protocol feature word extraction | |
Zhang et al. | Toward unsupervised protocol feature word extraction | |
US20140280929A1 (en) | Multi-tier message correlation | |
CN103036910B (zh) | 一种用户Web访问行为控制方法及装置 | |
CN110572402B (zh) | 基于网络访问行为分析的互联网托管网站检测方法、***和可读存储介质 | |
CN109344913B (zh) | 一种基于改进MajorClust聚类的网络入侵行为检测方法 | |
Wang et al. | An unknown protocol syntax analysis method based on convolutional neural network | |
CN114760083A (zh) | 一种攻击检测文件的发布方法、装置及存储介质 | |
CN112235254A (zh) | 一种高速主干网中Tor网桥的快速识别方法 | |
Alouneh et al. | An effective classification approach for big data security based on GMPLS/MPLS networks | |
KR101886526B1 (ko) | 응용 트래픽 분류에 정교한 페이로드 시그니쳐 생성 방법 및 시스템 | |
CN115470489A (zh) | 检测模型训练方法、检测方法、设备以及计算机可读介质 | |
KR102258965B1 (ko) | HTTP 프로토콜의 메쏘드 필드 정보와 content-type 필드 정보를 이용해 웹 공격 유형 범위를 분류하는 방법 및 장치 | |
KR20220093034A (ko) | Dns 트래픽의 이상들을 검출하기 위한 방법 및 장치 | |
KR102080479B1 (ko) | 시나리오 중심 실시간 공격 감지 시스템 및 이를 이용한 시나리오 중심 실시간 공격 감지 방법 | |
CN113037551A (zh) | 一种基于流量切片的涉敏业务快速识别定位方法 | |
Guo et al. | Website fingerprinting attacks based on homology analysis | |
Ma et al. | Grammatch: An automatic protocol feature extraction and identification system | |
KR20100027841A (ko) | 대용량 웹로그마이닝 및 공격탐지를 위한 비트리인덱스벡터기반 웹로그 고속검색방법 및 비-트리기반인덱싱로그 프로세서 | |
JP2022546879A (ja) | ネットワークフォレンジックシステム及びこれを用いたネットワークフォレンジック方法 |
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 |