KR101034389B1 - 패킷 내 시그니처 위치에 따른 시그니처 검색 방법 - Google Patents

패킷 내 시그니처 위치에 따른 시그니처 검색 방법 Download PDF

Info

Publication number
KR101034389B1
KR101034389B1 KR1020090035180A KR20090035180A KR101034389B1 KR 101034389 B1 KR101034389 B1 KR 101034389B1 KR 1020090035180 A KR1020090035180 A KR 1020090035180A KR 20090035180 A KR20090035180 A KR 20090035180A KR 101034389 B1 KR101034389 B1 KR 101034389B1
Authority
KR
South Korea
Prior art keywords
signature
offset
bit
payload
packet
Prior art date
Application number
KR1020090035180A
Other languages
English (en)
Other versions
KR20100116458A (ko
Inventor
김승겸
이호석
김명석
Original Assignee
(주) 시스메이트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주) 시스메이트 filed Critical (주) 시스메이트
Priority to KR1020090035180A priority Critical patent/KR101034389B1/ko
Priority to US12/763,832 priority patent/US8407794B2/en
Publication of KR20100116458A publication Critical patent/KR20100116458A/ko
Application granted granted Critical
Publication of KR101034389B1 publication Critical patent/KR101034389B1/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/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques

Abstract

패킷 내 시그니처 위치에 따른 시그니처 검색 방법이 개시된다. 시그니처 검색 방법은 패킷의 페이로드에서 시그니처(signature)와 비교될 서브 페이로드를 추출하는 단계; 추출된 서브 페이로드와 추출된 서브 페이로드의 페이로드 내 위치 정보인 오프셋(offset)으로 구성되는 검색 키를 생성하는 단계; 및 TCAM 엔트리에 생성된 검색 키가 매칭되는지 확인하기 위한 TCAM 매칭을 수행하는 단계;를 포함한다. 이에 의해 패킷 페이로드 내의 특정 위치에 존재해야 하는 시그니처 검색에 소요되는 시간을 단축할 수 있다.

Description

패킷 내 시그니처 위치에 따른 시그니처 검색 방법{Signature searching method according to signature location in packet}
네트워크 장치에 관한 것으로, 특히 네트워크 회선을 통해 입력되는 패킷의 페이로드 내 시그니처(signature)를 검색하는 방법에 관한 것이다.
최근 초고속 네트워크의 보급에 따른 보안 장비의 성능 요구 사항은 점점 높아가고 있다. 기존의 네트워크 장치는 패킷 내에 특정 시그니처 매칭을 통해 침입탐지, 패킷 필터 기능들을 수행한다. 이러한 기능은 소프트웨어 방식, 하드웨어와 소프트웨어 조합 방식, 하드웨어 방식을 통해 구현된다. 그리고 네트워크 속도의 증가 및 침입 방식의 다양화에 따라 시그니처 매칭에 관한 여러 요구사항들이 나오고 있고, 특히 고속 시그니처 매칭 처리 및 패킷 내의 특정 위치와 특정 범위에 따른 시그니처 매칭 기술이 요구되고 있으며, 이러한 요구사항을 만족시키기 위하여 여러가지 방법들이 논의되고 구현되고 있다.
특히 이와 같은 요구사항을 만족시키기 위하여, 방화벽이나 침입탐지시스템과 같은 고속 패킷 처리 시스템에서는 패킷과 보안 정책과의 일치 여부를 고속으로 알기 위하여 TCAM(Ternary Content Addressable Memory)과 같은 하드웨어 기술을 점차 적용하고 있다. TCAM은 패킷의 페이로드(payload) 내에서 시그니처(signature)를 고속으로 검색하기 위해 사용하는 것으로, TCAM에 시그니처를 설정하고 패킷의 헤더와 패이로드를 매칭시킴으로써 고속 시그니처 매칭을 구현하는데 사용하고 있다. 또한 시그니처 매칭한 결과를 토대로 매칭된 시그니처가 패킷의 특정 위치, 특정 범위에 매칭이 되었는지를 판단하기 위하여 시그니처 범위 검색 절차를 소프트웨어 및 하드웨어 기반으로 수행하고 있다. 이러한 TCAM 매칭 후 추가적으로 시그니처의 범위를 검색하기 때문에, 많은 검색 시간을 소요하게 되며, 고속의 성능을 요구하는 네트워크 장치에서 그 고속성을 저해하는 중요한 요인이 되고 있다.
시그니처 검색 및 시그니처 범위 검색을 하나의 단계로 처리함으로써, 시그니처 검색 및 시그니처 범위 검색에 소요되는 시간 단축을 통해 고속 시그니처 검색 방법을 제공함에 목적이 있다.
전술한 기술적 과제를 달성하기 위한 패킷 내 시그니처 검색 방법은 패킷의 페이로드에서 시그니처(signature)와 비교될 서브 페이로드를 추출하는 단계; 추출된 서브 페이로드와 추출된 서브 페이로드의 페이로드 내 위치 정보인 오프셋(offset)으로 구성되는 검색 키를 생성하는 단계; 및 TCAM 엔트리에 생성된 검색 키가 매칭되는지 확인하기 위한 TCAM 매칭을 수행하는 단계;를 포함한다. 여기서 TCAM 엔트리는 페이로드 내 시그니처가 위치해야 하는 정보인 오프셋과 시그니처로 구성됨을 특징으로 한다.
TCAM 엔트리에 시그니처와 오프셋을 설정함에 따라 한 단계의 TCAM 매칭으로 시그니처 검색 및 범위 검색을 동시에 수행함으로써, 시그니처 검색 및 시그니처 범위 검색에 소요되는 시간을 단축하여 고속으로 시그니처를 검색하는 효과가 창출한다.
전술한, 그리고 추가적인 본 발명의 양상들은 첨부된 도면을 참조하여 설명 되는 바람직한 실시예들을 통하여 더욱 명백해질 것이다. 이하에서는 본 발명을 이러한 실시예를 통해 당업자가 용이하게 이해하고 재현할 수 있도록 상세히 설명하기로 한다.
우선 다음과 같이 용어를 정의한다.
- 페이로드(payload) : 시그니처 유무를 확인하기 위한 대상이 되는 원본 데이터
- 시그니처(signature) : 매칭하고자 하는 데이터이며, TCAM 엔트리에 설정됨
- 서브 페이로드(sub payload) : 시그니처와 비교되는 데이터이며, 페이로드에서 시그니처 크기에 맞게 추출되는 데이터
- 오프셋(offset) : 패킷의 페이로드 내에서 시그니처가 위치해야 하는 정보이며, TCAM 엔트리에 설정됨
- 검색 키(search key) : 페이로드에서 추출한 서브 페이로드와 오프셋의 조합으로 시그니처 검색을 위한 데이터로 사용됨
도 1은 본 발명의 일 실시예에 따른 오프셋 구조도이다.
오프셋 항목은 효율적인 시그니처 검색을 위해 TCAM 엔트리에 시그니처가 페이로드 내에서 위치해야 하는 정보이며, TCAM 엔트리에 추가 설정된다. 일 예로, 페이로드 길이가 1500byte라고 가정하면, TCAM 엔트리 및 search key에 설정되는 오프셋은 도 1에 도시된 바와 같이 총 35bit가 된다. 도 1에 도시된 오프셋은 제1 비트군, 제2비트군을 포함하는 비트열이다. 여기서 제2비트군은 제2-1비트군과 제2-2비트군으로 나뉘어 있다. 제1비트군은 최초 1bit부터 10bit까지이고, 제2-1비트군은 11bit부터 20bit까지이며, 제2-2비트군은 21bit부터 35bit까지이다. 1~10bits의 각 bit는 150byte 단위로 페이로드의 시작점부터 순차적으로 페이로드의 마지막까지 나타내기 위한 bit이고, 11~ 20bits의 각 bit는 150byte 단위로 표시된 1~10bit를 15byte 크기로 나누어서 표시하기 위한 bit이며, 21~35bits의 각 bit는 15byte 단위로 표시된 10~19bit를 1byte 크기로 나누어서 표시하기 위한 bit이다. 그리고 참고로, 도 1에서는 총 세 개의 비트군들로 구성된 오프셋을 예시되었으나, 페이로드의 전체 길이에 따라 총 비트군 수는 두 개가 될 수도 있으며, 네 개 이상이 될 수도 있다.
도 2는 본 발명의 일 실시예에 따른 검색 키 구조도이다.
검색 키는 페이로드에서 시그니처 크기에 맞게 추출된 서브 페이로드와 오프셋으로 구성되며, TCAM 매칭 과정에서 시그니처 검색을 위한 데이터로 사용된다. 여기서 오프셋은 페이로드에서 서브 페이로드의 위치 정보를 표시한다.
도 3은 본 발명의 일 실시예에 따른 서브 페이로드에 대한 오프셋 구조도이다.
페이로드의 1000번째 위치에서 서브 페이로드를 추출하였을 경우, 오프셋은 도 3과 같이 설정된다. 즉 제1비트군에서는 7번째 비트가 유효비트 ‘1’로 설정되고 나머지는 무효비트 ‘0’으로 설정되며, 제2-1비트군에서는 7번째 비트가 유효비트 ‘1’로 설정되고 나머지는 무효비트 ‘0’으로 설정된다. 그리고 제2-2비 트군에서는 11번째 비트가 유효비트 ‘1’로 설정되고 나머지는 무효비트 ‘0’으로 설정된다.
도 4는 본 발명의 일 실시예에 따른 TCAM 엔트리 구조도이다.
TCAM 엔트리는 시그니처와 오프셋으로 구성된다. 오프셋은 페이로드에서 시그니처가 위치해야 하는 정보이며, 다음의 3가지 조건으로 설정할 수 있다.
① 정해진 오프셋에서 시그니처가 매칭되어야 하는 경우
② 정해진 오프셋보다 시그니처가 뒤쪽에서 매칭되어야 하는 경우
③ 정해진 오프셋보다 시그니처가 앞쪽에서 매칭되어야 하는 경우
도 5는 본 발명의 일 실시예에 따른 정해진 오프셋에 시그니처가 매칭되어야 할 경우의 TCAM 엔트리 구조 예시도이다.
시그니처가 특정 오프셋 위치에서 매칭이 되어야 하는 경우에 각 비트군에 하나의 유효비트만을 정의하여 오프셋을 설정할 수 있으며, TCAM 엔트로 1개로 설정하는 것이 가능하다. 예를 들어 시그니처가 페이로드 내의 오프셋(1000) 위치에서 매칭이 되어야 하는 경우, 도 5와 같이 제1비트군의 7번째 비트를 유효비트로 설정하고 제2-1비트군의 7번째 비트를 유효비트로 설정하며 제2-2비트군의 11번째 비트를 유효비트로 설정하면 된다.
도 6, 7, 8은 본 발명의 일 실시예에 따른 정해진 오프셋보다 시그니처가 뒤쪽에서 매칭되어야 할 경우의 TCAM 엔트리 구조 예시도이다.
시그니처가 특정 오프셋보다 뒤쪽에서 매칭이 되어야 하는 경우에, 오프셋 값에 따라서 TCAM 엔트리의 오프셋은 1개에서 최대 3개까지 설정될 수 있다. 도 6 에서와 같이 오프셋 값이 0~8bit에 위치하고 10~18bit에 위치하면, TCAM 엔트리는 3개가 설정된다. 예를 들어 오프셋 값이 1000일 경우, TCAM 엔트리의 오프셋은 3개가 설정된다. (a)는 오프셋의 범위를 1001~1004로 설정한 것이고, (b)는 오프셋의 범위를 1005~1049로 설정한 것이며, (c)는 오프셋의 범위를 1050~1499로 설정한 것이다. 참고로 ‘x’는 무관심 비트(don't care bit)를 의미한다. 예를 들어 TCAM 엔트리의 n번째 bit가 무관심 비트로 설정되면, 검색 키의 n번째 bit의 값에 상관없이 n번째 bit는 매칭된 것으로 간주한다.
도 7에서와 같이 오프셋 값이 0~8bit에 위치하고 19bit에 위치하거나, 9bit에 위치하고 10~18bit에 위치하면 TCAM 엔트리는 2개가 설정된다. 예를 들어 오프셋 값이 1450일 경우, TCAM 엔트리의 오프셋은 2개가 설정된다. (a)는 오프셋의 범위를 1451~1454로 설정한 것이고, (b)는 오프셋의 범위를 1455~1499로 설정한 것이다.
도 8에서와 같이 오프셋 값이 9bit에 위치하고 19bit에 위치하면, TCAM 엔트리는 1개가 설정된다. 예를 들어 오프셋 값이 1487일 경우, TCAM 엔트리의 오프셋은 1개가 설정되며, (a)와 같다. (a)는 오프셋의 범위를 1488~1499로 설정한 것을 나타낸다.
도 9, 10, 11은 본 발명의 일 실시예에 따른 정해진 오프셋보다 시그니처가 앞쪽에서 매칭되어야 할 경우의 TCAM 엔트리 구조 예시도이다.
시그니처가 특정 오프셋보다 뒤쪽에서 매칭이 되어야 하는 경우에, 오프셋 값에 따라서 TCAM 엔트리는 1개에서 최대 3개까지 설정될 수 있다. 도 6에서와 같 이 오프셋 값이 1~9bit에 위치하고 11~19bit에 위치하면, TCAM 엔트리는 3개가 설정된다. 예를 들어 오프셋 값이 1010이고 시그니처 크기가 10이면 offset(1000)=offset(1010)-signature(10)이 되며, 이 경우 TCAM 엔트리의 오프셋은 (a), (b), (c)와 같다. (a)는 오프셋의 범위를 990~1000로 설정한 것이고, (b)는 오프셋의 범위를 900~989로 설정한 것이며, (c)는 오프셋의 범위를 0~899로 설정한 것이다.
도 10에서와 같이 오프셋 값이 1~9bit에 위치하고 10bit에 위치하거나, 0bit에 위치하고 11~19bit에 위치하면 TCAM 엔트리는 2개가 설정된다. 예를 들어 오프셋 값이 920이고 시그니처 크기가 10이면 offset(910)=offset(920)-signature(10)이 되며, 이 경우 TCAM 엔트리의 오프셋은 (a), (b)와 같다. (a)는 오프셋의 범위를 900~910으로 설정한 것이고, (b)는 오프셋의 범위를 0~899로 설정한 것이다.
도 11에서와 같이 오프셋 값이 0bit에 위치하고 10bit에 위치하면 TCAM 엔트리는 1개가 설정된다. 예를 들어 오프셋 값이 14이고 시그니처 크기가 10이면 offset(4)=offset(14)-signature(10)이 되며, 이 경우 TCAM 엔트리의 오프셋은 (a)와 같다. (a)는 오프셋의 범위를 0~4으로 설정한 것을 나타낸다.
도 12는 본 발명의 일 실시예에 따른 패킷 내 시그니처 검색 방법의 흐름도이다.
알려진 바와 같이, 패킷 내 시그니처를 검색하기 위한 프로세스는 라우터와 같은 네트워크 장치나 방화벽, 침입 차단 시스템, 침입 탐지 시스템과 같은 네트워크 보안 장치에서 수행된다. 이하에서는 편의상 라우터에서 시그니처를 검색하는 것으로 가정한다. 라우터는 네트워크 회선을 통해 전달된 패킷을 수신하고, 통상의 절차에 따라 수신된 패킷을 파싱(parsing)한다. 그 다음 라우터는 시그니처 검색을 위해 패킷의 페이로드에서 시그니처 크기에 맞게 서브 페이로드를 추출한다(단계 S100). 그리고 서브 페이로드에 대한 오프셋을 생성하고(단계 S200), 이를 서브 페이로드와 결합하여 검색 키를 생성한다(단계 S300). 이후, 라우터는 생성한 검색 키에 대해 TCAM 매칭을 수행한다(단계 S400).
TCAM 매칭 과정에서 검색 키와의 매칭 비교 대상인 TCAM 엔트리는 도 4와 같은 구조를 갖는다. 그리고 TCAM의 오프셋은 시그니처가 정해진 오프셋에서 매칭되어야 하는지, 정해진 오프셋보다 시그니처가 뒤쪽에서 매칭되어야 하는지, 아니면 정해진 오프셋보다 시그니처가 앞쪽에서 매칭되어야 하는지에 따라 도 5에서부터 도 11까지 예시된 것과 같이 설정된다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 오프셋 구조도.
도 2는 본 발명의 일 실시예에 따른 검색 키 구조도.
도 3은 본 발명의 일 실시예에 따른 서브 페이로드에 대한 오프셋 구조도.
도 4는 본 발명의 일 실시예에 따른 TCAM 엔트리 구조도.
도 5는 본 발명의 일 실시예에 따른 정해진 오프셋에 시그니처가 매칭되어야 할 경우의 TCAM 엔트리 구조 예시도.
도 6, 7, 8은 본 발명의 일 실시예에 따른 정해진 오프셋보다 시그니처가 뒤쪽에서 매칭되어야 할 경우의 TCAM 엔트리 구조 예시도.
도 9, 10, 11은 본 발명의 일 실시예에 따른 정해진 오프셋보다 시그니처가 앞쪽에서 매칭되어야 할 경우의 TCAM 엔트리 구조 예시도.
도 12는 본 발명의 일 실시예에 따른 패킷 내 시그니처 검색 방법의 흐름도.

Claims (6)

  1. 네트워크 보안장치가 패킷 내 시그니처를 검색하는 방법에 있어서,
    상기 네트워크 보안장치가 패킷의 페이로드에서 시그니처(signature)와 비교될 서브 페이로드를 추출하는 단계;
    상기 네트워크 보안장치가 상기 서브 페이로드의 페이로드 내 위치 정보인 오프셋을 생성하는 단계;
    상기 네트워크 보안장치가 상기 추출된 서브 페이로드와 상기 생성된 오프셋으로 구성되는 검색 키를 생성하는 단계; 및
    상기 네트워크 보안장치가 TCAM(Ternary Content Addressable Memory) 엔트리에 상기 생성된 검색 키가 매칭되는지 확인하기 위한 TCAM 매칭을 수행하는 단계;
    를 포함하는 것을 특징으로 하는 패킷 내 시그니처 검색 방법.
  2. 제1항에 있어서,
    상기 TCAM 엔트리는 상기 페이로드 내 시그니처가 위치해야 하는 정보인 오프셋과 시그니처로 구성됨을 특징으로 하는 패킷 내 시그니처 검색 방법.
  3. 제2항에 있어서,
    상기 오프셋은 페이로드 크기를 시작부터 끝까지 순차적으로 일정단위로 나타내기 위한 다수의 비트들로 이루어지는 제1비트군과, 상기 제1비트군의 이후에 위치하며 이전 비트군의 각 비트가 나타내는 단위 크기를 그보다 작은 단위로 순차적으로 나타내기 위한 다수의 비트들로 이루어지는 적어도 하나의 제2비트군으로 구성되는 비트열임을 특징으로 하는 패킷 내 시그니처 검색 방법.
  4. 제3항에 있어서,
    상기 오프셋을 생성하는 단계는, 상기 제1비트군과 상기 적어도 하나의 제2비트군으로 구성되는 비트열의 각각의 비트군에 속하는 하나의 비트를 유효 비트로 설정함을 특징으로 하는 패킷 내 시그니처 검색 방법.
  5. 제3항에 있어서,
    시그니처가 특정 오프셋 위치에서 매칭이 되어야 하는 경우에, 상기 TCAM 엔트리에 속하는 오프셋은 그 각각의 비트군에 속하는 하나의 비트만이 유효 비트로 설정되어 있음을 특징으로 하는 패킷 내 시그니처 검색 방법.
  6. 제3항에 있어서,
    시그니처가 특정 오프셋보다 뒤쪽에서 혹은 앞쪽에서 매칭이 되어야 하는 경우에, 상기 TCAM 엔트리에 속하는 오프셋을 구성하는 비트들 중 적어도 일부 비트는 무관심 비트(don't care bit)로 설정되어 있음을 특징으로 하는 패킷 내 시그니처 검색 방법.
KR1020090035180A 2009-04-22 2009-04-22 패킷 내 시그니처 위치에 따른 시그니처 검색 방법 KR101034389B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020090035180A KR101034389B1 (ko) 2009-04-22 2009-04-22 패킷 내 시그니처 위치에 따른 시그니처 검색 방법
US12/763,832 US8407794B2 (en) 2009-04-22 2010-04-20 Signature searching method and apparatus using signature location in packet

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090035180A KR101034389B1 (ko) 2009-04-22 2009-04-22 패킷 내 시그니처 위치에 따른 시그니처 검색 방법

Publications (2)

Publication Number Publication Date
KR20100116458A KR20100116458A (ko) 2010-11-01
KR101034389B1 true KR101034389B1 (ko) 2011-05-16

Family

ID=42993285

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090035180A KR101034389B1 (ko) 2009-04-22 2009-04-22 패킷 내 시그니처 위치에 따른 시그니처 검색 방법

Country Status (2)

Country Link
US (1) US8407794B2 (ko)
KR (1) KR101034389B1 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8577817B1 (en) * 2011-03-02 2013-11-05 Narus, Inc. System and method for using network application signatures based on term transition state machine
US9398033B2 (en) 2011-02-25 2016-07-19 Cavium, Inc. Regular expression processing automaton
US8954700B2 (en) 2011-08-02 2015-02-10 Cavium, Inc. Method and apparatus for managing processing thread migration between clusters within a processor
US9203805B2 (en) 2011-11-23 2015-12-01 Cavium, Inc. Reverse NFA generation and processing
US8942258B2 (en) 2012-09-14 2015-01-27 International Business Machines Corporation Segmentation and reassembly of network packets for switched fabric networks
US8923299B2 (en) 2012-09-14 2014-12-30 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Segmentation and reassembly of network packets
US8843627B1 (en) * 2012-10-19 2014-09-23 Narus, Inc. System and method for extracting signatures from seeded flow groups to classify network traffic
US9563399B2 (en) 2013-08-30 2017-02-07 Cavium, Inc. Generating a non-deterministic finite automata (NFA) graph for regular expression patterns with advanced features
US9426166B2 (en) * 2013-08-30 2016-08-23 Cavium, Inc. Method and apparatus for processing finite automata
US9426165B2 (en) 2013-08-30 2016-08-23 Cavium, Inc. Method and apparatus for compilation of finite automata
US9641303B2 (en) * 2013-09-09 2017-05-02 Huawei Technologies Co., Ltd. System and method for increasing low density signature space
US9419943B2 (en) 2013-12-30 2016-08-16 Cavium, Inc. Method and apparatus for processing of finite automata
US9544402B2 (en) 2013-12-31 2017-01-10 Cavium, Inc. Multi-rule approach to encoding a group of rules
US9275336B2 (en) 2013-12-31 2016-03-01 Cavium, Inc. Method and system for skipping over group(s) of rules based on skip group rule
US9667446B2 (en) 2014-01-08 2017-05-30 Cavium, Inc. Condition code approach for comparing rule and packet data that are provided in portions
US9602532B2 (en) 2014-01-31 2017-03-21 Cavium, Inc. Method and apparatus for optimizing finite automata processing
US9904630B2 (en) 2014-01-31 2018-02-27 Cavium, Inc. Finite automata processing based on a top of stack (TOS) memory
US9438561B2 (en) 2014-04-14 2016-09-06 Cavium, Inc. Processing of finite automata based on a node cache
US10002326B2 (en) 2014-04-14 2018-06-19 Cavium, Inc. Compilation of finite automata based on memory hierarchy
US10110558B2 (en) 2014-04-14 2018-10-23 Cavium, Inc. Processing of finite automata based on memory hierarchy
US10223361B2 (en) * 2017-01-18 2019-03-05 Netapp, Inc. Methods and systems for restoring a data container archived at an object-based storage

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100651743B1 (ko) 2005-10-26 2006-12-01 한국전자통신연구원 Tcam 엔트리 생성 및 검색 방법과 그 장치
US20080050469A1 (en) 2006-08-23 2008-02-28 The Industry & Academic Cooperation In Chungnam National University Jumping window based fast pattern matching method with sequential partial matches using TCAM
US20090030895A1 (en) 2007-07-27 2009-01-29 Anand Eswaran Method And Apparatus For Detecting Predefined Signatures In Packet Payload

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5841874A (en) * 1996-08-13 1998-11-24 Motorola, Inc. Ternary CAM memory architecture and methodology
US8370936B2 (en) * 2002-02-08 2013-02-05 Juniper Networks, Inc. Multi-method gateway-based network security systems and methods
US7924839B2 (en) * 2002-12-06 2011-04-12 Stmicroelectronics, Inc. Mechanism to reduce lookup latency in a pipelined hardware implementation of a trie-based IP lookup algorithm
US7782853B2 (en) * 2002-12-06 2010-08-24 Stmicroelectronics, Inc. Apparatus and method of using fully configurable memory, multi-stage pipeline logic and an embedded processor to implement multi-bit trie algorithmic network search engine
US20050216770A1 (en) * 2003-01-24 2005-09-29 Mistletoe Technologies, Inc. Intrusion detection system
US7444515B2 (en) * 2003-08-14 2008-10-28 Washington University Method and apparatus for detecting predefined signatures in packet payload using Bloom filters
US7454418B1 (en) * 2003-11-07 2008-11-18 Qiang Wang Fast signature scan
US7870161B2 (en) * 2003-11-07 2011-01-11 Qiang Wang Fast signature scan
US7549158B2 (en) * 2004-08-31 2009-06-16 Microsoft Corporation Method and system for customizing a security policy
GB2422507A (en) * 2005-01-21 2006-07-26 3Com Corp An intrusion detection system using a plurality of finite state machines
US7707217B2 (en) * 2005-01-24 2010-04-27 3Com Corporation Trie search engines and ternary CAM used as pre-classifier
US7613755B1 (en) * 2005-04-01 2009-11-03 Netlogic Microsystems, Inc. Signature searching system
US7917950B2 (en) * 2005-05-12 2011-03-29 Jds Uniphase Corporation Protocol-generic eavesdropping network device
US7613669B2 (en) * 2005-08-19 2009-11-03 Electronics And Telecommunications Research Institute Method and apparatus for storing pattern matching data and pattern matching method using the same
WO2007131105A2 (en) * 2006-05-03 2007-11-15 Anchiva Systems, Inc. A method and system for spam, virus, and spyware scanning in a data network
US8879388B2 (en) * 2006-05-30 2014-11-04 Broadcom Corporation Method and system for intrusion detection and prevention based on packet type recognition in a network
US7802303B1 (en) * 2006-06-30 2010-09-21 Trend Micro Incorporated Real-time in-line detection of malicious code in data streams
KR100772523B1 (ko) * 2006-08-01 2007-11-01 한국전자통신연구원 패턴을 이용하는 침입 탐지 장치 및 그 방법
US7805460B2 (en) * 2006-10-26 2010-09-28 Polytechnic Institute Of New York University Generating a hierarchical data structure associated with a plurality of known arbitrary-length bit strings used for detecting whether an arbitrary-length bit string input matches one of a plurality of known arbitrary-length bit string
US8191142B2 (en) * 2006-10-26 2012-05-29 Polytechnic Institute Of New York University Detecting whether an arbitrary-length bit string input matches one of a plurality of known arbitrary-length bit strings using a hierarchical data structure
US7904642B1 (en) * 2007-02-08 2011-03-08 Netlogic Microsystems, Inc. Method for combining and storing access control lists
KR100920518B1 (ko) * 2007-11-27 2009-10-09 한국전자통신연구원 패킷 분류 장치 및 방법
US8463988B2 (en) * 2008-12-03 2013-06-11 Electronics And Telecommunications Research Institute System and method for matching patterns
US7868792B2 (en) * 2009-02-05 2011-01-11 Polytechnic Institute Of New York University Generating a boundary hash-based hierarchical data structure associated with a plurality of known arbitrary-length bit strings and using the generated hierarchical data structure for detecting whether an arbitrary-length bit string input matches one of a plurality of known arbitrary-length bit springs
US8336098B2 (en) * 2009-03-25 2012-12-18 Sysmate Co., Ltd. Method and apparatus for classifying harmful packet
KR101328172B1 (ko) * 2009-09-01 2013-11-13 한국전자통신연구원 문자열 매칭 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100651743B1 (ko) 2005-10-26 2006-12-01 한국전자통신연구원 Tcam 엔트리 생성 및 검색 방법과 그 장치
US20080050469A1 (en) 2006-08-23 2008-02-28 The Industry & Academic Cooperation In Chungnam National University Jumping window based fast pattern matching method with sequential partial matches using TCAM
US20090030895A1 (en) 2007-07-27 2009-01-29 Anand Eswaran Method And Apparatus For Detecting Predefined Signatures In Packet Payload

Also Published As

Publication number Publication date
US8407794B2 (en) 2013-03-26
KR20100116458A (ko) 2010-11-01
US20100275261A1 (en) 2010-10-28

Similar Documents

Publication Publication Date Title
KR101034389B1 (ko) 패킷 내 시그니처 위치에 따른 시그니처 검색 방법
US8051085B1 (en) Determining regular expression match lengths
JP5373184B2 (ja) 可変ストライド型ストリームのセグメント化、およびマルチパターンマッチング
Liu et al. A fast string-matching algorithm for network processor-based intrusion detection system
US7669240B2 (en) Apparatus, method and program to detect and control deleterious code (virus) in computer network
US7853578B1 (en) High-performance pattern matching
KR100622670B1 (ko) 알려지지 않은 네트워크 공격에 대한 실시간 공격 패턴 검출 시스템 및 그 방법
CN113709110B (zh) 一种软硬结合的入侵检测系统及方法
CA2633528C (en) A method of filtering high data rate traffic
Aldwairi et al. Exhaust: Optimizing wu-manber pattern matching for intrusion detection using bloom filters
WO2006008307A1 (en) Method, system and computer program for detecting unauthorised scanning on a network
Liu et al. A fast pattern-match engine for network processor-based network intrusion detection system
Chen et al. Ac-suffix-tree: Buffer free string matching on out-of-sequence packets
CN115190056B (zh) 一种可编排的流量协议识别与解析方法、装置及设备
US20040190506A1 (en) Method and apparatus for performing complex pattern matching in a data stream within a computer network
Hsiao et al. High-throughput intrusion detection system with parallel pattern matching
CN111556014B (zh) 一种采用全文索引的网络攻击入侵检测方法
Nourani et al. Bloom filter accelerator for string matching
JP4726310B2 (ja) 情報検索装置、情報検索用マルチプロセッサおよびルータ
KR20070003488A (ko) 효율적인 패턴검색을 위한 tcam에서의 정규수식표현방법 및 이를 이용한 패턴 검색방법
Liu et al. FTSE: The FNIP-like TCAM searching engine
Pontarelli et al. Efficient flow sampling with back-annotated cuckoo hashing
Sung et al. Performance Evaluation of TCAM based Pattern-Matching Algorithm
Kang et al. Design and implementation of a multi-gigabit intrusion and virus/worm detection system
Zhao et al. Improvement on rules matching algorithm of snort based on dynamic adjustment

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150430

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170502

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180503

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190502

Year of fee payment: 9