KR101881797B1 - 멀티 패턴 정책 탐지 시스템 및 방법 - Google Patents

멀티 패턴 정책 탐지 시스템 및 방법 Download PDF

Info

Publication number
KR101881797B1
KR101881797B1 KR1020180000794A KR20180000794A KR101881797B1 KR 101881797 B1 KR101881797 B1 KR 101881797B1 KR 1020180000794 A KR1020180000794 A KR 1020180000794A KR 20180000794 A KR20180000794 A KR 20180000794A KR 101881797 B1 KR101881797 B1 KR 101881797B1
Authority
KR
South Korea
Prior art keywords
signature
search
fragment
signature fragment
registration pattern
Prior art date
Application number
KR1020180000794A
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 KR1020180000794A priority Critical patent/KR101881797B1/ko
Application granted granted Critical
Publication of KR101881797B1 publication Critical patent/KR101881797B1/ko
Priority to US16/138,254 priority patent/US11025650B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • G06F17/30705
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/28Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/196Recognition using electronic means using sequential comparisons of the image signals with a plurality of references
    • G06V30/1983Syntactic or structural pattern recognition, e.g. symbolic string recognition
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 멀티 패턴 정책 탐지 시스템 및 방법에 관한 것으로, 특히 문자열 또는 정규화된 포맷에 의한 매칭 여부를 판단하기 위한 다수의 정책을 운용하는 환경에서 다수의 정책을 일시에 탐색 가능한 형태의 자료 구조로 표현하고 이를 최적화하여 탐색 성능을 향상시킨 멀티 패턴 정책 탐지 시스템 및 방법에 관한 것이다.
또한, 본 발명에 따르면, 시그니처 단편 리스트로부터 입력받은 시그니처 단편의 해당 문자열의 길이와 고유성을 고려하여 시그니처의 전단부의 등록 패턴으로 등록하는 탐색 전단 최적화부; 시그니처 단편 리스트로부터 시그니처 단편을 입력받아 후단부의 등록 시그니처 단편이 없으면 시그니처 단편을 후단부의 등록 패턴으로 등록하는 탐색 후단 최적화부; 및 상기 탐색 전단 최적화부의 전단부와 상기 탐색 후단 최적화부의 후단부를 이용하여 공격 탐지를 수행하는 탐지 엔진부를 포함하는 멀티 패턴 정책 탐지 시스템 및 방법을 제공한다.

Description

멀티 패턴 정책 탐지 시스템 및 방법{Multipattern policy detection system and method}
본 발명은 멀티 패턴 정책 탐지 시스템 및 방법에 관한 것으로, 특히 문자열 또는 정규화된 포맷에 의한 매칭 여부를 판단하기 위한 다수의 정책을 운용하는 환경에서 다수의 정책을 일시에 탐색 가능한 형태의 자료 구조로 표현하고 이를 최적화하여 탐색 성능을 향상시킨 멀티 패턴 정책 탐지 시스템 및 방법에 관한 것이다.
네트워크 장비에서 공격 패킷을 탐지하기 위해 사전에 공격으로 정의된 문자열 또는 문자열의 형식(포맷)의 리스트를 가지고 있으며 이를 시그니처라 한다.
시그니처는 패킷의 분류 정보를 포함하여 일단 텍스트 문자열 또는 정규 표현식의 조합으로 다양하게 구성될 수 있다.
시그니처의 생성 및 관리는 데이터베이스 또는 데이터베이스에 준하는 파일 형태로 저장되어 물리적 공간에 위치하며, 이를 사용하는 탐지 시스템에서 시그니처 파일을 메모리 공간에 로드한다.
일반적인 시그니처 탐색 과정은 다음과 같다. 단일 시그니처는 한 개의 네트워크 공격 또는 한 개의 매칭 결과를 의미한다.
따라서 패킷의 페이로드가 주어진 경우 모든 시그니처를 순차적으로 순회하며 비교 탐색을 수행한다.
특정 조건이 여러 시그니처에 걸쳐 동일하다 가정하였을 때에 해당 조건에 대한 비교가 각 시그니처별로 반복적으로 발생할 수 밖에 없다.
반복적인 비교 작업을 회피하기 위한 기술이 멀티 패턴 매칭이다. 멀티 패턴 매칭은 시그니처 세트를 넓은 범위에서 하나의 탐색 자료 구조로 구성하는 것이다.
이를 위해서 각 시그니처의 탐지 문자열은 분할 과정을 거친다. 이를 시그니처 단편이라 한다. 중복된 단편은 제거하고 메모리상에 전체 시그니처에 대한 시그니처 단편 리스트를 생성한다.
종래의 멀티 패턴 매칭 방식은 패킷의 페이로드가 시그니처 단편 리스트를 순회하며 각 단편에 대한 매칭 여부를 확인하고 모든 단편에 대한 탐색 종료 후 매칭된 결과의 조합을 통해 매칭되는 시그니처를 검색하여 최종 시그니처 탐지 결과를 낸다.
이와 같은 시그니처 탐색은 메모리 공간에 로드하는 구조 및 최적화 방법에 따라 탐색 성능이 결정된다.
등록번호 10-1472522호 공개번호 10-2010-0073136호
본 발명은 문자열 또는 정규화된 포맷에 의한 매칭 여부를 판단하기 위한 다수의 정책을 운용하는 환경에서 다수의 정책을 일시에 탐색 가능한 형태의 자료 구조로 표현하고 이를 최적화하여 탐색 성능을 향상시킨 멀티 패턴 정책 탐지 시스템 및 방법을 제공하는 데 있다.
본 발명의 장치는 시그니처 단편 리스트로부터 입력받은 시그니처 단편의 해당 문자열의 길이와 고유성을 고려하여 시그니처의 전단부의 등록 패턴으로 등록하는 탐색 전단 최적화부; 시그니처 단편 리스트로부터 시그니처 단편을 입력받아 후단부의 등록 시그니처 단편이 없으면 시그니처 단편을 후단부의 등록 패턴으로 등록하는 탐색 후단 최적화부; 및 상기 탐색 전단 최적화부의 전단부와 상기 탐색 후단 최적화부의 후단부를 이용하여 공격 탐지를 수행하는 탐지 엔진부를 포함한다.
또한, 본 발명의 장치의 상기 탐색 전단 최적화부는 시그니처 단편 리스트로부터 입력받은 시그니처 단편의 해당 문자열의 탐지 빈도가 시그니처의 전단부의 등록 패턴보다 낮으면 해당 문자열을 시그니처의 전단부의 등록 패턴으로 교체 등록한다.
또한, 본 발명의 장치의 상기 탐색 전단 최적화부는 시그니처 단편 리스트로부터 입력받은 시그니처 단편의 해당 문자열의 탐지 빈도가 시그니처의 전단부 등록 패턴보다 낮으면 시그니처의 전단부의 등록 패턴과 고유성을 비교하여 고유성이 높으면 해당 문자열을 시그니처의 전단부의 등록 패턴으로 교체 등록한다.
또한, 본 발명의 장치의 상기 시그니처 단편의 해당 문자열은 시그니처 단편이 정규 표현식을 포함하는 경우에 상기 탐색 전단 최적화부가 시그니처 단편에서 추출한 단순 문자열로 구성된다.
또한, 본 발명의 장치의 상기 탐색 후단 최적화부는 시그니처 단편의 시그니처 정보를 확인하여 등록 시그니처 단편이 있으면 부하 영향도가 작고, 탐지 빈도가 낮으면 현재 비교 대상인 등록 시그니처 단편의 앞단에 등록하여 비교 우선순위가 높게 처리될 수 있도록 한다.
한편, 본 발명의 방법은 (A) 탐색 전단 최적화부가 시그니처 단편 리스트로부터 입력받은 시그니처 단편의 해당 문자열의 길이와 고유성을 고려하여 시그니처의 전단부의 등록 패턴으로 등록하는 단계; (B) 탐색 후단 최적화부가 시그니처 단편 리스트로부터 시그니처 단편을 입력받아 후단부의 등록 패턴이 없으면 시그니처 단편의 문자열을 후단부의 등록 패턴으로 등록하는 단계; 및 (C) 탐지 엔진부가 상기 탐색 전단 최적화부의 전단부와 상기 탐색 후단 최적화부의 후단부를 이용하여 공격 탐지를 수행하는 단계를 포함한다.
또한, 본 발명의 방법은 (D) 상기 탐색 전단 최적화부는 시그니처 단편 리스트로부터 입력받은 시그니처 단편의 해당 문자열의 탐지 빈도가 시그니처의 전단부의 등록 패턴보다 낮으면 해당 문자열을 시그니처의 전단부의 등록 패턴으로 교체 등록하는 단계를 더 포함한다.
또한, 본 발명의 방법의 상기 (D) 단계에서 상기 탐색 전단 최적화부는 시그니처 단편 리스트로부터 입력받은 시그니처 단편의 해당 문자열의 탐지 빈도가 시그니처의 전단부 등록 패턴보다 낮으면 시그니처의 전단부의 등록 패턴과 고유성을 비교하여 고유성이 높으면 해당 문자열을 시그니처의 전단부의 등록 패턴으로 교체 등록한다.
또한, 본 발명의 방법은 (E) 상기 탐색 후단 최적화부는 시그니처 단편의 시그니처 정보를 확인하여 등록 시그니처 단편이 있으면 부하 영향도가 작은지 판단하는 단계; (F) 상기 탐색 후단 최적화부는 부하 영향도가 작으면 탐지 빈도를 판단하는 단계: 및 (G) 상기 탐색 후단 최적화부는 상기 (F) 단계의 판단 결과 탐지 빈도가 낮으면 시그니처 단편 등록을 수행하는 단계를 더 포함한다.
또한, 본 발명의 방법의 상기 (G) 단계에서 상기 탐색 후단 최적화부는 현재 비교 대상인 등록 시그니처 단편의 앞단에 등록하여 비교 우선순위가 높게 처리될 수 있도록 한다.
상기와 같은 본 발명은 다수의 시그니처를 사용하여 탐색하는 환경에서 기존의 멀티 패턴 매칭보다 적은 매칭 시도로 시그니처 매칭 결과를 얻을 수 있도록 한다.
또한, 본 발명은 고성능 네트워크 장비에서 대용량 네트워크 트렁크에 대한 시그니처 탐색 시 전단부 노드 최적화를 통해 line-speed의 탐색 성능을 보장할 수 있다.
또한, 본 발명은 하드웨어의 의존성이 없이 탐색 장비의 환경에 따른 탐색 가속 기술을 적용하여 최적화할 수 있다.
도 1은 전단부/후단부 시그니처 단편 구성도이다.
도 2는 최적화 이전 탐색 구조도이다.
도 3은 본 발명의 일 실시예에 따른 멀티 패턴 정책 탐지 시스템의 구성도이다.
도 4는 전단부 최적화를 설명하기 위한 예시도이다.
도 5는 후단부 최적화를 설명하기 위한 예시도이다.
도 6은 최적화 이후 탐색 구조는 나타내는 도면이다.
도 7은 본 발명의 일 실시예에 따른 멀티 패턴 정책 탐지 방법의 흐름도이다.
도 8은 도 7의 전단부 생성 및 최적화 과정의 상세 흐름도이다.
도 9는 도 7의 후단부 생성 및 최적화 과정의 상세 흐름도이다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 설명하기 위하여 이하에서는 본 발명의 바람직한 실시예를 예시하고 이를 참조하여 살펴본다.
먼저, 본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니며, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 또한 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 발명을 설명함에 있어서, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
시그니처 순회 방식에서 멀티 패턴 매칭 방식으로의 전환은 중복되는 검색을 제거하는 방식으로 탐색 성능을 개선한다.
그러나 모든 시그니처 단편에 대한 조사는 모든 시그니처에 대한 매칭 가능성을 전제로 수행되고 있으며 최악의 경우 매칭 결과 시그니처 단편에 대한 조합이 하나 이상의 시그니처 정보와 매칭되지 않을 수 있다.
이를 위해 본 발명의 내용은 시그니처 단편 리스트를 깊이 탐색이 가능한 구조로 가공하고, 전단부의 패턴이 매칭되었을 때 해당 패턴과 동일한 시그니처 정보를 갖는 시그니처 단편을 후단부에 구성하여 깊이 탐색을 수행하도록 구성하였다.
이로써 종래의 멀티 패턴 매칭보다 적은 매칭 시도로 시그니처 매칭 결과를 획득할 수 있다.
특히 전단부의 시그니처 단편 구성은 탐색 성능에 영향을 주는 결정적인 요소이다. 따라서 최상부를 탐색 전단(前段), 그 이후의 시그니처 단편에 대한 검색 노드 집합을 탐색 후단(後段)으로 정의하고 전단과 후단에 대한 최적화를 각각 수행한다.
전단부의 구성은 각 시그니처의 대표 시그니처 단편 또는 대표 문자열로 구성한다. 대표 시그니처 단편을 추출하는 것은 일반적으로 다음과 같다.
시그니처 단편에 대한 탐색 부하 영향도를 비용 산출하여 비용이 가장 낮은 단편을 선택한다. 후단부의 구성은 대표 시그니처 단편을 제외한 나머지 시그니처 단편을 순차/반복 검색 구조로 구성한다.
도 1은 전단부/후단부 시그니처 단편 구성도이고, 도 2는 최적화 이전 탐색 구조도이다.
도 1과 2를 보면, 부하 영향도를 따져서 전단부를 구성한 경우이다. 비용기반으로 산출하였으나 때로는 선택된 시그니처 단편이 시그니처를 대표하지 못하거나 지나치게 범용적인 텍스트로 구성되어 전단부에서 과탐지를 유발할 가능성이 있다.
앞서 언급했듯이 전단부의 시그니처 단편 구성은 탐색 성능에 영향을 주는 결정적인 요소이기 때문에 네트워크 트래픽의 대다수가 전단을 거쳐 후단으로 유입될 경우 트래픽 처리 성능이 저하된다.
따라서 전단부는 매칭 여부를 판단함과 동시에 매칭 확률이 낮은 대다수의 패킷을 분류하여야 네트워크 트래픽 처리 성능을 유지할 수 있다.
이렇게 전단부의 목적과 일치하도록 시그니처 단편에 대한 추가 작업을 전단부 최적화라 할 수 있다.
도 3은 본 발명의 일 실시예에 따른 멀티 패턴 정책 탐지 시스템의 구성도이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 멀티 패턴 정책 탐지 시스템은 정책 데이터베이스(100), 정책 파서부(200), 탐색 전단 최적화부(300), 탐색 후단 최적화부(400) 및 탐지 엔진부(500)를 포함한다.
상기 정책 데이터베이스(100)는 다수의 정책과 시그니처 탐지 문자열을 저장하여 관리한다.
그리고, 상기 정책 파서부(200)는 상기 정책 데이터베이스(100)에 저장하여 관리되고 있는 시그니처 탐지 문자열을 읽어와서 파싱하여(분할하여) 시그니처 단편을 생성하고, 중복 단편을 제거하여 데이터베이스(100)상에 전체 시그니처에 대한 시그니처 단편 리스트를 생성한다.
상기 탐색 전단 최적화부(300)는 시그니처 단편 리스트로부터 입력받은 시그니처 단편의 문자열을 시그니처의 전단부의 등록 패턴으로 등록한다.
그리고, 상기 탐색 전단 최적화부(300)는 시그니처 단편 리스트로부터 입력받은 시그니처 단편의 해당 문자열의 탐지 빈도가 시그니처의 전단부의 등록 패턴보다 낮고, 고유성이 시그니처의 전단부의 등록 패턴보다 높으면 해당 문자열을 시그니처의 전단부의 등록 패턴으로 교체 등록한다.
이를 좀더 상세히 살펴보면, 상기 탐색 전단 최적화부(300)에 의해 수행되는 전단부의 최적화는 단일 시그니처에 포함된 시그니처 단편으로부터 일정 길이의 문자열을 추출하는 과정으로부터 수행된다.
문자열은 정규 표현식을 제외한 문자의 나열을 의미하며 따라서 시그니처 단편과 동일하거나 또는 시그니처 단편의 일부일 수 있다.
일예로, 시그니처 단편이 정규 표현식을 포함하는 경우 해당 시그니처 단편에서 단순 문자열을 추출하여 해당 문자열로 한다.
상기 탐색 전단 최적화부(300)는 시그니처별 추출된 문자열에 대해 문자열의 길이와 고유성(Unique)을 고려하여 선택된 문자열을 전단부의 시그니처 등록 패턴으로 등록한다.
이에 따라, 시그니처별 추출된 문자열은 길이가 길수록 그리고 고유성이 높을수록 시그니처의 전단부의 등록 패턴으로 선택될 가능성이 높다.
한편, 상기 탐색 전단 최적화부(300)는 시그니처별 추출된 문자열에 대해 문자열의 탐지 빈도와 고유성(Unique)을 고려하여 선택된 문자열을 전단부의 시그니처 등록 패턴으로 교체 등록한다.
이에 따라, 시그니처별 추출된 문자열은 탐지 빈도가 낮고 고유성이 높을수록 시그니처의 전단부의 등록 패턴으로 교체 선택될 가능성이 높다.
이때, 고유성이 낮고 탐지 빈도가 높은 패턴의 리스트를 별도로 관리할 수 있으며, 추출 문자열의 고유성을 판단하기 위해 해당 정보를 참조할 수 있다.
예를 들어 유입 트래픽의 80% 가 A1문자열을 가지고 있다면 전단부 등록 패턴 A1에 매칭이 발생하고, 전단부 등록 패턴 중복으로 인해 시그니처 A, B, C 에 대한 모든 탐색을 수행해야 한다.
유입 트래픽의 10% 가 A2문자열을 가지고 있다면, 전단부 등록 패턴의 탐지 문자열을 도 4에 도시된 바와 같이 A1에서 A2로 변경하였을 때 10% 트래픽만이 시그니처 A에 대해서 탐색할 것이다.
전단부는 각 시그니처의 대표 등록 패턴의 집합이다. 전단부의 매칭 결과는 특정 시그니처를 나타내며 후단부 진입을 위해 필요한 요소이다.
전단부의 결과 도출이 신속할 경우 네크워크 장비의 트래픽 처리 성능 또한 비례하여 증가한다.
따라서 전단부의 문자열 탐색 성능 향상을 위해 다중 문자열 탐색을 위한 탐색 가속 기술을 적용할 수 있다.
탐색 가속기술은 크게 H/W 가속기를 이용한 방식과 프로그램적으로 구현된 S/W 가속기가 있으며, 전단부는 문자열 패턴의 집합으로만 이루어졌기 때문에 가속기의 스펙에 구애받지 않고 탐색 장비의 여건에 맞게 적용할 수 있다.
한편, 탐색 후단 최적화부(400)는 시그니처 단편을 입력받아 시그니처 정보를 확인하여 후단부의 등록 시그니처 단편이 있는지 판단하여 없으면 시그니처 단편을 후단부의 등록 패턴으로 등록한다.
그리고, 상기 탐색 후단 최적화부(400)는 후단부의 최적화를 수행하는데, 도 5에 도시된 바와 같이 후단부의 최적화는 단일 시그니처에 포함된 시그니처 단편 집합에 대해 탐색 노드의 순서를 결정하는 것이다.
탐색 노드 순서를 결정하는 것은 앞서 산출된 탐색 부하 영향도에 대한 비용과 시그니처 단편에 대한 정보를 기반으로 정의한다.
이를 통해 탐색 비용이 크고 리소스가 많이 필요한 패턴을 최하단에 배치함으로써 공격으로 매칭 확률이 낮은 패킷이 상단에서 분류되어 대다수의 정상 패킷이 시스템을 통과될 수 있도록 한다.
이를 좀더 상세히 살펴보면, 탐색 후단 최적화부(400)는 해당 시그니처에 대해 후단부의 등록 시그니처 단편이 없을 때, 입력받은 시그니처 단편을 후단부의 등록 패턴으로 등록한다.
이와 달리 탐색 후단 최적화부(400)는 후단부에 등록 시그니처 단편이 있을 때, 등록된 단편과 입력된 단편간 부하 영향도를 비교하여, 비교 결과 입력된 단편의 부하 영향도가 크면 다음 단편과 비교를 수행한다. 그리고, 추가 등록 단편이 없을 경우에 등록된 단편의 최하단부 또는 리스트의 후단부에 등록한다.
상기 탐색 후단 최적화부(400)는 비교 결과 입력된 단편의 부하 영향도가 등록된 단편의 부하 영향도보다 작으면 탐지 빈도를 레퍼런스 기반으로 비교하여, 비교 결과 입력된 단편의 탐지 빈도가 등록된 단편의 탐지 빈도보다 높으면 상기 탐색 후단 최적화부(400)는 다음 단편과 비교를 수행한다. 추가 등록 단편이 없을 경우에 단편은 등록된 단편의 최하단부 또는 리스트의 후단부에 등록한다.
상기 탐색 후단 최적화부(400)는 비교 결과 입력된 단편의 탐지 빈도가 등록된 단편의 탐지 빈도보다 낮으면 입력받은 시그니처 단편을 후단부에 등록하는데, 이때 단편은 현재 비교 대상인 등록된 단편의 앞단에 등록하여 비교 우선순위가 높게 처리될 수 있도록 한다.
도 6은 전단부와 후단부의 최적화의 결과를 예시하며, 단일 패킷의 공격 탐색시 매칭 범위를 효과적으로 축소하고 필요한 연산 비용을 최소화함으로써 네트워크 장비의 전반적인 탐색 성능을 향상시키는 효과를 가져온다.
한편, 탐지 엔진부(500)는 전단부와 후단부의 최적화된 결과를 이용하여 탐지를 수행한다.
도 7은 본 발명의 일 실시예에 따른 멀티 패턴 정책 탐지 방법의 흐름도이다.
도 7을 참조하면, 본 발명의 일 실시예에 따른 멀티 패턴 정책 탐지 방법은 먼저 상기 정책 파서부는 정책 데이터베이스에 저장하여 관리되고 있는 시그니처 탐지 문자열을 읽어와서 파싱하여(분할하여) 시그니처 단편을 생성하고, 중복 단편을 제거하여 데이터베이스상에 전체 시그니처에 대한 시그니처 단편 리스트를 생성한다(S100).
다음으로, 탐색 전단 최적화부는 시그니처의 전단부의 등록 패턴을 생성하고, 생성된 등록 패턴을 최적화한다(S200).
그리고, 탐색 후단 최적화부는 시그니처의 후단부의 등록 패턴을 생성하고, 생성된 등록 패턴을 최적화한다(S300).
한편, 탐지 엔진부는 전단부와 후단부의 최적화된 결과를 이용하여 공격 탐지를 수행한다(S400).
도 8은 도 7의 전단 최적화 과정의 상세 흐름도이다.
도 8을 참조하면, 도 7의 전단 최적화 과정은 탐색 전단 최적화부가 정규 표현식을 포함하는 시그니처 단편 리스트로부터 분할된 시그니처 단편을 순차적으로 입력받는다(S202).
그리고, 탐색 전단 최적화부는 시그니처 단편이 정규 표현식을 포함하는 경우 해당 시그니처 단편에서 단순 문자열 추출을 시도한다(S204, S206).
다음으로, 탐색 전단 최적화부는 추출된 문자열이 있는 경우 해당 문자열을 임시 패턴으로 버퍼에 저장한다(S208, S210).
이와 달리 탐색 전단 최적화부는 추출된 문자열이 없는 경우 새로운 시그니처 단편을 입력받는다(S202).
한편, 시그니처 단편이 단순 문자열로 구성된 경우 해당 문자열을 임시 패턴으로 버퍼에 저장한다(S204, S210).
이후에, 탐색 전단 최적화부는 시그니처 단편에서 시그니처 정보를 획득하여 해당 시그니처의 전단부 등록 패턴 여부를 확인한다(S212).
상기 탐색 전단 최적화부는 시그니처의 전단부의 등록 패턴이 없으면, 문자열을 시그니처의 전단부의 등록 패턴으로 등록한다(S214).
이와 달리, 상기 탐색 전단 최적화부는 시그니처의 전단부의 등록 패턴이 있을 때, 등록 패턴과 임시 패턴의 탐지 빈도를 레퍼런스 기반으로 비교한다(S216). 레퍼런스는 사전에 탐지 빈도가 높은 패턴의 문자열에 대하여 참조 가능한 형태의 정보이다.
상기 탐색 전단 최적화부는 임시 패턴이 등록 패턴보다 탐지 빈도가 높은 경우 전단부 등록을 하지 않는다.
이와 달리 탐색 전단 최적화부는 임시 패턴이 등록 패턴보다 탐지 빈도가 낮은 경우 패턴 고유성을 비교한다(S218).
그리고, 탐색 전단 최적화부는 임시 패턴이 등록 패턴보다 고유성이 높은 경우 버퍼에 저장된 임시 패턴을 전단부의 등록 패턴으로 등록한다(S214).
이와 달리 탐색 전단 최적화부는 임시 패턴이 등록 패턴보다 고유성이 높은 경우 전단부 등록을 하지 않는다.
도 9는 도 7의 후단부 생성 및 최적화 과정의 상세 흐름도이다.
도 9를 참조하면, 도 7의 후단부 생성 및 최적화 과정은 탐색 후단 최적화부가 정규 표현식을 포함하는 시그니처 단편 리스트로부터 분할된 시그니처 단편을 순차적으로 입력받는다(S302).
그리고, 탐색 후단 최적화부는 시그니처 단편에서 시그니처 정보를 획득하여 후단부의 등록 시그니처 단편 여부를 판단한다(S306).
판단 결과, 탐색 후단 최적화부는 해당 시그니처에 대해 후단부의 등록 시그니처 단편이 없을 때, 입력받은 시그니처 단편을 후단부의 등록 패턴으로 등록한다(S308).
이와 달리 탐색 후단 최적화부는 후단부에 등록 시그니처 단편이 있을 때, 등록된 단편과 입력된 단편간 부하 영향도를 비교한다(S306).
비교 결과 입력된 단편의 부하 영향도가 크면 상기 탐색 후단 최적화부는 S306 단계에서 다음 단편과 비교를 수행한다. 그리고, 추가 등록 단편이 없을 경우에 S308을 수행한다. 이때 단편은 등록된 단편의 최하단부 또는 리스트의 후단부에 등록한다.
상기 탐색 후단 최적화부는 비교 결과 입력된 단편의 부하 영향도가 등록된 단편의 부하 영향도보다 작으면 탐지 빈도를 레퍼런스 기반으로 비교한다(S312). 레퍼런스는 사전에 탐지 빈도가 높은 패턴의 문자열에 대하여 참조 가능한 형태의 정보이다.
비교 결과 입력된 단편의 탐지 빈도가 등록된 단편의 탐지 빈도보다 높으면 상기 탐색 후단 최적화부는 S306 단계에서 다음 단편과 비교를 수행한다. 추가 등록 단편이 없을 경우 S308을 수행한다. 이때 단편은 등록된 단편의 최하단부 또는 리스트의 후단부에 등록한다.
비교 결과 입력된 단편의 탐지 빈도가 등록된 단편의 탐지 빈도보다 낮으면 입력받은 시그니처 단편을 후단부에 등록한다(S308). 이때 단편은 현재 비교 대상인 등록된 단편의 앞단에 등록하여 비교 우선순위가 높게 처리될 수 있도록 한다.
시그니처 단편이 등록되면 처음으로 돌아가 새로운 시그니처 단편에 대해 위에서 설명한 과정을 반복한다.
상기와 같은 본 발명은 다수의 시그니처를 사용하여 탐색하는 환경에서 기존의 멀티 패턴 매칭보다 적은 매칭 시도로 시그니처 매칭 결과를 얻을 수 있다.
또한, 본 발명은 고성능 네트워크 장비에서 대용량 네트워크 트렁크에 대한 시그니처 탐색 시 전단부 노드 최적화를 통해 line-speed의 탐색 성능을 보장할 수 있다.
또한, 본 발명은 하드웨어의 의존성이 없이 탐색 장비의 환경에 따른 탐색 가속 기술을 적용하여 최적화할 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다.
따라서 본 발명에 기재된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상이 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의해서 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100 : 정책 데이터베이스 200 : 정책 파서부
300 : 탐색 전단 최적화부 400 : 탐색 후단 최적화부
500 : 탐지 엔진부

Claims (10)

  1. 시그니처 단편 리스트로부터 입력받은 시그니처 단편의 해당 문자열의 길이와 고유성을 고려하여 해당 문자열을 시그니처의 전단부의 등록 패턴으로 등록하는 탐색 전단 최적화부;
    시그니처 단편 리스트로부터 시그니처 단편을 입력받아 후단부의 등록 시그니처 단편이 없으면 시그니처 단편을 후단부의 등록 패턴으로 등록하는 탐색 후단 최적화부; 및
    상기 탐색 전단 최적화부의 전단부와 상기 탐색 후단 최적화부의 후단부를 이용하여 공격 탐지를 수행하는 탐지 엔진부를 포함하며,
    상기 후단부는, 상기 시그니처 단편 리스트에 포함된 전체 시그니처 단편들 중에서 상기 전단부의 등록 패턴을 제외한 시그니처 단편들을 포함하고,
    상기 탐지 엔진부는, 입력 패킷의 페이로드에 상기 전단부의 등록 패턴이 있는 경우에만, 상기 입력 패킷의 페이로드에 대한 상기 후단부의 등록 패턴의 탐지를 수행하는, 멀티 패턴 정책 탐지 시스템.
  2. 청구항 1항에 있어서,
    상기 탐색 전단 최적화부는 시그니처 단편 리스트로부터 입력받은 시그니처 단편의 해당 문자열의 탐지 빈도가 시그니처의 전단부의 등록 패턴보다 낮으면 해당 문자열을 시그니처의 전단부의 등록 패턴으로 교체 등록하는 멀티 패턴 정책 탐지 시스템.
  3. 청구항 2항에 있어서,
    상기 탐색 전단 최적화부는 시그니처 단편 리스트로부터 입력받은 시그니처 단편의 해당 문자열의 탐지 빈도가 시그니처의 전단부 등록 패턴보다 낮으면 시그니처의 전단부의 등록 패턴과 고유성을 비교하여 고유성이 높으면 해당 문자열을 시그니처의 전단부의 등록 패턴으로 교체 등록하는 멀티 패턴 정책 탐지 시스템.
  4. 청구항 1항에 있어서,
    상기 시그니처 단편의 해당 문자열은 시그니처 단편이 정규 표현식을 포함하는 경우에 상기 탐색 전단 최적화부가 시그니처 단편에서 추출한 단순 문자열로 구성되는 멀티 패턴 정책 탐지 시스템.
  5. 청구항 1항에 있어서,
    상기 탐색 후단 최적화부는 시그니처 단편의 시그니처 정보를 확인하여 등록 시그니처 단편이 있으면 부하 영향도가 작고, 탐지 빈도가 낮으면 현재 비교 대상인 등록 시그니처 단편의 앞단에 등록하여 비교 우선순위가 높게 처리될 수 있도록 하는 멀티 패턴 정책 탐지 시스템.
  6. (A) 탐색 전단 최적화부가 시그니처 단편 리스트로부터 입력받은 시그니처 단편의 해당 문자열의 길이와 고유성을 고려하여 해당 문자열을 시그니처의 전단부의 등록 패턴으로 등록하는 단계;
    (B) 탐색 후단 최적화부가 시그니처 단편 리스트로부터 시그니처 단편을 입력받아 후단부의 등록 패턴이 없으면 시그니처 단편의 문자열을 후단부의 등록 패턴으로 등록하는 단계; 및
    (C) 탐지 엔진부가 상기 탐색 전단 최적화부의 전단부와 상기 탐색 후단 최적화부의 후단부를 이용하여 공격 탐지를 수행하는 단계를 포함하며,
    상기 후단부는, 상기 시그니처 단편 리스트에 포함된 전체 시그니처 단편들 중에서 상기 전단부의 등록 패턴을 제외한 시그니처 단편들을 포함하고,
    상기 탐지 엔진부는, 입력 패킷의 페이로드에 상기 전단부의 등록 패턴이 있는 경우에만, 상기 입력 패킷의 페이로드에 대한 상기 후단부의 등록 패턴의 탐지를 수행하는, 멀티 패턴 정책 탐지 방법.
  7. 청구항 6항에 있어서,
    (D) 상기 탐색 전단 최적화부는 시그니처 단편 리스트로부터 입력받은 시그니처 단편의 해당 문자열의 탐지 빈도가 시그니처의 전단부의 등록 패턴보다 낮으면 해당 문자열을 시그니처의 전단부의 등록 패턴으로 교체 등록하는 단계를 더 포함하는 멀티 패턴 정책 탐지 방법.
  8. 청구항 7항에 있어서,
    상기 (D) 단계에서 상기 탐색 전단 최적화부는 시그니처 단편 리스트로부터 입력받은 시그니처 단편의 해당 문자열의 탐지 빈도가 시그니처의 전단부 등록 패턴보다 낮으면 시그니처의 전단부의 등록 패턴과 고유성을 비교하여 고유성이 높으면 해당 문자열을 시그니처의 전단부의 등록 패턴으로 교체 등록하는 멀티 패턴 정책 탐지 방법.
  9. 청구항 6항에 있어서,
    (E) 상기 탐색 후단 최적화부는 시그니처 단편의 시그니처 정보를 확인하여 등록 시그니처 단편이 있으면 부하 영향도가 작은지 판단하는 단계;
    (F) 상기 탐색 후단 최적화부는 부하 영향도가 작으면 탐지 빈도를 판단하는 단계: 및
    (G) 상기 탐색 후단 최적화부는 상기 (F) 단계의 판단 결과 탐지 빈도가 낮으면 시그니처 단편 등록을 수행하는 단계를 더 포함하는 멀티 패턴 정책 탐지 방법.
  10. 청구항 9항에 있어서,
    상기 (G) 단계에서 상기 탐색 후단 최적화부는 현재 비교 대상인 등록 시그니처 단편의 앞단에 등록하여 비교 우선순위가 높게 처리될 수 있도록 하는 멀티 패턴 정책 탐지 방법.
KR1020180000794A 2018-01-03 2018-01-03 멀티 패턴 정책 탐지 시스템 및 방법 KR101881797B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180000794A KR101881797B1 (ko) 2018-01-03 2018-01-03 멀티 패턴 정책 탐지 시스템 및 방법
US16/138,254 US11025650B2 (en) 2018-01-03 2018-09-21 Multi-pattern policy detection system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180000794A KR101881797B1 (ko) 2018-01-03 2018-01-03 멀티 패턴 정책 탐지 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR101881797B1 true KR101881797B1 (ko) 2018-07-26

Family

ID=63047756

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180000794A KR101881797B1 (ko) 2018-01-03 2018-01-03 멀티 패턴 정책 탐지 시스템 및 방법

Country Status (2)

Country Link
US (1) US11025650B2 (ko)
KR (1) KR101881797B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3104761A1 (fr) * 2019-12-12 2021-06-18 Orange Procédé de surveillance de données transitant par un équipement utilisateur

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100073136A (ko) 2008-12-22 2010-07-01 한국전자통신연구원 해슁결과값의 비트-벡터를 이용한 공격 시그니처 분류에 기반한 시그니처 클러스터링 방법
KR100992440B1 (ko) * 2008-07-14 2010-11-08 충남대학교산학협력단 여러 개의 연속된 부분패턴을 이용한 다중 패턴매칭 방법
KR101268510B1 (ko) * 2011-12-29 2013-06-07 주식회사 시큐아이 시그니처 탐지 장치 및 방법
KR101472522B1 (ko) 2013-12-30 2014-12-16 주식회사 시큐아이 시그니처 탐지 방법 및 장치

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7150043B2 (en) * 2001-12-12 2006-12-12 International Business Machines Corporation Intrusion detection method and signature table
US7613755B1 (en) * 2005-04-01 2009-11-03 Netlogic Microsystems, Inc. Signature searching system
KR100648297B1 (ko) 2005-09-01 2006-12-20 재단법인서울대학교산학협력재단 고속의 네트워크 침입 탐지 방법
US7747078B2 (en) * 2006-07-06 2010-06-29 Intel Corporation Substring detection system and method
KR100960117B1 (ko) 2007-12-17 2010-05-28 한국전자통신연구원 시그니처 패턴 매칭방법과 그 시스템 및 시그니처 패턴이기록된 기록매체
US20100192225A1 (en) * 2009-01-28 2010-07-29 Juniper Networks, Inc. Efficient application identification with network devices
KR101448869B1 (ko) 2013-02-22 2014-10-13 주식회사 시큐아이 패턴매칭 장치 및 그것의 동작방법
KR101519619B1 (ko) 2013-10-22 2015-05-12 (주) 시스메이트 패킷 분류를 위한 시그니처 탐색 기반 패킷 탐색 장치 및 그 방법
KR101648033B1 (ko) 2015-04-27 2016-08-16 한국과학기술원 공격 패턴이 존재하지 않는 공격 시그니처 기반의 침입 탐지 방법 및 그를 위한 장치
KR101802443B1 (ko) 2015-11-09 2017-11-28 국민대학교산학협력단 컴퓨터 수행 가능한 침입탐지방법, 시스템 및 컴퓨터 판독 가능한 기록매체

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100992440B1 (ko) * 2008-07-14 2010-11-08 충남대학교산학협력단 여러 개의 연속된 부분패턴을 이용한 다중 패턴매칭 방법
KR20100073136A (ko) 2008-12-22 2010-07-01 한국전자통신연구원 해슁결과값의 비트-벡터를 이용한 공격 시그니처 분류에 기반한 시그니처 클러스터링 방법
KR101268510B1 (ko) * 2011-12-29 2013-06-07 주식회사 시큐아이 시그니처 탐지 장치 및 방법
KR101472522B1 (ko) 2013-12-30 2014-12-16 주식회사 시큐아이 시그니처 탐지 방법 및 장치

Also Published As

Publication number Publication date
US20190207958A1 (en) 2019-07-04
US11025650B2 (en) 2021-06-01

Similar Documents

Publication Publication Date Title
CN111290784B (zh) 适用于大规模样本的程序源代码相似度检测方法
US20210303819A1 (en) Fast signature scan
CN110266647B (zh) 一种命令和控制通信检测方法及系统
CN109450900B (zh) 拟态判决方法、装置及系统
US7725510B2 (en) Method and system for multi-character multi-pattern pattern matching
CN101398820B (zh) 一种大规模关键词匹配方法
US9305116B2 (en) Dual DFA decomposition for large scale regular expression matching
US20070179935A1 (en) Apparatus and method for efficient data pre-filtering in a data stream
US7602780B2 (en) Scalably detecting and blocking signatures at high speeds
US20150095359A1 (en) Volume Reducing Classifier
JP2009535747A (ja) 近似パターン合致の方法および装置
US20140019486A1 (en) Logic Content Processing for Hardware Acceleration of Multi-Pattern Search
KR20070011432A (ko) 컴퓨터화된 시스템에서의 데이터 프로세싱
KR101913141B1 (ko) 비용기반 최적화 기법을 통한 정규 표현식 탐색 성능 향상 장치 및 방법
US20230418578A1 (en) Systems and methods for detection of code clones
US9600644B2 (en) Method, a computer program and apparatus for analyzing symbols in a computer
KR101881797B1 (ko) 멀티 패턴 정책 탐지 시스템 및 방법
Hubballi et al. KeyClass: efficient keyword matching for network traffic classification
KR102425525B1 (ko) 베이지안 확률 및 폐쇄 패턴 마이닝 방식을 이용한 로그 이상 탐지 시스템 및 방법과, 이를 위한 컴퓨터 프로그램
CN112054992B (zh) 恶意流量识别方法、装置、电子设备及存储介质
US11223641B2 (en) Apparatus and method for reconfiguring signature
KR20180070247A (ko) 네트워크 침입 탐지 규칙을 생성하는 방법 및 장치
Fukač et al. Increasing throughput of intrusion detection systems by hash-based short string pre-filter
CN116028609B (zh) 一种多关键词匹配方法和设备
CN117113436B (zh) 一种基于区块链的数据可信确权方法和装置

Legal Events

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