KR101571805B1 - Method and apparatus for controlling application - Google Patents

Method and apparatus for controlling application Download PDF

Info

Publication number
KR101571805B1
KR101571805B1 KR1020130167523A KR20130167523A KR101571805B1 KR 101571805 B1 KR101571805 B1 KR 101571805B1 KR 1020130167523 A KR1020130167523 A KR 1020130167523A KR 20130167523 A KR20130167523 A KR 20130167523A KR 101571805 B1 KR101571805 B1 KR 101571805B1
Authority
KR
South Korea
Prior art keywords
session
sub
information
packet
protocol
Prior art date
Application number
KR1020130167523A
Other languages
Korean (ko)
Other versions
KR20150078285A (en
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 KR1020130167523A priority Critical patent/KR101571805B1/en
Publication of KR20150078285A publication Critical patent/KR20150078285A/en
Application granted granted Critical
Publication of KR101571805B1 publication Critical patent/KR101571805B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 애플리케이션 제어 방법 및 그 장치에 관한 것으로, 본 발명의 일 실시예에 따른 애플리케이션의 제어 방법은, 수신한 패킷에 대하여 시그니처를 탐지하여 애플리케이션을 식별하는 단계, 상기 식별된 애플리케이션의 세션에 대하여 프로토콜 파싱(protocol parsing)을 수행하여 해당 프로토콜에 맞는 프로토콜 인스펙터(protocol inspector)를 할당하는 단계, 상기 할당된 프로토콜 인스펙터를 이용하여 상기 세션의 하위 세션인 서브 세션에 대한 정보인 서브 세션 정보를 추출하는 단계 및 관리 리스트에 상기 서브 세션 정보를 등록하는 단계를 포함하는 것을 특징으로 한다.
본 발명에 따르면, 시그니처가 존재하지 않는 서브 세션을 갖는 애플리케이션에 대해서 애플리케이션 제어를 수행할 수 있다.
The present invention relates to an application control method and apparatus, and a control method of an application according to an embodiment of the present invention includes: detecting a signature for a received packet to identify an application; Performing protocol parsing to allocate a protocol inspector for the protocol, and extracting subsession information, which is information on the sub-session, which is a sub-session of the session, using the allocated protocol inspector And registering the sub-session information in a step and a management list.
According to the present invention, application control can be performed for an application having a sub-session in which no signature exists.

Description

애플리케이션 제어 방법 및 그 장치{METHOD AND APPARATUS FOR CONTROLLING APPLICATION}[0001] METHOD AND APPARATUS FOR CONTROLLING APPLICATION [0002]

본 발명은 애플리케이션 제어 방법 및 그 장치에 관한 것이다. The present invention relates to an application control method and apparatus therefor.

네트워크 사이에 연결된 보안 장치의 애플리케이션 제어 기능은 네트워크 상에서 전송되는 패킷의 데이터를 분석하여 애플리케이션을 식별하는 역할을 수행한다. 네트워크 보안 관리자는 애플리케이션 제어 기능에서 식별된 애플리케이션에 대하여, 정책에 따라 해당 애플리케이션의 세션을 차단함으로써 애플리케이션을 통한 데이터 누출, 바이러스 유포 또는 부적절한 사용 등을 관리할 수 있다. 이를 위해, 보안 장치는 애플리케이션을 분석하여 생성한 시그니처(signature)를 데이터 베이스로 저장하고, 전송되는 패킷의 시그니처를 데이터 베이스와 비교한다. An application control function of a security device connected between networks performs a role of analyzing data of a packet transmitted on a network to identify an application. The network security administrator can manage data leakage, virus distribution, or improper use through the application by blocking the session of the application according to the policy, for the application identified by the application control function. To this end, the security device stores the signature generated by analyzing the application in a database, and compares the signature of the transmitted packet with the database.

애플리케이션 제어는 미 식별 세션의 제어 방식에 따라 블랙리스트 제어 방식과 화이트리스트 제어 방식으로 구분할 수 있다. 블랙리스트 제어 방식은 시그니처가 탐지되었을 때 해당 애플리케이션을 차단하고, 식별되지 않은 세션은 허용하는 제어 방식이다. 반면 화이트리스트 제어 방식은 시그니처가 탐지된 애플리케이션은 허용하고, 식별되지 않은 세션은 차단하는 제어 방식이다. 화이트리스트 제어 방식은 식별되지 않은 모든 세션을 차단하기 때문에, 알려지지 않은 애플리케이션을 통한 파일 유출 등의 위험으로부터 보다 안전한 환경을 구성할 수 있다는 장점이 있다. Application control can be divided into a blacklist control scheme and a white list control scheme according to a control scheme of an unidentified session. The blacklist control scheme is a control scheme that blocks the application when a signature is detected and allows unidentified sessions. White list control, on the other hand, is a control scheme that allows for applications where signatures are detected and blocks unidentified sessions. Since the whitelist control method blocks all unidentified sessions, there is an advantage in that a more secure environment can be configured from the risk of file leakage through unknown applications.

화이트리스트 제어 방식을 위해 가장 기본이 되는 것은 시그니처 탐지인데 이는 해당 세션이 어떤 애플리케이션인지 식별해야만 허용 여부를 결정할 수 있기 때문이다. 따라서, 허용하는 모든 애플리케이션에 대한 시그니처가 필요하다는 문제점이 있다. 특히, 애플리케이션이 2차, 3차 세션 등 여러 개의 하위 세션을 통해 서비스를 제공하는 경우, 하위 세션에 시그니처로 사용할 유일한 패턴이 존재하지 않을 수도 있다는 문제점이 있다. The most basic one for white list control is signature detection because it is only necessary to identify which application the session is allowed to use. Therefore, there is a problem in that a signature is required for all applications to be permitted. In particular, when an application provides a service through a plurality of sub-sessions, such as a secondary or a tertiary session, there is a problem in that a sub-session may not have a unique pattern to be used as a signature.

본 발명은 서브 세션에 대한 화이트리스트를 관리하여 시그니처가 존재하지 않는 서브 세션을 제어할 수 있는 애플리케이션 제어 방법 및 그 장치를 제공하는데 그 목적이 있다.It is an object of the present invention to provide an application control method and apparatus that can manage a white list for a sub-session to control a sub-session in which no signature exists.

본 발명의 일 실시예에 따른 애플리케이션의 제어 방법은, 수신한 패킷에 대하여 시그니처를 탐지하여 애플리케이션을 식별하는 단계, 상기 식별된 애플리케이션의 세션에 대하여 프로토콜 파싱(protocol parsing)을 수행하여 해당 프로토콜에 맞는 프로토콜 인스펙터(protocol inspector)를 할당하는 단계, 상기 할당된 프로토콜 인스펙터를 이용하여 상기 세션의 하위 세션인 서브 세션에 대한 정보인 서브 세션 정보를 추출하는 단계 및 관리 리스트에 상기 서브 세션 정보를 등록하는 단계를 포함하는 것을 특징으로 한다. A method of controlling an application according to an exemplary embodiment of the present invention includes the steps of identifying an application by detecting a signature on a received packet, performing protocol parsing on the session of the identified application, A step of assigning a protocol inspector, extracting sub-session information, which is information on a sub-session which is a sub-session of the session, using the assigned protocol inspector, and registering the sub- And a control unit.

본 발명의 다른 실시예에 따른 애플리케이션의 제어 장치는, 수신한 패킷에 대하여 시그니처를 탐지하여 애플리케이션을 식별하는 탐지 엔진, 상기 탐지 엔진에서 식별된 애플리케이션의 세션에 대하여 프로토콜 파싱을 수행하여 해당 프로토콜에 맞는 프로토콜 인스펙터를 할당하는 프로토콜 파서(protocol parser), 상기 세션의 하위 세션인 서브 세션에 대한 정보인 서브 세션 정보를 추출하는 프로토콜 인스펙터 및 화이트리스트에 상기 서브 세션 정보를 등록하는 관리 리스트 세션 관리 모듈을 포함하는 것을 특징으로 한다. A control apparatus of an application according to another embodiment of the present invention includes a detection engine for detecting a signature on an received packet to identify an application, a protocol parsing unit for performing a protocol parsing on a session of the application identified by the detection engine, A protocol parser for allocating a protocol inspector, a protocol inspector for extracting subsession information, which is information on a sub-session of the session, and a management list session management module for registering the sub-session information in a whitelist .

본 발명의 또다른 실시예에 따른 컴퓨터에 의해 판독가능하고, 프로세서에 의해 수행되며 애플리케이션의 제어를 위한 명령들이 저장되는 저장 매체에서, 상기 애플리케이션의 제어를 위한 명령은 상기 애플리케이션의 제어를 위해 프로세서에 의해 수행되는 명령은, 수신한 패킷에 대하여 시그니처를 탐지하여 애플리케이션을 식별하는 단계, 상기 식별된 애플리케이션의 세션에 대하여 프로토콜 파싱(protocol parsing)을 수행하여 해당 프로토콜에 맞는 프로토콜 인스펙터(protocol inspector)를 할당하는 단계, 상기 할당된 프로토콜 인스펙터를 이용하여 상기 세션의 하위 세션인 서브 세션에 대한 정보인 서브 세션 정보를 추출하는 단계 및 관리 리스트에 상기 서브 세션 정보를 등록하는 단계를 수행하는 것을 특징으로 한다. In a storage medium readable by a computer according to another embodiment of the present invention, which is executed by a processor and in which instructions for control of an application are stored, a command for controlling the application is provided to the processor The method comprising: identifying an application by detecting a signature on a received packet; performing protocol parsing on the session of the identified application to assign a protocol inspector to the protocol; Session information, which is information on a sub-session which is a sub-session of the session, using the allocated protocol inspectors, and registering the sub-session information in the management list.

본 발명에 따르면, 시그니처가 존재하지 않는 서브 세션을 갖는 애플리케이션에 대해서 애플리케이션 제어를 수행할 수 있다. According to the present invention, application control can be performed for an application having a sub-session in which no signature exists.

도 1은 애플리케이션의 세션과 서브 세션을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 애플리케이션 제어 장치를 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 애플리케이션 제어 방법을 나타내는 순서도이다.
도 4는 본 발명의 다른 실시예에 따른 애플리케이션 제어 방법을 나타내는 순서도이다.
1 is a diagram showing a session and a sub-session of an application.
2 is a diagram illustrating an application control apparatus according to an embodiment of the present invention.
3 is a flowchart showing an application control method according to an embodiment of the present invention.
4 is a flowchart showing an application control method according to another embodiment of the present invention.

본 발명에서 메인 세션은 가장 상위 계층에 위치하는 세션을 의미한다. 메인 세션은 적어도 하나 이상의 하위 세션을 포함할 수도 있고, 하위 세션을 포함하지 않고 하나의 세션으로 구성될 수도 있다. In the present invention, the main session means a session located in the uppermost layer. The main session may include at least one or more sub-sessions, or may be composed of one session without sub-sessions.

본 발명에서 서브 세션은 일 세션의 하위 계층에 위치하는 세션을 의미한다. 서브 세션은 적어도 하나 이상 존재할 수 있고, 또 다른 서브 세션을 포함하여 구성될 수도 있다. In the present invention, a sub-session means a session located in a lower layer of one session. The sub-session may be at least one, and may be configured to include another sub-session.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예들을 상세히 설명한다. 이 때, 첨부된 도면에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음에 유의해야 한다. 또한 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. Note that, in the drawings, the same components are denoted by the same reference symbols as possible. Further, the detailed description of well-known functions and constructions that may obscure the gist of the present invention will be omitted.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 장치를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is referred to as being "connected" to another part, it includes not only "directly connected" but also "indirectly connected" between the devices in the middle. Throughout the specification, when an element is referred to as "comprising ", it means that it can include other elements as well, without excluding other elements unless specifically stated otherwise.

도 1은 애플리케이션의 세션과 서브 세션을 나타내는 도면이다. 1 is a diagram showing a session and a sub-session of an application.

도 1을 참조하면 메신저 애플리케이션(110, 130)간 메인 세션(120)이 연결되어 있다. 그리고 메인 세션(120)의 서브 세션으로 SIP 세션(Session Initiation Protocol, 121), RTP(Realtime Transport Protocol, 122), MGCP(Media Gateway Control Protocol, 123) 세션 등이 연결되어 있다. Referring to FIG. 1, a main session 120 between messenger applications 110 and 130 is connected. A Session Initiation Protocol (SIP) session 121, a Realtime Transport Protocol (RTP) 122, and a Media Gateway Control Protocol (MGCP) session are connected to the sub-session of the main session 120.

메인 세션(120)의 경우, 애플리케이션을 탐지하기 위하여 시그니처가 존재하는 경우가 대부분이지만, 서브 세션들(121, 122, 123)은 해당 서브 세션을 탐지하기 위한 시그니처가 존재하지 않을 수도 있다. In the case of the main session 120, there is often a signature to detect the application, but the sub-sessions 121, 122 and 123 may not have a signature to detect the corresponding sub-session.

본 발명의 일 실시예에 따른 애플리케이션 제어 방법 및 장치는 이러한 경우에도 서브 세션을 식별하여 허용 여부를 결정할 수 있다. In this case, the application control method and apparatus according to an embodiment of the present invention can identify the sub-session and determine whether to allow the sub-session.

도 2는 본 발명의 일 실시예에 따른 애플리케이션 제어 장치를 나타내는 도면이다. 2 is a diagram illustrating an application control apparatus according to an embodiment of the present invention.

도 2를 참조하면, 본 발명의 일 실시예에 따른 애플리케이션 제어 장치(220)는 탐지엔진(221), 세션 제어기(222), 프로토콜 파서(223), 적어도 하나 이상의 인스펙터들(224, 225 … 226), 화이트 리스트 세션 관리 모듈(227)을 포함할 수 있다. 2, an application control apparatus 220 according to an exemplary embodiment of the present invention includes a detection engine 221, a session controller 222, a protocol parser 223, at least one inspector 224, 225 ... 226 ), And a whitelist session management module 227.

탐지 엔진(221)은 애플리케이션 제어 장치(220)를 통과하는 패킷을 검사하여 시그니처를 탐지하는 역할을 수행한다.The detection engine 221 performs a role of checking a packet passing through the application control device 220 and detecting a signature.

세션 제어기(222)는 애플리케이션 제어 장치(220)를 통해 연결된 세션을 통해 전송되는 패킷을 제어하는 역할을 수행하여, 탐지 엔진(221)을 통해 식별된 애플리케이션의 세션을 허용할지 여부를 판단하는 역할을 수행한다. 본 발명의 일 실시예에 따른 세션 제어기(222)는 관리 리스트에 서브 세션 정보가 등록된 후, 새로운 패킷을 수신하는 경우, 새로운 패킷의 패킷 데이터와 관리 리스트에 등록된 서브 세션 정보가 일치하는지 여부를 판단하는 세션 정보 매칭을 수행하고, 새로운 패킷의 패킷 데이터와 관리 리스트에 등록된 상기 서브 세션 정보가 일치한다고 판단하는 경우, 패킷 전송에 대한 정책을 적용할 수 있다. The session controller 222 plays a role of controlling a packet transmitted through a session connected through the application control device 220 and determines whether to allow the session of the identified application through the detection engine 221 . The session controller 222 according to the embodiment of the present invention determines whether the packet data of the new packet and the sub-session information registered in the management list match when sub-session information is registered in the management list and then receives a new packet And when it is determined that the packet data of the new packet and the sub-session information registered in the management list coincide with each other, the policy for packet transmission can be applied.

본 발명의 일 실시예에 따르면, 시그니처를 탐지할 수 없는 서브 세션에 대해서도 서브 세션 정보를 이용하여 식별이 가능하여 서브 세션에 대해서도 정책을 적용할 수 있어 보다 정밀한 애플리케이션 제어를 수행할 수 있다. According to an embodiment of the present invention, a sub-session that can not detect a signature can be identified by using the sub-session information, so that the policy can be applied to the sub-session, and more precise application control can be performed.

도 2에서는 관리 리스트가 화이트 리스트인 것을 전제로 하여 설명하도록 한다. In FIG. 2, it is assumed that the management list is a white list.

세션 제어기(222)는 새로운 패킷의 패킷 데이터와 화이트 리스트에 등록된 서브 세션 정보가 일치하는 경우, 패킷 전송을 허용하고, 새로운 패킷의 패킷 데이터와 화이트 리스트에 등록된 서브 세션 정보가 일치하지 않는 경우, 패킷을 폐기하여 서브 세션을 차단할 수도 있다. If the packet data of the new packet matches the sub-session information registered in the whitelist, the session controller 222 permits the packet transmission. If the packet data of the new packet and the sub-session information registered in the whitelist do not match , And discard the packet to block the sub-session.

프로토콜 파서(protocol parser, 223)는 탐지 엔진(221)에서 식별된 애플리케이션의 세션에 대하여 프로토콜 파싱을 수행하여 적어도 하나 이상의 프로토콜 인트펙터(224, 225 … 226) 중 해당 프로토콜에 맞는 프로토콜 인스펙터를 할당한다. 예를 들어, 해당 세션이 HTTP 세션인 경우에는 HTTP 인스펙터(224)를 할당하고, SIP 세션인 경우에는 SIP 인스펙터(225)를 할당하며, RTP 세션인 경우에는 RTP 인스펙터(226)를 할당할 수 있다. The protocol parser 223 performs protocol parsing on the session of the application identified by the detection engine 221 and allocates a protocol inspector for the protocol among at least one of the protocol inteferers 224, 225 ... 226 . For example, if the session is an HTTP session, the HTTP inspector 224 may be allocated, the SIP inspector 225 may be allocated for a SIP session, and the RTP inspector 226 may be allocated for an RTP session .

프로토콜 인스펙터(protocol inspector)는 해당 세션에 대한 패킷 데이터를 분석하고 정보를 수집하는 역할을 수행한다. 본 발명의 일 실시예에 따른 프로토콜 인스펙터(protocol inspector)는 서브 세션에 대한 정보인 서브 세션 정보를 추출하는 역할을 수행한다. 이때, 프로토콜 인스펙터(protocol inspector)는 세션의 패킷 데이터를 분석하고 정보를 수집하고, 수집된 정보를 바탕으로 해당 세션이 서브 세션을 생성하는지 여부를 판단하며, 해당 세션이 서브 세션을 생성한다고 판단하는 경우, 서브 세션 정보를 추출할 수 있다. A protocol inspector analyzes the packet data for the session and collects information. A protocol inspector according to an embodiment of the present invention extracts subsession information, which is information on a sub-session. At this time, the protocol inspector analyzes the packet data of the session, collects information, determines whether or not the session creates a sub-session based on the collected information, and determines that the session creates a sub-session , It is possible to extract the sub-session information.

여기서 서브 세션 정보는 출발지 IP 주소, 출발지 포트, 목적지 IP 주소, 목적지 포트 또는 프로토콜 중 적어도 하나 이상을 포함할 수 있다. 이러한 서브 세션 정보는 화이트 리스트에 등록되어 패킷 데이터와의 비교에 사용된다. The subsession information may include at least one of a source IP address, a source port, a destination IP address, a destination port, or a protocol. This sub-session information is registered in the whitelist and used for comparison with the packet data.

화이트 리스트 세션 관리 모듈(227)은 화이트 리스트를 기반으로 세션을 관리하는 역할을 수행한다. 본 발명의 일 실시예에 따른 화이트 리스트 세션 관리 모듈(227)은 화이트 리스트에 서브 세션 정보를 등록하고 해당 서브 세션에 대한 정책을 관리한다. The whitelist session management module 227 manages sessions based on the whitelist. The whitelist session management module 227 according to an exemplary embodiment of the present invention registers subscription information in a whitelist and manages policies for the subscription.

도 2에서는 탐지엔진(221), 세션 제어기(222), 프로토콜 파서(223), 적어도 하나 이상의 인스펙터들(224, 225 … 226), 화이트 리스트 세션 관리 모듈(227)이 별도의 블록으로 구성되어 각 블록이 상이한 기능을 수행하는 것으로 기술하였지만 이는 기술상의 편의를 위한 것일 뿐, 반드시 이와 같이 각 기능이 구분되는 것은 아니다. 예를 들어, 각 블록들이 수행하는 기능을 애플리케이션 제어 장치(220)의 제어부(미도시) 자체가 수행할 수도 있다. In FIG. 2, the detection engine 221, the session controller 222, the protocol parser 223, the at least one inspector 224, 225 ... 226, and the whitelist session management module 227 are constituted as separate blocks, Although blocks have been described as performing different functions, this is for technical convenience only, and the functions are not necessarily distinguished as such. For example, the control unit (not shown) of the application control unit 220 may perform the functions performed by the respective blocks.

또한, 도 2에서는 관리 리스트가 화이트 리스트인 것을 전제로 하여 설명하였으나, 관리 리스트가 블랙 리스트여도 무방하다. 이 경우, 세션 제어기(222)는 새로운 패킷의 패킷 데이터와 블랙 리스트에 등록된 서브 세션 정보가 일치하지 않는 경우, 패킷 전송을 허용하고, 새로운 패킷의 패킷 데이터와 블랙 리스트에 등록된 서브 세션 정보가 일치하는 경우, 패킷을 폐기하여 서브 세션을 차단할 수도 있다. In FIG. 2, it is assumed that the management list is a whitelist, but the management list may be blacklisted. In this case, when the packet data of the new packet and the sub-session information registered in the black list do not match, the session controller 222 permits the packet transmission, and the packet data of the new packet and the sub- If there is a match, the packet may be discarded to block the sub-session.

도 3은 본 발명의 일 실시예에 따른 애플리케이션 제어 방법을 나타내는 순서도이다. 3 is a flowchart showing an application control method according to an embodiment of the present invention.

도 3에 도시된 본 발명의 일 실시예는 서브 세션을 식별을 위한 서브 세션 정보를 추출하여 관리 리스트에 등록하는 과정을 도시한 것이다. 도 3을 참조하여 살펴보면, 먼저, 310 단계에서 애플리케이션 제어 장치(220)는 수신한 패킷에 대하여 시그니처를 탐지하여 애플리케이션을 식별하고, 320 단계로 진행하여 식별된 애플리케이션의 세션에 대하여 프로토콜 파싱(protocol parsing)을 수행하여 해당 프로토콜에 맞는 프로토콜 인스펙터(protocol inspector)를 할당한다. 3 illustrates a process of extracting sub-session information for identifying a sub-session and registering the sub-session information in the management list. 3, in step 310, the application control apparatus 220 detects a signature of a received packet to identify an application. In step 320, the application control apparatus 220 performs protocol parsing ) And assigns a protocol inspector to the protocol.

그 후, 330 단계에서 애플리케이션 제어 장치(220)는 할당된 프로토콜 인스펙터를 이용하여 세션의 하위 세션인 서브 세션에 대한 정보인 서브 세션 정보를 추출한다. 이때, 애플리케이션 제어 장치(220)는 세션의 패킷 데이터를 분석하고 정보를 수집하고, 수집된 정보를 바탕으로 해당 세션이 서브 세션을 생성하는지 여부를 판단하며, 해당 세션이 서브 세션을 생성한다고 판단하는 경우, 서브 세션 정보를 추출할 수 있다. 또한, 서브 세션 정보는 출발지 IP 주소, 출발지 포트, 목적지 IP 주소, 목적지 포트 또는 프로토콜 중 적어도 하나 이상을 포함할 수 있다.Thereafter, in step 330, the application control apparatus 220 extracts sub-session information, which is information on a sub-session that is a sub-session of the session, using the assigned protocol inspector. At this time, the application control device 220 analyzes the packet data of the session, collects information, determines whether or not the session creates a sub-session based on the collected information, and determines that the session creates a sub-session , It is possible to extract the sub-session information. In addition, the subsession information may include at least one of a source IP address, a source port, a destination IP address, a destination port, or a protocol.

나아가, 340 단계에서, 애플리케이션 제어 장치(220)는 해당 서브 세션 정보를 관리 리스트에 등록한다. Further, in step 340, the application control apparatus 220 registers the sub-session information in the management list.

도 4는 본 발명의 다른 실시예에 따른 애플리케이션 제어 방법을 나타내는 순서도이다. 4 is a flowchart showing an application control method according to another embodiment of the present invention.

도 4는 관리 리스트에 등록된 서브 세션 정보를 이용하여 패킷을 허용하거나 차단하는 과정을 도시한 것이다. 도 4를 참조하여 살펴보면, 먼저, 410 단계에서 애플리케이션 제어 장치(220)는 패킷을 수신하고 420 단계로 진행하여 수신한 패킷의 패킷 데이터와 화이트 리스트에 등록된 서브 세션 정보가 일치하는지 여부를 판단하는 화이트 리스트 세션 정보 매칭을 수행한다. FIG. 4 illustrates a process of allowing or blocking a packet using sub-session information registered in a management list. 4, the application control apparatus 220 receives a packet in step 410, and proceeds to step 420 and determines whether the packet data of the received packet matches the sub-session information registered in the whitelist And performs white list session information matching.

420 단계에서, 수신한 패킷의 패킷 데이터와 화이트 리스트에 등록된 서브 세션 정보가 일치하는 경우, 430 단계로 진행하여 해당 패킷의 전송을 허용하고, 수신한 패킷의 패킷 데이터와 화이트 리스트에 등록된 서브 세션 정보가 일치하지 않는 경우, 해당 패킷을 폐기한다. 즉, 패킷 데이터와 관리 리스트에 등록된 서브 세션 정보의 일치 여부에 따라, 패킷 전송에 대한 정책을 적용할 수 있는 것이다. If the packet data of the received packet and the sub-session information registered in the whitelist match in step 420, the flow advances to step 430 to allow transmission of the packet, and the packet data of the received packet and the sub- If the session information does not match, the corresponding packet is discarded. That is, the policy for packet transmission can be applied according to whether the packet data and the sub-session information registered in the management list match each other.

또한, 도 4에서는 관리 리스트가 화이트 리스트인 것을 전제로 하여 설명하였으나, 관리 리스트가 블랙 리스트여도 무방하다. 이 경우, 새로운 패킷의 패킷 데이터와 블랙 리스트에 등록된 서브 세션 정보가 일치하지 않는 경우, 패킷 전송을 허용하고, 새로운 패킷의 패킷 데이터와 블랙 리스트에 등록된 서브 세션 정보가 일치하는 경우, 패킷을 폐기하여 서브 세션을 차단할 수도 있다. In FIG. 4, it is assumed that the management list is a whitelist. However, the management list may be blacklisted. In this case, when the packet data of the new packet and the sub-session information registered in the black list do not coincide with each other, the packet transmission is permitted, and when the packet data of the new packet and the sub- Discard the sub-session.

도 3 내지 도 4에서 도시하는 과정을 FTP 프로토콜을 예로 들어 설명해보면, 먼저, FTP(File Transfer Protocol) 세션의 경우, 컨트롤 세션과 데이터 세션이 분리되어 있는데, 메인 세션으로 컨트롤 세션이 형성되고, 서브 세션으로 데이터 세션이 형성된다. 또한 메인 세션인 컨트롤 세션은 서브 세션인 데이터 세션에 대한 서브 세션 정보를 포함하고 있다. 따라서, 데이터 세션을 제어하기 위하여 메인 세션인 컨트롤 세션을 분석하여 서브 세션인 데이터 세션에 대한 서브 세션 정보를 확보하여 이를 관리 리스트에 등록해 두면, 서브 세션 형성 시, 관리 리스트를 통해 이를 식별하여 허용할지 차단할지 여부를 결정할 수 있다. 즉, 시그니처를 통해 식별하기 힘든 서브 세션에 대한 식별을 통해 세션을 제어할 수 있는 것이다. 다만, 이러한 FTP 프로토콜에 대한 설명은 하나의 예시에 불과하며, 다양하게 변형되어 적용될 수 있다. 3 to 4, an FTP protocol is taken as an example. First, in the case of an FTP (File Transfer Protocol) session, a control session and a data session are separated. A control session is formed in the main session, A session is formed by a session. In addition, the control session, which is the main session, contains subsession information for the data session, which is the sub session. Therefore, if the subsession information for the data session, which is the sub-session, is acquired and registered in the management list by analyzing the control session, which is the main session, to control the data session, Whether to block or block. That is, the session can be controlled by identifying the sub-session that is difficult to identify through the signature. However, the description of the FTP protocol is merely one example, and can be variously applied.

지금까지 본 발명의 실시예들을 프로세서에 의해 수행되는 명령들로 구현되어 컴퓨터에 의해 판독 가능한 저장 매체에 저장될 수 있다. 이러한 명령들이 프로세서에 의해 실행되는 경우, 위에서 설명한 흐름도 및/또는 블록도에서 특정된 기능들/동작들을 구현하는 수단을 생성할 수 있다. 흐름도/블록도들에서의 각 블록은 본 발명의 실시예들을 구현하는 하드웨어 및/또는 소프트웨어모듈 또는 로직을 나타낼 수도 있다. 또한, 블록도들에 언급한 기능들은 도면들에서 언급한 순서를 벗어나 발생할 수도 있고, 동시에 발생할 수도 있다. Embodiments of the invention may be embodied in a computer-readable storage medium embodied in instructions for execution by a processor. When these instructions are executed by a processor, they may generate means for implementing the functions / operations specified in the flowcharts and / or block diagrams described above. Each block in the flowcharts / block diagrams may represent hardware and / or software modules or logic that implement embodiments of the present invention. Further, the functions referred to in the block diagrams may occur outside the order mentioned in the drawings, or may occur simultaneously.

컴퓨터에 의해 판독 가능한 매체는 예를 들어, 플로피 디스크, ROM, 플래시 메모리, 디스크 드라이브 메모리, CD-ROM, 및 다른 영구 저장부와 같은 비휘발성 메모리를 포함할 수 있으나, 이에 한정되지 않고 다양한 매체가 사용 가능하다. The computer-readable medium can include, for example, but is not limited to, a non-volatile memory such as a floppy disk, ROM, flash memory, disk drive memory, CD-ROM, and other persistent storage, Available.

본 명세서와 도면에 개시된 본 발명의 실시예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.The embodiments of the present invention disclosed in the present specification and drawings are merely illustrative examples of the present invention and are not intended to limit the scope of the present invention in order to facilitate understanding of the present invention. It will be apparent to those skilled in the art that other modifications based on the technical idea of the present invention are possible in addition to the embodiments disclosed herein.

210: 내부 네트워크
220: 애플리케이션 제어 장치
230: 방화벽
240: 애플리케이션 제어 엔진
250: 외부 네트워크
210: Internal network
220: Application control device
230: Firewall
240: application control engine
250: External network

Claims (14)

