KR101268510B1 - 시그니처 탐지 장치 및 방법 - Google Patents

시그니처 탐지 장치 및 방법 Download PDF

Info

Publication number
KR101268510B1
KR101268510B1 KR1020110145761A KR20110145761A KR101268510B1 KR 101268510 B1 KR101268510 B1 KR 101268510B1 KR 1020110145761 A KR1020110145761 A KR 1020110145761A KR 20110145761 A KR20110145761 A KR 20110145761A KR 101268510 B1 KR101268510 B1 KR 101268510B1
Authority
KR
South Korea
Prior art keywords
signature
string
extracted
input data
data packet
Prior art date
Application number
KR1020110145761A
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 KR1020110145761A priority Critical patent/KR101268510B1/ko
Application granted granted Critical
Publication of KR101268510B1 publication Critical patent/KR101268510B1/ko

Links

Images

Classifications

    • 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

Landscapes

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

Abstract

시그니처 탐지 장치 및 방법은 정규표현식으로 표현된 시그니처에서 문자열을 추출하고 입력 데이터 패킷과 정규표현식 패턴 매칭을 수행하기 전에 추출된 문자열로 입력 데이터 패킷을 필터링함으로써 입력 데이터 패킷이 문자열을 포함하는 경우에만 정규표현식 패턴 매칭을 수행하도록 할 수 있다. 따라서 정규표현식으로 표현된 시그니처에 의한 탐지에 소요되는 시간을 단축할 수 있다.

Description

시그니처 탐지 장치 및 방법{Signature detecting device and method}
본 발명은 시그니처 탐지 장치 및 방법에 관한 것으로 특히, 시그니처 탐지 시간을 단축할 수 있는 시그니처 탐지 장치 및 방법에 관한 것이다.
유해 패킷(또는 유해 트래픽)이라 함은 수신자 측에서 해당 패킷을 수신할 경우 시스템이 이상 작동하게 되는 공격적 패킷, 혹은 공격 정보나 정상적인 네트워크 흐름에 있어서 필요치 않은 패킷, 혹은 데이터 흐름 또는 정상 패킷이지만 해당 패킷을 과도하게 발생하여 수신자의 정상적인 네트워크 소통의 흐름을 방해하거나 네트워크 연결을 중단시키는 행위를 하기 위한 패킷을 말한다. 유해 패킷이 네트워크 망을 통해 사용자의 컴퓨터로 유입될 경우 컴퓨터 성능 저하 등의 문제가 발생하게 된다. 따라서 유해 패킷을 차단하기 위한 시도가 계속되어 왔다.
IPS(intrusion prevention system)은 유해 패킷의 유입을 차단하기 위한 시스템이다. IPS는 유입되는 패킷이 시그니처(signature)에 정의한 패턴을 포함하고 있는지를 확인함으로써 유해 패킷의 유입을 차단한다. 이러한 시스템에서는 시그니처가 다양한 문자열 패턴을 가질수록 유해 패킷의 탐지 능력이 향상된다.
정규표현식(Regular Expression)은 특정한 규칙을 가진 문자열의 집합을 표현하는데 널리 사용되는 방식이다. 정규표현식은 그 복잡도에 따라 하나의 스트링, 복수 개의 스트링과 이를 연결하는 와일드 카드(임의 개수의 문자를 의미) 문자, 그리고 불포함시 상태를 나타내는 부정(negation), 범위체크 등의 형태를 포함할 수 있다. 과거에는 스트링 한 개만으로도 공격 시그니처를 표현할 수 있었으나, 현재는 복수 개의 스트링 조합을 사용하는 시그니처가 많이 사용되고 있다. 이러한 정규표현식을 이용하면 고속으로 통신하고 있는 패킷에서 특정 패턴의 문자열을 찾음으로써 적은 수의 표현식 만으로도 다양한 문자열을 찾아낼 수 있다.
그러나 정규표현식은 무한대에 가까운 패턴을 표현할 수 있다는 장점이 있는 반면, 모든 패턴에 대해 입력 데이터 패킷(즉, 유입 패킷 또는 유입 트래픽)과 매칭을 실시하기 때문에 너무 많은 시간이 소요된다는 단점이 있다. 게다가 정규표현식을 사용한 시그니처의 개수가 증가하면 패킷을 처리하는데 필요한 시간이 그에 비례해서 증가한다.
입력 데이터 패킷에서 특정 패턴의 문자열을 검색함으로써 공격 여부를 판단해야 하는 IPS에서 특정 패턴을 찾는데 오랜 시간이 소요되면 다음과 같은 문제가 발생할 수 있다. 첫째, 검사가 끝날 때까지 입력 데이터 패킷이 유입되는 것을 허용하지 않을 경우 해당 시스템이 설치된 네트워크를 통해서 인터넷을 사용하는 사용자 입장에서는 응답이 늦어지기 때문에 네트워크 환경이 불안정하다고 느낄 수 있다. 둘째, 입력 데이터 패킷의 유입을 우선 허용하고 검사 결과 유해 데이터 패킷이라고 판단되면 서버 측에 이 사실을 알려주는 방식으로 동작할 경우, 공격자가 의도한 공격을 성공한 이후에 해당 공격을 탐지하게 되어 공격자로부터 사용자를 안전하게 보호하기 어려울 수 있다.
이와 같은 이유로 정규표현식을 사용한 시그니처에서 탐지에 소요되는 시간이 매우 중요하며 이를 줄일 수 있는 방법이 필요하다.
본 발명이 이루고자 하는 기술적 과제는 정규표현식을 사용한 시그니처에서 문자열을 추출하고, 입력 데이터 패킷과 정규표현식 패턴 매칭을 수행하기 전에 추출된 문자열로 입력 데이터 패킷을 필터링함으로써 정규표현식을 사용한 시그니처에 의한 매칭에 소요되는 시간을 단축할 수 있는 시그니처 탐지 장치 및 방법을 제공하는 것이다.
시그니처 탐지 방법은 정규표현식으로 표현된 시그니처에서 문자열을 추출하는 단계, 입력 데이터 패킷을 추출된 문자열로 필터링하는 단계, 상기 입력 데이터 패킷에 상기 추출된 문자열이 포함된 경우 상기 입력 데이터 패킷과 상기 시그니처의 정규 표현식 패턴을 매칭하는 단계, 및 상기 입력 데이터 패킷과 상기 정규표현식 패턴의 매칭 결과 일치하는 경우 상기 입력 데이터 패킷을 유해 패킷으로 판별하는 단계를 포함한다.
시그니처 탐지 장치는 입력된 시그니처가 정규표현식으로 표현된 시그니처인지를 판별하는 시그니처 판별부, 상기 정규표현식으로 표현된 시그니처로부터 문자열을 추출하는 시그니처 추출부, 입력 데이터 패킷이 상기 시그니처에서 추출된 문자열을 포함하는지를 판별하는 필터링부, 및 상기 입력 데이터 패킷이 상기 문자열을 포함하는 경우 상기 입력 데이터 패킷과 상기 시그니처의 정규표현식 패턴을 매칭하여 상기 입력 데이터 패킷이 유해 패킷인지를 판별하는 시그니처 매칭부를 포함한다.
본 발명의 시그니처 탐지 장치 및 방법에 의하면, 정규표현식을 사용한 시그니처에서 문자열을 추출하고, 입력 데이터 패킷과 정규표현식 패턴 매칭을 수행하기 전에 추출된 문자열로 입력 데이터 패킷을 필터링함으로써 입력 데이터 패킷이 문자열을 포함하는 경우에만 정규표현식 패턴 매칭을 수행하도록 할 수 있다. 따라서 정규표현식을 사용한 시그니처에 의한 탐지에 소요되는 시간을 단축할 수 있다.
따라서 정규표현식으로 표현된 시그니처를 사용하여 다양한 패턴을 탐지하면서, 필터링 동작을 수행하여 정규표현식의 단점인 느린 처리 속도를 보완함으로써 효율적으로 시그니처에 의한 탐지를 수행할 수 있다.
도 1은 본 발명의 실시예에 따른 침입 방지 시스템을 포함하는 네트워크 구성을 설명하기 위한 도면이다.
도 2는 본 발명의 실시예에 따른 시그니처 탐지 장치를 설명하기 위한 블록도이다.
도 3 및 도 4는 본 발명의 실시예에 따른 시그니처 탐지 방법을 설명하기 위한 흐름도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 1은 본 발명의 실시예에 따른 침입 방지 시스템을 포함하는 네트워크 구성을 설명하기 위한 도면이다.
도 1을 참조하면, 본 발명의 실시예에 따른 통신 네트워크(100)는 클라이언트(110), 침입 방지 시스템(120), 인터넷(130), 그리고 서버(140)으로 구성된다.
클라이언트(110)는 네트워크 상에서 소정의 웹 서비스를 제공하는 서버(140)에 인터넷(130)을 통해 접속한다.
침입 방지 시스템(120)은 클라이언트(110)가 인터넷(130)을 통하여 서버(140)와 통신할 때 송수신하는 패킷의 유해여부를 검사한다. 침입 방지 시스템(120)은 송수신하는 패킷의 유해여부를 검사하기 위해 시그니처 탐지 장치를 포함한다. 시그니처 탐지 장치는 이미 잘 알려진 유해 패킷에 대한 시그니처를 미리 작성하고, 클라이언트(110)에 유입되는 패킷을 한 개씩 일일이 검사하여 적용된 시그니처가 패킷에 존재하는지를 탐지한다. 그리고 작성된 시그니처가 패킷에 존재하는 경우 해당 패킷을 유해 패킷으로 판별한다. 침입 방지 시스템(120)은 유입된 패킷이 시그니처 탐지 장치에 의해 유해 패킷으로 판별된 경우에는 해당 패킷의 유입을 차단하여 클라이언트(110)를 보호할 수 있다.
이하에, 침입 방지 시스템(120)에 포함되는 시그니처 탐지 장치에 대해 설명하기로 한다.
도 2는 본 발명의 실시예에 따른 시그니처 탐지 장치를 설명하기 위한 블록도이다.
도 2를 참조하면, 시그니처 탐지 장치(200)는 시그니처 판별부(210), 시그니처 추출부(220), 필터링부(230), 및 시그니처 매칭부(240)를 포함한다.
시그니처 판별부(210)는 입력된 시그니처가 정규표현식으로 표현된 시그니처(이하, '정규표현식 시그니처'라함)인지를 판별한다. 이때, 시그니처 데이터베이스(미도시)에 저장된 다수의 시그니처들 중 하나의 시그니처가 시그니처 판별부(210)로 입력될 수 있다.
시그니처 추출부(220)는 정규표현식 시그니처로부터 문자열을 추출한다. 실시예로서 시그니처 추출부(220)는 정규표현식 시그니처로부터 문자열을 추출하여 정규표현식 시그니처에 추가할 수 있다.
다른 실시예로서 시그니처 추출부(220)는 정규표현식 시그니처로부터 문자열을 추출하여 저장부(미도시)와 같은 별도의 저장 공간에 저장할 수 있다. 저장부는 시그니처 추출부(220) 내부에 포함되거나 또는 시그니처 추출부(220) 외부에 존재할 수 있다.
시그니처 추출부(220)는 정규표현식 시그니처로부터 추출된 문자열 중 가장 효율적으로 필터링을 수행할 수 있는 문자열을 정규표현식 시그니처에 추가하거나 또는 저장부에 저장한다. 예를 들면, 가장 긴 문자열 또는 이전 시그니처에서 추출된 문자열들과의 중복도를 체크하여 가장 중복도가 낮은 문자열을 정규표현식 시그니처에 추가하거나 저장부에 저장할 수 있다. 또한, 시그니처 추출부(220)는 정규표현식 시그니처로부터 추출된 문자열이 2자 이상인 경우에 문자열을 정규표현식 시그니처에 추가하거나 저장부에 저장할 수 있다.
필터링부(230)는 입력 데이터 패킷이 정규표현식 시그니처에서 추출한 문자열을 포함하는지를 판별한다. 이를 위해 필터링부(230)는 입력 데이터 패킷을 정규표현식 시그니처에서 추출한 문자열로부터 생성될 수 있는 패턴 즉, 문자열 패턴과 매칭하여 필터링할 수 있다. 또한, 필터링부(230)는 입력 데이터 패킷을 문자열로 필터링할 때, 문자열을 Aho-Corasick 알고리즘과 같은 멀티 패턴 매칭 알고리즘(Multi-Pattern-Matching Algorithm)을 이용하여 필터링할 수 있다. 앞서 시그니처 추출부(220)는 정규표현식 시그니처로부터 추출된 문자열 중 가장 효율적으로 필터링을 수행할 수 있는 문자열을 정규표현식 시그니처에 추가하거나 또는 저장부에 저장한다고 하였는데, 추출된 문자열 중 가장 긴 문자열 또는 이전 시그니처에서 추출된 문자열들과의 중복도를 체크하여 가장 중복도가 낮은 문자열로 필터링을 수행함으로써 필터링 효과를 매우 높일 수 있다.
시그니처 매칭부(240)는 필터링부(230)에 의한 필터링 결과 입력 데이터 패킷이 문자열(문자열 패턴으로 확장가능)을 포함하는 경우 입력 데이터 패킷과 해당 시그니처의 정규표현식 패턴을 매칭하여 입력 데이터 패킷이 유해 패킷인지를 판별한다. 시그니처 매칭부(240)는 입력 데이터 패킷과 정규표현식 패턴의 매칭 결과 일치하면 입력 데이터 패킷을 유해 패킷으로 판별하여 입력 데이터 패킷이 유입되는 것을 차단할 수 있다. 또한, 시그니처 매칭부(240)는 다수의 정규표현식 시그니처들 중 하나라도 입력 데이터 패킷과의 정규표현식 패턴 매칭이 일치하면 입력 데이터 패킷을 유해 패킷으로 판별하고, 나머지 정규표현식 시그니처들에 대해서는 매칭을 실시하지 않고 바로 동작을 종료할 수 있다.
이하에, 상기의 구성을 갖는 시그니처 탐지 장치를 이용한 시그니처 탐지 방법에 대해 설명하기로 한다.
도 3 및 도 4는 본 발명의 실시예에 따른 시그니처 탐지 방법을 설명하기 위한 흐름도이다.
도 3은 시그니처 데이터베이스에 저장된 시그니처들 중 정규표현식으로 표현된 시그니처들을 변경하는 프로세스를 설명한다. 도 4는 변경된 시그니처들을 이용하여 입력 데이터 패킷이 유해 패킷인지를 판별하는 프로세스를 설명한다.
도 3을 참조하면, 입력되는 시그니처들이 다수 존재하는 경우 이중 첫 번째 시그니처를 선택한다(단계 310). 입력되는 시그니처들은 시그니처 데이터베이스에 저장되어 있는 시그니처들일 수 있다.
다음으로, 입력된 시그니처가 정규표현식 시그니처인지를 판별한다(단계 320).
입력된 시그니처가 정규표현식 시그니처로 판별되면 해당 시그니처에서 문자열을 추출한다(단계 330).
그 다음, 추출된 문자열 중 가장 효율적으로 필터링을 수행할 수 있는 문자열을 정규표현식 시그니처에 추가하거나 또는 별도의 저장부에 저장한다. 추출된 문자열 중 가장 긴 문자열 또는 이전 시그니처에서 추출된 문자열들과의 중복도를 체크하여 가장 중복도가 낮은 문자열을 정규표현식 시그니처에 추가하거나 또는 별도의 저장부에 저장할 수 있다(단계 340).
예를 들면, 대출 광고 스팸 문자를 탐지하는 시그니처를 "최대\s*\d+만원.*?분이내"와 같은 정규표현식으로 작성할 수 있다. 정규표현식 \s*는 빈 공간이 올 수 있다는 것을 의미하고, \d+는 숫자가 올 수 있다는 것을 의미하며, .*?는 "분이내"가 아닌 어떤 내용이 올 수 있다는 것을 의미한다. 따라서 이 시그니처는 "최대 3000만원까지 가능 30분이내 통장입금" 과 같은 스팸 문자를 탐지할 수 있다. 이 시그니처의 경우 문자열인 "최대", "만원" 및 "분이내"를 추출한다. 가장 긴 문자열을 가장 효율적으로 필터링을 수행할 수 있는 문자열의 예로서 적용하면, "분이내"를 최종적으로 선택하게 된다. 이를 시그니처에 추가하여 시그니처를 "최대\s*\d+만원.*?분이내" + "분이내"와 같이 수정하거나, 혹은 저장부와 같은 별도의 저장 공간에 저장해 두었다가 멀티 패턴 매칭 알고리즘에 의해 필터링 동작을 수행하는 목적으로 사용한다.
이때, 대리운전 광고 스팸 문자를 탐지하는 또 다른 정규표현식 시그니처 "대리\s+운전.*?만원.*?분이내"를 추가할 수도 있다. 이 시그니처는 "대리 운전 서울 전지역 2만원 50분이내 가능"와 같은 스팸 문자를 탐지할 수 있다. 이 시그니처의 경우 문자열인 "대리"와 "운전", "만원", "분이내"를 추출한다. 가장 긴 문자열을 가장 효율적인 문자열의 예로서 적용하면, "분이내"을 최종적으로 선택하게 된다. 그러나 "분이내"는 앞선 시그니처에서 추출한 문자열과 동일한 문자열이다. 이 경우에는 대출 광고와 대리운전 광고 어떤 문자가 오던 두 시그니처를 모두 검사해야 하므로 필터링 효과가 떨어지게 된다. 따라서 이런 경우에는 효율적인 문자열을 길이가 아닌 중복되지 않는 문자열로 대체할 수 있다. 그렇게 되면 첫 번째 시그니처의 경우 "최대" 또는 "만원"이 선택되지만 두 번째 시그니처에도 "만원"이 있으므로 "최대"가 최종적으로 선택되고 두 번째 시그니처에서는 "대리"가 선택된다. 그 결과 "최대 3000만원까지 가능 30분이내 통장입금"와 같은 문자가 오게 되면, 첫 번째 시그니처만 검사하면 되고, "대리 운전 서울 전지역 2만원 50분이내 가능"와 같은 문자가 오게 되면 두 번째 시그니처만 검사하면 된다.
다음으로, 해당 시그니처가 마지막 시그니처인지를 확인하고(단계 350), 마지막 시그니처인 경우에는 프로세스를 종료한다. 앞서 단계 320에서 입력된 시그니처가 정규표현식 시그니처가 아닌 것으로 판별된 경우에도 단계 350으로 진행한다. 해당 시그니처가 마지막 시그니처가 아닌 경우에는 다음 시그니처를 선택한다(단계 360). 그리고 다음 시그니처에 대해 단계 320, 330, 340을 실시한다. 즉, 단계 320, 330, 340을 모든 시그니처들에 대해 실시하여 시그니처들 중 정규표현식으로 표현된 시그니처에 대해서는 문자열을 추출하고, 추출된 문자열을 해당 시그니처에 추가하거나 또는 별도의 저장부에 저장한다. 이를 통해, 정규표현식 시그니처는 새로운 시그니처로 변경될 수 있다. 만약, 시그니처를 변경한 경우 변경된 정규표현식 시그니처는 시그니처 데이터베이스에 다시 저장될 수 있다. 이 경우 시그니처 데이터베이스에 저장되어 있던 변경 전 정규표현식 시그니처는 변경된 정규표현식 시그니처로 갱신된다.
도 4를 참조하면, 입력 데이터 패킷이 유해 패킷인지를 판별하기 위해, 우선 도 3에서 변경된 정규표현식 시그니처들 중 첫 번째 정규표현식 시그니처를 선택한다(단계 410).
그 다음, 입력 데이터 패킷을 정규표현식 시그니처의 추가된 문자열로 필터링한다(단계 420, 422). 이때 입력 데이터 패킷을 정규표현식 시그니처의 추가된 문자열로부터 생성된 문자열 패턴과 매칭시켜 필터링할 수 있다. 또한 입력 데이터 패킷을 문자열 패턴으로 필터링할 때, 문자열을 멀티 패턴 매칭 알고리즘(예: Aho-Corasick알고리즘)을 이용하여 매칭 되는 문자열에 따라 필터링할 수 있다.
필터링 결과, 입력 데이터 패킷이 문자열을 포함하는 경우에는 입력 데이터 패킷과 해당 시그니처의 정규표현식 패턴을 매칭한다(단계 430, 432).
매칭 결과, 입력 데이터 패킷이 정규표현식 패턴과 일치하면 입력 데이터 패킷을 유해 패킷으로 판별하고 프로세스를 종료한다(단계 440). 유해 패킷으로 판별된 입력 데이터 패킷은 유입이 차단될 수 있다.
필터링 결과 입력 데이터 패킷이 문자열을 포함하지 않는 경우에는 해당 시그니처가 마지막 정규표현식 시그니처인지를 확인한다(단계 450). 단계 432에서 입력 데이터 패킷과 해당 시그니처의 정규표현식 패턴의 매칭 결과 입력 데이터 패킷이 정규표현식 패턴과 일치하지 않는 경우에도 단계 450으로 진행한다.
해당 시그니처가 마지막 정규표현식 시그니처인 경우에는 프로세스를 종료하고, 마지막 정규표현식 시그니처가 아닌 경우에는 다음 정규표현식 시그니처를 선택한다(단계 460). 그리고 다음 정규표현식 시그니처에 대해 단계 420, 422, 430, 432, 440를 실시한다.
본 발명에서는 필터링 결과 입력 데이터 패킷이 필터링에 사용된 문자열을 포함하지 않는 경우에는 입력 데이터 패킷과 정규표현식 패턴 매칭을 실시하지 않는다. 예를 들면, "김대리\s+운전"과 같은 시그니처가 입력되는 경우 본 발명에서는 우선 시그니처에서 "김대리"와 "운전"을 추출한 후 입력 데이터 패킷을 그 중 길이가 더 긴 문자열인 "김대리"로 필터링한다. 입력 데이터 패킷이 "김대리" 또는 이것으로부터 생성되는 패턴을 포함하는 경우 입력 데이터 패킷과 시그니처의 정규표현식 부분인 "김대리\s+운전"을 매칭한다. 매칭 결과 일치하는 경우 입력 데이터 패킷을 유해 패킷으로 판별한다. 입력 데이터 패킷이 "김대리" 또는 이것으로부터 생성되는 패턴을 포함하지 않는 경우에는 입력 데이터 패킷과 "김대리\s+운전"과의 매칭을 수행하지 않는다. 입력 데이터 패킷을 유해 패킷으로 판별하기 위해서는 시그니처의 모든 구성 요소들 즉, "김대리\s+운전"과 "김대리"가 모두 입력 데이터 패킷과 매칭되어야 하는데 "김대리" 부분이 매칭이 안되었기 때문에 정규표현식 부분인 "김대리\s+운전"은 매칭을 수행할 필요가 없다.
이와 같이, 본 발명에서는 정규표현식 시그니처에 대하여, 입력 데이터 패킷을 미리 추출된 문자열로 필터링하고, 필터링 결과 입력 데이터 패킷이 문자열을 포함하는 경우에만 정규표현식 패턴 매칭을 실시하고 입력 데이터 패킷이 문자열을 포함하지 않는 경우에는 정규표현식 패턴 매칭을 실시하지 않음으로써 정규표현식으로 표현된 시그니처에 의한 탐지 동작에 소요되는 시간을 줄일 수 있다. 입력 데이터 패킷을 문자열로 필터링하는 시간이 추가되기는 하지만, 이 시간은 정규표현식 시그니처의 패턴 매칭에 소요되는 시간보다는 훨씬 짧기 때문에 전체적으로는 시그니처에 의한 탐지에 소요되는 시간을 크게 줄일 수 있다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
110: 클라이언트
120: 침입 방지 시스템
130: 인터넷
140: 서버
210: 시그니처 판별부
220: 시그니처 추출부
230: 필터링부
240: 시그니처 매칭부

Claims (20)

  1. 정규표현식으로 표현된 시그니처에서 문자열을 추출하는 단계;
    입력 데이터 패킷을 추출된 문자열로 필터링하는 단계;
    상기 입력 데이터 패킷에 상기 추출된 문자열이 포함된 경우 상기 입력 데이터 패킷과 상기 시그니처의 정규 표현식 패턴을 매칭하는 단계; 및
    상기 입력 데이터 패킷과 상기 정규표현식 패턴의 매칭 결과 일치하는 경우 상기 입력 데이터 패킷을 유해 패킷으로 판별하는 단계를 포함하는 시그니처 탐지 방법.
  2. 제1항에 있어서, 상기 문자열을 추출한 후에,
    상기 추출된 문자열을 상기 시그니처에 추가하는 단계를 더 포함하는 시그니처 탐지 방법.
  3. 제2항에 있어서, 상기 추출된 문자열을 상기 시그니처에 추가하는 단계에서,
    상기 추출된 문자열 중 가장 긴 문자열을 상기 시그니처에 추가하는 것을 특징으로 하는 시그니처 탐지 방법.
  4. 제3항에 있어서, 상기 가장 긴 문자열이 2자 이상인 경우 상기 시그니처에 추가하는 것을 특징으로 하는 시그니처 탐지 방법.
  5. 제2항에 있어서, 상기 추출된 문자열을 상기 시그니처에 추가하는 단계에서,
    추출된 문자열들 중 이전 시그니처에서 추출된 문자열과 중복되지 않는 문자열을 상기 시그니처에 추가하는 것을 특징으로 하는 시그니처 탐지 방법.
  6. 제1항에 있어서, 상기 문자열을 추출한 후에,
    상기 추출된 문자열을 별도의 저장부에 저장하는 단계를 더 포함하는 시그니처 탐지 방법.
  7. 제6항에 있어서, 상기 추출된 문자열을 별도의 저장부에 저장하는 단계에서,
    상기 추출된 문자열 중 가장 긴 문자열을 별도의 저장부에 저장하는 것을 특징으로 하는 시그니처 탐지 방법.
  8. 제7항에 있어서, 상기 가장 긴 문자열이 2자 이상인 경우 상기 저장부에 저장하는 것을 특징으로 하는 시그니처 탐지 방법.
  9. 제6항에 있어서, 상기 추출된 문자열을 별도의 저장부에 저장하는 단계에서,
    추출된 문자열들 중 이전 시그니처에서 추출된 문자열과 중복되지 않는 문자열을 별도의 저장부에 저장하는 것을 특징으로 하는 시그니처 탐지 방법.
  10. 제1항에 있어서, 상기 문자열을 추출하기 전에, 시그니처 데이터베이스에 저장된 다수의 시그니처들 중 정규표현식으로 표현된 시그니처를 판별하는 단계를 더 포함하는 시그니처 탐지 방법.
  11. 입력된 시그니처가 정규표현식으로 표현된 시그니처인지를 판별하는 시그니처 판별부;
    상기 정규표현식으로 표현된 시그니처로부터 문자열을 추출하는 시그니처 추출부;
    입력 데이터 패킷이 상기 시그니처에서 추출된 문자열을 포함하는지를 판별하는 필터링부; 및
    상기 입력 데이터 패킷이 상기 문자열을 포함하는 경우 상기 입력 데이터 패킷과 상기 시그니처의 정규표현식 패턴을 매칭하여 상기 입력 데이터 패킷이 유해 패킷인지를 판별하는 시그니처 매칭부를 포함하는 시그니처 탐지 장치.
  12. 제11항에 있어서, 상기 시그니처 추출부는
    상기 정규표현식으로 표현된 시그니처로부터 문자열을 추출하여 상기 시그니처에 추가하는 것을 특징으로 하는 시그니처 탐지 장치.
  13. 제12항에 있어서, 상기 시그니처 추출부는
    상기 정규표현식으로 표현된 시그니처로부터 추출된 문자열 중 가장 긴 문자열을 상기 시그니처에 추가하는 것을 특징으로 하는 시그니처 탐지 장치.
  14. 제12항에 있어서, 상기 시그니처 추출부는
    상기 정규표현식으로 표현된 시그니처로부터 추출된 문자열이 2자 이상인 경우 상기 문자열을 상기 시그니처에 추가하는 것을 특징으로 하는 시그니처 탐지 장치.
  15. 제12항에 있어서, 상기 시그니처 추출부는
    상기 정규표현식으로 표현된 시그니처로부터 추출된 문자열들 중 이전 시그니처에서 추출된 문자열과 중복되지 않는 문자열을 상기 시그니처에 추가하는 것을 특징으로 하는 시그니처 탐지 장치.
  16. 제11항에 있어서, 상기 시그니처 추출부는
    상기 정규표현식으로 표현된 시그니처로부터 문자열을 추출하여 별도의 저장부에 저장하는 것을 특징으로 하는 시그니처 탐지 장치.
  17. 제16항에 있어서, 상기 시그니처 추출부는
    상기 정규표현식으로 표현된 시그니처로부터 추출된 문자열 중 가장 긴 문자열을 상기 저장부에 저장하는 것을 특징으로 하는 시그니처 탐지 장치.
  18. 제16항에 있어서, 상기 시그니처 추출부는
    상기 정규표현식으로 표현된 시그니처로부터 추출된 문자열이 2자 이상인 경우 상기 문자열을 상기 저장부에 저장하는 것을 특징으로 하는 시그니처 탐지 장치.
  19. 제16항에 있어서, 상기 시그니처 추출부는
    상기 정규표현식으로 표현된 시그니처로부터 추출된 문자열들 중 이전 시그니처에서 추출된 문자열과 중복되지 않는 문자열을 상기 저장부에 저장하는 것을 특징으로 하는 시그니처 탐지 장치.
  20. 제11항에 있어서, 상기 시그니처 매칭부는
    상기 입력 데이터 패킷과 상기 정규표현식 패턴의 매칭 결과 일치하면 상기 입력 데이터 패킷을 유해 패킷으로 판별하여 상기 입력 데이터 패킷을 차단하는 것을 특징으로 하는 시그니처 탐지 장치.

KR1020110145761A 2011-12-29 2011-12-29 시그니처 탐지 장치 및 방법 KR101268510B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110145761A KR101268510B1 (ko) 2011-12-29 2011-12-29 시그니처 탐지 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110145761A KR101268510B1 (ko) 2011-12-29 2011-12-29 시그니처 탐지 장치 및 방법

Publications (1)

Publication Number Publication Date
KR101268510B1 true KR101268510B1 (ko) 2013-06-07

Family

ID=48865957

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110145761A KR101268510B1 (ko) 2011-12-29 2011-12-29 시그니처 탐지 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101268510B1 (ko)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101519619B1 (ko) 2013-10-22 2015-05-12 (주) 시스메이트 패킷 분류를 위한 시그니처 탐색 기반 패킷 탐색 장치 및 그 방법
KR101542739B1 (ko) 2015-01-26 2015-08-12 주식회사 파이오링크 정규 표현식의 매칭을 처리하기 위한 방법, 장치 및 컴퓨터 판독 가능한 기록 매체
KR20170057030A (ko) * 2015-11-16 2017-05-24 한국전자통신연구원 시그니처 기반 네트워크 공격 탐지 및 공격 시그니처 생성 방법 및 장치
KR20170089324A (ko) * 2016-01-26 2017-08-03 에스케이텔레콤 주식회사 시스템 이상 탐지 장치 및 방법
KR101802443B1 (ko) * 2015-11-09 2017-11-28 국민대학교산학협력단 컴퓨터 수행 가능한 침입탐지방법, 시스템 및 컴퓨터 판독 가능한 기록매체
WO2018110997A1 (ko) * 2016-12-16 2018-06-21 주식회사 인프니스네트웍스 네트워크 침입 탐지 규칙을 생성하는 방법 및 장치
KR101881797B1 (ko) * 2018-01-03 2018-07-26 주식회사 윈스 멀티 패턴 정책 탐지 시스템 및 방법
KR101913141B1 (ko) * 2016-10-28 2019-01-14 주식회사 윈스 비용기반 최적화 기법을 통한 정규 표현식 탐색 성능 향상 장치 및 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080050215A (ko) * 2006-12-01 2008-06-05 한국전자통신연구원 네트워크 공격 시그너처 생성 방법 및 장치
KR20090065306A (ko) * 2007-12-17 2009-06-22 한국전자통신연구원 시그니처 패턴 매칭방법과 그 시스템 및 시그니처 패턴이기록된 기록매체
KR20100013815A (ko) * 2008-08-01 2010-02-10 주식회사 정보보호기술 패턴 매칭부를 이용한 유해 트래픽 탐지 방법 및 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080050215A (ko) * 2006-12-01 2008-06-05 한국전자통신연구원 네트워크 공격 시그너처 생성 방법 및 장치
KR20090065306A (ko) * 2007-12-17 2009-06-22 한국전자통신연구원 시그니처 패턴 매칭방법과 그 시스템 및 시그니처 패턴이기록된 기록매체
KR20100013815A (ko) * 2008-08-01 2010-02-10 주식회사 정보보호기술 패턴 매칭부를 이용한 유해 트래픽 탐지 방법 및 시스템

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101519619B1 (ko) 2013-10-22 2015-05-12 (주) 시스메이트 패킷 분류를 위한 시그니처 탐색 기반 패킷 탐색 장치 및 그 방법
KR101542739B1 (ko) 2015-01-26 2015-08-12 주식회사 파이오링크 정규 표현식의 매칭을 처리하기 위한 방법, 장치 및 컴퓨터 판독 가능한 기록 매체
KR101802443B1 (ko) * 2015-11-09 2017-11-28 국민대학교산학협력단 컴퓨터 수행 가능한 침입탐지방법, 시스템 및 컴퓨터 판독 가능한 기록매체
KR20170057030A (ko) * 2015-11-16 2017-05-24 한국전자통신연구원 시그니처 기반 네트워크 공격 탐지 및 공격 시그니처 생성 방법 및 장치
KR102390355B1 (ko) * 2015-11-16 2022-04-26 한국전자통신연구원 시그니처 기반 네트워크 공격 탐지 및 공격 시그니처 생성 방법 및 장치
KR20170089324A (ko) * 2016-01-26 2017-08-03 에스케이텔레콤 주식회사 시스템 이상 탐지 장치 및 방법
KR102372329B1 (ko) * 2016-01-26 2022-03-08 에스케이텔레콤 주식회사 시스템 이상 탐지 장치 및 방법
KR101913141B1 (ko) * 2016-10-28 2019-01-14 주식회사 윈스 비용기반 최적화 기법을 통한 정규 표현식 탐색 성능 향상 장치 및 방법
WO2018110997A1 (ko) * 2016-12-16 2018-06-21 주식회사 인프니스네트웍스 네트워크 침입 탐지 규칙을 생성하는 방법 및 장치
KR101881797B1 (ko) * 2018-01-03 2018-07-26 주식회사 윈스 멀티 패턴 정책 탐지 시스템 및 방법
US11025650B2 (en) 2018-01-03 2021-06-01 Wins Co., Ltd. Multi-pattern policy detection system and method

Similar Documents

Publication Publication Date Title
KR101268510B1 (ko) 시그니처 탐지 장치 및 방법
Soska et al. Automatically detecting vulnerable websites before they turn malicious
CN110266647B (zh) 一种命令和控制通信检测方法及系统
RU2668710C1 (ru) Вычислительное устройство и способ для обнаружения вредоносных доменных имен в сетевом трафике
CN105635126B (zh) 恶意网址访问防护方法、客户端、安全服务器及系统
CN105956180B (zh) 一种敏感词过滤方法
CN111431939B (zh) 基于cti的sdn恶意流量防御方法
CN110099059B (zh) 一种域名识别方法、装置及存储介质
Song et al. Advanced evasion attacks and mitigations on practical ML‐based phishing website classifiers
US20220239630A1 (en) Graphical representation of security threats in a network
CN106470214B (zh) 攻击检测方法和装置
US10484408B2 (en) Malicious communication pattern extraction apparatus, malicious communication pattern extraction method, and malicious communication pattern extraction program
CN110351248B (zh) 一种基于智能分析和智能限流的安全防护方法及装置
JP6039826B2 (ja) 不正アクセスの検知方法および検知システム
KR102293773B1 (ko) 인공지능을 사용한 네트워크 트래픽 분석 장치 및 방법
CN105653949B (zh) 一种恶意程序检测方法及装置
US10482240B2 (en) Anti-malware device, anti-malware system, anti-malware method, and recording medium in which anti-malware program is stored
WO2014103115A1 (ja) 不正侵入検知装置、不正侵入検知方法、不正侵入検知プログラム及び記録媒体
JP4773332B2 (ja) セキュリティ管理装置及びセキュリティ管理方法及びプログラム
CN106549980A (zh) 一种恶意c&c服务器确定方法及装置
US20210136032A1 (en) Method and apparatus for generating summary of url for url clustering
JP5656266B2 (ja) ブラックリスト抽出装置、抽出方法および抽出プログラム
CN112948725A (zh) 基于机器学习的钓鱼网站url检测方法及系统
Suthar et al. A signature-based botnet (emotet) detection mechanism
CN112351002B (zh) 一种报文检测方法、装置及设备

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190502

Year of fee payment: 7