KR101645868B1 - Method and device for rule generation for application awareness - Google Patents

Method and device for rule generation for application awareness Download PDF

Info

Publication number
KR101645868B1
KR101645868B1 KR1020150048874A KR20150048874A KR101645868B1 KR 101645868 B1 KR101645868 B1 KR 101645868B1 KR 1020150048874 A KR1020150048874 A KR 1020150048874A KR 20150048874 A KR20150048874 A KR 20150048874A KR 101645868 B1 KR101645868 B1 KR 101645868B1
Authority
KR
South Korea
Prior art keywords
packet
value
application
fixed value
protocol
Prior art date
Application number
KR1020150048874A
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 KR1020150048874A priority Critical patent/KR101645868B1/en
Application granted granted Critical
Publication of KR101645868B1 publication Critical patent/KR101645868B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • 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
    • H04L63/1416Event detection, e.g. attack signature detection
    • 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
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer

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 패킷을 발생시킨 어플리케이션이 식별되는 패킷을, 제2 패킷으로 결정하는 단계, 상기 제2 패킷 중에서, 상기 어플리케이션이 갖는 프로토콜이 정해진 프로토콜 그룹에 속하는 패킷을, 제3 패킷으로 결정하는 단계 및 상기 제3 패킷을 이용하여, 상기 어플리케이션의 인식과 연관된 룰을 생성하는 단계를 포함할 수 있다.The present invention relates to a rule generation method for application recognition and a rule generation apparatus for application recognition. A rule generation method for application recognition according to the present invention includes the steps of: determining, in a first packet, a packet in which an application generating the first packet is identified as a second packet; Determining a packet belonging to the predetermined protocol group as a third packet, and using the third packet to generate a rule associated with recognition of the application.

Description

어플리케이션 인식을 위한 룰 생성 방법 및 어플리케이션 인식을 위한 룰 생성 장치{METHOD AND DEVICE FOR RULE GENERATION FOR APPLICATION AWARENESS}TECHNICAL FIELD [0001] The present invention relates to a rule generation method for application recognition and a rule generation method for application recognition.

본 발명은 어플리케이션 인식을 위한 룰 생성 방법 및 어플리케이션 인식을 위한 룰 생성 장치에 관한 것이다.The present invention relates to a rule generation method for application recognition and a rule generation apparatus for application recognition.

근래에는, 지속적으로 변하는 위협에 대비하기 위한, 차세대 방화벽(Next-Generation Firewall)에 대한 수요 증가와 함께 개발 필요성이 높아지고 있다. 특히, 기본적인 방화벽 기능 뿐만 아니라 어플리케이션을 식별하고, 어플리케이션의 동작을 파악 및 조작할 수 있는 기술에 대한 개발은 지속적으로 요구되고 있다.In recent years, the need for next-generation firewalls (next-generation firewalls) to meet the ever-changing threats has increased with the increasing demand. In particular, there is a continuing need to develop a technology capable of identifying an application as well as a basic firewall function and grasping and manipulating the operation of the application.

어플리케이션을 식별하고 그 동작을 파악 및 조작하기 위해서는, 특정 동작 시 발생하는 네트워크 패킷을 분석하고, 원하는 패킷이 감지되면 이벤트가 발생되도록 해야 한다. 그러나, 현재 개발된 어플리케이션 및 향후 개발될 어플리케이션의 개수는 무수히 많다.In order to identify the application and to understand and manipulate the operation, it is necessary to analyze the network packet generated during a specific operation and to generate an event when a desired packet is detected. However, there are a myriad of applications currently developed and applications to be developed in the future.

이러한 방대한 양의 어플리케이션을 식별하기 위해서는, 네트워크 패킷 분석에 상당한 시간을 소비해야 하는 문제점이 있다.In order to identify such an enormous amount of applications, there is a problem in that it takes a considerable time to analyze network packets.

그러므로, 방대한 양의 어플리케이션을 인식하기 위하여 시그너처를 통한 룰 자동 생성 방법 및 장치의 개발은 필요하다. 즉, 어플리케이션 실행 시 발생되는 패킷 또는 덤프 패킷 등을 통해 프로토콜 별로 특정 동작에 대한 기본 패킷 플로우를 분석하여 패턴으로 제작할 수 있는 룰 생성 방법 및 장치가 요구되는 실정이다.Therefore, it is necessary to develop a method and apparatus for automatically generating rules through signatures in order to recognize a large amount of applications. That is, there is a need for a rule generation method and apparatus capable of analyzing a basic packet flow for a specific operation for each protocol through a packet or a dump packet generated when an application is executed, and to produce a pattern.

본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 어플리케이션에서 발생된 모든 패킷에 대한 정보를 식별함으로써, 생성된 룰에 대한 오탐과 미탐을 감소시킬 수 있다.Disclosure of Invention Technical Problem [8] The present invention has been made to solve the above problems, and it is an object of the present invention to reduce the number of false positives and detections of generated rules by identifying information on all packets generated in an application.

상기의 목적을 이루기 위한 기술적 방법으로서, 어플리케이션 인식을 위한 룰 생성 방법은 제1 패킷 중에서, 상기 제1 패킷을 발생시킨 어플리케이션이 식별되는 패킷을, 제2 패킷으로 결정하는 단계, 상기 제2 패킷 중에서, 상기 어플리케이션이 갖는 프로토콜이 정해진 프로토콜 그룹에 속하는 패킷을, 제3 패킷으로 결정하는 단계 및 상기 제3 패킷을 이용하여, 상기 어플리케이션의 인식과 연관된 룰을 생성하는 단계를 포함할 수 있다.As a technical method for achieving the above object, a rule generation method for application recognition includes a step of determining, as a second packet, a packet in which an application generating the first packet is identified as a second packet, , Determining a packet belonging to a protocol group in which the protocol of the application belongs to a third packet, and generating a rule associated with recognition of the application using the third packet.

또한, 상기의 목적을 이루기 위한 어플리케이션 인식을 위한 룰 생성 장치는 제1 패킷 중에서, 상기 제1 패킷을 발생시킨 어플리케이션이 식별되는 패킷을, 제2 패킷으로 결정하고, 상기 제2 패킷 중에서, 상기 어플리케이션이 갖는 프로토콜이 정해진 프로토콜 그룹에 속하는 패킷을, 제3 패킷으로 결정하는 프로세서를 포함하고, 상기 프로세서는, 상기 제3 패킷을 이용하여, 상기 어플리케이션의 인식과 연관된 룰을 생성할 수 있다.Further, a rule generation apparatus for application recognition for achieving the above object determines, among the first packets, a packet in which an application generating the first packet is identified as a second packet, and among the second packets, And a processor for determining a packet belonging to the protocol group having the protocol group as a third packet, wherein the processor can use the third packet to generate a rule associated with recognition of the application.

본 발명의 일실시예에 따르면, 어플리케이션에서 발생된 모든 패킷에 대한 정보를 식별함으로써, 생성된 룰에 대한 오탐과 미탐을 감소시킬 수 있다.According to an embodiment of the present invention, by identifying information on all packets generated in the application, it is possible to reduce false positives and misses of generated rules.

또한, 본 발명의 일실시예에 따르면, 복수의 어플리케이션에 대한 패킷 분류 및 분석을 자동화하여, 급격하게 생성되는 어플리케이션의 확장성에 대응할 수 있으며, 어플리케이션 동작 기반으로 룰을 생성함으로써, 각 동작 별 중요도를 측정할 수 있다.In addition, according to an embodiment of the present invention, it is possible to automate packet classification and analysis for a plurality of applications, cope with the scalability of a rapidly generated application, generate rules based on application operations, Can be measured.

도 1은 본 발명의 일실시예에 따른 어플리케이션 인식을 위한 룰 생성 장치를 나타내는 블록도이다.
도 2는 본 발명의 일실시예에 따른 어플리케이션 인식을 위한 룰 생성 방법을 구체적으로 도시한 작업 흐름도이다.
도 3은 본 발명의 일실시예에 따른 제2 패킷을 결정하는 과정을 설명하기 위한 도면이다.
도 4는 본 발명의 일실시예에 따른 키-밸류 방식으로 고정값 및 패킷 가변값을 추출하는 과정을 설명하기 위한 도면이다.
도 5는 본 발명의 일실시예에 따른 바이트 시퀀스 방식으로 고정값 및 패킷 가변값을 추출하는 과정을 설명하기 위한 도면이다.
도 6은 본 발명의 일실시예에 따른 디스턴스 방식으로 고정값 및 패킷 가변값을 추출하는 과정을 설명하기 위한 도면이다.
도 7은 본 발명의 일실시예에 따른 룰 생성 과정을 설명하기 위한 도면이다.
도 8은 본 발명의 일실시예에 따른 json 형태의 설정 그룹을 나타내는 도면이다.
도 9는 본 발명의 일실시예에 따른 룰 생성 장치에 의해 생성된 룰 파일을 나타내는 도면이다.
1 is a block diagram illustrating a rule generation apparatus for application recognition according to an embodiment of the present invention.
FIG. 2 is a workflow diagram specifically illustrating a rule generation method for application recognition according to an embodiment of the present invention.
3 is a diagram for explaining a process of determining a second packet according to an embodiment of the present invention.
4 is a diagram for explaining a process of extracting a fixed value and a packet variable value in a key-value manner according to an embodiment of the present invention.
5 is a diagram for explaining a process of extracting a fixed value and a packet variable value according to the byte sequence method according to an embodiment of the present invention.
FIG. 6 is a diagram for explaining a process of extracting a fixed value and a packet variable value according to a distance method according to an embodiment of the present invention.
7 is a diagram for explaining a rule generation process according to an embodiment of the present invention.
FIG. 8 is a diagram illustrating a json configuration group according to an embodiment of the present invention. Referring to FIG.
9 is a diagram showing a rule file generated by a rule generation apparatus according to an embodiment of the present invention.

이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings. However, the present invention is not limited to or limited by the embodiments. Like reference symbols in the drawings denote like elements.

본 명세서에서 설명되는 어플리케이션 인식을 위한 룰 생성 방법 및 어플리케이션 인식을 위한 룰 생성 장치는 패킷 분류 및 분석을 자동화하고, 어플리케이션에서 발생된 모든 패킷에 대한 정보를 식별할 수 있다.A rule generation method for application recognition and a rule generation device for application recognition described in this specification can automate packet classification and analysis and identify information about all packets generated in an application.

도 1은 본 발명의 일실시예에 따른 어플리케이션 인식을 위한 룰 생성 장치를 나타내는 블록도이다.1 is a block diagram illustrating a rule generation apparatus for application recognition according to an embodiment of the present invention.

본 발명의 어플리케이션 인식을 위한 룰 생성 장치(이하, '룰 생성 장치'라 약칭함, 100)는 프로세서(110)를 포함할 수 있다. 또한, 실시예에 따라, 룰 생성 장치(100)는 인터페이스부(120)를 추가하여 구성할 수 있다.A rule generating apparatus (hereinafter, referred to as 'rule generating apparatus') 100 for recognizing an application of the present invention may include a processor 110. In addition, according to the embodiment, the rule generating apparatus 100 can be configured by adding an interface unit 120. [

먼저, 프로세서(110)는 제1 패킷 중에서, 상기 제1 패킷을 발생시킨 어플리케이션이 식별되는 패킷을, 제2 패킷으로 결정하고, 상기 제2 패킷 중에서, 상기 어플리케이션이 갖는 프로토콜이 정해진 프로토콜 그룹에 속하는 패킷을, 제3 패킷으로 결정한다. 여기서, 제1 패킷은 네트워크에 발생되는 패킷 중 TCP 또는 UDP 중 적어도 하나일 수 있으나, 이에 한정된 것은 아니다.First, the processor 110 determines, among the first packets, a packet in which an application that generated the first packet is identified as a second packet, and, in the second packet, the protocol of the application belongs to a specified protocol group And determines the packet as the third packet. Here, the first packet may be at least one of TCP and UDP packets generated in the network, but is not limited thereto.

또한, 프로토콜 그룹은 사용자에 의해 설정된 관심 있는 어플리케이션의 프로토콜이 작성된 파일일 수 있다. 예컨대, 프로토콜 그룹은 HTTP, BitTorrent 및 RTMP 등의 프로토콜 중 적어도 하나로 구성된 파일일 수 있다.Also, the protocol group may be a file in which the protocol of the interested application set by the user is created. For example, the protocol group may be a file composed of at least one of protocols such as HTTP, BitTorrent, and RTMP.

즉, 프로세서(110)는 어플리케이션으로부터 발생된 제1 패킷에 대해서 어플리케이션이 식별되는 패킷을, 제2 패킷으로 결정할 수 있으며, 제2 패킷 중에서, 상기 어플리케이션의 프로토콜에 대해서 기설정된 프로토콜 그룹에 포함되는 패킷을 제3 패킷으로 결정할 수 있다.That is, the processor 110 can determine a packet in which an application is identified for a first packet generated by an application as a second packet, and for the protocol of the application, Can be determined as the third packet.

또한, 프로세서(110)는 상기 제3 패킷을 이용하여, 상기 어플리케이션의 인식과 연관된 룰을 생성한다. 즉, 프로세서(110)는 결정된 상기 제3 패킷으로 어플리케이션을 인식하는 것과 관련되는 룰을 생성할 수 있다. 여기서, 룰은 어플리케이션을 체계적으로 인식하기 위한 것으로서, 어플리케이션에 삽입되는 고유의 시그너처(signature)를 포함한 정보일 수 있다. 룰이 생성된 어플리케이션을 분석할 경우, 삽입된 룰에서 시그너처를 파악하여 어플리케이션을 인식할 수 있게 함으로써, 어플리케이션의 분석 시 편리성을 높일 수 있다.In addition, the processor 110 uses the third packet to generate a rule associated with the recognition of the application. That is, the processor 110 may generate a rule related to recognizing the application in the determined third packet. Here, the rule is for systematically recognizing an application, and may be information including a signature embedded in an application. When analyzing an application in which a rule is generated, it is possible to recognize the signature in the inserted rule and to recognize the application, thereby improving the convenience in analyzing the application.

또한, 프로세서(110)는 상기 제3 패킷에서 추출된 고정값이, 정해진 설정 그룹 내에 유지되고, 상기 고정값에 대응되어 상기 제3 패킷과 상기 설정 그룹 각각으로부터 추출되는, 패킷 가변값과 설정 가변값이 일치하지 않는 경우, 상기 고정값과 상기 패킷 가변값으로 구성되는 시그너처를 작성하고, 상기 시그너처를 적어도 포함하는 룰을 생성할 수 있다.In addition, the processor 110 determines whether the fixed value extracted in the third packet is held in a predetermined setting group, and which is extracted from each of the third packet and the setting group corresponding to the fixed value, If the values do not match, a signature composed of the fixed value and the packet variable value is created, and a rule including at least the signature can be generated.

여기서, 설정 그룹은 사용자에 의해 설정되는 설정 파일(configuration file)로서, 설정 파일은 사용자에 의해 작성된 룰 형태에 대한 정보를 저장한 파일일 수 있다. 즉, 프로세서(110)는 설정 그룹 내의 고정값 및 설정 가변값과 제3 패킷에서의 고정값 및 패킷 가변값을 각각 비교할 수 있다. 이때, 프로세서(110)는 고정값이 설정 그룹 내에 유지되고, 패킷 가변값과 설정 가변값이 일치하지 않는 경우, 룰을 생성할 수 있다.Here, the setting group is a configuration file set by the user, and the setting file may be a file storing information on the rule type created by the user. That is, the processor 110 may compare the fixed value and the set variable value in the setting group with the fixed value and the packet variable value in the third packet, respectively. At this time, the processor 110 can generate a rule when the fixed value is held in the setting group, and the packet variable value and the set variable value do not coincide with each other.

또한, 프로세서(110)는 상기 제3 패킷에서 추출된 고정값이, 정해진 설정 그룹 내에 유지되지 않는 경우, 상기 고정값과, 상기 고정값에 대응되어 상기 제3 패킷으로부터 추출되는 패킷 가변값으로 구성되는 시그너처를 작성하고, 상기 시그너처를 적어도 포함하는 룰을 생성할 수 있다. 즉, 프로세서(110)는 제3 패킷에서의 고정값이 설정 그룹 내에 설정된 고정값과 일치하지 않는 경우, 제3 패킷에서 추출된 고정값 및 패킷 가변값으로 룰을 생성할 수 있다.When the fixed value extracted in the third packet is not held in the predetermined setting group, the processor 110 further comprises a fixed value and a packet variable value extracted from the third packet in correspondence with the fixed value , And generate a rule including at least the signature. That is, if the fixed value in the third packet does not match the fixed value set in the setting group, the processor 110 can generate the rule with the fixed value and the packet variable value extracted in the third packet.

또한, 프로세서(110)는 상기 고정값과 상기 패킷 가변값을 이용하여, 상기 설정 그룹을 갱신할 수 있다. 즉, 프로세서(110)는 제3 패킷에서 추출된 고정값이 설정 그룹 내에 유지되지 않은 경우, 제3 패킷에서 추출된 고정값 및 패킷 가변값으로 설정 그룹을 갱신할 수 있다.In addition, the processor 110 may update the setting group using the fixed value and the packet variable value. That is, when the fixed value extracted in the third packet is not held in the setting group, the processor 110 can update the setting group to the fixed value and the packet variable value extracted in the third packet.

또한, 프로세서(110)는 상기 제3 패킷에서 추출된 고정값이, 정해진 설정 그룹 내에 유지되고, 상기 고정값에 대응되어 상기 제3 패킷과 상기 설정 그룹 각각으로부터 추출되는, 패킷 가변값과 설정 가변값이 일치하는 경우, 상기 룰의 생성을 생략할 수 있다. 즉, 프로세서(110)는 설정 그룹 내에서 제3 패킷에서 추출된 고정값이 유지된 상태에서, 제3 패킷에서 추출된 패킷 가변값 및 설정 그룹에서 추출된 설정 가변값이 일치하는 경우 룰을 생성하지 않을 수 있다.In addition, the processor 110 determines whether the fixed value extracted in the third packet is held in a predetermined setting group, and which is extracted from each of the third packet and the setting group corresponding to the fixed value, If the values match, generation of the rule can be omitted. That is, in a state where the fixed value extracted from the third packet is maintained in the setting group, the processor 110 generates a rule when the packet variable value extracted in the third packet matches the setting variable value extracted from the setting group I can not.

또한, 프로세서(110)는 어플리케이션 프로토콜 분류를 통해, 상기 어플리케이션을 구성하는 계층을 인지하고, 상기 계층에 포함되는 프로토콜이, 상기 프로토콜 그룹에 등록되는 프로토콜과 일치하면, 상기 어플리케이션과 관련하는 패킷을 상기 제3 패킷으로 결정할 수 있다. 예를 들면, 프로세서(110)는 OSI(Open System Interconnection) 7 계층 중 어플리케이션을 구성하는 계층을 인지하고, 프로토콜 그룹에 등록되는 프로토콜과 일치하는 어플리케이션에 대하여 제3 패킷으로 결정할 수 있다.In addition, the processor 110 recognizes a layer constituting the application through an application protocol classification, and if a protocol included in the layer matches a protocol registered in the protocol group, It can be determined as the third packet. For example, the processor 110 may recognize a layer constituting an application of OSI (Open System Interconnection) 7 layer and determine a third packet for an application matching a protocol registered in the protocol group.

다음으로, 인터페이스부(120)는 상기 어플리케이션의 실행에 따라 발생되는 패킷을, 상기 제1 패킷으로서 수집할 수 있다. 즉, 인터페이스부(120)는 제1 패킷을 수집할 수 있는데, 제1 패킷은 어플리케이션이 실행됨에 따라 발생되는 패킷일 수 있다.Next, the interface unit 120 can collect the packets generated according to the execution of the application as the first packet. That is, the interface unit 120 may collect the first packet, and the first packet may be a packet generated as the application is executed.

이때, 프로세서(110)는 상기 수집된 패킷에 관한 패킷 정보에 대응하는 프로세스 식별자를, 네트워크 정보 테이블에서 검색하고, 상기 프로세스 식별자에 의해 지정되는 프로그램 명칭이 PID(Process ID) 정보 테이블에서 식별되면, 상기 수집된 패킷을 상기 제2 패킷으로 결정할 수 있다. 즉, 프로세서(110)는 제1 패킷으로부터 프로세스 식별자를 확인하고, 네트워크 정보 테이블에서 프로세스 식별자를 검색할 수 있다. 이때, 프로세서(110)는 프로세스 식별자에 대응되는 PID 정보를 확인하고, PID 정보 테이블에서 해당 PID에 매칭되는 정보가 있으면, 수집된 패킷을 제2 패킷으로 결정할 수 있다.At this time, the processor 110 searches the network information table for a process identifier corresponding to the packet information about the collected packet. If the program name designated by the process identifier is identified in the PID (Process ID) information table, And may determine the collected packet as the second packet. That is, the processor 110 can identify the process identifier from the first packet and retrieve the process identifier from the network information table. At this time, the processor 110 may check the PID information corresponding to the process identifier, and may determine the collected packet as the second packet if there is information matching the PID in the PID information table.

제2 패킷을 결정하는 과정에 대한 보다 상세한 설명은 후술하는 도 3을 참조하여 설명하고자 한다.A more detailed description of the process of determining the second packet will be described with reference to FIG.

이러한, 본 발명의 어플리케이션 인식을 위한 룰 생성 장치(100)에 따르면, 어플리케이션에서 발생된 모든 패킷에 대한 정보를 식별함으로써, 생성된 룰에 대한 오탐과 미탐을 감소시킬 수 있다.According to the rule generation apparatus 100 for application recognition of the present invention, information on all packets generated in the application can be identified, thereby reducing false positives and false positives for generated rules.

또한, 복수의 어플리케이션에 대한 패킷 분류 및 분석을 자동화하여, 급격하게 생성되는 어플리케이션의 확장성에 대응할 수 있으며, 어플리케이션 동작 기반으로 룰을 생성함으로써, 각 동작 별 중요도를 측정할 수 있다.In addition, it is possible to automate packet classification and analysis for a plurality of applications, cope with extensibility of a rapidly generated application, and generate a rule based on an application operation, whereby importance can be measured for each operation.

도 2는 본 발명의 일실시예에 따른 어플리케이션 인식을 위한 룰 생성 방법을 구체적으로 도시한 작업 흐름도이다.FIG. 2 is a workflow diagram specifically illustrating a rule generation method for application recognition according to an embodiment of the present invention.

우선 본 실시예에 따른 어플리케이션 인식을 위한 룰 생성 방법은 상술한 룰 생성 장치(100)에 의해 수행될 수 있다.First, a rule generation method for application recognition according to the present embodiment may be performed by the rule generation apparatus 100 described above.

먼저, 룰 생성 장치(100)는 제1 패킷 중에서, 상기 제1 패킷을 발생시킨 어플리케이션이 식별되는 패킷을, 제2 패킷으로 결정한다(210). 여기서, 제1 패킷은 네트워크에 발생되는 패킷 중 TCP 또는 UDP 중 적어도 하나일 수 있으나, 이에 한정된 것은 아니다.First, the rule generating apparatus 100 determines a packet in which an application that generated the first packet is identified as a second packet, among the first packets (210). Here, the first packet may be at least one of TCP and UDP packets generated in the network, but is not limited thereto.

이때, 룰 생성 장치(100)는 상기 어플리케이션의 실행에 따라 발생되는 패킷을, 상기 제1 패킷으로서 수집할 수 있다. 즉, 룰 생성 장치(100)는 제1 패킷을 수집할 수 있는데, 제1 패킷은 어플리케이션이 실행됨에 따라 발생되는 패킷일 수 있다.At this time, the rule generating apparatus 100 may collect packets generated as the application is executed as the first packet. That is, the rule generating apparatus 100 may collect the first packet, which may be a packet generated as the application is executed.

이때, 단계(210)는 상기 수집된 패킷에 관한 패킷 정보에 대응하는 프로세스 식별자를, 네트워크 정보 테이블에서 검색하고, 상기 프로세스 식별자에 의해 지정되는 프로그램 명칭을, PID 정보 테이블에서 식별하고, 상기 프로그램 명칭이 식별되면, 상기 수집된 패킷을 상기 제2 패킷으로 결정할 수 있다. 즉, 룰 생성 장치(100)는 제1 패킷으로부터 프로세스 식별자를 확인하고, 네트워크 정보 테이블에서 프로세스 식별자를 검색할 수 있다. 이때, 룰 생성 장치(100)는 프로세스 식별자에 대응되는 PID 정보를 확인하고, PID 정보 테이블에서 해당 PID에 매칭되는 정보가 있으면, 수집된 패킷을 제2 패킷으로 결정할 수 있다.In this case, the step 210 searches the network information table for a process identifier corresponding to the packet information about the collected packet, identifies the program name designated by the process identifier in the PID information table, It is possible to determine the collected packet as the second packet. That is, the rule generating apparatus 100 can check the process identifier from the first packet and retrieve the process identifier from the network information table. At this time, the rule generating device 100 can check the PID information corresponding to the process identifier and determine the collected packet as the second packet if there is information matching the corresponding PID in the PID information table.

도 3은 본 발명의 일실시예에 따른 제2 패킷을 결정하는 과정을 설명하기 위한 도면이다.3 is a diagram for explaining a process of determining a second packet according to an embodiment of the present invention.

룰 생성 장치(100)는 제1 패킷을 수집하면서 해당 호스트에서 실행 중인 PID 정보 및 네트워크 정보를 수집할 수 있다. 룰 생성 장치(100)는 수집된 패킷으로부터 제1 패킷 정보, PID 정보 및 네트워크 정보를 이용하여 수집된 패킷이 호스트의 어느 프로세스에서 발생된 패킷인지 검색하여 제2 패킷으로 결정할 수 있다.The rule generation apparatus 100 may collect PID information and network information that are being executed in the host while collecting the first packet. The rule generating apparatus 100 can determine from the collected packets a packet generated by using the first packet information, the PID information, and the network information is a packet generated in a host process, and can determine the packet as a second packet.

예를 들면, 도 3과 같은 과정일 수 있다. 먼저, 룰 생성 장치(100)는 프로세스 식별자로서, 근본 주소의 포트, 목적 주소의 포트 및 프로토콜을 IP 레이어를 통해 확인할 수 있다(단계 1). 다음으로, 룰 생성 장치(100)는 상기 근본 주소의 포트, 목적 주소의 포트 및 프로토콜을 네트워크 정보 테이블과 비교할 수 있다. 비교한 결과, 동일한 프로세스 식별자를 갖는 정보가 있다면, 룰 생성 장치(100)는 해당 프로세스 식별자에서 PID 정보를 검색할 수 있다(단계 2). 다음으로, 룰 생성 장치(100)는 단계 2에서 검색된 PID 정보를 전체 PID 정보를 나타내는 PID 정보 테이블에서 상기 PID 정보를 검색하고, 상기 PID 정보에 매칭되는 프로그램 명칭이 식별할 수 있다(단계 3). 룰 생성 장치(100)는 프로그램 명칭이 식별된 패킷에 대하여, 어떤 어플리케이션의 실행에 따라 발생된 것인지 확인된 것으로 인지하고 상기 수집된 패킷을 제2 패킷으로 결정할 수 있다.For example, it may be a process as shown in FIG. First, the rule generation apparatus 100 can identify the port of the root address, the port of the destination address, and the protocol through the IP layer as a process identifier (step 1). Next, the rule generating apparatus 100 can compare the port of the root address, the port of the destination address, and the protocol with the network information table. As a result of comparison, if there is information having the same process identifier, the rule generating apparatus 100 can retrieve the PID information from the corresponding process identifier (step 2). Next, the rule generation device 100 searches the PID information retrieved in step 2 from the PID information table indicating the entire PID information, and identifies the program name matched with the PID information (step 3) . The rule generating apparatus 100 can recognize that the program having the program name has been generated according to the execution of an application for the identified packet and can determine the collected packet as the second packet.

다시 도 2를 참조하면, 룰 생성 장치(100)는 상기 제2 패킷 중에서, 상기 어플리케이션이 갖는 프로토콜이 정해진 프로토콜 그룹에 속하는 패킷을, 제3 패킷으로 결정한다(220). 여기서, 프로토콜 그룹은 사용자에 의해 설정된 관심 있는 어플리케이션의 프로토콜이 작성된 파일일 수 있다. 예컨대, 프로토콜 그룹은 HTTP, BitTorrent 및 RTMP 등의 프로토콜 중 적어도 하나로 구성된 파일일 수 있다.Referring again to FIG. 2, the rule generating apparatus 100 determines a packet belonging to a protocol group in which the protocol of the application belongs, among the second packets, as a third packet (220). Here, the protocol group may be a file in which a protocol of the interested application set by the user is created. For example, the protocol group may be a file composed of at least one of protocols such as HTTP, BitTorrent, and RTMP.

즉, 룰 생성 장치(100)는 어플리케이션으로부터 발생된 제1 패킷에 대해서 어플리케이션이 식별되는 패킷을, 제2 패킷으로 결정할 수 있으며, 제2 패킷 중에서, 상기 어플리케이션의 프로토콜에 대해서 기설정된 프로토콜 그룹에 포함되는 패킷을 제3 패킷으로 결정할 수 있다.That is, the rule generation apparatus 100 can determine a packet in which an application is identified with respect to a first packet generated from an application as a second packet, and, in the second packet, Can be determined as the third packet.

또한, 단계(220)는 어플리케이션 프로토콜 분류(APP Protocol Classification)를 통해, 상기 어플리케이션을 구성하는 계층을 인지하고, 상기 계층에 포함되는 프로토콜이, 상기 프로토콜 그룹에 등록되는 프로토콜과 일치하면, 상기 어플리케이션과 관련하는 패킷을 상기 제3 패킷으로 결정하는 과정일 수 있다. 예를 들면, 룰 생성 장치(100)는 OSI(Open System Interconnection) 7 계층 중 어플리케이션을 구성하는 계층을 인지하고, 프로토콜 그룹에 등록되는 프로토콜과 일치하는 어플리케이션에 대하여 제3 패킷으로 결정할 수 있다.In addition, step 220 recognizes a layer constituting the application through an application protocol classification (APP Protocol Classification), and if the protocol included in the layer coincides with a protocol registered in the protocol group, And determining the associated packet as the third packet. For example, the rule generating apparatus 100 recognizes a layer constituting an application of OSI (Open System Interconnection) 7 layers, and can determine a third packet for an application that matches a protocol registered in the protocol group.

다음으로, 룰 생성 장치(100)는 상기 제3 패킷을 이용하여, 상기 어플리케이션의 인식과 연관된 룰을 생성한다(230). 즉, 단계(230)는 결정된 상기 제3 패킷으로 어플리케이션을 인식하는 것과 관련되는 룰을 생성하는 과정일 수 있다. 여기서, 룰은 어플리케이션을 체계적으로 인식하기 위한 것으로서, 어플리케이션에 삽입되는 고유의 시그너처(signature)를 포함한 정보일 수 있다. 룰이 생성된 어플리케이션을 분석할 경우, 삽입된 룰에서 시그너처를 파악하여 어플리케이션을 인식할 수 있게 함으로써, 어플리케이션의 분석 시 편리성을 높일 수 있다.Next, the rule generating apparatus 100 generates a rule associated with the recognition of the application using the third packet (230). That is, the step 230 may be a process of generating a rule relating to recognizing the application with the determined third packet. Here, the rule is for systematically recognizing an application, and may be information including a signature embedded in an application. When analyzing an application in which a rule is generated, it is possible to recognize the signature in the inserted rule and to recognize the application, thereby improving the convenience in analyzing the application.

실시예에 따라, 룰 생성 장치(100)는 상기 제3 패킷에서 추출된 고정값이, 정해진 설정 그룹 내에 유지되는지를 판단하고, 유지되는 것으로 판단되면, 상기 고정값에 대응되어 상기 제3 패킷과 상기 설정 그룹 각각으로부터 추출되는, 패킷 가변값과 설정 가변값을 비교할 수 있다. 상기 비교 결과, 일치하지 않는 경우, 단계(230)는 상기 고정값과 상기 패킷 가변값으로 구성되는 시그너처를 작성하는 과정일 수 있다. 또한, 단계(230)는 상기 시그너처를 적어도 포함하는 룰을 생성하는 과정일 수 있다.According to an embodiment, the rule generation apparatus 100 determines whether the fixed value extracted in the third packet is maintained in a predetermined setting group, and if it is determined that the fixed value is maintained, The packet variable value and the setting variable value extracted from each of the setting groups can be compared. If the comparison result does not match, step 230 may be a step of creating a signature composed of the fixed value and the packet variable value. In addition, step 230 may be a process of generating a rule including at least the signature.

여기서, 설정 그룹은 사용자에 의해 설정되는 설정 파일(configuration file)로서, 설정 파일은 사용자에 의해 작성된 룰 형태에 대한 정보를 저장한 파일일 수 있다. 즉, 룰 생성 장치(100)는 설정 그룹 내의 고정값 및 설정 가변값과 제3 패킷에서의 고정값 및 패킷 가변값을 각각 비교할 수 있다. 이때, 룰 생성 장치(100)는 고정값이 설정 그룹 내에 유지되고, 패킷 가변값과 설정 가변값이 일치하지 않는 경우, 룰을 생성할 수 있다.Here, the setting group is a configuration file set by the user, and the setting file may be a file storing information on the rule type created by the user. That is, the rule generating apparatus 100 can compare the fixed value and the set variable value in the setting group with the fixed value and the packet variable value in the third packet, respectively. At this time, the rule generating apparatus 100 can generate a rule when the fixed value is held in the setting group, and the packet variable value and the set variable value do not coincide with each other.

실시예에 따라, 룰 생성 장치(100)는 상기 제3 패킷에서 추출된 고정값이, 정해진 설정 그룹 내에 유지되는지를 판단할 수 있다. 유지되지 않는 것으로 판단되면, 단계(230)는 상기 고정값과, 상기 고정값에 대응되어 상기 제3 패킷으로부터 추출되는 패킷 가변값으로 구성되는 시그너처를 작성하는 과정일 수 있다. 또한, 단계(230)는 상기 시그너처를 적어도 포함하는 룰을 생성할 수 있다. 즉, 룰 생성 장치(100)는 제3 패킷에서의 고정값이 설정 그룹 내에 설정된 고정값과 일치하지 않는 경우, 제3 패킷에서 추출된 고정값 및 패킷 가변값으로 룰을 생성할 수 있다.According to the embodiment, the rule generation apparatus 100 can determine whether the fixed value extracted in the third packet is maintained in a predetermined setting group. If it is determined not to be maintained, step 230 may be a process of creating a signature comprising the fixed value and a packet variable value corresponding to the fixed value and extracted from the third packet. Additionally, step 230 may generate a rule that includes at least the signature. That is, when the fixed value in the third packet does not coincide with the fixed value set in the setting group, the rule generating apparatus 100 can generate the rule with the fixed value and the packet variable value extracted in the third packet.

실시예에 따라, 룰 생성 장치(100)는 상기 제3 패킷에서 추출된 고정값이, 정해진 설정 그룹 내에 유지되는지를 판단할 수 있다. 유지되지 않는 것으로 판단되면, 룰 생성 장치(100)는 상기 고정값과, 상기 고정값에 대응되어 상기 제3 패킷으로부터 추출되는 패킷 가변값을 이용하여 상기 설정 그룹을 갱신할 수 있다. 즉, 룰 생성 장치(100)는 제3 패킷에서 추출된 고정값이 설정 그룹 내에 유지되지 않은 경우, 제3 패킷에서 추출된 고정값 및 패킷 가변값으로 설정 그룹을 갱신할 수 있다.According to the embodiment, the rule generation apparatus 100 can determine whether the fixed value extracted in the third packet is maintained in a predetermined setting group. If not, the rule generation apparatus 100 can update the setting group using the fixed value and the packet variable value corresponding to the fixed value and extracted from the third packet. That is, when the fixed value extracted in the third packet is not held in the setting group, the rule generating apparatus 100 can update the setting group to a fixed value and a packet variable value extracted in the third packet.

실시예에 따라, 룰 생성 장치(100)는 상기 제3 패킷에서 추출된 고정값에 대응되어 상기 제3 패킷과 상기 설정 그룹 각각으로부터 추출되는, 패킷 가변값과 설정 가변값을 비교하고, 상기 비교 결과, 일치하는 경우, 상기 룰의 생성을 생략할 수 있다. 즉, 룰 생성 장치(100)는 설정 그룹 내에서 제3 패킷에서 추출된 고정값이 유지된 상태에서, 제3 패킷에서 추출된 패킷 가변값 및 설정 그룹에서 추출된 설정 가변값이 일치하는 경우 룰을 생성하지 않을 수 있다.According to the embodiment, the rule generating apparatus 100 compares the packet variable value and the set variable value, which are extracted from each of the third packet and the setting group, corresponding to the fixed value extracted in the third packet, If the results match, generation of the rule can be omitted. That is, when the packet variable value extracted in the third packet and the set variable value extracted from the setting group are identical with each other in a state where the fixed value extracted in the third packet is maintained in the setting group, May not be generated.

실시예에 따라, 룰 생성 장치(100)는 키-밸류(key-value) 방식, 바이트 시퀀스(byte sequence) 방식, 및 디스턴스(distance) 방식 중 적어도 하나의 방식으로 상기 제3 패킷으로부터 상기 고정값 및 패킷 가변값을 추출할 수 있다. 다시 말해, 룰 생성 장치(100)는 어플리케이션 프로토콜 구조를 이용하여 고정값 및 패킷 가변값을 추출할 수 있으며, 키-밸류 방식, 바이트 시퀀스 방식 및 디스턴스 방식 중 적어도 하나의 방식으로 추출할 수 있다. 키-밸류 방식, 바이트 시퀀스 방식 및 디스턴스 방식을 이용하여 고정값 및 패킷 가변값을 추출하는 과정은 도 4 내지 도 6을 참조하여 설명하고자 한다.According to the embodiment, the rule generation apparatus 100 may generate the rule-based rule from the third packet in at least one of a key-value scheme, a byte sequence scheme, and a distance scheme, And a packet variable value can be extracted. In other words, the rule generation apparatus 100 can extract a fixed value and a packet variable value using an application protocol structure, and can extract at least one of a key-value scheme, a byte sequence scheme, and a distance scheme. The process of extracting the fixed value and the packet variable value using the key-value method, the byte sequence method, and the distance method will be described with reference to FIG. 4 to FIG.

도 4는 본 발명의 일실시예에 따른 키-밸류 방식으로 고정값 및 패킷 가변값을 추출하는 과정을 설명하기 위한 도면이다.4 is a diagram for explaining a process of extracting a fixed value and a packet variable value in a key-value manner according to an embodiment of the present invention.

상기 제3 패킷이 키-밸류 구조인 경우, 룰 생성 장치(100)는 딜리미터(delimiter)에 의해, 상기 제3 패킷에서, 키(key)와 밸류(value)를 구분하고, 상기 키를 상기 고정값으로 추출하고, 상기 밸류를 상기 패킷 가변값으로 추출할 수 있다. 즉, 룰 생성 장치(100)는 키 및 밸류를 구분하는 키-밸류 딜리미터(delimiter)를 이용하여 키 및 밸류를 구분할 수 있다. 또한, 복수의 키 및 밸류가 존재할 경우, 프레임 딜리미터(frame delimiter)를 통해 키 및 밸류를 구분할 수 있다. 이때, 키는 고정값일 수 있고, 밸류는 패킷 가변값일 수 있다.If the third packet is a key-value structure, the rule-generating apparatus 100 distinguishes a key from a value in the third packet by a delimiter, Extracts the value as a fixed value, and extracts the value as the packet variable value. That is, the rule generating apparatus 100 can distinguish keys and values using a key-value delimiter for distinguishing keys and values. Also, if there are multiple keys and values, the key and value can be distinguished through a frame delimiter. At this time, the key may be a fixed value, and the value may be a packet variable value.

도 5는 본 발명의 일실시예에 따른 바이트 시퀀스 방식으로 고정값 및 패킷 가변값을 추출하는 과정을 설명하기 위한 도면이다.5 is a diagram for explaining a process of extracting a fixed value and a packet variable value according to the byte sequence method according to an embodiment of the present invention.

상기 제3 패킷이 바이트 시퀀스 구조인 경우, 룰 생성 장치(100)는 상기 바이트 시퀀스 구조에서의 서수를 상기 고정값으로 추출하고, 밸류를 상기 패킷 가변값으로 추출할 수 있다. 여기서, 바이트 시퀀스 구조는 고정된 순서와 밸류를 갖는 구조로서, 특정 크기 및 특정 밸류 등이 순차적으로 정해져 통신을 수행하는 구조일 수 있다. 룰 생성 장치(100)는 바이트 시퀀스 구조에서의 서수를 고정값으로, 밸류를 패킷 가변값으로 추출할 수 있다.If the third packet is a byte sequence structure, the rule generation apparatus 100 may extract the ordinal number in the byte sequence structure as the fixed value and extract the value as the packet variable value. Here, the byte sequence structure is a structure having a fixed order and a value, and may be a structure for performing communication by sequentially specifying a specific size, a specific value, and the like. The rule generating apparatus 100 can extract the ordinal number in the byte sequence structure as a fixed value and the value as a packet variable value.

도 6은 본 발명의 일실시예에 따른 디스턴스 방식으로 고정값 및 패킷 가변값을 추출하는 과정을 설명하기 위한 도면이다.FIG. 6 is a diagram for explaining a process of extracting a fixed value and a packet variable value according to a distance method according to an embodiment of the present invention.

상기 제3 패킷이 디스턴스 구조인 경우, 룰 생성 장치(100)는 기준키를 상기 고정값으로 추출하고, 상기 기준키로부터 디스턴스(distance) 만큼 이격된 밸류를 상기 패킷 가변값으로 추출할 수 있다. 여기서, 디스턴스 구조는 기준키와 기준키를 기준으로 디스턴스 만큼 이동한 위치의 밸류로 구성될 수 있다. 즉, 룰 생성 장치(100)는 기준키를 고정값으로 추출하고, 기준키로부터 디스턴스 만큼 떨어진 위치에서의 밸류를 패킷 가변값으로 추출할 수 있다.When the third packet is a distance structure, the rule generation apparatus 100 may extract the reference key as the fixed value and extract the value separated by the distance from the reference key as the packet variable value. Here, the distance structure may be composed of values of positions shifted by distance based on the reference key and the reference key. In other words, the rule generating apparatus 100 can extract the reference key as a fixed value and extract the value at a position distant from the reference key as a packet variable value.

도 7은 본 발명의 일실시예에 따른 룰 생성 과정을 설명하기 위한 도면이다.7 is a diagram for explaining a rule generation process according to an embodiment of the present invention.

룰 생성 장치(100)를 통한 어플리케이션 인식을 위한 룰 생성 과정을 크게 전처리, 중처리 및 후처리로 나눌 수 있다.The rule generation process for application recognition through the rule generation apparatus 100 can be broadly classified into a preprocess, a middle process, and a post process.

먼저, 전처리는 룰이 어떤 어플리케이션에서 발생된 패킷에 의해 생성되었는지를 판단하는 과정일 수 있다. 만약 전처리 과정에서 수집된 패킷이 어떤 어플리케이션에 의해 생성되었는지 식별이 된다면, 룰 생성 장치(100)는 해당 패킷을 중처리 과정으로 넘기고, 그렇지 않다면 종료할 수 있다. 이때, 룰 생성 장치(100)는 네트워크에서 발생되는 패킷 중 TCP 또는 UDP 패킷(이하 F1 패킷)만을 고려할 수 있다. F1 패킷이 수집되었을 때, 룰 생성 장치(100)는 해당 호스트의 실행 중인 PID 정보와 네트워크 정보를 수집할 수 있다. 룰 생성 장치(100)는 수집된 F1 패킷 정보, PID 정보 및 네트워크 정보를 이용하여, 수집된 패킷이 호스트의 어떤 프로세스에 의해 발생된 패킷인지 찾을 수 있다.First, preprocessing may be a process of determining which application generated a packet by a rule. If it is determined by an application that a packet collected in the preprocessing process is generated, the rule generating apparatus 100 may pass the packet to the intermediate processing, and otherwise terminate the packet. At this time, the rule generation apparatus 100 may consider only TCP or UDP packets (hereinafter referred to as F1 packets) among the packets generated in the network. When the F1 packet is collected, the rule generation device 100 can collect the PID information and the network information of the host. The rule generation apparatus 100 can use the collected F1 packet information, PID information, and network information to find out which packet the collected packet is generated by a host process.

다음으로, 중처리는 F2 패킷에서 OSI 7 계층 중 어플리케이션 계층에 관심이 있는 어플리케이션 프로토콜을 포함하고 있는지 구별하는 과정일 수 있다. 룰 생성 장치(100)는 만약 중처리 과정에 들어온 패킷이 관심 있는 패킷으로 식별된다면, 패킷을 후처리 과정으로 넘기고, 그렇지 않다면 종료할 수 있다. 즉, 룰 생성 장치(100)는 어플리케이션 프로토콜 분류 과정에 의해 얻어진 F2 패킷의 어플리케이션 프로토콜이, 프로토콜 그룹(Configuration 1)에서 사용자가 관심이 있는 어플리케이션 프로토콜에 포함된다면 해당 패킷을 후처리로 과정으로 넘길 수 있다. 이때, 프로토콜 그룹은 사용자가 관심이 있는 어플리케이션 프로토콜 명칭이 기입된 파일일 수 있다.Next, the intermediate process may be a process of distinguishing whether the OSI 7 layer includes an application protocol interested in the application layer in the F2 packet. The rule generating apparatus 100 may pass the packet to the post-process, if not, if it is identified as a packet of interest, and otherwise terminate. That is, if the application protocol of the F2 packet obtained by the application protocol classification process is included in the application protocol of interest to the user in the protocol group (Configuration 1), the rule generation apparatus 100 may pass the packet to the process have. At this time, the protocol group may be a file in which the application protocol name of interest is written.

다음으로, 후처리는 F3 패킷의 어플리케이션 계층에서 어플리케이션 프로토콜의 구조 상에서 고정값 및 패킷 가변값을 추출하여 룰 생성을 하는 과정일 수 있다. 이때, 원하는 값을 추출하지 못한 경우, 룰 생성 장치(100)는 추가적인 분석 또는 추가적인 룰 생성을 위해 해당 파일의 구조 정보를 저장하고, 해당 내용에 대한 룰을 생성할 수 있다. F3 패킷이 수집되었을 때, 룰 생성 장치(100)는 중처리 과정에서 알 수 있었던 어플리케이션 프로토콜 구조를 이용하여 고정값 및 패킷 가변값을 추출할 수 있다. 이때, 고정값 및 패킷 가변값을 추출할 수 있는 방식으로서, 룰 생성 장치(100)는 키-밸류 방식, 바이트 시퀀스 방식 및 디스턴스 방식 중 적어도 하나의 방식을 사용할 수 있다.Next, the post-process may be a process of generating a rule by extracting a fixed value and a packet variable value from the application layer of the F3 packet on the structure of the application protocol. At this time, if the desired value can not be extracted, the rule generating apparatus 100 may store the structure information of the corresponding file for generating additional analysis or additional rules, and may generate a rule for the content. When the F3 packet is collected, the rule generation apparatus 100 can extract a fixed value and a packet variable value using an application protocol structure known in the middle processing. At this time, as a method of extracting the fixed value and the packet variable value, the rule generating apparatus 100 can use at least one of a key-value method, a byte sequence method, and a distance method.

룰 생성 장치(100)는 추출된 고정값 및 패킷 가변값을 사용자에 의해 설정된 설정 그룹(configuration 2)과 비교할 수 있다.The rule generating apparatus 100 may compare the extracted fixed value and the packet variable value with a configuration group (configuration 2) set by the user.

도 8은 본 발명의 일실시예에 따른 json 형태의 설정 그룹을 나타내는 도면이다.FIG. 8 is a diagram illustrating a json configuration group according to an embodiment of the present invention. Referring to FIG.

설정 그룹은 사용자에 의해 정보가 기입될 수 있으며, 어떤 형태로 룰을 생성할 것인지에 대한 내용이 명시될 수 있다. 만약, F3 패킷이 설정 그룹에 명시된 구조라면 고정값을 기준으로 패킷 가변값을 추출할 수 있다. 이때, F3 패킷에서 추출한 패킷 가변값이 새로운 값이라면, 룰 생성 장치(100)는 룰 생성 과정을 수행할 수 있다. 만일, 패킷 가변값이 기존에 있는 값이라면, 룰 생성 장치(100)는 종료할 수 있다. 수집된 F3 패킷이 설정 그룹에 명시된 구조가 아니라면, 중처리 과정에서 얻은 어플리케이션 구조를 이용하여 F3 패킷에서 고정값 및 패킷 가변값을 추출하고, 해당 값으로 설정 그룹을 갱신하고 해당 값을 기반으로 룰을 생성할 수 있다.The setting group can be filled with information by the user, and the content of what kind of rule is to be generated can be specified. If the F3 packet has a structure specified in the setting group, the packet variable value can be extracted based on the fixed value. At this time, if the packet variable value extracted from the F3 packet is a new value, the rule generation apparatus 100 can perform a rule generation process. If the packet variable value is an existing value, the rule generating apparatus 100 can terminate. If the collected F3 packet is not the structure specified in the setting group, the fixed value and the packet variable value are extracted from the F3 packet using the application structure obtained in the intermediate processing, the setting group is updated to the corresponding value, Can be generated.

도 9는 본 발명의 일실시예에 따른 룰 생성 장치에 의해 생성된 룰 파일을 나타내는 도면이다.9 is a diagram showing a rule file generated by a rule generation apparatus according to an embodiment of the present invention.

도 9에 도시된 바와 같이, 룰 생성 장치(100)는 설정 그룹을 기반으로 룰 생성 과정을 수행하여 룰을 생성할 수 있다. 이때, 룰 생성 장치(100)는 snort 룰 명세에 따라 룰을 생성할 수 있다.As shown in FIG. 9, the rule generation apparatus 100 can generate a rule by performing a rule generation process based on a setting group. At this time, the rule generating apparatus 100 can generate a rule according to the snort rule specification.

이러한, 본 발명의 어플리케이션 인식을 위한 룰 생성 방법에 따르면, 어플리케이션에서 발생된 모든 패킷에 대한 정보를 식별함으로써, 생성된 룰에 대한 오탐과 미탐을 감소시킬 수 있다.According to the rule generation method for application recognition of the present invention, by identifying information on all packets generated in the application, it is possible to reduce false positives and misses to the generated rules.

또한, 복수의 어플리케이션에 대한 패킷 분류 및 분석을 자동화하여, 급격하게 생성되는 어플리케이션의 확장성에 대응할 수 있으며, 어플리케이션 동작 기반으로 룰을 생성함으로써, 각 동작 별 중요도를 측정할 수 있다.In addition, it is possible to automate packet classification and analysis for a plurality of applications, cope with extensibility of a rapidly generated application, and generate a rule based on an application operation, whereby importance can be measured for each operation.

본 발명의 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment of the present invention may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

100 : 어플리케이션 인식을 위한 룰 생성 장치
110 : 프로세서
120 : 인터페이스부
100: a rule generation device for application recognition
110: Processor
120:

Claims (18)

제1 패킷 중에서, 상기 제1 패킷을 발생시킨 어플리케이션이 식별되는 패킷을, 제2 패킷으로 결정하는 단계;
상기 제2 패킷 중에서, 상기 어플리케이션이 갖는 프로토콜이 정해진 프로토콜 그룹에 속하는 패킷을, 제3 패킷으로 결정하는 단계;
상기 제3 패킷이 키-밸류 구조인 경우, 딜리미터(delimiter)에 의해, 상기 제3 패킷으로부터, 키(key)를 고정값으로 구분하여 추출하고, 밸류(value)를 패킷 가변값으로 구분하여 추출하는 단계;
상기 고정값이, 정해진 설정 그룹 내에 유지되는지를 판단하는 단계;
유지되는 것으로 판단되면, 상기 패킷 가변값과, 상기 설정 그룹으로부터 추출되는 설정 가변값을 비교하는 단계; 및
상기 비교 결과, 일치하지 않는 경우,
상기 고정값과 상기 패킷 가변값으로 구성되어 작성되는 시그너처를 적어도 포함하여, 상기 어플리케이션의 인식과 연관된 룰을 생성하는 단계
를 포함하는 어플리케이션 인식을 위한 룰 생성 방법.
Determining, as a second packet, a packet in which an application generating the first packet is identified, out of the first packets;
Determining, among the second packets, a packet belonging to a protocol group in which the protocol of the application is determined as a third packet;
If the third packet is a key-value structure, a key is separated from the third packet by a delimiter by a fixed value, and a value is divided into a packet variable value Extracting;
Determining whether the fixed value is maintained in a predetermined setting group;
Comparing the packet variable value with a setting variable value extracted from the setting group; And
As a result of the comparison, if they do not match,
Generating a rule associated with the recognition of the application, the rule including at least a signature formed by the fixed value and the packet variable value;
The method comprising the steps of:
제1 패킷 중에서, 상기 제1 패킷을 발생시킨 어플리케이션이 식별되는 패킷을, 제2 패킷으로 결정하는 단계;
상기 제2 패킷 중에서, 상기 어플리케이션이 갖는 프로토콜이 정해진 프로토콜 그룹에 속하는 패킷을, 제3 패킷으로 결정하는 단계;
상기 제3 패킷이 키-밸류 구조인 경우, 딜리미터에 의해, 상기 제3 패킷으로부터, 키를 고정값으로 구분하여 추출하고, 밸류를 패킷 가변값으로 구분하여 추출하는 단계;
상기 고정값이, 정해진 설정 그룹 내에 유지되는지를 판단하는 단계; 및
유지되지 않는 것으로 판단되면,
상기 고정값과 상기 패킷 가변값으로 구성되어 작성되는 상기 시그너처를 적어도 포함하여, 상기 어플리케이션의 인식과 연관된 룰을 생성하는 단계
를 포함하는 어플리케이션 인식을 위한 룰 생성 방법.
Determining, as a second packet, a packet in which an application generating the first packet is identified, out of the first packets;
Determining, among the second packets, a packet belonging to a protocol group in which the protocol of the application is determined as a third packet;
If the third packet is a key-value structure, extracting a key from the third packet by dividing the key by a fixed value, dividing the value into packet variable values, and extracting the packet;
Determining whether the fixed value is maintained in a predetermined setting group; And
If not,
Generating a rule associated with the recognition of the application, the rule including at least the signature generated by constructing the fixed value and the packet variable value
The method comprising the steps of:
제1 패킷 중에서, 상기 제1 패킷을 발생시킨 어플리케이션이 식별되는 패킷을, 제2 패킷으로 결정하는 단계;
상기 제2 패킷 중에서, 상기 어플리케이션이 갖는 프로토콜이 정해진 프로토콜 그룹에 속하는 패킷을, 제3 패킷으로 결정하는 단계;
상기 제3 패킷을 이용하여, 상기 어플리케이션의 인식과 연관된 룰을 생성하는 단계;
상기 제3 패킷이 키-밸류 구조인 경우, 딜리미터에 의해, 상기 제3 패킷으로부터, 키를 고정값으로 구분하여 추출하고, 밸류를 패킷 가변값으로 구분하여 추출하는 단계;
상기 고정값이, 정해진 설정 그룹 내에 유지되는지를 판단하는 단계; 및
유지되지 않는 것으로 판단되면, 상기 고정값과, 상기 패킷 가변값을 이용하여 상기 설정 그룹을 갱신하는 단계
를 포함하는 어플리케이션 인식을 위한 룰 생성 방법.
Determining, as a second packet, a packet in which an application generating the first packet is identified, out of the first packets;
Determining, among the second packets, a packet belonging to a protocol group in which the protocol of the application is determined as a third packet;
Using the third packet, generating a rule associated with recognition of the application;
If the third packet is a key-value structure, extracting a key from the third packet by dividing the key by a fixed value, dividing the value into packet variable values, and extracting the packet;
Determining whether the fixed value is maintained in a predetermined setting group; And
If it is determined that the packet is not maintained, updating the setting group using the fixed value and the packet variable value
The method comprising the steps of:
제1 패킷 중에서, 상기 제1 패킷을 발생시킨 어플리케이션이 식별되는 패킷을, 제2 패킷으로 결정하는 단계;
상기 제2 패킷 중에서, 상기 어플리케이션이 갖는 프로토콜이 정해진 프로토콜 그룹에 속하는 패킷을, 제3 패킷으로 결정하는 단계;
상기 제3 패킷을 이용하여, 상기 어플리케이션의 인식과 연관된 룰을 생성하는 단계;
상기 제3 패킷이 키-밸류 구조인 경우, 딜리미터에 의해, 상기 제3 패킷으로부터, 키를 고정값으로 구분하여 추출하고, 밸류를 패킷 가변값으로 구분하여 추출하는 단계;
상기 고정값이, 정해진 설정 그룹 내에 유지되는지를 판단하는 단계;
유지되는 것으로 판단되면, 상기 패킷 가변값과, 상기 설정 그룹으로부터 추출되는 설정 가변값을 비교하는 단계; 및
상기 비교 결과, 일치하는 경우, 상기 룰의 생성을 생략하는 단계
를 포함하는 어플리케이션 인식을 위한 룰 생성 방법.
Determining, as a second packet, a packet in which an application generating the first packet is identified, out of the first packets;
Determining, among the second packets, a packet belonging to a protocol group in which the protocol of the application is determined as a third packet;
Using the third packet, generating a rule associated with recognition of the application;
If the third packet is a key-value structure, extracting a key from the third packet by dividing the key by a fixed value, dividing the value into packet variable values, and extracting the packet;
Determining whether the fixed value is maintained in a predetermined setting group;
Comparing the packet variable value with a setting variable value extracted from the setting group; And
If the result of the comparison is that there is a match, a step of omitting the generation of the rule
The method comprising the steps of:
제1 패킷 중에서, 상기 제1 패킷을 발생시킨 어플리케이션이 식별되는 패킷을, 제2 패킷으로 결정하는 단계;
상기 제2 패킷 중에서, 상기 어플리케이션이 갖는 프로토콜이 정해진 프로토콜 그룹에 속하는 패킷을, 제3 패킷으로 결정하는 단계;
상기 제3 패킷이 바이트 시퀀스 구조인 경우, 상기 제3 패킷으로부터, 상기 바이트 시퀀스 구조에서의 서수를 고정값으로 추출하고, 밸류를 패킷 가변값으로 추출하는 단계
상기 고정값이, 정해진 설정 그룹 내에 유지되는지를 판단하는 단계;
유지되는 것으로 판단되면, 상기 패킷 가변값과, 상기 설정 그룹으로부터 추출되는 설정 가변값을 비교하는 단계; 및
상기 비교 결과, 일치하지 않는 경우,
상기 고정값과 상기 패킷 가변값으로 구성되어 작성되는 시그너처를 적어도 포함하여, 상기 어플리케이션의 인식과 연관된 룰을 생성하는 단계
를 포함하는 어플리케이션 인식을 위한 룰 생성 방법.
Determining, as a second packet, a packet in which an application generating the first packet is identified, out of the first packets;
Determining, among the second packets, a packet belonging to a protocol group in which the protocol of the application is determined as a third packet;
Extracting an ordinal number in the byte sequence structure as a fixed value from the third packet and extracting a value as a packet variable value when the third packet is a byte sequence structure
Determining whether the fixed value is maintained in a predetermined setting group;
Comparing the packet variable value with a setting variable value extracted from the setting group; And
As a result of the comparison, if they do not match,
Generating a rule associated with the recognition of the application, the rule including at least a signature formed by the fixed value and the packet variable value;
The method comprising the steps of:
제1 패킷 중에서, 상기 제1 패킷을 발생시킨 어플리케이션이 식별되는 패킷을, 제2 패킷으로 결정하는 단계;
상기 제2 패킷 중에서, 상기 어플리케이션이 갖는 프로토콜이 정해진 프로토콜 그룹에 속하는 패킷을, 제3 패킷으로 결정하는 단계;
상기 제3 패킷이 바이트 시퀀스 구조인 경우, 상기 제3 패킷으로부터, 상기 바이트 시퀀스 구조에서의 서수를 고정값으로 추출하고, 밸류를 패킷 가변값으로 추출하는 단계
상기 고정값이, 정해진 설정 그룹 내에 유지되는지를 판단하는 단계; 및
유지되지 않는 것으로 판단되면,
상기 고정값과 상기 패킷 가변값으로 구성되어 작성되는 상기 시그너처를 적어도 포함하여, 상기 어플리케이션의 인식과 연관된 룰을 생성하는 단계
를 포함하는 어플리케이션 인식을 위한 룰 생성 방법.
Determining, as a second packet, a packet in which an application generating the first packet is identified, out of the first packets;
Determining, among the second packets, a packet belonging to a protocol group in which the protocol of the application is determined as a third packet;
Extracting an ordinal number in the byte sequence structure as a fixed value from the third packet and extracting a value as a packet variable value when the third packet is a byte sequence structure
Determining whether the fixed value is maintained in a predetermined setting group; And
If not,
Generating a rule associated with the recognition of the application, the rule including at least the signature generated by constructing the fixed value and the packet variable value
The method comprising the steps of:
제1 패킷 중에서, 상기 제1 패킷을 발생시킨 어플리케이션이 식별되는 패킷을, 제2 패킷으로 결정하는 단계;
상기 제2 패킷 중에서, 상기 어플리케이션이 갖는 프로토콜이 정해진 프로토콜 그룹에 속하는 패킷을, 제3 패킷으로 결정하는 단계;
상기 제3 패킷을 이용하여, 상기 어플리케이션의 인식과 연관된 룰을 생성하는 단계;
상기 제3 패킷이 바이트 시퀀스 구조인 경우, 상기 제3 패킷으로부터, 상기 바이트 시퀀스 구조에서의 서수를 고정값으로 추출하고, 밸류를 패킷 가변값으로 추출하는 단계;
상기 고정값이, 정해진 설정 그룹 내에 유지되는지를 판단하는 단계; 및
유지되지 않는 것으로 판단되면, 상기 고정값과, 상기 패킷 가변값을 이용하여 상기 설정 그룹을 갱신하는 단계
를 포함하는 어플리케이션 인식을 위한 룰 생성 방법.
Determining, as a second packet, a packet in which an application generating the first packet is identified, out of the first packets;
Determining, among the second packets, a packet belonging to a protocol group in which the protocol of the application is determined as a third packet;
Using the third packet, generating a rule associated with recognition of the application;
If the third packet is a byte sequence structure, extracting the ordinal number in the byte sequence structure as a fixed value from the third packet and extracting the value as a packet variable value;
Determining whether the fixed value is maintained in a predetermined setting group; And
If it is determined that the packet is not maintained, updating the setting group using the fixed value and the packet variable value
The method comprising the steps of:
제1 패킷 중에서, 상기 제1 패킷을 발생시킨 어플리케이션이 식별되는 패킷을, 제2 패킷으로 결정하는 단계;
상기 제2 패킷 중에서, 상기 어플리케이션이 갖는 프로토콜이 정해진 프로토콜 그룹에 속하는 패킷을, 제3 패킷으로 결정하는 단계;
상기 제3 패킷을 이용하여, 상기 어플리케이션의 인식과 연관된 룰을 생성하는 단계;
상기 제3 패킷이 바이트 시퀀스 구조인 경우, 상기 제3 패킷으로부터, 상기 바이트 시퀀스 구조에서의 서수를 고정값으로 추출하고, 밸류를 패킷 가변값으로 추출하는 단계;
상기 고정값이, 정해진 설정 그룹 내에 유지되는지를 판단하는 단계;
유지되는 것으로 판단되면, 상기 패킷 가변값과, 상기 설정 그룹으로부터 추출되는 설정 가변값을 비교하는 단계; 및
상기 비교 결과, 일치하는 경우, 상기 룰의 생성을 생략하는 단계
를 포함하는 어플리케이션 인식을 위한 룰 생성 방법.
Determining, as a second packet, a packet in which an application generating the first packet is identified, out of the first packets;
Determining, among the second packets, a packet belonging to a protocol group in which the protocol of the application is determined as a third packet;
Using the third packet, generating a rule associated with recognition of the application;
If the third packet is a byte sequence structure, extracting the ordinal number in the byte sequence structure as a fixed value from the third packet and extracting the value as a packet variable value;
Determining whether the fixed value is maintained in a predetermined setting group;
Comparing the packet variable value with a setting variable value extracted from the setting group; And
If the result of the comparison is that there is a match, a step of omitting the generation of the rule
The method comprising the steps of:
제1항 내지 제8항 중 어느 한 항에 있어서,
디스턴스(distance) 방식으로 상기 제3 패킷으로부터 상기 고정값 및 상기 패킷 가변값을 추출하는 단계
를 더 포함하는 룰 생성 방법.
9. The method according to any one of claims 1 to 8,
Extracting the fixed value and the packet variable value from the third packet in a distance manner
Further comprising the steps of:
제9항에 있어서,
상기 제3 패킷이 디스턴스 구조인 경우,
기준키를 상기 고정값으로 추출하는 단계; 및
상기 기준키로부터 디스턴스 만큼 이격된 밸류를 상기 패킷 가변값으로 추출하는 단계
를 더 포함하는 룰 생성 방법.
10. The method of claim 9,
If the third packet is a distance structure,
Extracting the reference key as the fixed value; And
Extracting a value that is spaced apart from the reference key by the distance as the packet variable value
Further comprising the steps of:
제1항 내지 제8항 중 어느 한 항에 있어서,
상기 어플리케이션의 실행에 따라 발생되는 패킷을, 상기 제1 패킷으로서 수집하는 단계
를 더 포함하고,
상기 제2 패킷으로 결정하는 단계는,
상기 수집된 패킷에 관한 패킷 정보에 대응하는 프로세스 식별자를, 네트워크 정보 테이블에서 검색하는 단계;
상기 프로세스 식별자에 의해 지정되는 프로그램 명칭을, PID 정보 테이블에서 식별하는 단계; 및
상기 프로그램 명칭이 식별되면, 상기 수집된 패킷을 상기 제2 패킷으로 결정하는 단계
를 포함하는 룰 생성 방법.
9. The method according to any one of claims 1 to 8,
Collecting, as the first packet, a packet generated according to execution of the application
Further comprising:
The step of determining as the second packet comprises:
Searching a network information table for a process identifier corresponding to the packet information about the collected packet;
Identifying a program name designated by the process identifier in a PID information table; And
Determining the collected packet as the second packet if the program name is identified;
Lt; / RTI >
제1항 내지 제8항 중 어느 한 항에 있어서,
상기 제3 패킷으로 결정하는 단계는,
어플리케이션 프로토콜 분류(APP Protocol Classification)를 통해, 상기 어플리케이션을 구성하는 계층을 인지하는 단계; 및
상기 계층에 포함되는 프로토콜이, 상기 프로토콜 그룹에 등록되는 프로토콜과 일치하면, 상기 어플리케이션과 관련하는 패킷을 상기 제3 패킷으로 결정하는 단계
를 포함하는 룰 생성 방법.
9. The method according to any one of claims 1 to 8,
Wherein the determining of the third packet comprises:
Recognizing a layer constituting the application through APP Protocol Classification; And
Determining a packet associated with the application as the third packet if the protocol included in the layer matches a protocol registered in the protocol group
Lt; / RTI >
제1 패킷 중에서, 상기 제1 패킷을 발생시킨 어플리케이션이 식별되는 패킷을, 제2 패킷으로 결정하고,
상기 제2 패킷 중에서, 상기 어플리케이션이 갖는 프로토콜이 정해진 프로토콜 그룹에 속하는 패킷을, 제3 패킷으로 결정하며,
상기 제3 패킷이 키-밸류 구조인 경우, 딜리미터에 의해, 상기 제3 패킷으로부터, 키를 고정값으로 구분하여 추출하고, 밸류를 패킷 가변값으로 구분하여 추출하고,
상기 고정값이, 정해진 설정 그룹 내에 유지되는지를 판단하며,
유지되는 것으로 판단되면, 상기 패킷 가변값과, 상기 설정 그룹으로부터 추출되는 설정 가변값을 비교하고,
상기 비교 결과, 일치하지 않는 경우, 상기 고정값과 상기 패킷 가변값으로 구성되어 작성되는 시그너처를 적어도 포함하여, 상기 어플리케이션의 인식과 연관된 룰을 생성하는 프로세서
를 포함하는 어플리케이션 인식을 위한 룰 생성 장치.
A packet in which an application that has generated the first packet is identified as a second packet among the first packets,
A packet belonging to a protocol group in which the protocol of the application belongs to the second packet is determined as the third packet,
If the third packet is a key-value structure, the delimiter extracts the key from the third packet by dividing it into a fixed value, separates the value into packet variable values,
Determines whether the fixed value is maintained in a predetermined setting group,
Comparing the packet variable value with a setting variable value extracted from the setting group,
Generating a rule associated with the recognition of the application, the signature including at least a signature that is composed of the fixed value and the packet variable value,
A rule generation unit configured to generate a rule generation rule;
제1 패킷 중에서, 상기 제1 패킷을 발생시킨 어플리케이션이 식별되는 패킷을, 제2 패킷으로 결정하고,
상기 제2 패킷 중에서, 상기 어플리케이션이 갖는 프로토콜이 정해진 프로토콜 그룹에 속하는 패킷을, 제3 패킷으로 결정하며,
상기 제3 패킷이 키-밸류 구조인 경우, 딜리미터에 의해, 상기 제3 패킷으로부터, 키를 고정값으로 구분하여 추출하고, 밸류를 패킷 가변값으로 구분하여 추출하고,
상기 고정값이, 정해진 설정 그룹 내에 유지되는지를 판단하며,
유지되지 않는 것으로 판단되면, 상기 고정값과 상기 패킷 가변값으로 구성되어 작성되는 상기 시그너처를 적어도 포함하여, 상기 어플리케이션의 인식과 연관된 룰을 생성하는 프로세서
를 포함하는 룰 생성 장치.
A packet in which an application that has generated the first packet is identified as a second packet among the first packets,
A packet belonging to a protocol group in which the protocol of the application belongs to the second packet is determined as the third packet,
If the third packet is a key-value structure, the delimiter extracts the key from the third packet by dividing it into a fixed value, separates the value into packet variable values,
Determines whether the fixed value is maintained in a predetermined setting group,
And generating the rule associated with the recognition of the application, if it is determined that the fixed value and the variable value of the packet are not maintained,
.
제1 패킷 중에서, 상기 제1 패킷을 발생시킨 어플리케이션이 식별되는 패킷을, 제2 패킷으로 결정하고,
상기 제2 패킷 중에서, 상기 어플리케이션이 갖는 프로토콜이 정해진 프로토콜 그룹에 속하는 패킷을, 제3 패킷으로 결정하며,
상기 제3 패킷을 이용하여, 상기 어플리케이션의 인식과 연관된 룰을 생성하고,
상기 제3 패킷이 키-밸류 구조인 경우, 딜리미터에 의해, 상기 제3 패킷으로부터, 키를 고정값으로 구분하여 추출하고, 밸류를 패킷 가변값으로 구분하여 추출하며,
상기 고정값이, 정해진 설정 그룹 내에 유지되는지를 판단하고,
유지되지 않는 것으로 판단되면, 상기 고정값과, 상기 패킷 가변값을 이용하여 상기 설정 그룹을 갱신하는 프로세서
를 포함하는 룰 생성 장치.
A packet in which an application that has generated the first packet is identified as a second packet among the first packets,
A packet belonging to a protocol group in which the protocol of the application belongs to the second packet is determined as the third packet,
Generate a rule associated with the recognition of the application using the third packet,
If the third packet is a key-value structure, the delimiter extracts the key from the third packet by dividing the key into a fixed value, separates the value into packet variable values,
Determines whether the fixed value is maintained in a predetermined setting group,
If it is determined that the packet is not to be maintained, the processor updates the setting group using the fixed value and the packet variable value
.
제1 패킷 중에서, 상기 제1 패킷을 발생시킨 어플리케이션이 식별되는 패킷을, 제2 패킷으로 결정하고,
상기 제2 패킷 중에서, 상기 어플리케이션이 갖는 프로토콜이 정해진 프로토콜 그룹에 속하는 패킷을, 제3 패킷으로 결정하며,
상기 제3 패킷이 바이트 시퀀스 구조인 경우, 상기 제3 패킷으로부터, 상기 바이트 시퀀스 구조에서의 서수를 고정값으로 추출하고, 밸류를 패킷 가변값으로 추출하고,
상기 고정값이, 정해진 설정 그룹 내에 유지되는지를 판단하며,
유지되는 것으로 판단되면, 상기 패킷 가변값과, 상기 설정 그룹으로부터 추출되는 설정 가변값을 비교하고,
상기 비교 결과, 일치하지 않는 경우, 상기 고정값과 상기 패킷 가변값으로 구성되어 작성되는 시그너처를 적어도 포함하여, 상기 어플리케이션의 인식과 연관된 룰을 생성하는 프로세서
를 포함하는 룰 생성 장치.
A packet in which an application that has generated the first packet is identified as a second packet among the first packets,
A packet belonging to a protocol group in which the protocol of the application belongs to the second packet is determined as the third packet,
Extracting a value as a packet variable value from the third packet if the third packet is a byte sequence structure, extracting the ordinal number in the byte sequence structure as a fixed value,
Determines whether the fixed value is maintained in a predetermined setting group,
Comparing the packet variable value with a setting variable value extracted from the setting group,
Generating a rule associated with the recognition of the application, the signature including at least a signature that is composed of the fixed value and the packet variable value,
.
제1 패킷 중에서, 상기 제1 패킷을 발생시킨 어플리케이션이 식별되는 패킷을, 제2 패킷으로 결정하고,
상기 제2 패킷 중에서, 상기 어플리케이션이 갖는 프로토콜이 정해진 프로토콜 그룹에 속하는 패킷을, 제3 패킷으로 결정하며,
상기 제3 패킷이 바이트 시퀀스 구조인 경우, 상기 제3 패킷으로부터, 상기 바이트 시퀀스 구조에서의 서수를 고정값으로 추출하고, 밸류를 패킷 가변값으로 추출하고,
상기 고정값이, 정해진 설정 그룹 내에 유지되는지를 판단하며,
유지되지 않는 것으로 판단되면, 상기 고정값과 상기 패킷 가변값으로 구성되어 작성되는 상기 시그너처를 적어도 포함하여, 상기 어플리케이션의 인식과 연관된 룰을 생성하는 프로세서
를 포함하는 룰 생성 장치.
A packet in which an application that has generated the first packet is identified as a second packet among the first packets,
A packet belonging to a protocol group in which the protocol of the application belongs to the second packet is determined as the third packet,
Extracting a value as a packet variable value from the third packet if the third packet is a byte sequence structure, extracting the ordinal number in the byte sequence structure as a fixed value,
Determines whether the fixed value is maintained in a predetermined setting group,
And generating the rule associated with the recognition of the application, if it is determined that the fixed value and the variable value of the packet are not maintained,
.
제1 패킷 중에서, 상기 제1 패킷을 발생시킨 어플리케이션이 식별되는 패킷을, 제2 패킷으로 결정하고,
상기 제2 패킷 중에서, 상기 어플리케이션이 갖는 프로토콜이 정해진 프로토콜 그룹에 속하는 패킷을, 제3 패킷으로 결정하며,
상기 제3 패킷을 이용하여, 상기 어플리케이션의 인식과 연관된 룰을 생성하고,
상기 제3 패킷이 바이트 시퀀스 구조인 경우, 상기 제3 패킷으로부터, 상기 바이트 시퀀스 구조에서의 서수를 고정값으로 추출하고, 밸류를 패킷 가변값으로 추출하며,
상기 고정값이, 정해진 설정 그룹 내에 유지되는지를 판단하고,
유지되지 않는 것으로 판단되면, 상기 고정값과, 상기 패킷 가변값을 이용하여 상기 설정 그룹을 갱신하는 프로세서
를 포함하는 룰 생성 장치.
A packet in which an application that has generated the first packet is identified as a second packet among the first packets,
A packet belonging to a protocol group in which the protocol of the application belongs to the second packet is determined as the third packet,
Generate a rule associated with the recognition of the application using the third packet,
If the third packet is a byte sequence structure, extracts the ordinal number in the byte sequence structure as a fixed value from the third packet, extracts the value as a packet variable value,
Determines whether the fixed value is maintained in a predetermined setting group,
If it is determined that the packet is not to be maintained, the processor updates the setting group using the fixed value and the packet variable value
.
KR1020150048874A 2015-04-07 2015-04-07 Method and device for rule generation for application awareness KR101645868B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150048874A KR101645868B1 (en) 2015-04-07 2015-04-07 Method and device for rule generation for application awareness

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150048874A KR101645868B1 (en) 2015-04-07 2015-04-07 Method and device for rule generation for application awareness

Publications (1)

Publication Number Publication Date
KR101645868B1 true KR101645868B1 (en) 2016-08-04

Family

ID=56709611

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150048874A KR101645868B1 (en) 2015-04-07 2015-04-07 Method and device for rule generation for application awareness

Country Status (1)

Country Link
KR (1) KR101645868B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120070016A (en) * 2010-12-21 2012-06-29 한국인터넷진흥원 Using string comparison malicious code detection and classification system and method
KR101388053B1 (en) * 2012-09-17 2014-04-22 주식회사 인프라웨어테크놀러지 Method of enhancing security based on permission detection for android applications, and computer-readable recording medium with android security program based on permission detection for the same

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120070016A (en) * 2010-12-21 2012-06-29 한국인터넷진흥원 Using string comparison malicious code detection and classification system and method
KR101388053B1 (en) * 2012-09-17 2014-04-22 주식회사 인프라웨어테크놀러지 Method of enhancing security based on permission detection for android applications, and computer-readable recording medium with android security program based on permission detection for the same

Similar Documents

Publication Publication Date Title
CN111565205B (en) Network attack identification method and device, computer equipment and storage medium
Meidan et al. ProfilIoT: A machine learning approach for IoT device identification based on network traffic analysis
Sahu et al. Network intrusion detection system using J48 Decision Tree
JP6348656B2 (en) Malware-infected terminal detection device, malware-infected terminal detection system, malware-infected terminal detection method, and malware-infected terminal detection program
CN107360145B (en) Multi-node honeypot system and data analysis method thereof
CN108737336B (en) Block chain-based threat behavior processing method and device, equipment and storage medium
KR20170060280A (en) Apparatus and method for automatically generating rules for malware detection
CN109525508B (en) Encrypted stream identification method and device based on flow similarity comparison and storage medium
CN104426906A (en) Identifying malicious devices within a computer network
US20170034195A1 (en) Apparatus and method for detecting abnormal connection behavior based on analysis of network data
CN104506484A (en) Proprietary protocol analysis and identification method
CN106485146B (en) A kind of information processing method and server
US20170310694A1 (en) Malicious communication pattern extraction apparatus, malicious communication pattern extraction method, and malicious communication pattern extraction program
Zhang et al. Detection of android malware based on deep forest and feature enhancement
CN113660273B (en) Intrusion detection method and device based on deep learning under super fusion architecture
EP3905084A1 (en) Method and device for detecting malware
EP3242240B1 (en) Malicious communication pattern extraction device, malicious communication pattern extraction system, malicious communication pattern extraction method and malicious communication pattern extraction program
JP6181884B2 (en) Malware-infected terminal detection device, malware-infected terminal detection method, and malware-infected terminal detection program
CN113328985A (en) Passive Internet of things equipment identification method, system, medium and equipment
WO2019129915A1 (en) Intelligent defense and filtration platform for network traffic
CN114972827A (en) Asset identification method, device, equipment and computer readable storage medium
CN113923003A (en) Attacker portrait generation method, system, equipment and medium
CN111404768A (en) DPI recognition realization method and equipment
JP6592196B2 (en) Malignant event detection apparatus, malignant event detection method, and malignant event detection program
WO2013097600A1 (en) Matching route generation method and related device for signature library

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20150407

PA0201 Request for examination
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20151110

Patent event code: PE09021S01D

PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20160503

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20160728

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20160728

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
FPAY Annual fee payment

Payment date: 20190515

Year of fee payment: 4

PR1001 Payment of annual fee

Payment date: 20190515

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20200728

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20210716

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20230719

Start annual number: 8

End annual number: 8

PR1001 Payment of annual fee

Payment date: 20240710

Start annual number: 9

End annual number: 9