KR100937217B1 - 시그니처 최적화 시스템 및 방법 - Google Patents
시그니처 최적화 시스템 및 방법 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
Abstract
본 발명은 시그니처 최적화 시스템 및 방법에 관한 것으로, 패킷 단위로 시그니처 생성 시 사용된 패킷을 수집하여 시그니처가 포함된 패킷 플로우에 공격 징후가 존재하는지 확인하고, 확인된 공격 징후 별로 최종 시그니처를 생성하도록 한다. 본 발명에 따르면, 하나의 공격 징후에 대해 생성되는 시그니처의 수를 최소화함으로써 시그니처 기반 보안 제품의 메모리 자원을 절약하게 되는 이점이 있다. 또한, 시그니처를 선별하기 위한 시간을 단축함에 따라 생성된 시그니처를 적용하는데 걸리는 시간을 단축할 수 있는 이점이 있다.
패킷, 시그니처 생성수단, 시그니처 최적화수단
Description
본 발명은 시그니처 최적화 시스템 및 방법에 관한 것으로, 특히 패킷 단위로 시그니처를 생성함에 있어서 하나의 공격에 대해 생성되는 시그니처의 수를 최소화하도록 한다.
본 발명은 정보통신부 및 정보통신연구진흥원의 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)
- 네트워크를 통해 입력되는 데이터 플로우(flow)로부터 공격 의심되는 적어도 하나의 패킷을 이용하여 시그니처(signature)를 생성하는 시그니처 생성수단;상기 네트워크를 통해 입력되는 플로우를 저장하고, 상기 플로우 중 상기 시그니처 생성수단을 통해 생성된 시그니처에 대응하는 플로우를 추출하는 패킷 수집부;상기 패킷 수집부를 통해 추출된 플로우가 공격 징후를 포함하는지 확인하는 검증수단; 및상기 시그니처 생성수단을 통해 생성된 시그니처를 상기 검증수단을 통해 확인된 공격 징후 별로 최종 시그니처를 생성하는 시그니처 최적화수단;을 포함하는 시그니처 최적화 시스템.
- 제 1 항에 있어서, 상기 시그니처 생성수단은,상기 패킷의 헤더로부터 플로우 정보를 추출하는 헤더 분석부;상기 헤더 분석부를 통해 추출된 플로우 정보에 기초하여 상기 패킷으로부터 공격 징후를 갖는 콘텐츠를 추출하는 페이로드 분석부; 및상기 페이로드 분석부를 통해 추출된 콘텐츠를 조합하여 상기 시그니처를 생성하는 시그니처 생성부;를 포함하는 시그니처 최적화 시스템.
- 제 2 항에 있어서,상기 페이로드 분석부는, 입력 받은 패킷에 대한 페이로드(payload)의 콘텐츠 분포 및 각 콘텐츠의 어드레스 분포를 감지하는 것을 특징으로 하는 시그니처 최적화 시스템.
- 제 2 항에 있어서,상기 시그니처 생성부는, 상기 시그니처에 대한 ID를 부여하는 것을 특징으로 하는 시그니처 최적화 시스템.
- 제 1 항에 있어서, 상기 검증수단은,상기 패킷 수집부를 통해 추출된 플로우의 페이로드를 순서대로 조합하는 플로우 조합부;상기 플로우 조합부를 통해 조합된 페이로드를 어셈블리 코드(assembly code)로 변환하는 어셈블리 변환부;상기 어셈블리 변환부를 통해 변환된 어셈블리 코드로부터 공격 징후를 갖는 콘텐츠를 추출하는 공격 징후 판단부;를 포함하는 시그니처 최적화 시스템.
- 제 1 항에 있어서, 상기 시그니처 최적화수단은,상기 시그니처 생성수단을 통해 생성된 시그니처에 포함된 콘텐츠의 유사성을 기반으로 상기 시그니처를 각각 분류하는 제1 분류부;상기 시그니처 생성수단을 통해 생성된 시그니처에 포함된 공격 콘텐츠별로 상기 시그니처를 각각 분류하는 제2 분류부; 및상기 제1 분류부 및 제2 분류부를 통해 분류된 각각의 시그니처 정보를 이용하여 최종 시그니처를 생성하는 최종 시그니처 생성부;를 포함하는 시그니처 최적화 시스템.
- 제 6 항에 있어서,상기 제1 분류부 및 제2 분류부는 상향식 클러스터링(bottom_up clustering) 기법을 이용하여 상기 시그니처를 각각 분류하는 것을 특징으로 하는 시그니처 최적화 시스템.
- 제 6 항에 있어서, 상기 최종 시그니처 생성부는,상기 시그니처에 포함된 콘텐츠의 유사성을 기반으로 분류된 시그니처 그룹에 대해 대표 시그니처를 생성하며,상기 대표 시그니처에 포함된 각 시그니처를 분석하여, 상기 대표 시그니처의 타입을 설정하는 것을 특징으로 하는 시그니처 최적화 시스템.
- 제 8 항에 있어서, 상기 최종 시그니처 생성부는,상기 공격 콘텐츠별로 분류된 시그니처를 그에 대응하는 상기 대표 시그니처로 치환하고,상기 대표 시그니처의 타입으로부터 최종 시그니처를 선택하는 것을 특징으로 하는 시그니처 최적화 시스템.
- 네트워크를 통해 입력되는 플로우(flow)로부터 공격 의심되는 적어도 하나의 패킷을 추출하여 시그니처(signature)를 생성하는 단계;상기 네트워크를 통해 입력되는 플로우 중 상기 시그니처에 대응하는 플로우를 추출하고, 상기 추출된 플로우가 공격 징후를 포함하는지 확인하는 단계;상기 시그니처를 상기 추출된 플로우로부터 확인된 공격 징후 별로 각각 분류하는 단계; 및상기 확인된 공격 징후 별로 분류된 시그니처를 이용하여 최종 시그니처를 생성하는 단계;를 포함하는 시그니처 최적화 방법.
- 제 10 항에 있어서, 상기 확인하는 단계는,상기 추출된 플로우의 페이로드(payload)를 순서대로 조합하는 단계; 및상기 조합된 페이로드를 어셈블리 코드(assemble code)로 변환하는 단계;를 포함하며,상기 변환된 어셈블리 코드로부터 상기 추출된 플로우가 공격 징후를 갖는 콘텐츠를 포함하는지 확인하는 것을 특징으로 하는 시그니처 최적화 방법.
- 제 11 항에 있어서, 상기 확인하는 단계는,상기 변환된 어셈블리 코드로부터 실행코드 탐지 기법, 리턴 어드레스(return address) 탐지 기법, 슬레드(sled) 탐지 기법 중 어느 하나의 탐지 기법을 이용하여 공격 징후를 갖는 콘텐츠를 포함하는지 확인하는 것을 특징으로 하는 시그니처 최적화 방법.
- 제 10 항에 있어서,상기 시그니처를 분류하는 단계는, 상향식 클러스터링(bottom_up clustering) 기법을 이용하여 상기 시그니처를 각각 분류하는 것을 특징으로 하는 시그니처 최적화 방법.
- 제 10 항에 있어서, 상기 시그니처를 분류하는 단계는,상기 시그니처에 포함된 콘텐츠의 유사성을 기반으로 상기 시그니처를 각각 분류하는 단계;상기 분류된 적어도 하나의 시그니처를 포함하는 시그니처 그룹에 대한 대표 시그니처를 생성하는 단계; 및상기 대표 시그니처에 대한 타입을 설정하는 단계;를 포함하는 시그니처 최적화 방법.
- 제 14 항에 있어서,상기 시그니처 그룹에 속하는 적어도 하나의 상기 시그니처에 대한 서브스트 링(substring)을 감지하여, 가장 긴 서브스트링(longest substring)을 대표 시그니처로 생성하는 것을 특징으로 하는 시그니처 최적화 방법.
- 제 14 항에 있어서,상기 시그니처 그룹에 속하는 적어도 하나의 상기 시그니처가 공격 플로우 또는 공격 콘텐츠를 포함하는지 여부를 감지하는 단계;를 더 포함하는 시그니처 최적화 방법.
- 제 14 항에 있어서, 상기 시그니처를 분류하는 단계는,상기 시그니처에 포함된 공격 콘텐츠별로 상기 시그니처를 각각 분류하는 단계;상기 공격 콘텐츠별로 분류된 시그니처를 그에 대응하는 상기 대표 시그니처로 치환하는 단계;를 더 포함하는 시그니처 최적화 방법.
- 제 17 항에 있어서, 상기 최종 시그니처 생성단계는,상기 치환된 대표 시그니처의 타입으로부터 최종 시그니처를 선택하는 단계;를 포함하며,상기 치환된 대표 시그니처 타입 중 높은 우선순위를 갖는 시그니처를 상기 최종 시그니처로 선택하는 것을 특징으로 하는 시그니처 최적화 방법.
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)
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060060671A (ko) * | 2004-10-12 | 2006-06-05 | 니폰덴신뎅와 가부시키가이샤 | 중계 장치, 중계 방법 및 중계 프로그램과, 네트워크 공격방어 시스템 |
KR100769221B1 (ko) * | 2006-08-04 | 2007-10-29 | 한국정보보호진흥원 | 제로데이 공격 대응 시스템 및 방법 |
-
2007
- 2007-12-07 KR KR1020070126821A patent/KR100937217B1/ko not_active IP Right Cessation
Patent Citations (2)
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)
Title |
---|
한국통신학회지(정보와 통신)제24권 제11호 |
Cited By (3)
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 |