KR100931796B1 - 블룸 필터를 이용한 패킷 수집 시스템, 상기 패킷 수집시스템에서 패킷의 저장 크기를 감소시키는 방법, 패킷검색 시스템 및 긍정 오류의 비율을 감소시키는 방법 - Google Patents

블룸 필터를 이용한 패킷 수집 시스템, 상기 패킷 수집시스템에서 패킷의 저장 크기를 감소시키는 방법, 패킷검색 시스템 및 긍정 오류의 비율을 감소시키는 방법 Download PDF

Info

Publication number
KR100931796B1
KR100931796B1 KR1020070122353A KR20070122353A KR100931796B1 KR 100931796 B1 KR100931796 B1 KR 100931796B1 KR 1020070122353 A KR1020070122353 A KR 1020070122353A KR 20070122353 A KR20070122353 A KR 20070122353A KR 100931796 B1 KR100931796 B1 KR 100931796B1
Authority
KR
South Korea
Prior art keywords
packet
filter
comparison
block
blocks
Prior art date
Application number
KR1020070122353A
Other languages
English (en)
Other versions
KR20090055430A (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 KR1020070122353A priority Critical patent/KR100931796B1/ko
Publication of KR20090055430A publication Critical patent/KR20090055430A/ko
Application granted granted Critical
Publication of KR100931796B1 publication Critical patent/KR100931796B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/028Capturing of monitoring data by filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

블룸 필터를 이용한 패킷 수집 시스템, 상기 패킷 수집 시스템에서 패킷의 저장 크기를 감소시키는 방법, 패킷 검색 시스템 및 긍정 오류의 비율을 감소시키는 방법을 개시한다. 패킷 수집 시스템은, 네트워크로부터 캡쳐된 패킷의 일부분을 기설정된(predetermined) 개수의 블록으로 구분하는 블록 구분부, 상기 블록마다 개별적으로 필터링하여 각각 필터값을 생성하는 필터부 및 상기 일부분을 제외한 나머지 부분 및 상기 필터값을 서로 연관하여 저장 공간에 저장하는 저장 처리부를 포함한다.
블룸 필터(bloom filter), 패킷(packet), 긍정 오류(false positive),

Description

블룸 필터를 이용한 패킷 수집 시스템, 상기 패킷 수집 시스템에서 패킷의 저장 크기를 감소시키는 방법, 패킷 검색 시스템 및 긍정 오류의 비율을 감소시키는 방법{PACKET COLLECTION SYSTEM USING BLOOM FILTER, METHOD TO REDUCE PACKET STORING SIZE IN THE PACKET COLLECTION SYSTEM, PACKET SEARCH SYSTEM AND METHOD TO REDUCE FALSE POSITIVE RATE}
본 발명은 블룸 필터를 이용한 패킷 수집 시스템, 상기 패킷 수집 시스템에서 패킷의 저장 크기를 감소시키는 방법, 패킷 검색 시스템 및 긍정 오류의 비율을 감소시키는 방법에 관한 것이다.
일반적으로 패킷을 수집하고자 할 때 패킷 전체가 필요한 경우에는 매우 큰 물리적 저장장치를 확보하여 패킷 전체를 저장하고, 패킷 전체가 필요하지는 않지만 패킷의 수집이 필요한 경우에는 목적에 따라 헤더, 헤더 옵션, 페이로드 등 패킷의 일부분만을 저장한다. 또한, 패킷 전체를 저장하는 경우에도 저장 공간의 절약을 위해 네트워크로부터 패킷을 캡쳐한 후 사전에 예측한 조건에 부합하는가를 판단하여 조건에 부합하지 않는 패킷을 드롭시키는 방법을 이용하고 있다.
다시 말해, 패킷의 수집을 위한 종래기술에서는 네트워크로부터 수집된 패킷 을 가공 없이 저장하는 경우, 매우 큰 물리적 저장 공간을 필요로 한다는 문제점이 있다. 또한, 저장 공간이 부족하여 수집된 패킷을 가공하는 경우에는 대부분의 정보를 버리게 되는 문제점이 있다.
본 발명은 네트워크를 통해 캡쳐된 패킷의 페이로드를 기설정된 개수의 블록으로 구분하고, 각각의 블록을 블룸 필터(bloom filter)로 필터링하여 생성된 필터값과 상기 패킷의 헤더를 서로 연관하여 저장함으로써 상기 패킷의 저장 크기를 크게 감소시킬 수 있는 패킷 수집 시스템 및 패킷 저장 크기 감소 방법을 제공한다.
본 발명은 비교 데이터의 블록을 구분하고 상기 블록과 상기 블룸 필터를 통해 필터링되어 생성된 필터값을 비교함으로써, 수집된 패킷에서 원하는 정보의 포함 여부를 확인할 수 있는 패킷 검색 시스템을 제공한다.
본 발명은 원본 데이터를 블록으로 나누어 필터링하여 필터값을 생성하고, 비교 데이터를 상기 블록과 동일한 크기의 블록으로 구분하여 상기 비교 데이터의 모든 블록이 상기 필터값과 일치하는 경우, 상기 비교 데이터가 상기 원본 데이터에 포함됨을 확인함으로써, 긍정 오류의 비율을 감소시킬 수 있는 긍정 오류 비율 감소 방법을 제공한다.
본 발명의 일실시예에 따른 패킷 수집 시스템은 네트워크로부터 캡쳐된 패킷의 일부분을 기설정된(predetermined) 개수의 블록으로 구분하는 블록 구분부, 상기 블록마다 개별적으로 필터링하여 각각 필터값을 생성하는 필터부 및 상기 일부분을 제외한 나머지 부분 및 상기 필터값을 서로 연관하여 저장 공간에 저장하는 저장 처리부를 포함한다.
본 발명의 일측면에 따르면, 상기 패킷은 헤더 및 페이로드로 구성될 수 있고, 상기 블록 구분부는 상기 패킷에서 상기 헤더 및 상기 페이로드를 분리하고, 상기 페이로드를 상기 일부분으로서 상기 블록으로 구분할 수 있다.
본 발명의 일측면에 따르면, 상기 블록 구분부는 상기 패킷에서 상기 헤더 및 상기 페이로드를 분리하고, 상기 페이로드의 일부분을 상기 패킷의 일부분으로서 상기 블록으로 구분할 수 있다.
본 발명의 일측면에 따르면, 상기 필터부는 기설정된 수 이하의 긍정 오류(false positive)를 허용하는 블룸 필터(bloom filter)를 통해 상기 블록을 필터링하여 상기 필터값을 생성할 수 있다.
본 발명의 일측면에 따르면, 상기 저장 처리부는 상기 일부분에 해당하는 페이로드의 필터값과 상기 나머지 부분에 해당하는 헤드를 서로 연관하여 상기 저장 공간에 저장할 수 있다.
본 발명의 일실시예에 따른 패킷 검색 시스템은 데이터베이스로부터 원본 데이터에 대한 필터값을 추출하는 필터값 추출부, 비교 데이터의 블록을 구분하는 블록 구분부 및 비교 데이터와 상기 필터값을 비교하여 상기 비교 데이터의 상기 원본 데이터에 대한 포함 여부를 확인하는 비교부를 포함한다.
본 발명의 일실시예에 따른 패킷 저장 크기 감소 방법은 네트워크로부터 캡쳐된 패킷의 일부분을 기설정된 개수의 블록으로 구분하는 단계, 상기 블록마다 필터를 통해 개별적으로 필터링하여 각각 필터값을 생성하는 단계 및 상기 일부분을 제외한 나머지 부분 및 상기 필터값을 서로 연관하여 저장 공간에 저장하는 단계를 포함한다.
본 발명의 일실시예에 따른 긍정 오류 비율 감소 방법은 원본 데이터를 기설정된 개수의 블록으로 구분하고 블룸 필터를 적용하여 상기 블록마다 필터값을 생성하는 단계, 비교 데이터를 상기 블록과 동일한 크기의 블록으로 구분하는 단계 및 상기 비교 데이터의 블록을 상기 필터값과 비교하여 상기 비교 데이터가 상기 원본 데이터에 포함됨을 확인하는 단계를 포함한다.
본 발명에 따르면, 패킷 수집 시스템에서 네트워크를 통해 캡쳐된 패킷의 페이로드를 기설정된 개수의 블록으로 구분하고, 각각의 블록을 블룸 필터(bloom filter)로 필터링하여 생성된 필터값과 상기 패킷의 헤더를 서로 연관하여 저장함으로써 상기 패킷의 저장 크기를 크게 감소시킬 수 있다.
본 발명에 따르면, 비교 데이터의 블록을 구분하고 상기 블록과 상기 블룸 필터를 통해 필터링되어 생성된 필터값을 비교함으로써, 수집된 패킷에서 원하는 정보의 포함 여부를 확인할 수 있다.
본 발명에 따르면, 원본 데이터를 블록으로 나누어 필터링하여 필터값을 생성하고, 비교 데이터를 상기 블록과 동일한 크기의 블록으로 구분하여 비교값을 생성하고, 상기 비교값과 상기 필터값을 비교하여 상기 비교 데이터의 모든 블록에 대해 상기 비교값이 상기 필터값과 일치하는 경우, 상기 비교 데이터가 상기 원본 데이터에 포함됨을 확인함으로써, 긍정 오류의 비율을 감소시킬 수 있다.
이하 첨부된 도면을 참조하여 본 발명에 따른 다양한 실시예를 상세히 설명하기로 한다.
본 발명은 블룸 필터를 이용한 패킷 수집 시스템, 상기 패킷 수집 시스템에서 패킷의 저장 크기를 감소시키는 방법 및 긍정 오류의 비율을 감소시키는 방법에 관한 것으로, 본 발명의 일실시예에 따른 패킷 수집 시스템은 네트워크 전송에 사용되는 패킷을 캡쳐하여 수집할 수 있는 어떠한 위치에서도 사용이 가능하다.
도 1은 버스 형태의 네트워크에 연계된 패킷 수집 시스템의 일례이다. 여기서, 도 1은 다양한 형태의 네트워크 중 일례로, 버스 형태의 네트워크(101)상의 하나의 위치에 존재하는 패킷 수집 시스템(102)을 나타낸다. 이때, 패킷 수집 시스템(102)은 네트워크와 연결된 시스템들간에 통신을 위해 전송되는 패킷들을 캡쳐하여 수집할 수 있다. 예를 들어, 시스템(103)에서 시스템(104)로 또는 시스템(104)에서 시스템(103)으로 전송되는 패킷을 캡쳐할 수 있다.
이와 같이 패킷 수집 시스템을 통해 캡쳐된 패킷들은 네트워크의 품질 측정, 상기 네트워크의 자원 활용 효율성 측정 또는 침입 탐지 등과 같이 다양한 영역에서 활용될 수 있다.
도 2는 본 발명의 일실시예에 있어서, 패킷 수집 시스템의 내부 구성을 설명하기 위한 블록도이다. 도 2에 도시된 바와 같이 본 발명의 일실시예에 따른 패킷 수집 시스템(200)은 패킷 캡쳐부(201), 블록 구분부(202), 필터부(203), 저장 처리부(204) 및 비교부(205)를 포함할 수 있다.
패킷 캡쳐부(201)는 네트워크(210)상에서 전송되는 패킷을 캡쳐한다. 이때, 패킷 캡쳐부(201)는 패킷 스나이핑(packet sniffing) 등과 같이 상기 패킷을 캡쳐하기 위해 알려진 일반적인 모든 방법 중 하나의 방법을 이용하여 상기 패킷을 캡쳐할 수 있다.
블록 구분부(202)는 네트워크(210)로부터 캡쳐된 상기 패킷의 일부분을 기설정된(predetermined) 개수의 블록으로 구분한다. 예를 들어, 상기 패킷은 헤더와 페이로드로 구성될 수 있고, 블록 구분부(202)는 상기 헤더와 상기 페이로드를 분리한 후 상기 페이로드를 상기 블록으로 구분할 수 있다. 이때, 구분되는 블록의 개수와 크기는 사용자의 입력에 따라 결정될 수 있다. 도 3은 페이로드를 6개의 블록으로 구분한 일례이다. 즉, 도 3에 도시된 바와 같이 블록 구분부(202)는 상기 패킷을 헤더(301)와 페이로드(302)로 분리하고, 페이로드(302)를 6 개의 블록(303)으로 구분할 수 있다.
상기 블록의 개수 및 크기에 따라 상기 패킷의 저장 크기는 크게 달라질 수 있고 또한, 상기 블록의 개수는 긍정 오류의 비율에도 영향을 미친다. 이에 대해서는 이후 더욱 자세히 설명한다.
필터부(203)는 상기 블록마다 개별적으로 필터링하여 각각 필터값을 생성한다. 이때, 필터부(203)는 기설정된 수 이하의 긍정 오류(false positive)를 허용하는 블룸 필터(bloom filter)를 통해 상기 블록을 필터링하여 상기 필터값을 생성할 수 있다.
상기 블룸 필터를 통한 필터링 방법은 상기 긍정 오류를 소수 허용함으로써 데이터의 크기를 크게 줄일 수 있는 방법이다. 상기 블룸 필터는 다수의 해쉬 함 수를 사용하여 상기 데이터의 크기를 줄이게 되는데, 입력 데이터의 크기와 상관없이 출력 데이터의 크기는 일정하다. 또한, 출력 데이터의 크기와 해시 함수의 개수에 따라 긍정 오류의 비율이 줄어드는 성향을 가지고 있다. 뿐만 아니라, 블룸 필터는 여러 개의 입력 데이터를 하나의 출력 데이터로 만들 수 있고, 부정 오류(false negative)가 발생하지 않는다는 특징이 있다.
즉, 필터부(203)는 이러한 상기 블룸 필터를 통해 상기 블록 각각을 필터링하여 상기 필터링의 결과인 상기 필터값을 생성할 수 있다. 즉, 이와 같이 생성된 상기 필터값은 상술한 바와 같이 해쉬 함수를 통해 생성되기 때문에 상기 블록보다 그 크기가 감소된다.
저장 처리부(204)는 상기 일부분을 제외한 나머지 부분 및 상기 필터값을 서로 연관하여 저장 공간에 저장한다. 즉, 저장 처리부(204)는 상기 일부분에 해당하는 상기 페이로드의 필터값과 상기 나머지 부분에 해당하는 상기 헤드를 서로 연관하여 상기 저장 공간에 저장할 수 있다. 도 4는 페이로드가 6개의 블록으로 구분된 경우, 저장 공간에 저장되는 패킷의 형태에 대한 일례이다. 즉, 헤더(401)와 6개의 블록으로 구분된 페이로드(402)는 헤더(401)와 상기 블록마다 생성된 필터값들(403)은 서로 연결되어 상기 저장 공간에 저장될 수 있다.
이때, 상기 저장 공간은 도 2에 도시된 바와 같이 패킷 수집 시스템(200)과 연동된 데이터베이스(220) 또는 패킷 수집 시스템(200)에 포함된 데이터베이스와 같은 저장 장치를 의미할 수 있다.
표 1은 TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol) 패킷을 대상으로 필터값의 저장 크기를 변경하여 수집한 결과이다.
저장 크기 수행 횟수 원본 저장 크기 필터값 저장 크기 크기 비율
50 1 19,308,860 1,221,816 15.80
2 19,857,137 988,581 20.08
3 12,613,160 755,296 16.69
4 95,277,544 1,814,741 52.50
5 12,915,376 512,096 25.22
6 15,936,192 556,286 28.64
평균 26.49
75 1 24,884,669 1,040,011 23.92
2 26,007,991 1,217,546 21.36
3 154,105,162 4,295,301 35.87
4 35,227,625 1,375,681 25.60
5 71,575,813 2,281,841 31.36
6 16,030,356 1,934,861 8.28
평균 24.40
여기서, 상기 패킷의 페이로드는 20바이트 크기의 블록으로 구분하였으며, 상기 필터값의 저장 크기는 각각 50바이트 및 75바이트이다. 상기 표 1은 본 발명의 일실시예에 따른 패킷 수집 시스템을 통해 상기 블룸 필터를 통해 캡쳐된 패킷을 필터링함으로써 설정에 따라 10배 이상의 저장 크기를 절감할 수 있음을 보여준다.
비교부(205)는 비교 데이터와 상기 필터값을 비교하여 상기 비교 데이터의 상기 패킷에 대한 포함 여부를 확인한다. 수집된 패킷은 필터링 과정에서 원본 데이터의 정보를 상실하고, 데이터의 포함 여부만을 알 수 있게 된다. 하지만, 일반적으로 원본 데이터에서 사용하는 대부분의 정보는 필터링하지 않은 헤더에 포함되어 있다. 따라서, 필터링 된 패킷에서 원하는 정보가 포함되어 있는지 여부를 알기 위해서는, 패킷 수집과정과 유사한 과정을 거쳐 패킷을 검색해야 한다.
이때, 비교부(205)는 상기 비교 데이터에 기초하여 비교값을 생성하고, 상기 필터값과 상기 비교값을 비교함으로써 상기 원본 데이터에 상기 비교 데이터가 포함되었는지 여부를 확인할 수 있다. 이를 위해, 비교부(205)는 상기 비교 데이터를 상기 블록과 동일한 크기의 블록으로 나누고, 상기 나누어진 블록 각각을 필터링하여 비교값을 생성하는 비교값 생성부(미도시) 및 상기 비교값과 상기 필터값을 비교하여 모든 블록에 대해 상기 비교값이 상기 필터값과 일치하는 경우, 상기 비교 데이터가 상기 패킷에 포함됨을 확인하는 포함 여부 확인부(미도시)를 포함할 수 있다. 여기서, 상기 나누어진 블록 각각에 대한 필터링은 상기 필터값의 생성 시 사용된 것과 동일한 블룸 필터가 이용될 수 있다.
도 5는 페이로드와 필터값 그리고 비교 데이터간의 관계를 나타내는 일례이다. 즉, 6개의 블록으로 구분된 원본 데이터(501)는 상기 블룸 필터를 통해 필터링되어 필터값(502)의 형태로 저장되어 있고, 비교부(205)는 비교 데이터(503)를 블록화하고, 각각의 블록을 필터링하여 생성된 비교값과 필터값(502)과의 일치 여부를 확인한다. 이 경우, 비교 데이터(503)의 모든 블록에 대해 상기 비교값이 필터값(502)과 일치하면 비교 데이터(503)가 원본 데이터(501)에 포함됨을 확인할 수 있다.
상술한 일실시예에서 이러한 비교부(205)는 패킷 수집 시스템(200)에 포함되었지만, 패킷 수집 시스템(200)이 아닌, 수집된 상기 패킷을 이용하고자 하는 다른 시스템에 포함될 수도 있다. 이와 같이, 수집된 패킷을 검색하는 패킷 검색 시스템에 대해서 도 7을 통해 더욱 자세히 설명한다.
도 6은 본 발명의 일실시예에 있어서, 패킷 저장 크기 감소 방법을 도시한 흐름도이다.
단계(S601)에서 패킷을 수집하는 패킷 수집 시스템은 네트워크로부터 캡쳐된 패킷의 일부분을 기설정된 개수의 블록으로 구분한다. 이때, 상기 패킷은 헤더 및 페이로드로 구성될 수 있고, 상기 패킷 수집 시스템은 상기 패킷이 상기 네트워크로부터 캡쳐되면, 우선 상기 패킷에서 상기 헤더 및 상기 페이로드를 분리하고, 상기 페이로드를 상기 일부분으로서 상기 블록으로 구분할 수 있다. 이때, 상기 블록의 크기는 기설정되거나 또는 사용자로부터의 입력에 따라 설정될 수 있다.
단계(S602)에서 상기 패킷 수집 시스템은 상기 블록마다 필터를 통해 개별적으로 필터링하여 각각 필터값을 생성한다. 여기서, 상기 필터는 기설정된 수 이하의 긍정 오류를 허용하는 블룸 필터를 포함할 수 있다. 상술한 바와 같이 상기 블룸 필터는 다양한 해쉬 함수를 통해 상기 필터값을 생성하기 때문에 상기 필터값 각각은 상기 블록 각각보다 그 크기가 감소한다.
단계(S603)에서 상기 패킷 수집 시스템은 상기 일부분을 제외한 나머지 부분 및 상기 필터값을 서로 연관하여 저장 공간에 저장한다. 이때, 상기 패킷 수집 시스템은 상기 일부분에 해당하는 페이로드의 필터값과 상기 나머지 부분에 해당하는 헤드를 서로 연관하여 상기 저장 공간에 저장할 수 있다.
도 7은 본 발명의 일실시예에 있어서, 패킷 검색 시스템의 내부 구성을 설명하기 위한 블록도이다. 여기서, 패킷 검색 시스템(700)은 필터값 추출부(701), 블록 구분부(702) 및 비교부(703)를 포함한다.
필터값 추출부(701)는 데이터베이스로부터 원본 데이터에 대한 필터값을 추출한다. 예를 들어, 도 7에 도시된 바와 같이 상기 데이터베이스는 도 2를 통해 설명한 데이터베이스(220)가 이용될 수 있다. 즉, 패킷 수집 시스템(200)에 의해 패킷에 대한 필터값이 생성되어 데이터베이스(220)에 저장된 후, 필터값 추출부(701)는 패킷에 대한 검색이 진행될 때, 연동된 데이터베이스(220)로부터 해당하는 필터값을 추출할 수 있다.
블록 구분부(702)는 비교 데이터의 블록을 구분한다. 이때, 상기 원본 데이터와 상기 비교 데이터는 서로 동일한 크기의 블록으로 구분될 수 있고, 상기 필터값은 상기 원본 데이터의 블록마다 블룸 필터를 통해 개별적으로 필터링하여 생성된 값을 의미할 수 있다. 예를 들어, 상기 원본 데이터는 도 2를 통해 설명한 페이로드를 의미할 수 있고, 블록 구분부(702)는 패킷 수집 시스템(200)에서 상기 원본 데이터를 기설정된 개수의 블록으로 구분할 때 설정된 상기 블록의 크기와 동일한 크기의 블록으로 상기 비교 데이터의 블록을 구분할 수 있다.
비교부(703)는 비교 데이터와 상기 필터값을 비교하여 상기 비교 데이터의 상기 원본 데이터에 대한 포함 여부를 확인한다. 이때, 비교부(703)는 상기 구분된 블록 각각을 필터링하여 생성된 비교값과 상기 필터값을 비교하여 모든 블록에 대해 상기 비교값이 상기 필터값과 일치하는 경우, 상기 비교 데이터가 상기 원본 데이터에 포함됨을 확인할 수 있다. 즉, 필터링 된 원본 데이터에 원하는 정보인 상기 비교 데이터가 포함되어 있음을 확인할 수 있다.
도 8은 본 발명의 일실시예에 있어서, 긍정 오류 비율 감소 방법을 도시한 흐름도이다.
단계(S801)에서 패킷을 수집하는 패킷 수집 시스템은 원본 데이터를 기설정된 개수의 블록으로 구분하고 블룸 필터를 적용하여 상기 블록마다 필터값을 생성한다. 이때, 상기 원본 데이터는 네트워크로부터 캡쳐된 패킷을 포함할 수 있고 이 경우, 상기 원본 데이터에서 구분되는 블록의 크기, 개수 및 상기 필터값의 크기는 사용자로부터의 입력에 따라 결정될 수 있다.
단계(S802)에서 상기 패킷 수집 시스템은 비교 데이터를 상기 블록과 동일한 크기의 블록으로 구분한다. 즉, 상기 패킷 수집 시스템은 필터링된 상기 패킷에 원하는 정보인 상기 비교 데이터가 포함되어 있는지 여부를 확인하기 위해 우선 단계(S702)와 같이 상기 비교 데이터를 단계(S701)에서와 동일한 방법으로 블록화할 수 있다.
단계(S803)에서 상기 패킷 수집 시스템은 상기 비교 데이터의 블록을 상기 필터값과 비교하여 상기 비교 데이터가 상기 원본 데이터에 포함됨을 확인한다. 이때, 상기 패킷 수집 시스템은 상기 비교 데이터의 블록 각각을 필터링하여 비교값을 생성하고, 상기 비교값과 상기 필터값을 비교하여 모든 블록에 대해 상기 비교값이 상기 필터값과 일치하는 경우, 상기 비교 데이터가 상기 원본 데이터에 포함됨을 확인할 수 있다.
이때, 상기 원본 데이터 또는 상기 비교 데이터에 대한 필터링을 통해 발생하는 긍정 오류는 상기 블록의 구분을 통해 매우 작은 수치로 낮아진다. 도 9는 4개의 블록으로 구분되어 필터링 된 데이터의 일례이다. 즉, 전체 데이터(900)에서 블록 'A'(901)의 값이 포함되어 있는지를 판단할 때, 긍정 오류가 발생할 확률을 'FP'(상기 'FP'는 0이상 1이하)라 가정한다. 이때, 블록 'B'(902), 블록 'C'(903) 및 블록 'D'(904)도 상기 긍정 오류가 발생할 확률이 각각 블록 'A'(901)와 동일하게 상기 'FP'가 된다. 이때, 일반적으로 상기 'FP'는 매우 높은 값을 갖는다. 예를 들어, 상기 'FP'가 0.1이면 10번 중 1번은 오류가 발생하게 되는 것이다. 그러나, 각 블록의 'FP'는 매우 높지만, 모든 블록이 일치할 확률은 블록의 개수에 따라 크게 낮아지게 된다. 즉, 상기 'FP'가 0.1과 같이 매우 높은 값을 갖는다 하더라도, 모든 블록이 일치하는지를 판단하는 경우에서 전체 데이터(900)에서 'FP'의 값은 '(0.1)4 = 0.0001'로 매우 작은 값을 가지게 된다.
이와 같이, 본 발명의 일실시예에 따른 긍정 오류 비율 감소 방법에 따르면, 원본 데이터를 블록으로 나누어 필터링하여 필터값을 생성하고, 비교 데이터를 상기 블록과 동일한 크기의 블록으로 구분하여 상기 비교 데이터의 모든 블록이 상기 필터값과 일치하는 경우, 상기 비교 데이터가 상기 원본 데이터에 포함됨을 확인함으로써, 긍정 오류의 비율을 감소시킬 수 있다.
본 발명에 따른 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(Floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
도 1은 패킷 수집 시스템의 개괄적인 모습을 도시한 일례이다.
도 2는 본 발명의 일실시예에 있어서, 패킷 수집 시스템의 내부 구성을 설명하기 위한 블록도이다.
도 3은 페이로드를 6개의 블록으로 구분한 일례이다.
도 4는 페이로드가 6개의 블록으로 구분된 경우, 저장 공간에 저장되는 패킷의 형태에 대한 일례이다.
도 5는 페이로드와 필터값 그리고 비교 데이터간의 관계를 나타내는 일례이다.
도 6은 본 발명의 일실시예에 있어서, 패킷 저장 크기 감소 방법을 도시한 흐름도이다.
도 7은 본 발명의 일실시예에 있어서, 패킷 검색 시스템의 내부 구성을 설명하기 위한 블록도이다.
도 8은 본 발명의 일실시예에 있어서, 긍정 오류 비율 감소 방법을 도시한 흐름도이다.
도 9는 4개의 블록으로 구분되어 필터링 된 데이터의 일례이다.
<도면의 주요 부분에 대한 부호의 설명>
200: 패킷 수집 시스템
201: 패킷 캡쳐부
202: 블록 구분부
203: 필터부
204: 저장 처리부
205: 비교부

Claims (17)

  1. 네트워크로부터 캡쳐된 패킷의 일부분을 기설정된(predetermined) 개수의 블록으로 구분하는 블록 구분부;
    블룸 필터(bloom filter)를 통해 상기 블록마다 개별적으로 필터링하여 각각 필터값을 생성하는 필터부; 및
    상기 일부분을 제외한 나머지 부분 및 상기 필터값을 서로 연관하여 저장 공간에 저장하는 저장 처리부
    를 포함하는 패킷 수집 시스템.
  2. 제1항에 있어서,
    상기 패킷은 헤더 및 페이로드로 구성되고,
    상기 블록 구분부는,
    상기 패킷에서 상기 헤더 및 상기 페이로드를 분리하고, 상기 페이로드를 상기 일부분으로서 상기 블록으로 구분하는 것을 특징으로 하는 패킷 수집 시스템.
  3. 제1항에 있어서,
    상기 블룸 필터는 기설정된 수 이하의 긍정 오류(false positive)를 허용하는 것을 특징으로 하는 패킷 수집 시스템.
  4. 제1항에 있어서,
    상기 패킷은 헤드 및 페이로드로 구성되고,
    상기 저장 처리부는,
    상기 일부분에 해당하는 페이로드의 필터값과 상기 나머지 부분에 해당하는 헤드를 서로 연관하여 상기 저장 공간에 저장하는 것을 특징으로 하는 패킷 수집 시스템.
  5. 제1항에 있어서,
    비교 데이터와 상기 필터값을 비교하여 상기 비교 데이터의 상기 패킷에 대한 포함 여부를 확인하는 비교부
    를 더 포함하는 패킷 수집 시스템.
  6. 제5항에 있어서,
    상기 비교부는,
    상기 비교 데이터를 상기 블록과 동일한 크기의 블록으로 나누고, 상기 나누어진 블록 각각을 필터링하여 비교값을 생성하는 비교값 생성부; 및
    상기 비교값과 상기 필터값을 비교하여 모든 블록에 대해 상기 비교값이 상기 필터값과 일치하는 경우, 상기 비교 데이터가 상기 패킷에 포함됨을 확인하는 포함 여부 확인부
    를 포함하는 것을 특징으로 하는 패킷 수집 시스템.
  7. 블룸 필터를 통해 원본 데이터에 대해 생성된 필터값을 데이터베이스로부터 추출하는 필터값 추출부;
    비교 데이터의 블록을 구분하는 블록 구분부; 및
    비교 데이터와 상기 필터값을 비교하여 상기 비교 데이터의 상기 원본 데이터에 대한 포함 여부를 확인하는 비교부
    를 포함하는 패킷 검색 시스템.
  8. 제7항에 있어서,
    상기 원본 데이터는 상기 블록과 동일한 크기의 블록으로 구분되고,
    상기 필터값은 상기 원본 데이터의 블록마다 블룸 필터를 통해 개별적으로 필터링하여 생성되는 것을 특징으로 하는 패킷 검색 시스템.
  9. 제7항에 있어서,
    상기 비교부는,
    상기 구분된 블록 각각을 필터링하여 생성된 비교값과 상기 필터값을 비교하여 모든 블록에 대해 상기 비교값이 상기 필터값과 일치하는 경우, 상기 비교 데이터가 상기 원본 데이터에 포함됨을 확인하는 것을 특징으로 하는 패킷 검색 시스템.
  10. 네트워크로부터 캡쳐된 패킷의 일부분을 기설정된 개수의 블록으로 구분하는 단계;
    상기 블록마다 블룸 필터를 통해 개별적으로 필터링하여 각각 필터값을 생성하는 단계; 및
    상기 일부분을 제외한 나머지 부분 및 상기 필터값을 서로 연관하여 저장 공간에 저장하는 단계
    를 포함하는 패킷 저장 크기 감소 방법.
  11. 제10항에 있어서,
    상기 패킷은 헤더 및 페이로드로 구성되고,
    네트워크로부터 캡쳐된 패킷의 일부분을 기설정된 개수의 블록으로 구분하는 상기 단계는,
    상기 패킷에서 상기 헤더 및 상기 페이로드를 분리하고, 상기 페이로드를 상기 일부분으로서 상기 블록으로 구분하는 단계를 포함하는 것을 특징으로 하는 패킷 저장 크기 감소 방법.
  12. 제10항에 있어서,
    상기 블룸 필터는 기설정된 수 이하의 긍정 오류를 허용하는 블룸 필터를 포함하는 것을 특징으로 하는 패킷 저장 크기 감소 방법.
  13. 제10항에 있어서,
    상기 패킷은 헤드 및 페이로드로 구성되고,
    상기 일부분을 제외한 나머지 부분 및 상기 필터값을 서로 연관하여 저장 공간에 저장하는 상기 단계는,
    상기 일부분에 해당하는 페이로드의 필터값과 상기 나머지 부분에 해당하는 헤드를 서로 연관하여 상기 저장 공간에 저장하는 것을 특징으로 하는 패킷 저장 크기 감소 방법.
  14. 원본 데이터를 기설정된 개수의 블록으로 구분하고 블룸 필터를 적용하여 상기 블록마다 필터값을 생성하는 단계;
    비교 데이터를 상기 블록과 동일한 크기의 블록으로 구분하는 단계; 및
    상기 비교 데이터의 블록을 상기 필터값과 비교하여 상기 비교 데이터가 상기 원본 데이터에 포함됨을 확인하는 단계
    를 포함하는 긍정 오류 비율 감소 방법.
  15. 제14항에 있어서,
    상기 비교 데이터의 블록을 상기 필터값과 비교하여 상기 비교 데이터가 상기 원본 데이터에 포함됨을 확인하는 상기 단계는,
    상기 비교 데이터의 블록 각각을 필터링하여 비교값을 생성하는 단계; 및
    상기 비교값과 상기 필터값을 비교하여 모든 블록에 대해 상기 비교값이 상 기 필터값과 일치하는 경우, 상기 비교 데이터가 상기 원본 데이터에 포함됨을 확인하는 단계
    를 포함하는 긍정 오류 비율 감소 방법.
  16. 제14항에 있어서,
    상기 원본 데이터는 네트워크로부터 캡쳐된 패킷을 포함하고,
    상기 원본 데이터에서 구분되는 블록의 크기, 개수 및 상기 필터값의 크기는 사용자로부터의 입력에 따라 결정되는 것을 특징으로 하는 긍정 오류 비율 감소 방법.
  17. 제10항 내지 제16항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.
KR1020070122353A 2007-11-28 2007-11-28 블룸 필터를 이용한 패킷 수집 시스템, 상기 패킷 수집시스템에서 패킷의 저장 크기를 감소시키는 방법, 패킷검색 시스템 및 긍정 오류의 비율을 감소시키는 방법 KR100931796B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070122353A KR100931796B1 (ko) 2007-11-28 2007-11-28 블룸 필터를 이용한 패킷 수집 시스템, 상기 패킷 수집시스템에서 패킷의 저장 크기를 감소시키는 방법, 패킷검색 시스템 및 긍정 오류의 비율을 감소시키는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070122353A KR100931796B1 (ko) 2007-11-28 2007-11-28 블룸 필터를 이용한 패킷 수집 시스템, 상기 패킷 수집시스템에서 패킷의 저장 크기를 감소시키는 방법, 패킷검색 시스템 및 긍정 오류의 비율을 감소시키는 방법

Publications (2)

Publication Number Publication Date
KR20090055430A KR20090055430A (ko) 2009-06-02
KR100931796B1 true KR100931796B1 (ko) 2009-12-14

Family

ID=40987097

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070122353A KR100931796B1 (ko) 2007-11-28 2007-11-28 블룸 필터를 이용한 패킷 수집 시스템, 상기 패킷 수집시스템에서 패킷의 저장 크기를 감소시키는 방법, 패킷검색 시스템 및 긍정 오류의 비율을 감소시키는 방법

Country Status (1)

Country Link
KR (1) KR100931796B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050086520A1 (en) 2003-08-14 2005-04-21 Sarang Dharmapurikar Method and apparatus for detecting predefined signatures in packet payload using bloom filters
US20050195832A1 (en) 2004-02-09 2005-09-08 Washington University Method and system for performing longest prefix matching for network address lookup using bloom filters

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050086520A1 (en) 2003-08-14 2005-04-21 Sarang Dharmapurikar Method and apparatus for detecting predefined signatures in packet payload using bloom filters
US20050195832A1 (en) 2004-02-09 2005-09-08 Washington University Method and system for performing longest prefix matching for network address lookup using bloom filters

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Bloom, Burton H., "Space/Time Trade-Offs in Hash Coding with Allowable Errors", Communications of the ACM, Vol. 13, No.7 (ACM July 1970): pp. 422-426.
K. Shanmugasundaram, et al., "Payload Attribution via Hierarchical Bloom Filters," in ACM CCS 2004, Washington DC, USA, Oct. 2004.

Also Published As

Publication number Publication date
KR20090055430A (ko) 2009-06-02

Similar Documents

Publication Publication Date Title
US8650646B2 (en) System and method for optimization of security traffic monitoring
US10218598B2 (en) Automatic parsing of binary-based application protocols using network traffic
EP2434689B1 (en) Method and apparatus for detecting message
US9806974B2 (en) Efficient acquisition of sensor data in an automated manner
US9210090B1 (en) Efficient storage and flexible retrieval of full packets captured from network traffic
EP2472786B1 (en) Automatic signature generation for application recognition and user tracking over heterogeneous networks
CN112994984B (zh) 识别协议及内容的方法、存储设备、安全网关、服务器
US20170034195A1 (en) Apparatus and method for detecting abnormal connection behavior based on analysis of network data
CN101697520B (zh) 一种系统日志的处理方法和装置
JP5633647B2 (ja) 映像処理システム、映像処理方法、映像処理用データベースの作成方法とそのデータベース、映像処理装置およびその制御方法と制御プログラム
CN105635170A (zh) 基于规则对网络数据包进行识别的方法和装置
CN110543584B (zh) 一种建立人脸索引的方法、装置、处理服务器及存储介质
CN101783786B (zh) 数据包过滤方法和装置
US11972334B2 (en) Method and apparatus for generating a combined isolation forest model for detecting anomalies in data
CN112486914A (zh) 一种数据包存储与快查方法与系统
KR100931796B1 (ko) 블룸 필터를 이용한 패킷 수집 시스템, 상기 패킷 수집시스템에서 패킷의 저장 크기를 감소시키는 방법, 패킷검색 시스템 및 긍정 오류의 비율을 감소시키는 방법
CN106708876B (zh) 一种基于Lucene的相似视频检索方法及系统
KR101938730B1 (ko) SQLite 데이터베이스의 비정상 페이지와 저널 파일에서의 삭제된 레코드 복구 방법, 그 방법을 수행하는 장치 및 컴퓨터 프로그램
US11765088B2 (en) Method and system for processing data flow with incomplete comparison process
KR101200773B1 (ko) 하둡 맵리듀스에서 네트워크 패킷 분석을 위한 입력포맷 추출방법
CN116233317A (zh) 面向网络流量的实时VoLTE语音还原、检测方法和装置
CN114157611A (zh) 一种报文去重方法、装置及存储介质
KR100860414B1 (ko) 네트워크 공격 시그너처 생성 방법 및 장치
KR102447130B1 (ko) 네트워크 패킷 분석 기반의 대상파일 검출 장치 및 방법
KR20240067772A (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: 20121011

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130930

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141008

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20151012

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee