KR20240065966A - Method for network inspection storing data efficiently and system performing the same - Google Patents

Method for network inspection storing data efficiently and system performing the same Download PDF

Info

Publication number
KR20240065966A
KR20240065966A KR1020220147329A KR20220147329A KR20240065966A KR 20240065966 A KR20240065966 A KR 20240065966A KR 1020220147329 A KR1020220147329 A KR 1020220147329A KR 20220147329 A KR20220147329 A KR 20220147329A KR 20240065966 A KR20240065966 A KR 20240065966A
Authority
KR
South Korea
Prior art keywords
network
network session
data extraction
strategy
packets
Prior art date
Application number
KR1020220147329A
Other languages
Korean (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 KR1020220147329A priority Critical patent/KR20240065966A/en
Priority to PCT/KR2023/017216 priority patent/WO2024101761A1/en
Publication of KR20240065966A publication Critical patent/KR20240065966A/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic

Landscapes

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

Abstract

본 발명은 보안회귀검사 및 분석을 위하여 가장 효율적으로 네트워크 데이터를 추출하고 저장할 수 있는 네트워크 검사 방법 및 이를 수행하는 네트워크 검사 시스템이 개시된다. 본 발명의 일 측면에 따르면, 소정의 최적화 기간 동안 전략 데이터베이스를 구축하는 구축모듈; 및 구축된 상기 전략 데이터베이스를 이용하여 소정의 데이터 추출 기간 동안 네트워크로부터 수집된 복수의 패킷 중 적어도 일부를 추출하여 저장하는 추출모듈을 포함하되, 상기 구축모듈은, 상기 최적화 기간 동안 네트워크로부터 수집된 복수의 패킷에 기초하여 네트워크 세션을 생성하는 제1네트워크 세션 생성모듈; 상기 최적화 기간 동안 상기 제1네트워크 세션 생성모듈에 의해 생성된 네트워크 세션인 최적화 대상 네트워크 세션의 프로토콜을 판단하는 제1프로토콜 판단모듈; 상기 최적화 대상 네트워크 세션에 상응하는 데이터 추출 전략을 결정하는 결정모듈-여기서 상기 최적화 대상 네트워크 세션에 상응하는 데이터 추출 전략은, 상기 최적화 대상 네트워크 세션을 구성하는 전체 패킷(full packet)으로부터 어떠한 데이터를 추출하여야 하는지에 대한 정보를 포함함; 및 상기 최적화 대상 네트워크 세션의 프로토콜과 데이터 추출 전략을 대응시켜 상기 전략 데이터베이스에 저장하는 전략저장모듈을 포함하고, 상기 추출모듈은, 상기 데이터 추출 기간 동안 네트워크로부터 수집된 복수의 패킷에 기초하여 네트워크 세션을 생성하는 제2네트워크 세션 생성모듈; 상기 데이터 추출 기간 동안 상기 제2네트워크 세션 생성모듈에 의해 생성된 네트워크 세션인 추출 대상 네트워크 세션의 프로토콜을 판단하는 제2프로토콜 판단모듈; 상기 전략 데이터베이스에서 상기 추출 대상 네트워크 세션의 프로토콜에 대응되는 데이터 추출 전략을 검색하는 검색모듈; 상기 추출 대상 네트워크 세션의 프로토콜에 대응되는 데이터 추출 전략에 따라 상기 추출 대상 네트워크 세션 내의 전체 패킷으로부터 데이터를 추출하여 저장하는 데이터저장모듈을 포함하는 네트워크 검사 시스템이 제공된다.The present invention discloses a network inspection method that can most efficiently extract and store network data for security regression inspection and analysis, and a network inspection system that performs the same. According to one aspect of the present invention, a construction module for constructing a strategy database during a predetermined optimization period; and an extraction module that extracts and stores at least a portion of the plurality of packets collected from the network during a predetermined data extraction period using the constructed strategy database, wherein the construction module includes the plurality of packets collected from the network during the optimization period. A first network session creation module that creates a network session based on the packet; a first protocol determination module that determines a protocol of a network session to be optimized, which is a network session created by the first network session creation module during the optimization period; A decision module for determining a data extraction strategy corresponding to the network session to be optimized, wherein the data extraction strategy corresponding to the network session to be optimized extracts certain data from all packets constituting the network session to be optimized. Contains information about what should be done; and a strategy storage module that stores the data extraction strategy in the strategy database by matching the protocol of the network session to be optimized with the data extraction strategy, wherein the extraction module stores the network session based on a plurality of packets collected from the network during the data extraction period. A second network session creation module that creates; a second protocol determination module that determines a protocol of a network session to be extracted, which is a network session created by the second network session creation module during the data extraction period; a search module that searches the strategy database for a data extraction strategy corresponding to the protocol of the network session to be extracted; A network inspection system is provided that includes a data storage module that extracts and stores data from all packets in the extraction target network session according to a data extraction strategy corresponding to the protocol of the extraction target network session.

Description

효율적으로 데이터를 저장하는 네트워크 검사 방법 및 이를 수행하는 시스템{Method for network inspection storing data efficiently and system performing the same}{Method for network inspection storing data efficiently and system performing the same}

본 발명은 보안회귀검사 및 분석을 위하여 가장 효율적으로 네트워크 데이터를 추출하고 저장할 수 있는 네트워크 검사 방법 및 이를 수행하는 네트워크 검사 시스템에 관한 것이다. 보다 상세하게는 네트워크 세션의 프로토콜에 기반하여 해당 프로토콜에 세션에서 네트워크 데이터를 추출함으로써 비효율성을 극복할 수 있는 시스템 및 그 방법에 관한 것이다.The present invention relates to a network inspection method that can most efficiently extract and store network data for security regression inspection and analysis, and a network inspection system that performs the same. More specifically, it relates to a system and method that can overcome inefficiency by extracting network data from a session based on the protocol of the network session.

기존의 네트워크 제어 및 관리 장비들은 TCP(transport layer protocol)/UDP(user datagram protocol) 또는 IP(Internet protocol)의 패킷 정보를 기반으로, 해당 장비들의 특정 단위 목표인 라우팅이나 QoS(Quality of Service), DDoS(Distributed Denial of Service)방지 등을 달성하기 위해 노력해 왔다. 그러나 패킷 기반의 접근 방법은 상위 애플리케이션들의 통신 관계에 따른 정보들을 무시하고, 단순히 일시적인 정보 전달 단위인 각각의 분리된 패킷에 담겨 있는 정보들에만 의존함으로써, 적게는 처리 속도의 한계성과 크게는 적용성의 한계로 인해 패킷 라우팅을 위한 라우터, DDoS 공격을 방어하는 전용 시스템, 또는 트래픽 제어를 위한 DPI(Deep Packet Inspection) 시스템 등과 같은 독립적인 목표를 위한 단일 시스템의 형태로 제공되고 있다. 이 중 DPI 시스템은 특정 애플리케이션 또는 클라이언트(예를 들어, P2P 클라이언트(client))가 사용하는 잘 알려진 포트 번호와 페이로드(Payload)의 시그너쳐(Signature)를 찾아서 검출하고, 검출된 패킷을 제어하는 방법을 채택하고 있다. 이러한 시그너쳐를 검출함으로써 어떤 클라이언트 즉, 애플리케이션이 현재 네트워크에서 패킷을 생성 및/또는 전송하고 있는지를 알게 되고, 소정의 정책에 따라 적절한 네트워크 제어를 수행하게 된다.Existing network control and management equipment is based on packet information of TCP (transport layer protocol)/UDP (user datagram protocol) or IP (Internet protocol), and determines the specific unit goals of the equipment, such as routing, QoS (Quality of Service), Efforts have been made to achieve DDoS (Distributed Denial of Service) prevention. However, the packet-based approach ignores information according to the communication relationship between upper-level applications and relies only on the information contained in each separate packet, which is simply a temporary information transfer unit, resulting in limitations in processing speed and in applicability to a large extent. Due to limitations, it is provided in the form of a single system for independent goals, such as a router for packet routing, a dedicated system to defend against DDoS attacks, or a Deep Packet Inspection (DPI) system for traffic control. Among these, the DPI system is a method of finding and detecting the signature of the well-known port number and payload used by a specific application or client (for example, a P2P client) and controlling the detected packet. is adopting. By detecting these signatures, it is known which client, i.e., application, is currently generating and/or transmitting packets in the network, and appropriate network control is performed according to a predetermined policy.

하지만, 종래의 DPI 시스템은 전송되는 모든 패킷의 페이로드를 검사해야 하므로 프로세싱의 오버헤드가 너무 크다는 단점이 있다. 즉, 모든 패킷의 페이로드를 검출하기 위해서는 전송되는 모든 패킷을 저장해야 했으므로 매우 큰 저장 오버헤드가 발생하였다. 또한 페이로드가 암호화되어 있는 경우에도 모든 패킷을 저장해야 하는 등 필요 이상으로 저장 공간을 낭비하게 되는 문제점이 있었다.However, the conventional DPI system has the disadvantage that the processing overhead is too large because the payload of all transmitted packets must be checked. In other words, in order to detect the payload of all packets, all transmitted packets had to be stored, resulting in a very large storage overhead. Additionally, even if the payload is encrypted, there is a problem of wasting more storage space than necessary, such as having to store all packets.

본 발명은 이러한 문제점을 해결하고자 안출된 발명으로써, 본 발명이 이루고자 하는 기술적 과제는 네트워크 세션의 프로토콜의 특성에 기반하여 해당 프로토콜의 세션에서 보안회귀검사 및 분석에 필요한 데이터만을 추출하여 저장함으로써 불필요하게 패킷을 저장하는 비효율성을 극복할 수 있는 방법 및 시스템이 제공하는 것이다.The present invention is an invention designed to solve these problems, and the technical problem to be achieved by the present invention is to extract and store only the data necessary for security regression testing and analysis from the session of the protocol based on the characteristics of the protocol of the network session, eliminating unnecessary problems. It provides a method and system that can overcome the inefficiency of storing packets.

본 발명의 일 측면에 따르면, 소정의 최적화 기간 동안 전략 데이터베이스를 구축하는 구축모듈; 및 구축된 상기 전략 데이터베이스를 이용하여 소정의 데이터 추출 기간 동안 네트워크로부터 수집된 복수의 패킷 중 적어도 일부를 추출하여 저장하는 추출모듈을 포함하되, 상기 구축모듈은, 상기 최적화 기간 동안 네트워크로부터 수집된 복수의 패킷에 기초하여 네트워크 세션을 생성하는 제1네트워크 세션 생성모듈; 상기 최적화 기간 동안 상기 제1네트워크 세션 생성모듈에 의해 생성된 네트워크 세션인 최적화 대상 네트워크 세션의 프로토콜을 판단하는 제1프로토콜 판단모듈; 상기 최적화 대상 네트워크 세션에 상응하는 데이터 추출 전략을 결정하는 결정모듈-여기서 상기 최적화 대상 네트워크 세션에 상응하는 데이터 추출 전략은, 상기 최적화 대상 네트워크 세션을 구성하는 전체 패킷(full packet)으로부터 어떠한 데이터를 추출하여야 하는지에 대한 정보를 포함함; 및 상기 최적화 대상 네트워크 세션의 프로토콜과 데이터 추출 전략을 대응시켜 상기 전략 데이터베이스에 저장하는 전략저장모듈을 포함하고, 상기 추출모듈은, 상기 데이터 추출 기간 동안 네트워크로부터 수집된 복수의 패킷에 기초하여 네트워크 세션을 생성하는 제2네트워크 세션 생성모듈; 상기 데이터 추출 기간 동안 상기 제2네트워크 세션 생성모듈에 의해 생성된 네트워크 세션인 추출 대상 네트워크 세션의 프로토콜을 판단하는 제2프로토콜 판단모듈; 상기 전략 데이터베이스에서 상기 추출 대상 네트워크 세션의 프로토콜에 대응되는 데이터 추출 전략을 검색하는 검색모듈; 상기 추출 대상 네트워크 세션의 프로토콜에 대응되는 데이터 추출 전략에 따라 상기 추출 대상 네트워크 세션 내의 전체 패킷으로부터 데이터를 추출하여 저장하는 데이터저장모듈을 포함하는 네트워크 검사 시스템이 제공된다.According to one aspect of the present invention, a construction module for constructing a strategy database during a predetermined optimization period; and an extraction module that extracts and stores at least a portion of the plurality of packets collected from the network during a predetermined data extraction period using the constructed strategy database, wherein the construction module includes the plurality of packets collected from the network during the optimization period. A first network session creation module that creates a network session based on the packet; a first protocol determination module that determines a protocol of a network session to be optimized, which is a network session created by the first network session creation module during the optimization period; A decision module for determining a data extraction strategy corresponding to the network session to be optimized, wherein the data extraction strategy corresponding to the network session to be optimized extracts certain data from all packets constituting the network session to be optimized. Contains information about what should be done; and a strategy storage module that stores the data extraction strategy in the strategy database by matching the protocol of the network session to be optimized with the data extraction strategy, wherein the extraction module stores the network session based on a plurality of packets collected from the network during the data extraction period. A second network session creation module that creates; a second protocol determination module that determines a protocol of a network session to be extracted, which is a network session created by the second network session creation module during the data extraction period; a search module that searches the strategy database for a data extraction strategy corresponding to the protocol of the network session to be extracted; A network inspection system is provided that includes a data storage module that extracts and stores data from all packets in the extraction target network session according to a data extraction strategy corresponding to the protocol of the extraction target network session.

일 실시예에서, 상기 결정모듈은, 상기 최적화 대상 네트워크 세션을 구성하는 전체 패킷을 대상으로 일련의 네트워크 보안검사를 수행하여 기준 보안위협 검출 정확도를 산출하고, 복수의 후보 데이터 추출 전략 중에서 하기 [선정 조건]을 만족하는 후보 데이터 추출 전략 중 어느 하나를 상기 최적화 대상 네트워크 세션에 상응하는 데이터 추출 전략으로 결정할 수 있다.In one embodiment, the decision module calculates a standard security threat detection accuracy by performing a series of network security checks on all packets constituting the optimization target network session, and selects the following [selected] from a plurality of candidate data extraction strategies. One of the candidate data extraction strategies that satisfies [condition] can be determined as the data extraction strategy corresponding to the network session to be optimized.

[선정 조건][Selection conditions]

상기 최적화 대상 네트워크 세션을 구성하는 전체 패킷에서 해당 후보 데이터 추출 전략에 의해 추출한 데이터를 대상으로 상기 일련의 네트워크 보안검사를 수행하여 산출한 보안위협 검출 정확도와 상기 기준 보안위협 검출 정확도 간의 차이가 소정의 기준치 이하일 것.The difference between the security threat detection accuracy calculated by performing the series of network security checks on data extracted by the candidate data extraction strategy from all packets constituting the optimization target network session and the reference security threat detection accuracy is determined by a predetermined value. Must be below the standard.

일 실시예에서, 상기 복수의 후보 데이터 추출 전략은 우선 순위가 정해져 있으며, 상기 최적화 대상 네트워크 세션에 상응하는 데이터 추출 전략은 상기 [선정 조건]을 만족하는 후보 데이터 추출 전략 중 가장 우선 순위가 높은 것일 수 있다.In one embodiment, the plurality of candidate data extraction strategies are prioritized, and the data extraction strategy corresponding to the optimization target network session has the highest priority among the candidate data extraction strategies that satisfy the [selection condition]. You can.

일 실시예에서, 상기 복수의 후보 데이터 추출 전략은 해당 전략에 의해 추출되는 데이터의 크기가 커질 수록 우선순위가 낮아지는 것을 특징으로 할 수 있다.In one embodiment, the plurality of candidate data extraction strategies may have lower priorities as the size of data extracted by the strategy increases.

일 실시예에서, 상기 복수의 후보 데이터 추출 전략은, 우선순위가 높은 것에서 낮은 것 순으로, 네트워크 메타 데이터를 추출하는 전략, 네트워크 메타 데이터 및 컨텐츠 메타 데이터를 추출하는 전략, 네트워크 메타 데이터, 컨텐츠 메타 데이터 및 소정의 선별기준에 의해 선별된 일부 패킷을 추출하는 전략, 및 전체 패킷을 추출하는 전략을 포함할 수 있다.In one embodiment, the plurality of candidate data extraction strategies are, in order of priority from high to low, a strategy for extracting network metadata, a strategy for extracting network metadata and content metadata, network metadata, and content metadata. It may include a strategy for extracting some packets selected by data and predetermined selection criteria, and a strategy for extracting all packets.

일 실시예에서, 상기 복수의 후보 데이터 추출 전략은, 네트워크 세션을 구성하는 전체 패킷 중 초기 K개의 선행 패킷을 추출하는 전략을 포함하며, 여기서, K는 Nmin <= K <= Nmax를 만족하는 임의의 자연수이며, Nmin과 Nmax는 Nmin < Nmax를 만족하는 미리 정해진 자연수일 수 있다.In one embodiment, the plurality of candidate data extraction strategies include a strategy of extracting initial K preceding packets from all packets constituting a network session, where K is any random number that satisfies Nmin <= K <= Nmax. is a natural number, and Nmin and Nmax may be predetermined natural numbers that satisfy Nmin < Nmax.

일 실시예에서, 상기 복수의 후보 데이터 추출 전략은, 네트워크 세션을 구성하는 전체 패킷 중 페이로드를 포함하는 최초의 페이로드 패킷으로부터 K개의 후속 패킷을 추출하는 전략을 포함하며, 여기서, K는 Nmin <= K <= Nmax를 만족하는 임의의 자연수이며, Nmin과 Nmax는 Nmin < Nmax를 만족하는 미리 정해진 자연수일 수있다.In one embodiment, the plurality of candidate data extraction strategies include a strategy of extracting K subsequent packets from the first payload packet including the payload among all packets constituting the network session, where K is Nmin It is any natural number that satisfies <= K <= Nmax, and Nmin and Nmax may be predetermined natural numbers that satisfy Nmin < Nmax.

일 실시예에서, 상기 추출 대상 네트워크 세션에서 추출된 패킷에 기초하여 상기 추출 대상 네트워크 세션에 대한 대한 네트워크 보안검사를 수행하는 보안검사모듈을 더 포함할 수 있다.In one embodiment, it may further include a security check module that performs a network security check on the extraction target network session based on packets extracted from the extraction target network session.

본 발명의 다른 일 측면에 따르면, 컴퓨팅 시스템이, 소정의 최적화 기간 동안 데이터베이스를 구축하는 구축단계; 및 상기 컴퓨팅 시스템이, 구축된 상기 데이터베이스를 이용하여 소정의 데이터 추출 기간 동안 상기 네트워크로부터 수집된 복수의 패킷 중 적어도 일부를 추출하는 추출단계를 포함하되, 상기 구축단계는, 상기 최적화 기간 동안 네트워크로부터 수집된 복수의 패킷에 기초하여 네트워크 세션을 생성하는 제1네트워크 세션 생성단계; 상기 최적화 기간 동안 상기 제1네트워크 세션 생성단계에서 생성된 네트워크 세션인 최적화 대상 네트워크 세션의 프로토콜을 판단하는 제1프로토콜 판단단계; 상기 최적화 대상 네트워크 세션에 상응하는 데이터 추출 전략을 결정하는 데이터 추출 전략 결정단계-여기서 상기 최적화 대상 네트워크 세션에 상응하는 데이터 추출 전략은, 상기 최적화 대상 네트워크 세션을 구성하는 전체 패킷(full packet)으로부터 어떠한 데이터를 추출하여야 하는지에 대한 정보를 포함함; 및 상기 최적화 대상 네트워크 세션의 프로토콜과 데이터 추출 전략을 대응시켜 상기 데이터베이스에 저장하는 저장단계를 포함하고, 상기 추출단계는, 상기 데이터 추출 기간 동안 네트워크로부터 수집된 복수의 패킷에 기초하여 네트워크 세션을 생성하는 제2네트워크 세션 생성단계; 상기 데이터 추출 기간 동안 상기 제2네트워크 세션 생성단계에서 생성된 네트워크 세션인 추출 대상 네트워크 세션의 프로토콜을 판단하는 제2프로토콜 판단단계; 상기 데이터베이스에서 상기 추출 대상 네트워크 세션의 프로토콜에 대응되는 데이터 추출 전략을 검색하는 검색단계; 상기 추출 대상 네트워크 세션의 프로토콜에 대응되는 데이터 추출 전략에 따라 상기 추출 대상 네트워크 세션 내의 전체 패킷으로부터 데이터를 추출하여 저장하는 데이터저장단계를 포함하는 네트워크 검사 방법이 제공된다.According to another aspect of the present invention, a computing system includes a construction step of constructing a database for a predetermined optimization period; and an extraction step in which the computing system extracts at least some of the plurality of packets collected from the network during a predetermined data extraction period using the constructed database, wherein the building step includes extracting at least some of the plurality of packets collected from the network during the optimization period. A first network session creation step of creating a network session based on a plurality of collected packets; A first protocol determination step of determining a protocol of a network session to be optimized, which is a network session created in the first network session creation step during the optimization period; A data extraction strategy determination step of determining a data extraction strategy corresponding to the network session to be optimized - where the data extraction strategy corresponding to the network session to be optimized is selected from all packets constituting the network session to be optimized. Includes information about whether data should be extracted; And a storage step of matching the protocol of the network session to be optimized with a data extraction strategy and storing it in the database, wherein the extraction step generates a network session based on a plurality of packets collected from the network during the data extraction period. A second network session creation step; A second protocol determination step of determining the protocol of the network session to be extracted, which is the network session created in the second network session creation step during the data extraction period; A search step of searching the database for a data extraction strategy corresponding to the protocol of the network session to be extracted; A network inspection method is provided that includes a data storage step of extracting and storing data from all packets in the extraction target network session according to a data extraction strategy corresponding to the protocol of the extraction target network session.

일 실시예에서, 상기 데이터 추출 전략 결정단계는, 상기 최적화 대상 네트워크 세션을 구성하는 전체 패킷을 대상으로 일련의 네트워크 보안검사를 수행하여 기준 보안위협 검출 정확도를 산출하는 단계; 및 복수의 후보 데이터 추출 전략 중에서 하기 [선정 조건]을 만족하는 후보 데이터 추출 전략 중 어느 하나를 상기 최적화 대상 네트워크 세션에 상응하는 데이터 추출 전략으로 결정하는 단계를 포함할 수 있다.In one embodiment, the data extraction strategy determining step includes calculating a standard security threat detection accuracy by performing a series of network security checks on all packets constituting the optimization target network session; And it may include determining one of the candidate data extraction strategies that satisfies the following [selection conditions] among the plurality of candidate data extraction strategies as the data extraction strategy corresponding to the network session to be optimized.

[선정 조건][Selection conditions]

상기 최적화 대상 네트워크 세션을 구성하는 전체 패킷에서 해당 후보 데이터 추출 전략에 의해 추출한 데이터를 대상으로 상기 일련의 네트워크 보안검사를 수행하여 산출한 보안위협 검출 정확도와 상기 기준 보안위협 검출 정확도 간의 차이가 소정의 기준치 이하일 것.The difference between the security threat detection accuracy calculated by performing the series of network security checks on data extracted by the candidate data extraction strategy from all packets constituting the optimization target network session and the reference security threat detection accuracy is determined by a predetermined value. Must be below the standard.

일 실시예에서, 상기 추출 대상 네트워크 세션에서 추출된 패킷에 기초하여 상기 추출 대상 네트워크 세션에 대한 대한 네트워크 보안검사를 수행하는 보안검사단계를 더 포함할 수 있다.In one embodiment, the method may further include a security check step of performing a network security check on the extraction target network session based on packets extracted from the extraction target network session.

본 발명의 다른 일 측면에 따르면, 데이터 처리장치에 설치되며 상술한 방법을 수행하기 위한 컴퓨터 판독 가능한 매체에 기록된 컴퓨터 프로그램이 제공된다.According to another aspect of the present invention, a computer program installed in a data processing device and recorded on a computer-readable medium for performing the above-described method is provided.

본 발명의 다른 일 측면에 따르면 컴퓨팅 시스템으로서, 프로세서; 및 상기 프로세서에 의하여 실행되는 컴퓨터 프로그램을 저장하는 메모리를 포함하며, 상기 컴퓨터 프로그램은, 상기 프로세서에 의해 실행되는 경우, 상기 컴퓨팅 시스템이, 상술한 방법을 수행하도록 하는 컴퓨팅 시스템이 제공된다.According to another aspect of the present invention, a computing system comprising: a processor; and a memory storing a computer program executed by the processor, wherein the computer program, when executed by the processor, causes the computing system to perform the above-described method.

본 발명의 기술적 사상에 따르면, 네트워크 세션의 프로토콜의 특성에 기반하여 해당 프로토콜의 세션에서 보안회귀검사 및 분석에 필요한 데이터만을 추출하여 저장함으로써 불필요하게 패킷을 저장하는 비효율성을 극복할 수 있다.According to the technical idea of the present invention, the inefficiency of storing packets unnecessarily can be overcome by extracting and storing only the data necessary for security regression testing and analysis from the session of the protocol based on the characteristics of the protocol of the network session.

또한 네트워크 세션의 프로토콜에 맞게 최적화된 형태로 네트워크 세션에 관한 데이터를 저장하고 이에 대한 네트워크 보안검사를 수행함으로써 제로데이에 대응할 수 있는 기간을 늘이고, 보안 위협에 대한 검출 정확도를 높일 수는 효과가 있다.In addition, by storing data about network sessions in a form optimized for the network session protocol and performing network security checks on them, it is effective in extending the period to respond to zero days and increasing the detection accuracy of security threats. .

본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 일 실시 예에 따른 네트워크 검사 시스템의 개략적인 구성을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 구축모듈의 개략적인 구조를 도시한 도면이며, 도 3은 본 발명의 일 실시예에 따른 추출모듈의 개략적인 구조를 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 네트워크 세션 생성모듈의 개략적인 구성을 도시한 도면이다.
도 5는 본 발명의 일 실시 예에 따른 네트워크 검사 방법을 위한 세션, 플로우 및 패킷을 설명하기 위한 도면이다.
도 6은 네트워크 세션에 상응하는 데이터 추출 전략을 결정하는 과정을 개략적으로 도시한 흐름도이다,
도 7은 본 발명의 일 실시예에 따른 네트워크 보안 방법 중에서 전략 데이터베이스를 구축하는 과정을 도시한 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 네트워크 보안 방법 중에서 네트워크 세션에서 데이터를 추출하는 과정을 도시한 흐름도이다.
In order to more fully understand the drawings cited in the detailed description of the present invention, a brief description of each drawing is provided.
1 is a diagram showing the schematic configuration of a network inspection system according to an embodiment of the present invention.
Figure 2 is a diagram showing the schematic structure of a construction module according to an embodiment of the present invention, and Figure 3 is a diagram showing the schematic structure of an extraction module according to an embodiment of the present invention.
Figure 4 is a diagram showing the schematic configuration of a network session creation module according to an embodiment of the present invention.
Figure 5 is a diagram for explaining sessions, flows, and packets for a network inspection method according to an embodiment of the present invention.
Figure 6 is a flow chart schematically showing the process of determining a data extraction strategy corresponding to a network session.
Figure 7 is a flowchart showing the process of building a strategy database among the network security methods according to an embodiment of the present invention.
Figure 8 is a flowchart showing a process of extracting data from a network session among the network security methods according to an embodiment of the present invention.

본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.Since the present invention can be modified in various ways and can have various embodiments, specific embodiments will be illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to specific embodiments, and should be understood to include all transformations, equivalents, and substitutes included in the spirit and technical scope of the present invention. In describing the present invention, if it is determined that a detailed description of related known technologies may obscure the gist of the present invention, the detailed description will be omitted.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.Terms such as first, second, etc. may be used to describe various components, but the components should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. The terms used in this application are only used to describe specific embodiments and are not intended to limit the invention. Singular expressions include plural expressions unless the context clearly dictates otherwise.

본 명세서에 있어서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In this specification, terms such as “comprise” or “have” are intended to designate the presence of features, numbers, steps, operations, components, parts, or combinations thereof described in the specification, but are intended to indicate the presence of one or more other It should be understood that this does not exclude in advance the presence or addition of features, numbers, steps, operations, components, parts, or combinations thereof.

또한, 본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터를 '전송'하는 경우에는 상기 구성요소는 상기 다른 구성요소로 직접 상기 데이터를 전송할 수도 있고, 적어도 하나의 또 다른 구성요소를 통하여 상기 데이터를 상기 다른 구성요소로 전송할 수도 있는 것을 의미한다. 반대로 어느 하나의 구성요소가 다른 구성요소로 데이터를 '직접 전송'하는 경우에는 상기 구성요소에서 다른 구성요소를 통하지 않고 상기 다른 구성요소로 상기 데이터가 전송되는 것을 의미한다.Additionally, in this specification, when one component 'transmits' data to another component, the component may transmit the data directly to the other component, or through at least one other component. This means that the data can be transmitted to the other components. Conversely, when one component 'directly transmits' data to another component, it means that the data is transmitted from the component to the other component without going through the other component.

이하, 첨부된 도면들을 참조하여 본 발명의 실시예들을 중심으로 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.Hereinafter, the present invention will be described in detail focusing on embodiments of the present invention with reference to the attached drawings. The same reference numerals in each drawing indicate the same member.

도 1은 본 발명의 일 실시 예에 따른 네트워크 검사 시스템의 개략적인 구성을 나타내는 도면이다. 상기 네트워크 검사 시스템은 본 발명의 기술적 사상에 따른 네트워크 검사 방법을 수행할 수 있다.1 is a diagram showing the schematic configuration of a network inspection system according to an embodiment of the present invention. The network inspection system can perform a network inspection method according to the technical idea of the present invention.

도 1을 참조하면, 본 발명의 실시 예에 따른 네트워크 검사 시스템(100)은 구축모듈(120), 추출모듈(130) 및 전략 데이터베이스(150)를 포함한다. 상기 네트워크 검사 시스템(100)은 패킷캡쳐모듈(110)를 더 포함할 수 있다. 또한, 상기 네트워크 검사 시스템(100)은 보안검사모듈(140)을 더 포함할 수 있다. 또한, 상기 네트워크 검사 시스템(100)은 보안검사모듈(140) 및/또는 저장장치(160)를 더 포함할 수 있다. 본 발명의 실시예에 따라서는, 상술한 구성요소들 중 일부 구성요소는 반드시 본 발명의 구현에 필수적으로 필요한 구성요소에 해당하지 않을 수도 있으며, 또한 실시예에 따라 상기 네트워크 검사 시스템(100)은 이보다 더 많은 구성요소를 포함할 수도 있음은 물론이다. 예를 들면 상기 네트워크 검사 시스템(100)은 상기 네트워크 검사 시스템(100)에 포함된 다른 구성(예를 들면, 패킷캡쳐모듈(110), 구축모듈(120), 추출모듈(130), 보안검사모듈(140), 전략 데이터베이스(150), 저장장치(160) 등)의 기능 및/또는 리소스를 제어할 수 있는 제어모듈(미도시) 혹은 외부 장치와 통신할 수 있는 통신모듈(미도시)을 더 포함할 수 있다.Referring to FIG. 1, the network inspection system 100 according to an embodiment of the present invention includes a construction module 120, an extraction module 130, and a strategy database 150. The network inspection system 100 may further include a packet capture module 110. Additionally, the network inspection system 100 may further include a security inspection module 140. Additionally, the network inspection system 100 may further include a security inspection module 140 and/or a storage device 160. Depending on the embodiment of the present invention, some of the above-described components may not necessarily correspond to components essential for implementation of the present invention, and depending on the embodiment, the network inspection system 100 Of course, it may contain more components than this. For example, the network inspection system 100 may include other components included in the network inspection system 100 (e.g., packet capture module 110, construction module 120, extraction module 130, security inspection module). (140), strategic database 150, storage device 160, etc.) or a control module (not shown) capable of controlling the functions and/or resources of the device or a communication module (not shown) capable of communicating with an external device. It can be included.

일 실시예에서, 상기 네트워크 검사 시스템(100)은 여러 개의 네트워크 단위를 연결하여 네트워크를 구성하는 통신 장치일수 있다. 상기 네트워크 검사 시스템(100)은 라우터, 허브, 액세스 포인트, 공유기 등일 수 있다. 또는 상기 네트워크 검사 시스템(100)은 이러한 통신 장치(라우터, 허브, 액세스 포인트, 공유기 등)와 연결되어 있는 시스템일 수 있다.In one embodiment, the network inspection system 100 may be a communication device that forms a network by connecting several network units. The network inspection system 100 may be a router, hub, access point, router, etc. Alternatively, the network inspection system 100 may be a system connected to such communication devices (router, hub, access point, router, etc.).

상기 네트워크 검사 시스템(100)은 본 발명의 기술적 사상을 구현하기 위해 필요한 하드웨어 리소스(resource) 및/또는 소프트웨어를 구비할 수 있으며, 반드시 하나의 물리적인 구성요소를 의미하거나 하나의 장치를 의미하는 것은 아니다. 즉, 상기 네트워크 검사 시스템(100)은 본 발명의 기술적 사상을 구현하기 위해 구비되는 하드웨어 및/또는 소프트웨어의 논리적인 결합을 의미할 수 있으며, 필요한 경우에는 서로 이격된 장치에 설치되어 각각의 기능을 수행함으로써 본 발명의 기술적 사상을 구현하기 위한 논리적인 구성들의 집합으로 구현될 수도 있다. 또한, 상기 네트워크 검사 시스템(100)은 본 발명의 기술적 사상을 구현하기 위한 각각의 기능 또는 역할별로 별도로 구현되는 구성들의 집합을 의미할 수도 있다.The network inspection system 100 may be equipped with hardware resources and/or software necessary to implement the technical idea of the present invention, and does not necessarily mean one physical component or one device. no. In other words, the network inspection system 100 may mean a logical combination of hardware and/or software provided to implement the technical idea of the present invention, and if necessary, is installed in devices spaced apart from each other to perform each function. It may be implemented as a set of logical configurations to implement the technical idea of the present invention by performing it. Additionally, the network inspection system 100 may refer to a set of components implemented separately for each function or role to implement the technical idea of the present invention.

본 명세서에서 모듈이라 함은, 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예를 들어, 상기 모듈은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것은 아님은 본 발명의 기술분야의 평균적 전문가에게는 용이하게 추론될 수 있다.In this specification, a module may mean a functional and structural combination of hardware for carrying out the technical idea of the present invention and software for driving the hardware. For example, the module may mean a logical unit of hardware resources for executing a predetermined code and the predetermined code, and does not necessarily mean physically connected code or one type of hardware. This can be easily deduced by an average expert in the technical field of the present invention.

상기 네트워크 검사 시스템(100)은 서버 장치, 또는 서버 장치 및 상기 서버 장치에 설치되는 소프트웨어의 결합의 형태일 수 있다. 서버 장치는 단일의 장치 또는 소정의 통신 인터페이스를 통하여 연결된 복수의 장치로 구성된 장치 군으로 구현될 수 있다.The network inspection system 100 may be in the form of a server device or a combination of a server device and software installed on the server device. The server device may be implemented as a single device or a device group consisting of a plurality of devices connected through a predetermined communication interface.

한편, 상기 저장장치(160)는 본 발명의 기술적 사상을 구현하는데 필요한 데이터 및/또는 정보를 저장하는 장치일 수 있다. 일 실시예에서 상기 저장장치(160)는 데이터베이스, 비휘발성 스토리지(예를 들면, HDD, SDD 등)일 수 있다.Meanwhile, the storage device 160 may be a device that stores data and/or information necessary to implement the technical idea of the present invention. In one embodiment, the storage device 160 may be a database or non-volatile storage (eg, HDD, SDD, etc.).

상기 패킷캡쳐모듈(110)은 네트워크로부터 복수의 패킷들을 수신하고 캡쳐할 수 있다. 상기 패킷캡쳐모듈(110)은 네트워크상의 소정의 위치에 설치되어 네트워크를 통해 이동하는 패킷들을 수집할 수 있다. 일 실시예에 의하면 상기 패킷캡쳐모듈(110)은 도 1에 도시된 바와 같이 네트워크로부터 패킷들을 태핑(tapping)하는 장비로부터 상기 패킷들을 받는 태핑 모드로 상기 네트워크상에 구현될 수 있으나, 이에 한정되지 않고 네트워크 상의 패킷들이 여타의 다른 방법으로 패킷캡쳐모듈(110)로 인가될 수 있다. 상기 패킷캡쳐모듈(110)을 통과하여 네트워크상에서 이동되도록 인라인(In-line)모드로 상기 네트워크 상에 구현될 수도 있다.The packet capture module 110 can receive and capture a plurality of packets from the network. The packet capture module 110 can be installed at a predetermined location on the network to collect packets moving through the network. According to one embodiment, the packet capture module 110 may be implemented on the network in a tapping mode to receive packets from a device that taps packets from the network as shown in FIG. 1, but is not limited to this. Alternatively, packets on the network may be transmitted to the packet capture module 110 in other ways. It may be implemented on the network in in-line mode so that it passes through the packet capture module 110 and moves on the network.

예를 들어, 상기 패킷캡쳐모듈(110)은 소정의 로컬 에어리어 네트워크(LAN) 상에 존재하는 게이트웨이(gateway)의 전단 및/또는 후단에 위치하여 본 발명의 기술적 사상에 따라 네트워크 데이터를 수집할 수 있다. 상기 패킷캡쳐모듈(110)은, 예를 들어, 소정의 NIC(Network Interface Card)로 구현될 수 있지만, 이에 한정되는 것은 아니다.For example, the packet capture module 110 is located at the front and/or rear end of a gateway existing on a predetermined local area network (LAN) and can collect network data according to the technical idea of the present invention. there is. The packet capture module 110 may be implemented with, for example, a certain NIC (Network Interface Card), but is not limited thereto.

상기 구축모듈(120)은 소정의 최적화 기간 동안 전략 데이터베이스(150)를 구축할 수 있다. 상기 최적화 기간은 상기 네트워크 검사 시스템(100)의 운영자 등이 미리 지정한 기간 혹은 미리 정해진 운영 정책에 의해 결정되는 기간일 수 있다. 또는 소정의 조건을 만족하는 동안의 기간일 수도 있다.The construction module 120 can build the strategy database 150 during a predetermined optimization period. The optimization period may be a period predetermined by an operator of the network inspection system 100 or a period determined by a predetermined operation policy. Or, it may be a period of time during which certain conditions are satisfied.

상기 구축모듈(120)은 상기 최적화 기간 동안 네트워크에서 발생하는 네트워크 세션을 인식하고, 인식한 네트워크 세션에 상응하는 데이터 저장 전략을 결정하여 이를 상기 전략 데이터베이스(150)에 저장함으로써 상기 전략 데이터베이스(150)를 구축할 수 있다.The construction module 120 recognizes network sessions occurring in the network during the optimization period, determines a data storage strategy corresponding to the recognized network session, and stores it in the strategy database 150. can be built.

한편 상기 전략 데이터베이스(150)는 네트워크 세션의 프로토콜과 해당 네트워크 세션에 상응하는 데이터 추출 전략을 저장할 수 있다. 이때, 데이터 추출 전략은, 상기 최적화 대상 네트워크 세션을 구성하는 전체 패킷(full packet)으로부터 어떠한 데이터를 추출하여야 하는지에 대한 정보를 포함할 수 있다.Meanwhile, the strategy database 150 may store a protocol of a network session and a data extraction strategy corresponding to the network session. At this time, the data extraction strategy may include information on what data should be extracted from the full packets constituting the network session to be optimized.

상기 전략 데이터베이스(150)는 적어도 하나의 테이블로 구현될 수도 있으며, 상기 전략 데이터베이스(150) 에 저장된 정보를 검색, 저장, 및 관리하기 위한 별도의 DBMS(Database Management System)을 더 포함하는 의미로 사용될 수도 있다. 또한, 링크드 리스트(linked-list), 트리(Tree), 관계형 DB의 형태 등 다양한 방식으로 구현될 수 있으며, 상기 패턴 DB(130)에 저장될 정보를 저장할 수 있는 모든 데이터 저장매체 및 데이터 구조를 포함할 수 있다.The strategy database 150 may be implemented with at least one table, and will be used to further include a separate DBMS (Database Management System) for searching, storing, and managing information stored in the strategy database 150. It may be possible. In addition, it can be implemented in various ways, such as linked-list, tree, and relational DB, and can be implemented in all data storage media and data structures capable of storing information to be stored in the pattern DB 130. It can be included.

상기 추출모듈(130)은 구축된 상기 전략 데이터베이스를 이용하여 소정의 데이터 추출 기간 동안 네트워크로부터 수집된 복수의 패킷 중 적어도 일부를 추출하여 저장할 수 있다. 상기 데이터 추출 기간 역시 운영자 등이 미리 지정한 기간 혹은 미리 정해진 운영 정책에 의해 결정되는 기간일 수 있다. 또는 소정의 조건을 만족하는 동안의 기간일 수 있다. 또는 상기 데이터 추출 기간은 상기 네트워크 검사 시스템(100)이 운용되는 기간 중에서 상기 최적화 기간을 제외한 나머지 기간 중 적어도 일부일 수 있다.The extraction module 130 can extract and store at least some of the plurality of packets collected from the network during a predetermined data extraction period using the constructed strategy database. The data extraction period may also be a period designated in advance by an operator, etc., or a period determined by a predetermined operation policy. Alternatively, it may be a period during which certain conditions are satisfied. Alternatively, the data extraction period may be at least a portion of the period during which the network inspection system 100 is operated, excluding the optimization period.

상기 추출모듈(130)은 상기 데이터 추출 기간 동안 네트워크에서 발생하는 네트워크 세션을 인식하고, 인식한 네트워크 세션을 구성하는 패킷 또는 인식한 네트워크 세션에 관한 정보를 추출하여 상기 저장장치(160)에 저장할 수 있으며, 어떠한 정보를 저장할지는 상기 전략 데이터베이스에 기초하여 결정될 수 있다.The extraction module 130 may recognize a network session occurring in the network during the data extraction period, extract packets constituting the recognized network session or information about the recognized network session, and store them in the storage device 160. And what information to store can be determined based on the strategy database.

상기 구축모듈(120) 및 상기 추출모듈(130)이 수행하는 구체적인 동작에 대해서는 아래에서 도 2 및 도 3을 참조하여 보다 상세하게 설명하기로 한다.Specific operations performed by the construction module 120 and the extraction module 130 will be described in more detail below with reference to FIGS. 2 and 3.

도 2는 본 발명의 일 실시예에 따른 구축모듈(120)의 개략적인 구조를 도시한 도면이며, 도 3은 본 발명의 일 실시예에 따른 추출모듈(130)의 개략적인 구조를 도시한 도면이다.FIG. 2 is a diagram showing the schematic structure of the construction module 120 according to an embodiment of the present invention, and FIG. 3 is a diagram showing the schematic structure of the extraction module 130 according to an embodiment of the present invention. am.

도 2에 도시된 바와 같이, 상기 구축모듈(120)은 제1네트워크 세션 생성모듈(121), 제1프로토콜 판단모듈(122), 결정모듈(123) 및 전략 저장모듈(124)을 포함할 수 있으며, 도 3에 도시된 바와 같이, 상기 추출모듈(130)은 제2네트워크 세션 생성모듈(131), 제2프로토콜 판단모듈(132), 검색모듈(133) 및 데이터 저장모듈(134)을 포함할 수 있다.As shown in Figure 2, the construction module 120 may include a first network session creation module 121, a first protocol determination module 122, a decision module 123, and a strategy storage module 124. As shown in FIG. 3, the extraction module 130 includes a second network session creation module 131, a second protocol determination module 132, a search module 133, and a data storage module 134. can do.

먼저 도 2를 참조하여 상기 구축모듈(120)의 구성에 대하여 알아본다.First, let's look at the configuration of the construction module 120 with reference to FIG. 2.

상기 제1네트워크 세션 생성모듈(121)은 상기 최적화 기간 동안 네트워크로부터 수집된 복수의 패킷에 기초하여 네트워크 세션을 생성할 수 있다.The first network session creation module 121 may create a network session based on a plurality of packets collected from the network during the optimization period.

일 실시예에서, 상기 제1네트워크 세션 생성모듈(121)은 플로우에 기반하여 세션을 생성할 수 있는데, 이에 대하여 도 4를 참조하여 상세하게 설명하기로 한다.In one embodiment, the first network session creation module 121 may create a session based on a flow, which will be described in detail with reference to FIG. 4.

도 4는 본 발명의 일 실시예에 따른 제1네트워크 세션 생성모듈(121)의 개략적인 구성을 도시한 도면이다.FIG. 4 is a diagram illustrating the schematic configuration of the first network session creation module 121 according to an embodiment of the present invention.

도 4를 참조하면 상기 제1네트워크 세션 생성모듈(121)은 플로우 생성모듈(1211) 및 세션 생성모듈(1212)을 포함할 수 있다.Referring to FIG. 4, the first network session creation module 121 may include a flow creation module 1211 and a session creation module 1212.

상기 플로우 생성모듈(1211)은 상기 패킷캡쳐모듈(110)에 의해 캡쳐되는 패킷들에 기초하여 복수의 플로우들을 생성할 수 있다. 상기 패킷캡쳐모듈(110)은 상기 플로우 생성모듈(1211)로 순차적으로 패킷들을 출력할 수 있다. 그러면, 상기 플로우 생성모듈(1211) 플로우를 생성할 수 있다. 플로우를 생성한다고 함은 후술할 바와 같이 플로우 정보를 생성하는 것을 의미할 수 있다. 구현 예에 따라서는, 선택적으로 상기 플로우 생성모듈(1211)은 플로우에 포함되는 패킷을 추출하여 상기 저장장치(160)에 저장할 수도 있다. 상기 플로우 생성모듈(1211)은 플로우에 포함된 모든 패킷들을 저장할 수도 있으며, 실시예에 따라서는 일부 패킷만을 저장할 수도 있다. 상기 플로우 생성모듈(1211)은 플로우 및 해당 플로우에 포함된 모든 패킷을 임시로 상기 저장장치(160)에 저장하고, 필요한 작업이 끝난 후 저장된 패킷들 전부 혹은 일부를 삭제할 수도 있다.The flow creation module 1211 may generate a plurality of flows based on packets captured by the packet capture module 110. The packet capture module 110 can sequentially output packets to the flow creation module 1211. Then, the flow creation module 1211 can create a flow. Creating a flow may mean generating flow information, as will be described later. Depending on the implementation, the flow creation module 1211 may optionally extract packets included in the flow and store them in the storage device 160. The flow creation module 1211 may store all packets included in the flow, or may store only some packets depending on the embodiment. The flow creation module 1211 temporarily stores the flow and all packets included in the flow in the storage device 160, and may delete all or part of the stored packets after the necessary work is completed.

본 명세서에서 플로우(flow)라 함은, 제한된 시간 내에 연속적으로 전달되는 IP 패킷들의 집합을 의미한다. 따라서, IP 플로우는 애플리케이션의 주소 쌍(송신자 주소, 송신자 포트 번호, 수신자 주소, 수신자 포트 번호), 호스트 쌍(송신자 네트워크 주소, 수신자 네트워크 주소), AS 번호 쌍(송신자 AS 번호, 수신자 AS 번호) 등으로 명세되는 제한된 시간 내에 연속적으로 전달되는 IP 패킷들의 흐름으로 정의될 수 있다. 이러한 플로우에 대한 개념 및 플로우를 형성하는 방식에 대해서는 한국특허출원 제10-2008-0126888호(발명의 명칭: "네트워크 컨트롤 시스템 및 네트워크 컨트롤 방법")나 한국특허출원 제10-2011-0019891호(발명의 명칭: "네트워크 검사 시스템 및 그 제공방법") 등의 선행기술문헌에 상세히 개시되어 있으므로 본 명세서에서는 상세한 설명은 생략하도록 한다. 또한, 본 명세서에서 플로우에 대한 개념, 플로우의 생성 방법에 대해서는 상기한 선행기술문헌에 개시된 기술적 사상 및 기재를 본 명세서의 레퍼런스로 포함하며, 본 명세서의 기재에 포함되는 것으로 취급할 수 있다.In this specification, flow refers to a set of IP packets that are continuously delivered within a limited time. Therefore, an IP flow is an application's address pair (sender address, sender port number, receiver address, receiver port number), host pair (sender network address, receiver network address), AS number pair (sender AS number, receiver AS number), etc. It can be defined as a flow of IP packets that are delivered continuously within a limited time specified as . For the concept of this flow and the method of forming the flow, see Korean Patent Application No. 10-2008-0126888 (title of the invention: “Network Control System and Network Control Method”) or Korean Patent Application No. 10-2011-0019891 ( Since the invention is disclosed in detail in prior art documents such as "Network Inspection System and Method for Providing the Same"), detailed description will be omitted in this specification. In addition, regarding the concept of flow and the method of generating flow in this specification, the technical ideas and descriptions disclosed in the above-mentioned prior art documents are included as references in this specification, and may be treated as included in the description of this specification.

패킷들의 속성 중 플로우를 생성하기 위한 일 예로 5-튜플(5-tuple)을 이용할 수 있다. 즉, 플로우 생성모듈(1211)은 네트워크 상에서 패킷들을 입력으로 받아서 패킷들의 연속된 집합인 플로우를 생성하거나, 플로우를 형성하는 패킷들 중 일부를 추출할 수 있다. 플로우를 생성하거나 플로우 패킷을 검출하는 조건은 패킷들의 속성(예를 들어, 5-튜플(Source Address, Destination Address, Source Port, Destination Port, Protocol))를 비교하여 동일한 속성(예를 들어, 5-튜플 값)을 가지는 패킷이 존재하지 않으면 새로운 플로우를 생성하고, 만약에 동일한 값을 가지는 패킷이 존재하면 그 플로우의 플로우 정보를 업데이트할 수 있다.Among the properties of packets, a 5-tuple can be used as an example to create a flow. That is, the flow creation module 1211 can receive packets as input on the network and generate a flow, which is a continuous set of packets, or extract some of the packets forming the flow. The condition for generating a flow or detecting a flow packet is to compare the properties of packets (e.g., 5-tuple (Source Address, Destination Address, Source Port, Destination Port, Protocol)) to determine the same properties (e.g., 5-tuple). If a packet with the tuple value does not exist, a new flow can be created, and if a packet with the same value exists, the flow information of that flow can be updated.

패킷들의 연속된 집합이라 함은 반드시 물리적으로 연속된 패킷들을 의미하는 것이 아니라, 시간적으로 제한된 시간 내에 도달한 패킷의 속성이 동일한 패킷을 포함하는 의미로 사용될 수 있다. A continuous set of packets does not necessarily mean physically consecutive packets, but may be used to include packets with the same attributes that arrived within a temporally limited time.

상기 플로우 정보는 패킷의 5-튜플 정보를 포함하며, 플로우 사이즈(Flow Size), 지속기간(Duration) 즉, 플로우의 시작 시간(S.T) 및 종료 시간(E.T), 패킷 카운트(Packet Count, P.C), 평균 패킷 사이즈(Average Packet Size), 평균 레이트(Average Rate), 플래그(예를 들어, 프로토콜을 위한 특별한 신호(SYN, FIN 등)) 및/또는 폴로우 사이즈 등을 포함할 수 있다. 상기 플로우 정보는 저장장치(160)로 출력되어 저장될 수 있다. 상기 플로우 생성모듈(1211)은 상기 저장장치(160)에 소정의 플로우에 대한 플로우 정보 및 상기 플로우에 포함되는 패킷 중 적어도 일부를 서로 대응시켜 저장할 수 있다. 이러한 과정을 상기 플로우 생성모듈(1211)이 플로우를 생성한다고 정의할 수 있다. 예를 들어, 플로우 정보 및 플로우에 포함된 패킷이 물리적으로 연속되도록 저장될 수도 있고, 테이블, 링크 등과 같이 물리적으로는 분리되어 있더라도 용이하게 탐색될 수 있는 다양한 형태로 저장될 수 있다.The flow information includes 5-tuple information of packets, including flow size, duration, i.e., start time (S.T) and end time (E.T) of the flow, and packet count (Packet Count, P.C). , average packet size, average rate, flags (e.g., special signals for the protocol (SYN, FIN, etc.)) and/or follow size, etc. The flow information may be output to the storage device 160 and stored. The flow creation module 1211 may store flow information about a predetermined flow and at least some of the packets included in the flow in correspondence with each other in the storage device 160. This process can be defined as the flow creation module 1211 creating a flow. For example, flow information and packets included in the flow may be stored physically sequentially, or may be stored in various forms such as tables, links, etc. that can be easily searched even if they are physically separated.

상기 세션 생성모듈(1212)은 상기 플로우 생성모듈(1211)에 의해 복수의 플로우들이 생성되면, 상기 복수의 플로우들에 대한 정보에 기초하여 네트워크 세션(이하, '세션'이라고 함)을 생성할 수 있다. 세션을 생성한다고 함은 생성된 복수의 플로우들 중에서 동일한 세션을 형성하는 플로우들을 추출하고, 추출된 플로우들에 대한 식별정보를 포함하는 세션 정보를 생성하여 상기 저장장치(160)에 저장하는 것을 의미할 수 있다.When a plurality of flows are created by the flow creation module 1211, the session creation module 1212 can create a network session (hereinafter referred to as a 'session') based on information about the plurality of flows. there is. Creating a session means extracting flows forming the same session from a plurality of created flows, creating session information including identification information for the extracted flows, and storing it in the storage device 160. can do.

일 실시예에서, 플로우와 세션은 다음과 같은 방식으로 생성될 수 있다.In one embodiment, flows and sessions may be created in the following manner.

상기 플로우 생성모듈(1211)은 패킷의 5-튜플(5-tuple)을 기준으로 판단하여 해당 패킷이 종료되지 않고 남아있는 플로우에 포함되면(즉, 5-튜플 정보가 동일하면) 해당 플로우 정보를 수정하고, 해당 패킷이 해당 플로우에 종속됨을 표시할 수 있다.The flow creation module 1211 determines based on the 5-tuple of the packet, and if the packet is not terminated and is included in the remaining flows (i.e., if the 5-tuple information is the same), it generates the corresponding flow information. You can modify it and indicate that the packet is dependent on the corresponding flow.

만약 해당 패킷의 5-튜플 정보를 기준으로 판단하여 해당 패킷이 특정 플로우에 속하지 않으면 새로운 플로우를 생성하여 해당 패킷이 새로 생성된 플로우에 종속됨을 표시할 수 있다. If it is determined based on the 5-tuple information of the packet that the packet does not belong to a specific flow, a new flow can be created to indicate that the packet is dependent on the newly created flow.

새로운 플로우가 생성되면, 상기 세션 생성모듈(1212)은 플로우의 5-튜플 정보를 기준으로 판단하여 해당 플로우가 종료되지 않고 남아있는 세션에 포함되면 해당 세션 정보를 수정하고, 해당 플로우가 해당 세션에 종속됨을 표시할 수 있다. 만약 해당 플로우의 5-튜플 정보를 기초로 판단하여, 특정 세션에 속하지 않으면 새로운 세션을 생성하고 해당 플로우가 새로 생성된 세션에 종속됨을 표시할 수 있다. 만약 세션의 끝을 알리는 패킷이 수신되면 해당 패킷이 포함되는 플로우와 세션을 종료할 수 있다. 종료되지 않고 남아있는 플로우, 세션의 경우, 일정시간 동안 해당 플로우나 세션에 포함되는 패킷이 수신되지 않으면 해당 플로우와 세션은 종료될 수 있다.When a new flow is created, the session creation module 1212 determines based on the 5-tuple information of the flow, modifies the session information if the flow is not terminated and is included in the remaining sessions, and determines whether the flow is included in the session. Dependency can be indicated. If it is determined based on the 5-tuple information of the flow that it does not belong to a specific session, a new session can be created and the flow can be indicated as being dependent on the newly created session. If a packet notifying the end of a session is received, the flow and session containing the packet can be terminated. In the case of a flow or session that remains without termination, if packets included in the flow or session are not received for a certain period of time, the flow and session may be terminated.

또한 세션을 생성한다고 함은 상기 세션 정보와 함께 상기 세션에 포함된 패킷들 중 적어도 일부를 상기 세션 정보에 대응되도록 저장하는 과정을 포함하는 의미일 수 있다.Additionally, creating a session may mean including the process of storing at least some of the packets included in the session along with the session information to correspond to the session information.

상기 세션 생성모듈(1212)이 세션을 생성하는 개념은 도 5를 참조하여 설명하도록 한다. 도 5는 본 발명의 일 실시 예에 따른 네트워크 검사 방법을 위한 세션, 플로우 및 패킷을 설명하기 위한 도면이다.The concept of how the session creation module 1212 creates a session will be explained with reference to FIG. 5. Figure 5 is a diagram for explaining sessions, flows, and packets for a network inspection method according to an embodiment of the present invention.

도 5를 참조하면, 소정의 장치들끼리 세션(S)이 형성되면, 상기 세션(S)은 적어도 하나의 플로우(F)로 구성될 수 있다. 또한, 상기 적어도 하나의 플로우는 각각 적어도 하나의 패킷(P)으로 구성될 수 있다.Referring to FIG. 5, when a session (S) is formed between certain devices, the session (S) may be composed of at least one flow (F). Additionally, the at least one flow may each consist of at least one packet (P).

본 발명의 기술적 사상에 의하면, 상기 네트워크 검사 시스템(100)은 소정의 네트워크상의 일 지점을 경유하는 패킷들을 수집할 수 있다. 이는 상기 패킷캡쳐모듈(110)에 의해 수행될 수 있다.According to the technical idea of the present invention, the network inspection system 100 can collect packets passing through a point on a predetermined network. This can be performed by the packet capture module 110.

그리고 수집되는 패킷들의 패킷 속성(예를 들어, 5-튜플 등)에 기초하여 상기 네트워크 검사 시스템(100)은 플로우를 생성할 수 있다. 플로우의 생성방법에 대해서는 상술한 바와 같다. 이러한 플로우의 생성은 플로우 생성모듈(1211)에 의해 수행될 수 있다. 각각의 플로우는 하나의 패킷만으로 구성될 수도 있고, 복수의 패킷들로 구성될 수도 있다. 또한 플로우 별로 플로우 사이즈가 다를 수도 있다.And the network inspection system 100 can generate a flow based on the packet properties (eg, 5-tuple, etc.) of the collected packets. The flow creation method is the same as described above. The creation of this flow can be performed by the flow creation module 1211. Each flow may consist of only one packet or multiple packets. Additionally, the flow size may be different for each flow.

이처럼 플로우가 생성되면 상기 세션 생성모듈(1212)은 세션을 생성할 수 있다.When a flow is created in this way, the session creation module 1212 can create a session.

세션을 생성하기 위해 상기 세션 생성모듈(1212)은 저장장치(160)에 저장된 플로우 정보를 확인할 수 있다. 동일한 세션에 포함되는 플로우들은 공통되는 특성을 가질 수 있다. 따라서 상기 세션 생성모듈(1212)은 상기 저장장치(160)에 저장된 플로우들 중 상기 공통되는 특성을 가진 플로우들을 탐색할 수 있다. 또한 플로우 정보(예를 들어, 플로우 정보에 포함되는 S.T, E.T 등의 정보)에 기초하여 각각의 플로우의 시간적 우선순위를 파악할 수 있다. 상기 세션 생성모듈(1212)은 각각의 세션 형성 플로우의 플로우 정보에 포함되는 플래그 정보에 기초하여 해당 세션의 최선 플로우 및 최후 플로우를 파악할 수도 있다.To create a session, the session creation module 1212 can check the flow information stored in the storage device 160. Flows included in the same session may have common characteristics. Accordingly, the session creation module 1212 can search for flows with the common characteristics among the flows stored in the storage device 160. Additionally, the temporal priority of each flow can be determined based on flow information (for example, information such as S.T., E.T., etc. included in the flow information). The session creation module 1212 may determine the best flow and last flow of the session based on flag information included in the flow information of each session creation flow.

따라서 상기 세션 생성모듈(1212)은 특정 세션에 포함되는 적어도 하나의 플로우 즉, 세션 형성 플로우를 추출할 수 있다. 상기 세션 형성 플로우는 하나의 플로우일 수도 있고, 복수의 플로우들을 포함할 수도 있다.Accordingly, the session creation module 1212 can extract at least one flow included in a specific session, that is, a session creation flow. The session establishment flow may be one flow or may include multiple flows.

상기 세션 생성모듈(1212)은 상기 플로우 생성모듈(1211)이 생성한 복수의 플로우들에 기초하여 세션을 생성할 수 있다. 즉, 세션정보를 생성할 수 있다. The session creation module 1212 may create a session based on a plurality of flows created by the flow creation module 1211. In other words, session information can be created.

상기 세션 정보는 적어도 상기 세션에 포함되는 적어도 하나의 플로우 즉, 세션 형성 플로우들 각각의 인덱스(식별정보)를 포함할 수 있다. 또한, 상기 세션의 특성을 나타내는 다양한 정보들이 상기 세션 정보에 더 포함될 수 있다.The session information may include an index (identification information) of at least one flow included in the session, that is, each session formation flow. Additionally, various information indicating characteristics of the session may be further included in the session information.

다시 도 2를 참조하면, 상기 제1네트워크 세션 생성모듈(121)에 의해 네트워크 세션이 생성될 때마다, 상기 제1프로토콜 판단모듈(122)은 생성된 네트워크 세션의 프로토콜을 판단할 수 있다. 네트워크 세션의 프로토콜은 잘 알려져 있다시피 서로 통신하는 두 엔티티 간의 통신 규약으로서, HTTP, HTTPS, FTP, SMTP 등을 예로 들 수 있다. Referring again to FIG. 2, whenever a network session is created by the first network session creation module 121, the first protocol determination module 122 may determine the protocol of the created network session. As is well known, the network session protocol is a communication protocol between two entities that communicate with each other, and examples include HTTP, HTTPS, FTP, and SMTP.

이하에서는 후술할 제2네트워크 세션 생성모듈(131)에 의해 생성된 네트워크 세션과 구분하기 위하여, 상기 최적화 기간 동안 상기 제1네트워크 세션 생성모듈(121)에 의해 생성된 각각의 네트워크 세션을 최적화 대상 네트워크 세션이라고 부르기로 한다.Hereinafter, in order to distinguish it from the network session created by the second network session creation module 131, which will be described later, each network session created by the first network session creation module 121 during the optimization period is connected to the optimization target network. Let’s call it a session.

상기 제1프로토콜 판단모듈(122)은, 예를 들어, 세션을 구성하는 패킷들에 대한 심층 패킷 검사(Deep Packet Inspection; DPI)을 수행하여 최적화 대상 네트워크 세션의 프로토콜을 판단할 수 있다. For example, the first protocol determination module 122 may determine the protocol of the network session to be optimized by performing deep packet inspection (DPI) on the packets constituting the session.

상기 결정모듈(123)은 상기 최적화 대상 네트워크 세션에 상응하는 데이터 추출 전략을 결정할 수 있다. 상술한 바와 같이 상기 최적화 대상 네트워크 세션에 상응하는 데이터 추출 전략은, 상기 최적화 대상 네트워크 세션을 구성하는 전체 패킷(full packet)으로부터 어떠한 데이터를 추출하여야 하는지에 대한 정보를 포함할 수 있다.The decision module 123 may determine a data extraction strategy corresponding to the network session to be optimized. As described above, the data extraction strategy corresponding to the network session to be optimized may include information about what data should be extracted from the full packets constituting the network session to be optimized.

상기 최적화 대상 네트워크 세션에 상응하는 데이터 추출 전략으로 선정될 수 있는 복수의 후보 데이터 추출 전략이 미리 정해져 있을 수 있으며, 상기 결정모듈(123)은 미리 정해진 복수의 후보 데이터 추출 전략 중 어느 하나를 상기 최적화 대상 네트워크 세션에 상응하는 데이터 추출 전략으로 결정할 수 있다.A plurality of candidate data extraction strategies that can be selected as the data extraction strategy corresponding to the network session to be optimized may be predetermined, and the decision module 123 selects one of the plurality of predetermined candidate data extraction strategies to optimize the optimization. It can be determined by a data extraction strategy corresponding to the target network session.

복수의 후보 데이터 추출 전략은, 예를 들어, 다음과 같은 것을 포함할 수 있다.The plurality of candidate data extraction strategies may include, for example:

i) 네트워크 메타-데이터를 추출하는 전략(여기서, 네트워크 메타-데이터는 세션 정보 및/또는 플로우 정보를 포함함)i) Strategy for extracting network meta-data, where network meta-data includes session information and/or flow information

ii) 콘텐츠 메타-데이터를 추출하는 전략(여기서, 콘텐츠 메타-데이터는 세션이 포함하고 있는 콘텐츠 정보, 파일의 해쉬정보 및/또는 헤더 정보를 포함함)ii) Strategy for extracting content meta-data (here, content meta-data includes content information contained in the session, hash information of the file, and/or header information)

iii) 네트워크 메타-데이터 및 콘텐츠 메타-데이터를 추출하는 전략iii) Strategy to extract network meta-data and content meta-data

iv) 네트워크 세션을 구성하는 패킷들 중에서 소정의 선별기준에 의해 선별된 일부 패킷을 추출하는 전략iv) A strategy to extract some packets selected according to predetermined selection criteria from among the packets that constitute a network session

v) 네트워크 메타-데이터, 콘텐츠 메타-데이터, 및 네트워크 세션을 구성하는 패킷들 중에서 소정의 선별기준에 의해 선별된 일부 패킷을 추출하는 전략v) Strategy for extracting some packets selected according to predetermined selection criteria from among network meta-data, content meta-data, and packets constituting a network session

vi) 네트워크 세션을 구성하는 전체 패킷을 추출하는 전략vi) Strategy to extract the entire packets that make up a network session

이외에도 다양한 후보 데이터 추출 전략이 있음은 물론이다,Of course, there are various candidate data extraction strategies.

한편, 상기 소정의 선별기준에 의해 선별된 일부 패킷을 추출하는 전략은 다양한 하위 전략을 포함할 수 있다. 예를 들어, 상기 소정의 선별기준에 의해 선별된 일부 패킷을 추출하는 전략은, 세션의 초기 K개의 선행 패킷을 추출하는 전략, 네트워크 세션을 구성하는 전체 패킷 중 페이로드를 포함하는 최초의 페이로드 패킷으로부터 K개의 후속 패킷을 추출하는 전략, 세션의 마지막 K개의 선행 패킷을 추출하는 전략 등을 포함할 수 있다.Meanwhile, the strategy for extracting some packets selected according to the predetermined selection criteria may include various sub-strategies. For example, the strategy for extracting some packets selected according to the above predetermined selection criteria is the strategy for extracting the initial K preceding packets of the session, the first payload including the payload among all packets constituting the network session. It may include a strategy for extracting K subsequent packets from a packet, a strategy for extracting the last K preceding packets of a session, etc.

한편, 상기 결정모듈(123)은, 상기 최적화 대상 네트워크 세션을 구성하는 전체 패킷을 대상으로 일련의 네트워크 보안검사를 수행하여 기준 보안위협 검출 정확도를 산출하고, 복수의 후보 데이터 추출 전략 중에서 하기 [선정 조건]을 만족하는 후보 데이터 추출 전략 중 어느 하나를 상기 최적화 대상 네트워크 세션에 상응하는 데이터 추출 전략으로 결정할 수 있다.Meanwhile, the decision module 123 calculates the standard security threat detection accuracy by performing a series of network security checks on all packets constituting the optimization target network session, and selects the following [selected] from a plurality of candidate data extraction strategies. One of the candidate data extraction strategies that satisfies [condition] can be determined as the data extraction strategy corresponding to the network session to be optimized.

[선정 조건][Selection conditions]

상기 최적화 대상 네트워크 세션을 구성하는 전체 패킷에서 해당 후보 데이터 추출 전략에 의해 추출한 데이터를 대상으로 상기 일련의 네트워크 보안검사를 수행하여 산출한 보안위협 검출 정확도와 상기 기준 보안위협 검출 정확도 간의 차이가 소정의 기준치 이하일 것.The difference between the security threat detection accuracy calculated by performing the series of network security checks on data extracted by the candidate data extraction strategy from all packets constituting the optimization target network session and the reference security threat detection accuracy is determined by a predetermined value. Must be below the standard.

상기 일련의 네트워크 보안검사는 검사시점에서 알려진 즉, 상기 네트워크 검사 시스템(100)에 저장되어서 적용 가능한 보안 룰셋의 집합일 수 있다. 보안 룰셋은 복수의 보안 룰을 포함하는 의미일 수 있다. 또한 각각의 보안 룰은 보안 검사의 기준이 되는 규칙을 포함할 수 있다. 예를 들어, 패킷에 특정 패턴의 비트 스트림이 존재하거나, 패킷의 어떤 위치에 어떤 값 또는 텍스트가 존재하거나, 어떤 포트(port)로 수신되는 패킷이거나, 및/또는 패킷의 출발지 또는 목적지가 어떠한 값이거나 등의 규칙들이 적어도 하나 조합되어서 보안 룰을 형성할 수 있다. 이러한 보안 룰은 신규 보안 위협이 발생할 때마다 상기 네트워크 검사 시스템(100)에 해당 신규 보안 위협의 종류나 특징 그리고 이에 대응되는 보안 룰이 업데이트될 수 있음은 물론이다.The series of network security inspections may be a set of security rule sets known at the time of inspection, that is, stored in the network inspection system 100 and applicable. A security rule set may mean including multiple security rules. Additionally, each security rule may include rules that serve as standards for security inspection. For example, there is a bit stream of a specific pattern in the packet, a certain value or text exists at a certain position in the packet, the packet is received on a certain port, and/or the source or destination of the packet is a certain value. At least one rule such as or can be combined to form a security rule. Of course, these security rules can be updated in the network inspection system 100 whenever a new security threat occurs, along with the type or characteristics of the new security threat and the corresponding security rules.

상기 보안위협 검출 정확도는, 예를 들어, 미리 정해진 복수의 개별 네트워크 보안검사를 수행했을 때, 보안 위협이 발생했다고 판단된 개별 보안검사의 개수일 수 있다. 또는 각각의 보안검사에 따른 보안 위협 발견 유무에 소정의 보안검사 별 가중치를 반영한 결과일 수도 있다.For example, the security threat detection accuracy may be the number of individual security checks in which it is determined that a security threat has occurred when a plurality of predetermined individual network security checks are performed. Alternatively, it may be the result of reflecting a given weight for each security check on the presence or absence of security threats according to each security check.

상기 선정 조건에 명시된 상기 소정의 기준치는 미리 정해진 수치 혹운 비율일 수 있다. 예를 들어, 상기 선정 조건은 두 보안위협 검출 정확도의 차이가 소정의 수치 이하인 경우에 만족된 것으로 볼 수도 있으며, 두 보안위협 검출 정확도의 비율이 소정의 수치 이하인 경우에 만족된 것으로 볼 수도 있다.The predetermined standard value specified in the selection conditions may be a predetermined numerical heavy cloud ratio. For example, the above selection condition may be considered satisfied when the difference between two security threat detection accuracies is less than a predetermined value, and it can also be considered satisfied when the ratio of the two security threat detection accuracies is less than a predetermined value.

이렇게 함으로써, 상기 네트워크 검사 시스템(100)은 전체 패킷 캡쳐(full packet capture) 대비 일정 수준의 보안수준을 유지할 수 있을 정도로 네트워크 세션 데이터를 추출하는 전략을 선정할 수 있다.By doing this, the network inspection system 100 can select a strategy for extracting network session data to the extent that it can maintain a certain level of security compared to full packet capture.

한편, 상기 복수의 후보 데이터 추출 전략은 우선 순위가 정해져 있으며, 상기 최적화 대상 네트워크 세션에 상응하는 데이터 추출 전략은 상기 [선정 조건]을 만족하는 후보 데이터 추출 전략 중 가장 우선 순위가 높은 것일 수 있다. Meanwhile, the plurality of candidate data extraction strategies are prioritized, and the data extraction strategy corresponding to the optimization target network session may be the highest priority among the candidate data extraction strategies that satisfy the [selection condition].

특히, 상기 복수의 후보 데이터 추출 전략은 해당 전략에 의해 추출되는 데이터의 크기가 커질 수록 우선순위가 낮아지도록 미리 정해질 수 있다. 예를 들어, 상기 복수의 후보 데이터 추출 전략은, 우선순위가 높은 것에서 낮은 것 순으로, 네트워크 메타 데이터를 추출하는 전략, 네트워크 메타 데이터 및 컨텐츠 메타 데이터를 추출하는 전략, 네트워크 메타 데이터, 컨텐츠 메타 데이터 및 소정의 선별기준에 의해 선별된 일부 패킷을 추출하는 전략, 및 전체 패킷을 추출하는 전략을 포함할 수 있다. 물론 이 경우에도 상기 결정모듈(123)에 의해 결정되는 데이터 추출 전략은 상기 [선정 조건]을 만족할 수 있다.In particular, the plurality of candidate data extraction strategies may be predetermined so that the priority decreases as the size of data extracted by the strategy increases. For example, the plurality of candidate data extraction strategies include, in order of priority from high to low, a strategy for extracting network metadata, a strategy for extracting network metadata and content metadata, network metadata, and content metadata. and a strategy for extracting some packets selected according to predetermined selection criteria, and a strategy for extracting all packets. Of course, even in this case, the data extraction strategy determined by the decision module 123 can satisfy the above [selection conditions].

이렇게 함으로써, 상기 네트워크 검사 시스템은 일정 수준의 보안수준을 유지할 수 있으면서도 가장 데이터 저장 비용이 적게 되도록 데이터를 추출하는 전략을 선정할 수 있다.By doing this, the network inspection system can select a data extraction strategy that can maintain a certain level of security and minimize data storage costs.

상술한 바와 같이, 상기 복수의 후보 데이터 추출 전략은, 네트워크 세션을 구성하는 전체 패킷 중 초기 K개의 선행 패킷을 추출하는 전략을 포함할 수 있다. 여기서, K는 Nmin <= K <= Nmax를 만족하는 임의의 자연수이며, Nmin과 Nmax는 Nmin < Nmax를 만족하는 미리 정해진 자연수이다. 이 경우, 상기 결정모듈(123)은 Nmin개의 선행패킷을 추출하여 미리 정해진 일련의 네트워크 보안검사를 수행할 수 있으며, 상기 [선정조건]이 만족되는지 여부를 판단할 수 있다. 만약 상기 [선정조건]이 만족되지 않는 경우 상기 결정모듈(123)은 K를 소정의 증가분만큼 증가시키면서 선행패킷을 추출하여 상기 일련의 네트워크 보안검사를 수행하고 상기 [선정조건]이 만족되는지 여부를 판단할 수 있다. 상기 결정모듈(123)은 상기 [선정조건]이 만족되면서 가장 최소값인 K를 결정할 수 있다.As described above, the plurality of candidate data extraction strategies may include a strategy for extracting initial K preceding packets from all packets constituting a network session. Here, K is a random natural number satisfying N min <= K <= N max , and N min and N max are predetermined natural numbers satisfying N min < N max . In this case, the decision module 123 can extract N min preceding packets, perform a predetermined series of network security checks, and determine whether the [selection condition] is satisfied. If the [selection condition] is not satisfied, the decision module 123 extracts the preceding packet while increasing K by a predetermined increment, performs the series of network security checks, and determines whether the [selection condition] is satisfied. You can judge. The decision module 123 can determine K, which is the minimum value, while satisfying the [selection condition].

또한 일 실시예에서, 상기 복수의 후보 데이터 추출 전략은, 네트워크 세션을 구성하는 전체 패킷 중 페이로드를 포함하는 최초의 페이로드 패킷으로부터 K개의 후속 패킷을 추출하는 전략을 포함할 수 있다. 여기서, K는 Nmin <= K <= Nmax를 만족하는 임의의 자연수이며, Nmin과 Nmax는 Nmin < Nmax를 만족하는 미리 정해진 자연수이다. 이 경우에도, 상기 결정모듈(123)은 Nmin개의 선행패킷을 추출하여 미리 정해진 일련의 네트워크 보안검사를 수행할 수 있으며, 상기 [선정조건]이 만족되는지 여부를 판단할 수 있다. 만약 상기 [선정조건]이 만족되지 않는 경우 상기 결정모듈(123)은 K를 소정의 증가분만큼 증가시키면서 선행패킷을 추출하여 상기 일련의 네트워크 보안검사를 수행하고 상기 [선정조건]이 만족되는지 여부를 판단할 수 있다. 상기 결정모듈(123)은 상기 [선정조건]이 만족되면서 가장 최소값인 K를 결정할 수 있다.Additionally, in one embodiment, the plurality of candidate data extraction strategies may include a strategy of extracting K subsequent packets from the first payload packet including the payload among all packets constituting the network session. Here, K is a random natural number satisfying N min <= K <= N max , and N min and N max are predetermined natural numbers satisfying N min < N max . In this case as well, the decision module 123 can extract N min preceding packets, perform a predetermined series of network security checks, and determine whether the [selection condition] is satisfied. If the [selection condition] is not satisfied, the decision module 123 extracts the preceding packet while increasing K by a predetermined increment, performs the series of network security checks, and determines whether the [selection condition] is satisfied. You can judge. The decision module 123 can determine K, which is the minimum value, while satisfying the [selection condition].

도 6은 본 발명의 일 실시예에 따른 결정모듈(123)이 네트워크 세션에 상응하는 데이터 추출 전략을 결정하는 과정을 개략적으로 도시한 흐름도이다.Figure 6 is a flowchart schematically showing a process by which the decision module 123 determines a data extraction strategy corresponding to a network session according to an embodiment of the present invention.

도 6을 참조하면, 상기 결정모듈(123)은 상기 최적화 대상 네트워크 세션을 구성하는 전체 패킷을 대상으로 일련의 네트워크 보안검사를 수행하여 기준 보안위협 검출 정확도를 산출할 수 있다(S100).Referring to FIG. 6, the decision module 123 can calculate the standard security threat detection accuracy by performing a series of network security checks on all packets constituting the optimization target network session (S100).

상기 결정모듈(123)은 미리 결정된 복수의 후보 데이터 추출 전략(s1 내지 sN) 각각에 대하여(S110), 해당 후보 데이터 추출 전략에 의해 추출된 데이터로 상기 일련의 보안회귀검사를 수행했을 때의 보안위협 검출 정확도 산출할 수 있다(S120).When the decision module 123 performs the series of security regression tests on the data extracted by the candidate data extraction strategy (S110) for each of the plurality of predetermined candidate data extraction strategies (s 1 to s N ), Security threat detection accuracy can be calculated (S120).

만약 상기 [선정조건]이 만족된다면, 즉 상기 최적화 대상 네트워크 세션을 구성하는 전체 패킷에서 해당 후보 데이터 추출 전략에 의해 추출한 데이터를 대상으로 상기 일련의 네트워크 보안검사를 수행하여 산출한 보안위협 검출 정확도와 상기 기준 보안위협 검출 정확도 간의 차이가 소정의 기준치 이하이면(S130), 해당 후보 데이터 추출 전략을 상기 최적화 대상 네트워크 세션에 상응하는 데이터 추출 전략으로 결정할 수 있다(S140).If the above [selection conditions] are satisfied, that is, the security threat detection accuracy and If the difference between the standard security threat detection accuracies is less than a predetermined standard value (S130), the candidate data extraction strategy may be determined as the data extraction strategy corresponding to the network session to be optimized (S140).

이떼, 후보 데이터 추출 전략 s1, s2, s3, … , sN 각각은 미리 정해진 데이터 추출 전략으로서, 해당 전략에 의해 추출되는 데이터의 크기가 커질 수록 우선순위가 낮아지는 전략일 수 있다.Here, candidate data extraction strategy s 1 , s 2 , s 3 , … , s N each is a predetermined data extraction strategy, and may be a strategy in which priority is lowered as the size of data extracted by the strategy increases.

다시 도 2를 참조하면, 상기 전략 저장모듈(124)은 상기 최적화 대상 네트워크 세션의 프로토콜과 데이터 추출 전략을 대응시켜 상기 전략 데이터베이스(150)에 저장할 수 있다.Referring again to FIG. 2, the strategy storage module 124 may store the protocol of the optimization target network session and the data extraction strategy in the strategy database 150.

이하에서는 도 3를 참조하여 상기 추출모듈(130)의 구성에 대하여 알아본다.Hereinafter, the configuration of the extraction module 130 will be described with reference to FIG. 3.

도 3에 도시되어 있는 바와 같이, 상기 추출모듈(130)은 제2네트워크 세션 생성모듈(131), 제2프로토콜 판단모듈(132), 검색모듈(133), 및 데이터 저장모듈(134)을 포함할 수 있다.As shown in FIG. 3, the extraction module 130 includes a second network session creation module 131, a second protocol determination module 132, a search module 133, and a data storage module 134. can do.

상기 제2네트워크 세션 생성모듈(131) 상기 데이터 추출 기간 동안 네트워크로부터 수집된 복수의 패킷에 기초하여 네트워크 세션을 생성할 수 있다. 상기 제2네트워크 세션 생성모듈(131)은 상기 데이터 추출 기간 동안 패킷을 수집하여 네트워크 세션을 생성한다는 점을 제외하면 상기 제1네트워크 세션 생성모듈(121)과 거의 동일한 작업을 수행하므로 이하에서는 상세한 설명은 생략하기로 한다.The second network session creation module 131 may create a network session based on a plurality of packets collected from the network during the data extraction period. The second network session creation module 131 performs almost the same tasks as the first network session creation module 121 except that it collects packets during the data extraction period and creates a network session, so detailed description will be given below. will be omitted.

상기 제2네트워크 세션 생성모듈(131)에 의해 네트워크 세션이 생성될 때마다, 상기 제2프로토콜 판단모듈(132)은 생성된 네트워크 세션의 프로토콜을 판단할 수 있다.Each time a network session is created by the second network session creation module 131, the second protocol determination module 132 may determine the protocol of the created network session.

또한 검색모듈(133)은 상기 전략 데이터베이스(150)에서 추출 대상 네트워크 세션의 프로토콜에 대응되는 데이터 추출 전략을 검색할 수 있다. 상기 추출 대상 네트워크 세션은 상기 추출 기간 동안 상기 제2네트워크 세션 생성모듈(131)에 의해 생성된 네트워크 세션이다.Additionally, the search module 133 may search the strategy database 150 for a data extraction strategy corresponding to the protocol of the network session to be extracted. The extraction target network session is a network session created by the second network session creation module 131 during the extraction period.

상기 데이터저장모듈(134)은 상기 추출 대상 네트워크 세션의 프로토콜에 대응되는 데이터 추출 전략에 따라 상기 추출 대상 네트워크 세션 내의 전체 패킷으로부터 데이터를 추출하여 상기 저장장치(160)에 저장할 수 있다.The data storage module 134 may extract data from all packets in the extraction target network session according to a data extraction strategy corresponding to the protocol of the extraction target network session and store it in the storage device 160.

다시 도 1을 참조하면, 상기 보안 검사모듈(140)은 상기 추출 대상 네트워크 세션에서 추출된 패킷에 기초하여 상기 추출 대상 네트워크 세션에 대한 대한 네트워크 보안검사를 수행할 수 있다. 보안 검사를 수행하는 방식은 다양할 수 있으며, 예를 들어 종래의 IDS(Intrusion Detection System) 등이 이용될 수도 있다. 상기 보안 검사모듈(140)의 검사결과는 상기 저장장치(160)에 저장될 수 있음은 물론이다. Referring again to FIG. 1, the security check module 140 may perform a network security check on the network session to be extracted based on packets extracted from the network session to be extracted. Methods for performing security checks may vary, and for example, a conventional IDS (Intrusion Detection System) may be used. Of course, the test results of the security check module 140 can be stored in the storage device 160.

도 7은 본 발명의 일 실시예에 따른 네트워크 보안 방법 중에서 전략 데이터베이스를 구축하는 과정을 도시한 흐름도이다. 도 7에 도시된 S200 내지 S230 단계는 소정의 최적화 기간 동안 반복적으로 수행될 수 있다.Figure 7 is a flowchart showing the process of building a strategy database among the network security methods according to an embodiment of the present invention. Steps S200 to S230 shown in FIG. 7 may be performed repeatedly for a predetermined optimization period.

도 7을 참조하면, 상기 네트워크 보안 시스템(100)은 네트워크로부터 수집된 복수의 패킷에 기초하여 최적화 대상 네트워크 세션을 생성할 수 있다(S200).Referring to FIG. 7, the network security system 100 may create a network session to be optimized based on a plurality of packets collected from the network (S200).

상기 네트워크 보안 시스템(100)은 상기 최적화 기간 동안 생성된 네트워크 세션인 최적화 대상 네트워크 세션의 프로토콜을 판단할 수 있다(S210).The network security system 100 may determine the protocol of the network session to be optimized, which is the network session created during the optimization period (S210).

상기 네트워크 보안 시스템(100)은 상기 최적화 대상 네트워크 세션에 상응하는 데이터 추출 전략을 결정할 수 있다. 이때 상술한 바와 같이, 상기 네트워크 보안 시스템(100)은 상기 최적화 대상 네트워크 세션을 구성하는 전체 패킷을 대상으로 일련의 네트워크 보안검사를 수행하여 기준 보안위협 검출 정확도를 산출하고, 복수의 후보 데이터 추출 전략 중에서 상기 [선정 조건]을 만족하는 후보 데이터 추출 전략 중 어느 하나를 상기 최적화 대상 네트워크 세션에 상응하는 데이터 추출 전략으로 결정할 수 있다.The network security system 100 may determine a data extraction strategy corresponding to the network session to be optimized. At this time, as described above, the network security system 100 performs a series of network security checks on all packets constituting the optimization target network session to calculate a standard security threat detection accuracy and a plurality of candidate data extraction strategies. Among the candidate data extraction strategies that satisfy the [selection conditions], one of the candidate data extraction strategies may be determined as the data extraction strategy corresponding to the network session to be optimized.

이후 상기 네트워크 보안 시스템(100)은 상기 최적화 대상 네트워크 세션의 프로토콜과 데이터 추출 전략을 대응시켜 상기 데이터베이스에 저장할 수 있다(S230).Thereafter, the network security system 100 may match the protocol of the optimization target network session and the data extraction strategy and store them in the database (S230).

도 8은 본 발명의 일 실시예에 따른 네트워크 보안 방법 중에서 네트워크 세션에서 데이터를 추출하는 과정을 도시한 흐름도이다. 도 8에 도시된 S300 내지 S330 단계는 소정의 추출 기간 동안 반복적으로 수행될 수 있다.Figure 8 is a flowchart showing a process of extracting data from a network session among the network security methods according to an embodiment of the present invention. Steps S300 to S330 shown in FIG. 8 may be performed repeatedly for a predetermined extraction period.

상기 네트워크 보안 시스템(100)은 네트워크로부터 수집된 복수의 패킷에 기초하여 추출 대상 네트워크 세션을 생성할 수 있다(S300)The network security system 100 may create a network session to be extracted based on a plurality of packets collected from the network (S300).

상기 네트워크 보안 시스템(100)은 상기 데이터 추출 기간 동안 생성된 네트워크 세션인 추출 대상 네트워크 세션의 프로토콜을 판단할 수 있다(S310)The network security system 100 may determine the protocol of the network session to be extracted, which is the network session created during the data extraction period (S310).

상기 네트워크 보안 시스템(100)은 상기 전략 데이터베이스에서 상기 추출 대상 네트워크 세션의 프로토콜에 대응되는 데이터 추출 전략을 검색할 수 있다(S320)The network security system 100 may search the strategy database for a data extraction strategy corresponding to the protocol of the network session to be extracted (S320).

상기 네트워크 보안 시스템(100)은 상기 추출 대상 네트워크 세션의 프로토콜에 대응되는 데이터 추출 전략에 따라 상기 추출 대상 네트워크 세션 내의 전체 패킷으로부터 데이터를 추출하여 저장할 수 있다(S330).The network security system 100 may extract and store data from all packets in the extraction target network session according to a data extraction strategy corresponding to the protocol of the extraction target network session (S330).

한편, 구현 예에 따라서, 상기 네트워크 검사 시스템(100)는 적어도 하나의 프로세서 및 상기 프로세서에 의해 실행되는 프로그램을 저장하는 메모리를 포함할 수 있다. 상기 프로세서는 싱글 코어 CPU혹은 멀티 코어 CPU를 포함할 수 있다. 메모리는 고속 랜덤 액세스 메모리를 포함할 수 있고 하나 이상의 자기 디스크 저장 장치, 플래시 메모리 장치, 또는 기타 비휘발성 고체상태 메모리 장치와 같은 비휘발성 메모리를 포함할 수도 있다. 프로세서 및 기타 구성 요소에 의한 메모리로의 액세스는 메모리 컨트롤러에 의해 제어될 수 있다.Meanwhile, depending on the implementation, the network inspection system 100 may include at least one processor and a memory that stores a program executed by the processor. The processor may include a single core CPU or a multi-core CPU. The memory may include high-speed random access memory and may also include non-volatile memory, such as one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid-state memory devices. Access to memory by processors and other components may be controlled by a memory controller.

한편, 본 발명의 실시예에 따른 네트워크 검사 방법은 컴퓨터가 읽을 수 있는 프로그램 명령 형태로 구현되어 컴퓨터로 읽을 수 있는 기록 매체에 저장될 수 있다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.Meanwhile, the network inspection method according to an embodiment of the present invention may be implemented in the form of computer-readable program instructions and stored in a computer-readable recording medium. Computer-readable recording media include all types of recording devices that store data that can be read by a computer system.

기록 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 소프트웨어 분야 당업자에게 공지되어 사용 가능한 것일 수도 있다.Program instructions recorded on the recording medium may be those specifically designed and configured for the present invention, or may be known and available to those skilled in the software field.

컴퓨터로 읽을 수 있는 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and floptical disks. Includes magneto-optical media such as ROM, RAM, flash memory, and other hardware devices specifically configured to store and execute program instructions. Additionally, computer-readable recording media can be distributed across computer systems connected to a network, so that computer-readable code can be stored and executed in a distributed manner.

프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 전자적으로 정보를 처리하는 장치, 예를 들어, 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.Examples of program instructions include not only machine code such as that created by a compiler, but also high-level language code that can be executed by a device that electronically processes information using an interpreter, for example, a computer.

상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성요소들도 결합된 형태로 실시될 수 있다.The description of the present invention described above is for illustrative purposes, and those skilled in the art will understand that the present invention can be easily modified into other specific forms without changing the technical idea or essential features of the present invention. will be. Therefore, the embodiments described above should be understood in all respects as illustrative and not restrictive. For example, each component described as unitary may be implemented in a distributed manner, and similarly, components described as distributed may also be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타나며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the claims described below rather than the detailed description above, and all changes or modified forms derived from the meaning and scope of the claims and their equivalent concepts should be construed as being included in the scope of the present invention. .

Claims (18)

소정의 최적화 기간 동안 전략 데이터베이스를 구축하는 구축모듈; 및
구축된 상기 전략 데이터베이스를 이용하여 소정의 데이터 추출 기간 동안 네트워크로부터 수집된 복수의 패킷 중 적어도 일부를 추출하여 저장하는 추출모듈을 포함하되,
상기 구축모듈은,
상기 최적화 기간 동안 네트워크로부터 수집된 복수의 패킷에 기초하여 네트워크 세션을 생성하는 제1네트워크 세션 생성모듈;
상기 최적화 기간 동안 상기 제1네트워크 세션 생성모듈에 의해 생성된 네트워크 세션인 최적화 대상 네트워크 세션의 프로토콜을 판단하는 제1프로토콜 판단모듈;
상기 최적화 대상 네트워크 세션에 상응하는 데이터 추출 전략을 결정하는 결정모듈-여기서 상기 최적화 대상 네트워크 세션에 상응하는 데이터 추출 전략은, 상기 최적화 대상 네트워크 세션을 구성하는 전체 패킷(full packet)으로부터 어떠한 데이터를 추출하여야 하는지에 대한 정보를 포함함; 및
상기 최적화 대상 네트워크 세션의 프로토콜과 데이터 추출 전략을 대응시켜 상기 전략 데이터베이스에 저장하는 전략저장모듈을 포함하고,
상기 추출모듈은,
상기 데이터 추출 기간 동안 네트워크로부터 수집된 복수의 패킷에 기초하여 네트워크 세션을 생성하는 제2네트워크 세션 생성모듈;
상기 데이터 추출 기간 동안 상기 제2네트워크 세션 생성모듈에 의해 생성된 네트워크 세션인 추출 대상 네트워크 세션의 프로토콜을 판단하는 제2프로토콜 판단모듈;
상기 전략 데이터베이스에서 상기 추출 대상 네트워크 세션의 프로토콜에 대응되는 데이터 추출 전략을 검색하는 검색모듈;
상기 추출 대상 네트워크 세션의 프로토콜에 대응되는 데이터 추출 전략에 따라 상기 추출 대상 네트워크 세션 내의 전체 패킷으로부터 데이터를 추출하여 저장하는 데이터저장모듈을 포함하는 네트워크 검사 시스템.
A construction module that builds a strategic database during a predetermined optimization period; and
An extraction module that extracts and stores at least a portion of a plurality of packets collected from the network during a predetermined data extraction period using the constructed strategic database,
The construction module is,
a first network session creation module that creates a network session based on a plurality of packets collected from the network during the optimization period;
a first protocol determination module that determines a protocol of a network session to be optimized, which is a network session created by the first network session creation module during the optimization period;
A decision module for determining a data extraction strategy corresponding to the network session to be optimized, wherein the data extraction strategy corresponding to the network session to be optimized extracts certain data from all packets constituting the network session to be optimized. Contains information about what should be done; and
A strategy storage module that matches the protocol of the optimization target network session with a data extraction strategy and stores it in the strategy database,
The extraction module is,
a second network session creation module that creates a network session based on a plurality of packets collected from the network during the data extraction period;
a second protocol determination module that determines a protocol of a network session to be extracted, which is a network session created by the second network session creation module during the data extraction period;
a search module that searches the strategy database for a data extraction strategy corresponding to the protocol of the network session to be extracted;
A network inspection system comprising a data storage module for extracting and storing data from all packets in the extraction target network session according to a data extraction strategy corresponding to the protocol of the extraction target network session.
제1항에 있어서,
상기 결정모듈은,
상기 최적화 대상 네트워크 세션을 구성하는 전체 패킷을 대상으로 일련의 네트워크 보안검사를 수행하여 기준 보안위협 검출 정확도를 산출하고,
복수의 후보 데이터 추출 전략 중에서 하기 [선정 조건]을 만족하는 후보 데이터 추출 전략 중 어느 하나를 상기 최적화 대상 네트워크 세션에 상응하는 데이터 추출 전략으로 결정하는 네트워크 검사 시스템.
[선정 조건]
상기 최적화 대상 네트워크 세션을 구성하는 전체 패킷에서 해당 후보 데이터 추출 전략에 의해 추출한 데이터를 대상으로 상기 일련의 네트워크 보안검사를 수행하여 산출한 보안위협 검출 정확도와 상기 기준 보안위협 검출 정확도 간의 차이가 소정의 기준치 이하일 것.
According to paragraph 1,
The decision module is,
Calculate the standard security threat detection accuracy by performing a series of network security checks on all packets constituting the optimization target network session,
A network inspection system that determines one of a plurality of candidate data extraction strategies that satisfies the following [selection conditions] as the data extraction strategy corresponding to the network session to be optimized.
[Selection conditions]
The difference between the security threat detection accuracy calculated by performing the series of network security checks on data extracted by the candidate data extraction strategy from all packets constituting the optimization target network session and the reference security threat detection accuracy is determined by a predetermined value. Must be below the standard.
제2항에 있어서,
상기 복수의 후보 데이터 추출 전략은 우선 순위가 정해져 있으며,
상기 최적화 대상 네트워크 세션에 상응하는 데이터 추출 전략은 상기 [선정 조건]을 만족하는 후보 데이터 추출 전략 중 가장 우선 순위가 높은 것인 네트워크 검사 시스템.
According to paragraph 2,
The plurality of candidate data extraction strategies are prioritized,
A network inspection system in which the data extraction strategy corresponding to the network session to be optimized is the highest priority among the candidate data extraction strategies that satisfy the [selection conditions].
제3항에 있어서,
상기 복수의 후보 데이터 추출 전략은 해당 전략에 의해 추출되는 데이터의 크기가 커질 수록 우선순위가 낮아지는 것을 특징으로 하는 네트워크 검사 시스템.
According to paragraph 3,
A network inspection system wherein the priority of the plurality of candidate data extraction strategies decreases as the size of data extracted by the strategy increases.
제4항에 있어서,
상기 복수의 후보 데이터 추출 전략은, 우선순위가 높은 것에서 낮은 것 순으로,
네트워크 메타 데이터를 추출하는 전략,
네트워크 메타 데이터 및 컨텐츠 메타 데이터를 추출하는 전략,
네트워크 메타 데이터, 컨텐츠 메타 데이터 및 소정의 선별기준에 의해 선별된 일부 패킷을 추출하는 전략, 및
전체 패킷을 추출하는 전략을 포함하는 네트워크 검사 시스템.
According to paragraph 4,
The plurality of candidate data extraction strategies are, in order of priority from high to low,
Strategies to extract network metadata,
Strategies to extract network metadata and content metadata;
A strategy for extracting network metadata, content metadata, and some packets selected based on predetermined selection criteria, and
A network inspection system that includes a strategy to extract entire packets.
제4항에 있어서,
상기 복수의 후보 데이터 추출 전략은,
네트워크 세션을 구성하는 전체 패킷 중 초기 K개의 선행 패킷을 추출하는 전략을 포함하며,
여기서, K는 Nmin <= K <= Nmax를 만족하는 임의의 자연수이며, Nmin과 Nmax는 Nmin < Nmax를 만족하는 미리 정해진 자연수인 네트워크 검사 시스템.
According to paragraph 4,
The plurality of candidate data extraction strategies are:
It includes a strategy for extracting the initial K preceding packets from all packets constituting the network session,
Here, K is a random natural number satisfying N min <= K <= N max , and N min and N max are predetermined natural numbers satisfying N min < N max . Network inspection system.
제4항에 있어서,
상기 복수의 후보 데이터 추출 전략은,
네트워크 세션을 구성하는 전체 패킷 중 페이로드를 포함하는 최초의 페이로드 패킷으로부터 K개의 후속 패킷을 추출하는 전략을 포함하며,
여기서, K는 Nmin <= K <= Nmax를 만족하는 임의의 자연수이며, Nmin과 Nmax는 Nmin < Nmax를 만족하는 미리 정해진 자연수인 네트워크 검사 시스템.
According to paragraph 4,
The plurality of candidate data extraction strategies are:
It includes a strategy for extracting K subsequent packets from the first payload packet containing the payload among all packets constituting the network session,
Here, K is a random natural number satisfying N min <= K <= N max , and N min and N max are predetermined natural numbers satisfying N min < N max . Network inspection system.
제1항에 있어서,
상기 추출 대상 네트워크 세션에서 추출된 패킷에 기초하여 상기 추출 대상 네트워크 세션에 대한 대한 네트워크 보안검사를 수행하는 보안검사모듈을 더 포함하는 네트워크 검사 시스템.
According to paragraph 1,
A network inspection system further comprising a security inspection module that performs a network security inspection on the extraction target network session based on packets extracted from the extraction target network session.
컴퓨팅 시스템이, 소정의 최적화 기간 동안 데이터베이스를 구축하는 구축단계; 및
상기 컴퓨팅 시스템이, 구축된 상기 데이터베이스를 이용하여 소정의 데이터 추출 기간 동안 상기 네트워크로부터 수집된 복수의 패킷 중 적어도 일부를 추출하는 추출단계를 포함하되,
상기 구축단계는,
상기 최적화 기간 동안 네트워크로부터 수집된 복수의 패킷에 기초하여 네트워크 세션을 생성하는 제1네트워크 세션 생성단계;
상기 최적화 기간 동안 상기 제1네트워크 세션 생성단계에서 생성된 네트워크 세션인 최적화 대상 네트워크 세션의 프로토콜을 판단하는 제1프로토콜 판단단계;
상기 최적화 대상 네트워크 세션에 상응하는 데이터 추출 전략을 결정하는 데이터 추출 전략 결정단계-여기서 상기 최적화 대상 네트워크 세션에 상응하는 데이터 추출 전략은, 상기 최적화 대상 네트워크 세션을 구성하는 전체 패킷(full packet)으로부터 어떠한 데이터를 추출하여야 하는지에 대한 정보를 포함함; 및
상기 최적화 대상 네트워크 세션의 프로토콜과 데이터 추출 전략을 대응시켜 상기 데이터베이스에 저장하는 저장단계를 포함하고,
상기 추출단계는,
상기 데이터 추출 기간 동안 네트워크로부터 수집된 복수의 패킷에 기초하여 네트워크 세션을 생성하는 제2네트워크 세션 생성단계;
상기 데이터 추출 기간 동안 상기 제2네트워크 세션 생성단계에서 생성된 네트워크 세션인 추출 대상 네트워크 세션의 프로토콜을 판단하는 제2프로토콜 판단단계;
상기 전략 데이터베이스에서 상기 추출 대상 네트워크 세션의 프로토콜에 대응되는 데이터 추출 전략을 검색하는 검색단계;
상기 추출 대상 네트워크 세션의 프로토콜에 대응되는 데이터 추출 전략에 따라 상기 추출 대상 네트워크 세션 내의 전체 패킷으로부터 데이터를 추출하여 저장하는 데이터저장단계를 포함하는 네트워크 검사 방법.
A construction step in which the computing system builds a database for a predetermined optimization period; and
An extraction step in which the computing system extracts at least some of the plurality of packets collected from the network during a predetermined data extraction period using the constructed database,
The construction stage is,
A first network session creation step of creating a network session based on a plurality of packets collected from the network during the optimization period;
A first protocol determination step of determining a protocol of a network session to be optimized, which is a network session created in the first network session creation step during the optimization period;
A data extraction strategy determination step of determining a data extraction strategy corresponding to the network session to be optimized - where the data extraction strategy corresponding to the network session to be optimized is selected from all packets constituting the network session to be optimized. Includes information about whether data should be extracted; and
A storage step of matching the protocol of the optimization target network session and the data extraction strategy and storing them in the database,
The extraction step is,
A second network session creation step of creating a network session based on a plurality of packets collected from the network during the data extraction period;
A second protocol determination step of determining the protocol of the network session to be extracted, which is the network session created in the second network session creation step during the data extraction period;
A search step of searching the strategy database for a data extraction strategy corresponding to the protocol of the network session to be extracted;
A network inspection method comprising a data storage step of extracting and storing data from all packets in the extraction target network session according to a data extraction strategy corresponding to the protocol of the extraction target network session.
제9항에 있어서,
상기 데이터 추출 전략 결정단계는,
상기 최적화 대상 네트워크 세션을 구성하는 전체 패킷을 대상으로 일련의 네트워크 보안검사를 수행하여 기준 보안위협 검출 정확도를 산출하는 단계; 및
복수의 후보 데이터 추출 전략 중에서 하기 [선정 조건]을 만족하는 후보 데이터 추출 전략 중 어느 하나를 상기 최적화 대상 네트워크 세션에 상응하는 데이터 추출 전략으로 결정하는 단계를 포함하는 네트워크 검사 방법.
[선정 조건]
상기 최적화 대상 네트워크 세션을 구성하는 전체 패킷에서 해당 후보 데이터 추출 전략에 의해 추출한 데이터를 대상으로 상기 일련의 네트워크 보안검사를 수행하여 산출한 보안위협 검출 정확도와 상기 기준 보안위협 검출 정확도 간의 차이가 소정의 기준치 이하일 것.
According to clause 9,
The data extraction strategy decision step is,
calculating a standard security threat detection accuracy by performing a series of network security checks on all packets constituting the optimization target network session; and
A network inspection method comprising the step of determining one of a plurality of candidate data extraction strategies that satisfies the following [selection conditions] as the data extraction strategy corresponding to the network session to be optimized.
[Selection conditions]
The difference between the security threat detection accuracy calculated by performing the series of network security checks on data extracted by the candidate data extraction strategy from all packets constituting the optimization target network session and the reference security threat detection accuracy is determined by a predetermined value. Must be below the standard.
제10항에 있어서,
상기 복수의 후보 데이터 추출 전략은 우선 순위가 정해져 있으며,
상기 최적화 대상 네트워크 세션에 상응하는 데이터 추출 전략은 상기 [선정 조건]을 만족하는 후보 데이터 추출 전략 중 가장 우선 순위가 높은 것인 네트워크 검사 방법.
According to clause 10,
The plurality of candidate data extraction strategies are prioritized,
A network inspection method wherein the data extraction strategy corresponding to the network session to be optimized is the highest priority among the candidate data extraction strategies that satisfy the [selection conditions].
제11항에 있어서,
상기 복수의 후보 데이터 추출 전략은 해당 전략에 의해 추출되는 데이터의 크기가 커질 수록 우선순위가 낮아지는 것을 특징으로 하는 네트워크 검사 방법.
According to clause 11,
A network inspection method wherein the priority of the plurality of candidate data extraction strategies decreases as the size of data extracted by the strategy increases.
제12항에 있어서,
상기 복수의 후보 데이터 추출 전략은, 우선순위가 높은 것에서 낮은 것 순으로,
네트워크 메타 데이터를 추출하는 전략,
네트워크 메타 데이터 및 컨텐츠 메타 데이터를 추출하는 전략,
네트워크 메타 데이터, 컨텐츠 메타 데이터 및 소정의 선별기준에 의해 선별된 일부 패킷을 추출하는 전략, 및
전체 패킷을 추출하는 전략을 포함하는 네트워크 검사 방법.
According to clause 12,
The plurality of candidate data extraction strategies are, in order of priority from high to low,
Strategies to extract network metadata,
Strategies to extract network metadata and content metadata;
A strategy for extracting network metadata, content metadata, and some packets selected based on predetermined selection criteria, and
A network inspection method that includes a strategy for extracting entire packets.
제12항에 있어서,
상기 복수의 후보 데이터 추출 전략은,
네트워크 세션을 구성하는 전체 패킷 중 초기 K개의 선행 패킷을 추출하는 전략을 포함하며,
여기서, K는 Nmin <= K <= Nmax를 만족하는 임의의 자연수이며, Nmin과 Nmax는 Nmin < Nmax를 만족하는 미리 정해진 자연수인 네트워크 검사 방법.
According to clause 12,
The plurality of candidate data extraction strategies are:
It includes a strategy for extracting the initial K preceding packets from all packets constituting the network session,
Here, K is a random natural number satisfying N min <= K <= N max , and N min and N max are predetermined natural numbers satisfying N min < N max . Network inspection method.
제12항에 있어서,
상기 복수의 후보 데이터 추출 전략은,
네트워크 세션을 구성하는 전체 패킷 중 페이로드를 포함하는 최초의 페이로드 패킷으로부터 K개의 후속 패킷을 추출하는 전략을 포함하며,
여기서, K는 Nmin <= K <= Nmax를 만족하는 임의의 자연수이며, Nmin과 Nmax는 Nmin < Nmax를 만족하는 미리 정해진 자연수인 네트워크 검사 방법.
According to clause 12,
The plurality of candidate data extraction strategies are:
It includes a strategy for extracting K subsequent packets from the first payload packet containing the payload among all packets constituting the network session,
Here, K is a random natural number satisfying N min <= K <= N max , and N min and N max are predetermined natural numbers satisfying N min < N max . Network inspection method.
제9항에 있어서,
상기 추출 대상 네트워크 세션에서 추출된 패킷에 기초하여 상기 추출 대상 네트워크 세션에 대한 대한 네트워크 보안검사를 수행하는 보안검사단계를 더 포함하는 네트워크 검사 방법.
According to clause 9,
A network inspection method further comprising a security check step of performing a network security check on the extraction target network session based on packets extracted from the extraction target network session.
데이터 처리장치에 설치되며 제9항 내지 제16항 중 어느 한 항에 기재된 방법을 수행하기 위한 컴퓨터 판독 가능한 매체에 기록된 컴퓨터 프로그램.A computer program installed in a data processing device and recorded on a computer-readable medium for performing the method according to any one of claims 9 to 16. 컴퓨팅 시스템으로서,
프로세서; 및
상기 프로세서에 의하여 실행되는 컴퓨터 프로그램을 저장하는 메모리를 포함하며,
상기 컴퓨터 프로그램은, 상기 프로세서에 의해 실행되는 경우, 상기 컴퓨팅 시스템이, 제9항 내지 제16항 중 어느 한 항에 기재된 방법을 수행하도록 하는 컴퓨팅 시스템.
As a computing system,
processor; and
It includes a memory that stores a computer program executed by the processor,
The computer program, when executed by the processor, causes the computing system to perform the method according to any one of claims 9 to 16.
KR1020220147329A 2022-11-07 2022-11-07 Method for network inspection storing data efficiently and system performing the same KR20240065966A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220147329A KR20240065966A (en) 2022-11-07 2022-11-07 Method for network inspection storing data efficiently and system performing the same
PCT/KR2023/017216 WO2024101761A1 (en) 2022-11-07 2023-11-01 Method for efficiently inspecting network in which data is stored, and system for performing same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220147329A KR20240065966A (en) 2022-11-07 2022-11-07 Method for network inspection storing data efficiently and system performing the same

Publications (1)

Publication Number Publication Date
KR20240065966A true KR20240065966A (en) 2024-05-14

Family

ID=91032878

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220147329A KR20240065966A (en) 2022-11-07 2022-11-07 Method for network inspection storing data efficiently and system performing the same

Country Status (2)

Country Link
KR (1) KR20240065966A (en)
WO (1) WO2024101761A1 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112006002677T5 (en) * 2005-10-07 2008-11-13 Agere Systems, Inc. Method and apparatus for RTP output streaming using complementary directional files
KR101684456B1 (en) * 2015-02-10 2016-12-20 엑사비스 주식회사 System and providing method for network inspection saving packet
KR102050089B1 (en) * 2016-12-01 2019-11-28 엑사비스 주식회사 System and method for network security performing adaptive rule-set setting
KR102023777B1 (en) * 2018-05-15 2019-09-20 엑사비스 주식회사 Method for network inspection saving packet and system performing the same
KR102120795B1 (en) * 2018-12-19 2020-06-10 엑사비스 주식회사 Method for network inspection saving packet adoptively and system performing the same

Also Published As

Publication number Publication date
WO2024101761A1 (en) 2024-05-16

Similar Documents

Publication Publication Date Title
US9800697B2 (en) L2/L3 multi-mode switch including policy processing
US10785130B2 (en) Network infrastructure device to implement pre-filter rules
US9088598B1 (en) Systematic mining of associated server herds for uncovering malware and attack campaigns
EP2434689B1 (en) Method and apparatus for detecting message
EP1873992B1 (en) Packet classification in a network security device
KR102050089B1 (en) System and method for network security performing adaptive rule-set setting
EP2482497B1 (en) Data forwarding method, data processing method, system and device thereof
US20130294449A1 (en) Efficient application recognition in network traffic
CN110166480B (en) Data packet analysis method and device
WO2010102570A1 (en) Method and apparatus for realizing green internet-access
KR102585874B1 (en) Method and apparatus for routing control in sdn network
Siracusano et al. Detection of LDDoS attacks based on TCP connection parameters
WO2017016454A1 (en) Method and device for preventing ddos attack
KR101684456B1 (en) System and providing method for network inspection saving packet
KR101715107B1 (en) System and providing method for retroactive network inspection
KR102174462B1 (en) Method for network security and system performing the same
KR20240065966A (en) Method for network inspection storing data efficiently and system performing the same
KR101564518B1 (en) Method and apparatus for automatically creating rule for network traffic dection
KR102584775B1 (en) Abnormal behavior learning and detection system using regression security check and method therof
US20220329625A1 (en) Systems and methods for ip spoofing security
US11528199B2 (en) Method for network inspection saving packet and system performing the same
TW201818285A (en) FedMR-based botnet joint detection method enabling to detect suspicious traffic and suspicious IP before the botnet launches an attack, solving the problem of low detection rate in a single area and achieving the goal of cross-regional security and security cooperation
KR102120795B1 (en) Method for network inspection saving packet adoptively and system performing the same
US20210067525A1 (en) System and method for network security performing adaptive rule-set setting
Gupta et al. DDoS attack defence mechanism using sFlow

Legal Events

Date Code Title Description
E902 Notification of reason for refusal