KR100937217B1 - 시그니처 최적화 시스템 및 방법 - Google Patents

시그니처 최적화 시스템 및 방법 Download PDF

Info

Publication number
KR100937217B1
KR100937217B1 KR1020070126821A KR20070126821A KR100937217B1 KR 100937217 B1 KR100937217 B1 KR 100937217B1 KR 1020070126821 A KR1020070126821 A KR 1020070126821A KR 20070126821 A KR20070126821 A KR 20070126821A KR 100937217 B1 KR100937217 B1 KR 100937217B1
Authority
KR
South Korea
Prior art keywords
signature
attack
signatures
content
flow
Prior art date
Application number
KR1020070126821A
Other languages
English (en)
Other versions
KR20090059781A (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 KR1020070126821A priority Critical patent/KR100937217B1/ko
Publication of KR20090059781A publication Critical patent/KR20090059781A/ko
Application granted granted Critical
Publication of KR100937217B1 publication Critical patent/KR100937217B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security

Abstract

본 발명은 시그니처 최적화 시스템 및 방법에 관한 것으로, 패킷 단위로 시그니처 생성 시 사용된 패킷을 수집하여 시그니처가 포함된 패킷 플로우에 공격 징후가 존재하는지 확인하고, 확인된 공격 징후 별로 최종 시그니처를 생성하도록 한다. 본 발명에 따르면, 하나의 공격 징후에 대해 생성되는 시그니처의 수를 최소화함으로써 시그니처 기반 보안 제품의 메모리 자원을 절약하게 되는 이점이 있다. 또한, 시그니처를 선별하기 위한 시간을 단축함에 따라 생성된 시그니처를 적용하는데 걸리는 시간을 단축할 수 있는 이점이 있다.
패킷, 시그니처 생성수단, 시그니처 최적화수단

Description

시그니처 최적화 시스템 및 방법{ Optimizing system and method of signature }
본 발명은 시그니처 최적화 시스템 및 방법에 관한 것으로, 특히 패킷 단위로 시그니처를 생성함에 있어서 하나의 공격에 대해 생성되는 시그니처의 수를 최소화하도록 한다.
본 발명은 정보통신부 및 정보통신연구진흥원의 IT성장동력기술개발의 일환으로 수행한 연구로부터 도출된 것이다[국가관리번호: 2006-S-042-02, 과제명: Network 위협의 Zero-Day Attack 대응을 위한 실시간 공격 Signature 생성 및 관리 기술개발].
일반적으로, 네트워크상에서 발생하는 공격으로부터 시그니처(signature)를 자동 생성하는 기술은 크게 패킷 단위로 시그니처를 생성하는 것과, 플로우(flow) 단위로 시그니처를 생성하는 방법으로 구분된다. 이때, 플로우 단위로 시그니처를 생성하는 대표적인 기술로는 오토그래프(autograph), 폴리그래프(Polygraph) 등이 있으며, 패킷 단위로 시그니처를 생성하는 대표적인 기술로는 얼리버드(Earlybird)가 있다.
여기서, 오토그래프는 네트워크상의 트래픽 중 공격이 의심스러운 트래픽들을 분류해 낸 후, 공격이 의심스러운 트래픽 중에서 여러 플로우에 속하는 콘텐츠(content)들을 시그니처로 선택하는 기술이다. 이 기술은 공격 의심 세션 별로 해당 세션의 페이로드들을 차례로 조합한 후 조합된 하나의 긴 스트링 위에서 COPP(content-based payload partitioning) 기법을 사용하여 시그니처로 생성할 콘텐츠들을 준비한다. 이때, 특정 개수 이상의 공격 세션(session)에 포함된 콘텐츠들을 조합하여 시그니처를 생성한다.
오토그래프를 폴리모픽 웜에 적용하기 위하여 확장한 것이 폴리그래프이다. 폴리그래프는 오토그래프와 같이 공격으로 의심되는 트래픽 위에서 시그니처를 생성한다. 단, 폴리모픽 웜이 되면서 네트워크에 나타나는 공통 된 콘텐츠의 길이가 짧아질 수 있으므로, COPP 기법 대신 고려 중인 플로우들에 나타나는 롱기스트 서브스트링(longest substring)들을 시그니처로 사용한다. 이때, 생성된 시그니처는 단순히 롱기스트 서브스트링의 집합 일 수도 있고, 발생 순서를 고려한 집합 일 수도 있으며, 각 서브스트링의 포함 여부에 베이시안 이론을 결합한 것일 수도 있다.
여기서, 플로우 별로 시그니처를 생성하는 경우 하나의 공격에 대해서 하나의 시그니처를 갖는다. 그러나, 이러한 시그니처가 네트워크상에 나타나는지를 확인하기 위해서는 플로우를 각각 조합해야 하므로, 적용하려는 보안제품의 프로세스와 메모리에 부담을 줄 수 있다.
한편, 얼리버드는 네트워크에 나타나는 패킷(packet)의 페이로드(payload) 중 빈도 수가 높으면서 어드레스(address) 분포가 다양한 스트링(string)을 웜 시 그니처로 선택한다. 이때, 고려하는 스트링들은 패킷 페이로드의 각 위치에서 시작되는 고정 된 길이를 가지는 연속 된 콘텐츠들이다. 이때, 이들을 다 고려하는 것은 불가능 하므로, 얼리버드는 이들을 특정 기준으로 샘플링(sampling) 하여, 샘플링 된 콘텐츠들을 대상으로 조사하여 공격 시그니처를 생성한다.
여기서, 패킷 별로 시그니처를 생성하는 것은 시그니처가 네트워크상에 나타나는지 확인하는 것이 용이하다. 그러나, 패킷 단위로 시그니처를 생성하는 시스템의 경우 하나의 공격에 대해 여러 개의 시그니처를 생성하는 문제점을 가진다. 예로, 하나의 공격 플로우가 n개의 패킷으로 구성되어 있다면, n개의 시그니처를 생성할 수 있다. 더욱이 가장 기본적인 폴리모픽 공격의 하나인 공격 플로우를 구성하는 패킷들의 사이즈 변화는 하나의 공격에 포함될 수 있는 패킷 들의 종류를 기하 급수적으로 늘린다. 따라서, 기존의 패킷 기반 시그니처 생성 시스템에서 하나의 공격에 대해 생성되는 시그니처의 수는 더욱더 늘어날 수 있다.
본 발명의 목적은, 패킷 단위로 시그니처를 생성하는 데 있어서 하나의 공격에 대해 생성되는 시그니처의 수를 최소화하도록 하는 시그니처 최적화 시스템 및 방법을 제공함에 있다.
본 발명에 따른 시그니처 최적화 시스템은, 네트워크를 통해 입력되는 플로우(flow)로부터 공격 의심되는 적어도 하나의 패킷에 대한 시그니처(signature)를 생성하는 시그니처 생성수단, 상기 데이터 플로우 중 공격 의심되는 플로우를 저장하고, 상기 플로우 중 상기 시그니처 생성수단을 통해 생성된 시그니처에 대응하는 플로우를 추출하는 패킷 수집부, 상기 패킷 수집부를 통해 추출된 플로우가 공격 징후를 포함하는지 확인하는 검증수단 및 상기 시그니처 생성수단을 통해 생성된 시그니처를 상기 검증수단을 통해 확인된 공격 징후 별로 최종 시그니처를 생성하는 시그니처 최적화수단을 포함한다.
상기 시그니처 생성수단은 상기 패킷의 헤더로부터 플로우 정보를 추출하는 헤더 분석부, 상기 헤더 분석부를 통해 추출된 플로우 정보에 기초하여 상기 패킷으로부터 공격 징후를 갖는 콘텐츠를 추출하는 페이로드 분석부 및 상기 페이로드 분석부를 통해 추출된 콘텐츠를 조합하여 상기 시그니처를 생성하는 시그니처 생성부를 포함한다. 이때, 상기 페이로드 분석부는 입력 받은 패킷에 대한 페이로드(payload)의 콘텐츠 분포 및 각 콘텐츠의 어드레스 분포를 감지한다. 또한, 상기 시그니처 생성부는 상기 시그니처에 대한 ID를 부여한다.
한편, 상기 검증수단은 상기 패킷 수집부를 통해 추출된 플로우의 페이로드를 순서대로 조합하는 플로우 조합부, 상기 플로우 조합부를 통해 조합된 페이로드를 어셈블리 코드(assembly code)로 변환하는 어셈블리 변환부 및 상기 어셈블리 변환부를 통해 변환된 어셈블리 코드로부터 공격 징후를 갖는 콘텐츠를 추출하는 공격 징후 판단부를 포함한다.
또한, 상기 시그니처 최적화수단은 상기 시그니처 생성수단을 통해 생성된 시그니처에 포함된 콘텐츠의 유사성을 기반으로 상기 시그니처를 각각 분류하는 제1 분류부, 상기 시그니처 생성수단을 통해 생성된 시그니처에 포함된 공격 콘텐츠별로 상기 시그니처를 각각 분류하는 제2 분류부 및 상기 제1 분류부 및 제2 분류부를 통해 분류된 각각의 시그니처 정보를 이용하여 최종 시그니처를 생성하는 최종 시그니처 생성부를 포함한다.
또한, 상기 최종 시그니처 생성부는 상기 시그니처에 포함된 콘텐츠의 유사성을 기반으로 분류된 시그니처 그룹에 대해 대표 시그니처를 생성하며, 상기 대표 시그니처에 포함된 각 시그니처를 분석하여, 상기 대표 시그니처의 타입을 설정한다. 또한, 상기 최종 시그니처 생성부는 상기 공격 콘텐츠 별로 분류된 시그니처를 그에 대응하는 상기 대표 시그니처로 치환하고, 상기 대표 시그니처의 타입으로부터 최종 시그니처를 선택한다.
또한, 본 발명에 따른 시그니처 최적화 방법은 네트워크를 통해 입력되는 플로우(flow)로부터 공격 의심되는 적어도 하나의 패킷을 추출하여 시그니처(signature)를 생성하는 단계, 상기 네트워크를 통해 입력되는 플로우 중 상기 시그니처에 대응하는 플로우를 추출하고, 상기 추출된 플로우가 공격 징후를 포함하는지 확인하는 단계, 상기 추출된 플로우로부터 확인된 공격 징후 별로 상기 시그니처를 각각 분류하는 단계 및 상기 분류된 시그니처를 이용하여 최종 시그니처를 생성하는 단계를 포함한다.
상기 확인하는 단계는 상기 추출된 플로우의 페이로드(payload)를 순서대로 조합하는 단계 및 상기 조합된 페이로드를 어셈블리 코드(assemble code)로 변환하는 단계를 포함하며, 상기 변환된 어셈블리 코드로부터 공격 징후를 갖는 콘텐츠를 포함하는지 확인한다.
한편, 상기 최종 시그니처 생성단계는 상기 시그니처에 포함된 콘텐츠의 유사성을 기반으로 상기 시그니처를 각각 분류하는 단계, 상기 분류된 시그니처 그룹에 대한 대표 시그니처를 생성하는 단계 및 상기 대표 시그니처에 대한 타입을 설정하는 단계를 포함한다. 또한, 상기 시그니처에 포함된 공격 콘텐츠 별로 상기 시그니처를 각각 분류하는 단계, 상기 공격 콘텐츠 별로 분류된 시그니처들을 바로 앞에서 설정 된 그에 대응하는 상기 대표 시그니처로 치환하는 단계, 상기 치환된 대표 시그니처의 타입으로부터 최종 시그니처를 선택하는 단계를 포함하며, 상기 치환된 대표 시그니처 타입 중 높은 우선순위를 갖는 시그니처를 상기 최종 시그니처로 선택한다.
본 발명에 따른 시그니처 최적화 시스템 및 방법은, 하나의 공격 징후에 대해 생성되는 시그니처의 수를 최소화함으로써 시그니처 기반 보안 제품의 메모리 자원을 절약하게 되는 이점이 있다. 또한, 시그니처를 선별하기 위한 시간을 단축함에 따라 생성된 시그니처를 적용하는데 걸리는 시간을 단축할 수 있는 이점이 있다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 설명하면 다음과 같다.
도 1은 본 발명의 실시예에 따른 시그니처 최적화 시스템에 대한 구성이 도시된 도이다. 도 1을 참조하면, 네트워크를 통해 입력되는 데이터 플로우(flow) 중 공격 의심되는 패킷(packet)을 탐지하는 탐지수단(10), 탐지수단(10)을 통해 탐지된 패킷에 대한 패킷 단위의 시그니처(signature)를 생성하는 시그니처 생성수단(20), 네트워크를 통해 입력되는 플로우 중 공격 의심되는 플로우를 저장하고, 입력된 플로우 중 시그니처 생성수단(20)을 통해 생성된 시그니처에 대응하는 플로우(stuple flow)를 추출하는 패킷 수집부(30), 패킷 수집부(30)를 통해 추출된 플로우가 공격 징후를 포함하는지 확인하는 검증수단(40), 시그니처 생성수단(20)을 통해 생성된 시그니처를 검증수단(40)을 통해 확인된 공격 징후 별로 각각 분류하고, 공격 징후 별로 분류된 시그니처로부터 최종 시그니처를 생성하는 시그니처 최적화수단(50)을 포함한다.
여기서, 패킷 수집부(30)는 시그니처 생성수단(20)을 통해 생성된 시그니처 정보 및 그에 대응하는 패킷 플로우 정보(예를 들어, 근원지 어드레스, 목적지 어드레스, 프로토콜, 근원지 포트, 목적지 포트)를 전달받아, 네트워크로 입력된 플로우 중 시그니처 정보 및 플로우 정보에 대응하는 플로우를 추출한다.
도 2 내지 도 4는 본 발명의 일실시예에 따른 시그니처 최적화 시스템에서의 시그니처 생성수단(20), 검증수단(40) 및 시그니처 최적화수단(50)에 대한 세부 구성이 도시된 블록도이다.
먼저, 도 2는 시그니처 생성수단에 대한 세부 구성이 도시된 블록도이다. 도 2를 참조하면, 시그니처 생성수단(20)은 탐지수단(10)을 통해 탐지된 패킷의 헤더로부터 해당 패킷의 플로우 정보를 추출하는 헤더 분석부(21), 탐지된 패킷에 대한 페이로드(payload)의 콘텐츠(content) 분포 및 각 콘텐츠의 어드레스 분포를 감지 하고, 헤더 분석부(21)로부터 추출된 플로우 정보에 기초하여 공격 징후를 갖는 콘텐츠를 추출하는 페이로드 분석부(22) 및 페이로드 분석부(22)를 통해 추출된 공격 징후를 갖는 콘텐츠를 조합하여 시그니처를 생성하는 시그니처 생성부(23)를 포함한다. 이때, 생성된 시그니처는 각 패킷의 목적지 포트를 포함한다. 또한, 시그니처 생성부(23)는 생성된 시그니처에 대한 시그니처 ID를 부여한다.
시그니처 생성부(23)는 생성된 시그니처와 시그니처 ID를 검증수단(40)으로 전달하고, 시그니처 ID 및 시그니처가 생성된 패킷에 대한 플로우 정보를 패킷 수집부(30)로 전달한다. 이때, 패킷 수집부(30)는 저장된 플로우 중 입력된 시그니처 ID 및 플로우 정보에 대응하는 플로우를 추출하여 검증수단(40)으로 전달한다. 여기서, 시그니처 생성수단(20)은 기존에 존재하는 시그니처 생성 시스템으로 대체될 수 있다.
도 3은 검증수단에 대한 세부 구성이 도시된 블록도이다. 도 3을 참조하면, 검증수단(40)은 시그니처 생성부(23)로부터 생성된 시그니처 및 패킷 수집부(30)를 통해 추출된 플로우가 입력된다. 이때, 검증수단(40)은 입력된 플로우를 순서대로 조합하는 플로우 조합부(41), 플로우 조합부(41)를 통해 조합된 플로우의 페이로드(payload)를 어셈블리 코드(assemble code)로 변환하는 어셈블리 변환부(42), 어셈블리 변환부(42)를 통해 변환된 페이로드의 어셈블리 코드를 이용하여 입력된 플로우가 공격 징후를 갖는 콘텐츠를 포함하는지 확인하는 공격 징후 판단부(43)를 포함한다.
여기서, 입력된 플로우가 공격 징후를 갖는 콘텐츠를 포함하는지 확인하는 방법은 호스트 기반 공격 탐지 시스템들이 사용하는 기법을 이용해서 이루어질 수 있으며, 그 예로는, 실행 코드 탐지 기법, 리턴 어드레스(return_address) 탐지 기법, 슬레드(sled) 탐지 기법 등이 있다. 만일, 공격 징후 판단부(43)를 통해 입력된 플로우가 공격 징후를 갖는 콘텐츠를 포함하는 것으로 판단되면 해당 공격 징후를 확인하고, 시그니처 및 그에 대응하는 공격 징후를 갖는 콘텐츠(이하, '공격 콘텐츠'라 칭함)를 시그니처 최적화수단(50)으로 전달한다.
도 4는 시그니처 최적화수단에 대한 세부 구성이 도시된 블록도이다. 도 4를 참조하면, 시그니처 최적화수단(50)은 검증수단(40)을 통해 입력된 시그니처와 공격 콘텐츠를 각각 분류한다. 이때, 시그니처에 포함된 콘텐츠의 유사성을 기반으로 입력된 시그니처를 각각 분류하는 제1 분류부(52), 시그니처에 포함된 공격 콘텐츠별로 입력된 시그니처를 각각 분류하는 제2 분류부(53), 제1 분류부(52) 및 제2 분류부(53)를 통해 분류된 시그니처 정보를 이용하여 각 공격 징후에 대한 최종 시그니처를 생성하는 최종 시그니처 생성부(54)를 포함한다.
여기서, 제1 분류부(52) 및 제2 분류부(53)는 상향식 클러스터링(bottom_up clustering) 기법을 이용하여 입력된 시그니처를 각각 분류한다. 이때, 각 시그니처가 하나의 클러스터(cluster)이고, 각 클러스터의 대표 인자는 해당 시그니처에 포함된 공격 콘텐츠이다. 만일, 두 개의 시그니처(또는 cluster)가 해당 시그니처의 공격 콘텐츠에 대한 서브스트링(substring)이 일정 길이 이상일 때 같은 시그니처로 합쳐 질 수 있다. 이때, 고려 중인 시그니처 중 가장 긴 서브스트링을 갖는 시그니처를 합치는 그리드(greedy) 방식으로 새로운 시그니처를 생성할 수 있다. 또한, 새로운 시그니처의 대표 인자로 각 대표 인자의 서브스트링을 사용할 수 있다. 이러한 시그니처 생성은 더 이상 합쳐질 시그니처가 존재하지 않을 때까지 계속 반복된다. 시그니처에 포함된 콘텐츠의 유사성을 이용한 분류 역시 이와 유사한 상향식 클러스터링 기법을 통해 이루어질 수 있다.
제1 분류부(52)는 분류된 각 시그니처 그룹에 대한 대표 시그니처를 생성하고, 해당 시그니처 그룹에 속하는 적어도 하나의 시그니처 속성에 따라 대표 시그니처의 타입을 결정한다. 일 예로, 대표 시그니처는 시그니처 그룹에 속하는 시그니처들의 롱기스트 컴온 서브시퀀스(Longest Common Subsequence)가 될 수 있다. 이때, 대표 시그니처의 타입은 시그니처 그룹에 속해 있는 각 시그니처가 시그니처 콘텐츠 중 공격 콘텐츠가 일부라도 포함하고 있는지, 혹은 공격으로 판단되지 않은 시그니처가 존재하는지의 정보에 따라 결정된다.
또한, 제2 분류부(53)는 공격 콘텐츠별로 분류된 시그니처 중 제1 분류부(52)에서 생성된 대표 시그니처에 속한 시그니처에 대응하는 시그니처를 추출하여, 그를 포함하는 대표 시그니처로 치환한다. 이에 대한 실시예는 도 5를 참조한다.
도 5는 본 발명의 일실시예에 따른 시그니처 최적화 시스템의 동작 설명에 참조되는 도로서, 시그니처 최적화수단(50)에서 각 공격 징후에 대한 최종 시그니처를 선별하는 동작이 예시된 도이다.
도 5를 참조하면, (a)는 입력된 시그니처와 공격 콘텐츠의 대응 관계를 도시한 도이고, (b)는 (a)의 각 시그니처를 유사 콘텐츠별로 분류한 경우 분류된 각 시 그니처 그룹에 대해 설정된 대표 시그니처를 도시한 도이며, (c)는 (a)의 각 시그니처를 공격 콘텐츠별로 분류한 경우 분류된 각 시그니처 그룹에 속한 시그니처를 (b)에서 설정한 대표 시그니처로 치환하는 동작을 도시한 도이다.
즉, 도 5의 (a)에서 시그니처 생성수단(20)으로 입력된 각 시그니처 'S1', 'S2', 'S3', 'S4', 'S5', 'S6', 'S7'은 공격 콘텐츠 'a1', 'a1', 'a1', 'a1', 'a2', 'a2', 'x'에 각각 대응된다. 여기서, 'a1', 'a2'는 공격 콘텐츠를 나타내며, 'x'는 공격 징후를 포함하지 않는 콘텐츠를 나타낸다.
여기서, 제1 분류부(52)는 도 5의 (b)에 도시된 바와 같이 각 시그니처 'S1', 'S2', 'S3', 'S4', 'S5', 'S6', 'S7'을 유사 콘텐츠 별로 분류한다. 다시 말해, 'S2', 'S3', 'S4'가 서로 유사하고, 'S5, 'S6', 'S7'이 서로 유사한 콘텐츠인 경우, 각 시그니처를 유사한 콘텐츠를 갖는 시그니처 별로 분류한다. 따라서, (ㄱ)은 'S1', (ㄴ)은 'S2', 'S3', 'S4', (ㄷ)은 'S5, 'S6', 'S7'로 각각 분류한다. 이때, 최종 시그니처 생성부(54)는 각각의 (ㄱ), (ㄴ), (ㄷ) 그룹에 속한 시그니처 들에 대한 대표 시그니처 'T1', 'T2', 'T3'을 설정한다.
한편, 제2 분류부(53)는 도 5의 (c)와 같이, 각 시그니처 'S1', 'S2', 'S3', 'S4', 'S5', 'S6', 'S7'을 그에 대응하는 공격 콘텐츠 별로 분류한다. 즉, 공격 콘텐츠 'a1'에 속하는 시그니처('S1', 'S2', 'S3', 'S4')를 분류하고, 다음 공격 콘텐츠 'a2'에 속하는 시그니처('S5', 'S6')를 분류한다. 또한, 공격 징후를 포함하지 않는 콘텐츠 'x'에 속하는 시그니처('S7')를 각각 분류한다. 이때, 최종 시그니처 생성부(54)는 'a1', 'a2', 'x'에 대해 각각 분류된 시그니처를 그에 대응하는 대표 시그니처(도 5b 참조)로 치환한다. 다시 말해, 공격 콘텐츠 'a1'에 속하는 시그니처 'S1', 'S2', 'S3', 'S4' 중 'S1'을 그에 대응하는 대표 시그니처 'T1'로 치환하고, 'S2', 'S3', 'S4'를 그에 대응하는 대표 시그니처 'T2'로 치환한다. 또한, 공격 콘텐츠 'a2'에 속하는 시그니처 'S5', 'S6'를 그에 대응하는 대표 시그니처 'T3'으로 치환한다. 또한, 콘텐츠 'x'에 속하는 시그니처 'S7'을 그에 대응하는 대표 시그니처 'T3'으로 각각 치환한다.
따라서, 공격 콘텐츠 'a1'에 대한 대표 시그니처는 'T1, T2'가 되고, 콘텐츠 'a2'와 'x'에 대한 최종 시그니처는 'T3'이 되므로, 각 공격 징후에 대한 최종 시그니처 수를 최소화할 수 있게 된다. 이때, 공격 콘텐츠 'a1'과 같이 그에 속한 대표 시그니처가 둘 이상인 경우, 대표 시그니처의 우선순위에 따라 어느 하나가 최종 시그니처로 선정될 수 있고, 동일 우선순위를 갖는 경우에는 모두 최종 시그니처로 선정될 수도 있다.
상기와 같이 구성되는 시그니처 최적화 시스템은 그의 동작 흐름을 통해 좀 더 상세히 설명하고자 한다.
도 6은 본 발명의 일실시예에 따른 시그니처 최적화 시스템에 대한 동작 흐름이 도시된 순서도이다. 도 6을 참조하면, 네트워크를 통해 플로우가 입력되면, 탐지수단(10)은 입력된 플로우로부터 공격 의심되는 패킷을 검출한다(S100).
시그니처 생성수단(20)은 탐지수단(10)을 통해 검출된 패킷을 이용하여 시그니처를 생성하고(S110), 생성된 시그니처에 대해 ID를 부여한다(S120). 또한, 패킷 수집부(30)는 네트워크를 통해 입력된 플로우 중 시그니처 생성수단(20)으로부터 생성된 시그니처 ID와 패킷 플로우 정보에 대응하는 플로우를 추출한다(S130).
검증수단(40)은 시그니처 생성수단(20)으로부터 입력된 시그니처와, 패킷 수집부(30)를 통해 추출된 플로우에 기초하여, 공격 징후를 갖는 콘텐츠를 포함하는지 확인하고, 확인된 공격 콘텐츠를 포함하는 플로우를 추출한다(S140). 또한, 시그니처 최적화수단(50)은 검증수단(40)을 통해 입력된 시그니처와, 그에 대응되는 공격 콘텐츠를 이용하여 입력된 각 시그니처를 그에 포함된 유사 콘텐츠별로 분류하고(S150), 유사 콘텐츠별로 분류된 각 시그니처 그룹에 대한 대표 시그니처를 생성한다(S160). 또한, 대표 시그니처에 속한 적어도 하나의 시그니처 속성에 따라 대표 시그니처의 타입을 결정한다(S170).
한편, 시그니처 최적화수단(50)은 검증수단(40)을 통해 입력된 시그니처와, 그에 대응되는 공격 콘텐츠를 이용하여 입력된 각 시그니처를 공격 콘텐츠별로 분류한다(S180). 이때, 각 공격 콘텐츠별로 분류된 시그니처 그룹에 속한 시그니처를 대응하는 대표 시그니처로 치환한다(S190). 시그니처 최적화수단(50)은 각 공격에 대해 하나 이상의 대표 시그니처가 존재하는 경우 대표 시그니처 중 높은 우선순위를 갖는 시그니처를 최종 시그니처로 선택하여 외부 네트워크로 출력한다(S200). 물론, 어느 하나의 공격에 대한 대표 시그니처 수가 소정수 이하인 경우에는 어느 하나의 대표 시그니처를 선택하지 않고 그에 속하는 적어도 하나의 대표 시그니처를 최종적으로 출력할 수도 있다.
이상과 같이 본 발명에 의한 시그니처 최적화 시스템 및 방법은 예시된 도면을 참조로 설명하였으나, 본 명세서에 개시된 실시예와 도면에 의해 본 발명은 이 에 한정되지 않고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 응용될 수 있다.
도 1 은 본 발명의 일실시예에 따른 시그니처 최적화 시스템의 구성이 도시된 도,
도 2 내지 도 4 는 본 발명의 일실시예에 따른 시그니처 최적화 시스템의 세부구성이 도시된 블록도,
도 5 는 본 발명의 일실시예에 따른 시그니처 최적화 시스템의 동작 설명에 참조되는 도, 그리고
도 6 은 본 발명의 일실시예에 따른 시그니처 최적화 시스템에 대한 동작 흐름이 도시된 순서도이다.
<도면의 주요 부분에 관한 부호의 설명>
10: 탐지수단 20: 시그니처 생성수단
21: 헤더 분석부 22: 페이로드 분석부
23: 시그니처 생성부 30: 패킷 수집부
40: 검증수단 41: 플로우 조합부
42: 어셈블리 변환부 43: 공격 징후 판단부
50: 시그니처 최적화수단 51: 시그니처 수집부
52: 제1 분류부 53: 제2 분류부
54: 최종 시그니처 생성부

Claims (18)

  1. 네트워크를 통해 입력되는 데이터 플로우(flow)로부터 공격 의심되는 적어도 하나의 패킷을 이용하여 시그니처(signature)를 생성하는 시그니처 생성수단;
    상기 네트워크를 통해 입력되는 플로우를 저장하고, 상기 플로우 중 상기 시그니처 생성수단을 통해 생성된 시그니처에 대응하는 플로우를 추출하는 패킷 수집부;
    상기 패킷 수집부를 통해 추출된 플로우가 공격 징후를 포함하는지 확인하는 검증수단; 및
    상기 시그니처 생성수단을 통해 생성된 시그니처를 상기 검증수단을 통해 확인된 공격 징후 별로 최종 시그니처를 생성하는 시그니처 최적화수단;을 포함하는 시그니처 최적화 시스템.
  2. 제 1 항에 있어서, 상기 시그니처 생성수단은,
    상기 패킷의 헤더로부터 플로우 정보를 추출하는 헤더 분석부;
    상기 헤더 분석부를 통해 추출된 플로우 정보에 기초하여 상기 패킷으로부터 공격 징후를 갖는 콘텐츠를 추출하는 페이로드 분석부; 및
    상기 페이로드 분석부를 통해 추출된 콘텐츠를 조합하여 상기 시그니처를 생성하는 시그니처 생성부;를 포함하는 시그니처 최적화 시스템.
  3. 제 2 항에 있어서,
    상기 페이로드 분석부는, 입력 받은 패킷에 대한 페이로드(payload)의 콘텐츠 분포 및 각 콘텐츠의 어드레스 분포를 감지하는 것을 특징으로 하는 시그니처 최적화 시스템.
  4. 제 2 항에 있어서,
    상기 시그니처 생성부는, 상기 시그니처에 대한 ID를 부여하는 것을 특징으로 하는 시그니처 최적화 시스템.
  5. 제 1 항에 있어서, 상기 검증수단은,
    상기 패킷 수집부를 통해 추출된 플로우의 페이로드를 순서대로 조합하는 플로우 조합부;
    상기 플로우 조합부를 통해 조합된 페이로드를 어셈블리 코드(assembly code)로 변환하는 어셈블리 변환부;
    상기 어셈블리 변환부를 통해 변환된 어셈블리 코드로부터 공격 징후를 갖는 콘텐츠를 추출하는 공격 징후 판단부;를 포함하는 시그니처 최적화 시스템.
  6. 제 1 항에 있어서, 상기 시그니처 최적화수단은,
    상기 시그니처 생성수단을 통해 생성된 시그니처에 포함된 콘텐츠의 유사성을 기반으로 상기 시그니처를 각각 분류하는 제1 분류부;
    상기 시그니처 생성수단을 통해 생성된 시그니처에 포함된 공격 콘텐츠별로 상기 시그니처를 각각 분류하는 제2 분류부; 및
    상기 제1 분류부 및 제2 분류부를 통해 분류된 각각의 시그니처 정보를 이용하여 최종 시그니처를 생성하는 최종 시그니처 생성부;를 포함하는 시그니처 최적화 시스템.
  7. 제 6 항에 있어서,
    상기 제1 분류부 및 제2 분류부는 상향식 클러스터링(bottom_up clustering) 기법을 이용하여 상기 시그니처를 각각 분류하는 것을 특징으로 하는 시그니처 최적화 시스템.
  8. 제 6 항에 있어서, 상기 최종 시그니처 생성부는,
    상기 시그니처에 포함된 콘텐츠의 유사성을 기반으로 분류된 시그니처 그룹에 대해 대표 시그니처를 생성하며,
    상기 대표 시그니처에 포함된 각 시그니처를 분석하여, 상기 대표 시그니처의 타입을 설정하는 것을 특징으로 하는 시그니처 최적화 시스템.
  9. 제 8 항에 있어서, 상기 최종 시그니처 생성부는,
    상기 공격 콘텐츠별로 분류된 시그니처를 그에 대응하는 상기 대표 시그니처로 치환하고,
    상기 대표 시그니처의 타입으로부터 최종 시그니처를 선택하는 것을 특징으로 하는 시그니처 최적화 시스템.
  10. 네트워크를 통해 입력되는 플로우(flow)로부터 공격 의심되는 적어도 하나의 패킷을 추출하여 시그니처(signature)를 생성하는 단계;
    상기 네트워크를 통해 입력되는 플로우 중 상기 시그니처에 대응하는 플로우를 추출하고, 상기 추출된 플로우가 공격 징후를 포함하는지 확인하는 단계;
    상기 시그니처를 상기 추출된 플로우로부터 확인된 공격 징후 별로 각각 분류하는 단계; 및
    상기 확인된 공격 징후 별로 분류된 시그니처를 이용하여 최종 시그니처를 생성하는 단계;를 포함하는 시그니처 최적화 방법.
  11. 제 10 항에 있어서, 상기 확인하는 단계는,
    상기 추출된 플로우의 페이로드(payload)를 순서대로 조합하는 단계; 및
    상기 조합된 페이로드를 어셈블리 코드(assemble code)로 변환하는 단계;를 포함하며,
    상기 변환된 어셈블리 코드로부터 상기 추출된 플로우가 공격 징후를 갖는 콘텐츠를 포함하는지 확인하는 것을 특징으로 하는 시그니처 최적화 방법.
  12. 제 11 항에 있어서, 상기 확인하는 단계는,
    상기 변환된 어셈블리 코드로부터 실행코드 탐지 기법, 리턴 어드레스(return address) 탐지 기법, 슬레드(sled) 탐지 기법 중 어느 하나의 탐지 기법을 이용하여 공격 징후를 갖는 콘텐츠를 포함하는지 확인하는 것을 특징으로 하는 시그니처 최적화 방법.
  13. 제 10 항에 있어서,
    상기 시그니처를 분류하는 단계는, 상향식 클러스터링(bottom_up clustering) 기법을 이용하여 상기 시그니처를 각각 분류하는 것을 특징으로 하는 시그니처 최적화 방법.
  14. 제 10 항에 있어서, 상기 시그니처를 분류하는 단계는,
    상기 시그니처에 포함된 콘텐츠의 유사성을 기반으로 상기 시그니처를 각각 분류하는 단계;
    상기 분류된 적어도 하나의 시그니처를 포함하는 시그니처 그룹에 대한 대표 시그니처를 생성하는 단계; 및
    상기 대표 시그니처에 대한 타입을 설정하는 단계;를 포함하는 시그니처 최적화 방법.
  15. 제 14 항에 있어서,
    상기 시그니처 그룹에 속하는 적어도 하나의 상기 시그니처에 대한 서브스트 링(substring)을 감지하여, 가장 긴 서브스트링(longest substring)을 대표 시그니처로 생성하는 것을 특징으로 하는 시그니처 최적화 방법.
  16. 제 14 항에 있어서,
    상기 시그니처 그룹에 속하는 적어도 하나의 상기 시그니처가 공격 플로우 또는 공격 콘텐츠를 포함하는지 여부를 감지하는 단계;를 더 포함하는 시그니처 최적화 방법.
  17. 제 14 항에 있어서, 상기 시그니처를 분류하는 단계는,
    상기 시그니처에 포함된 공격 콘텐츠별로 상기 시그니처를 각각 분류하는 단계;
    상기 공격 콘텐츠별로 분류된 시그니처를 그에 대응하는 상기 대표 시그니처로 치환하는 단계;를 더 포함하는 시그니처 최적화 방법.
  18. 제 17 항에 있어서, 상기 최종 시그니처 생성단계는,
    상기 치환된 대표 시그니처의 타입으로부터 최종 시그니처를 선택하는 단계;를 포함하며,
    상기 치환된 대표 시그니처 타입 중 높은 우선순위를 갖는 시그니처를 상기 최종 시그니처로 선택하는 것을 특징으로 하는 시그니처 최적화 방법.
KR1020070126821A 2007-12-07 2007-12-07 시그니처 최적화 시스템 및 방법 KR100937217B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070126821A KR100937217B1 (ko) 2007-12-07 2007-12-07 시그니처 최적화 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070126821A KR100937217B1 (ko) 2007-12-07 2007-12-07 시그니처 최적화 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20090059781A KR20090059781A (ko) 2009-06-11
KR100937217B1 true KR100937217B1 (ko) 2010-01-20

Family

ID=40989839

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070126821A KR100937217B1 (ko) 2007-12-07 2007-12-07 시그니처 최적화 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR100937217B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101280910B1 (ko) 2011-12-15 2013-07-02 한국전자통신연구원 고속 패킷 처리를 위한 네트워크 프로세서 기반 2단계 침입탐지장치 및 방법
KR101470590B1 (ko) * 2013-04-26 2014-12-10 (주) 시스메이트 플러그인 다중 패턴매칭 장치 및 그 방법
KR102011603B1 (ko) 2018-07-24 2019-08-16 주식회사 윈스 탐지 규칙 검증을 위한 패킷 생성 방법 및 장치

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101631242B1 (ko) * 2015-01-27 2016-06-16 한국전자통신연구원 잠재 디리클레 할당을 이용한 악성 트래픽의 시그니처의 자동화된 식별 방법 및 장치
JP2018516398A (ja) * 2015-03-26 2018-06-21 ノキア ソリューションズ アンド ネットワークス オサケユキチュア 通信におけるデータ検出の最適化
KR102272018B1 (ko) * 2020-01-07 2021-07-02 (주)유엠로직스 딥웹 환경에서의 네트워크 트래픽 상관도 분석을 이용한 악성코드 분석 시스템 및 그 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060060671A (ko) * 2004-10-12 2006-06-05 니폰덴신뎅와 가부시키가이샤 중계 장치, 중계 방법 및 중계 프로그램과, 네트워크 공격방어 시스템
KR100769221B1 (ko) * 2006-08-04 2007-10-29 한국정보보호진흥원 제로데이 공격 대응 시스템 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060060671A (ko) * 2004-10-12 2006-06-05 니폰덴신뎅와 가부시키가이샤 중계 장치, 중계 방법 및 중계 프로그램과, 네트워크 공격방어 시스템
KR100769221B1 (ko) * 2006-08-04 2007-10-29 한국정보보호진흥원 제로데이 공격 대응 시스템 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
한국통신학회지(정보와 통신)제24권 제11호

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101280910B1 (ko) 2011-12-15 2013-07-02 한국전자통신연구원 고속 패킷 처리를 위한 네트워크 프로세서 기반 2단계 침입탐지장치 및 방법
KR101470590B1 (ko) * 2013-04-26 2014-12-10 (주) 시스메이트 플러그인 다중 패턴매칭 장치 및 그 방법
KR102011603B1 (ko) 2018-07-24 2019-08-16 주식회사 윈스 탐지 규칙 검증을 위한 패킷 생성 방법 및 장치

Also Published As

Publication number Publication date
KR20090059781A (ko) 2009-06-11

Similar Documents

Publication Publication Date Title
CN111988285B (zh) 一种基于行为画像的网络攻击溯源方法
US10218740B1 (en) Fuzzy hash of behavioral results
CN101827084B (zh) 网络设备的高效的应用程序识别
Shibahara et al. Efficient dynamic malware analysis based on network behavior using deep learning
US9781139B2 (en) Identifying malware communications with DGA generated domains by discriminative learning
KR100937217B1 (ko) 시그니처 최적화 시스템 및 방법
KR101666177B1 (ko) 악성 도메인 클러스터 탐지 장치 및 방법
US9514246B2 (en) Anchored patterns
CN109450900B (zh) 拟态判决方法、装置及系统
US7962591B2 (en) Object classification in a capture system
EP3174264A1 (en) Apparatus and method for automatically generating detection rule
US20090013405A1 (en) Heuristic detection of malicious code
CN112866023B (zh) 网络检测、模型训练方法、装置、设备及存储介质
US20120331554A1 (en) Regex Compiler
US20190057148A1 (en) Method and equipment for determining common subsequence of text strings
CN103150509A (zh) 一种基于虚拟执行的病毒检测系统
CN113422763B (zh) 基于攻击场景构建的报警关联分析方法
CN113079150B (zh) 一种电力终端设备入侵检测方法
EP2189920A2 (en) Malware signature builder and detection for executable code
Giacinto et al. Alarm clustering for intrusion detection systems in computer networks
Nguyen et al. An approach to detect network attacks applied for network forensics
KR20100066908A (ko) 윈도우 실행파일 추출방법, 및 장치
KR101648033B1 (ko) 공격 패턴이 존재하지 않는 공격 시그니처 기반의 침입 탐지 방법 및 그를 위한 장치
Sidi et al. Helix: DGA domain embeddings for tracking and exploring botnets
Thompson et al. Polymorphic malware detection and identification via context-free grammar homomorphism

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: 20121206

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131209

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141229

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee