KR100818306B1 - 공격 패킷 시그너처 후보 추출 장치 및 방법 - Google Patents

공격 패킷 시그너처 후보 추출 장치 및 방법 Download PDF

Info

Publication number
KR100818306B1
KR100818306B1 KR1020060115960A KR20060115960A KR100818306B1 KR 100818306 B1 KR100818306 B1 KR 100818306B1 KR 1020060115960 A KR1020060115960 A KR 1020060115960A KR 20060115960 A KR20060115960 A KR 20060115960A KR 100818306 B1 KR100818306 B1 KR 100818306B1
Authority
KR
South Korea
Prior art keywords
substring
signature
frequency
information
packet
Prior art date
Application number
KR1020060115960A
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 KR1020060115960A priority Critical patent/KR100818306B1/ko
Priority to US11/924,100 priority patent/US7865955B2/en
Application granted granted Critical
Publication of KR100818306B1 publication Critical patent/KR100818306B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/22Arrangements for preventing the taking of data from a data transmission channel without authorisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 네트워크 공격 패킷의 시그너처 생성에 사용되는 공격 패킷 시그너처 후보 추출 장치 및 방법에 관한 것으로, 네트워크 패킷을 헤더와 페이로드로 구분하는 패킷 분리부; 상기 헤더 정보를 파싱하는 헤더 정보 파싱부; 상기 파싱된 값으로 트래픽 정보를 생성하는 트래픽 정보 생성부; 상기 구분된 페이로드내의 특정 길이의 서브스트링이 일정 관측 구간 동안 네트워크에 나타난 빈도를 측정하고, 상기 측정된 정보를 서브스트링 빈도수 테이블에 업데이트하여 빈도수가 기 설정된 값 이상인 서브스트링을 추출하는 서브스트링 추출부; 및 상기 추출된 서브스트링의 정보와 상기 생성된 트래픽 정보를 취합하여 시그너처를 생성하고 시그너처 빈도수 테이블에 업데이트하며 상기 시그너처 빈도수 테이블의 정보를 참조하여 시그너처 후보를 추출하는 시그너처 후보 추출부로 구성되며, 이에 의해, 고속 네트워크에서 발생하는 모든 패킷에 대해 공격 패킷 여부를 탐지하고 시그너처를 생성하여 추후 발생할 공격으로부터 네트워크를 보호할 수 있다.
침입 탐지 시스템, 침입 방지 시스템, 네트워크 보안 시스템, 공격 탐지, 공격 시그너처, 폴리모픽 공격, 웜

Description

공격 패킷 시그너처 후보 추출 장치 및 방법 {Apparatus and method for extracting signature candidates of attacking packets}
도 1은 본 발명을 이용한 침입 탐지/방지 시스템이 실제 네트워크상에서 활용된 예를 개략적으로 도시한 구성도,
도 2a는 본 발명의 일 실시예에 따른 공격 패킷 시그너처 후보 추출 과정을 묘사한 흐름도,
도 2b는 본 발명의 일 실시예에 따른 서브스트링이 서브스트링 빈도수 테이블에 반영되는 개략적인 동작을 나타낸 흐름도,
도 3은 본 발명의 일 실시예에 따른 공격 패킷 시그너처 후보 추출 장치를 도시한 블록도,
도 4a는 본 발명의 일 실시예에 따른 서브스트링 빈도수 테이블 및 서브스트링 추출부를 나타낸 구성도,
도 4b는 본 발명의 일 실시예에 따른 서브스트링 빈도수 테이블의 예를 나타내는 구성도, 그리고
도 5는 본 발명의 일 실시예에 따른 시그너처 후보 추출부를 나타낸 구성도이다.
본 발명은 네트워크 공격 패킷의 시그너처 생성에 사용되는 장치 및 방법에 관한 것으로, 특히 악성 사용자나 프로그램으로부터 대상 네트워크를 보호하기 위해 시그너처(signature) 후보들을 추출하고 해당 시그너처를 최적화하는 시그너처 후보 추출 장치 및 방법에 관한 것이다.
일반적으로 공격 패킷을 탐지하기 위한 기술은 크게 비정상적인 행동 탐지 (anomaly detection) 방법과 공격 시그너처 탐지(signature detection) 방법으로 나뉜다. 비정상적인 행동 탐지 방법의 경우 알려지지 않은 공격을 탐지할 수 있지만 긍정 오류(전체 정상 데이터 중 시스템에 의해 침입으로 오 판정된 데이터의 비율을 백분율로 나타낸 값:false positive)가 높다는 단점을 갖는다. 반대로 공격 시그너처 탐지 방법은 정확도는 높지만 알려지지 않은 새로운 공격에 대해 미리 대응하지 못하며 새로운 공격이 발생했을 때 이에 대한 시그너처를 생성하는데 오랜 시간이 소요된다는 단점이 있다. 이러한 두 방식의 문제점으로 인해 알려지지 않은 공격에 보다 잘 대응하기 위하여 네트워크상에 공격이 발생했을 때 네트워크 패킷들을 분석하여 해당 공격에 대한 시그너처를 자동으로 생성하는 기술이 제시되었다.
시그너처를 생성하기 위해서는 패킷(packet)들의 페이로드(payload) 분석이 필요하다. 초기 웜(worm)의 경우 각 공격 패킷들이 완전히 동일하거나 상당 부분이 같은 페이로드를 포함하는 경우가 많았다. 그러나 공격이 폴리모픽(polymorphic) 웜과 같이 지능화되면서 공격 패킷들이 공통으로 갖는 페이로드 부분은 상당히 줄어들고 있으며 공통 부분의 페이로드 내 위치 역시 변화하고 있다.
현재 네트워크에서 공격 패킷을 탐지하고 그 시그너처를 생성하는 대표적인 기술은 다음의 세 가지로 요약 될 수 있다.
첫 번째는 얼리버드(earlybird)로 얼리버드는 전체 네트워크 트래픽(traffic)으로부터 시그너처 후보들을 추출한다. 상기 후보들을 추출하는데 있어서, 먼저 각 네트워크 패킷들이 일정 길이(k-byte)의 서브스트링(substring)들로 분리된다. 이때 각 서브스트링들은 무빙 윈도우(moving window) 방식으로 분리된다. 즉, 첫 번째 서브스트링이 패킷의 페이로드의 1번째 바이트부터 k번째 바이트로 구성이 되고 두 번째 서브스트링은 2번째 바이트부터 k+1번째 바이트로 구성이 된다. 만약 패킷의 페이로드 크기가 x라면 총 x-k+1개의 스트링(string)이 생성된다. 상기 분리된 서브스트링과 해당 패킷의 헤더 필드에 있는 정보들의 조합을 해쉬한 값을 분석 단위로 사용한다. 이 값들은 샘플링(1/64로 샘플링 된다)을 거치고, 별도의 테이블에서 해당 해쉬값의 빈도를 기록한다. 그리고 이 테이블에 있는 해쉬값 중 네트워크에 자주 나타나는 값을 시그너처 후보로 추출한다. 이러한 시그너처 후보들에 대해서 이들을 가지는 패킷들의 주소 분포 및 그 분포들 사이의 상관 관계 분석과 같은 방법을 통해 최종 공격 시그너처를 생성한다.
두 번째는 오토그래프(autograph)이다. 오토그래프는 우선 네트워크에 접속하는 세션 중에서 공격의심 세션(즉, 세션을 성공적으로 맺지 못한 접속)의 트래픽에 대해서만 시그너처 후보들을 추출한다. 공격의심 세션 분류에는 포트스 캔(portscan) 등의 이상 트래픽 탐지기술들이 사용된다. 이 기술은 공격의심 세션 별로 해당 세션의 페이로드들을 차례로 조합한 후 조합된 하나의 긴 스트링 위에서 COPP(content-based payload partitioning) 기법을 사용하여 분리한 서브스트링들을 분석 단위로 사용하며 이 분석단위를 바로 시그너처 후보로 추출한다. 그리고 이 시그너처 후보들이 속해 있는 공격 의심 세션 수를 살펴봄으로써 최종 공격 시그너처를 생성한다. 상기 COPP기법은 앵커(anchor)라고 불리는 특정한 값을 정하고 앵커들이 나타나는 지점에서 분리(즉, k번째 나타난 anchor와 k+1번째 나타난 anchor 사이의 스트링을 k번째 서브스트링으로 분리)한다. 따라서, COPP 기법을 이용한 경우 각 서브스트링들은 서로 다른 길이를 갖는다.
마지막으로 오토그래프를 폴리모픽 웜에 적용하기 위하여 확장한 폴리그래프(polygraph)가 있다. 폴리그래프는 오토그래프와 같이 공격으로 의심되는 트래픽에 대해서만 시그너처 후보들을 추출한다. 이 후보들은 같은 타입의 공격 플로우(flow)들에 롱기스트(longest) 서브스트링 알고리즘을 적용하여 추출된다. 이때 추출되는 후보들은 총 n개의 플로우 중 적어도 k개 이상의 플로우에 속하는 롱기스트 서브스트링들이다. 폴리그래프는 시그너처 최적화 방법으로 추출된 시그너처 후보들을 조합하는 방법을 제시한다. 제시된 조합 방법으로는 순서 없는 조합형 시그너처 생성 방법, 순서를 가지는 시그너처 생성 방법, 그리고 통계학적인 방법을 기반으로 하는 시그너처 생성 방법이 있다. 오토그래프와 폴리그래프는 한 세션에 해당하는 패킷을 재조립하여 탐지에 사용함으로써 연속적인 두 개 이상의 패킷에 걸쳐서 나타나는 공격 시그너처를 탐지할 수 있다는 장점이 있는 반면, 세션 재조합 에 필요한 프로세싱 파워, 메모리 액세스 지연 등으로 인하여 고속 네트워크에서의 구현이 어려운 단점이 있다.
기존의 기술들의 문제들을 보다 구체적으로 살펴보면 다음과 같다.
오토그래프와 폴리그래프는 비정상 탐지(anomaly detection) 기술에서 발견된 플로우 위에서만 시그너처를 추출한다. 따라서 사용된 비정상 탐지 기술의 부정 오류(전체 침입 데이터 중 시스템에 의해 정상으로 오 판정된 데이터의 비율을 백분율로 나타낸 값:false negative)를 그대로 갖게 된다. 이 두 방법은 모두 발견된 플로우의 트래픽을 재조합한 후 이들 위에서 공통으로 사용되는 스트링을 찾는 방식을 채택하고 있다. 따라서 이 두 방법의 복잡도는 발견된 플로우의 개수와 관련이 있다. 즉, 부정 오류를 낮춘 경우 플로우의 개수가 많아져 처리 시간이 많이 걸리게 되며 부정 오류를 높인 경우 처리 시간은 단축되지만 추출된 시그너처 후보들의 오탐율이 높아진다는 문제가 있다. 현재 이 두 방법이 사용한 비정상 탐지 기술은 스캐닝 웜(scanning worm)을 탐지하는 방법이다. 앞서 언급된 것 같이 이 두 방법은 플로우 재조립(flow reassembly)을 한 후 분석을 수행한다. 따라서 두 방법을 하드웨어(hardware)로 구현하기 위해서는 플로우 재조립에 대한 부분이 하드웨어로 구현되어야 한다.
게다가 각 플로우에 대한 모든 패킷 내용을 모두 저장하고 있어야 한다. 따라서 이상 플로우들이 많이 발생할 경우를 대비하기 위해 많은 양의 메모리 리소스(memory resource)가 요구되는 문제가 있다. 또한, 플로우 수가 많아져 허용가능 한 리소스 양을 초과한 경우 추출된 결과물의 부정 오류가 높아질 수 있다. 플로우 들을 분석 단위로 구분하는데 있어서 오토그래프의 경우 COPP 방법을 사용한다. 이 방법은 폴리모픽 공격에 대해 취약하다는 문제점을 가진다. 폴리그래프의 경우는 서픽스 트리(suffix tree)를 사용하여 플로우들을 분석 단위로 구분한다. 이 방법은 서픽스 트리를 만드는 데 있어서 동일한 이상 특징을 갖는 플로우들의 길이의 총 합에 비례하는 복잡도를 갖는다. 그리고 해당 서픽스 트리가 만들어져 있다고 했을 때 이를 분리하기 위해서는 만들어진 서픽스 트리를 한번 트래버스(traverse) 해야 한다. 이러한 작업들은 많은 메모리 엑세스(acccess)를 요구하며 이는 온라인(online)으로 동작가능 한 하드웨어를 만드는 것이 어렵다는 것을 의미한다.
얼리버드는 모든 트래픽을 조사하며 이 중 자주 나타나는 스트링을 시그너처 후보로 추출한다. 따라서 부정 오류는 위의 두 기법보다는 더 좋다. 그리고 기본적으로 하드웨어 구현 가능한 방식을 제안한다. 그러나 이 시스템은 폴리모픽한 웜에 대한 대처가 약하다는 단점을 갖는다. 즉, 폴리모픽 공격에 대응하기 위해서는 네트워크 패킷의 페이로드를 짧은 단위로 나누어서 분석해야 하는데 이 방법은 전체 패킷 또는 40 바이트(byte) 길이의 스트링에 대해서 분석을 수행하거나 샘플링(sampling)을 이용한다. 그러나 이와 같이 분석 대상이 긴 경우는 응용프로그램 헤더 부분을 제외하고는 네트워크 트래픽 위에 많이 발생하지 않는다.
따라서 어떤 분석 대상이 자주 나타난 것으로 인식되었다면, 이것은 진짜 자주 나타난 경우이거나 해쉬 충돌(hash collision)이 많이 발생한 경우 중에 하나로 분류될 수 있다. 이 때, 해쉬 충돌이 많이 발생한 경우를 제거하면 추출되는 후보 시그너처의 숫자를 크게 줄일 수 있으나 분석 대상의 길이가 짧아진 경우 어떤 분 석 대상이 자주 나타난 것은 해쉬 충돌의 영향보다는 실제 그 대상이 네트워크에 많이 나타난 경우가 많다는 점이 문제이다. 즉, 해쉬 충돌의 영향을 제거하기 위해 얼리버드에서 제시할 수 있는 방법은 효율적이지 못하며, 이 단계에서 추출된 출력물의 숫자는 큰 상태로 남게 된다. 그리고 이는 뒤에 분석을 해야 할 엔트리의 숫자를 많이 증가시키며 이는 이미 한정된 자원에서 동작해야 하는 하드웨어 시스템에 문제를 야기한다.
상기와 같은 문제점을 해결하기 위한 본 발명의 제1 목적은, 네트워크의 속도가 계속 증가하고 있다는 것을 고려하여, 온라인으로 동작할 수 있도록 하드웨어로 구현가능하고 공격 패킷 시그너처 후보 추출을 통해 공격에 대해 실시간으로 대처할 수 있는 시그너처 후보 추출 장치 및 방법을 제공하는데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 제2 목적은 부정 오류가 낮고 폴리모픽(polymorphic)한 웜에 대처할 수 있는 공격 패킷 시그너처 후보를 추출하는 시그너처 후보 추출 장치 및 방법을 제공하는데 있다.
상기와 같은 본 발명의 목적을 달성하기 위하여, 본 발명의 공격 패킷 시그너처 후보 추출 장치는 네트워크 패킷을 헤더와 페이로드로 구분하는 패킷 분리부; 상기 헤더 정보를 파싱하는 헤더 정보 파싱부; 상기 파싱된 값으로 트래픽 정보를 생성하는 트래픽 정보 생성부; 상기 구분된 페이로드내의 특정 길이의 서브스트링이 일정 관측 구간 동안 네트워크에 나타난 빈도를 측정하고, 상기 측정된 빈도정 보를 서브스트링 빈도수 테이블에 업데이트하여 빈도수가 기 설정된 값 이상인 서브스트링을 추출하는 서브스트링 추출부; 및 상기 추출된 서브스트링의 정보와 상기 생성된 트래픽 정보를 취합하여 시그너처를 생성하고 시그너처 빈도수 테이블에 업데이트하며 상기 시그너처 빈도수 테이블의 정보를 참조하여 시그너처 후보를 추출하는 시그너처 후보 추출부로 구성된다.
상기와 같은 본 발명의 목적을 달성하기 위하여, 본 발명의 공격 패킷 시그너처 후보 추출 방법은 네트워크 패킷을 헤더와 페이로드로 구분하는 단계; 상기 헤더 정보를 파싱하는 단계; 상기 파싱된 값으로 트래픽 정보를 생성하는 단계; 상기 구분된 페이로드내의 특정 길이의 서브스트링이 일정 관측 구간 동안 네트워크에 나타난 빈도를 측정하고 상기 측정된 정보를 서브스트링 빈도수 테이블에 업데이트하는 단계; 상기 업데이트된 서브스트링 빈도수 테이블의 정보를 참조하여 특정 길이의 서브스트링 중 빈도수가 기 설정된 값 이상인 서브스트링을 추출하는 단계; 상기 추출된 서브스트링의 정보와 상기 생성된 트래픽 정보를 취합하여 시그너처를 생성하고 상기 생성된 시그너처의 정보를 시그너처 빈도수 테이블에 업데이트하는 단계; 및 상기 시그너처 빈도수 테이블의 정보를 참조하여 시그너처 후보를 추출하는 단계로 이루어진다.
상술한 본 발명의 공격 시그니쳐 생성을 위한 후보들을 추출하는 장치 및 방법을 통해 생성된 후보 시그너쳐들은 최적화 기술들을 통하여 최적화됨으로써 고유성과 간결성을 가지는 시그너쳐로 만들어질 수 있으며, 추출된 후보들의 부정 오류를 최소화할 수 있다.
더하여, 본 발명은 네트워크의 라우터의 일부분으로 또는 네트워크의 보안장비의 일부분으로 사용될 수 있다. 또한 본 발명은 초고속 네트워크에서 사용하도록 하드웨어적인 방식으로 구현될 수 있다.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작 원리를 상세하게 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
또한, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용한다.
도 1은 본 발명을 이용한 침입 탐지/방지 시스템이 실제 네트워크상에서 활용된 예를 개략적으로 도시한 구성도이다. 도 1을 참조하면 일반적으로 파이어월(firewall), 침입 탐지 시스템(intrusion detection system), 침입 방지 시스템(intrusion prevention system)과 같은 네트워크 보안 제품들은 각 네트워크를 연결하는 지점에 설치된다.
여기서 각 네트워크는 인터넷과 같은 공개적으로 이용가능한 네트워크일 수도 있고 회사 또는 학교와 같은 각 기관의 네트워크일 수도 있다. 본 발명에서 제시하는 기술을 이용한 시스템 역시 네트워크 보안 제품으로서 기존 보안 제품들과 같은 위치에 놓이게 된다. 또한, 본 발명을 포함하는 공격 시그너처 생성 기술에서 생성된 시그너처 들은 기존 보안제품들에 적용되어 사용될 수 있다.
도 2는 본 발명의 일 실시예에 따른 공격 패킷 시그너처 후보 추출 과정을 묘사한 흐름도이다. 도 2을 참조하면 상기 시그너처 후보 추출 과정은 패킷이 도착하면(S205), 상기 패킷을 헤더와 페이로드로 분리하고(S210), 상기 분리된 헤더는 파싱(parsing)과정을 거치게 되고(S220), 상기 파싱된 정보는 트래픽 정보 생성에 사용되며(S230), 상기 생성된 정보는 공격 가능성 검사(S255)에 사용되기 위해 전송된다. 또한 상기 분리된 페이로드는 추출될 서브스트링이 존재하는지 검사하고(S235) 허용 목록에 포함되는지 검사하고(S240), 허용 목록에 포함되지 않는 경우 서브스트링 빈도수 테이블을 업데이트(S245)하고 빈도수가 높은 서브스트링을 추출하며(S250) 상기 서브스트링 빈도수 테이블의 정보를 상기 생성된 트래픽 정보와 함께 공격 가능성을 검사하는데 사용한다(S255). 공격 가능성이 있는 것으로 판단되면(S260) 시그너처를 생성하고(S265), 최종 시그너처 후보를 추출하는(S270) 과정으로 이루어진다. 아래에서는 각 단계에 대해 보다 상세하게 설명하기로 한다.
우선, 네트워크상의 패킷이 도착하면(S205), 상기 패킷을 헤더와 페이로드로 분리한다(S210). 상기 분리된 패킷의 헤더 정보는 파싱(parsing) 과정을 거친다(S220). 즉, 헤더에 있는 각 필드(field) 값을 파싱(parsing) 하는데, 주요 관심 필드로는 목적지 주소, 근원지 주소, 목적지 및 근원지 포트번호, 프로토콜, 패킷 길이, TCP(transmission control protocol) 플래그(flag) 값 등이 있다.
이렇게 파싱된 값들을 임의로 조합하여 트래픽 정보를 생성한다(S230). 상기 생성 과정에서는 상기 목적지 주소, 근원지 주소, 목적지 및 근원지 포트번호, 프 로토콜, 패킷 길이, TCP 플래그 값 등의 정보 중 하나 이상의 정보로 이루어진 조합을 생성하게 된다. 예를 들면, 기본적으로 <근원지 주소, 프로토콜, 및 목적지 포트 번호>로 이루어진 조합 또는 <목적지 주소, 프로토콜, 목적지 포트 번호>로 이루어진 조합을 포함하는 트래픽 정보들을 생성한다. 더욱 상세하게 설명하자면, <목적지 주소 A, tcp>는 일정 관측기간 동안 목적지 A가 받은 TCP 프로토콜(protocol) 패킷에 대한 정보를 나타낸다.
상기 트래픽 정보 각각의 엔트리(entry)는 기본적으로 주소 분배 정보를 포함한다. 상기 주소 분배 정보는 근원지 주소와 관련된 정보의 조합에 포함되는 경우에는 해당 조합을 만족하는 패킷이 보내진 서로 다른 목적지에 접속한 주소 수를 의미하고, 목적지 주소와 관련된 정보의 조합에 포함되는 경우에는 해당 조합을 만족하는 패킷을 상기 목적지 주소로 보낸 서로 다른 근원지에 접속한 주소 수를 의미한다. 여기서 접속한 주소 수란 관측기간 동안 해당 주소와 연결을 갖은 주소 수이다. 예를 들면, <목적지 주소 A, tcp>가 갖는 접속 주소 수는 목적지 A로 TCP 프로토콜 패킷을 보낸 서로 다른 근원지 주소의 수를 의미하며 <근원지 어드레스 A, tcp>에서는 근원지 A가 tcp 패킷을 보낸 서로 다른 목적지 주소의 수를 의미한다.
또한, 상기 트래픽 정보 각각의 엔트리는 관련된 트래픽의 총 바이트 합, 패킷 수, SYN(접속 설정시에 선언되는 플래그) 패킷 수, FIN(접속 해제시에 선언되는 플래그) 패킷 수, RST(비정상적으로 연결을 종료해야할 때 선언되는 플래그) 패킷 수, 접속 실패 수, 접속 성공 수, 접속 주소 수 등의 정보 중에서 하나 이상의 정보를 더 가질 수 있다. 여기서 상기 트래픽 정보의 각 엔트리가 갖는 정보는 위에 언급된 것에 국한되는 것은 아니며, 해당 트래픽 정보 생성부의 능력에 따라 세션 분석 정보, 접속 실패율과 같은 정보도 가질 수 있다. 상기 패킷의 헤더로부터 파싱된 정보를 가지고 트래픽 정보를 생성하면 상기 트래픽 정보의 엔트리를 업데이트하고 공격 가능성을 검사하는 단계(S260)로 전송한다.
한편 상기 단계(S205)에서 해당 패킷으로부터 분리된 페이로드에 대해서 상기 페이로드에 분석할 서브스트링이 더 이상 없는 경우에는(S235) 다음 패킷에 대해 분석할 준비를 하고 그렇지 않은 경우에는(S235) 서브스트링을 검색하여 일정한 조건을 만족하는지 검사한 후 추출할 것인지 결정하게 된다. 본 발명은 페이로드 내의 서브스트링을 검색하는데 있어서 폴리모픽(polymorphic) 공격에 대응하기 위해 추출되는 서브스트링의 길이를 작게 유지할 수 있다. 이는 설정으로 조정 가능하며 2바이트(byte)부터 7바이트 길이 이내의 값을 사용하는 것이 바람직하다. 이는 더 긴 바이트의 길이를 사용할 경우 폴리모픽 공격에 대한 취약성이 더 커지기 때문이다. 상기 서브스트링의 검색은 추출할 서브스트링의 길이와 같은 크기의 윈도우(window)를 슬라이딩(sliding)하는 방식, 즉, 오버래핑(overlapping) 방식으로 행해진다. 이 경우, 현재 윈도우의 오프셋(offset) 값으로부터 현재 분석 중인 서브스트링의 페이로드내의 위치를 알 수 있으며 같은 방식으로 상기 서브스트링과 동일한 길이를 갖는 다른 서브스트링들의 위치 역시 알 수 있게 된다. 이러한 방식으로 설정된 길이를 갖는 모든 서브스트링을 검색하게 된다.
이후, 상기 검색된 서브스트링이 허용 목록 정보 저장부에 저장된 서브스트링인지 검사한다(S240). 상기 허용목록 정보 저장부에 저장된 내용은 자주 발생하 나 실제 정상적이라고 알려진 서브스트링들로서, 사용자에 의해 내용이 관리될 수도 있고 본 발명의 과정 뒤에 거치게 되는 시그너처 최적화 시스템을 통하여 자동으로 관리될 수도 있다. 예를 들어, 상기 허용목록 정보 저장부의 엔트리는 서브스트링과 패킷 헤더로부터 오는 프로토콜, 포트(port), 아이피(ip) 주소 등의 정보로 이루어진 어떤 조합을 포함하여 구성될 수 있다. 즉, 상기 검사단계(S240)는 현 패킷의 헤더 정보와 일치하는 엔트리가 상기 허용목록 정보 저장부에 있는지를 검사하는 것이다. 상기 검사결과 만일 일치하는 엔트리가 있는 경우 저장된 정보와 해당 서브스트링과의 비교를 통하여 일치하는지 판단한다. 일치하는 경우 해당 서브스트링을 추출하지 않고 상기 단계(S235)로 돌아가서 다음 서브스트링에 대한 분석을 시작한다. 물론 다음 서브스트링이 없다면 다음 패킷에 대한 분석으로 넘어간다. 상기 허용목록 정보 저장부를 관리하고 서브스트링 정보의 존재 여부를 판단하는 단계(S240)는 꼭 필요한 것은 아니다. 그러나 실제 허용목록 정보 저장부에 들어가는 엔트리는 뒤에 소개할 서브스트링 빈도수 테이블에서 서브스트링 분포를 흩트리는 역할을 하므로 정확한 후보 추출을 위해 이를 미리 제거하는 것이 더 좋다.
현재 분석 중인 서브스트링이 상기 허용목록 정보 저장부에 포함되지 않은 경우 상기 서브스트링이 일정 관측 구간 동안 네트워크에 나타난 빈도를 측정하기 위하여 상기 측정된 정보를 서브스트링 빈도수 테이블에 업데이트하며(S245) 빈도수가 기 설정된 값 이상인 서브스트링을 추출한다(S250). 그리고 상기 추출된 서브스트링에 관련된 트래픽 정보 및 해당 서브스트링 빈도수 테이블의 엔트리값을 상기 서브스트링의 공격 가능성을 검사하는 단계(S255)로 넘겨준다. 상기 서브스트링 빈도수 테이블에 대한 구성 및 서브스트링 빈도수 테이블에 해당 엔트리값을 업데이트하는 동작은 도 2b를 참조하여 설명하기로 한다.
도 2b는 본 발명의 일 실시예에 따른 허용목록 정보 저장부에 존재하지 않은 서브스트링이 서브스트링 빈도수 테이블에 반영되는 개략적인 동작을 나타낸 흐름도이다. 상기 단계(S245)에서 허용목록 정보 저장부에 존재하지 않는 서브스트링은 먼저 변환 과정(S280)을 거치게 된다. 상기 변환 과정은, 예를 들어, 서브스트링을 숫자로 변환하는 과정이 될 수 있으며, 그 방법으로 서브스트링의 길이에 따라 일대일(one-to-one) 변환과 다대일(many-to-one) 변환 중 하나를 이용할 수 있다. 만약 서브스트링의 길이가 2바이트로 구성되었다면 해당 서브스트링이 가질 수 있는 총 가지 수는 대략 64k개이다. 이 공간은 충분히 유지할 수 있을 정도로 작은 크기이므로 2바이트 서브스트링의 경우 일대일 변환을 수행한다. 물론 이 경우 변환 없이 서브스트링 자체를 처리해도 문제가 없긴 하지만 스트링의 연산보다 숫자의 연산이 훨씬 더 수월하기 때문에 변환 과정을 사용하였다. 2바이트의 서브스트링을 일대일로 변환하는 하나의 방법은 스트링 자체를 언사인드 쇼트(unsigned short) 값으로 보는 방법이다. 만약 서브스트링의 길이가 2바이트를 초과하여 구성되었다면 서브스트링이 가지는 값의 공간을 모두 간직하도록 하드웨어를 구성하는 것은 무리가 있다. 따라서 이 경우 다대일 변환을 수행한다. 이때 사용될 수 있는 방법으로는 해싱이 있다. 그리고 위와 같은 변환 과정을 거친 후에 생성된 데이터가 가리키는 서브스트링 빈도수 테이블 내의 엔트리가 업데이트(S290)된다.
그 후, 상기 생성된 트래픽 정보와 추출된 서브스트링의 두 가지 입력 값을 바탕으로 분석 중인 패킷에 포함된 상기 서브스트링에 공격가능성이 있는지를 검사한다(S255). 만일 공격가능성이 없다면(S260) 다음 서브스트링의 추출을 위해 상기 단계(S235)로 돌아가고, 반대로 공격가능성이 있으면 해당 서브스트링과 패킷 헤더 정보를 포함한 시그너처를 생성한다(S265). 공격 가능성 판단 기준의 예를 들자면, 서브스트링 빈도수 테이블의 엔트리 정보 또는 빈도수를 확인하여 빈도수가 일정한 값 이상인 경우에만 시그너처를 생성하도록 설정하는 것이 가능할 것이며, 더하여, 상기 생성된 트래픽 정보가 일정한 기준에 해당되는 경우에만 해당 서브스트링을 추출하도록 설정할 수도 있을 것이다. 예를 들어, 빈도수가 일정값 이상인 서브스트링에 대하여, 해당 패킷이 특정한 목적지 주소를 갖거나 특정 범위의 포트번호를 갖는 경우, 해당 패킷을 보내는 근원지 주소가 해당 목적지 포트로 여러 목적지 주소로 패킷을 보내는 경우 또는 해당 패킷을 보내는 근원지 주소가 해당 목적지 포트로 보내는 트래픽의 접속 성공률이 낮은 경우 등에서 해당 서브스트링만을 추출하도록 설정할 수 있을 것이다. 상기 일정한 기준에 해당하는 정보는 상황에 맞게 실시간으로 조정될 수 있다.
이렇게 생성된 시그너처들은 시그너처 빈도수 테이블에서 관리되며 상기 테이블의 정보값을 참조하여 최종 시그너처 후보들을 추출한다(S270). 시그너처 후보 추출 단계(S270)에서는, 해당 시그너처의 발생 빈도수가 임계값 이상인지를 검사하고, 트래픽 정보가 설정된 조건에 부합하는지를 비교하여, 공격 가능성을 검사한다. 시그너처 후보 추출에 대한 내용은 아래의 도 5에서 보다 자세하게 설명하기로 한다.
이상의 과정에 있어서, 상기 서브스트링을 검색하거나 추출하는데 사용되는 기준이 되는 설정값 또는 상기 시그너처 후보를 추출하기 전에 상기 서브스트링에 공격 가능성이 있는지를 검사하는 단계(S255)에서 사용되는 설정값 또는 조건을 조정할 수 있다. 상기 조정은 상기 단계들(S205~S207)과는 독립적으로 이루어지며, 상황에 맞게 적절하게 이루어져야 한다. 그리고, 상기 조정은, 예를 들어, 상기 시그너처 빈도수 테이블에 새로 생성되는 엔트리의 비율, 시그너처 빈도수 테이블 엔트리의 빈도수, 서브스트링 빈도수 테이블 엔트리의 빈도수, 해당 패킷의 트래픽 정보를 이용하여 이루어진다.
도 3은 본 발명의 일 실시예에 따른 공격 패킷 시그너처 후보 추출 장치를 도시한 블록도이다. 도 3을 참조하면 상기 시그너처 후보 추출 장치는 패킷 분리부(310), 헤더 정보 파싱부(320), 트래픽 정보 생성부(330), 서브스트링 추출부(340), 시그너처 후보 추출부(350), 허용목록 정보 저장부(360) 및 제어부(370)을 포함한다.
상기 패킷 분리부(310)에서는 네트워크로 패킷이 입력되었을 때 해당 패킷에서 헤더와 페이로드를 분리하여, 상기 분리한 헤더는 헤더 정보 파싱부(320)로 그리고 상기 페이로드는 서브스트링 추출부(340)로 전달한다.
상기 헤더 정보 파싱부(320)에서는 상기 전달받은 헤더의 정보를 파싱한 후 트래픽 정보 생성부(330)에 상기 파싱된 정보를 전송한다. 상기 트래픽 정보 생성부(330)에서는 입력된 파싱값에 대해 네트워크 트래픽에 대한 정보를 생성하고 상기 트래픽 정보의 엔트리를 업데이트하고 입력된 정보와 관련된 시스템의 트래픽 정보를 상기 시그너처 후보 추출부(350)로 전송한다.
서브스트링 추출부(340)는 상기 전달받은 패킷 페이로드로부터 서브스트링을 추출한다. 상기 허용목록 정보 저장부(360)에는 공격 가능성이 없다고 판단된 스트링에 대한 정보를 저장하고 있으며, 상기 서브스트링 추출부(340)에서는 상기 허용목록 정보(360)에 해당 서브스트링에 대한 정보가 존재하는지 확인하여 존재하는 경우 해당 서브스트링에 대한 절차를 중지할 수 있다. 이는 공격 패킷의 특성이 존재하지 않는 경우 해당 서브스트링에 대해 판단하는 불필요한 절차를 없애기 위함이다. 그리고 상기 서브스트링 추출부(340)는 상기 허용목록 정보 저장부(360)에 존재하지 않는 서브스트링을 찾아서 서브스트링 빈도수 테이블에 업데이트 한다.
이렇게 찾아진 서브스트링들은 상기 트래픽 정보와 함께 상기 시그너처 후보 추출부(350)의 입력값이 된다. 이를 위해서 패킷 페이로드 처리와 패킷 헤더 처리가 동시에 이루어진다.
상기 시그너처 후보 추출부(350)는 이 두 입력 값으로부터 공격패턴으로 의심스러운 시그너처 후보를 생성하며, 상기 후보 생성의 기준이 되는 값을 상황에 맞게 조정한다. 상기 과정 중 헤더 정보의 처리 과정은 입력 패킷 당 한번 수행되며 패킷 페이로드의 분석 과정은 해당 페이로드로부터 추출되는 모든 서브스트링에 대해서 이루어진다.
상기 제어부(370)에서는 상기 시그너처 후보 추출부(350)의 처리 결과를 참조하여 상기 서브스트링 추출부(340)에서 서브스트링 처리에 사용되는 설정값이나 임계값을 조정한다. 이러한 조정은 일정 조건을 만족하는 서브스트링만 추출함으로 써 자원낭비를 줄이고 오탐율을 줄이기 위함이다. 그리고 모든 서브스트링에 대한 처리가 끝났을 때 네트워크상의 다음 패킷에 대한 분석을 수행한다.
도 4a는 본 발명의 일 실시예에 따른 서브스트링 빈도수 테이블 및 서브스트링 추출부(340)의 상세 구성을 나타낸 구성도이다. 상기 서브스트링 빈도수 테이블(440)은 관측 구간별로 해당 서브스트링이 발생한 빈도를 관리한다. 따라서 관측 구간이 경과 하는 시점마다 각 엔트리의 빈도값을 초기화하는데, 여기서 초기화는 시스템이 추구하는 정책에 따라 다르게 이루어질 수 있다. 만약 해당 관측 구간의 빈도만 보겠다는 정책을 취할 경우 관측 구간이 지나는 시점마다 엔트리의 빈도 값을 0으로 설정한다. 만약 스트링의 이전 관측 구간에서의 발생 빈도 역시 일부 반영하겠다고 한다면 EWMA(exponentially weighted moving average)와 같은 방법을 사용하여 해당 엔트리의 값을 조정한다. 그러나 이와 같은 작업을 관측 구간이 경과하는 매 시점마다 테이블 내의 모든 엔트리에 대해서 수행하는 것은 온라인 시스템에 적절하지 않을 것이므로, 각각의 엔트리별로 관측 구간의 경과를 확인하고 해당 엔트리를 초기화하는 것이 바람직하다.
이를 해결하기 위해서 서브스트링 빈도수 테이블(440)의 각 엔트리(441)는 서브스트링 발생 빈도(442) 외에도 해당 엔트리와 관련된 서브스트링을 갖는 가장 최근에 들어온 패킷이 속하는 관측 구간을 표시하는 값(443)을 가진다. 그리고 서브스트링이 변환된 정보가 들어왔을 때 해당 정보가 가리키는 엔트리(441)의 관측 구간 값(443)과 현재 관측 구간을 표시하는 값(445)을 검사부(446)에서 비교하여 만약 두 값이 같으면 해당 정보의 빈도수를 증가시킨다. 만약 상기 두 값이 다르다 면 이미 관측 구간이 경과 한 것이므로 빈도수를 정책에 맞게 조정한 후(예를 들면, 초기화를 한 후) 조정된 값에서 빈도수를 증가시키게 되며, 이 경우 최근 발생 한 관측 구간을 표시하는 값(443) 역시 현재의 관측 구간을 표시하는 값(445)으로 변경한다.
이때, 관측 구간이 경과했는지는 클락(clock) 발생기(444)로부터 발생되는 클락의 주기와 개수에 의해서 결정된다. 만약 클락의 주기가 1초이고 관측기간이 1분이라면 클락이 60개 발생한 시점마다 관측 구간이 경과하였음을 알게 된다. 그리고 관측 구간 경과 시점에 현재 관측 구간을 나타내는 값(445)이 변하게 된다. 이 값(445)은 하나의 정수로 표현될 수 있으며 해당 관측 구간이 경과 되는 시점마다 1씩 증가하는 방식으로 조정될 수 있다. 본 발명에서 각 서브스트링의 빈도 (또는 서브스트링이 변환된 정보의 빈도)는 기본적으로 해당 정보의 발생 시마다 1씩 증가한다. 그러나 서브스트링의 중요도에 따라 증가 정도를 달리할 수 있다. 일반적으로 공격 패턴은 기존에 나타나지 않았던 패턴일 확률이 높다. 따라서 기존에 잘 나오지 않았던 정보의 빈도 증가율을 더 크게 하는 방법을 채택할 수도 있다. 예를 들어, 상기 각 서브스트링별로 서로 다른 증가량을 갖는 경우에 해당 증가량은, 현재까지 나타난 서브스트링의 개수에 관한 값에 반비례하고, 상기 개수에 관한 값은 가까운 관측 구간에 발생한 횟수에 더 큰 가중치를 주며 네트워크상에 나타나는 트래픽 양에 대해 정규화된 것일 수 있다.
도 4b는 본 발명의 일 실시예에 따른 서브스트링 별 증가량이 다른 경우의 서브스트링 빈도수 테이블의 예를 나타내는 구성도이다. 도 4b를 참조하면 상기 각 엔트리의 빈도 증가율을 결정하기 위해서 서브스트링 빈도수 테이블(440)의 각 엔트리(441)는 상기 두 값(442, 443) 외에, 예를 들어, 오랜 시간 동안 서브스트링이 나타난 빈도를 대표하는 값(447)을 더 가질 수 있다. 테이블의 엔트리 각각에 대해 가장 최근의 관측 구간 정보를 필드(443)에 업데이트하면, 해당 엔트리로 접근할 때 상기 필드값(443)을 읽어, 현재 관측 구간을 대표하는 값과 상기 읽은 필드값(443)을 비교하고 두 값이 동일하지 않은 경우 관측 구간이 경과했다고 판단하게 된다. 상기 대표값(447)은 각 엔트리에 대해서 관측 구간이 경과 하는 시점에 계산되는데, 예를 들면, 상기 대표값은 다음과 같이 결정될 수 있다.
Figure 112006085769814-pat00001
상기 수학식 1에서 어떤 엔트리의 관측구간 t에서의 대표값을 Xt, 해당 관측 구간 동안 발생한 데이터(data)의 빈도 값을 ft, 해당 관측 구간 동안 조사한 총 스트링 수를 Nt라고 한다면 관측 구간이 t+1이 되었을 때의 대표값X t+1은 위와 같이 둘 수 있다. 이는 대표값을 구하기 위한 하나의 예일 뿐이며, 꼭 이에 국한된 것은 아니다. 그리고 해당 엔트리의 빈도 값의 증분은 대표값이 클수록 작고 대표값이 작을수록 크게 설정한다.
도 5는 본 발명의 일 실시예에 따른 시그너처 후보 추출부를 나타낸 구성도이다. 도 5를 참조하여 시그너처 후보 추출부의 구성 및 동작에 대해 설명하기로 한다. 공격 가능성 검사부(510)는 현재 고려 중인 패킷의 서브스트링에서 공격 가능성이 있는지를 검사하는 부분이다. 예를 들어, 상기 공격 가능성 검사부(510)에서는 분석 중인 서브스트링과 관련된 데이터가 발생한 빈도수가 기 설정된 값 또는 임계값(threshold)을 넘는지를 빈도수 검사부(514)에서 검사한다. 이때, 상기 빈도수는 상기 서브스트링 빈도수 테이블로부터 전달받는다. 또한 트래픽 정보 생성부(230)로부터 받은 분석중인 패킷에 관한 트래픽 정보(i1,···,in)들을 각각에 대한 일정 조건(c1,···,cn)을 만족하는지 비교기(511-1,···,511-n)에서 검사된다. 그리고 각 트래픽 정보에 대한 검사 결과들을 바탕으로 판단부(512)에서 현재 패킷에 대한 분석 여부를 판단한다. 이때, 트래픽 각각의 정보에 대한 조건은 사용자에 의해서 조정될 수 있으며, 이와 관련된 조건 검사부(513)는 재구성 가능한 방식 또는 재설계가 가능한 방식으로 구현될 수 있다. 만일 상기 조건 검사부(513)에서 고려하는 조건이 높은 경우 공격 패턴을 놓칠 확률이 높아진다. 따라서 가능한 한 이 부분의 조건을 강하게 하지 않는 것이 부정 오류를 낮게 하는데 좋다. 또한, 이 부분에서 고려될 정보들은 여러 가지가 있을 수 있으나 해당 패킷을 주고 받는 시스템의 주소 분배(dispersion) 정보는 반드시 필요하다. 즉, 고려중인 패킷이 시스템 A에서 시스템 B로 C라는 프로토콜을 통해 D라는 포트로 보내졌다고 한다면 A가 C라는 프로토콜 패킷을 보낸 주소 수 또는 A가 C의 프로토콜로 D라는 포트로 패킷을 보낸 주소 수는 반드시 확인 한다. 물론, B에게 온 패킷 중 B라는 프로토콜 (또는, B라는 프로토콜의 D라는 포트로)로 패킷을 보낸 시스템 수도 확인한다. 또한 관련된 트래픽의 패킷 수, 바이트 합, SYN 패킷 수, FIN/RST 패킷 수, 접속 실패 수 또는 접속 성공 수 등의 정보를 더 포함하여 판단할 수 있다. 상기 두 검사부(513,514)에서의 판단은 각 판단의 "논리곱"도 될 수 있고 "논리합"도 될 수 있다. 이후 최종 검사부(515)에서는 검사부(513)과 검사부(514)에서 분석된 정보를 논리합하여 분석중인 패킷에 공격 가능성이 있는지를 판단한다. 예를 들면, 검사부(513)과 검사부(514)에서 모두 공격 가능성이 있다고 판단될 때만 다음 절차로 넘어가도록 설정될 수 있을 것이다.
시그너처 생성부(520)는 공격가능성 검사부(510)에서 현 패킷의 고려 중인 서브스트링에 공격 가능성이 있다고 의심되는 서브스트링을 처리한다. 상기 의심되는 서브스트링의 경우 해당 패킷 헤더 필드의 일부 정보와 서브스트링 자체를 포함하는 시그너처를 형성한다. 여기에 들어가는 서브스트링은 변형된 데이터가 아니라 실제 서브스트링 자체이다. 이렇게 생성된 시그너처를 가지고 시그너처 빈도수 테이블(521)의 엔트리를 업데이트 한다. 예를 들어, 상기 시그너처 빈도수 테이블(521)의 각 엔트리(522)는 3가지 값을 가질 수 있다. 이는 각각, 시그너처(523), 시그너처 발생 빈도(524)와 관측 구간(525)을 나타내는 값이다. 상기 관측 구간(525)는 앞의 서브스트링 빈도수 테이블에서와 같은 이유로 사용된다. 예를 들어, 시그너처 빈도수 테이블에서 엔트리의 빈도 값은 동일 관측 구간 내에서는 1씩 증가하고 관측 구간이 바뀐 경우 0으로 설정된다. 이때, 서브스트링 빈도수 테이블의 경우와 같이 해당 엔트리의 빈도수 증분 값을 다르게 하지는 않는다. 또한, 상기 시그너처 빈도수 테이블의 관측 구간 길이와 서브스트링 빈도수 테이블에서의 관측 구간 길이는 다를 수 있다. 통상적으로 시그너처 빈도수 테이블의 관측 구간이 더 길다.
후보 추출부(533)에서는 상기 시그너처 빈도수 테이블(512)에서 현재 고려 중인 시그너처가 관측 구간 내에서 발생한 빈도가 기 설정된 값이나 임계값을 넘긴 경우 이를 시그너처 후보로 추출한다. 따라서 해쉬 충돌(hash collision)에 의한 빈도수의 증가를 막기 위해 시그너처 빈도수 테이블(521)은 시그너처 자체를 저장하고 해당 시그너처와 정확하게 일치하는 경우 상기 테이블(521)의 엔트리 값을 업데이트한다. 만약 정확하게 일치하는 엔트리가 없다면 새로운 엔트리를 형성해야 한다. 그러나 하드웨어로 구현된 경우와 같이 시그너처 빈도수 테이블이 허용 가능한 엔트리수가 제한 된 경우 상기 테이블(521)에서 제공하는 엔트리가 꽉 차는 상황은 존재할 수 있다. 더욱이 상기 테이블(521)의 관측기간이 긴 경우 더 빨리 테이블의 엔트리가 찰 것이다. 이 경우, 가장 오랫동안 엔트리가 업데이트되지 않은 것 중 발생 빈도(524)가 가장 작은 엔트리를 제거하고 새로 들어온 엔트리를 생성한다. 비록, 시그너처 빈도수 테이블(521)이 다 찬 상황에서도 시스템이 동작 가능하지만, 상기 테이블(521)에 있는 엔트리(522)가 너무 자주 삭제/교체되면 실제 공격 시그너처가 일정 설정값 이상 나타나기 전에 삭제되는 현상이 발생 될 수 있다. 따라서, 해당 시그너처 빈도수 테이블(521)의 엔트리(522)가 너무 자주 삭제/교체 되는 상황을 막아 주어야 한다.
이를 위해서 설정값 제어부(531)는 서브스트링 빈도수 테이블에서 시그너처 빈도수 테이블로 넘어오기 위한 서브스트링 발생 빈도의 설정값 또는 임계값을 조 정함로서 시그너처 빈도수 테이블로 들어오는 엔트리 수를 조절한다. 상기 설정값 제어부(531)는 제어부(280)의 일부 동작 부분의 일 예이다. 이때, 상기 설정값 또는 임계값은 관측 구간 동안 시그너처 빈도수 테이블에서 삭제/교체된 엔트리 개수의 함수로 결정될 수 있다. 가장 간단한 이 함수의 예를 들자면, 엔트리 삭제/교체 수의 기준값(예를 들어, 이 기준값은 사용자 또는 테이블의 정보를 분석하여 자동으로 기준값을 정하는 특정 장치에 의해 정해진다)을 두고, 현 관측 구간 동안 삭제/교체된 엔트리 개수가 기준값 보다 작으면 서브스트링 빈도수 테이블의 설정값 또는 임계치를 높이고 기준 값보다 크면 서브스트링 빈도수 테이블의 설정값 또는 임계값을 낮추는 방법이 있다. 또한, 상기 설정값 또는 임계값은 시그너처 빈도수 테이블에서 삭제/교체된 엔트리 수와 서브스트링 빈도수 테이블에서 서브스트링의 빈도수의 함수로 결정될 수 있다. 이때, 서브스트링의 빈도수 함수는 서브스트링 빈도 값의 평균이나 엔트로피 값으로 수치화할 수 있다. 그리고 상기 수치화는 각 서브스트링 처리시마다 업데이트되는 방식을 채택해야 온라인으로 동작 가능하다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 당업자에게 있어 명백할 것이다.
본 발명의 네트워크 공격 패킷의 시그너처 생성에 사용되는 공격 패킷 시그너처 후보 추출 장치 및 방법은, 패킷의 헤더 정보를 파싱하여 트래픽 정보를 생성 하고 페이로드의 서브스트링을 추출하여 공격 가능성이 있는 시그너처의 후보들을 추출함으로써, 부정 오류가 낮고 폴리모픽한 웜에 대처할 수 있으며, 하드웨어로 구현가능하고 온라인으로 동작 가능하며 실시간으로 대처할 수 있게 하는 공격 패킷 시그너처 후보들 추출을 가능하게 한다.

Claims (31)

  1. 네트워크 패킷을 헤더와 페이로드로 구분하는 패킷 분리부;
    상기 헤더 정보를 파싱하는 헤더 정보 파싱부;
    상기 파싱된 값으로 트래픽 정보를 생성하는 트래픽 정보 생성부;
    상기 구분된 페이로드내의 특정 길이의 서브스트링이 일정 관측 구간 동안 네트워크에 나타난 빈도를 측정하고, 상기 측정된 빈도정보를 서브스트링 빈도수 테이블에 업데이트하여 빈도수가 기 설정된 값 이상인 서브스트링을 추출하는 서브스트링 추출부; 및
    상기 추출된 서브스트링의 정보와 상기 생성된 트래픽 정보를 취합하여 시그너처를 생성하고 시그너처 빈도수 테이블에 업데이트하며 상기 시그너처 빈도수 테이블의 정보를 참조하여 시그너처 후보를 추출하는 시그너처 후보 추출부를 포함하는 공격 패킷 시그너처 후보 추출 장치.
  2. 제1항에 있어서,
    허용되는 서브스트링에 대한 정보를 저장하여, 상기 서브스트링 추출부에서 상기 서브스트링의 빈도를 측정하기 전에 상기 추출된 서브스트링과 기 저장된 서브스트링의 정보가 같을 경우 절차를 중지할 수 있도록 하는 허용목록 정보 저장부를 더 포함하는 것을 특징으로 하는 공격 패킷 시그너처 후보 추출 장치.
  3. 제1항에 있어서,
    상기 서브스트링 추출부에서 서브스트링에 대해 판단하는데 사용되는 설정값이나 임계값을 조정하는 제어부를 더 포함하는 것을 특징으로 하는 공격 패킷 시그너처 후보 추출 장치.
  4. 제1항에 있어서,
    상기 트래픽 정보는 해당 패킷의 목적지 주소, 근원지 주소, 목적지 포트 번호, 근원지 포트 번호, 프로토콜, 패킷 길이, 및 TCP(transmission control procedure) 플래그 값 중 하나 이상의 정보를 갖는 조합으로 이루어지는 것을 특징으로 하는 공격 패킷 시그너처 후보 추출 장치.
  5. 제4항에 있어서,
    상기 트래픽 정보 각각에 대한 엔트리는, 근원지 주소와 관련된 정보의 조합에 포함되는 경우에는 해당 조합을 만족하는 패킷이 보내진 서로 다른 목적지에 접속한 주소 수를 의미하고, 목적지 주소와 관련된 정보의 조합에 포함되는 경우에는 해당 조합을 만족하는 패킷을 상기 목적지 주소로 보낸 서로 다른 근원지에 접속한 주소 수를 의미하는, 주소 분배 정보를 포함하는 것을 특징으로 하는 공격 패킷 시 그너처 후보 추출 장치.
  6. 제5항에 있어서,
    상기 트래픽 정보의 각 엔트리는 관련된 트래픽의 패킷 수, 바이트 합, SYN 패킷 수, FIN/RST 패킷 수, 접속 실패 수 또는 접속 성공 수 정보 중 하나 이상의 정보를 더 포함하는 것을 특징으로 하는 공격 패킷 시그너처 후보 추출 장치.
  7. 제1항에 있어서,
    상기 서브스트링 추출부는 해당 서브스트링의 길이가 2 바이트 이하일 때 해당 서브스트링을 언사인드 쇼트(unsigned short) 값으로 수치화하는 일대일 변환 또는 해당 서브스트링의 길이가 2바이트를 초과할 때 해당 서브스트링에 해싱 알고리즘을 적용하여 수치화하는 다대일 변환 중 하나를 사용하여 변형하고, 변형된 정보에 맞도록 서브스트링 빈도수 테이블의 엔트리 정보를 업데이트하는 것을 특징으로 하는 공격 패킷 시그너처 후보 추출 장치.
  8. 제7항에 있어서,
    상기 서브스트링 빈도수 테이블은, 각 엔트리별로 초기화할 수 있도록 각 엔 트리의 관측 구간을 나타내는 필드를 포함하고, 상기 서브스트링 추출부는, 해당 엔트리의 관측 구간이 경과 한 경우에는 상기 엔트리의 서브스트링 발생 빈도 값을 초기화한 후 해당 초기화된 값에서 서브스트링의 발생 빈도 값을 증가시키고, 해당 엔트리의 관측 구간이 경과 되지 않은 경우에는 상기 엔트리의 서브스트링 발생 빈도 값을 증가시키는 것을 특징으로 하는 공격 패킷 시그너처 후보 추출 장치.
  9. 제8항에 있어서,
    상기 초기화는 해당 엔트리의 서브스트링 발생 빈도 값을 0 또는 발생 값의 일정 비율로 초기화하는 것을 특징으로 하는 공격 패킷 시그너처 후보 추출 장치.
  10. 제8항에 있어서,
    상기 서브스트링 발생 빈도수는 모든 서브스트링에 대하여 일정하게 증가량을 갖거나 또는 각 서브스트링별로 서로 다른 증가량을 갖는 것을 특징으로 하는 공격 패킷 시그너처 후보 추출 장치.
  11. 제10항에 있어서,
    상기 각 서브스트링별로 서로 다른 증가량을 갖는 경우에 해당 증가량은, 네 트워크상에 나타나는 트래픽 양에 대해 정규화된 서브스트링의 개수에 관한 값에 반비례하고, 가까운 관측 구간에 발생한 횟수에 더 큰 가중치를 주는 것을 특징으로 하는 공격 패킷 시그너처 후보 추출 장치.
  12. 제1항에 있어서,
    상기 시그너처 후보 추출부는 상기 서브스트링 빈도수 테이블의 빈도수가 기 설정된 값 이상이거나 상기 트래픽 정보 생성부에서 생성된 트래픽 정보가 기 설정된 조건을 만족하는 경우에만 시그너처를 생성하는 것을 특징으로 하는 공격 패킷 시그너처 후보 추출 장치.
  13. 제1항에 있어서,
    상기 시그너처 빈도수 테이블은 각 엔트리의 관측 구간을 나타내는 필드를 포함하는 것을 특징으로 하는 공격 패킷 시그너처 후보 추출 장치.
  14. 제13항에 있어서,
    상기 시그너처 후보 추출부는, 분석중인 시그너처가 상기 시그너처 빈도수 테이블에 존재하는 경우에는 관측 구간이 경과 되지 않았으면 시그너처의 빈도수를 증가시키고 관측 구간이 경과하였으면 시그너처의 빈도수를 초기화한 후 시그너처의 빈도수를 증가시키고, 분석중인 시그너처 빈도수 테이블에 존재하지 않는 경우에는 시그너처에 대한 새로운 엔트리를 생성 및 초기화하고 시그너처의 빈도수를 증가시키는 것을 특징으로 하는 공격 패킷 시그너처 후보 추출 장치.
  15. 제13항에 있어서,
    상기 시그너처 후보 추출부는 상기 시그너처 빈도수 테이블에 비어 있는 엔트리가 없는 상황에서 새로운 엔트리를 생성해야 하는 경우에는 가장 오랫동안 업데이트가 되지 않은 엔트리 중 해당 시그너처의 발생 회수가 가장 작은 엔트리를 대체하는 것을 특징으로 하는 공격 패킷 시그너처 후보 추출 장치.
  16. 제3항에 있어서,
    상기 제어부는 상기 서브스트링 추출부의 설정값 또는 임계값을, 상기 시그너처 빈도수 테이블에서 삭제/교체된 엔트리 수, 또는 서브스트링 빈도수 테이블의 서브스트링 빈도 값의 평균이나 엔트로피 값으로 수치화된 빈도수의 함수로 결정하는 것을 특징으로 하는 공격 패킷 시그너처 후보 추출 장치.
  17. 네트워크 패킷을 헤더와 페이로드로 구분하는 단계;
    상기 헤더 정보를 파싱하는 단계;
    상기 파싱된 값으로 트래픽 정보를 생성하는 단계;
    상기 구분된 페이로드내의 특정 길이의 서브스트링이 일정 관측 구간 동안 네트워크에 나타난 빈도를 측정하고 상기 측정된 빈도정보를 서브스트링 빈도수 테이블에 업데이트하는 단계;
    상기 업데이트된 서브스트링 빈도수 테이블의 정보를 참조하여 특정 길이의 서브스트링을 추출하는 단계;
    상기 추출된 서브스트링의 정보와 상기 생성된 트래픽 정보를 취합하여 시그너처를 생성하고 상기 생성된 시그너처의 정보를 시그너처 빈도수 테이블에 업데이트하는 단계; 및
    상기 시그너처 빈도수 테이블의 정보를 참조하여 시그너처 후보를 추출하는 단계로 이루어지는 공격 패킷 시그너처 후보 추출 방법.
  18. 제17항에 있어서,
    상기 서브스트링의 빈도를 측정하기 전에 상기 페이로드 내의 서브스트링과 허용되는 서브스트링의 정보가 같을 경우 해당 서브스트링에 대한 빈도 측정을 중지하는 단계를 더 포함하는 것을 특징으로 하는 공격 패킷 시그너처 후보 추출 방법.
  19. 제17항에 있어서,
    상기 시그너처 후보 추출 후에, 상기 서브스트링 추출에 사용되는 설정값이나 임계값을 조정하는 단계를 더 포함하는 것을 특징으로 하는 공격 패킷 시그너처 후보 추출 방법.
  20. 제17항에 있어서,
    상기 트래픽 정보는 해당 패킷의 목적지 주소, 근원지 주소, 목적지 포트 번호, 근원지 포트 번호, 프로토콜, 패킷 길이, 및 TCP(transmission control procedure) 플래그 값 중 하나 이상의 정보를 갖는 조합으로 이루어지는 것을 특징으로 하는 공격 패킷 시그너처 후보 추출 방법.
  21. 제20항에 있어서,
    상기 트래픽 정보 각각에 대한 엔트리는, 근원지 주소와 관련된 정보의 조합에 포함되는 경우에는 해당 조합을 만족하는 패킷이 보내진 서로 다른 목적지에 접속한 주소 수를 의미하고, 목적지 주소와 관련된 정보의 조합에 포함되는 경우에는 해당 조합을 만족하는 패킷을 상기 목적지 주소로 보낸 서로 다른 근원지에 접속한 주소 수를 의미하는, 주소 분배 정보를 포함하는 것을 특징으로 하는 공격 패킷 시 그너처 후보 추출 방법.
  22. 제21항에 있어서,
    상기 트래픽 정보의 각 엔트리는 관련된 트래픽의 패킷 수, 바이트 합, SYN 패킷 수, FIN/RST 패킷 수, 접속 실패 수 또는 접속 성공 수 정보 중 하나 이상의 정보를 더 포함하는 것을 특징으로 하는 공격 패킷 시그너처 후보 추출 방법.
  23. 제17항에 있어서,
    상기 서브스트링 빈도수 테이블을 업데이트하는 단계는, 해당 서브스트링의 길이가 2 바이트 이하일 때 해당 서브스트링을 언사인드 쇼트(unsigned short) 값으로 수치화하는 일대일 변환 또는 해당 서브스트링의 길이가 2 바이트를 초과할 때 해당 서브스트링에 해싱 알고리즘을 적용하여 수치화하는 다대일 변환 중 하나를 사용하여 변형하고, 변형된 정보에 맞도록 서브스트링 빈도수 테이블의 엔트리 정보를 업데이트하는 방식으로 이루어지는 것을 특징으로 하는 공격 패킷 시그너처 후보 추출 방법.
  24. 제23항에 있어서,
    상기 서브스트링 빈도수 테이블은 각 엔트리별로 초기화할 수 있도록 각 엔트리의 관측 구간을 나타내는 필드를 포함하고, 상기 서브스트링 빈도수 테이블의 업데이트는, 해당 엔트리의 관측 구간이 경과 한 경우에는 상기 엔트리의 서브스트링 발생 빈도 값을 초기화한 후 해당 초기화된 값에서 서브스트링의 발생 빈도 값을 증가시키고, 해당 엔트리의 관측 구간이 경과 되지 않은 경우에는 상기 엔트리의 서브스트링 발생 빈도 값을 증가시키는 것을 특징으로 하는 공격 패킷 시그너처 후보 추출 방법.
  25. 제24항에 있어서,
    상기 초기화는 해당 엔트리의 서브스트링 발생 빈도 값을 0 또는 발생 값의 일정 비율로 초기화하는 것을 특징으로 하는 공격 패킷 시그너처 후보 추출 방법.
  26. 제24항에 있어서,
    상기 서브스트링 발생 빈도수는 모든 서브스트링에 대하여 일정하게 증가되거나 각 서브스트링별로 서로 다른 폭으로 증가되는 것을 특징으로 하는 공격 패킷 시그너처 후보 추출 방법.
  27. 제26항에 있어서,
    상기 각 서브스트링별로 서로 다른 폭으로 증가되는 경우의 증가량은, 네트워크상에 나타나는 트래픽 양에 대해 정규화된 서브스트링의 개수에 관한 값에 반비례하고, 가까운 관측 구간에 발생한 횟수에 더 큰 가중치를 주는 것을 특징으로 하는 공격 패킷 시그너처 후보 추출 방법.
  28. 제17항에 있어서,
    상기 시그너처 생성은 해당 서브스트링의 빈도수가 기 설정된 값 이상이고 상기 트래픽 정보 생성 단계에서 생성된 트래픽 정보가 기 설정된 조건을 만족하는 경우에만 이루어지는 것을 특징으로 하는 공격 패킷 시그너처 후보 추출 방법.
  29. 제17항에 있어서,
    상기 시그너처 빈도수 테이블에 업데이트 하는 단계는, 생성된 시그너처가 상기 시그너처 빈도수 테이블에 존재하는 경우에는 관측 구간이 경과 되지 않았으면 시그너처의 빈도수를 증가시키고 관측 구간이 경과하였으면 시그너처의 빈도수를 초기화한 후 시그너처의 빈도수를 증가시키고, 분석중인 시그너처 빈도수 테이블에 존재하지 않는 경우에는 시그너처에 대한 새로운 엔트리를 생성 및 초기화한 후 시그너처의 빈도수를 증가시키는 것을 특징으로 하는 공격 패킷 시그너처 후보 추출 방법.
  30. 제29항에 있어서,
    상기 시그너처 빈도수 테이블을 업데이트 하는 단계는, 상기 시그너처 빈도수 테이블에 비어 있는 엔트리가 없는 상황에서 새로운 엔트리를 생성해야 하는 경우에는 가장 오랫동안 업데이트가 되지 않은 엔트리 중 해당 시그너처의 발생 회수가 가장 작은 엔트리를 새로운 엔트리로 대체하는 것을 특징으로 공격 패킷 시그너처 후보 추출 방법.
  31. 제29항에 있어서,
    상기 설정값 또는 임계값은, 상기 시그너처 빈도수 테이블에서 삭제/교체된 엔트리 수, 또는 서브스트링 빈도수 테이블의 서브스트링 빈도 값의 평균이나 엔트로피 값으로 수치화된 빈도수의 함수로 결정될 수 있는 것을 특징으로 하는 공격 패킷 시그너처 후보 추출 방법.
KR1020060115960A 2006-11-22 2006-11-22 공격 패킷 시그너처 후보 추출 장치 및 방법 KR100818306B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020060115960A KR100818306B1 (ko) 2006-11-22 2006-11-22 공격 패킷 시그너처 후보 추출 장치 및 방법
US11/924,100 US7865955B2 (en) 2006-11-22 2007-10-25 Apparatus and method for extracting signature candidates of attacking packets

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060115960A KR100818306B1 (ko) 2006-11-22 2006-11-22 공격 패킷 시그너처 후보 추출 장치 및 방법

Publications (1)

Publication Number Publication Date
KR100818306B1 true KR100818306B1 (ko) 2008-04-01

Family

ID=39418433

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060115960A KR100818306B1 (ko) 2006-11-22 2006-11-22 공격 패킷 시그너처 후보 추출 장치 및 방법

Country Status (2)

Country Link
US (1) US7865955B2 (ko)
KR (1) KR100818306B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101021697B1 (ko) * 2009-04-30 2011-03-15 경희대학교 산학협력단 6LoWPAN에서 봇넷 공격을 탐지하는 방법
KR101060733B1 (ko) 2008-12-22 2011-08-31 한국전자통신연구원 어플리케이션 프로토콜인식을 이용한 네트워크 침입탐지 방법 및 장치
KR101218419B1 (ko) * 2010-11-09 2013-01-21 한양대학교 산학협력단 클라우드 보안 아키텍처를 사용한 스마트폰 바이러스 검출 방법 및 장치
KR101391781B1 (ko) 2012-08-07 2014-05-07 한국전자통신연구원 웹 트랜잭션 밀집도 기반 에이치티티피 봇넷 탐지 장치 및 방법
KR101420301B1 (ko) * 2012-09-05 2014-07-17 주식회사 시큐아이 DDoS 공격 검출 방법 및 장치
KR20200014968A (ko) * 2018-08-02 2020-02-12 주식회사 케이티 비정상 트래픽 탐지 방법 및 그 장치

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100809416B1 (ko) * 2006-07-28 2008-03-05 한국전자통신연구원 보안 시스템을 위한 최적 시그니처 자동 생성 장치 및 방법
US8065729B2 (en) * 2006-12-01 2011-11-22 Electronics And Telecommunications Research Institute Method and apparatus for generating network attack signature
US8336098B2 (en) * 2009-03-25 2012-12-18 Sysmate Co., Ltd. Method and apparatus for classifying harmful packet
US20120173702A1 (en) * 2010-12-30 2012-07-05 Telefonaktiebolaget L M Ericsson (Publ) Automatic Signature Generation For Application Recognition And User Tracking Over Heterogeneous Networks
EP2490393B1 (de) * 2011-02-17 2013-07-17 Desoma GmbH Verfahren und Vorrichtung zur Analyse von Datenpaketen
US10341364B2 (en) * 2015-02-27 2019-07-02 Corero Networks Security, Inc. Systems and methods for monitoring and mitigating network attacks
US9973528B2 (en) * 2015-12-21 2018-05-15 Fortinet, Inc. Two-stage hash based logic for application layer distributed denial of service (DDoS) attack attribution
US20180083985A1 (en) * 2016-09-20 2018-03-22 ShieldX Networks, Inc. Systems and methods for network security event filtering and translation
US10764315B1 (en) * 2019-05-08 2020-09-01 Capital One Services, Llc Virtual private cloud flow log event fingerprinting and aggregation

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030145225A1 (en) 2002-01-28 2003-07-31 International Business Machines Corporation Intrusion event filtering and generic attack signatures
JP2005001206A (ja) * 2003-06-11 2005-01-06 Dainippon Screen Mfg Co Ltd 造形物の洗浄方法、造形物の製造方法および洗浄装置
JP2005000517A (ja) * 2003-06-13 2005-01-06 Figla Co Ltd 液体化粧料容器
JP2005001231A (ja) * 2003-06-11 2005-01-06 Toyo Tire & Rubber Co Ltd ゴム連続混練押出機
US20050229254A1 (en) 2004-04-08 2005-10-13 Sumeet Singh Detecting public network attacks using signatures and fast content analysis
JP2006000509A (ja) * 2004-06-18 2006-01-05 Samii Kk 回胴式遊技機
KR20060063342A (ko) * 2004-12-07 2006-06-12 한국전자통신연구원 알려지지 않은 네트워크 공격에 대한 실시간 공격 패턴검출 시스템 및 그 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5440723A (en) * 1993-01-19 1995-08-08 International Business Machines Corporation Automatic immune system for computers and computer networks
US6279113B1 (en) * 1998-03-16 2001-08-21 Internet Tools, Inc. Dynamic signature inspection-based network intrusion detection
KR20040102489A (ko) 2003-05-28 2004-12-08 한라공조주식회사 적층형 열교환기의 플레이트
US20050229954A1 (en) * 2004-04-19 2005-10-20 Hydro-Spray Vehicle washing system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030145225A1 (en) 2002-01-28 2003-07-31 International Business Machines Corporation Intrusion event filtering and generic attack signatures
JP2005001206A (ja) * 2003-06-11 2005-01-06 Dainippon Screen Mfg Co Ltd 造形物の洗浄方法、造形物の製造方法および洗浄装置
JP2005001231A (ja) * 2003-06-11 2005-01-06 Toyo Tire & Rubber Co Ltd ゴム連続混練押出機
JP2005000517A (ja) * 2003-06-13 2005-01-06 Figla Co Ltd 液体化粧料容器
US20050229254A1 (en) 2004-04-08 2005-10-13 Sumeet Singh Detecting public network attacks using signatures and fast content analysis
JP2006000509A (ja) * 2004-06-18 2006-01-05 Samii Kk 回胴式遊技機
KR20060063342A (ko) * 2004-12-07 2006-06-12 한국전자통신연구원 알려지지 않은 네트워크 공격에 대한 실시간 공격 패턴검출 시스템 및 그 방법

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
논문(2005.05.17)
논문(2005.12.06)
논문(2005.12.31)
논문(2006.05.09)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101060733B1 (ko) 2008-12-22 2011-08-31 한국전자통신연구원 어플리케이션 프로토콜인식을 이용한 네트워크 침입탐지 방법 및 장치
KR101021697B1 (ko) * 2009-04-30 2011-03-15 경희대학교 산학협력단 6LoWPAN에서 봇넷 공격을 탐지하는 방법
KR101218419B1 (ko) * 2010-11-09 2013-01-21 한양대학교 산학협력단 클라우드 보안 아키텍처를 사용한 스마트폰 바이러스 검출 방법 및 장치
KR101391781B1 (ko) 2012-08-07 2014-05-07 한국전자통신연구원 웹 트랜잭션 밀집도 기반 에이치티티피 봇넷 탐지 장치 및 방법
KR101420301B1 (ko) * 2012-09-05 2014-07-17 주식회사 시큐아이 DDoS 공격 검출 방법 및 장치
KR20200014968A (ko) * 2018-08-02 2020-02-12 주식회사 케이티 비정상 트래픽 탐지 방법 및 그 장치
KR102616173B1 (ko) * 2018-08-02 2023-12-19 주식회사 케이티 비정상 트래픽 탐지 방법 및 그 장치

Also Published As

Publication number Publication date
US7865955B2 (en) 2011-01-04
US20080120721A1 (en) 2008-05-22

Similar Documents

Publication Publication Date Title
KR100818306B1 (ko) 공격 패킷 시그너처 후보 추출 장치 및 방법
KR100809416B1 (ko) 보안 시스템을 위한 최적 시그니처 자동 생성 장치 및 방법
WO2021227322A1 (zh) 一种SDN环境DDoS攻击检测防御方法
KR100622670B1 (ko) 알려지지 않은 네트워크 공격에 대한 실시간 공격 패턴 검출 시스템 및 그 방법
JP6001689B2 (ja) ログ分析装置、情報処理方法及びプログラム
KR100615080B1 (ko) 컴퓨터 네트워크상에서 악성 봇과 웜에 대한 규칙기반탐지패턴을 자동 생성하기 위한 방법
CN106603326B (zh) 基于异常反馈的NetFlow采样处理方法
JP5832951B2 (ja) 攻撃判定装置、攻撃判定方法及び攻撃判定プログラム
CN114021135B (zh) 一种基于R-SAX的LDoS攻击检测与防御方法
CN109194608B (zh) 一种基于流的DDoS攻击与闪拥事件检测方法
KR100770357B1 (ko) 시그너처 해싱을 이용하여 시그너처 매칭 회수를 줄이는고성능 침입 방지 시스템 및 그 방법
KR100950079B1 (ko) 은닉마코프 모델을 이용한 확률적인 네트워크 이상징후탐지 장치 및 그 방법
CN112351018A (zh) Dns隐蔽信道检测方法、装置及设备
KR20110002634A (ko) 패킷검사장치의 부하조절방법 및 장치
Han et al. Data mining aided signature discovery in network-based intrusion detection system
US11848959B2 (en) Method for detecting and defending DDoS attack in SDN environment
US8612523B1 (en) Methods and apparatus for detecting botnet attacks
Nguyen et al. An approach to detect network attacks applied for network forensics
EP2112800B1 (en) Method and system for enhanced recognition of attacks to computer systems
KR101488271B1 (ko) Ids 오탐 검출 장치 및 방법
CN112565259B (zh) 过滤dns隧道木马通信数据的方法及装置
KR20110107880A (ko) 패스트 정보 엔트로피와 능동형 이동평균 탐지기를 이용한 분산형 서비스 거부 공격 탐지 방법
KR20100073135A (ko) 어플리케이션 프로토콜인식을 이용한 네트워크 침입탐지 방법 및 장치
CN111416812B (zh) 一种恶意脚本检测方法、设备及存储介质
KR100860414B1 (ko) 네트워크 공격 시그너처 생성 방법 및 장치

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

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140303

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150226

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160227

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170316

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee