KR20220060842A - 네트워크 패킷 분석 기반의 대상파일 검출 장치 및 방법 - Google Patents
네트워크 패킷 분석 기반의 대상파일 검출 장치 및 방법 Download PDFInfo
- Publication number
- KR20220060842A KR20220060842A KR1020200146907A KR20200146907A KR20220060842A KR 20220060842 A KR20220060842 A KR 20220060842A KR 1020200146907 A KR1020200146907 A KR 1020200146907A KR 20200146907 A KR20200146907 A KR 20200146907A KR 20220060842 A KR20220060842 A KR 20220060842A
- Authority
- KR
- South Korea
- Prior art keywords
- chunk
- target file
- packet
- detection target
- file
- Prior art date
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 139
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000008569 process Effects 0.000 description 14
- 230000006854 communication Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/144—Query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
- G06F16/1752—De-duplication implemented within the file system, e.g. based on file segments based on file chunks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/43—Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/27—Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 네트워크 패킷 분석 기반의 대상파일 검출 장치 및 방법에 관한 것으로, 상기 장치는 검출대상파일에 관해 청킹 연산을 수행하여 적어도 하나의 파일 청크를 생성하고, 상기 적어도 하나의 파일 청크 각각을 검출대상 파일코드로서 역인덱싱하는 역인덱싱 데이터베이스부; 네트워크 패킷을 수신하는 네트워크 패킷 수신부; 상기 네트워크 패킷에 관해 청킹 연산을 수행하여 적어도 하나의 패킷 청크를 생성하는 패킷 청크 처리부; 상기 적어도 하나의 패킷 청크 각각에 관한 패킷 청크 질의어를 생성하고 상기 패킷 청크 질의어를 상기 역인덱싱 데이터베이스부에 제공하여 상기 검출대상 파일코드를 수신하는 청크 질의부; 및 상기 수신된 검출대상 파일코드를 기초로 상기 네트워크 패킷에 있는 가장 가능성 높은 검출대상 파일코드를 결정하는 파일코드 결정부를 포함한다.
Description
본 발명은 보이는 네트워크 트래픽 내 유사 파일 검출 기술에 관한 것으로, 보다 상세하게는 네트워크 패킷을 내용기반청킹 알고리즘으로 청킹하여 역인덱스 DB에서 검색하는 네트워크 패킷 분석 기반의 대상파일 검출 장치 및 방법에 관한 것이다.
네트워크 보안을 위해 네트워크 트래픽을 캡처하고, 캡처한 데이터를 분석해 네트워크 트래픽 또는 발생 가능한 악의적 활동과 관련된 문제를 식별할 필요가 있다. 특히, 네트워크 트래픽을 통해 전송되는 데이터를 분석하는 방법 중 패킷 레벨에서 파일의 특정 정보를 수집하고 이를 통해 유사파일을 검출하는 방법이 사용될 수 있다.
기존에는 Zeek(bro) 등을 통해 파일 추출을 수행하였으며, 추출된 파일로부터 md5 또는 ssdeep를 구하여 보유한 DB를 검색하는 방식으로 유사 파일을 검출하는 동작을 수행하였다.
다만, 이러한 방식은 세션 내 패킷이 하나라도 유실될 경우 제대로 된 파일 추출이 불가능하고, 세션의 패킷을 완벽히 수집하였더라도 zeek이 파싱하지 못하는 프로토콜이나 파일 타입일 경우 파일 추출이 불가능하다는 문제가 존재하였다. 또한, 추출된 파일의 md5를 DB에 검색하여도 완전히 동일한 파일이 아닐 경우 검색되지 않을 가능성이 있으며, ssdeep 해시를 바탕으로 유사도 검색을 하기 위해서는 n개의 파일을 전부 비교해야 하는 시간적 부담이 존재한다.
본 발명의 일 실시예는 네트워크 패킷을 내용기반청킹 알고리즘으로 청킹하여 역인덱스 DB에서 검색하는 네트워크 패킷 분석 기반의 대상파일 검출 장치 및 방법을 제공하고자 한다.
본 발명의 일 실시예는 로우(Raw) 패킷에 적용 가능하여 헤더(header)와 바디(body) 등으로 파싱하는 전처리 과정이 불필요하고 역인덱스 방식을 사용하여 매우 빠르게 유사파일을 검색할 수 있는 네트워크 패킷 분석 기반의 대상파일 검출 장치 및 방법을 제공하고자 한다.
실시예들 중에서, 네트워크 패킷 분석 기반의 대상파일 검출 장치는 검출대상파일에 관해 청킹 연산을 수행하여 적어도 하나의 파일 청크를 생성하고, 상기 적어도 하나의 파일 청크 각각을 검출대상 파일코드로서 역인덱싱하는 역인덱싱 데이터베이스부; 네트워크 패킷을 수신하는 네트워크 패킷 수신부; 상기 네트워크 패킷에 관해 청킹 연산을 수행하여 적어도 하나의 패킷 청크를 생성하는 패킷 청크 처리부; 상기 적어도 하나의 패킷 청크 각각에 관한 패킷 청크 질의어를 생성하고 상기 패킷 청크 질의어를 상기 역인덱싱 데이터베이스부에 제공하여 상기 검출대상 파일코드를 수신하는 청크 질의부; 및 상기 수신된 검출대상 파일코드를 기초로 상기 네트워크 패킷에 있는 가장 가능성 높은 검출대상 파일코드를 결정하는 파일코드 결정부를 포함한다.
상기 역인덱싱 데이터베이스부는 상기 검출대상파일에 관해 AE 청킹(Asymmetric Extremum Chunking)을 수행할 수 있다.
상기 역인덱싱 데이터베이스부는 상기 검출대상파일의 로컬 범위에서 검출된 극값과 지정 윈도우 사이즈를 기준으로 문자열을 청킹할 수 있다.
상기 역인덱싱 데이터베이스부는 상기 윈도우 사이즈 내에 신규 극값이 검출되지 않는 경우에는 해당 파일 청크를 생성할 수 있다.
상기 역인덱싱 데이터베이스부는 상기 윈도우 사이즈 내에 신규 극값이 검출되는 경우에는 상기 해당 파일 청크의 생성을 보류할 수 있다.
상기 역인덱싱 데이터베이스부는 상기 적어도 하나의 파일 청크 각각에 관한 청크 비트맵을 생성하고 상기 청크 비트맵을 상기 검출대상 파일코드와 연관 저장할 수 있다.
상기 패킷 청크 처리부는 상기 네트워크 패킷의 오류 유무에 관계없이 지속적으로 수신되는 일련의 네트워크 패킷을 독립적으로 처리할 수 있다.
상기 패킷 청크 처리부는 상기 일련의 네트워크 패킷 중 특정 네트워크 패킷에 오류가 특정 기준 이상이면 상기 특정 네트워크 패킷의 검출대상 파일코드를 인접 네트워크 패킷의 인접 검출대상 파일코드를 기초로 추정할 수 있다.
상기 청크 질의부는 상기 적어도 하나의 패킷 청크 각각에 관한 패킷 청크 비트맵을 생성하고 상기 패킷 청크 비트맵을 기초로 상기 검출대상 파일코드를 수신할 수 있다.
상기 파일코드 결정부는 상기 적어도 하나의 패킷 청크 각각의 검출대상 파일코드에서 가장 빈도수가 높은 검출대상 파일코드를 상기 가장 가능성 높은 검출대상 파일코드로서 결정할 수 있다.
상기 파일코드 결정부는 상기 가장 빈도수가 높은 검출대상 파일코드가 과반 이상인 경우에는 상기 가장 가능성 높은 검출대상 파일코드를 결정할 수 있다.
상기 파일코드 결정부는 상기 가장 빈도수가 높은 검출대상 파일코드가 과반 미만인 경우에는 인접 네트워크 패킷을 함께 고려하여 상기 가장 가능성 높은 검출대상 파일코드를 결정할 수 있다.
실시예들 중에서, 네트워크 패킷 분석 기반의 대상파일 검출 방법은 검출대상파일에 관해 청킹 연산을 수행하여 적어도 하나의 파일 청크를 생성하고, 상기 적어도 하나의 파일 청크 각각을 검출대상 파일코드로서 역인덱싱하는 단계; 네트워크 패킷을 수신하는 단계; 상기 네트워크 패킷에 관해 청킹 연산을 수행하여 적어도 하나의 패킷 청크를 생성하는 단계; 상기 적어도 하나의 패킷 청크 각각에 관한 패킷 청크 질의어를 생성하고 상기 패킷 청크 질의어를 상기 역인덱싱 데이터베이스부에 제공하여 상기 검출대상 파일코드를 수신하는 단계; 및 상기 수신된 검출대상 파일코드를 기초로 상기 네트워크 패킷에 있는 가장 가능성 높은 검출대상 파일코드를 결정하는 단계를 포함한다.
상기 역인덱싱하는 단계는 상기 적어도 하나의 파일 청크 각각에 관한 청크 비트맵을 생성하고 상기 청크 비트맵을 상기 검출대상 파일코드와 연관 저장하는 단계를 포함할 수 있다.
상기 검출대상 파일코드를 수신하는 단계는 상기 적어도 하나의 패킷 청크 각각에 관한 패킷 청크 비트맵을 생성하고 상기 패킷 청크 비트맵을 기초로 상기 검출대상 파일코드를 수신하는 단계를 포함할 수 있다.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
본 발명의 일 실시예에 따른 네트워크 패킷 분석 기반의 대상파일 검출 장치 및 방법은 네트워크 패킷을 내용기반청킹 알고리즘으로 청킹하여 역인덱스 DB에서 검색할 수 있다.
본 발명의 일 실시예에 따른 네트워크 패킷 분석 기반의 대상파일 검출 장치 및 방법은 로우(Raw) 패킷에 적용 가능하여 헤더(header)와 바디(body) 등으로 파싱하는 전처리 과정이 불필요하고 역인덱스 방식을 사용하여 매우 빠르게 유사파일을 검색할 수 있다.
도 1은 본 발명에 따른 대상파일 검출 시스템을 설명하는 도면이다.
도 2는 도 1의 대상파일 검출 장치의 시스템 구성을 설명하는 도면이다.
도 3은 도 1의 대상파일 검출 장치의 기능적 구성을 설명하는 도면이다.
도 4는 본 발명에 따른 네트워크 패킷 분석 기반의 대상파일 검출 과정을 설명하는 순서도이다.
도 5는 본 발명에 따른 대상파일 검출을 위한 동적 청킹 동작을 설명하는 도면이다.
도 6은 본 발명에 따른 네트워크 패킷 분석 기반의 대상파일 검출 과정을 설명하는 도면이다.
도 2는 도 1의 대상파일 검출 장치의 시스템 구성을 설명하는 도면이다.
도 3은 도 1의 대상파일 검출 장치의 기능적 구성을 설명하는 도면이다.
도 4는 본 발명에 따른 네트워크 패킷 분석 기반의 대상파일 검출 과정을 설명하는 순서도이다.
도 5는 본 발명에 따른 대상파일 검출을 위한 동적 청킹 동작을 설명하는 도면이다.
도 6은 본 발명에 따른 네트워크 패킷 분석 기반의 대상파일 검출 과정을 설명하는 도면이다.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
도 1은 본 발명에 따른 대상파일 검출 시스템을 설명하는 도면이다.
도 1을 참조하면, 대상파일 검출 시스템(100)은 사용자 단말(110), 대상파일 검출 장치(130) 및 데이터베이스(150)를 포함할 수 있다.
사용자 단말(110)은 네트워크를 이용하여 파일 처리를 위한 데이터 통신을 수행할 수 있는 컴퓨팅 장치에 해당할 수 있고, 스마트폰, 노트북 또는 컴퓨터로 구현될 수 있으며, 반드시 이에 한정되지 않고, 태블릿 PC 등 다양한 디바이스로도 구현될 수 있다. 사용자 단말(110)은 대상파일 검출 장치(130)와 네트워크를 통해 연결될 수 있고, 복수의 사용자 단말(110)들은 대상파일 검출 장치(130)와 동시에 연결될 수 있다.
대상파일 검출 장치(130)는 사용자 단말(110)과 네트워크를 통해 연결될 수 있으며, 데이터 통신 과정에서 전송되는 네트워크 패킷에 관한 분석을 통해 기 설정된 유사파일을 대상파일로서 검출할 수 있는 컴퓨터 또는 프로그램에 해당하는 서버로 구현될 수 있다. 대상파일 검출 장치(130)는 사용자 단말(110)과 네트워크를 통해 연결될 수 있고 정보를 주고받을 수 있다. 일 실시예에서, 대상파일 검출 장치(130)는 데이터베이스(150)와 연동하여 네트워크 모니터링을 위해 필요한 데이터를 저장할 수 있다.
데이터베이스(150)는 대상파일 검출 장치(130)의 동작 과정에서 필요한 다양한 정보들을 저장하는 저장장치에 해당할 수 있다. 데이터베이스(150)는 파일 검출을 위한 역인덱스 DB를 저장할 수 있고, 특정 사용자 단말(110)과 연관되는 네트워크 패킷에 관한 정보를 저장할 수 있으며, 반드시 이에 한정되지 않고, 대상파일 검출 장치(130)가 네트워크 패킷 분석을 통해 대상파일과 유사한 파일을 검출하는 과정에서 다양한 형태로 수집 또는 가공된 정보들을 저장할 수 있다.
도 2는 도 1의 대상파일 검출 장치의 시스템 구성을 설명하는 도면이다.
도 2를 참조하면, 대상파일 검출 장치(130)는 프로세서(210), 메모리(230), 사용자 입출력부(250) 및 네트워크 입출력부(270)를 포함할 수 있다.
프로세서(210)는 대상파일 검출 장치(130)가 동작하는 과정에서의 각 단계들을 처리하는 프로시저를 실행할 수 있고, 그 과정 전반에서 읽혀지거나 작성되는 메모리(230)를 관리할 수 있으며, 메모리(230)에 있는 휘발성 메모리와 비휘발성 메모리 간의 동기화 시간을 스케줄할 수 있다. 프로세서(210)는 대상파일 검출 장치(130)의 동작 전반을 제어할 수 있고, 메모리(230), 사용자 입출력부(250) 및 네트워크 입출력부(270)와 전기적으로 연결되어 이들 간의 데이터 흐름을 제어할 수 있다. 프로세서(210)는 대상파일 검출 장치(130)의 CPU(Central Processing Unit)로 구현될 수 있다.
메모리(230)는 SSD(Solid State Drive) 또는 HDD(Hard Disk Drive)와 같은 비휘발성 메모리로 구현되어 대상파일 검출 장치(130)에 필요한 데이터 전반을 저장하는데 사용되는 보조기억장치를 포함할 수 있고, RAM(Random Access Memory)과 같은 휘발성 메모리로 구현된 주기억장치를 포함할 수 있다.
사용자 입출력부(250)는 사용자 입력을 수신하기 위한 환경 및 사용자에게 특정 정보를 출력하기 위한 환경을 포함할 수 있다. 예를 들어, 사용자 입출력부(250)는 터치 패드, 터치 스크린, 화상 키보드 또는 포인팅 장치와 같은 어댑터를 포함하는 입력장치 및 모니터 또는 터치스크린과 같은 어댑터를 포함하는 출력장치를 포함할 수 있다. 일 실시예에서, 사용자 입출력부(250)는 원격 접속을 통해 접속되는 컴퓨팅 장치에 해당할 수 있고, 그러한 경우, 대상파일 검출 장치(130)는 독립적인 서버로서 수행될 수 있다.
네트워크 입출력부(270)은 네트워크를 통해 외부 장치 또는 시스템과 연결하기 위한 환경을 포함하고, 예를 들어, LAN(Local Area Network), MAN(Metropolitan Area Network), WAN(Wide Area Network) 및 VAN(Value Added Network) 등의 통신을 위한 어댑터를 포함할 수 있다.
도 3은 도 1의 대상파일 검출 장치의 기능적 구성을 설명하는 도면이다.
도 3을 참조하면, 대상파일 검출 장치(130)는 역인덱싱 데이터베이스부(310), 네트워크 패킷 수신부(320), 패킷 청크 처리부(330), 청크 질의부(340), 파일코드 결정부(350) 및 제어부(360)를 포함할 수 있다.
역인덱싱 데이터베이스부(310)는 검출대상파일에 관해 청킹(chunking) 연산을 수행하여 적어도 하나의 파일 청크를 생성하고, 적어도 하나의 파일 청크 각각을 검출대상 파일코드로서 역인덱싱할 수 있다. 여기에서, 청킹(chunking) 연산은 파일 또는 패킷 등과 같은 하나의 데이터를 반복된 하위 단위의 부분 데이터에 해당하는 청크들로 분할하는 연산에 해당할 수 있으며, 파일 청크는 파일에 대한 청킹 연산을 통해 획득된 청크에 해당할 수 있다. 또한, 검출대상 파일코드는 기 설정된 검출 대상이 되는 파일을 독립적으로 식별하기 위한 식별정보에 해당할 수 있다.
즉, 역인덱싱 데이터베이스부(310)는 사전에 검출대상파일에 관한 청킹 연산을 수행하여 기초 정보를 DB로 구축할 수 있으며, 특히 파일들로부터 추출되는 각 청크들을 기준으로 역으로 인덱싱하여 해당 청크가 포함된 파일들에 관한 역 인덱스 정보를 DB화 하는 동작을 수행할 수 있다.
일 실시예에서, 역인덱싱 데이터베이스부(310)는 검출대상파일에 관해 AE 청킹(Asymmetric Extremum Chunking)을 수행할 수 있다. 파일 청크를 생성하기 위한 청킹 연산을 위해 다양한 알고리즘이 활용될 수 있다. 특히, 역인덱싱 데이터베이스부(310)는 동적 청킹 알고리즘을 사용하여 청킹 연산을 수행할 수 있다. 동적 청킹 알고리즘에 대해서는 도 5에서 보다 자세히 설명한다.
일 실시예에서, 역인덱싱 데이터베이스부(310)는 검출대상파일의 로컬 범위에서 검출된 극값과 지정 윈도우 사이즈를 기준으로 문자열을 청킹할 수 있다. AE 청킹은 파일의 지역 내, 즉 로컬 범위에서 발견된 극값(extremum)과 지정 윈도우 사이즈를 기준으로 문자열을 청킹할 수 있다. 보다 구체적으로, 역인덱싱 데이터베이스부(310)는 윈도우 사이즈 내에 신규 극값이 검출되지 않는 경우에는 해당 파일 청크를 생성할 수 있으며, 윈도우 사이즈 내에 신규 극값이 검출되는 경우에는 해당 파일 청크의 생성을 보류할 수 있다.
즉, AE 청킹은 극값을 바탕으로 청킹 연산을 수행하므로 내용정의청킹(CDC, Content-Defined-Chunking)에 해당할 수 있고, 역추적(back-trace)을 하지 않고 극값과 그 위치만을 기억하므로 상대적으로 가벼운 청킹 알고리즘에 해당할 수 있다. 또한, AE 청킹은 중복된 구간에 대해 동일 형태의 청크가 발생될 확률이 높다는 점에서 중복 제거에 뛰어난 성능을 제공할 수 있다.
일 실시예에서, 역인덱싱 데이터베이스부(310)는 적어도 하나의 파일 청크 각각에 관한 청크 비트맵을 생성하고 청크 비트맵을 검출대상 파일코드와 연관 저장할 수 있다. 즉, 역인덱싱 데이터베이스부(310)는 파일 청크를 식별하기 위한 식별정보로서 청크 비트맵을 생성할 수 있고, 청크 비트맵에 대해 검출대상 파일코드를 연결하여 DB화 할 수 있다. 청크 비트맵은 각 파일 청크에 대응되는 고유 식별정보로서 비트맵 인덱스를 구성할 수 있다. 즉, 역인덱싱 데이터베이스부(310)는 각 파일 청크에 대응되는 청크 비트맵을 생성하고 청크 비트맵으로 구성된 비트맵 인덱스를 통해 검출대상 파일코드와 연결될 수 있다.
네트워크 패킷 수신부(320)는 네트워크 패킷을 수신할 수 있다. 네트워크 패킷 수신부(320)는 네트워크 통신을 위한 통신 모듈과 연동하여 동작할 수 있으며, 네트워크 통신 과정에서 전송되거나 수신되는 네트워크 패킷을 관련 정보로서 획득할 수 있다. 네트워크 패킷 수신부(320)는 수신된 네트워크 패킷을 패킷 청크 처리부(330)에게 전달하여 다음 단계의 동작이 수행될 수 있도록 동작할 수 있다. 네트워크 패킷 수신부(320)는 네트워크 패킷을 수신하여 데이터베이스(150)에 저장할 수 있으며, 필요한 경우 다음 동작과의 연동을 위하여 기 생성된 데이터 큐에 네트워크 패킷들을 순차적으로 삽입할 수 있다.
패킷 청크 처리부(330)는 네트워크 패킷에 관해 청킹 연산을 수행하여 적어도 하나의 패킷 청크를 생성할 수 있다. 패킷 청크 처리부(330)는 역인덱싱 데이터베이스부(310)에서 수행되는 청킹 연산에 상응하는 청킹 연산을 수행할 수 있으며, 네트워크 패킷에 대한 청킹 연산의 결과로서 패킷 청크를 생성할 수 있다.
일 실시예에서, 패킷 청크 처리부(330)는 네트워크 패킷의 오류 유무에 관계없이 지속적으로 수신되는 일련의 네트워크 패킷을 독립적으로 처리할 수 있다. 보다 구체적으로, 네트워크 패킷 수신부(320)는 외부에서 전달되는 네트워크 패킷을 수신하여 순차적으로 저장할 수 있으며, 패킷 청크 처리부(330)는 해당 네트워크 패킷을 수신된 순서에 따라 순차적으로 처리할 수 있다. 패킷 청크 처리부(330)는 각 네트워크 패킷 별로 독립적인 청킹 연산을 수행할 수 있으며, 각 네트워크 패킷 별로 생성된 패킷 청크들을 독립적으로 저장할 수 있다.
일 실시예에서, 패킷 청크 처리부(330)는 일련의 네트워크 패킷 중 특정 네트워크 패킷에 오류가 특정 기준 이상이면 특정 네트워크 패킷의 검출대상 파일코드를 인접 네트워크 패킷의 인접 검출대상 파일코드를 기초로 추정할 수 있다. 패킷 청크 처리부(330)는 각 네트워크 패킷에 대해 오류 검사를 수행할 수 있으며, 해당 오류 검사 결과 기 설정된 특정 기준을 초과하는 네트워크 패킷에 대해서는 청킹 연산을 생략할 수 있다. 즉, 패킷 청크 처리부(330)는 기준 이상의 오류가 검출된 네트워크 패킷에 대해서는 청킹 연산을 수행하는 대신 이전 네트워크 패킷들 중에서 가장 유사한 네트워크 패킷을 결정한 후 해당 네트워크 패킷과 연결된 검출대상 파일코드로 대체하여 사용할 수 있다.
청크 질의부(340)는 적어도 하나의 패킷 청크 각각에 관한 패킷 청크 질의어를 생성하고 패킷 청크 질의어를 역인덱싱 데이터베이스부(310)에 제공하여 검출대상 파일코드를 수신할 수 있다. 즉, 청크 질의부(340)는 기 구축된 역 인덱스 DB를 이용하여 각 패킷 청크에 연관된 검출대상파일에 관한 정보를 획득할 수 있다. 이를 위하여, 청크 질의부(340)는 역인덱싱 데이터베이스부(310)에게 검색을 위한 패킷 청크 질의어를 제공할 수 있으며, 역인덱싱 데이터베이스부(310)는 패킷 청크 질의어에 대한 응답으로서 해당 패킷 청크에 대응되는 검출대상 파일코드 정보를 제공할 수 있다.
일 실시예에서, 청크 질의부(340)는 적어도 하나의 패킷 청크 각각에 관한 패킷 청크 비트맵을 생성하고 패킷 청크 비트맵을 기초로 검출대상 파일코드를 수신할 수 있다. 즉, 역 인덱스 DB가 청크 비트맵에 기초한 비트맵 인덱스로 구축된 경우 청크 질의부(340)는 패킷 청크에 대한 질의를 위해 청크 비트맵을 생성하여 역인덱싱 데이터베이스부(310)에게 제공할 수 있고, 역인덱싱 데이터베이스부(310)는 해당 청크 비트맵을 기초로 검색 연산을 수행하여 검출대상 파일코드를 해당 패킷 청크에 대응되는 질의 응답으로서 제공할 수 있다.
파일코드 결정부(350)는 청크 질의부(340)에 의해 수신된 검출대상 파일코드를 기초로 네트워크 패킷에 있는 가장 가능성 높은 검출대상 파일코드를 결정할 수 있다. 즉, 파일코드 결정부(350)는 역 인덱스 DB를 이용하여 네트워크를 통해 전달되는 데이터 패킷과 가장 유사한 파일을 효과적으로 검출할 수 있다. 이를 위해, 청크 질의부(340)는 청킹 연산을 통해 획득된 패킷 청크들에 대해 수집된 검출대상 파일코드에 관한 정보를 통합하여 각 데이터 패킷에 대응되는 유사파일을 결정할 수 있다.
일 실시예에서, 파일코드 결정부(350)는 적어도 하나의 패킷 청크 각각의 검출대상 파일코드에서 가장 빈도수가 높은 검출대상 파일코드를 가장 가능성 높은 검출대상 파일코드로서 결정할 수 있다. 즉, 파일코드 결정부(350)는 특정 데이터 패킷에 대해 각 패킷 청크에 대응되는 검출대상 파일코드를 통합한 결과 가장 빈도수 높은 검출대상 파일코드를 결정할 수 있고, 해당 검출대상 파일코드를 특정 데이터 패킷에 대응되는 유사파일로서 결정할 수 있다.
일 실시예에서, 파일코드 결정부(350)는 가장 빈도수가 높은 검출대상 파일코드가 과반 이상인 경우에는 가장 가능성 높은 검출대상 파일코드를 결정할 수 있다. 다른 실시예에서, 파일코드 결정부(350)는 검출대상 파일코드 별로 히트 스코어(hit score)를 결정할 수 있고, 전체 패킷 청크의 개수에 대한 히트 스코어의 비율을 기초로 최종 검출대상 파일코드를 결정할 수 있다. 즉, 파일코드 결정부(350)는 각 패킷 청크 별로 수집된 검출대상 파일코드의 빈도수를 통합하여 각 검출대상 파일코드 별로 유사도를 산출할 수 있고, 해당 유사도가 가장 높은 검출대상 파일코드를 결정하여 최종 유사파일을 검출할 수 있다.
일 실시예에서, 파일코드 결정부(350)는 가장 빈도수가 높은 검출대상 파일코드가 과반 미만인 경우에는 인접 네트워크 패킷을 함께 고려하여 가장 가능성 높은 검출대상 파일코드를 결정할 수 있다. 가장 빈도수가 높은 검출대상 파일코드가 과반 미만인 경우라면 결과적으로 해당 네트워크 패킷에 대한 파일 정보가 명확하지 않은 경우이므로, 인접 네트워크 패킷에 대한 파일 정보를 통합하여 유사파일을 검출할 수 있다. 이때, 인접 네트워크 패킷은 현재의 네트워크 패킷을 기준으로 이전 네트워크 패킷들의 집합으로 정의될 수 있다.
다른 실시예에서, 파일코드 결정부(350)는 가장 빈도수가 높은 검출대상 파일코드의 빈도수를 기준으로 인접 네트워크 패킷의 개수를 동적으로 결정할 수 있다. 예를 들어, 파일코드 결정부(350)는 가장 빈도수 높은 검출대상 파일코드의 빈도수가 전체 패킷 청크의 개수를 기준으로 10%, 20%, ..., 50% 미만인 경우 인접 네트워크 패킷의 개수를 5, 4, ..., 1로 결정할 수 있다.
제어부(360)는 대상파일 검출 장치(130)의 전체적인 동작을 제어하고, 역인덱싱 데이터베이스부(310), 네트워크 패킷 수신부(320), 패킷 청크 처리부(330), 청크 질의부(340) 및 파일코드 결정부(350) 간의 제어 흐름 또는 데이터 흐름을 관리할 수 있다.
도 4는 본 발명에 따른 네트워크 패킷 분석 기반의 대상파일 검출 과정을 설명하는 순서도이다.
도 4를 참조하면, 대상파일 검출 장치(130)는 역인덱싱 데이터베이스부(310)를 통해 검출대상파일에 관해 청킹 연산을 수행하여 적어도 하나의 파일 청크를 생성하고, 적어도 하나의 파일 청크 각각을 검출대상 파일코드로서 역인덱싱할 수 있다(단계 S410). 대상파일 검출 장치(130)는 네트워크 패킷 수신부(320)를 통해 네트워크 패킷을 수신할 수 있다(단계 S430). 대상파일 검출 장치(130)는 패킷 청크 처리부(330)를 통해 네트워크 패킷에 관해 청킹 연산을 수행하여 적어도 하나의 패킷 청크를 생성할 수 있다(단계 S450).
또한, 대상파일 검출 장치(130)는 청크 질의부(340)를 통해 적어도 하나의 패킷 청크 각각에 관한 패킷 청크 질의어를 생성하고 패킷 청크 질의어를 역인덱싱 데이터베이스부(310)에 제공하여 검출대상 파일코드를 수신할 수 있다(단계 S470). 대상파일 검출 장치(130)는 파일코드 결정부(350)를 통해 수신된 검출대상 파일코드를 기초로 네트워크 패킷에 있는 가장 가능성 높은 검출대상 파일코드를 결정할 수 있다(단계 S490).
도 5는 본 발명에 따른 대상파일 검출을 위한 동적 청킹 동작을 설명하는 도면이다.
도 5를 참조하면, 대상파일 검출 장치(130)는 검출대상파일(510)에 관한 파일 청크(520)들을 획득하고 이를 기초로 역 인덱스 DB를 구축할 수 있다. 또한, 대상파일 검출 장치(130)는 역 인덱스 DB에 기초한 대상파일 검출을 위해 네트워크 패킷(530)에 대한 패킷 청크(540)들을 획득할 수 있다. 대상파일 검출 장치(130)는 청킹 연산을 위해 다양한 청킹 알고리즘을 사용할 수 있으며, 특히 동적 청킹 알고리즘으로서 내용정의청킹 알고리즘에 해당하는 AE 청킹 알고리즘을 사용할 수 있다.
AE 청킹 알고리즘은 다음의 단계들을 통해 수행될 수 있다.
단계 1) 데이터 스트림 입력 단계
첫 번째 바이트가 B인 데이터 스트림을 입력한다.
단계 2) 극값 검색 단계
다음의 조건을 충족하는 극값 M을 검색한다.
- 조건 1: 간격 [B, N]이 비어 있거나 M 값이 간격 [B, N]의 모든 바이트 값보다 크다.
- 조건 2: M 값은 간격 [D, C]의 모든 바이트 값보다 작지 않다.
단계 3) 청크 경계 결정 단계
C를 청크 경계점으로 결정한다. 이때, C를 경계로 분할되는 경우 나머지 입력 스트림의 첫 번째 바이트는 B'이다. 이때, N, M, D는 서로 연속되는 점들이며, C와 B'도 동일하다.
도 5에서, 파일 fi에 대해 동적 청킹 연산을 수행하는 경우, 총 6개의 파일 청크(520)들이 생성될 수 있다. 즉, 파일 청크(520)들은 각각 fi,0, fi,1, ..., fi,5에 해당할 수 있다. 또한, 네트워크 패킷들(packet1, packet2)에 대해 동적 청킹 연산을 수행하는 경우, 패킷 1(packet1)의 경우 3개의 패킷 청크들(fi,0, fi,1, fi,2-1)이 생성되고 패킷 2(packet2)의 경우 4개의 패킷 청크들(fi,2-2, fi,3, fi,4, fi,5)이 생성될 수 있다. 즉, 동적 청킹에 따라 파일 마다 또는 패킷 마다 생성되는 청크들의 크기와 개수는 서로 상이할 수 있다.
도 6은 본 발명에 따른 네트워크 패킷 분석 기반의 대상파일 검출 과정을 설명하는 도면이다.
도 6을 참조하면, 대상파일 검출 장치(130)는 네트워크 패킷에 대한 유사파일 검색을 위하여 기 설정된 검색대상파일들에 대한 역 인덱스 청크 DB(610)를 구축할 수 있다. 이때, 역 인덱스 청크 DB(610)는 검색대상파일들로부터 추출된 파일 청크들 각각에 대해 대응되는 파일들에 관한 인덱스 정보를 매칭시켜 구축된 역 인덱스 DB에 해당할 수 있다. 즉, 대상파일 검출 장치(130)는 역 인덱스 청크 DB(610)를 기초로 네트워크를 통해 전송되는 데이터 패킷과 가장 유사한 파일을 효과적으로 검출할 수 있다.
보다 구체적으로, 대상파일 검출 장치(130)는 데이터 패킷 별로 역인덱싱 과정에서 사용된 청킹 연산을 사용하여 패킷 청크들을 획득할 수 있다. 대상파일 검출 장치(130)는 역 인덱스 청크 DB(610)로부터 패킷 청크들에 대응되는 파일 정보를 획득할 수 있다. 이때, 파일 정보는 검출대상 파일코드에 해당할 수 있으며, 각 파일을 고유 식별 가능한 식별정보를 포함할 수 있다.
예를 들어, 데이터 패킷 pi에 대한 청킹 연산을 통해 패킷 청크들 C1, C2, C4 및 C6가 생성될 수 있고, 해당 패킷 청크들을 역 인덱스 청크 DB에 질의한 결과 각 패킷 청크에 대응되는 대상파일 검출코드를 획득할 수 있다. 따라서, 데이터 패킷 pi에 대한 검색 결과는 pi : {f1:4, f2:1}과 같을 수 있고, θ = 4/4 = 1 ≥ 0.9 이므로 최종적으로 데이터 패킷 pi에 대해 f1이 대상파일(또는 유사파일)로서 최종 결정될 수 있다.
본 발명에 따른 대상파일 검출 장치(130)는 역 인덱스 청크 DB(610)를 기초로 데이터 패킷에 대한 유사파일을 효과적으로 검출할 수 있으며, 수집된 패킷의 유실여부와 관계없이 적용 가능하다는 장점을 가질 수 있다. 또한, 대상파일 검출 장치(130)는 로우(Raw) 패킷에 적용 가능하므로 헤더(header)와 바디(body) 등으로 파싱하는 전처리 과정이 없고, 역인덱스 방식을 사용하여 유사파일 검색에도 매우 빠르다는 장점을 가질 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 대상파일 검출 시스템
110: 사용자 단말 130: 대상파일 검출 장치
150: 데이터베이스
210: 프로세서 230: 메모리
250: 사용자 입출력부 270: 네트워크 입출력부
310: 역인덱싱 데이터베이스부 320: 네트워크 패킷 수신부
330: 패킷 청크 처리부 340: 청크 질의부
350: 파일코드 결정부 360: 제어부
510: 검출대상파일 520: 파일 청크
530: 네트워크 패킷 540: 패킷 청크
610: 역 인덱스 청크 DB
110: 사용자 단말 130: 대상파일 검출 장치
150: 데이터베이스
210: 프로세서 230: 메모리
250: 사용자 입출력부 270: 네트워크 입출력부
310: 역인덱싱 데이터베이스부 320: 네트워크 패킷 수신부
330: 패킷 청크 처리부 340: 청크 질의부
350: 파일코드 결정부 360: 제어부
510: 검출대상파일 520: 파일 청크
530: 네트워크 패킷 540: 패킷 청크
610: 역 인덱스 청크 DB
Claims (15)
- 검출대상파일에 관해 청킹 연산을 수행하여 적어도 하나의 파일 청크를 생성하고, 상기 적어도 하나의 파일 청크 각각을 검출대상 파일코드로서 역인덱싱하는 역인덱싱 데이터베이스부;
네트워크 패킷을 수신하는 네트워크 패킷 수신부;
상기 네트워크 패킷에 관해 청킹 연산을 수행하여 적어도 하나의 패킷 청크를 생성하는 패킷 청크 처리부;
상기 적어도 하나의 패킷 청크 각각에 관한 패킷 청크 질의어를 생성하고 상기 패킷 청크 질의어를 상기 역인덱싱 데이터베이스부에 제공하여 상기 검출대상 파일코드를 수신하는 청크 질의부; 및
상기 수신된 검출대상 파일코드를 기초로 상기 네트워크 패킷에 있는 가장 가능성 높은 검출대상 파일코드를 결정하는 파일코드 결정부를 포함하는 네트워크 패킷 분석 기반의 대상파일 검출 장치.
- 제1항에 있어서, 상기 역인덱싱 데이터베이스부는
상기 검출대상파일에 관해 AE 청킹(Asymmetric Extremum Chunking)을 수행하는 것을 특징으로 하는 네트워크 패킷 분석 기반의 대상파일 검출 장치.
- 제2항에 있어서, 상기 역인덱싱 데이터베이스부는
상기 검출대상파일의 로컬 범위에서 검출된 극값과 지정 윈도우 사이즈를 기준으로 문자열을 청킹하는 것을 특징으로 하는 네트워크 패킷 분석 기반의 대상파일 검출 장치.
- 제3항에 있어서, 상기 역인덱싱 데이터베이스부는
상기 윈도우 사이즈 내에 신규 극값이 검출되지 않는 경우에는 해당 파일 청크를 생성하는 것을 특징으로 하는 네트워크 패킷 분석 기반의 대상파일 검출 장치.
- 제4항에 있어서, 상기 역인덱싱 데이터베이스부는
상기 윈도우 사이즈 내에 신규 극값이 검출되는 경우에는 상기 해당 파일 청크의 생성을 보류하는 것을 특징으로 하는 네트워크 패킷 분석 기반의 대상파일 검출 장치.
- 제1항에 있어서, 상기 역인덱싱 데이터베이스부는
상기 적어도 하나의 파일 청크 각각에 관한 청크 비트맵을 생성하고 상기 청크 비트맵을 상기 검출대상 파일코드와 연관 저장하는 것을 특징으로 하는 네트워크 패킷 분석 기반의 대상파일 검출 장치.
- 제1항에 있어서, 상기 패킷 청크 처리부는
상기 네트워크 패킷의 오류 유무에 관계없이 지속적으로 수신되는 일련의 네트워크 패킷을 독립적으로 처리하는 것을 특징으로 하는 네트워크 패킷 분석 기반의 대상파일 검출 장치.
- 제7항에 있어서, 상기 패킷 청크 처리부는
상기 일련의 네트워크 패킷 중 특정 네트워크 패킷에 오류가 특정 기준 이상이면 상기 특정 네트워크 패킷의 검출대상 파일코드를 인접 네트워크 패킷의 인접 검출대상 파일코드를 기초로 추정하는 것을 특징으로 하는 네트워크 패킷 분석 기반의 대상파일 검출 장치.
- 제1항에 있어서, 상기 청크 질의부는
상기 적어도 하나의 패킷 청크 각각에 관한 패킷 청크 비트맵을 생성하고 상기 패킷 청크 비트맵을 기초로 상기 검출대상 파일코드를 수신하는 것을 특징으로 하는 네트워크 패킷 분석 기반의 대상파일 검출 장치.
- 제1항에 있어서, 상기 파일코드 결정부는
상기 적어도 하나의 패킷 청크 각각의 검출대상 파일코드에서 가장 빈도수가 높은 검출대상 파일코드를 상기 가장 가능성 높은 검출대상 파일코드로서 결정하는 것을 특징으로 하는 네트워크 패킷 분석 기반의 대상파일 검출 장치.
- 제10항에 있어서, 상기 파일코드 결정부는
상기 가장 빈도수가 높은 검출대상 파일코드가 과반 이상인 경우에는 상기 가장 가능성 높은 검출대상 파일코드를 결정하는 것을 특징으로 하는 네트워크 패킷 분석 기반의 대상파일 검출 장치.
- 제10항에 있어서, 상기 파일코드 결정부는
상기 가장 빈도수가 높은 검출대상 파일코드가 과반 미만인 경우에는 인접 네트워크 패킷을 함께 고려하여 상기 가장 가능성 높은 검출대상 파일코드를 결정하는 것을 특징으로 하는 네트워크 패킷 분석 기반의 대상파일 검출 장치.
- 검출대상파일에 관해 청킹 연산을 수행하여 적어도 하나의 파일 청크를 생성하고, 상기 적어도 하나의 파일 청크 각각을 검출대상 파일코드로서 역인덱싱하는 단계;
네트워크 패킷을 수신하는 단계;
상기 네트워크 패킷에 관해 청킹 연산을 수행하여 적어도 하나의 패킷 청크를 생성하는 단계;
상기 적어도 하나의 패킷 청크 각각에 관한 패킷 청크 질의어를 생성하고 상기 패킷 청크 질의어를 상기 역인덱싱 데이터베이스부에 제공하여 상기 검출대상 파일코드를 수신하는 단계; 및
상기 수신된 검출대상 파일코드를 기초로 상기 네트워크 패킷에 있는 가장 가능성 높은 검출대상 파일코드를 결정하는 단계를 포함하는 네트워크 패킷 분석 기반의 대상파일 검출 방법.
- 제13항에 있어서, 상기 역인덱싱하는 단계는
상기 적어도 하나의 파일 청크 각각에 관한 청크 비트맵을 생성하고 상기 청크 비트맵을 상기 검출대상 파일코드와 연관 저장하는 단계를 포함하는 것을 특징으로 하는 네트워크 패킷 분석 기반의 대상파일 검출 방법.
- 제14항에 있어서, 상기 검출대상 파일코드를 수신하는 단계는
상기 적어도 하나의 패킷 청크 각각에 관한 패킷 청크 비트맵을 생성하고 상기 패킷 청크 비트맵을 기초로 상기 검출대상 파일코드를 수신하는 단계를 포함하는 것을 특징으로 하는 네트워크 패킷 분석 기반의 대상파일 검출 방법.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200146907A KR102447130B1 (ko) | 2020-11-05 | 2020-11-05 | 네트워크 패킷 분석 기반의 대상파일 검출 장치 및 방법 |
US17/623,081 US12007949B2 (en) | 2020-11-05 | 2021-07-22 | Apparatus and method for detecting target file based on network packet analysis |
PCT/KR2021/009516 WO2022097881A1 (ko) | 2020-11-05 | 2021-07-22 | 네트워크 패킷 분석 기반의 대상파일 검출 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200146907A KR102447130B1 (ko) | 2020-11-05 | 2020-11-05 | 네트워크 패킷 분석 기반의 대상파일 검출 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220060842A true KR20220060842A (ko) | 2022-05-12 |
KR102447130B1 KR102447130B1 (ko) | 2022-09-26 |
Family
ID=81458052
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200146907A KR102447130B1 (ko) | 2020-11-05 | 2020-11-05 | 네트워크 패킷 분석 기반의 대상파일 검출 장치 및 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US12007949B2 (ko) |
KR (1) | KR102447130B1 (ko) |
WO (1) | WO2022097881A1 (ko) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101465891B1 (ko) | 2013-07-30 | 2014-11-26 | 고려대학교 산학협력단 | 무선 네트워크에서 트래픽 중복 제거 방법 및 장치 |
KR20190049244A (ko) * | 2017-11-01 | 2019-05-09 | 국민대학교산학협력단 | 경량 복잡도 기반의 패킷레벨 중복 제거 장치 및 방법, 이를 저장하는 기록매체 |
KR20190112918A (ko) * | 2018-03-27 | 2019-10-08 | 계명대학교 산학협력단 | 고성능 보안 라우터를 지원하기 위한 통합 패킷 분류 방법 및 시스템 |
KR20200014979A (ko) * | 2018-08-02 | 2020-02-12 | 주식회사 누리랩 | 역 색인 구성 방법, 역 색인을 이용한 유사 데이터 검색 방법 및 장치 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6363429B1 (en) * | 1999-04-20 | 2002-03-26 | 3Com Corporation | Method and system for automatic determination of priority data streams on computer networks |
US7061874B2 (en) * | 2001-01-26 | 2006-06-13 | Broadcom Corporation | Method, system and computer program product for classifying packet flows with a bit mask |
US7784094B2 (en) * | 2005-06-30 | 2010-08-24 | Intel Corporation | Stateful packet content matching mechanisms |
US7747921B2 (en) * | 2005-08-05 | 2010-06-29 | Sony Corporation | Systems and methods for transmitting data over lossy networks |
US7669023B2 (en) * | 2007-07-10 | 2010-02-23 | Hitachi, Ltd. | Power efficient storage with data de-duplication |
US8472449B2 (en) * | 2010-03-02 | 2013-06-25 | Intrusion, Inc. | Packet file system |
US8909657B2 (en) * | 2011-01-14 | 2014-12-09 | Apple Inc. | Content based file chunking |
CN103281213B (zh) * | 2013-04-18 | 2016-04-06 | 西安交通大学 | 一种网络流量内容提取和分析检索方法 |
US10073971B2 (en) | 2013-06-28 | 2018-09-11 | Microsoft Technology Licensing, Llc | Traffic processing for network performance and security |
KR101588976B1 (ko) * | 2014-10-22 | 2016-01-27 | 삼성에스디에스 주식회사 | 파일 송신 장치 및 방법 |
WO2018045459A1 (en) * | 2016-09-09 | 2018-03-15 | Socovar, Société En Commandite | Checksum-filtered decoding, checksum-aided forward error correction of data packets, forward error correction of data using bit erasure channels and sub-symbol level decoding for erroneous fountain codes |
KR20180099136A (ko) * | 2017-02-28 | 2018-09-05 | 한국전자통신연구원 | 네트워크 패킷의 중복 데이터 제거 장치 및 그 방법, 중복제거파일 복원 장치 |
US11841768B2 (en) * | 2020-04-01 | 2023-12-12 | Datto, Inc. | Multi-client backup deduplication apparatuses, methods and systems |
GB202007055D0 (en) * | 2020-05-13 | 2020-06-24 | 1E Ltd | File comparison method |
-
2020
- 2020-11-05 KR KR1020200146907A patent/KR102447130B1/ko active IP Right Grant
-
2021
- 2021-07-22 WO PCT/KR2021/009516 patent/WO2022097881A1/ko active Application Filing
- 2021-07-22 US US17/623,081 patent/US12007949B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101465891B1 (ko) | 2013-07-30 | 2014-11-26 | 고려대학교 산학협력단 | 무선 네트워크에서 트래픽 중복 제거 방법 및 장치 |
KR20190049244A (ko) * | 2017-11-01 | 2019-05-09 | 국민대학교산학협력단 | 경량 복잡도 기반의 패킷레벨 중복 제거 장치 및 방법, 이를 저장하는 기록매체 |
KR20190112918A (ko) * | 2018-03-27 | 2019-10-08 | 계명대학교 산학협력단 | 고성능 보안 라우터를 지원하기 위한 통합 패킷 분류 방법 및 시스템 |
KR20200014979A (ko) * | 2018-08-02 | 2020-02-12 | 주식회사 누리랩 | 역 색인 구성 방법, 역 색인을 이용한 유사 데이터 검색 방법 및 장치 |
Non-Patent Citations (1)
Title |
---|
YUCHENG ZHANG 등, 'AE: An Asymmetric Extremum Content Defined Chunking Algorithm for Fast and Bandwidth-Efficient Data Deduplication', Hong Kong: IEEE, 2015, pp. 1337-1345 1부.* * |
Also Published As
Publication number | Publication date |
---|---|
US20220365909A1 (en) | 2022-11-17 |
WO2022097881A1 (ko) | 2022-05-12 |
KR102447130B1 (ko) | 2022-09-26 |
US12007949B2 (en) | 2024-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Pal et al. | Detecting file fragmentation point using sequential hypothesis testing | |
TWI729472B (zh) | 特徵詞的確定方法、裝置和伺服器 | |
WO2021088385A1 (zh) | 一种在线日志解析方法、系统及其电子终端设备 | |
EP2304649B1 (en) | Frame based video matching | |
Lu et al. | Frequency based chunking for data de-duplication | |
US9053121B2 (en) | Real-time identification of data candidates for classification based compression | |
US8407192B2 (en) | Detecting a file fragmentation point for reconstructing fragmented files using sequential hypothesis testing | |
US20130117246A1 (en) | Methods of processing text data | |
US11526608B2 (en) | Method and system for determining affiliation of software to software families | |
US20220279045A1 (en) | Global iterative clustering algorithm to model entities' behaviors and detect anomalies | |
CN110750615A (zh) | 文本重复性判定方法和装置、电子设备和存储介质 | |
WO2015067145A1 (zh) | 应用识别方法与装置 | |
US20210336973A1 (en) | Method and system for detecting malicious or suspicious activity by baselining host behavior | |
Ding et al. | {ELISE}: A storage efficient logging system powered by redundancy reduction and representation learning | |
US9213759B2 (en) | System, apparatus, and method for executing a query including boolean and conditional expressions | |
KR102447130B1 (ko) | 네트워크 패킷 분석 기반의 대상파일 검출 장치 및 방법 | |
KR102289395B1 (ko) | 자카드 모델 기반의 문서 검색 장치 및 방법 | |
CN112612832A (zh) | 节点分析方法、装置、设备及存储介质 | |
US10223529B2 (en) | Indexing apparatus and method for search of security monitoring data | |
KR102289408B1 (ko) | 해시 코드 기반의 검색 장치 및 검색 방법 | |
KR102559398B1 (ko) | 인공지능을 이용한 보안관제 침입탐지 알람 처리 장치 및 방법 | |
KR102269652B1 (ko) | 보안관제 데이터 분석을 위한 머신러닝 기반의 학습 벡터 생성 장치 및 방법 | |
CN111737398A (zh) | 文本中的敏感词的检索方法、装置、电子设备及存储介质 | |
KR101886526B1 (ko) | 응용 트래픽 분류에 정교한 페이로드 시그니쳐 생성 방법 및 시스템 | |
KR20240067772A (ko) | 클러스터링 기반의 공격탐지규칙 자동생성 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |