KR100734864B1 - 패턴 매칭 정책 저장 방법 및 경보 제어 방법 - Google Patents
패턴 매칭 정책 저장 방법 및 경보 제어 방법 Download PDFInfo
- Publication number
- KR100734864B1 KR100734864B1 KR1020050120990A KR20050120990A KR100734864B1 KR 100734864 B1 KR100734864 B1 KR 100734864B1 KR 1020050120990 A KR1020050120990 A KR 1020050120990A KR 20050120990 A KR20050120990 A KR 20050120990A KR 100734864 B1 KR100734864 B1 KR 100734864B1
- Authority
- KR
- South Korea
- Prior art keywords
- content
- header
- traffic pattern
- pattern
- index
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000001514 detection method Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L12/5602—Bandwidth control in ATM Networks, e.g. leaky bucket
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/22—Arrangements for preventing the taking of data from a data transmission channel without authorisation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 패턴 매칭 정책 저장 방법 및 경보 제어 방법에 관한 것으로, (a) 패턴 매칭 장치에 새롭게 적용하고자 하는 정책인 저장본 트래픽의 헤더 구조체에 상기 헤더 구조체와 매칭되는 콘텐츠 구조체를 생성하는 단계; (b) 상기 저장본 트래픽의 콘텐츠가 상기 패턴 매칭 장치에 기 저장된 원본 트래픽의 콘텐츠와 동일한지 판단하는 단계; (c) 상기 (b)단계에서 동일한 콘텐츠라고 판단되는 경우에, 상기 저장본 트래픽의 콘텐츠에 상기 원본 트래픽의 콘텐츠와 동일한 콘텐츠 인덱스를 부여하는 단계; 및 (d) 상기 원본 트래픽의 헤더 구조체에 속한 콘텐츠 구조체 개수가 1개인지 판단하고, 1개라고 판단되는 경우에 상기 저장본 트래픽의 헤더 인덱스를 상기 원본 트래픽의 헤더 인덱스로 부여하는 단계로 구성되어, 한정된 하드웨어 메모리를 효율적으로 사용하고 빠르고 효율적인 패턴 매칭 기능을 수행할 수 있다.
Description
도 1은 본 발명의 일 실시예에 따른 하드웨어 기반 고속 패턴 매칭 장치의 블럭도이다.
도 2는 본 발명의 일 실시예에 따른 트래픽 패턴들을 하드웨어 주소로 변환하고, 상기 변환 결과를 패턴 매칭 장치의 경보 제어부에 전송하는 방법에 대한 흐름도이다.
도 3 내지 도 5는 도 2에서 트래픽 패턴들에 대한 정책을 저장하는 방법에 대한 각각의 일 예이다.
도 6은 본 발명의 일 실시예인 패턴 매칭 장치의 경보 제어부에서 도 2에서의 수행 결과인 트래픽 패턴들을 수신하여 관리하는 방법에 대한 흐름도이다.
도 7은 도 6의 수행 흐름을 통해서 경보 제어부에서 관리되는 트래픽 패턴들의 구성을 보인 예이다.
도 8은 본 발명의 일 실시예인 패턴 매칭 장치의 경보 제어부에서 패턴 매칭 엔진으로부터 경보 데이터를 수신하여 처리하는 방법에 대한 흐름도이다.
본 발명은 하드웨어 기반의 패턴 매칭 장치에서의 메모리 사용을 위한 기술로써, 더욱 상세하게는 한정된 하드웨어 메모리에 보다 많은 트래픽 패턴들을 적용하기 위한 스트링 패턴 중심의 패턴 매칭 정책 저장 방법 및 경보 제어 방법에 관한 것이다.
고속 네트워크 인프라가 전 세계적으로 보급되면서 네트워크를 마비시키는 악의적인 공격들은 그 피해 범위가 점차 확대되고 있으며, 이로 인해 입게 되는 경제적, 시간적인 손실은 전과 비교할 수 없을 정도로 커져 버렸다. 또한, 기가비트 이더넷(Gigabit Ethernet) 환경과 같은 고속 네트워크 환경이 현실화되고 있고, 이를 바탕으로 한 대용량의 데이터를 처리할 수 있는 보안 분석 기법들에 대한 필요성이 대두되고 있다. 이와 같은 필요성을 충족시키기 위한 기술로써, 고속 패턴 매칭 기술을 하드웨어로 만들기 위한 노력들이 있었으나, 대다수 패턴 매칭 기반의 하드웨어 보안 시스템들은 제한된 메모리 한계로 인해서, 적용될 수 있는 패턴의 수에 제약을 가지고 있다.
지금까지, 네트워크를 통한 침입에 관심을 갖는 여러 보안 시스템들이 개발되었으나, 기가비트 이더넷 환경과 같은 네트워크의 고속화 및 이를 바탕으로 한 대용량 데이터의 송수신은 종래의 저속 보안 분석 기법에 대한 변화를 요구하고 있다. 다시 말해서, 갈수록 고속화되고 대용량화되는 네트워크 환경과 보다 다양해지는 침입 시도에 적절히 대응하기 위해서는, 보다 빠른 시간 내에 많은 데이터를 분석할 수 있는 기법이 요구된다. 즉, 이를 고려한 새로운 형태의 보안 시스템에 대 한 연구가 요구된다.
그러나, 종래의 대다수 보안 시스템들이 지니고 있는 기술적 한계는 무엇보다도 패킷 분실율 및 침입 탐지율과 같은 보안 시스템상의 성능 문제라 할 수 있다. 이를 극복하기 위해서, 하드웨어 기반의 고속의 패턴 매칭 기술들이 연구, 개발되기 시작되었으며, 이를 통해서 고속의 침입탐지 기능 및 방화벽 기능, 바이러스 감지 기능 등을 제공하고 있다. 이러한 보안 시스템들의 대부분은 규칙 기반의 특정 패턴 검사 방법을 통해서 수행되고 있는 것으로 알려져 있으며, 이는 적용되는 패턴들을 필요한 때마다 쉽게 추가, 삭제할 수 있는 구조를 필요로 한다.
또한, 적용되는 패턴의 개수와 패턴 각각이 갖는 스트링 문자열의 길이 등에 의해서 수행 성능이 저하되지 않는 방법들을 필요로 한다. 그러나, 현재까지 알려진 침입탐지 규칙 갯수 만도 이미 수 천 개나 되고, 개개 규칙들이 갖는 스트링 문자열 또한, 최소 1 바이트에서 최대 100 바이트가 넘기 때문에, 성능 저하 없이 많은 규칙들을 적용하기는 쉽지가 않다.
이에 대한 일 예로, 침입탐지 규칙을 구성하는 헤더 조합과 스트링 문자열에 있어서, 메모리의 대부분을 차지하는 스트링 문자열은 동일하나 헤더 조합이 다른 규칙들이 많이 존재한다. 이러한 규칙들은 동일한 스트링 문자열을 가진다 할지라도 다른 규칙으로 분류되어, 서로 다른 메모리 영역에 배치, 적용되기 쉽다.
그러나, 소프트웨어 기반의 보안 시스템들과는 달리 하드웨어 기반의 보안 시스템들은 메모리 상의 제약을 동반하기 때문에, 수많은 트래픽 패턴들을 효율적으로 적용할 수 있는 기법이 요구된다. 설령, 외부 메모리 등을 사용한 메모리 한 계를 극복하였다 하더라도, 이로 인한 성능 저하는 피하기 어렵다. 따라서, 제한된 메모리 상에 최대한의 트래픽 패턴들을 효율적으로 배치, 적용할 수 있는 방법이 요구된다.
본 발명은 패턴 매칭 장치에서의 정책 관리 및 경보 제어 방법을 제공하기 위한 것으로, 보다 많은 침해 유형들에 대한 패턴들을 제한된 하드웨어 메모리 내에 효율적으로 적재할 수 있도록 하는 방법을 제공하고, 기가비트 이더넷 환경과 같은 고속 네트워크 환경에 필요한 고성능의 하드웨어 기반의 패턴 매칭 엔진들이 갖는 메모리의 한계를 최대한 극복할 수 있는 기법을 제공하며, 이를 위해서 동일 스트링 문자열에 대한 동일 메모리 사용을 가능케 하는 메커니즘을 제공한다.
상기 기술적 과제를 해결하기 위한 본 발명의 패턴 매칭 장치에서의 정책 저장 방법은, (a) 패턴 매칭 장치에 새롭게 적용하고자 하는 정책인 저장본 트래픽의 헤더 구조체에 상기 헤더 구조체와 매칭되는 콘텐츠 구조체를 생성하는 단계 (b) 상기 저장본 트래픽의 콘텐츠가 상기 패턴 매칭 장치에 기 저장된 원본 트래픽의 콘텐츠와 동일한지 판단하는 단계 (c) 상기 (b)단계에서 동일한 콘텐츠라고 판단되는 경우에, 상기 저장본 트래픽의 콘텐츠에 상기 원본 트래픽의 콘텐츠와 동일한 콘텐츠 인덱스를 부여하는 단계 및 (d) 상기 원본 트래픽의 헤더 구조체에 속한 콘텐츠 구조체 개수가 1개인지 판단하고, 1개라고 판단되는 경우에 상기 저장본 트래픽의 헤더 인덱스를 상기 원본 트래픽의 헤더 인덱스로 부여하는 단계를 포함하는 것을 특징으로 가진다.
또한, 상기 기술적 과제를 해결하기 위한 본 발명의 패턴 매칭 장치에서의 경보 제어 방법은, 패턴 매칭 장치에 저장되어 있는 정책을 통하여 경보 메시지를 생성하여 제어하는 방법에 있어서, (a) 상기 패턴 매칭 장치에 저장되어 있는 트래픽 패턴의 콘텐츠 인덱스를 수신하는 단계 (b) 상기 수신한 콘텐츠 인덱스와 상기 패턴 매칭 장치에 기 저장된 콘텐츠 인덱스가 동일한지 비교하는 단계 (c) 상기 (b)단계에서 동일하다고 판단되는 경우에, 상기 동일한 콘텐츠 인덱스에 속하는 헤더 조합 구조체를 생성하고 상기 헤더 조합 구조체와 매칭되는 제 1 경보 메시지를 생성하는 단계 및 (d) 상기 (b)단계에서 동일하지 않다고 판단되는 경우에, 새로운 헤더 조합 구조체를 생성하고 상기 새로운 헤더 조합 구조체와 매칭되는 제 2 경보 메시지를 생성하는 단계를 포함하는 것을 특징으로 가진다.
또한, 상기 기술적 과제를 해결하기 위한 본 발명의 패턴 매칭 장치에서의 경보 제어 방법은, 패턴 매칭 장치에 저장되어 있는 정책을 통하여 경보 메시지를 생성하여 제어하는 방법에 있어서, (a) 하드웨어 엔진으로부터 콘텐츠 인덱스를 수신하는 단계 (b) 상기 수신된 콘텐츠 인덱스에 연결된 헤더 구조체가 존재하는지 판단하는 단계 (c) 상기 (b)단계에서 헤더 구조체가 존재한다고 판단되는 경우에, 상기 수신된 콘텐츠와 상기 헤더 구조체의 콘텐츠를 매칭하고, 매칭된 헤더 구조체에 연결된 경보 메시지를 통하여 새로운 제 1 경보 메시지를 생성하는 단계 및 (d) 상기 (b)단계에서 헤더 구조체가 존재하지 않는다고 판단되는 경우에, 상기 콘텐츠 인덱스에 연결된 경보 메시지를 통하여 새로운 제 2 경보 메시지를 생성하는 단계 를 포함하는 것을 특징으로 가진다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시예를 설명하면 다음과 같다.
도 1은 본 발명의 일 실시예에 따른 하드웨어 기반 고속 패턴 매칭 장치의 블럭도이다. 도 1을 참조하면, 하드웨어를 기반으로 하는 고속 패턴 매칭 장치를 통하여 하드웨어와 스프트웨어의 상관 관계를 개략적으로 도시한 것이다.
고속 패턴 매칭 장치는 정책 관리부(100), 패턴 매칭 엔진(120), 경보 제어부(140) 및 정책 데이터베이스(DB)(160)를 포함하여 구성된다.
정책 관리부(100)는 정책 데이터베이스(160)로부터 트래픽 패턴들을 수신하고 관리한다.
패턴 매칭 엔진(120)은 정책 관리부(100)로부터 수신받은 트래픽 패턴들을 바탕으로 하드웨어 기반의 고성능 패턴 매칭 기능을 수행한다.
경보 제어부(140)는 패턴 매칭 엔진(120)으로부터 경보데이터를 수신받고 실제 경보 메시지를 생성한다.
여기에서, 하드웨어 기반의 고속 패턴 매칭 엔진(120)은 순차 조합에 의한 헤더 룩업 기법과 스트링 패턴에 대한 아이디(ID) 연결을 이용한 패턴 검색 방법에 기반한다. 이와 관련한 특허 출원으로는 대한민국 특허 출원번호 10-2004-0087047(발명의 명칭: 순차룩업에 의한 패킷헤더 룩업장치 및 방법)과 대한민국 특허 출원번호 10-2003-0087885(발명의 명칭: 고속 패턴 저장 및 매칭 방법)에 기술되어 있다.
도 2는 본 발명의 일 실시예에 따른 트래픽 패턴들을 하드웨어 주소로 변환하고, 상기 변환 결과를 패턴 매칭 장치의 경보 제어부에 전송하는 방법에 대한 흐름도이다. 도 2를 참조하면, 먼저, 정책 데이터베이스(160)로부터 저장본 트래픽 패턴들을 순차적으로 수신한다(S200).
다음으로, 단계S200에서 수신된 저장본 트래픽 패턴들의 헤더 조합을 기 저장되어 있는 원본 트래픽 패턴들의 헤더 조합과 비교한다(S202).
일반적으로 네트워크상에서의 트래픽 패턴들은 헤더 조합과 스트링 패턴으로 구성되며, 상기 헤더 조합과 스트링 패턴에 대한 매칭이 정확히 이루어질 때 트래픽 매칭 유무를 판단하게 된다. 따라서, 단계S202에서의 헤더 조합이란 트래픽 패턴을 구성하는 전체 패턴 중 헤더 정보와 관련된 부분만의 조합을 의미한다.
다음으로, 단계S202에서의 비교결과, 동일한 헤더 조합이 존재하는지 여부를 판단한다(S204). 단계S204에서의 판단결과, 동일한 헤더 조합이 존재하지 않는다고 판단되는 경우에는 단계S206으로 진행하여 새로운 헤더 조합 구조체를 생성하고, 단계S208로 진행하여 새로운 헤더 인덱스를 부여한다. 여기에서, 헤더 조합이란 패킷을 구성하는 패킷 헤더 값들의 조합을 의미한다. 그리고, 헤더 조합 구조체는 패킷 헤더 값들의 조합을 저장하기 위한 저장소를 의미한다. 예를 들어, TCP 프로토콜이면서 “AAA"와 같은 콘텐츠를 가지는 침입 패턴의 헤더 조합 구조체는 프로토콜이 TCP인 헤더 조합을 가진다. “AAA"와 같은 콘텐츠는 헤더에 해당하는 필드가 아니라 패킷의 패이로드에 해당하는 필드이므로 콘텐츠 구조체에 해당한다.
다른 예를 들어,‘a'라는 헤더 조합이 있고, 이에 대한 정보가 ‘A’라는 헤 더 조합 구조체에 저장되어 있을 때 각 구조체에 대한 식별자가 필요하게 된다. 즉, 헤더 인덱스는 헤더 조합 구조체에 대한 식별자를 의미하며 헤더 조합 구조체 내에 속하게 된다.
한편, 단계S204에서의 판단결과, 동일한 헤더 조합이 존재한다고 판단되는 경우에는 단계S210으로 진행한다.
단계S210에서는 헤더 조합 구조체에 속할 콘텐츠(스트링 패턴) 구조체를 생성한다. 여기에서 콘텐츠 구조체는 스트링 패턴과 관련된 정보가 저장되는 구조체를 의미한다.
각 침입 패턴들은 헤더 조합 구조체와 콘텐츠 구조체로 나뉘어서 저장되어진다. 예를 들어, 상기에서 예로 든 TCP 프로토콜이면서 “AAA"와 같은 콘텐츠를 가지는 침입 패턴은 TCP 프로토콜이라는 정보를 가지는 헤더 조합 구조체와 "AAA"라는 콘텐츠 정보를 가지는 콘텐츠 구조체에 저장된다. 여기에서, 콘텐츠 구조체는 헤더 조합 구조체에 종속적인 성격을 가지게 되는데, TCP 프로토콜이면서 "BBB"와 같은 콘텐츠를 가지는 침입 패턴은 TCP 프로토콜이라는 정보를 가지는 헤더 조합 구조체를 공유하며, "BBB"라는 콘텐츠 정보를 갖는 콘텐츠 구조체를 종속 구조체로 가지게 된다.
다음으로, 저장본 트래픽 패턴의 콘텐츠를 패턴 매칭 장치에 기 저장된 원본 트래픽 패턴의 콘텐츠들과 비교한다(S212).
다음으로, 단계S212에서의 비교결과 동일한 콘텐츠가 존재하는지 여부를 판단한다(S214). 단계S214에서의 판단결과, 동일한 콘텐츠가 존재하지 않는다고 판단 되는 경우에는 단계S236으로 진행하여 새로운 콘텐츠 인덱스를 부여하고, 단계S238로 진행하여 콘텐츠 구조체가 속한 헤더 조합과 콘텐츠 인덱스를 적절한 하드웨어 주소로 변환하고 패턴 매칭 엔진(120)에 적용하며, 단계S240으로 진행하여 해당하는 헤더 조합과 콘텐츠 인덱스, 적용된 트래픽 패턴의 경보 메시지를 경보 제어부(140)로 전송한다.
한편, 단계S214에서의 판단결과, 동일한 콘텐츠가 존재한다고 판단되는 경우에는 단계S216으로 진행하여 동일한 콘텐츠 인덱스를 부여한다.
단계S216 다음으로, 동일한 콘텐츠가 속한 헤더 조합 구조체에 속하는 콘텐츠 구조체의 개수를 검사한다(S218).
다음으로, 콘텐츠 구조체의 개수가 1개인지 여부를 판단한다(S220). 단계S220에서의 판단결과 콘텐츠 구조체의 개수가 1개라고 판단되면, 단계S222로 진행하여 동일 콘텐츠가 속한 헤더 조합 구조체로 현재의 콘텐츠가 속한 헤더 조합 구조체를 통합하고, 단계S224로 진행하여 헤더 조합에 대한 하드웨어 주소로 변환하고 패턴 매칭 엔진(120)에 적용하며, 단계S226으로 진행하여 적용된 정책에 대한 정보를 경보 제어부(214)로 전송한다. 단계S224에서, 콘텐츠에 대한 적용은 불필요하다.
한편, 단계S220에서의 판단결과 콘텐츠 구조체의 개수가 복수개라고 판단되면, 단계S228로 진행하여 현재 콘텐츠가 속한 헤더 조합 구조체의 콘텐츠 구조체의 개수를 검사하고, 단계S230으로 진행하여 현재 콘텐츠가 속한 헤더 조합 구조체의 콘텐츠 구조체의 개수가 1개인지 여부를 판단한다.
단계S230에서의 판단결과 현재 콘텐츠가 속한 헤더 조합 구조체의 콘텐츠 구조체의 개수가 1개라고 판단되면, 단계S232로 진행하여 현재 콘텐츠가 속한 헤더 조합 구조체로 동일 콘텐츠가 속한 헤더 조합 구조체를 통합하고, 단계S238로 진행하여 헤더 조합 및 콘텐츠를 하드웨어 주소로 변환하고 패턴 매칭 엔진(120)에 적용하며, 단계S240으로 진행하여 적용된 정책에 대한 정보를 경보 제어부(214)로 전송한다.
한편, 단계S230에서의 판단결과 현재 콘텐츠가 속한 헤더 조합 구조체의 콘텐츠 구조체의 개수가 복수개라고 판단되면, 단계234로 진행하여 동일 콘텐츠가 속한 헤더 조합과 현재 콘텐츠가 속한 헤더 조합을 통합한 새로운 헤더 조합 구조체를 생성하고, 이에 대한 헤더 인덱스를 부여하며, 단계S238로 진행하여 헤더 조합 및 콘텐츠를 하드웨어 주소로 변환하고 패턴 매칭 엔진(120)에 적용하며, 단계S240으로 진행하여 적용된 정책에 대한 정보를 경보 제어부(214)로 전송한다.
도 3 내지 도 5는 도 2에서 트래픽 패턴들에 대한 정책을 저장하는 방법에 대한 각각의 일 예이다. 도 3 내지 도 5에서 보이는 각각의 일 예에서는 마지막으로 적용되는 트래픽 패턴을 기준으로 한 것이다.
도 3을 참조하면, 저장본 트래픽 패턴과 원본 트래픽 패턴을 비교한 결과, 원본 트래픽 패턴에는 저장본 트래픽 패턴과 동일한 헤더 조합이 존재하지 않고, 동일한 콘텐츠가 존재하며, 동일한 콘텐츠가 속한 헤더 조합의 콘텐츠 구조체 개수가 1개인 경우를 나타낸다.
참조번호 300을 보면, 저장본 트래픽 패턴의 헤더 조합(udp any any -> any 80)과 패턴 매칭 장치에 기 저장된 원본 트래픽 패턴의 헤더 조합(tcp any any -> any 80)이 동일하지 않고, 콘텐츠(AAAAAAAA)는 동일한 것을 볼 수 있다. 또한, 동일한 콘텐츠가 속한 원본 트래픽 패턴의 헤더 조합의 콘텐츠 구조체 개수가 1개인 경우를 나타낸다.
다음으로, 참조번호 310을 보면, 저장본 트래픽 패턴은 헤더 인덱스 2를 가지고 원본 트래픽 패턴은 헤더 인덱스 1을 가져 서로 상이하나, 저장본 트래픽 패턴과 원본 트래픽 패턴은 콘텐츠 인덱스 1을 동일하게 가지는 것을 볼 수 있다.
다음으로, 참조번호 320을 보면, 저장본 트래픽 패턴과 원본 트래픽 패턴은 헤더 인덱스 1을 동일하게 가지는 것을 볼 수 있다.
도 3과 같은 경우에, 저장본 트래픽 패턴의 수신 결과로 적용된 콘텐츠의 헤더 조합 구조체에 변화가 발생하지 않기 때문에, 콘텐츠에 대한 하드웨어 주소 변환을 재차 수행할 필요가 없다.
도 4를 참조하면, 저장본 트래픽 패턴과 원본 트래픽 패턴을 비교한 결과, 원본 트래픽 패턴에는 저장본 트래픽 패턴과 동일한 헤더 조합이 존재하지 않고, 동일한 콘텐츠가 존재하며, 동일한 콘텐츠가 속한 콘텐츠 구조체 개수가 다수인 경우이다. 또한, 원본 트래픽 패턴에서의 헤더 조합의 콘텐츠 구조체 개수가 1개인 경우를 나타낸다.
참조번호 400을 보면, 저장본 트래픽 패턴의 헤더 조합(udp any any -> any 80)과 패턴 매칭 장치에 기 저장된 원본 트래픽 패턴의 헤더 조합(tcp any any -> any 80)이 동일하지 않고, 콘텐츠(AAAAAAAA)는 동일한 것을 볼 수 있다. 또한, 동 일한 콘텐츠가 속한 원본 트래픽 패턴의 헤더 조합의 콘텐츠 구조체 개수가 복수개(참조번호 400에서는 2개)이고, 저장본 트래픽 패턴에서의 헤더 조합의 콘텐츠 구조체 개수가 1개인 경우를 나타낸다.
다음으로, 참조번호 410을 보면, 저장본 트래픽 패턴은 헤더 인덱스 2를 가지고 원본 트래픽 패턴은 헤더 인덱스 1을 가져 서로 상이하나, 저장본 트래픽 패턴과 원본 트래픽 패턴은 콘텐츠 인덱스 1을 동일하게 가지는 것을 볼 수 있다. 즉, 참조번호 400에서 저장본 트래픽 패턴의 콘텐츠 인덱스 3이 참조번호 410에서는 콘텐츠 인덱스 1로 변경되었다.
다음으로, 참조번호 420을 보면, 동일 콘텐츠가 속한 원본 트래픽 패턴의 헤더 조합 구조체에 속하는 콘텐츠 구조체 개수가 다수이고, 저장본 트래픽 패턴에서의 헤더 조합의 콘텐츠 구조체 개수가 1개이기 때문에, 동일 콘텐츠가 속한 저장본 트래픽의 헤더 조합 구조체로 원본 트래픽 패턴의 헤더 조합 구조체가 통합되는 것을 볼 수 있다.
도 4와 같은 경우에, 저장본 트래픽 패턴의 수신 결과로 적용된 콘텐츠의 헤더 조합 구조체에 변화가 발생하기 때문에, 콘텐츠에 대한 하드웨어 주소 변환을 재차 수행할 필요가 있다.
도 5를 참조하면, 저장본 트래픽 패턴과 원본 트래픽 패턴을 비교한 결과, 원본 트래픽 패턴에는 저장본 트래픽 패턴과 동일한 헤더 조합이 존재하고, 동일한 콘텐츠가 존재하며, 동일한 콘텐츠가 속한 콘텐츠 구조체 개수가 복수개인 경우이다. 또한, 저장본 트래픽 패턴에서의 헤더 조합의 콘텐츠 구조체 개수가 복수개인 경우를 나타낸다.
참조번호 500을 보면, 저장본 트래픽 패턴의 헤더 조합(udp any any -> any 80)과 패턴 매칭 장치에 기 저장된 원본 트래픽 패턴의 헤더 조합(tcp any any -> any 80)이 상이하고, 콘텐츠(AAAAAAAA)는 일부 동일한 것을 볼 수 있다. 또한, 동일한 콘텐츠가 속한 원본 트래픽 패턴의 헤더 조합의 콘텐츠 구조체 개수가 복수개(참조번호 500에서는 2개)이고, 저장본 트래픽 패턴에서의 헤더 조합의 콘텐츠 구조체 개수가 복수개(참조번호 500에서는 2개)인 경우를 나타낸다.
다음으로, 참조번호 510을 보면, 동일한 콘텐츠를 가지는 저장본 트래픽 패턴과 원본 트래픽 패턴은 콘텐츠 인덱스 1을 동일하게 가지는 것을 볼 수 있다. 즉, 참조번호 500에서 저장본 트래픽 패턴의 콘텐츠 인덱스 4가 참조번호 510에서는 콘텐츠 인덱스 1로 변경되었다.
다음으로, 참조번호 520을 보면, 동일 콘텐츠가 속한 원본 트래픽 패턴의 헤더 조합 구조체에 속하는 콘텐츠 구조체 개수가 복수개이고, 저장본 트래픽 패턴에서의 헤더 조합의 콘텐츠 구조체 개수가 복수개이기 때문에, 새로운 헤더 인덱스 3을 생성하고, 생성된 헤더 인덱스 3에 동일 콘텐츠가 속한 저장본 트래픽의 헤더 인덱스로 원본 트래픽 패턴의 헤더 조합 구조체가 통합되는 것을 볼 수 있다.
도 5와 같은 경우에, 저장본 트래픽 패턴의 수신 결과로 적용된 콘텐츠의 헤더 조합 구조체에 변화가 발생하기 때문에, 콘텐츠에 대한 하드웨어 주소 변환을 재차 수행할 필요가 있다.
상기 도 3 내지 도 5에서 살펴본 예와 같이, 동일 스트링 패턴의 경우에 동 일한 메모리를 공유하여 적용되기 때문에, 보다 효율적인 하드웨어 메모리 관리가 가능하다.
도 6은 본 발명의 일 실시예인 패턴 매칭 장치의 경보 제어부에서 도 2에서의 수행 결과인 트래픽 패턴들을 수신하여 관리하는 방법에 대한 흐름도이다.
패턴 매칭 장치에서의 경보 제어부(140)는 하드웨어 기반의 고성능 패턴 매칭 엔진(120)으로부터의 경보 데이터를 바탕으로 정확한 경보 메시지(Signature ID)를 생성하는 것이다. 따라서 이와 같은 경보 데이터를 바탕으로 정확한 경보 메시지를 수행하기 위한 정책 관리가 필요하다.
이는 동일 콘텐츠가 동일 인덱스를 공유하기 때문에, 하드웨어 엔진(120)으로부터동일 인덱스를 경보로 수신했을 시의 트래픽 유형을 구분할 목적으로 사용하는 것이다.
도 6을 참조하면, 먼저, 정책 관리부(100)로부터 패턴매칭 엔진(120)에 적용된 트래픽 패턴의 헤더 조합 정보 및 콘텐츠 인덱스, 그리고 이에 대한 경보 메시지를 수신한다(S600).
다음으로, 단계S600에서 수신된 콘텐츠 인덱스를 패턴 매칭 장치에 기 저장된 콘텐츠 인덱스와 비교한다(S610).
다음으로, 단계S610에서의 비교 결과 동일 콘텐츠 인덱스인지 여부를 판단한다(S620). 단계S620에서의 판단결과, 동일한 콘텐츠 인덱스라고 판단되면, 동일 콘텐츠 인덱스에 속하는 헤더 조합 구조체를 생성한다(S630). 한편, 단계S620에서의 판단결과, 동일한 콘텐츠 인덱스가 아니라고 판단되면, 새로운 콘텐츠 인덱스를 생 성한다(S640).
단계S630과 단계S640 다음으로, 경보 메시지를 생성한다(S650).
도 6에서, 동일 인덱스가 존재할 경우에는 헤더 조합 정보에 따라서 경보 메시지가 부여되고, 동일 인덱스가 존재하지 않을 경우에는 헤더 조합 정보 없이 직접 경보 메시지가 부여된다. 도 6과 같은 과정은 새로운 정책이 적용될 때마다 반복 수행된다.
도 7은 정책 관리부(100)를 통해서 하드웨어 기반의 고성능 패턴 매칭 엔진(300)에 적용된 트래픽 패턴들과, 이에 대한 도 6의 수행 흐름을 통해서 경보 제어부(200)에서 관리되는 방식을 보인 예시를 나타낸다.
도 7을 참조하면, 참조번호 700에서 보는 바와 같이 4개의 트래픽 패턴들이 적용된다고 가정한다.
콘텐츠 인덱스 2와 콘텐츠 인덱스 3인 트래픽 패턴들은 동일 콘텐츠가 존재하지 않는다. 따라서, 도 6에서 살펴본 바와 같이 해당 콘텐츠 인덱스에 경보 메시지(Signature ID)가 직접 부여된다.
한편, 콘텐츠 인덱스 1인 트래픽 패턴은 동일 콘텐츠 인덱스로 헤더 조합이 통합되어 있다. 따라서, 도 6에서 살펴본 바와 같이 해당 콘텐츠 인덱스에 속한 헤더 조합 구조체를 가지고, 각각의 헤더 조합 구조체에 경보 메시지(Signature ID)가 부여된다.
즉, 패턴 매칭 장치의 경보 제어부(140)에서 관리되는 트래픽 패턴들은 참조번호 710에서 보는 바와 같은 형태로 변환되어 관리된다.
도 8은 본 발명의 일 실시예인 패턴 매칭 장치의 경보 제어부에서 패턴 매칭 엔진으로부터 경보 데이터를 수신하여 처리하는 방법에 대한 흐름도이다.
일반적으로 패턴 매칭 엔진(120)으로부터 생성되는 경보 데이터는 트래픽으로 판정된 패킷 데이터 정보와 매칭된 콘텐츠 인덱스로 구성된다. 여기에서, 동일 콘텐츠들은 하나의 콘텐츠 인덱스를 가지기 때문에, 이에 대한 구분을 통해서 정확한 경보 데이터(Signature ID)를 얻어낼 필요가 있다.
도 8을 참조하면, 먼저, 패턴 매칭 엔진(120)으로부터의 패킷 데이터 정보와 콘텐츠 인덱스를 수신한다(S800).
다음으로, 단계S800에서 수신된 콘텐츠 인덱스에 연결된 헤더 조합 구조체의 유무를 검사한다(S810).
다음으로, 단계S810에서 검사결과 헤더 조합 구조체가 존재하는지 판단한다(S820). 단계S820에서의 판단결과, 헤더 조합 구조체가 존재한다고 판단되면, 단계S840으로 진행하여 수신된 패킷 데이터 정보와 헤더 조합 구조체 정보를 순차적으로 매칭한다.
단계S840 다음으로 현재의 패킷 데이터 정보와 매칭되는 헤더 조합 구조체가 존재하는지 판단한다(S850). 단계S850에서의 판단결과, 매칭되는 헤더 조합 구조체가 존재한다고 판단되면 단계S860으로 진행하여 헤더 조합 구조체에 연결된 경보 메시지를 검색하고, 단계S870으로 진행하여 트래픽에 대한 경보 메시지를 생성한다.
한편, 단계S820에서의 판단결과, 헤더 조합 구조체가 존재하지 않는다고 판 단되면, 단계S830으로 진행하여 콘텐츠 인덱스에 연결된 경보 메시지를 바로 검색하고, 단계S870으로 진행하여 트래픽에 대한 경보 메시지를 생성한다.
도 8은 패턴 매칭 엔진(120)으로부터 경보 데이터가 수신될 때마다 반복하여 수행되어 진다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD_ROM, 자기테이프, 플로피디스크 및 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
이와 같이 본 발명에서는 기가급의 고속 네트워크 환경에서 하드웨어 기반의 고성능 패턴 매칭 기능을 효율적으로 제공하여, 스트링 패턴 중심의 정책 관리 및 경보 제어 방법을 제공할 수 있다.
그리고, 하드웨어 기반의 고성능 패턴 매칭 엔진에서의 효율적인 메모리 사용을 통하여 한정된 하드웨어 메모리에 보다 많은 트래픽 패턴들을 적용하기 위한 방법을 제공할 수 있다.
또한, 다양한 유형의 트래픽들에 대해서 보다 포괄적인 감지 기능을 고속으로 수행할 수 있도록 도와줌으로써, 트래픽에 대한 광역 망에서의 효율적인 대응이 가능케 하며, 이로 인한 네트워크상의 피해를 최소화하는 것을 도와줄 수 있다.
Claims (7)
- (a) 패턴 매칭 장치에 새롭게 적용하고자 하는 신규 적용 트래픽 패턴의 헤더 조합 패턴이 저장된 헤더 조합 구조체와, 상기 신규 적용 트래픽 패턴의 콘텐츠 패턴 정보가 저장되고 상기 헤더 조합 구조체에 연결되는 콘텐츠 구조체를 생성하는 단계;(b) 상기 신규 적용 트래픽 패턴의 콘텐츠가 상기 패턴 매칭 장치에 기 저장된 원본 트래픽 패턴의 콘텐츠와 동일한지 판단하는 단계;(c) 상기 (b)단계에서 동일한 콘텐츠라고 판단되는 경우에, 상기 신규 적용 트래픽 패턴의 콘텐츠에 상기 원본 트래픽 패턴의 콘텐츠와 동일한 콘텐츠 인덱스를 부여하는 단계; 및(d) 상기 원본 트래픽 패턴의 헤더 조합 구조체에 속한 콘텐츠 구조체 개수가 1개인지 판단하고, 1개라고 판단되는 경우에 상기 신규 적용 트래픽 패턴의 헤더 인덱스를 상기 원본 트래픽 패턴의 헤더 인덱스로 부여하는 단계를 포함하는 것을 특징으로 하는 패턴 매칭 장치에서의 정책 저장 방법.
- 제 1 항에 있어서,(e) 상기 (d)단계에서 상기 원본 트래픽 패턴의 헤더 조합 구조체에 속한 콘텐츠 구조체 개수가 복수개라고 판단되는 경우에, 상기 신규 적용 트래픽 패턴의 헤더 조합 구조체에 속한 콘텐츠 구조체 개수가 1개인지 여부를 새롭게 판단하고, 새롭게 판단한 결과 1개라고 판단되는 경우에 상기 원본 트래픽 패턴의 헤더 인덱스를 상기 신규 적용 트래픽 패턴의 헤더 인덱스로 부여하는 단계를 더 포함하는 것을 특징으로 하는 패턴 매칭 장치에서의 정책 저장 방법.
- 제 2 항에 있어서,상기 (e)단계 이후에 상기 신규 적용 트래픽 패턴의 헤더 조합 구조체와 콘텐츠 구조체를 상기 신규 적용 트래픽 패턴이 저장되는 하드웨어 주소로 변환하는 단계를 더 포함하는 것을 특징으로 하는 패턴 매칭 장치에서의 정책 저장 방법.
- 제 2 항에 있어서,(f) 상기 (e)단계에서 상기 신규 적용 트래픽 패턴의 헤더 조합 구조체에 속한 콘텐츠 구조체 개수가 복수개라고 판단되는 경우에, 상기 동일한 콘텐츠 인덱스를 가지는 콘텐츠가 속한 상기 신규 적용 트래픽 패턴의 헤더 인덱스와 상기 원본 트래픽 패턴의 헤더 인덱스를 새로운 헤더 인덱스로 통합하는 단계를 더 포함하는 것을 특징으로 하는 패턴 매칭 장치에서의 정책 저장 방법.
- 제 4 항에 있어서,상기 (f)단계 이후에 상기 신규 적용 트래픽 패턴의 헤더 조합 구조체와 콘텐츠 구조체를 상기 신규 적용 트래픽 패턴이 저장되는 하드웨어 주소로 변환하는 단계를 더 포함하는 것을 특징으로 하는 패턴 매칭 장치에서의 정책 저장 방법.
- 제 1 항에 있어서,상기 (d)단계 이후에 상기 신규 적용 트래픽 패턴의 헤더 조합 구조체를 상기 신규 적용 트래픽 패턴이 저장되는 하드웨어 주소로 변환하는 단계를 더 포함하는 것을 특징으로 하는 패턴 매칭 장치에서의 정책 저장 방법.
- 패턴 매칭 장치에 저장되어 있는 정책을 통하여 경보 메시지를 생성하여 제어하는 방법에 있어서,(a) 하드웨어 엔진으로부터 패킷 데이터 정보와 콘텐츠 인덱스를 수신하는 단계;(b) 상기 수신된 콘텐츠 인덱스에 연결된 헤더 조합 구조체가 존재하는지 판단하는 단계;(c) 상기 (b)단계에서 헤더 조합 구조체가 존재한다고 판단되는 경우에, 상기 수신된 패킷 데이터 정보와 상기 헤더 조합 구조체의 콘텐츠를 매칭하고, 매칭된 헤더 구조체에 연결된 경보 메시지를 통하여 새로운 제 1 경보 메시지를 생성하는 단계; 및(d) 상기 (b)단계에서 헤더 구조체가 존재하지 않는다고 판단되는 경우에, 상기 콘텐츠 인덱스에 연결된 경보 메시지를 통하여 새로운 제 2 경보 메시지를 생성하는 단계를 포함하는 것을 특징으로 하는 패턴 매칭 장치에서의 경보 제어 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050120990A KR100734864B1 (ko) | 2005-12-09 | 2005-12-09 | 패턴 매칭 정책 저장 방법 및 경보 제어 방법 |
US11/635,245 US7735128B2 (en) | 2005-12-09 | 2006-12-07 | Method of storing pattern matching policy and method of controlling alert message |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050120990A KR100734864B1 (ko) | 2005-12-09 | 2005-12-09 | 패턴 매칭 정책 저장 방법 및 경보 제어 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070060865A KR20070060865A (ko) | 2007-06-13 |
KR100734864B1 true KR100734864B1 (ko) | 2007-07-03 |
Family
ID=38193632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050120990A KR100734864B1 (ko) | 2005-12-09 | 2005-12-09 | 패턴 매칭 정책 저장 방법 및 경보 제어 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7735128B2 (ko) |
KR (1) | KR100734864B1 (ko) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011119137A1 (en) | 2010-03-22 | 2011-09-29 | Lrdc Systems, Llc | A method of identifying and protecting the integrity of a set of source data |
US8595840B1 (en) * | 2010-06-01 | 2013-11-26 | Trend Micro Incorporated | Detection of computer network data streams from a malware and its variants |
US8824472B2 (en) * | 2010-09-16 | 2014-09-02 | Verizon Patent And Licensing Inc. | Sanitizing packet headers |
KR101678309B1 (ko) * | 2015-07-14 | 2016-12-06 | 마이크로큐닉스 주식회사 | 침입탐지 장치 및 방법 |
CN110098955B (zh) * | 2019-04-01 | 2022-03-25 | 烽火通信科技股份有限公司 | 用于仿真业务的仿真模式灵活配置方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040069315A (ko) * | 2001-12-14 | 2004-08-05 | 인터내셔널 비지네스 머신즈 코포레이션 | 멀티미디어 컨텐츠 마련 방법 및 분산형 데이터 처리 시스템 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100427449B1 (ko) | 2001-12-14 | 2004-04-14 | 한국전자통신연구원 | 네트워크 기반 침입탐지시스템의 적응적 규칙 추정에 의한침입탐지방법 |
-
2005
- 2005-12-09 KR KR1020050120990A patent/KR100734864B1/ko not_active IP Right Cessation
-
2006
- 2006-12-07 US US11/635,245 patent/US7735128B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040069315A (ko) * | 2001-12-14 | 2004-08-05 | 인터내셔널 비지네스 머신즈 코포레이션 | 멀티미디어 컨텐츠 마련 방법 및 분산형 데이터 처리 시스템 |
Also Published As
Publication number | Publication date |
---|---|
KR20070060865A (ko) | 2007-06-13 |
US20070147382A1 (en) | 2007-06-28 |
US7735128B2 (en) | 2010-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10771342B2 (en) | Encoding and verifying network intents for stateful networks | |
US7610330B1 (en) | Multi-dimensional computation distribution in a packet processing device having multiple processing architecture | |
KR101868720B1 (ko) | 정규 표현식들에 대한 컴파일러 | |
US7420992B1 (en) | Adaptive network traffic compression mechanism including dynamic selection of compression algorithms | |
US7865608B1 (en) | Method and apparatus for fast and scalable matching of structured data streams | |
Sija et al. | A survey of automatic protocol reverse engineering approaches, methods, and tools on the inputs and outputs view | |
US9356844B2 (en) | Efficient application recognition in network traffic | |
EP2214115A1 (en) | Efficient application identification with network devices | |
US20060112422A1 (en) | Data transfer using hyper-text transfer protocol (HTTP) query strings | |
US20030152036A1 (en) | Apparatus and method of splitting a data stream over multiple transport control protocol/internet protocol (TCP/IP) connections | |
US12058265B2 (en) | Verifiable computation for cross-domain information sharing | |
KR100734864B1 (ko) | 패턴 매칭 정책 저장 방법 및 경보 제어 방법 | |
KR20080007672A (ko) | 고속 네트워크들에 대한 트래픽 분석 | |
US20210357194A1 (en) | Compiling domain-specific language code to generate executable code targeting an appropriate type of processor of a network device | |
CN110290151B (zh) | 报文发送方法、装置及可读取存储介质 | |
US10491513B2 (en) | Verifying packet tags in software defined networks | |
US7389529B1 (en) | Method and apparatus for generating and using nested encapsulation data | |
CN113285961B (zh) | 一种基于缓存数据库的电力内外网信息交互方法 | |
KR101017015B1 (ko) | 네트워크 기반 고성능 콘텐츠 보안 시스템 및 방법 | |
Jeong et al. | A blockchain-based IoT data management scheme using Bernoulli distribution convergence in the mobile edge computing | |
CN115499889B (zh) | 基于vpp的upf转发面实现方法、装置、系统及相关设备 | |
KR20050051223A (ko) | 네트워크 보안성을 강화한 무결성 관리 시스템, 이를구비한 무결성 네트워크 시스템 및 그 방법 | |
US10432759B2 (en) | Centralized chromatic pluralizing of internet of things (IOT) communication | |
WO2024174550A1 (zh) | 数据处理方法、处理器、存储设备、接口卡及存储介质 | |
CN117439898B (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: 20130527 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20140519 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |