KR101548378B1 - 행위 시그니쳐 생성 시스템 및 그 방법, 그리고 상기 시스템을 포함하는 네트워크 트래픽 분석 시스템 및 그 방법 - Google Patents

행위 시그니쳐 생성 시스템 및 그 방법, 그리고 상기 시스템을 포함하는 네트워크 트래픽 분석 시스템 및 그 방법 Download PDF

Info

Publication number
KR101548378B1
KR101548378B1 KR1020140106144A KR20140106144A KR101548378B1 KR 101548378 B1 KR101548378 B1 KR 101548378B1 KR 1020140106144 A KR1020140106144 A KR 1020140106144A KR 20140106144 A KR20140106144 A KR 20140106144A KR 101548378 B1 KR101548378 B1 KR 101548378B1
Authority
KR
South Korea
Prior art keywords
traffic
signature
transaction
pattern
signatures
Prior art date
Application number
KR1020140106144A
Other languages
English (en)
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 KR1020140106144A priority Critical patent/KR101548378B1/ko
Application granted granted Critical
Publication of KR101548378B1 publication Critical patent/KR101548378B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명의 일 실시예에 따른 행위 시그니쳐 생성 시스템은 적어도 하나의 플로우를 포함하는 트래픽을 입력 받고, 상기 입력된 트래픽에 기초하여 상기 적어도 하나의 플로우에 대응되는 트랜잭션을 생성하는 엔트리 추출부; 및 상기 트랜잭션으로부터 미리 설정된 지지도를 만족하는 순차 패턴을 추출하여 행위 시그니쳐를 생성하는 순차 패턴 추출부를 포함한다.

Description

행위 시그니쳐 생성 시스템 및 그 방법, 그리고 상기 시스템을 포함하는 네트워크 트래픽 분석 시스템 및 그 방법{BEHAVIOR SIGNATURE GENERATION SYSTEM AND METHOD, AND NETWORK TRAFFIC ANALYZATION SYSTEM AND METHOD WITH THE SAME}
본 발명의 실시예들은 행위 시그니쳐 생성 시스템 및 그 방법과, 상기 행위 시그니쳐 생성 시스템을 포함하는 네트워크 트래픽 분석 시스템 및 그 방법에 관한 것이다.
네트워크 관리의 목적은 네트워크 자원을 최대한 활용하고 비정상 공격으로부터 네트워크 장비를 보호하는 것이다. 이를 위해 네트워크 관리자들은 적절한 네트워크 정책을 수립하여 적용한다.
네트워크 정책은 특정 트래픽을 차단하거나 대역폭을 조절하는 방법으로 수행되기 때문에 트래픽의 발생 원천을 알아내는 트래픽 분석 결과를 기반한다. 트래픽 분석은 응용을 대표하는 고유한 특성을 기반으로 트래픽을 발생시킨 응용을 명시하는 것으로써, 분석 결과는 네트워크 정책뿐만 아니라, capacity planning, network provisioning, traffic engineering, fault diagnosis 등과 같은 다양한 분야에서 활용된다.
다양한 분석 방법론이 제안되었지만, 점점 복잡해지는 응용의 트래픽 발생 형태로 인해 실제 네트워크 트래픽에 적용하기에는 많은 한계점을 가진다. 포트 기반 분석은 Internet Assigned Number Authority (IANA)가 지정한 잘 알려진 포트 번호를 사용하여 트래픽을 분석한다. 하지만, 지정된 포트 번호 사용을 위반하는 응용들의 출현으로 분석 결과의 정확도를 신뢰하기 어렵다.
이러한 한계점을 극복하기 위해 분석 대상 응용을 대표하는 고유한 부분 문자열을 사용하여 트래픽을 분석하는 페이로드 기반 분석 방법이 제안되었다. 실제 발생된 패킷의 페이로드를 검사하기 때문에 높은 분석률과 정확도를 보장하지만, 암호화된 페이로드를 포함하는 트래픽과 터널링 기법을 사용한 트래픽을 분석하지 못하고 사생활 침해 문제를 야기시킨다.
최근에는 페이로드 기반 분석 방법의 한계점을 보완하기 위해 통계 기반 분석이 제안되고 있다. 통계 기반 분석은 응용 트래픽이 가지는 고유한 통계 특징을 머신러닝 알고리즘에 적용하여 트래픽을 분석한다. 하지만, 유사한 통계적 특징을 가지는 응용들 간의 구분이 어렵고, 세밀한 기능별 트래픽 분석이 불가능하다는 단점이 존재한다.
관련 선행기술로는 등록특허공보 제10-0629756호(발명의 명칭: 네트워크 트래픽 분석 방법 및 시스템, 등록일자: 2006년 9월 22일)가 있다.
본 발명의 일 실시예는 순차 패턴 알고리즘을 이용하여 행위 시그니쳐를 생성함으로써 입력 데이터의 크기에 상관없이 행위 시그니쳐를 효과적으로 생성할 수 있는 행위 시그니쳐 생성 시스템 및 그 방법을 제공한다.
본 발명의 다른 실시예는 순차 패턴 알고리즘을 이용하여 행위 시그니쳐를 생성함으로써 네트워크 트래픽 분석의 정확성 및 신뢰성을 향상시킬 수 있는 네트워크 트래픽 분석 시스템 및 그 방법을 제공한다.
본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 따른 행위 시그니쳐 생성 시스템은 적어도 하나의 플로우를 포함하는 트래픽을 입력 받고, 상기 입력된 트래픽에 기초하여 상기 적어도 하나의 플로우에 대응되는 트랜잭션을 생성하는 엔트리 추출부; 및 상기 트랜잭션으로부터 미리 설정된 지지도를 만족하는 순차 패턴을 추출하여 행위 시그니쳐를 생성하는 순차 패턴 추출부를 포함한다.
상기 엔트리 추출부는 상기 트래픽에 포함된 모든 플로우의 페이로드를 복수의 노드를 포함하는 스트링 트리로 구성하고, 전체 호스트의 개수 및 상기 스트링 트리의 각 노드에서 해당 문자열을 갖는 호스트의 개수에 기초하여 상기 스트링 트리의 각 노드마다 상기 지지도를 계산할 수 있다.
상기 엔트리 추출부는 상기 전체 호스트의 개수 중에서 상기 해당 문자열을 포함하는 호스트의 개수를 비율화하여 상기 지지도를 계산할 수 있다.
상기 엔트리 추출부는 상기 플로우의 페이로드에서 상기 지지도가 감소하지 않는 최대 길이의 문자열만 추출할 수 있다.
상기 순차 패턴 추출부는 단일 호스트에서 발생한 모든 트랜잭션의 엔트리들을 조합하여 상기 순차 패턴을 추출할 수 있다.
본 발명의 일 실시예에 따른 행위 시그니쳐 생성 시스템은 상기 적어도 하나의 플로우에 대응되는 호스트 아이디 및 수집 시간에 기초하여 상기 트랜잭션을 정렬하는 트랜잭션 정렬부를 더 포함할 수 있다.
상기 트랜잭션 정렬부는 상기 호스트 아이디를 주키(major key)로, 상기 수집 시간을 보조키(minor key)로 사용하여 상기 트랜잭션을 정렬할 수 있다.
본 발명의 일 실시예에 따른 행위 시그니쳐 생성 시스템은 상기 추출된 순차 패턴에 해당하는 후보 행위 시그니쳐가 복수개인 경우, 상기 복수개의 후보 행위 시그니쳐 간의 포함 관계를 확인하여 부분성이 있는 후보 행위 시그니쳐를 삭제 처리하는 최대 길이 패턴 추출부를 더 포함할 수 있다.
상기 행위 시그니쳐는 응용의 특정 기능을 수행할 때 발생하는 트래픽들의 첫 질의 패킷들로 구성될 수 있다.
상기 적어도 하나의 플로우는 출발지 주소, 출발지 포트 번호, 4계층 프로토콜, 목적지 주소, 목적지 포트 번호, 수집 시간, 및 페이로드 중에서 적어도 어느 하나를 포함할 수 있다.
상기 트랜잭션은 호스트 아이디, 수집 시간, 및 엔트리 중에서 적어도 어느 하나를 포함할 수 있다.
본 발명의 일 실시예에 따른 네트워크 트래픽 분석 시스템은 적어도 하나의 플로우를 포함하는 트래픽에 대응되는 트랜잭션을 생성하고, 상기 트랜잭션으로부터 미리 설정된 지지도를 만족하는 순차 패턴을 추출하여 행위 시그니쳐를 생성하는 행위 시그니쳐 생성부; 및 상기 행위 시그니쳐에 기초하여 네트워크 트래픽을 분석하는 트래픽 분석부를 포함한다.
상기 행위 시그니쳐 생성부는 상기 적어도 하나의 플로우를 포함하는 트래픽을 입력 받고, 상기 입력된 트래픽에 기초하여 상기 적어도 하나의 플로우에 대응되는 트랜잭션을 생성하는 엔트리 추출부; 및 상기 트랜잭션으로부터 상기 지지도를 만족하는 순차 패턴을 후보 행위 시그니쳐로서 추출하는 순차 패턴 추출부를 포함할 수 있다.
상기 엔트리 추출부는 상기 트래픽에 포함된 모든 플로우의 페이로드를 복수의 노드를 포함하는 스트링 트리로 구성하고, 전체 호스트의 개수 및 상기 스트링 트리의 각 노드에서 해당 문자열을 갖는 호스트의 개수에 기초하여 상기 스트링 트리의 각 노드마다 상기 지지도를 계산할 수 있다.
상기 엔트리 추출부는 상기 전체 호스트의 개수 중에서 상기 해당 문자열을 포함하는 호스트의 개수를 비율화하여 상기 지지도를 계산할 수 있다.
상기 엔트리 추출부는 상기 플로우의 페이로드에서 상기 지지도가 감소하지 않는 최대 길이의 문자열만 추출할 수 있다.
상기 순차 패턴 추출부는 단일 호스트에서 발생한 모든 트랜잭션의 엔트리들을 조합하여 상기 순차 패턴을 추출할 수 있다.
상기 행위 시그니쳐 생성부는 상기 순차 패턴 추출부에 의해 추출된 상기 후보 행위 시그니쳐가 복수개인 경우, 상기 복수개의 후보 행위 시그니쳐 간의 포함 관계를 확인하여 부분성이 있는 후보 행위 시그니쳐를 삭제 처리하는 최대 길이 패턴 추출부를 더 포함할 수 있다.
본 발명의 일 실시예에 따른 행위 시그니쳐 생성 방법은 행위 시그니쳐 생성 시스템의 엔트리 추출부에서, 적어도 하나의 플로우를 포함하는 트래픽을 입력 받고, 상기 입력된 트래픽에 기초하여 상기 적어도 하나의 플로우에 대응되는 트랜잭션을 생성하는 단계; 및 상기 행위 시그니쳐 생성 시스템의 순차 패턴 추출부에서, 상기 트랜잭션으로부터 미리 설정된 지지도를 만족하는 순차 패턴을 추출하여 행위 시그니쳐를 생성하는 단계를 포함한다.
본 발명의 일 실시예에 따른 행위 시그니쳐 생성 방법은 상기 트랜잭션을 생성하는 단계에서, 상기 트래픽에 포함된 모든 플로우의 페이로드를 복수의 노드를 포함하는 스트링 트리로 구성하는 단계; 및 전체 호스트의 개수 및 상기 스트링 트리의 각 노드에서 해당 문자열을 갖는 호스트의 개수에 기초하여 상기 스트링 트리의 각 노드마다 상기 지지도를 계산하는 단계를 더 포함할 수 있다.
상기 행위 시그니쳐를 생성하는 단계는 단일 호스트에서 발생한 모든 트랜잭션의 엔트리들을 조합하여 상기 순차 패턴을 추출하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따른 행위 시그니쳐 생성 방법은 상기 행위 시그니쳐 생성 시스템의 트랜잭션 정렬부에서, 상기 적어도 하나의 플로우에 대응되는 호스트 아이디 및 수집 시간에 기초하여 상기 트랜잭션을 정렬하는 단계를 더 포함할 수 있다.
상기 트랜잭션을 정렬하는 단계는 상기 호스트 아이디를 주키(major key)로, 상기 수집 시간을 보조키(minor key)로 사용하여 상기 트랜잭션을 정렬하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따른 행위 시그니쳐 생성 방법은 상기 추출된 순차 패턴에 해당하는 후보 행위 시그니쳐가 복수개인 경우, 상기 행위 시그니쳐 생성 시스템의 최대 길이 패턴 추출부에서, 상기 복수개의 후보 행위 시그니쳐 간의 포함 관계를 확인하여 부분성이 있는 후보 행위 시그니쳐를 삭제 처리하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 따른 네트워크 트래픽 분석 방법은 네트워크 트래픽 분석 시스템의 행위 시그니쳐 생성부에서, 적어도 하나의 플로우를 포함하는 트래픽에 대응되는 트랜잭션을 생성하는 단계; 상기 네트워크 트래픽 분석 시스템의 행위 시그니쳐 생성부에서, 상기 트랜잭션으로부터 미리 설정된 지지도를 만족하는 순차 패턴을 추출하여 행위 시그니쳐를 생성하는 단계; 및 상기 네트워크 트래픽 분석 시스템의 트래픽 분석부에서, 상기 행위 시그니쳐에 기초하여 네트워크 트래픽을 분석하는 단계를 포함한다.
본 발명의 일 실시예에 따른 네트워크 트래픽 분석 방법은 상기 트랜잭션을 생성하는 단계에서, 상기 트래픽에 포함된 모든 플로우의 페이로드를 복수의 노드를 포함하는 스트링 트리로 구성하는 단계; 및 전체 호스트의 개수 및 상기 스트링 트리의 각 노드에서 해당 문자열을 갖는 호스트의 개수에 기초하여 상기 스트링 트리의 각 노드마다 상기 지지도를 계산하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 따른 네트워크 트래픽 분석 방법은 상기 추출된 순차 패턴에 해당하는 후보 행위 시그니쳐가 복수개인 경우, 상기 행위 시그니쳐 생성부의 최대 길이 패턴 추출부에서, 상기 복수개의 후보 행위 시그니쳐 간의 포함 관계를 확인하여 부분성이 있는 후보 행위 시그니쳐를 삭제 처리하는 단계를 더 포함할 수 있다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 첨부 도면들에 포함되어 있다.
본 발명의 일 실시예에 따르면, 순차 패턴 알고리즘을 이용하여 행위 시그니쳐를 생성함으로써 입력 데이터의 크기에 상관없이 행위 시그니쳐를 효과적으로 생성할 수 있다.
본 발명의 다른 실시예에 따르면, 순차 패턴 알고리즘을 이용하여 행위 시그니쳐를 생성함으로써 네트워크 트래픽 분석의 정확성 및 신뢰성을 향상시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 행위 시그니쳐 생성 시스템을 설명하기 위해 도시한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 네트워크 트래픽 분석 시스템을 설명하기 위해 도시한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 행위 시그니쳐 생성 방법을 설명하기 위해 도시한 흐름도이다.
도 4 및 도 5는 본 발명의 일 실시예에 따른 네트워크 트래픽 분석 방법을 설명하기 위해 도시한 흐름도이다.
도 6은 본 발명의 일 실시예에 따라 트랜잭션을 생성할 때 사용되는 스트링 트리의 일례를 도시한 도면이다.
본 발명의 이점 및/또는 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다.
이하에서는 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 행위 시그니쳐 생성 시스템을 설명하기 위해 도시한 블록도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 행위 시그니쳐 생성 시스템(100)은 엔트리 추출부(110), 트랜잭션 정렬부(120), 순차 패턴 추출부(130), 최대 길이 패턴 추출부(140), 패턴 최적화부(150), 및 제어부(160)를 포함할 수 있다.
상기 엔트리 추출부(110)는 적어도 하나의 플로우(flow)를 포함하는 트래픽을 입력 받고, 상기 입력된 트래픽에 기초하여 상기 적어도 하나의 플로우에 대응되는 트랜잭션(transaction)을 생성한다. 이때, 상기 엔트리 추출부(110)는 상기 플로우 당 하나의 트랜잭션을 생성할 수 있다.
여기서, 상기 적어도 하나의 플로우는 출발지 주소, 출발지 포트 번호, 4계층 프로토콜, 목적지 주소, 목적지 포트 번호, 수집 시간, 및 페이로드(payload) 중에서 적어도 어느 하나를 포함할 수 있다. 또한, 상기 트랜잭션은 호스트 아이디, 수집 시간, 및 엔트리 중에서 적어도 어느 하나를 포함할 수 있다.
상기 엔트리 추출부(110)는 상기 트래픽에 포함된 모든 플로우의 페이로드를 복수의 노드(node)를 포함하는 스트링 트리(string tree)로 구성할 수 있다(이에 대해서는 도 6을 참조하여 후술하기로 한다). 상기 엔트리 추출부(110)는 전체 호스트의 개수 및 상기 스트링 트리의 각 노드에서 해당 문자열을 갖는 호스트의 개수에 기초하여 상기 스트링 트리의 각 노드마다 지지도(support)를 계산할 수 있다.
즉, 상기 엔트리 추출부(110)는 상기 전체 호스트의 개수 중에서 상기 해당 문자열을 포함하는 호스트의 개수를 비율화하여 상기 지지도를 계산할 수 있다. 상기 엔트리 추출부(110)는 상기 지지도에 기초하여 상기 플로우의 페이로드에서 해당 문자열을 추출할 수 있다. 즉, 상기 엔트리 추출부(110)는 상기 플로우의 페이로드에서 상기 지지도가 감소하지 않는 최대 길이의 문자열만 추출할 수 있다.
상기 트랜잭션 정렬부(120)는 상기 적어도 하나의 플로우에 대응되는 호스트 아이디 및 수집 시간에 기초하여 상기 트랜잭션을 정렬할 수 있다. 이때, 상기 트랜잭션 정렬부(120)는 상기 호스트 아이디를 주키(major key)로, 상기 수집 시간을 보조키(minor key)로 사용하여 상기 트랜잭션을 정렬할 수 있다.
상기 순차 패턴 추출부(130)는 상기 트랜잭션으로부터 미리 설정된 지지도를 만족하는 순차 패턴을 추출하여 행위 시그니쳐를 생성한다. 이때, 상기 순차 패턴 추출부(130)는 단일 호스트에서 발생한 모든 트랜잭션의 엔트리(entry)들을 조합하여 상기 순차 패턴을 추출할 수 있다.
여기서, 상기 지지도는 최소 지지도 값으로 상기 엔트리 추출부(110)에 의해 계산되어 미리 설정될 수 있다. 본 실시예에서 사용되는 순차 패턴 알고리즘은 상기 최소 지지도를 만족하지 못하는 부분 패턴을 조기에 제외함으로써 입력 데이터의 크기에 상관없이 행위 시그니쳐를 생성할 수 있다.
상기 행위 시그니쳐는 응용의 특정 기능을 수행할 때 발생하는 트래픽들의 첫 질의 패킷들로 구성될 수 있다. 상기 행위 시그니쳐는 수학식으로 정의될 수 있으며, 이에 대해서는 뒤에서 자세히 설명하기로 한다(수학식 1, 2 참조).
상기 최대 길이 패턴 추출부(140)는 상기 추출된 순차 패턴에 해당하는 후보 행위 시그니쳐가 복수개인 경우, 상기 복수개의 후보 행위 시그니쳐 간의 포함 관계를 확인하여 부분성이 있는 후보 행위 시그니쳐를 삭제 처리할 수 있다. 즉, 상기 최대 길이 패턴 추출부(140)는 상기 복수개의 후보 행위 시그니쳐로부터 포함성이 있는 부분 시그니쳐를 제거할 수 있다.
상기 패턴 최적화부(150)는 상기 부분 시그니쳐를 제거한 나머지 후보 행위 시그니쳐의 시간 간격, 목적지 주소, 페이로드를 실제 트래픽과 비교하여 구체화된 행위 시그니쳐를 생성할 수 있다. 이로써, 상기 패턴 최적화부(150)는 행위 시그니쳐를 보다 정확하게 최적화시킬 수 있다.
상기 제어부(160)는 본 발명의 일 실시예에 따른 행위 시그니쳐 생성 시스템(100), 즉 상기 엔트리 추출부(110), 상기 트랜잭션 정렬부(120), 상기 순차 패턴 추출부(130), 상기 최대 길이 패턴 추출부(140), 상기 패턴 최적화부(150) 등의 동작을 전반적으로 제어할 수 있다.
도 2는 본 발명의 일 실시예에 따른 네트워크 트래픽 분석 시스템을 설명하기 위해 도시한 블록도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 네트워크 트래픽 분석 시스템(200)은 행위 시그니쳐 생성부(210), 트래픽 분석부(220), 및 제어부(230)를 포함할 수 있다.
상기 행위 시그니쳐 생성부(210)는 적어도 하나의 플로우를 포함하는 트래픽에 대응되는 트랜잭션을 생성하고, 상기 트랜잭션으로부터 미리 설정된 지지도를 만족하는 순차 패턴을 추출하여 행위 시그니쳐를 생성한다.
상기 행위 시그니쳐 생성부(210)는 도 1의 행위 시그니쳐 생성 시스템(100)에 대응되는 구성요소로서, 그 내부 구성요소 역시 상기 행위 시그니쳐 생성 시스템과 동일하다. 따라서, 본 실시예에서는 상기 행위 시그니쳐 생성부(210)에 대한 설명을 도 1 및 그 이하의 설명으로 대체한다.
상기 트래픽 분석부(220)는 상기 행위 시그니쳐에 기초하여 네트워크 트래픽을 분석한다. 즉, 상기 트래픽 분석부(220)는 상기 행위 시그니쳐를 통해 응용 트래픽의 고유한 행동 양식을 수집하여 네트워크 트래픽을 분석할 수 있다.
상기 제어부(230)는 본 발명의 일 실시예에 따른 네트워크 트래픽 분석 시스템(200), 즉 상기 행위 시그니쳐 생성부(210), 상기 트래픽 분석부(220) 등의 동작을 전반적으로 제어할 수 있다.
도 3은 본 발명의 일 실시예에 따른 행위 시그니쳐 생성 방법을 설명하기 위해 도시한 흐름도이다. 상기 행위 시그니쳐 생성 방법은 도 1의 행위 시그니쳐 생성 시스템(100)에 의해 수행될 수 있다.
도 1 및 도 3을 참조하면, 단계(310)에서 상기 행위 시그니쳐 생성 시스템(100)의 엔트리 추출부(110)는 적어도 하나의 플로우를 포함하는 트래픽을 입력 받는다.
다음으로, 단계(320)에서 상기 행위 시그니쳐 생성 시스템(100)의 엔트리 추출부(110)는 상기 입력된 트래픽에 기초하여 상기 적어도 하나의 플로우에 대응되는 트랜잭션을 생성한다.
다음으로, 단계(330)에서 상기 행위 시그니쳐 생성 시스템(100)의 트랜잭션 정렬부(120)는 상기 적어도 하나의 플로우에 대응되는 호스트 아이디 및 수집 시간에 기초하여 상기 트랜잭션을 정렬한다.
이때, 상기 트랜잭션 정렬부(120)는 상기 호스트 아이디를 주키(major key)로, 상기 수집 시간을 보조키(minor key)로 사용하여 상기 트랜잭션을 정렬할 수 있다.
다음으로, 단계(340)에서 상기 행위 시그니쳐 생성 시스템(100)의 순차 패턴 추출부(130)는 상기 트랜잭션으로부터 미리 설정된 지지도를 만족하는 순차 패턴을 추출한다.
다음으로, 단계(350)에서 상기 행위 시그니쳐 생성 시스템(100)의 최대 길이 패턴 추출부(140)는 상기 추출된 순차 패턴에 해당하는 후보 행위 시그니쳐 간의 포함 관계를 확인하여 부분성이 있는 후보 행위 시그니쳐를 삭제 처리한다. 즉, 상기 최대 길이 패턴 추출부(140)는 상기 추출된 모든 후보 행위 시그니쳐를 탐색하면서 후보 행위 시그니쳐에 포함된 모든 부분 시그니쳐를 삭제할 수 있다.
다음으로, 단계(360)에서 상기 행위 시그니쳐 생성 시스템(100)의 패턴 최적화부(150)는 상기 부분 시그니쳐를 제거한 나머지 후보 행위 시그니쳐의 시간 간격, 목적지 주소, 페이로드를 실제 트래픽과 비교하여 구체화된 행위 시그니쳐를 생성한다. 이로써, 상기 패턴 최적화부(150)는 행위 시그니쳐를 보다 정확하게 최적화시킬 수 있다.
도 4 및 도 5는 본 발명의 일 실시예에 따른 네트워크 트래픽 분석 방법을 설명하기 위해 도시한 흐름도이다. 상기 네트워크 트래픽 분석 방법은 도 2의 네트워크 트래픽 분석 시스템(200)에 의해 수행될 수 있다.
먼저 도 2 및 도 4를 참조하면, 단계(410)에서 상기 네트워크 트래픽 분석 시스템(200)의 행위 시그니쳐 생성부(210)는 적어도 하나의 플로우를 포함하는 트래픽에 대응되는 트랜잭션을 생성한다.
다음으로, 단계(420)에서 상기 네트워크 트래픽 분석 시스템(200)의 행위 시그니쳐 생성부(210)는 상기 트랜잭션으로부터 미리 설정된 지지도를 만족하는 순차 패턴을 추출하여 행위 시그니쳐를 생성한다. 이하에서는 상기 순차 패턴을 추출하여 행위 시그니쳐를 생성하는 과정에 대해 도 5를 참조하여 구체적으로 설명하기로 한다.
즉, 도 2 및 도 5를 참조하면, 단계(510)에서 상기 네트워크 트래픽 분석 시스템(200)의 행위 시그니쳐 생성부(210)는 상기 적어도 하나의 플로우에 대응되는 호스트 아이디 및 수집 시간에 기초하여 상기 트랜잭션을 정렬한다.
이후, 단계(520)에서 상기 네트워크 트래픽 분석 시스템(200)의 행위 시그니쳐 생성부(210)는 상기 트랜잭션으로부터 미리 설정된 지지도를 만족하는 순차 패턴을 추출한다.
이후, 단계(530)에서 상기 네트워크 트래픽 분석 시스템(200)의 행위 시그니쳐 생성부(210)는 상기 추출된 순차 패턴에 해당하는 후보 행위 시그니쳐 간의 포함 관계를 확인하여 부분성이 있는 후보 행위 시그니쳐를 삭제 처리한다.
이후, 단계(540)에서 상기 네트워크 트래픽 분석 시스템(200)의 행위 시그니쳐 생성부(210)는 상기 부분 시그니쳐를 제거한 나머지 후보 행위 시그니쳐의 시간 간격, 목적지 주소, 페이로드를 실제 트래픽과 비교하여 구체화된 행위 시그니쳐를 생성한다.
다시 도 2 및 도 4를 참조하면, 단계(430)에서 상기 네트워크 트래픽 분석 시스템(200)의 트래픽 분석부(220)는 상기 생성된 행위 시그니쳐에 기초하여 네트워크 트래픽을 분석한다.
이하에서는 본 발명의 실시예들에 대해 표 및 수학식 등을 참조하여 보다 구체적으로 설명하고, 그에 따른 실험 및 결과에 대해서도 살펴 보기로 한다.
1. 시그니쳐 추출 알고리즘
본 실시예에서는 순차 패턴 알고리즘을 사용하여 행위 시그니쳐를 추출(생성)하는 방법에 대해 설명한다. 표 1은 3명의 호스트가 특정 인터넷 응용을 사용할 때 발생시킨 트래픽을 나타낸다. 본 추출 알고리즘의 목적은 표 1과 같이 여러 호스트가 발생한 특정 응용의 트래픽으로부터 일정 지지도를 가지는 순차 패턴을 행위 시그니쳐로 추출하는 것이다. 표 2는 표 1의 트래픽에서 최소 지지도 60%를 만족하는(최소 2명의 호스트에서 발생) 행위 시그니쳐를 추출한 결과이다.
Figure 112014077289361-pat00001
Figure 112014077289361-pat00002
표 2의 시그니쳐는 3개의 엔트리와 특정 시간 간격으로 구성된다. 즉, 13,000ms 이내에 제시된 3개의 엔트리가 특정 호스트에 순차적으로 발생되면 해당 트래픽들을 분석한다.
행위 시그니쳐는 수학식 1, 2, 3과 같이 정의한다. 행위 시그니쳐 집합 BS는 행위 시그니쳐 BSi로 구성되며, 각각의 BSi는 시간 간격(I)와 단일 호스트에서 발생한 트래픽들의 첫 질의 패킷에서 추출한 엔트리(Ei)로 구성된다. Ei는 {ip, port, prot, payload}로 구성된 집합의 Ø집합을 제외한 멱집합(power set)의 집합 원소로 구성된다.
Figure 112014077289361-pat00003
Figure 112014077289361-pat00004
Figure 112014077289361-pat00005
시그니쳐 추출을 위한 시그니쳐 추출 알고리즘은 총 5단계로 수행된다. 상기 시그니쳐 추출 알고리즘의 입력은 플로우 형태의 트래픽(F)과 최소 지지도(α)이고 출력은 행위 시그니쳐(BS)이다.
1-1. 엔트리 추출
엔트리 추출 모듈[도 1의 엔트리 추출부(110)에 대응]에서는 플로우를 입력 받아 트랜잭션을 생성한다. 입력인 플로우는 수학식 4, 5와 같이 정의되고, 출력인 트랜잭션은 수학식 6, 7과 같이 정의된다. 플로우 집합 F는 플로우 Fi로 구성되며, 각각의 Fi는 수학식 5와 같이 출발지 주소(srcIP), 출발지 포트번호(srcPort), 4계층 프로토콜(L4Prot), 목적지 주소(dstIP), 목적지 포트번호(dstPort), 수집시간(capture_time), 페이로드(payload)를 구성 요소로 가진다. 본 명세서에서 제안하는 행위 시그니쳐는 질의(request) 트래픽만을 대상으로 하기 때문에 내부 호스트에서 외부 서버로 발생하는 플로우만을 고려한다. 트랜잭션 집합 T는 트랜잭션 Ti로 구성되며, Ti는 호스트 아이디(host_id), 수집 시간(capture_time), 엔트리(E)로 구성된다.
Figure 112014077289361-pat00006
Figure 112014077289361-pat00007
Figure 112014077289361-pat00008
Figure 112014077289361-pat00009
이하에서는 플로우로부터 트랜잭션을 생성하는 엔트리 추출 알고리즘에 대해 설명한다. 플로우의 srcIP에 고유한 ID를 부여하여 트랜잭션의 host_id에 저장하고 플로우의 capture_time, dstIP, dstPort, L4Prot, payload는 각각 트랜잭션의 capture_time, IP, Port, Prot, payload에 저장된다. dstIP의 경우, 같은 서버군(Server Farm)에서 발생하는 트래픽들을 고유한 엔트리로 추출하기 위해 첫 24bit (C class)만을 추출하여 저장한다. payload의 경우, 플로우의 payload에서 첫 N바이트만을 추출하여 저장한다. 이때, 사용하는 N은 도 6과 같은 스트링 트리(String tree)를 사용하여 결정한다. 입력된 모든 플로우의 payload들을 하나의 스트링 트리로 구성한다. 스트링 트리의 각 노드는 입력된 payload에 저장된 1byte 문자를 의미한다. 스트링 트리를 구성하고 수학식 8을 사용하여 스트링 트리의 각 노드마다 지지도(support)를 계산한다. 지지도는 트래픽을 발생시킨 전체 호스트 중에 루트 노드부터 해당 노드까지의 문자열을 가지는 트래픽을 발생시킨 호스트의 비율을 의미한다. 예를 들어, 도 6에서 깊이 4의 'c' 노드는 전체 호스트 3명 중에 해당 문자열 "peac"를 가지는 호스트가 2명(표 1의 3행, 9행)이므로 0.67의 지지도를 가진다. 입력된 플로우의 payload에서 지지도가 감소하지 않는 최대 길이의 문자열만을 사용함으로써 가변적인 정보(사용자 정보 및 시간 정보)을 포함하는 트래픽으로부터 행위 시그니쳐 추출을 가능하게 한다. 즉, 표 1의 1행, 2행, 3행의 payload인 "pear", "pea", "peach"에서 길이가 3인 "pea"만 추출하여 해당 플로우가 동일한 엔트리로 추출되게 한다. 추출 알고리즘 마지막 단계인 패턴 최적화 모듈[도 1의 패턴 최적화부(150)에 대응]에서 간략화된 dstIP, payload를 구체화하는 과정을 수행한다. 표 3은 표 1에 제시된 트래픽을 본 엔트리 추출 모듈에 적용하였을 때 출력되는 결과이다.
Figure 112014077289361-pat00010
Figure 112014077289361-pat00011
1-2. 트랜잭션 정렬
트랜잭션 정렬 모듈[도 1의 트랜잭션 정렬부(120)에 대응]에서는 트랜잭션을 host_id를 주키(major key)로, capture_time을 보조키(minor key)로 사용하여 정렬한다. 정렬이 된 트랜잭션 집합 T′는 수학식 9와 같이 정의된다.
Figure 112014077289361-pat00012
아래에서는 트랜잭션을 host_id, capture_time을 기준으로 정렬하는 트랜잭션 정렬 알고리즘에 대해 설명한다. 모든 트랜잭션을 순회하면서 host_id 순으로 정렬하고, 만약 동일한 host_id를 가진 트랜잭션인 경우, capture_time을 기준으로 정렬한다. 상기 트랜잭션 정렬 알고리즘에서는 버블 정렬 알고리즘(Bubble sort algorithm)을 사용하였지만, 다른 정렬 알고리즘을 사용하여도 무방하다. 표 4는 본 트랜잭션 정렬 모듈을 적용하였을 때 출력되는 결과이다.
Figure 112014077289361-pat00013
1-3. 순차 패턴 추출
순차 패턴 추출 모듈[순차 패턴 추출(130)에 대응]은 입력 받은 트랜잭션으로부터 일정 지지도를 만족하는 순차 패턴, 즉 후보 행위 시그니쳐를 추출한다. 상기 순차 패턴 추출 모듈에서 사용하는 순차 패턴 집합 S와 순차 패턴 Si는 수학식 10, 11과 같이 정의된다. 즉, 단일 호스트에서 발생한 모든 트랜잭션의 엔트리들을 조합하여 순차 패턴을 만든다. 상기 순차 패턴 추출 모듈에서 사용하는 지지도(support)는 엔트리 추출 모듈에서 string tree에 사용하는 수학식 8과 같은 방법으로 계산한다. 후보 패턴(후보 행위 시그니쳐)의 지지도는 전체 호스트 중 해당 패턴을 포함하는 호스트의 비율을 의미한다.
Figure 112014077289361-pat00014
Figure 112014077289361-pat00015
이하에서는 순차 패턴 추출과 관련하여 순차 패턴 추출 알고리즘과 후보 순차 패턴 추출 알고리즘에 대해 구체적으로 설명한다. 순차 패턴 추출 알고리즘에서는 입력 받은 트랜잭션으로부터 호스트당 하나의 순차 패턴을 추출하고 길이 1인 후보 순차 패턴 C1을 생성한다. 생성된 후보 순차 패턴을 검사하여 지지도를 측정하고, 최소 지지도 α을 만족하는 패턴을 이용하여 후보 순차 패턴 추출 알고리즘을 통해 후보 순차 패턴을 생성한다. 이와 같은 과정은 더 이상 후보 순차 패턴을 생성하지 못할 때까지 반복한다. 최종 추출된 모든 길이의 순차 패턴은 후보 행위 시그니쳐로 생성된다.
후보 순차 패턴 추출 알고리즘에서는 최소 지지도 α을 만족하는 패턴(길이: K-1)을 입력 받아 후보 순차 패턴(길이: K)을 생성한다. 임의의 두 패턴 p, q를 선택하여 패턴 p의 첫 엔트리를 제외한 엔트리들과 패턴 q의 마지막 엔트리를 제외한 엔트리들이 동일할 경우, 이 두 패턴을 결합하여 새로운 패턴을 생성한다.
표 5 내지 표 8은 상기 순차 패턴 추출 알고리즘을 적용한 결과를 나타낸다. 먼저 표 5와 같이 입력으로 받은 트랜잭션을 순차 패턴 Si로 변환한다. 변환된 순차 패턴이 후보 행위 시그니쳐로 추출되는 과정을 효과적으로 보이기 위해 각 엔트리에 ID를 부여하여 표시한다. 이어서, 표 6과 같이 최초 길이 1인 후보 순차 패턴 C1을 생성하고 각 패턴의 지지도를 계산한다. 이어서, 최소 지지도를 만족하는 순차 패턴을 사용하여 표 7과 같이 길이 2인 후보 순차 패턴 C2를 생성하고, 이와 같은 작업을 더 이상 후보 순차 패턴을 생성하지 못할 때까지 반복한다. 마지막으로, 표 8과 같이 모든 길이의 순차 패턴 중 최소 지지도 이상의 값을 가지는 순차 패턴을 후보 행위 시그니쳐로 생성한다.
Figure 112014077289361-pat00016
Figure 112014077289361-pat00017
Figure 112014077289361-pat00018
Figure 112014077289361-pat00019
1-4. 최대 길이 패턴 추출
최대 길이 패턴 추출 모듈[도 1의 최대 길이 패턴 추출부(140)에 대응]은 입력 받은 행위 시그니쳐로부터 포함성이 있는 부분 시그니쳐를 제거한다. 즉, 상기 최대 길이 패턴 추출 모듈에 의해 수행되는 최대 길이 패턴 알고리즘은 입력 받은 모든 행위 시그니쳐를 탐색하면서 행위 시그니쳐에 포함된 모든 부분 시그니쳐를 삭제한다.
표 9 내지 표 11은 상기 최대 길이 패턴 추출 알고리즘의 수행 결과를 나타낸다. 표 9에서, 앞선 순차 패턴 모듈의 결과인 모든 길이의 후보 행위 시그니쳐를 입력 받아 서로 포함 관계를 확인하여 부분성이 있는 시그니쳐를 삭제한다. 이에 따라, 표 10과 같이 최종 <A C E> 시그니쳐만이 남게 되고, 이를 표 5의 변환 전 데이터를 사용하여, 표 11과 같이 실제 엔트리값으로 변경한다.
Figure 112014077289361-pat00020
Figure 112014077289361-pat00021
Figure 112014077289361-pat00022
1-5. 패턴 최적화
패턴 최적화 모듈[도 1의 패턴 최적화부(150)에 대응]은 입력 받은 행위 시그니쳐의 I, dstIP, payload를 실제 트래픽과 비교하여 구체화시킨다. 상기 패턴 최적화 모듈에서 사용하는 구체화의 의미는 해당 시그니쳐의 시간 간격(I)을 기입하고, dstIP, payload 정보를 확장시키는 것이다. 이하에서는 상기 패턴 최적화 모듈에 의해 수행되는 패턴 최적화 알고리즘에 대해 설명한다.
상기 패턴 최적화 알고리즘에서는 시그니쳐 추출의 대상인 트래픽 정보와, 추출된 행위 시그니쳐를 입력 받아 구체화된 행위 시그니쳐를 생성한다. 이를 위해, 입력 받은 모든 시그니쳐를 탐색하면서 시그니쳐 시간 간격을 기입한다. 이후, 추출된 시그니쳐를 분석한 트래픽의 양과, 해당 시그니쳐를 구체화시킨 후에 분석한 트래픽의 양이 동일할 경우, 해당 시그니쳐를 구체화된 시그니쳐로 변경한다. 예를 들어, dstIP의 24 bit만을 사용한 시그니쳐와 dstIP의 전체 32bit를 사용한 시그니쳐의 트래픽 양을 분석한 결과가 같으면, 해당 시그니쳐로 변경한다. 또한, payload의 첫 N바이트를 사용한 시그니쳐의 분석 결과와, 길이를 증가시킨 payload로 구체화된 시그니쳐의 분석 결과가 같으면 변경한다. 구체화된 dstIP는 CIDR(Classless Inter-Domain Routing) 표기법으로 표시하며, payload는 정규 표현식으로 표시한다.
표 12는 패턴 최적화 모듈의 수행 결과를 보여준다. 표 1에 제시된 원본 트래픽과 비교하여 엔트리의 dstIP, payload 정보를 구체화시킨다. 예를 들어, 추출된 시그니쳐의 두 번째, 세 번째 엔트리의 dstIP를 32bit로 구체화하였을 때, 분석 결과가 동일하므로 구체화된 시그니쳐로 변경하고, payload 정보 역시 공통된 부분까지 구체화시킨다. 이로써, 좀 더 정확한 시그니쳐로 최적화시킬 수 있다.
Figure 112014077289361-pat00023
2. 실험 및 결과
이하에서는 본 발명에서 제안한 알고리즘을 사용하여 행위 시그니쳐를 생성한 결과를 제시한다. 이를 위해 동영상 공유 사이트인 유튜브의 특정 기능을 사용할 때 발생하는 트래픽을 수집하였다. 실험 결과의 타당성을 높이기 위해 5대 이상의 서로 다른 호스트에서 수집하였고, 최소 지지도(α)를 1로 설정하였다. 즉, 모든 호스트에서 특정 기능을 사용할 때, 반드시 발생하는 행동 양식을 시그니쳐로 생성하였다.
Figure 112014077289361-pat00024
표 13은 본 발명에서 제안하는 알고리즘을 사용하여 생성한 시그니쳐의 예를 보여준다. 예를 들어, 유튜브 로그인 행위 시그니쳐는 3,804ms 이내에 표 13에 기술된 3개의 엔트리를 특징으로 가지는 질의 패킷을 포함하는 플로우가 발생하면 해당 플로우를 유튜브의 로그인 기능으로 분석한다. 또한, 비디오 검색 행위 시그니쳐는 2,515ms 이내에 표 13에 기술된 3개의 엔트리를 특징으로 가지는 질의 패킷을 포함하는 플로우가 발생하면 해당 플로우를 유튜브의 비디오 검색 기능으로 분석한다. 또한, 비디오 시청 행위 시그니쳐는 1,534ms 이내에 표 13에 기술된 3개의 엔트리를 특징으로 가지는 질의 패킷을 포함하는 플로우가 발생하면 해당 플로우를 유튜브의 비디오 시청 기능으로 분석한다.
본 발명의 실시예들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체를 포함한다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
지금까지 본 발명에 따른 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서는 여러 가지 변형이 가능함은 물론이다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허 청구의 범위뿐 아니라 이 특허 청구의 범위와 균등한 것들에 의해 정해져야 한다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.
110: 엔트리 추출부
120: 트랜잭션 정렬부
130: 순차 패턴 추출부
140: 최대 길이 패턴 추출부
150: 패턴 최적화부
160, 230: 제어부
210: 행위 시그니쳐 생성부
220: 트래픽 분석부

Claims (27)

  1. 적어도 하나의 플로우를 포함하는 트래픽을 입력 받고, 상기 입력된 트래픽에 기초하여 상기 적어도 하나의 플로우에 대응되는 트랜잭션을 생성하는 엔트리 추출부;
    상기 트랜잭션으로부터 미리 설정된 지지도를 만족하는 순차 패턴을 추출하여 행위 시그니쳐를 생성하는 순차 패턴 추출부;
    상기 추출된 순차 패턴에 해당하는 후보 행위 시그니쳐가 복수개인 경우, 상기 복수개의 후보 행위 시그니쳐 간의 포함 관계를 확인하여 부분성이 있는 후보 행위 시그니쳐인 부분 시그니쳐를 삭제 처리하는 최대 길이 패턴 추출부; 및
    상기 부분 시그니쳐를 제외한 나머지 후보 행위 시그니쳐의 시간 간격, 목적지 주소, 페이로드를 실제 트래픽과 비교하여 트래픽의 양이 동일한 경우 상기 시간 간격을 기입하고 CIDR(Classless Inter-Domain Routing) 표기법 및 정규 표현식에 기초하여 상기 목적지 주소 및 상기 페이로드 각각을 확장 표시하여 구체화된 행위 시그니쳐를 생성하는 패턴 최적화부
    를 포함하는 것을 특징으로 하는 행위 시그니쳐 생성 시스템.
  2. 제1항에 있어서,
    상기 엔트리 추출부는
    상기 트래픽에 포함된 모든 플로우의 페이로드를 복수의 노드를 포함하는 스트링 트리로 구성하고, 전체 호스트의 개수 및 상기 스트링 트리의 각 노드에서 해당 문자열을 갖는 호스트의 개수에 기초하여 상기 스트링 트리의 각 노드마다 상기 지지도를 계산하는 것을 특징으로 하는 행위 시그니쳐 생성 시스템.
  3. 제2항에 있어서,
    상기 엔트리 추출부는
    상기 전체 호스트의 개수 중에서 상기 해당 문자열을 포함하는 호스트의 개수를 비율화하여 상기 지지도를 계산하는 것을 특징으로 하는 행위 시그니쳐 생성 시스템.
  4. 제2항에 있어서,
    상기 엔트리 추출부는
    상기 플로우의 페이로드에서 상기 지지도가 감소하지 않는 최대 길이의 문자열만 추출하는 것을 특징으로 하는 행위 시그니쳐 생성 시스템.
  5. 제1항에 있어서,
    상기 순차 패턴 추출부는
    단일 호스트에서 발생한 모든 트랜잭션의 엔트리들을 조합하여 상기 순차 패턴을 추출하는 것을 특징으로 하는 행위 시그니쳐 생성 시스템.
  6. 제1항에 있어서,
    상기 적어도 하나의 플로우에 대응되는 호스트 아이디 및 수집 시간에 기초하여 상기 트랜잭션을 정렬하는 트랜잭션 정렬부
    를 더 포함하는 것을 특징으로 하는 행위 시그니쳐 생성 시스템.
  7. 제6항에 있어서,
    상기 트랜잭션 정렬부는
    상기 호스트 아이디를 주키(major key)로, 상기 수집 시간을 보조키(minor key)로 사용하여 상기 트랜잭션을 정렬하는 것을 특징으로 하는 행위 시그니쳐 생성 시스템.
  8. 삭제
  9. 제1항에 있어서,
    상기 행위 시그니쳐는
    응용의 특정 기능을 수행할 때 발생하는 트래픽들의 첫 질의 패킷들로 구성되는 것을 특징으로 하는 행위 시그니쳐 생성 시스템.
  10. 제1항에 있어서,
    상기 적어도 하나의 플로우는
    출발지 주소, 출발지 포트 번호, 4계층 프로토콜, 목적지 주소, 목적지 포트 번호, 수집 시간, 및 페이로드 중에서 적어도 어느 하나를 포함하는 것을 특징으로 하는 행위 시그니쳐 생성 시스템.
  11. 제1항에 있어서,
    상기 트랜잭션은
    호스트 아이디, 수집 시간, 및 엔트리 중에서 적어도 어느 하나를 포함하는 것을 특징으로 하는 행위 시그니쳐 생성 시스템.
  12. 적어도 하나의 플로우를 포함하는 트래픽에 대응되는 트랜잭션을 생성하고, 상기 트랜잭션으로부터 미리 설정된 지지도를 만족하는 순차 패턴을 추출하여 행위 시그니쳐를 생성하는 행위 시그니쳐 생성부; 및
    상기 행위 시그니쳐에 기초하여 네트워크 트래픽을 분석하는 트래픽 분석부
    를 포함하고,
    상기 행위 시그니쳐 생성부는
    상기 적어도 하나의 플로우를 포함하는 트래픽을 입력 받고, 상기 입력된 트래픽에 기초하여 상기 적어도 하나의 플로우에 대응되는 트랜잭션을 생성하는 엔트리 추출부;
    상기 트랜잭션으로부터 상기 지지도를 만족하는 순차 패턴을 후보 행위 시그니쳐로서 추출하는 순차 패턴 추출부;
    상기 추출된 순차 패턴에 해당하는 후보 행위 시그니쳐가 복수개인 경우, 상기 복수개의 후보 행위 시그니쳐 간의 포함 관계를 확인하여 부분성이 있는 후보 행위 시그니쳐인 부분 시그니쳐를 삭제 처리하는 최대 길이 패턴 추출부; 및
    상기 부분 시그니쳐를 제외한 나머지 후보 행위 시그니쳐의 시간 간격, 목적지 주소, 페이로드를 실제 트래픽과 비교하여 트래픽의 양이 동일한 경우 상기 시간 간격을 기입하고 CIDR(Classless Inter-Domain Routing) 표기법 및 정규 표현식에 기초하여 상기 목적지 주소 및 상기 페이로드 각각을 확장 표시하여 구체화된 행위 시그니쳐를 생성하는 패턴 최적화부
    를 포함하는 것을 특징으로 하는 네트워크 트래픽 분석 시스템.
  13. 삭제
  14. 제12항에 있어서,
    상기 엔트리 추출부는
    상기 트래픽에 포함된 모든 플로우의 페이로드를 복수의 노드를 포함하는 스트링 트리로 구성하고, 전체 호스트의 개수 및 상기 스트링 트리의 각 노드에서 해당 문자열을 갖는 호스트의 개수에 기초하여 상기 스트링 트리의 각 노드마다 상기 지지도를 계산하는 것을 특징으로 하는 네트워크 트래픽 분석 시스템.
  15. 제14항에 있어서,
    상기 엔트리 추출부는
    상기 전체 호스트의 개수 중에서 상기 해당 문자열을 포함하는 호스트의 개수를 비율화하여 상기 지지도를 계산하는 것을 특징으로 하는 네트워크 트래픽 분석 시스템.
  16. 제14항에 있어서,
    상기 엔트리 추출부는
    상기 플로우의 페이로드에서 상기 지지도가 감소하지 않는 최대 길이의 문자열만 추출하는 것을 특징으로 하는 네트워크 트래픽 분석 시스템.
  17. 제12항에 있어서,
    상기 순차 패턴 추출부는
    단일 호스트에서 발생한 모든 트랜잭션의 엔트리들을 조합하여 상기 순차 패턴을 추출하는 것을 특징으로 하는 네트워크 트래픽 분석 시스템.
  18. 삭제
  19. 행위 시그니쳐 생성 시스템의 엔트리 추출부에서, 적어도 하나의 플로우를 포함하는 트래픽을 입력 받고, 상기 입력된 트래픽에 기초하여 상기 적어도 하나의 플로우에 대응되는 트랜잭션을 생성하는 단계;
    상기 행위 시그니쳐 생성 시스템의 순차 패턴 추출부에서, 상기 트랜잭션으로부터 미리 설정된 지지도를 만족하는 순차 패턴을 추출하여 행위 시그니쳐를 생성하는 단계;
    상기 행위 시그니쳐 생성 시스템의 최대 길이 패턴 추출부에서, 상기 추출된 순차 패턴에 해당하는 후보 행위 시그니쳐가 복수개인 경우, 상기 복수개의 후보 행위 시그니쳐 간의 포함 관계를 확인하여 부분성이 있는 후보 행위 시그니쳐인 부분 시그니쳐를 삭제 처리하는 단계; 및
    상기 행위 시그니쳐 생성 시스템의 패턴 최적화부에서, 상기 부분 시그니쳐를 제외한 나머지 후보 행위 시그니쳐의 시간 간격, 목적지 주소, 페이로드를 실제 트래픽과 비교하여 트래픽의 양이 동일한 경우 상기 시간 간격을 기입하고 CIDR(Classless Inter-Domain Routing) 표기법 및 정규 표현식에 기초하여 상기 목적지 주소 및 상기 페이로드 각각을 확장 표시하여 구체화된 행위 시그니쳐를 생성하는 단계
    를 포함하는 것을 특징으로 하는 행위 시그니쳐 생성 방법.
  20. 제19항에 있어서,
    상기 트랜잭션을 생성하는 단계에서,
    상기 트래픽에 포함된 모든 플로우의 페이로드를 복수의 노드를 포함하는 스트링 트리로 구성하는 단계; 및
    전체 호스트의 개수 및 상기 스트링 트리의 각 노드에서 해당 문자열을 갖는 호스트의 개수에 기초하여 상기 스트링 트리의 각 노드마다 상기 지지도를 계산하는 단계
    를 더 포함하는 것을 특징으로 하는 행위 시그니쳐 생성 방법.
  21. 제19항에 있어서,
    상기 행위 시그니쳐를 생성하는 단계는
    단일 호스트에서 발생한 모든 트랜잭션의 엔트리들을 조합하여 상기 순차 패턴을 추출하는 단계
    를 포함하는 것을 특징으로 하는 행위 시그니쳐 생성 방법.
  22. 제19항에 있어서,
    상기 행위 시그니쳐 생성 시스템의 트랜잭션 정렬부에서, 상기 적어도 하나의 플로우에 대응되는 호스트 아이디 및 수집 시간에 기초하여 상기 트랜잭션을 정렬하는 단계
    를 더 포함하는 것을 특징으로 하는 행위 시그니쳐 생성 방법.
  23. 제22항에 있어서,
    상기 트랜잭션을 정렬하는 단계는
    상기 호스트 아이디를 주키(major key)로, 상기 수집 시간을 보조키(minor key)로 사용하여 상기 트랜잭션을 정렬하는 단계
    를 포함하는 것을 특징으로 하는 행위 시그니쳐 생성 방법.
  24. 삭제
  25. 네트워크 트래픽 분석 시스템의 행위 시그니쳐 생성부에서, 적어도 하나의 플로우를 포함하는 트래픽에 대응되는 트랜잭션을 생성하는 단계;
    상기 네트워크 트래픽 분석 시스템의 행위 시그니쳐 생성부에서, 상기 트랜잭션으로부터 미리 설정된 지지도를 만족하는 순차 패턴을 추출하여 행위 시그니쳐를 생성하는 단계;
    상기 추출된 순차 패턴에 해당하는 후보 행위 시그니쳐가 복수개인 경우, 상기 행위 시그니쳐 생성부의 최대 길이 패턴 추출부에서, 상기 복수개의 후보 행위 시그니쳐 간의 포함 관계를 확인하여 부분성이 있는 후보 행위 시그니쳐를 삭제 처리하는 단계;
    상기 행위 시그니쳐 생성 시스템의 패턴 최적화부에서, 상기 부분 시그니쳐를 제외한 나머지 후보 행위 시그니쳐의 시간 간격, 목적지 주소, 페이로드를 실제 트래픽과 비교하여 트래픽의 양이 동일한 경우 상기 시간 간격을 기입하고 CIDR(Classless Inter-Domain Routing) 표기법 및 정규 표현식에 기초하여 상기 목적지 주소 및 상기 페이로드 각각을 확장 표시하여 구체화된 행위 시그니쳐를 생성하는 단계; 및
    상기 네트워크 트래픽 분석 시스템의 트래픽 분석부에서, 상기 행위 시그니쳐에 기초하여 네트워크 트래픽을 분석하는 단계
    를 포함하는 것을 특징으로 하는 네트워크 트래픽 분석 방법.
  26. 제25항에 있어서,
    상기 트랜잭션을 생성하는 단계에서,
    상기 트래픽에 포함된 모든 플로우의 페이로드를 복수의 노드를 포함하는 스트링 트리로 구성하는 단계; 및
    전체 호스트의 개수 및 상기 스트링 트리의 각 노드에서 해당 문자열을 갖는 호스트의 개수에 기초하여 상기 스트링 트리의 각 노드마다 상기 지지도를 계산하는 단계
    를 더 포함하는 것을 특징으로 하는 네트워크 트래픽 분석 방법.
  27. 삭제
KR1020140106144A 2014-08-14 2014-08-14 행위 시그니쳐 생성 시스템 및 그 방법, 그리고 상기 시스템을 포함하는 네트워크 트래픽 분석 시스템 및 그 방법 KR101548378B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140106144A KR101548378B1 (ko) 2014-08-14 2014-08-14 행위 시그니쳐 생성 시스템 및 그 방법, 그리고 상기 시스템을 포함하는 네트워크 트래픽 분석 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140106144A KR101548378B1 (ko) 2014-08-14 2014-08-14 행위 시그니쳐 생성 시스템 및 그 방법, 그리고 상기 시스템을 포함하는 네트워크 트래픽 분석 시스템 및 그 방법

Publications (1)

Publication Number Publication Date
KR101548378B1 true KR101548378B1 (ko) 2015-08-31

Family

ID=54062277

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140106144A KR101548378B1 (ko) 2014-08-14 2014-08-14 행위 시그니쳐 생성 시스템 및 그 방법, 그리고 상기 시스템을 포함하는 네트워크 트래픽 분석 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR101548378B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101860395B1 (ko) * 2017-06-23 2018-07-02 한국남동발전 주식회사 비표준 프로토콜에 대한 화이트리스트 기반의 산업제어시스템 이상행위 탐지 방법 및 탐지 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101860395B1 (ko) * 2017-06-23 2018-07-02 한국남동발전 주식회사 비표준 프로토콜에 대한 화이트리스트 기반의 산업제어시스템 이상행위 탐지 방법 및 탐지 장치

Similar Documents

Publication Publication Date Title
EP3544236B1 (en) Method and system for training and validating machine learning algorithms in data network environments
US10791131B2 (en) Processing network data using a graph data structure
CN107665191B (zh) 一种基于扩展前缀树的私有协议报文格式推断方法
US8726005B2 (en) Website matching based on network traffic
US20120182891A1 (en) Packet analysis system and method using hadoop based parallel computation
KR20170060280A (ko) 탐지 규칙 자동 생성 장치 및 방법
US20180121544A1 (en) Apparatus and method for enhancing regular expression search performance through cost-based optimization technique
CN111953552A (zh) 数据流的分类方法和报文转发设备
Wang et al. An intrusion detection method based on log sequence clustering of honeypot for modbus tcp protocol
US10681007B2 (en) String search and matching for gate functionality
KR102128008B1 (ko) 사이버 위협 정보 처리 방법 및 장치
Hendawi et al. Hobbits: Hadoop and Hive based Internet traffic analysis
KR101073402B1 (ko) 네트워크의 트래픽 모의 및 유사성 검증방법 및 네트워크 트래픽 분석시스템
KR101548378B1 (ko) 행위 시그니쳐 생성 시스템 및 그 방법, 그리고 상기 시스템을 포함하는 네트워크 트래픽 분석 시스템 및 그 방법
Shim et al. Inference of network unknown protocol structure using CSP (Contiguous Sequence Pattern) algorithm based on tree structure
KR102204290B1 (ko) 통계적 분석 기반 비공개 프로토콜의 구분자 및 정적필드 추출방법
Sija et al. Survey on network protocol reverse engineering approaches, methods and tools
CN113298125B (zh) 基于特征选择的物联网设备流量异常检测方法、装置及存储介质
KR101564045B1 (ko) 행위 시그니쳐 기반의 네트워크 트래픽 분석 방법 및 그 장치
Chu et al. Data stream mining architecture for network intrusion detection
US11184282B1 (en) Packet forwarding in a network device
Rosay et al. Study of Network IDS in IoT devices
Li et al. Modeling for traffic replay in virtual network
Liu et al. Cyber Security Situation Awareness Based on Data Mining
Radityatama et al. Toward full enterprise software support on nDPI

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180801

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190717

Year of fee payment: 5