메인 세션을 통해 전송되는 패킷을 수신하고 상기 수신된 패킷에 대하여 시그니처를 탐지하여 애플리케이션을 식별하는 단계;
상기 식별된 애플리케이션의 상기 메인 세션에 대하여 프로토콜 파싱(protocol parsing)을 수행하여 해당 프로토콜에 맞는 프로토콜 인스펙터(protocol inspector)를 할당하는 단계;
상기 할당된 프로토콜 인스펙터를 이용하여 상기 메인 세션의 하위 세션인 서브 세션에 대한 정보를 서브 세션 정보로서 추출하는 단계;
상기 서브 세션 정보를 관리 리스트에 등록하는 단계;
새로운 패킷을 수신하는 경우, 상기 새로운 패킷의 패킷 데이터와 상기 관리 리스트에 등록된 상기 서브 세션 정보가 일치하는지 여부를 판단하는 세션 정보 매칭을 수행하는 단계; 및
상기 새로운 패킷의 패킷 데이터와 상기 관리 리스트에 등록된 상기 서브 세션 정보가 일치한다고 판단하는 경우, 상기 서브 세션에 대해 패킷 전송에 대한 정책을 적용하는 단계를 포함하는 것을 특징으로 하되,
상기 추출하는 단계는,
상기 메인 세션의 패킷 데이터를 분석하고 정보를 수집하는 단계;
상기 수집된 정보를 바탕으로 상기 메인 세션이 상기 서브 세션을 생성하는지 여부를 판단하는 단계; 및
상기 메인 세션이 상기 서브 세션을 생성한다고 판단하는 경우, 상기 수집된 정보로부터 상기 서브 세션 정보를 추출하는 단계를 포함하는 애플리케이션 제어 방법.
Receiving a packet transmitted over a main session and detecting a signature for the received packet to identify an application;
Performing a protocol parsing on the main session of the identified application to allocate a protocol inspector for the protocol;
Extracting information on a sub-session, which is a sub-session of the main session, as sub-session information using the assigned protocol inspector;
Registering the sub-session information in a management list;
Performing session information matching to determine whether the packet data of the new packet matches the sub-session information registered in the management list when receiving a new packet; And
And applying a packet transmission policy to the sub-session when it is determined that the packet data of the new packet matches the sub-session information registered in the management list,
Wherein the extracting comprises:
Analyzing packet data of the main session and collecting information;
Determining whether the main session generates the sub-session based on the collected information; And
And extracting the subsession information from the collected information if the main session determines to create the sub-session.
삭제delete 제1항에 있어서,
상기 관리 리스트는 화이트 리스트이고,
상기 패킷 전송에 대한 정책을 적용하는 단계는,
상기 서브 세션에 대한 상기 패킷 전송을 허용하는 것을 특징으로 하는 애플리케이션 제어 방법.
The method according to claim 1,
The management list is a white list,
Wherein applying the policy for packet transmission comprises:
And permits the packet transmission for the sub-session.
제3항에 있어서,
상기 패킷 전송에 대한 정책을 적용하는 단계는,
상기 새로운 패킷의 패킷 데이터와 상기 관리 리스트에 등록된 상기 서브 세션 정보가 일치하지 않는다고 판단하는 경우, 상기 서브 세션에 대한 상기 패킷 전송을 금지하는 단계를 더 포함하는 것을 특징으로 하는 애플리케이션 제어 방법.
The method of claim 3,
Wherein applying the policy for packet transmission comprises:
And prohibiting the packet transmission to the sub-session when it is determined that the packet data of the new packet does not match the sub-session information registered in the management list.
삭제delete 제1항에 있어서,
상기 서브 세션 정보는,
출발지 IP 주소, 출발지 포트, 목적지 IP 주소, 목적지 포트 또는 프로토콜 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 애플리케이션 제어 방법.
The method according to claim 1,
The sub-
A destination IP address, a destination IP address, a source port, a destination IP address, a destination port, or a protocol.
메인 세션을 통해 전송되는 패킷을 수신하고 수신된 패킷에 대하여 시그니처를 탐지하여 애플리케이션을 식별하는 탐지 엔진;
상기 탐지 엔진에서 식별된 애플리케이션의 상기 메인 세션에 대하여 프로토콜 파싱을 수행하여 해당 프로토콜에 맞는 프로토콜 인스펙터를 할당하는 프로토콜 파서(protocol parser);
상기 메인 세션의 하위 세션인 서브 세션에 대한 정보를 서브 세션 정보로서 추출하는 프로토콜 인스펙터;
관리 리스트에 상기 서브 세션 정보를 등록하는 관리 리스트 세션 관리 모듈; 및
새로운 패킷을 수신하는 경우, 상기 새로운 패킷의 패킷 데이터와 상기 관리 리스트에 등록된 상기 서브 세션 정보가 일치하는지 여부를 판단하는 세션 정보 매칭을 수행하고, 상기 새로운 패킷의 패킷 데이터와 상기 관리 리스트에 등록된 상기 서브 세션 정보가 일치한다고 판단하는 경우, 상기 서브 세션에 대해 패킷 전송에 대한 정책을 적용하는 세션 제어기를 포함하되,
상기 프로토콜 인스펙터는,
상기 서브 세션 정보를 추출 시, 상기 메인 세션의 패킷 데이터를 분석하고 정보를 수집하고, 상기 수집된 정보를 바탕으로 상기 메인 세션이 상기 서브 세션을 생성하는지 여부를 판단하며, 상기 메인 세션이 상기 서브 세션을 생성한다고 판단하는 경우, 상기 수집된 정보로부터 상기 서브 세션 정보를 추출하는 것을 특징으로 하는 애플리케이션 제어 장치.
A detection engine that receives a packet transmitted over the main session and detects a signature for the received packet to identify the application;
A protocol parser for performing protocol parsing on the main session of the application identified by the detection engine and allocating a protocol inspector according to the protocol;
A protocol inspector for extracting information on a sub-session, which is a sub-session of the main session, as sub-session information;
A management list session management module for registering the sub-session information in a management list; And
Performing session information matching to determine whether the packet data of the new packet and the sub-session information registered in the management list match, when receiving a new packet, and storing the packet data of the new packet in the management list A session controller for applying a policy for packet transmission to the sub-session when it determines that the sub-session information matches,
Wherein the protocol inspector comprises:
When extracting the sub-session information, analyzing packet data of the main session, collecting information, determining whether the main session generates the sub-session based on the collected information, And extracts the sub-session information from the collected information when it is determined to create the session.
삭제delete 제7항에 있어서,
상기 관리 리스트는 화이트 리스트이고,
상기 세션 제어기는,
상기 패킷 전송에 대한 정책을 적용 시, 상기 서브 세션에 대한 상기 패킷 전송을 허용하는 것을 특징으로 하는 애플리케이션 제어 장치.
8. The method of claim 7,
The management list is a white list,
The session controller comprising:
When the policy for the packet transmission is applied, permits the packet transmission for the sub-session.
제9항에 있어서,
상기 세션 제어기는,
상기 패킷 전송에 대한 정책을 적용 시, 상기 새로운 패킷의 패킷 데이터와 상기 관리 리스트에 등록된 상기 서브 세션 정보가 일치하지 않는다고 판단하는 경우, 상기 서브 세션에 대한 상기 패킷 전송을 금지하는 것을 특징으로 하는 애플리케이션 제어 장치.
10. The method of claim 9,
The session controller comprising:
When the policy for the packet transmission is applied, if packet data of the new packet and the sub-session information registered in the management list do not match, the packet transmission to the sub-session is prohibited Application control device.
삭제delete 제7항에 있어서,
상기 서브 세션 정보는,
출발지 IP 주소, 출발지 포트, 목적지 IP 주소, 목적지 포트 또는 프로토콜 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 애플리케이션 제어 장치.
8. The method of claim 7,
The sub-
A destination IP address, a destination IP address, a source port, a destination IP address, a destination port, or a protocol.
애플리케이션의 제어를 위해 프로세서에 의해 수행되는 명령들이 저장되는 컴퓨터에 의해 판독 가능한 저장 매체에 있어서,
상기 애플리케이션의 제어를 위해 프로세서에 의해 수행되는 명령은,
메인 세션을 통해 전송되는 패킷을 수신하고 상기 수신된 패킷에 대하여 시그니처를 탐지하여 애플리케이션을 식별하는 단계;
상기 식별된 애플리케이션의 상기 메인 세션에 대하여 프로토콜 파싱(protocol parsing)을 수행하여 해당 프로토콜에 맞는 프로토콜 인스펙터(protocol inspector)를 할당하는 단계;
상기 할당된 프로토콜 인스펙터를 이용하여 상기 메인 세션의 하위 세션인 서브 세션에 대한 정보를 서브 세션 정보로서 추출하는 단계;
관리 리스트에 상기 서브 세션 정보를 등록하는 단계;
새로운 패킷을 수신하는 경우, 상기 새로운 패킷의 패킷 데이터와 상기 관리 리스트에 등록된 상기 서브 세션 정보가 일치하는지 여부를 판단하는 세션 정보 매칭을 수행하는 단계; 및
상기 새로운 패킷의 패킷 데이터와 상기 관리 리스트에 등록된 상기 서브 세션 정보가 일치한다고 판단하는 경우, 상기 서브 세션에 대해 패킷 전송에 대한 정책을 적용하는 단계를 수행하는 것을 특징으로 하며,
상기 추출하는 단계는,
상기 메인 세션의 패킷 데이터를 분석하고 정보를 수집하는 단계;
상기 수집된 정보를 바탕으로 상기 메인 세션이 상기 서브 세션을 생성하는지 여부를 판단하는 단계; 및
상기 메인 세션이 상기 서브 세션을 생성한다고 판단하는 경우, 상기 서브 세션 정보를 추출하는 단계를 포함하는 저장 매체.

A computer-readable storage medium on which instructions to be executed by a processor for control of an application are stored,
Instructions executed by the processor for controlling the application,
Receiving a packet transmitted over a main session and detecting a signature for the received packet to identify an application;
Performing a protocol parsing on the main session of the identified application to allocate a protocol inspector for the protocol;
Extracting information on a sub-session, which is a sub-session of the main session, as sub-session information using the assigned protocol inspector;
Registering the sub-session information in a management list;
Performing session information matching to determine whether the packet data of the new packet matches the sub-session information registered in the management list when receiving a new packet; And
And applying a packet transmission policy to the sub-session when it is determined that the packet data of the new packet matches the sub-session information registered in the management list,
Wherein the extracting comprises:
Analyzing packet data of the main session and collecting information;
Determining whether the main session generates the sub-session based on the collected information; And
And if the main session determines to create the sub-session, extracting the sub-session information.

삭제delete
KR1020130167523A 2013-12-30 2013-12-30 Method and apparatus for controlling application KR101571805B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130167523A KR101571805B1 (en) 2013-12-30 2013-12-30 Method and apparatus for controlling application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130167523A KR101571805B1 (en) 2013-12-30 2013-12-30 Method and apparatus for controlling application

Publications (2)

Publication Number Publication Date
KR20150078285A KR20150078285A (en) 2015-07-08
KR101571805B1 true KR101571805B1 (en) 2015-11-25

Family

ID=53790851

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130167523A KR101571805B1 (en) 2013-12-30 2013-12-30 Method and apparatus for controlling application

Country Status (1)

Country Link
KR (1) KR101571805B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108197469B (en) * 2017-11-28 2020-12-18 东软集团股份有限公司 Method and device for verifying application program, storage medium and electronic equipment

Also Published As

Publication number Publication date
KR20150078285A (en) 2015-07-08

Similar Documents

Publication Publication Date Title
CN107209694B (en) Method for controlling on-demand service provisioning
US11956338B2 (en) Correlating packets in communications networks
US9582308B2 (en) Auto detecting legitimate IP addresses using spoofguard agents
US9154459B2 (en) Access control manager
US7447768B2 (en) Categorizing, classifying, and identifying network flows using network and host components
EP1802023B1 (en) System and method for controling ngn service-based firewall
US8060927B2 (en) Security state aware firewall
WO2015010307A1 (en) Service path allocation method, router and service execution entity
US9100437B2 (en) Methods, apparatus, and articles of manufacture to provide firewalls for process control systems
KR100838811B1 (en) Secure session border controller system for voip service security
US20220159016A1 (en) Network data traffic identification
US10834052B2 (en) Monitoring device and method implemented by an access point for a telecommunications network
US9749200B2 (en) Method and apparatus for detecting application
KR20070050727A (en) Method for blocking network attacks using the information in packet and apparatus thereof
KR100769221B1 (en) Confrontation system preparing for zeroday attack and confrontation method thereof
US20170255785A1 (en) Method for communicating in a network comprising a virtual network , and a communication node comprising a virtual network entity
KR101772681B1 (en) Firewall Apparatus and Driving Method Thereof
KR101571805B1 (en) Method and apparatus for controlling application
US11159533B2 (en) Relay apparatus
CN109428863B (en) Safety protection method, data processing method, device and equipment for container service
US20170331838A1 (en) Methods and computing devices to regulate packets in a software defined network
US9882870B2 (en) System and method for integrated management of terminal information in IPv6 environment
KR20150073625A (en) Method and apparatus for controlling application
KR102651735B1 (en) Honeypot system using virtual session and honeypot operation method
RU2697698C2 (en) Method of processing network traffic using firewall method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20181106

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20191107

Year of fee payment: 5