KR102027434B1 - Security apparatus and method for operating the same - Google Patents

Security apparatus and method for operating the same Download PDF

Info

Publication number
KR102027434B1
KR102027434B1 KR1020170132759A KR20170132759A KR102027434B1 KR 102027434 B1 KR102027434 B1 KR 102027434B1 KR 1020170132759 A KR1020170132759 A KR 1020170132759A KR 20170132759 A KR20170132759 A KR 20170132759A KR 102027434 B1 KR102027434 B1 KR 102027434B1
Authority
KR
South Korea
Prior art keywords
packet
client
ticket
address
ack
Prior art date
Application number
KR1020170132759A
Other languages
Korean (ko)
Other versions
KR20190041323A (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 KR1020170132759A priority Critical patent/KR102027434B1/en
Publication of KR20190041323A publication Critical patent/KR20190041323A/en
Application granted granted Critical
Publication of KR102027434B1 publication Critical patent/KR102027434B1/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/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • 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
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks

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)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 단방향 네트워크 특성을 갖는 비동기 네트워크에 적용 가능한 보안 장치 및 이의 동작 방법에 관한 것이다. 이를 위한 본 발명의 보안 장치는 클라이언트로부터 제1 패킷을 수신하고, 제1 패킷을 송신한 클라이언트의 IP 주소가 티켓리스트에 존재하는지 판단하고; 클라이언트의 IP 주소가 티켓리스트에 존재하지 않을 경우, 클라이언트가 신규 세션인지 판단하고; 클라이언트가 신규 세션인 경우, 제1 패킷의 시퀀스 정보를 근거로 클라이언트가 이후에 송신할 제2 패킷의 예측 시퀀스 번호를 산출하며; 클라이언트로부터 제2 패킷을 수신할 때, 제2 패킷의 시퀀스 정보와 제2 패킷의 예측 시퀀스 번호를 이용하여 클라이언트의 정상 여부를 판단하고, 클라이언트가 정상 클라이언트로 판단될 때 클라이언트의 IP 주소에 티켓을 발행하는 것을 특징으로 한다.The present invention relates to a security device applicable to an asynchronous network having a unidirectional network characteristic and a method of operating the same. The security apparatus of the present invention receives the first packet from the client, and determines whether the IP address of the client that sent the first packet exists in the ticket list; If the IP address of the client does not exist in the ticket list, determine whether the client is a new session; If the client is a new session, calculate a predicted sequence number of a second packet to be transmitted later by the client based on the sequence information of the first packet; When the second packet is received from the client, it is determined whether the client is normal by using the sequence information of the second packet and the predicted sequence number of the second packet, and when the client is determined to be a normal client, a ticket is sent to the client's IP address. It is characterized by issuing.

Figure R1020170132759
Figure R1020170132759

Description

보안 장치 및 이의 동작 방법{SECURITY APPARATUS AND METHOD FOR OPERATING THE SAME}SECURITY APPARATUS AND METHOD FOR OPERATING THE SAME}

본 발명은 보안 장치 및 이의 동작 방법에 관한 것이고, 보다 상세하게 비동기 네트워크(Asynchronous Network)에서, 클라이언트에서 송신되는 패킷 자체만을 이용하여 정상 사용자와 비정상 사용자를 판단할 수 있는 보안 장치 및 이의 동작 방법에 관한 것이다.The present invention relates to a security apparatus and a method of operating the same, and more particularly, to an apparatus and a method of operating the security apparatus capable of determining a normal user and an abnormal user using only a packet transmitted from a client in an asynchronous network. It is about.

네트워크 망에서 외부로부터 내부 시스템으로 들어오는 트래픽에는 네트워크 망을 위협하는 여러 공격들이 존재한다. 따라서, 이러한 공격들을 차단하여 양호한 네트워크 망을 구성하기 위해 보안장비가 내부 시스템에 설치된다. 외부로부터 내부 시스템으로 들어오는 공격 유형으로는 네트워크 대역폭을 위협하는 DOS(Denial of Service), DDOS(Distributed Denial of Service), 플러딩(Flooding) 공격 등이 대표적이고, 그 이외에도 다양한 해킹, 바이러스 공격 등이 있다.There are several attacks that threaten network network traffic from external network to internal system. Therefore, security equipment is installed in the internal system to block such attacks and form a good network. Types of attacks that enter the internal system from the outside are typical Denial of Service (DOS), Distributed Denial of Service (DDOS), and Flooding attacks that threaten network bandwidth. Other types of attacks include hacking and virus attacks. .

여기서, DOS 공격이란, 목적 망/서버에 유해 트래픽을 유입시켜 네트워크의 서비스 기능을 일시적으로 또는 완전히 정지시키는 공격 방식을 말한다. DOS 공격의 한 형태인 DDOS 공격은, 분산 설치된 다수의 공격 프로그램이 서로 통합된 형태로 목적 망/서버에 트래픽을 집중시키는 공격으로서 일반적인 DOS 공격에 비해 탐지가 어렵고, DOS 공격에 비해 훨씬 더 강력한 파괴력을 가지고 있다. DDOS 공격은 다량의 유해 트래픽으로 네트워크 전체의 자원을 고갈시키는 한편, 네트워크에 심각한 부하를 주어 해당 네트워크를 마비시키기도 한다. Here, the DOS attack refers to an attack method that temporarily or completely stops a service function of a network by introducing harmful traffic to a target network / server. DDOS attack, a form of DOS attack, is an attack that concentrates traffic on a target network / server by integrating multiple attack programs, which is harder to detect than general DOS attacks, and much more powerful than DOS attacks. Have DDOS attacks use up large amounts of harmful traffic to deplete resources throughout the network, while also putting a heavy load on the network and paralyzing the network.

이러한 DDOS 공격에 대비하기 위해, 종래에는 보안 장비를 네트워크 구성에 추가하고, 보안 장비를 통해 DDOS 공격을 차단하는 방식을 채택하였다. 여기서, 보안장비는 예를 들어, 동기 네트워크 구간 또는 비동기 네트워크 구간에 존재할 수 있다. In order to prepare for such a DDOS attack, conventionally, a security device is added to a network configuration, and a method of blocking a DDOS attack through the security device has been adopted. Here, the security equipment may be present in, for example, a synchronous network section or an asynchronous network section.

도 1a 및 도 1b는 보안장비(2)를 동기 네트워크 구간 내로 구성할 때의 예시를 나타내는 도면이다. 종래 기술은 동기 네트워크 구간의 보안장비(2) 구성 시, 보안장비(2)에 SYN-Cookie 또는 SYN-Proxy 구성을 하고, SYN-Cookie 또는 SYN-Proxy 방식을 통하여 정상 IP와 비정상 IP를 구분하였다. 즉, 동기 네트워크 구간에 보안장비(2)를 구성할 시, TCP의 3-웨이 핸드셰이크(3-way Hand shake) 과정의 응답 메커니즘을 이용한 SYN-Cooke 또는 SYN-Proxy 방식으로, 보안장비(2)가 서버(50) 대신 응답을 하는 구조로 구성되었다.1A and 1B are diagrams showing an example of configuring the security device 2 within a synchronous network section. In the prior art, SYN-Cookie or SYN-Proxy is configured in the security device (2) when the security device (2) is configured in the synchronous network section, and the normal IP and the abnormal IP are distinguished by the SYN-Cookie or SYN-Proxy method. . That is, when configuring the security device 2 in the synchronous network section, the security device (2) by the SYN-Cooke or SYN-Proxy method using the response mechanism of the 3-way handshake process of TCP ) Is configured to respond in place of the server 50.

도 2a 및 도 2b는 비동기 네트워크 구간에서의 보안장비(21, 22)의 구성 방법 및 이의 동작의 예시를 설명하기 위한 도면이다. 도 2a에 도시된 비동기 네트워크에서는 보안장비(21, 22)가 복수개 존재한다. 예를 들어, 도 2a에 도시된 비동기 네트워크에서 클라이언트(10)가 송신한 패킷은 제1 보안장비(21)를 거쳐 서버(50)로 전달되고, 서버(50)에서 송신한 패킷은 제2 보안장비(22)를 거쳐 클라이언트(10)로 전달되는 단방향 네트워크의 특성을 갖는다. 도 2a에 도시된 비동기 네트워크에 대한 예시에서, 종래기술은 도 2b에 도시된 것처럼, 클라이언트(10)와 제1 보안장비(21) 간 SYN-Cookie 또는 SYN-Proxy 방식을 적용함으로써 클라이언트(10)의 인증을 수행하였다. 다만 이 방식은, 제2 보안장비(22)의 입장에서는 클라이언트(10)의 인증 여부를 파악할 수 없다. 이에 따라, 이 방식은 제1 보안장비(21)에서 인증 IP의 연동 과정(즉, 동기화 과정)을 통해 제2 보안장비(22)로 인증 IP를 알리는 과정을 요구한다. 이러한 동기화 과정은 네트워크 속도와 동기화 시간에 대한 문제로 인해, 효율이 떨어지는 문제가 있다. 또한, 클라이언트(10)가 제1 보안장비(21)를 통해 인증이 되더라도, 서버(50)와의 연결을 확립하기 위한 3-웨이 핸드셰이크 과정에서 SYN 패킷에 따른 서버의 SYN-ACK 패킷이 제2 보안장비(22)를 통해 응답되었는지 검토되어야 하기에 지속적인 세션 정보의 공유 과정을 요구한다.2A and 2B are diagrams for explaining a method of configuring the security equipment 21 and 22 and an operation thereof in an asynchronous network section. In the asynchronous network shown in FIG. 2A, there are a plurality of security devices 21 and 22. For example, in the asynchronous network shown in FIG. 2A, the packet transmitted by the client 10 is delivered to the server 50 via the first security device 21, and the packet transmitted from the server 50 is the second security. It has the characteristic of a one-way network being passed to the client 10 via the equipment 22. In the example for the asynchronous network shown in FIG. 2A, the prior art uses the client 10 by applying a SYN-Cookie or SYN-Proxy scheme between the client 10 and the first security device 21, as shown in FIG. 2B. Certification was performed. However, this method cannot determine whether the client 10 is authenticated from the position of the second security device 22. Accordingly, this method requires a process of notifying the authentication IP to the second security device 22 through an interworking process (ie, a synchronization process) of the authentication IP in the first security device 21. This synchronization process is problematic due to problems with network speed and synchronization time. In addition, even if the client 10 is authenticated through the first security device 21, the SYN-ACK packet of the server according to the SYN packet is second in the 3-way handshake process for establishing a connection with the server 50. It requires a process of sharing the session information since it must be checked whether it has been answered through the security device 22.

도 3 및 도 4는 비동기 네트워크 구간에서의 보안장비(21, 22)의 다른 구성 방법 및 이의 동작의 예시를 설명하기 위한 도면이다. 도 3에 도시된 비동기 네트워크에서도 보안장비(21, 22)가 복수개 존재하는데, 여기서 제2 보안장비(22)는 제1 보안장비(21)의 예비 개념이다. 예를 들어, 도 3에 도시된 네트워크 구성은 유해 트래픽을 우회 차단하기 위한 구성으로, 비동기 네트워크의 클린 존(clean zone)을 구성한 유형을 나타낸다. 도 3에 도시된 구성의 경우, 상술한 종래기술의 특징만으로는 클라이언트의 정상 여부를 정확하게 판단하기 어렵다.3 and 4 are views for explaining another configuration method of the security equipment (21, 22) and the operation thereof in the asynchronous network section. In the asynchronous network shown in FIG. 3, a plurality of security devices 21 and 22 exist, where the second security device 22 is a preliminary concept of the first security device 21. For example, the network configuration shown in FIG. 3 is a configuration for blocking harmful traffic by bypass, and represents a type in which a clean zone of an asynchronous network is configured. In the case of the configuration shown in Figure 3, it is difficult to accurately determine whether the client is normal only by the above-described features of the prior art.

앞서 설명한 것처럼, SYN-Cookie 또는 SYN-Proxy 방식은 클라이언트(10)와 보안장비 간 3-웨이 핸드셰이크 과정을 요구한다. 이에 관련하여, 도 4에 도시된 것처럼 클라이언트(10)가 첫 번째 패킷(즉, SYN 패킷)을 제1 보안장비(21)로 송신한 후, 두 번째 패킷(즉. ACK 패킷)을 제2 보안장비(22)로 송신하는 상황이 존재할 수 있다. 이 경우, 제2 보안장비(22)는 앞서 어떠한 패킷도 수신하지 못한 상황에서 ACK 패킷을 수신하게 되는 것이고, 제1 보안장비(21)는 ACK 패킷을 계속 기다리는 상황이 발생할 수도 있다. 따라서, 종래기술의 방식으로는, 클라이언트(10)가 정상 클라이언트더라도, 보안장비를 통한 클라이언트(10)의 정상 여부 판단이 어렵다.As described above, the SYN-Cookie or SYN-Proxy method requires a three-way handshake process between the client 10 and the security device. In this regard, as shown in FIG. 4, after the client 10 transmits the first packet (ie, SYN packet) to the first security equipment 21, the second packet (ie, ACK packet) is transmitted to the second security device. There may be a situation of transmitting to the equipment 22. In this case, the second security device 22 is to receive the ACK packet in the situation that no packet previously received, the first security device 21 may continue to wait for the ACK packet may occur. Therefore, in the prior art, even if the client 10 is a normal client, it is difficult to determine whether the client 10 is normal through the security equipment.

따라서, 비동기 네트워크에서 DDOS 공격에 대해 차단할 수 있는 새로운 기법이 요구된다.Thus, new techniques are needed to block DDOS attacks on asynchronous networks.

한국등록특허 제0858271호Korean Registered Patent No.0858271

본 발명은 비동기 네트워크에서 복수의 보안 장치간 동기화 없이도 클라이언트의 정상 여부를 판단할 수 있고, 더 나아가 DDOS 공격 차단을 수행할 수 있는 보안 장치 및 이의 동작 방법을 제공하는데 그 목적이 있다. An object of the present invention is to provide a security device capable of determining the normality of a client without synchronization between a plurality of security devices in an asynchronous network, and furthermore, a security device capable of blocking DDOS attacks and a method of operating the same.

상기와 같은 과제를 해결하기 위한 본 발명의 네트워크에서 서버에 연결되어 있는 보안 장치는 티켓이 발행된 IP 주소가 저장되는 티켓리스트를 포함하는 티켓리스트 데이터베이스; 클라이언트로부터 제1 패킷을 수신하고, 제1 패킷을 송신한 클라이언트의 IP 주소가 티켓리스트에 존재하는지 판단하는 티켓 확인부; 클라이언트의 IP 주소가 티켓리스트에 존재하지 않을 경우, 클라이언트가 신규 세션인지 판단하는 신규 세션 판단부; 클라이언트가 신규 세션인 경우, 제1 패킷의 시퀀스 정보를 근거로 클라이언트가 이후에 송신할 제2 패킷의 예측 시퀀스 번호를 산출하는 신규 세션 처리부 - 패킷의 시퀀스 정보는 해당 패킷의 시퀀스 번호, ACK 번호, 및 데이터 길이를 포함함 -; 및 클라이언트로부터 제2 패킷을 수신할 때, 제2 패킷의 시퀀스 정보와 제2 패킷의 예측 시퀀스 번호를 이용하여 클라이언트의 정상 여부를 판단하고, 클라이언트가 정상 클라이언트로 판단될 때 클라이언트의 IP 주소에 티켓을 발행하는 인증 IP 처리부를 포함하는 것을 특징으로 한다.Security device connected to the server in the network of the present invention for solving the above problems is a ticket list database including a ticket list that stores the IP address issued ticket; A ticket confirmation unit that receives the first packet from the client and determines whether an IP address of the client that has transmitted the first packet exists in the ticket list; A new session determination unit determining whether the client is a new session when the IP address of the client does not exist in the ticket list; If the client is a new session, a new session processing unit for calculating a predicted sequence number of the second packet to be transmitted later by the client based on the sequence information of the first packet-the sequence information of the packet is a sequence number, ACK number, And a data length; And when the second packet is received from the client, determine whether the client is normal by using the sequence information of the second packet and the predicted sequence number of the second packet, and when the client is determined to be a normal client, ticket to the client's IP address. Characterized in that it comprises an authentication IP processing unit for issuing.

또한, 네트워크에서, 클라이언트로부터 송신된 패킷은 보안 장치를 통해 서버로 전달되며, 서버에서 생성된 패킷은 보안 장치를 통하지 않고 클라이언트로 전달될 수 있다.Also, in a network, packets sent from a client may be delivered to the server through the secure device, and packets generated at the server may be delivered to the client without passing through the secure device.

또한, 인증 IP 처리부는 제2 패킷의 시퀀스 번호와 제2 패킷의 예측 시퀀스 번호를 비교하여, 제2 패킷의 시퀀스 번호와 제2 패킷의 예측 시퀀스 번호가 동일한지 판단할 수 있다.The authentication IP processor may compare the sequence number of the second packet with the prediction sequence number of the second packet to determine whether the sequence number of the second packet and the prediction sequence number of the second packet are the same.

또한, 인증 IP 처리부는 제2 패킷의 시퀀스 번호와 예측 시퀀스 번호가 동일한 경우, 제2 패킷의 ACK 번호가 제1 패킷의 ACK 번호보다 크고, 제1 패킷의 ACK 번호와 MTU(Maximum Transmission Unit)의 합보다 작은지 판단하고, 제2 패킷의 ACK 번호가 제1 패킷의 ACK 번호보다 크고 제1 패킷의 ACK 번호와 MTU의 합보다 작을 때 클라이언트를 정상 클라이언트로 판단할 수 있다.In addition, when the sequence number and the prediction sequence number of the second packet are the same, the authentication IP processing unit may have an ACK number of the second packet greater than that of the first packet, and the ACK number of the first packet and the maximum transmission unit (MTU) The client may be determined to be a normal client when the ACK number of the second packet is greater than the ACK number of the first packet and smaller than the sum of the ACK number of the first packet and the MTU.

또한, 신규 세션 처리부는, 제1 패킷의 시퀀스 번호와 데이터 길이를 더함으로써 제2 패킷의 예측 시퀀스 번호를 산출할 수 있다.The new session processor may calculate the predicted sequence number of the second packet by adding the sequence number of the first packet and the data length.

또한, 보안 장치에 따른 네트워크 망의 트래픽이 통신되는 인증 IP 터널의 크기는 비인증 IP 터널의 크기보다 크고, 신규 세션 처리부는 비인증 IP 터널을 통해 제1 패킷을 서버로 전달할 수 있다.In addition, the size of the authentication IP tunnel through which the traffic of the network network according to the security device is communicated is larger than the size of the unauthorized IP tunnel, and the new session processor may transmit the first packet to the server through the unauthorized IP tunnel.

또한, 티켓 확인부는, 클라이언트의 IP 주소에 티켓이 발행된 경우, 클라이언트로부터 수신한 패킷을 인증 IP 터널을 통해 서버로 송신할 수 있다.In addition, when the ticket is issued to the client's IP address, the ticket confirmation unit may transmit a packet received from the client to the server through the authentication IP tunnel.

또한, 본 발명의 일 실시예에 따른 보안 장치는 클라이언트의 IP 주소가 티켓리스트에 존재하지 않을 경우 복수의 클라이언트들로부터 수신한 접속 시도 세션의 개수와 세션 허용치를 비교하는 세션 허용치 판단부를 더 포함할 수 있다.Also, the security apparatus according to an embodiment of the present invention may further include a session allowance determining unit that compares the number of session attempt sessions received from the plurality of clients and the session allowance when the IP address of the client does not exist in the ticket list. Can be.

또한, 세션 허용치 판단부는 질의 세션수가 세션 허용치를 초과할 때 제1 패킷을 드롭하고, 신규 세션 판단부는 질의 세션수가 세션 허용치 이하일 때 동작될 수 있다.In addition, the session tolerance determiner may drop the first packet when the number of query sessions exceeds the session tolerance, and the new session determiner may be operated when the number of query sessions is less than or equal to the session tolerance.

또한, 신규 세션 처리부는 클라이언트가 신규 세션인 경우, 클라이언트의 IP 주소에 임시 티켓을 발행하고 티켓리스트를 갱신하며, IP 인증 처리부는 임시 티켓이 발행된 클라이언트로부터 제2 패킷을 수신할 때 클라이언트의 정상 여부를 판단할 수 있다.In addition, when the client is a new session, the new session processor issues a temporary ticket to the client's IP address and updates the ticket list, and the IP authentication processor receives the second packet from the client for which the temporary ticket has been issued. It can be determined.

또한, 본 발명의 일 실시예에 따른 보안 장치는 티켓 확인부를 통한 확인 결과, 제1 패킷을 송신한 클라이언트의 IP 주소에 티켓이 발행된 경우, IP 주소가 오버플로우(overflow)인지, 및 IP 주소가 공격(attack) 중인지 중 적어도 하나를 검사하고, 클라이언트의 IP 주소가 비정상으로 판단될 때 제1 패킷을 드롭하고, 클라이언트의 IP 주소를 블랙리스트에 추가하는 한계치 및 공격 검사부를 더 포함할 수 있다.In addition, the security apparatus according to an embodiment of the present invention, if the ticket is issued to the IP address of the client that sent the first packet, as a result of the confirmation through the ticket confirmation unit, whether the IP address is overflowed, and the IP address May further include a threshold and attack checker configured to check at least one of attacking, drop the first packet when the client's IP address is determined to be abnormal, and add the client's IP address to the blacklist. .

상기와 같은 과제를 해결하기 위한 본 발명의 네트워크에서 서버에 연결되어 있는 보안 장치의 동작 방법은 티켓 확인부에 의해, 클라이언트로부터 제1 패킷을 수신하고, 제1 패킷을 송신한 클라이언트의 IP 주소가 티켓이 발행된 IP 주소가 저장되는 티켓리스트에 존재하는지 판단하는 단계; 신규 세션 판단부에 의해, 클라이언트의 IP 주소가 티켓리스트에 존재하지 않을 경우, 클라이언트가 신규 세션인지 판단하는 단계; 신규 세션 처리부에 의해, 클라이언트가 신규 세션인 경우, 제1 패킷의 시퀀스 정보를 근거로 클라이언트가 이후에 송신할 제2 패킷의 예측 시퀀스 번호를 산출하는 단계 - 패킷의 시퀀스 정보는 해당 패킷의 시퀀스 번호, ACK 번호, 및 데이터 길이를 포함함 -; 인증 IP 처리부에 의해, 클라이언트로부터 제2 패킷을 수신할 때, 제2 패킷의 시퀀스 정보와 제2 패킷의 예측 시퀀스 번호를 이용하여 클라이언트의 정상 여부를 판단하는 단계; 및 인증 IP 처리부에 의해, 클라이언트가 정상 클라이언트로 판단될 때 클라이언트의 IP 주소에 티켓을 발행하는 단계를 포함하는 것을 특징으로 한다.In the network of the present invention for solving the above problems, a method of operating a security device connected to a server includes a ticket confirmation unit that receives a first packet from a client and sends an IP address of the client that has transmitted the first packet. Determining whether the IP address where the ticket was issued exists in a ticket list stored therein; Determining, by the new session determination unit, if the client's IP address does not exist in the ticket list, the client is a new session; Calculating, by the new session processor, a predicted sequence number of a second packet to be transmitted later by the client based on the sequence information of the first packet, wherein the sequence information of the packet is the sequence number of the packet; , ACK number, and data length; Determining, by the authentication IP processing unit, whether the client is normal using the sequence information of the second packet and the predicted sequence number of the second packet when receiving the second packet from the client; And issuing a ticket to the IP address of the client when the client is determined to be a normal client by the authentication IP processing unit.

또한, 네트워크에서, 클라이언트로부터 송신된 패킷은 보안 장치를 통해 서버로 전달되며, 서버에서 생성된 패킷은 보안 장치를 통하지 않고 클라이언트로 전달될 수 있다.Also, in a network, packets sent from a client may be delivered to the server through the secure device, and packets generated at the server may be delivered to the client without passing through the secure device.

또한, 클라이언트의 정상 여부를 판단하는 단계는 제2 패킷의 시퀀스 번호와 제2 패킷의 예측 시퀀스 번호를 비교하여, 제2 패킷의 시퀀스 번호와 제2 패킷의 예측 시퀀스 번호가 동일한지 판단하는 단계를 포함할 수 있다.The determining of whether the client is normal may include comparing the sequence number of the second packet with the prediction sequence number of the second packet and determining whether the sequence number of the second packet and the prediction sequence number of the second packet are the same. It may include.

또한, 클라이언트의 정상 여부를 판단하는 단계는, 제2 패킷의 시퀀스 번호와 상기 예측 시퀀스 번호가 동일한 경우, 제2 패킷의 ACK 번호가 제1 패킷의 ACK 번호보다 크고, 제1 패킷의 ACK 번호와 MTU의 합보다 작은지 판단하는 단계; 및 제2 패킷의 ACK 번호가 제1 패킷의 ACK 번호보다 크고 제1 패킷의 ACK 번호와 MTU의 합보다 작을 때 클라이언트를 정상 클라이언트로 판단하는 단계를 더 포함할 수 있다.The determining of whether the client is normal may include: when the sequence number of the second packet and the prediction sequence number are the same, an ACK number of the second packet is greater than an ACK number of the first packet, and Determining whether the sum is less than the sum of the MTUs; And determining the client as a normal client when the ACK number of the second packet is greater than the ACK number of the first packet and smaller than the sum of the ACK number of the first packet and the MTU.

또한, 제2 패킷의 예측 시퀀스 번호를 산출하는 단계는, 제1 패킷의 시퀀스 번호와 데이터 길이를 더함으로써 이루어질 수 있다.The calculating of the predicted sequence number of the second packet may be performed by adding the sequence number and the data length of the first packet.

또한, 보안 장치에 따른 네트워크 망의 트래픽이 통신되는 인증 IP 터널의 크기는 비인증 IP 터널의 크기보다 크고, 제2 패킷의 예측 시퀀스 번호를 산출하는 단계 이후, 신규 세션 처리부에 의해, 비인증 IP 터널을 통해 제1 패킷을 서버로 전달하는 단계를 더 포함할 수 있다.In addition, the size of the authentication IP tunnel through which the traffic of the network network according to the security device is communicated is larger than that of the non-authentication IP tunnel, and after calculating the predicted sequence number of the second packet, the new session processing unit generates a non-authentication IP tunnel. The method may further include transmitting the first packet to the server.

또한, 본 발명의 일 실시예에 따른 보안 장치의 동작 방법은 티켓 확인부에 의해, 클라이언트의 IP 주소에 티켓이 발행된 경우, 클라이언트로부터 수신한 패킷을 인증 IP 터널을 통해 서버로 송신하는 단계를 더 포함할 수 있다.In addition, the method of operating a security device according to an embodiment of the present invention, when the ticket is issued to the client's IP address by the ticket confirmation unit, transmitting a packet received from the client to the server through the authentication IP tunnel It may further include.

또한, 본 발명의 일 실시예에 따른 보안 장치의 동작 방법은 세션 허용치 판단부에 의해, 클라이언트의 IP 주소가 티켓리스트에 존재하지 않을 경우 복수의 클라이언트들로부터 수신한 접속 시도 세션의 개수와 세션 허용치를 비교하는 단계를 더 포함할 수 있다.In addition, according to an embodiment of the present invention, in the method of operating a security device, the session allowance determination unit determines the number of session attempt sessions and session allowance values received from a plurality of clients when the IP address of the client does not exist in the ticket list. Comparing may further comprise the step.

또한, 접속 시도 세션의 개수와 세션 허용치를 비교하는 단계는 질의 세션수가 세션 허용치를 초과할 때 제1 패킷을 드롭하는 단계를 더 포함하고, 클라이언트가 신규 세션인지 판단하는 단계는 질의 세션수가 세션 허용치 이하일 때 수행될 수 있다.In addition, comparing the number of connection attempt sessions and the session allowance may further include dropping the first packet when the number of query sessions exceeds the session allowance, and determining whether the client is a new session may include: It may be performed when

또한, 본 발명의 일 실시예에 따른 보안 장치의 동작 방법은 클라이언트가 신규 세션인 경우, 신규 세션 처리부에 의해, 클라이언트의 IP 주소에 임시 티켓을 발행하고 티켓리스트를 갱신하는 단계를 더 포함하고, 클라이언트의 정상 여부를 판단하는 단계는 임시 티켓이 발행된 클라이언트로부터 제2 패킷을 수신할 때 수행될 수 있다.In addition, when the client is a new session, the method of operating a security device according to an embodiment of the present invention further includes, by the new session processing unit, issuing a temporary ticket to the IP address of the client and updating the ticket list. The determining of whether the client is normal may be performed when receiving the second packet from the client for which the temporary ticket has been issued.

또한, 본 발명의 일 실시예에 따른 보안 장치의 동작 방법은 한계치 및 공격 검사부에 의해, 티켓 확인부를 통한 확인 결과, 제1 패킷을 송신한 클라이언트의 IP 주소에 티켓이 발행된 경우, IP 주소가 오버플로우인지, 및 IP 주소가 공격 중인지 중 적어도 하나를 검사하는 단계; 클라이언트의 IP 주소가 비정상으로 판단될 때 제1 패킷을 드롭하고, 클라이언트의 IP 주소를 블랙리스트에 추가하는 단계를 더 포함할 수 있다.In addition, the operation method of the security device according to an embodiment of the present invention, when the ticket is issued to the IP address of the client that sent the first packet, as a result of the check through the ticket confirmation unit, the threshold value and the attack check unit, Checking at least one of whether it is overflowing and whether the IP address is under attack; When it is determined that the IP address of the client is abnormal, the method may further include dropping the first packet and adding the client IP address to the blacklist.

본 발명의 보안 장치 및 이의 동작 방법에 따르면, 비동기 네트워크(또는 단방향 네트워크)에서 TCP 세션에 대한 Spoofed IP 인지, Non-Spoofed IP 인지, 그리고 단일 보안장비에서도 고속으로 비정상 IP의 인지가 가능하다.According to the security apparatus of the present invention and its operation method, it is possible to recognize spoofed IP for non-Spoofed IP, non-spoofed IP for TCP session in an asynchronous network (or unidirectional network), and abnormal IP at high speed even in a single security device.

또한, 본 발명의 보안 장치 및 이의 동작방법에 따르면, 단일 Flow 통신에서도 정상 IP를 인지 하는 방법으로, 기존의 SYN-Cookie/SYN-Proxy를 통한 사용자 인지 방식처럼, 응답 패킷을 생성 후, 응답 결과를 확인하는 방식을 사용하지 않기 때문에, 정상 사용자의 통신에 대한 레이턴시(Latency) 증가 없이 사용자와 공격자를 빠르게 인지 할 수 있다.In addition, according to the security device of the present invention and its operation method, as a method of recognizing a normal IP even in a single flow communication, after generating a response packet, as in the conventional user recognition method through the SYN-Cookie / SYN-Proxy, the response result Because it does not use the method of verifying, the user and the attacker can be quickly recognized without increasing the latency for normal user communication.

또한, 본 발명의 보안 장치 및 이의 동작 방법에 따르면, TCP 통신 과정 중 데이터 전송 과정에서, 단일 Flow 상의 통신 분석만으로, 정상과 비정상의 인지가 가능한 장점이 있다. 또한, 본 발명의 일 실시예에 따른 보안 장치 및 방법은 패킷 재생산을 하지 않기 때문에, 네트워크 트래픽 대역폭(Bandwidth)을 차지하지 않는 장점이 있다.In addition, according to the security device of the present invention and its operation method, in the data transmission process of the TCP communication process, there is an advantage that can recognize the normal and abnormal only by communication analysis on a single flow. In addition, since the security apparatus and method according to an embodiment of the present invention do not reproduce packets, there is an advantage in that it does not occupy network traffic bandwidth.

도 1a 및 도 1b는 보안장비를 동기식 네트워크 구간 내로 구성할 때의 예시를 설명하기 위한 도면이다.
도 2a 및 도 2b는 보안장비를 비동기식 네트워크 구간 내로 구성할 때의 예시를 설명하기 위한 도면이다.
도 3 및 도 4는 보안장비를 비동기식 네트워크 구간 내로 구성할 때의 다른 예시를 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 보안 시스템에 대한 개념도이다.
도 6은 본 발명의 일 실시예에 따른 보안 장치에 대한 블록도이다.
도 7은 본 발명의 일 실시예에 따른 세션 허용치의 개념을 설명하기 위한 그래프이다.
도 8은 본 발명의 일 실시예에 따른 인증 IP 터널 및 비인증 IP 터널의 개념을 설명하기 위한 개념도이다.
도 9a 내지 도 9d는 본 발명의 일 실시예에 따른 보안 장치를 통해 단방향 네트워크에서 클라이언트의 인증을 수행하는 방법을 설명하기 위한 흐름도이다.
도 10은 본 발명의 일 실시예에 따른 보안 장치의 동작 방법에 대한 흐름도이다.
도 11은 본 발명의 일 실시예에 따른 인증 IP 처리 단계에 대한 흐름도이다.
도 12는 본 발명의 일 실시예에 따른 신규 세션을 처리하는 단계에 대한 흐름도이다.
1A and 1B are diagrams for explaining an example of configuring a security device within a synchronous network section.
2A and 2B are diagrams for explaining an example of configuring a security device within an asynchronous network section.
3 and 4 are diagrams for explaining another example when configuring the security equipment within the asynchronous network interval.
5 is a conceptual diagram of a security system according to an embodiment of the present invention.
6 is a block diagram of a security device according to an embodiment of the present invention.
7 is a graph for explaining the concept of session tolerance according to an embodiment of the present invention.
8 is a conceptual diagram illustrating the concept of an authenticated IP tunnel and an unauthenticated IP tunnel according to an embodiment of the present invention.
9A to 9D are flowcharts illustrating a method of authenticating a client in a one-way network through a security device according to an embodiment of the present invention.
10 is a flowchart illustrating a method of operating a security apparatus according to an embodiment of the present invention.
11 is a flowchart of an authentication IP processing step according to an embodiment of the present invention.
12 is a flowchart of a process of processing a new session according to an embodiment of the present invention.

본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings. Here, the repeated description, well-known functions and configurations that may unnecessarily obscure the subject matter of the present invention, and detailed description of the configuration will be omitted. Embodiments of the present invention are provided to more completely describe the present invention to those skilled in the art. Accordingly, the shape and size of elements in the drawings may be exaggerated for clarity.

이하, 본 발명의 실시예에 따른 보안 장치(100)에 대하여 설명하도록 한다. Hereinafter, the security device 100 according to an embodiment of the present invention will be described.

도 5는 본 발명의 일 실시예에 따른 보안 시스템(1000)에 대한 개념도이다. 본 발명의 일 실시예에 따른 보안 장치(100)는 보안 장치(100)가 비동기 및/또는 단방향 네트워크 내에서 구성되어, DDOS 공격과 같은 외부로부터의 비정상 공격을 효과적으로 차단하는 것을 그 목적으로 할 수 있다. 이를 위해 본 발명의 일 실시예에 따른 보안 장치(100)는 단방향 네트워크로 이루어진 비동기 네트워크의 특성을 고려한다. 상기 보안 장치(100)는 예를 들어 DDOS 공격 차단 장치일 수 있다. 5 is a conceptual diagram of a security system 1000 according to an embodiment of the present invention. The security device 100 according to an embodiment of the present invention may have the security device 100 configured in an asynchronous and / or one-way network to effectively block abnormal attacks from the outside such as a DDOS attack. have. To this end, the security device 100 according to an embodiment of the present invention considers the characteristics of an asynchronous network composed of a unidirectional network. The security device 100 may be, for example, a DDOS attack blocking device.

앞서 설명한 것처럼, 비동기 네트워크 내에는 본 발명의 일 실시예에 따른 보안 장치가 복수개 존재할 수 있다(도면부호 100, 100_1 참조). 여기서, 보안 장치(100, 100_1)는 클라이언트(10)와 서버(50) 사이에 배치될 수 있다. 보안 장치(100)는 클라이언트(10)로부터 패킷을 수신하여 서버(50)로 전달하고, 클라이언트(10)로부터 수신한 패킷을 이용하여 클라이언트(10)의 정상 여부를 판단하는 기능을 한다. 제2 보안 장치(100_1)는 서버(50)로부터 생성된 패킷을 클라이언트(10)로 전달하는 기능을 한다(즉, 서버(50)에서 송신된 패킷은 제2 보안 장치(100_1)를 통해, 또는 보안 장치(100, 100_1)를 거치지 않고(미도시) 클라이언트(10)로 전달될 수 있다).As described above, a plurality of security devices according to an embodiment of the present invention may exist in the asynchronous network (see reference numerals 100 and 100_1). Here, the security devices 100 and 100_1 may be disposed between the client 10 and the server 50. The security device 100 receives the packet from the client 10 and transmits the packet to the server 50, and determines whether the client 10 is normal by using the packet received from the client 10. The second security device 100_1 functions to deliver the packet generated from the server 50 to the client 10 (that is, the packet transmitted from the server 50 is transmitted through the second security device 100_1, or It may be delivered to the client 10 without passing through the security device (100, 100_1) (not shown).

이 방식의 경우, 본 발명의 일 실시예에 따른 보안 장치(100) 입장에서 보면, 본 발명의 일 실시예에 따른 보안 장치(100)는 클라이언트(10)에서만 패킷을 수신할 뿐 서버(50)에서 생성된 패킷은 수신할 수 없다. 다만, 일반적인 DDOS 공격 탐지 기법(예를 들어, SYN-Cookie 또는 SYN-Proxy)은 서버(50)에서 어떤 패킷이 송신되어 클라이언트(10)로 전달되었는지 알 수 없으므로, 단방향 네트워크에 적용될 수 없다. In this case, from the standpoint of the security device 100 according to an embodiment of the present invention, the security device 100 according to an embodiment of the present invention only receives the packet from the client 10, but the server 50 may not be able to receive the packet. Packets generated by do not receive. However, a general DDOS attack detection technique (eg, SYN-Cookie or SYN-Proxy) cannot know which packet is sent from the server 50 and delivered to the client 10, and thus cannot be applied to a unidirectional network.

이에 따라, 종래기술이 서버(50)에서의 응답 패킷을 이용하는 반면, 본 발명의 일 실시예에 따른 보안 장치(100)는 서버(50)에서의 응답 패킷 없이, 클라이언트(10)에서 송신된 패킷만을 이용하여 클라이언트(10)의 정상 여부를 판단하는 것을 특징으로 한다. 비동기 네트워크에서 클라이언트(10)의 정상 여부를 판단하기 위해, 본 발명의 일 실시예에 따른 보안 장치(100)는 통상적인 TCP 통신 과정 중 데이터 전송 과정 동안 클라이언트(10)로부터 송신된 패킷을 분석할 수 있다.Accordingly, while the prior art uses the response packet in the server 50, the security device 100 according to an embodiment of the present invention is a packet transmitted from the client 10, without a response packet from the server 50 It is characterized by determining whether the client 10 is normal by using only. In order to determine whether the client 10 is normal in an asynchronous network, the security device 100 according to an embodiment of the present invention may analyze a packet transmitted from the client 10 during a data transmission process during a typical TCP communication process. Can be.

잘 알려진 것처럼, TCP 통신 과정은 크게 보면, 연결 확립, 데이터 전송 및 연결 해제 단계를 포함하는 세 개의 단계로 구분될 수 있다. 여기서, 연결 확립 단계는 3-웨이 핸드셰이크 과정을 통해 두 개의 장치간 연결을 확립하는 단계를 나타내고, 연결 해제 단계는 4-웨이 핸드셰이크(4-way handshake)과정을 통해 두 개의 장치간 연결을 해제하는 단계를 나타낸다. 통상적으로, 클라이언트(10)의 인증은 상술한 세 개의 단계들 중 연결 확립 단계 동안 이루어지는 반면, 본 발명의 일 실시예에 따른 보안 장치(100)는 데이터 전송 단계 동안 인증을 수행한다. 이는 단방향 네트워크인 비동기 네트워크의 특성을 고려한 것으로, SYN 패킷이 아닌 ACK 패킷을 이용하여 인증을 수행하기 위함이다. As is well known, the TCP communication process can be broadly divided into three phases, including establishing a connection, transmitting a data, and disconnecting. In this case, the connection establishment step represents a step of establishing a connection between two devices through a three-way handshake process, and the connection release step indicates a connection between two devices through a four-way handshake process. Indicates a step of releasing. Typically, the authentication of the client 10 occurs during the connection establishment phase of the three steps described above, while the security device 100 according to one embodiment of the invention performs authentication during the data transfer phase. This is to consider the characteristics of an asynchronous network, which is a one-way network, to perform authentication using an ACK packet rather than a SYN packet.

앞서 설명한 것처럼 단방향 네트워크에서 보안장비는 클라이언트로부터 송신된 패킷만을 수신하거나 서버로부터 송신된 패킷만을 수신하기에, 클라이언트 및 서버 모두에서 송신된 패킷을 이용해야 하는 SYN 패킷을 이용한 인증 방식(예를 들어, SYN 패킷이 요구되는 SYN-프록시 또는 SYN-쿠키 방식)을 채택할 수 없다. 반면, 데이터 전송 과정의 경우 클라이언트 또는 서버에서 송신되는 패킷은 주로 ACK 패킷(즉, ACK 플래그가 설정된 패킷)이고, 아래에서 설명되는 구성 및 방법에 따르면 클라이언트에서 송신되는 ACK 패킷만으로 또는 서버에서 송신되는 ACK 패킷만으로도(즉, 양측에서 송신된 패킷 모두를 활용하지 않고도) 클라이언트의 인증이 가능하다. 이제, 도 6을 참조로 본 발명의 일 실시예에 따른 보안 장치(100)에 대한 설명이 이루어진다.As described above, in a unidirectional network, a security device receives only a packet transmitted from a client or only a packet transmitted from a server, so that an authentication method using SYN packets that require the use of a packet transmitted from both a client and a server (for example, Cannot adopt SYN-proxy or SYN-cookie schemes where SYN packets are required. On the other hand, in the data transmission process, a packet transmitted from a client or a server is mainly an ACK packet (i.e., a packet with an ACK flag set), and according to the configuration and method described below, only a ACK packet transmitted from a client or transmitted from a server The client's authentication is also possible with only an ACK packet (i.e. without utilizing all of the packets sent from both sides). Now, a description will be given of the security device 100 according to an embodiment of the present invention with reference to FIG.

도 6은 본 발명의 일 실시예에 따른 보안 장치(100)에 대한 블록도이다. 본 발명의 일 실시예에 따른 보안 장치(100)는 단방향 네트워크 특성을 갖는 비동기 네트워크에서도 클라이언트의 정상 여부를 판단하기 위해, 그리고 DDOS 공격도 차단하도록 블랙리스트 검사부(110), 티켓 확인부(120), 한계치 및 공격 검사부(130), 세션 허용치 판단부(140), 신규 세션 판단부(150), 신규 세션 처리부(160), 인증 IP 처리부(170) 및 비인증 IP 처리부(180)를 포함하여 구성될 수 있다. 여기서, 상기 구성들은 본 발명의 이해를 돕기 위해 기능별로 각 구성을 구분한 것이고, 실제로는 CPU, MPU, GPU와 같은 하나의 처리 장치를 통해 구현되는 것도 가능하다.6 is a block diagram of a security device 100 according to an embodiment of the present invention. The security device 100 according to an embodiment of the present invention includes a blacklist checker 110 and a ticket checker 120 to determine whether a client is normal and to block a DDOS attack even in an asynchronous network having a one-way network characteristic. , Threshold and attack checker 130, session tolerance determiner 140, new session determiner 150, new session processor 160, authenticated IP processor 170, and non-authenticated IP processor 180. Can be. Here, the configurations are classified for each configuration by function in order to help the understanding of the present invention, and may be implemented through one processing device such as a CPU, an MPU, and a GPU.

블랙리스트 검사부(110)는 패킷을 송신한 클라이언트(10)가 블랙리스트에 해당하는지 검사하는 기능을 한다. 이를 위해, 블랙리스트 검사부(110)는 먼저, 클라이언트(10)로부터 송신된 패킷을 수신하고, 수신한 패킷을 근거로 클라이언트(10)의 IP 주소를 추출한다. 블랙리스트 검사부(110)는 블랙리스트 데이터베이스(DB1)와 연동하여, 추출한 클라이언트(10)의 IP 주소가 블랙리스트에 해당하는지 확인하는 과정을 거친다. 여기서, 블랙리스트 데이터베이스(DB1)는 IPS(Intrusion Prevention Systems) 엔진 및 IDS(Intrusion Detection Systems) 엔진을 통하여 유해 트래픽이라 판단될 경우 블랙리스트 테이블에 등록되어 일정 시간 동안 차단될 수 있도록 관리하는 데이터베이스를 나타낸다.The blacklist checker 110 checks whether the client 10 that has transmitted the packet corresponds to the blacklist. To this end, the blacklist checker 110 first receives a packet transmitted from the client 10 and extracts an IP address of the client 10 based on the received packet. The blacklist checker 110 interoperates with the blacklist database DB1 and checks whether the extracted IP address of the client 10 corresponds to the blacklist. Here, the blacklist database DB1 represents a database that is registered in the blacklist table and managed to be blocked for a predetermined time when it is determined that the traffic is harmful through the intrusion prevention systems (IPS) engine and the intrusion detection systems (IDS) engine. .

블랙리스트 검사부(110)를 통한 검사 결과, 클라이언트(10)가 블랙리스트에 해당하는 경우, 블랙리스트 검사부(110)는 클라이언트(10)가 송신한 패킷을 드롭시키는 과정을 수행한다. 그렇지 않은 경우, 아래에서 설명되는 인증 IP의 확인 여부가 수행된다.As a result of the check through the blacklist checker 110, when the client 10 corresponds to the blacklist, the blacklist checker 110 performs a process of dropping a packet transmitted by the client 10. Otherwise, whether or not to verify the authentication IP described below is performed.

티켓 확인부(120)는 티켓리스트 데이터베이스(DB2)와의 연동을 통해 클라이언트(10)가 인증된 클라이언트인지 확인하는 기능을 한다. 구체적으로, 티켓 확인부(120)는 클라이언트(10)의 IP 주소가 티켓리스트에 존재하는지 확인함으로써, 클라이언트(10)가 인증된 클라이언트인지 확인한다. 확인 결과, 인증된 클라이언트인 경우, 티켓 확인부(120)는 해당 클라이언트에 발행된 티켓 시간을 갱신하는 과정을 수행할 수 있다.The ticket confirmation unit 120 checks whether the client 10 is an authenticated client through interworking with the ticket list database DB2. Specifically, the ticket confirmation unit 120 confirms whether the client 10 is an authenticated client by confirming whether the IP address of the client 10 exists in the ticket list. As a result of the check, in the case of an authenticated client, the ticket confirmation unit 120 may perform a process of updating the ticket time issued to the client.

여기서, 티켓리스트 데이터베이스(DB2)는 일정 클라이언트(10)의 IP 주소가 정상 세션(session)이라 판단할 수 있도록 하는 티켓리스트를 저장하는 저장소를 나타낸다. 즉, 상기 티켓리스트는 접속하는 클라이언트(10)의 IP 주소 등에 대하여 정상 세션인지를 판단할 수 있도록, 통행 티켓을 발행한 내역을 저장한 리스트이다. 티켓리스트에는 아래에서 언급되는 것처럼 임시 티켓을 발행한 내역도 포함할 수 있다. 예를 들어, 티켓리스트 데이터베이스(DB2)는 클라이언트들의 IP 주소, 그리고 임시 티켓 및 티켓 발행 여부를 테이블의 형태로 저장할 수 있고, 티켓리스트는 저장된 테이블에서 임시 티켓과 티켓의 발행 여부를 근거로 생성될 수 있다. 이러한 특성에 기인하여, 티켓 확인부(120)는 해당 세션의 티켓의 발행 여부를 검색을 통해 파악할 수 있고, 티켓이 존재하는 세션은 아래에서 설명되는 한계치 및 공격 검사부(130)를 통한 검증 과정 이후 서버(50)로 전달될 수 있다.Here, the ticket list database DB2 represents a store for storing a ticket list for determining that the IP address of the schedule client 10 is a normal session. That is, the ticket list is a list storing details of issuance of a traffic ticket so as to determine whether the session is a normal session with respect to the IP address or the like of the client 10 to be connected. The ticket list may also include the history of issuing a temporary ticket, as mentioned below. For example, the ticket list database DB2 may store clients' IP addresses and temporary tickets and tickets issued in the form of a table, and the ticket list may be generated based on the temporary tickets and tickets issued in the stored table. Can be. Due to this characteristic, the ticket confirmation unit 120 may determine whether a ticket is issued for a corresponding session through a search, and the session in which the ticket exists after the verification process through the threshold and attack inspection unit 130 described below. It may be delivered to the server 50.

한계치 및 공격 검사부(130)는 티켓 확인부(120)를 통해 클라이언트(10)에 티켓이 발행된 후, 클라이언트(10)의 추가적인 검증을 수행하기 위한 구성으로서, 클라이언트(10)의 IP 주소가 오버플로우인지, 또는 다른 공격 방법인 어택, 해킹 및 바이러스(또는 비정상 공격방법)에 해당되는지 확인하는 기능을 한다. 판단 결과 클라이언트(10)의 IP 주소가 오버플로우이거나 비정상인 것으로 판단되면, 해당 클라이언트(10)의 IP 주소를 블랙리스트 데이터베이스(DB1)에 추가하는 과정을 수행한다. 그리고, 한계치 및 공격 검사부(130)를 통해 이루어지는 검사 방법은 다양한 방식이 존재하므로 본 발명에선 이를 특정 방식으로 제한하지 않는다. The threshold and attack checker 130 is configured to perform additional verification of the client 10 after a ticket is issued to the client 10 through the ticket checker 120, and the IP address of the client 10 is over. It checks whether it is a flow or other attack methods such as attack, hacking and virus (or abnormal attack method). If it is determined that the IP address of the client 10 is overflowed or abnormal, the process of adding the IP address of the client 10 to the blacklist database DB1 is performed. In addition, the inspection method made through the threshold value and the attack inspection unit 130 has various methods, and thus the present invention does not limit it to a specific method.

세션 허용치 판단부(140)는 클라이언트(10)의 IP 주소가 티켓리스트에 존재하지 않을 경우 동작되는 구성으로서, 클라이언트들로부터 수신한 질의 세션수와 세션 허용치를 비교한다. 여기서, 세션 허용치는 티켓 또는 임시 티켓이 없는 클라이언트들 전체가 아닌, 이들 중 일부에 대해서만 정상 여부를 판단하기 위해 설정되는 값이다. 만일, 세션 허용치 없이 모든 클라이언트에 대해 정상 여부를 판단하게 될 경우, DDOS 공격 상황에서 보안 장비(즉, 보안 장치(100))는 과부하 또는 이로 인한 시스템 다운이 발생할 가능성이 높아진다. 이 경우, 서버(50)는 DDOS 공격에 직접 노출되거나, 또는 서버(50)로의 패킷들 모두가 전달되지 못하는 상황이 발생할 수도 있다. The session allowance determination unit 140 is configured to operate when the IP address of the client 10 does not exist in the ticket list, and compares the session allowance with the number of query sessions received from the clients. Here, the session tolerance is a value that is set to determine whether or not it is normal for only some of them, not all clients without tickets or temporary tickets. If it is determined that all the clients are normal without the session allowance, the security device (ie, the security device 100) in a DDOS attack situation is likely to cause an overload or a system down. In this case, the server 50 may be directly exposed to a DDOS attack, or a situation may occur in which all packets to the server 50 may not be delivered.

이에 따라, 본 발명의 일 실시예에 따른 보안 장치(100)는 세션 허용치를 두고 티켓 또는 임시 티켓이 없는 클라이언트들 중 일부 클라이언트에 대해서만 정상 여부를 판단한다. 즉, 본 발명의 일 실시예에 따른 보안 장치(100)는 도 7에 도시된 것처럼 세션 허용치(s_a) 이내에 속한 클라이언트들에 대해서는 아래에서 설명되는 신규 세션 여부의 판단 및 인증 IP 처리를 수행하되, 이를 벗어난(즉, 영역(da)) 클라이언트들이 송신한 패킷을 드롭시킴으로써 보안 장치(100)에 대한 안정성을 확보한다. 세션 허용치는 예를 들어, 100 CPS(Connection Per Second)일 수 있고, 이 수치는 상황에 따라 다양한 값으로 변경 가능하다.Accordingly, the security device 100 according to an embodiment of the present invention determines whether it is normal for only some of the clients without the ticket or the temporary ticket with the session allowance. That is, the security device 100 according to an embodiment of the present invention performs the determination of the new session and authentication IP processing described below for clients belonging to the session allowance s_a as shown in FIG. Dropping the packets transmitted by the clients out of this (i.e., zone da) ensures the stability of the security apparatus 100. The session tolerance may be, for example, 100 CPS (Connection Per Second), and this value can be changed to various values depending on the situation.

신규 세션 판단부(150)는 클라이언트(10)의 IP 주소가 티켓리스트에 존재하지 않을 때, 그리고 질의 세션수가 세션 허용치 이하일 때 동작되고, 클라이언트가 신규 세션인지 판단하는 기능을 한다. 예를 들어, 신규 세션 판단부(150)는 데이터베이스(예를 들어, DB1, DB2 또는 기타 다른 데이터베이스)를 검색함으로써 패킷을 송신한 클라이언트의 과거 요청 여부를 확인할 수 있다. 신규 세션 판단부(150)는 데이터베이스에 해당 클라이언트(10)의 IP 주소가 존재하지 않으면 클라이언트(10)를 신규 세션으로 판단할 수 있고, 반대로 IP 주소가 존재하면 클라이언트(10)를 신규 세션이 아닌 것으로 판단할 수 있다. 물론, 신규 세션 여부를 판단하는 방식은 상술한 방법 외에도 다양한 방식이 적용될 수 있을 것이다.The new session determination unit 150 is operated when the IP address of the client 10 does not exist in the ticket list, and when the number of query sessions is less than or equal to the session allowance, and determines whether the client is a new session. For example, the new session determination unit 150 may check the past request of the client that sent the packet by searching a database (for example, DB1, DB2, or other database). The new session determination unit 150 may determine the client 10 as a new session if the IP address of the client 10 does not exist in the database, and conversely, if the IP address exists, the client 10 may not be a new session. It can be judged that. Of course, various methods may be applied to the method of determining whether a new session exists.

신규 세션 처리부(160)는 클라이언트(10)가 신규 세션인 경우, 클라이언트(10)가 송신한 패킷을 분석하고, 분석 결과에 따라 클라이언트(10)의 IP 주소에 임시 티켓을 발행하며, 티켓리스트를 갱신한다. 앞서 설명한 것처럼, 본 발명의 일 실시예에 따른 보안 장치(100)는 SYN 패킷이 아닌, 클라이언트(10)에서 송신한 ACK 패킷을 이용한다. 이는 SYN 패킷을 이용한 인증 방식은 클라이언트로부터 송신된 패킷과 서버에서 송신된 패킷 모두를 요구하기 때문이다. 이에 따라, 신규 세션 처리부(160)는 클라이언트(10)가 송신한 패킷(이하, 제1 패킷)을 분석함으로써, 제1 패킷이 ACK 패킷인지 확인한다.When the client 10 is a new session, the new session processor 160 analyzes the packet transmitted by the client 10, issues a temporary ticket to the IP address of the client 10 according to the analysis result, and generates a ticket list. Update As described above, the security device 100 according to an embodiment of the present invention uses the ACK packet transmitted from the client 10, not the SYN packet. This is because the authentication scheme using the SYN packet requires both a packet transmitted from the client and a packet transmitted from the server. Accordingly, the new session processing unit 160 determines whether the first packet is an ACK packet by analyzing the packet (hereinafter, referred to as a first packet) transmitted by the client 10.

제1 패킷이 ACK 패킷으로 판단된 경우(즉, 제1 패킷에 ACK 플래그가 존재하는 경우, 신규 세션 처리부(160)는 클라이언트의 IP 주소에 임시 티켓을 발행하고, 티켓리스트 데이터베이스(DB2)에 저장된 티켓리스트를 갱신한다. 또한, 신규 세션 처리부(160)는 제1 패킷이 ACK 패킷으로 판단된 경우, 아래에서 설명되는 클라이언트의 정상 클라이언트 여부 확인을 위해, 제1 패킷의 시퀀스 정보를 확인한다. 여기서, 시퀀스 정보는 패킷의 시퀀스 번호, ACK 번호, 그리고 데이터 길이를 포함한다. 즉, 제1 패킷의 시퀀스 정보는 제1 패킷의 시퀀스 번호, ACK 번호, 그리고 데이터 길이를 포함할 수 있다.When it is determined that the first packet is an ACK packet (that is, when the ACK flag is present in the first packet, the new session processing unit 160 issues a temporary ticket to the IP address of the client and stores it in the ticket list database DB2). When the first packet is determined to be an ACK packet, the new session processing unit 160 checks the sequence information of the first packet to confirm whether the client is a normal client described below. The sequence information includes a sequence number, an ACK number, and a data length of a packet, that is, the sequence information of the first packet may include a sequence number, an ACK number, and a data length of the first packet.

그 후, 신규 세션 처리부(160)는 제1 패킷의 시퀀스 정보에 기반하여, 클라이언트(10)가 이후 시점에 송신할 패킷(이하, 제2 패킷)의 예측 시퀀스 번호를 산출한다. 여기서, 제2 패킷의 예측 시퀀스 번호는 제1 패킷의 시퀀스 번호와 제1 패킷의 데이터 길이를 더함으로써 도출될 수 있다. 그 후, 신규 세션 처리부(160)는 제1 패킷에 대한 시퀀스 정보와, 앞으로 수신할 제2 패킷의 예측 시퀀스 번호를 임시 데이터베이스(DB3)에 저장하고, 제1 패킷을 서버(50)로 전달한다.Thereafter, the new session processor 160 calculates a predicted sequence number of a packet (hereinafter, referred to as a second packet) that the client 10 will transmit later, based on the sequence information of the first packet. Here, the prediction sequence number of the second packet may be derived by adding the sequence number of the first packet and the data length of the first packet. Thereafter, the new session processing unit 160 stores the sequence information about the first packet and the predicted sequence number of the second packet to be received in the temporary database DB3, and delivers the first packet to the server 50. .

그리고, 제1 패킷이 ACK 패킷이 아닌 다른 패킷으로 판단된 경우(즉, 제1 패킷에 ACK 플래그가 존재하지 않는 경우), 신규 세션 처리부(160)는 제1 패킷을 서버(50)로 전달한다. 앞서 설명한 것처럼 본 발명의 일 실시예에서는 ACK 패킷을 이용한 기법이므로, ACK 패킷이 아닌 경우 추가적인 작업 없이 제1 패킷을 서버(50)로 전달한다. 제1 패킷이 ACK 패킷이 아니더라도 이를 드롭시키지 않는 이유는, 세션 허용치 판단부(140)를 통해 서버(50)가 감당할 수 있을 만큼만 패킷이 전달되므로 본 발명의 일 실시예에 따른 보안 장치(100)와 서버(50) 간 통신 라인과 서버(50)에 과부하가 발생할 염려가 없기 때문이다. 이에 따라, 클라이언트(10)가 악의적인 공격자라 하더라도, 서버(50)는 클라이언트(10)가 송신한 패킷에 의해 어떠한 피해도 입지 않으므로, 제1 패킷을 드롭시키지 않아도 된다. If it is determined that the first packet is a packet other than the ACK packet (that is, the ACK flag does not exist in the first packet), the new session processor 160 delivers the first packet to the server 50. . As described above, in an embodiment of the present invention, since the scheme uses the ACK packet, the first packet is transmitted to the server 50 without additional work when the packet is not an ACK packet. The reason why the first packet is not dropped even if the first packet is not an ACK packet is that the packet is transmitted only enough to be handled by the server 50 through the session allowance determining unit 140, so that the security apparatus 100 according to an embodiment of the present invention is provided. This is because there is no fear of overloading the communication line between the server and the server 50 and the server 50. Accordingly, even if the client 10 is a malicious attacker, the server 50 does not suffer any damage due to the packet transmitted by the client 10, so that the first packet may not be dropped.

또한, 본 발명의 일 실시예에 따른 보안 장치(100)는 클라이언트의 IP 주소에 티켓이 발행되어있는지에 따라, 서로 다른 통신 터널로 패킷을 서버(50)에 전달한다. 도 8에 도시된 것처럼, 본 발명의 일 실시예에 따른 보안 장치(100)와 서버(50) 사이에는 통신이 가능하도록 인증 IP 터널과 비인증 IP 터널이 있다. 즉, 인증 IP 터널과 비인증 IP 터널은 물리적(예를 들어, 보안 장치(100)와 서버(50) 사이에 복수의 통신 회선들이 존재하는 경우, 서로 다른 회선을 이용하는 방식) 또는 논리적(예를 들어, 하나 또는 복수의 회선에 대해 서로 다른 대역폭을 갖는 2개의 통신 터널을 구성하는 방식)으로 구현될 수 있다. 그리고, 보안 장치(100)에 따른 네트워크 망의 전체 트래픽 중 인증 IP 터널의 크기는 비인증 IP 터널의 크기보다 큰 것이 바람직하다. 이에 따라, 티켓이 존재하지 않는 세션은 비인증 IP 터널에 전달되어 대역폭을 제한 받고, 티켓이 존재하는 세션은 인증 IP 터널에 전달되어 정상 속도로 통신이 가능하다.In addition, the security device 100 according to an embodiment of the present invention delivers the packet to the server 50 in different communication tunnels according to whether a ticket is issued to the IP address of the client. As shown in FIG. 8, there is an authenticated IP tunnel and an unauthenticated IP tunnel to enable communication between the security device 100 and the server 50 according to an embodiment of the present invention. In other words, the authenticated IP tunnel and the non-authenticated IP tunnel may be physical (eg, using a different line when there are a plurality of communication lines between the security device 100 and the server 50) or logical (eg, , A method of configuring two communication tunnels having different bandwidths for one or a plurality of circuits). In addition, the size of the authenticated IP tunnel among the entire traffic of the network according to the security device 100 is preferably larger than the size of the unauthenticated IP tunnel. Accordingly, a session without a ticket is delivered to an unauthenticated IP tunnel to limit bandwidth, and a session with a ticket is delivered to an authenticated IP tunnel to communicate at a normal speed.

신규 세션 처리부(160)에서 처리된 클라이언트(10)는 티켓이 없는 클라이언트를 가정하므로, 신규 세션 처리부(160)를 통해 서버(50)로 전달되는 패킷은 대역폭이 제한된 비인증 IP 터널을 통해 서버(50)로 전달된다.Since the client 10 processed by the new session processor 160 assumes a client without a ticket, the packet transmitted to the server 50 through the new session processor 160 is transferred to the server 50 through an unauthenticated IP tunnel with limited bandwidth. Is delivered.

이제, 임시 티켓이 발행된 클라이언트(10)에서 제2 패킷을 송신한 상황을 가정한다. 즉, 제2 패킷은 제1 패킷을 송신한 클라이언트가 신규 세션 처리부(160)에 의해 임시 티켓이 발행된 후, 새롭게 송신한 패킷을 의미한다.Now assume the situation in which the second packet is sent by the client 10 where a temporary ticket has been issued. That is, the second packet refers to a packet newly transmitted by the client who transmitted the first packet after the temporary ticket is issued by the new session processing unit 160.

블랙리스트 검사부(110)는 클라이언트(10)에 대한 블랙리스트 여부를 판단하고 제어를 티켓 확인부(120)로 전달한다. 티켓 확인부(120)에서는 클라이언트(10)의 IP 주소가 티켓리스트에 존재하는지 확인하는 과정을 수행한다. 본 예시의 경우, 신규 세션 처리부(160)를 통해 해당 클라이언트(10)에 임시 티켓이 발행된 상황을 가정하므로, 티켓 확인부(120)는 티켓리스트의 검색을 통해 클라이언트(10)가 임시 티켓이 발행된 클라이언트인 것으로 판단할 것이다. 그 후, 임시 티켓이 발행된 클라이언트(10)에서 송신된 패킷을 제2 패킷인 것으로 간주하는 과정이 이루어진다. 여기서, 제2 패킷은 임시 티켓이 발행된 클라이언트(10)에서 제1 패킷을 송신한 이후, 그 다음 시점에 송신한 패킷을 의미한다. The blacklist checker 110 determines whether the client 10 is blacklisted and transfers control to the ticket checker 120. The ticket checking unit 120 checks whether the IP address of the client 10 exists in the ticket list. In this example, it is assumed that the temporary ticket is issued to the client 10 through the new session processing unit 160, ticket confirmation unit 120 is the client 10 through the ticket list search through the temporary ticket Will be determined to be a issued client. Thereafter, a process of considering the packet transmitted from the client 10 in which the temporary ticket is issued as the second packet is performed. Here, the second packet refers to a packet transmitted after the first packet is transmitted from the client 10 in which the temporary ticket is issued, and at the next time point.

인증 IP 처리부(170)는 임시 티켓이 발행된 클라이언트(10)로부터 제2 패킷이 송신될 때, 제2 패킷을 분석함으로써 임시 티켓이 발행된 클라이언트(10)의 IP 주소에 티켓의 발행 여부를 결정한다. 티켓의 발행 여부를 결정하기 위해, 인증 IP 처리부(170)는 아래와 같은 판단들을 수행할 수 있다.When the second packet is transmitted from the client 10 in which the temporary ticket is issued, the authentication IP processing unit 170 determines whether to issue a ticket to the IP address of the client 10 in which the temporary ticket was issued by analyzing the second packet. do. In order to determine whether to issue a ticket, the authentication IP processor 170 may perform the following determinations.

먼저, 인증 IP 처리부(170)는 제2 패킷이 ACK 패킷인지(즉, 제2 패킷에 ACK 플래그가 존재하는지)를 판단한다. 여기서, 제2 패킷이 ACK 패킷이 아닌 다른 패킷(즉, ACK 플래그가 없는 패킷)으로 판단되면, 인증 IP 처리부(170)는 추가적인 인증 과정 없이, 제2 패킷을 비인증 IP 터널을 통해 서버(50)로 전달한다. 반대로, 제2 패킷이 ACK 패킷으로 판단되면 인증 IP 처리부(170)는 아래의 판단을 더 수행할 수 있다.First, the authentication IP processor 170 determines whether the second packet is an ACK packet (that is, whether the ACK flag exists in the second packet). Here, if it is determined that the second packet is a packet other than the ACK packet (that is, a packet without the ACK flag), the authentication IP processing unit 170 may transmit the second packet to the server 50 through the unauthenticated IP tunnel without further authentication. To pass. On the contrary, if it is determined that the second packet is an ACK packet, the authentication IP processor 170 may further perform the following determination.

인증 IP 처리부(170)는 제2 패킷이 ACK 패킷으로 판단된 경우, 제2 패킷을 분석하여 제2 패킷의 시퀀스 정보를 추출하고, 제2 패킷의 시퀀스 정보와 임시 데이터베이스(DB3)에 저장된 제2 패킷의 예측 시퀀스 번호를 비교한다. 여기서, 클라이언트(10)가 정상 클라이언트라면, 제2 패킷의 시퀀스 번호는 제1 패킷의 시퀀스 번호와 제1 패킷의 데이터 길이를 더한 값 즉, 예측 시퀀스 번호와 동일할 것이다. 이에 따라, 인증 IP 처리부(170)는 제2 패킷의 시퀀스 번호와 예측 시퀀스 번호가 동일한지 확인한다. 판단 결과, 제2 패킷의 시퀀스 번호와 예측 시퀀스 번호가 상이한 경우, 인증 IP 처리부(170)는 추가적인 인증 과정 없이, 제2 패킷을 비인증 IP 터널을 통해 서버(50)로 전달한다. 반대로, 제2 패킷의 시퀀스 번호와 예측 시퀀스 번호가 동일한 경우, 인증 IP 처리부(170)는 아래의 판단을 더 수행한다.If it is determined that the second packet is an ACK packet, the authentication IP processing unit 170 analyzes the second packet to extract sequence information of the second packet, and stores the sequence information of the second packet and the second stored in the temporary database DB3. Compare the predicted sequence numbers of the packets. Here, if the client 10 is a normal client, the sequence number of the second packet will be equal to the prediction sequence number obtained by adding the sequence number of the first packet and the data length of the first packet. Accordingly, the authentication IP processor 170 checks whether the sequence number and the prediction sequence number of the second packet are the same. As a result of the determination, when the sequence number and the predicted sequence number of the second packet are different, the authentication IP processor 170 transmits the second packet to the server 50 through the unauthenticated IP tunnel without further authentication. In contrast, when the sequence number and the prediction sequence number of the second packet are the same, the authentication IP processor 170 further performs the following determination.

인증 IP 처리부(170)는 제2 패킷의 ACK 시퀀스 번호가 정상 범위 내에 있는지 확인한다. 구체적으로, 인증 IP 처리부(170)는 제2 패킷의 ACK 시퀀스 번호가 제1 패킷의 ACK 시퀀스 번호보다 크고, 제1 패킷의 ACK 시퀀스 번호와 MTU(Maximum transmission unit)의 합보다 작은지 확인함으로써, 제2 패킷의 ACK 시퀀스 번호가 정상 범위 내에 있는지 판단할 수 있다. 확인 결과, 제2 패킷의 ACK 시퀀스 범위가 정상 범위를 벗어난 경우 즉, 제2 패킷의 ACK 시퀀스 번호가 제1 패킷의 ACK 시퀀스 번호 미만이거나, 제1 패킷의 ACK 시퀀스 번호와 MTU의 합보다 큰 경우, 추가적인 인증 과정 없이 제2 패킷을 비인증 IP 터널을 통해 서버(50)로 전달한다. 반대로, 제2 패킷의 ACK 시퀀스 번호가 정상 범위 내에 있는 경우, 해당 클라이언트(10)를 정상 클라이언트로 판단하고, 해당 클라이언트(10)의 IP 주소에 티켓을 발행하며, 티켓리스트를 갱신하고, 제2 패킷을 서버(50)로 전달할 수 있다. The authentication IP processor 170 checks whether the ACK sequence number of the second packet is within a normal range. Specifically, the authentication IP processor 170 checks whether the ACK sequence number of the second packet is larger than the ACK sequence number of the first packet and smaller than the sum of the ACK sequence number of the first packet and the maximum transmission unit (MTU). It may be determined whether the ACK sequence number of the second packet is within a normal range. As a result of the check, when the ACK sequence range of the second packet is out of the normal range, that is, the ACK sequence number of the second packet is less than the ACK sequence number of the first packet or is greater than the sum of the ACK sequence number of the first packet and the MTU. The second packet is transmitted to the server 50 through the unauthenticated IP tunnel without additional authentication. Conversely, when the ACK sequence number of the second packet is within the normal range, the client 10 is determined to be a normal client, a ticket is issued to the IP address of the client 10, the ticket list is updated, and the second packet is determined. The packet may be forwarded to the server 50.

또한, 인증 IP 처리부(170)는 제2 패킷을 서버(50)에 송신하기 전, 클라이언트(10)의 IP 주소가 공격 방법인 어택, 해킹 및 바이러스(또는 비정상 공격방법)에 해당되는지 확인하는 과정을 수행할 수 있다. 즉, 인증 IP 처리부(170)는 새롭게 티켓이 발행된 클라이언트(10)에 대해서는 어택, 해킹 및 바이러스(또는 비정상 공격 방법)에 해당하는지는 판단하지만, 한계치 및 공격 검사부(130)와는 달리, 클라이언트(10)의 IP 주소에 대해 오버플로우의 발생여부를 필수적으로 판단하는 것은 아니다. 이는 상술한 통신 과정 동안 IP 주소의 오버플로우 발생 여부는 충분히 확인 가능하기 때문이다. 또한, 이러한 과정에도 클라이언트(10)의 IP 주소가 정상으로 판단 될 때, 인증 IP 처리부(170)는 제2 패킷을 서버(50)에 전달하고, 서버(50)에서는 제2 패킷에 따른 요청에 따라 응답 패킷을 다시 클라이언트(10)로 송신하는 과정이 이루어진다.In addition, before transmitting the second packet to the server 50, the authentication IP processor 170 checks whether the IP address of the client 10 corresponds to an attack method, a hacking attack and a virus (or an abnormal attack method). Can be performed. That is, the authentication IP processor 170 determines whether the newly issued ticket 10 corresponds to an attack, a hack, and a virus (or an abnormal attack method). However, unlike the threshold and the attack checker 130, the client ( It is not essential to determine whether an overflow occurs for the IP address of 10). This is because it is possible to sufficiently check whether an IP address overflow occurs during the aforementioned communication process. In this process, when the IP address of the client 10 is determined to be normal, the authentication IP processor 170 transmits the second packet to the server 50, and the server 50 responds to the request according to the second packet. Accordingly, a process of transmitting the response packet back to the client 10 is performed.

위의 설명에서는 인증 IP 처리부(170)가 세션 허용치에 관계없이 동작되는 것으로 설명되었다. 다만, 이는 예시일 뿐이고 신규 세션 처리부(160)와 마찬가지로, 세션 허용치를 고려하여 동작되는 방식도 생각해볼 수 있다.In the above description, the authentication IP processing unit 170 has been described as operating regardless of the session allowance. However, this is only an example, and like the new session processing unit 160, a method of operating in consideration of the session allowance may be considered.

또한, 위의 설명에서, 제2 패킷이 ACK 패킷이 아닐 때, 예측한 시퀀스 번호와 제2 패킷의 실제 시퀀스 번호가 상이할 때, 또는 제2 패킷의 ACK 시퀀스 범위가 정상 범위를 벗어날 때 별도의 처리 없이 서버로 제2 패킷을 전달한다고 설명하였다. 다만, 이는 예시일 뿐이고, 인증 IP 처리부(170)는 제2 패킷이 ACK 패킷이 아닐 때, 예측한 시퀀스 번호와 제2 패킷의 실제 시퀀스 번호가 상이할 때, 또는 제2 패킷의 ACK 시퀀스 범위가 정상 범위를 벗어날 때 클라이언트의 인증을 위해 미리 설정된 인증 메커니즘을 수행하고, 인증 메커니즘의 결과에 기반하여 제2 패킷의 전달 여부를 결정할 수도 있다.In addition, in the above description, when the second packet is not an ACK packet, when the predicted sequence number and the actual sequence number of the second packet are different, or when the ACK sequence range of the second packet is out of the normal range, It was described that the second packet is delivered to the server without processing. However, this is merely an example, and the authentication IP processor 170 may determine that the second packet is not an ACK packet, the predicted sequence number is different from the actual sequence number of the second packet, or the ACK sequence range of the second packet is different. When out of the normal range, a predetermined authentication mechanism may be performed for authentication of the client, and it may be determined whether or not to forward the second packet based on the result of the authentication mechanism.

비인증 IP 처리부(180)는 티켓이 발행되지 않은 세션이면서, 신규 세션이 아닌 세션인 경우 동작된다. 구체적으로, 비인증 IP 처리부(180)는 티켓이 발행되지 않고, 신규 세션이 아닌 클라이언트가 패킷을 송신될 때 동작되어, 클라이언트로부터 송신된 패킷의 처리를 수행한다. 비인증 IP 처리부(180)는 예를 들어, 악의적인 클라이언트는 아니나, 통신 상의 오류로 인해 위에서 설명한 조건에 충족되지 못한 클라이언트를 처리하기 위한 구성이다. 이를 위해, 비인증 IP 처리부(180)는 세션 허용치와는 다른 비인증 IP 허용값을 두고, 보안 장비로 패킷을 보낸 세션의 개수가 비인증 IP 허용값을 초과하는지에 따라, 해당 클라이언트에 대한 인증처리를 수행하거나, 또는 패킷을 드롭시킬 수 있다. 비인증 IP 처리부(180)를 통해 수행되는 인증 처리 방식은 특정한 방식으로 제한하지 않는다.The non-authenticated IP processing unit 180 is operated when the session is a ticket for which no ticket is issued and is not a new session. Specifically, the non-authenticated IP processing unit 180 is operated when a client does not issue a ticket and a packet other than a new session is transmitted, thereby processing the packet transmitted from the client. The non-authenticated IP processing unit 180 is a component for processing a client that is not a malicious client but does not meet the above-described condition due to a communication error. To this end, the unauthenticated IP processing unit 180 has an unauthenticated IP allowance value different from the session allowance value, and performs authentication processing for the corresponding client according to whether the number of sessions sent to the security device exceeds the unauthenticated IP allowance value. Or drop the packet. The authentication processing method performed through the non-authentication IP processing unit 180 is not limited to a specific method.

또한, 본 발명의 일 실시예에 따른 보안 장치(100)는 학습 데이터베이스(Knowledge database) 및 학습부(미도시)를 더 포함하여 구성될 수 있다. 여기서, 학습 데이터베이스는 티켓리스트를 클래스화하여 저장하는 데이터베이스이다. 여기서, 클래스화 방법은 티켓리스트의 관리 기법으로서, IP 주소들 중 일정 대역의 IP 주소가 티켓리스트에 일정량 이상 등록되게 될 경우 일정 대역의 IP 주소는 정상적으로 통신을 원하는 IP 주소 대역일 가능성이 높다고 간주하는 방식이다. 즉, 클래스화 방법은 일정 클래스 단위(네트워크의 충돌을 피하기 위해 규모에 따른 IP 주소 할당의 범위를 지정하는 단위)로 티켓리스트를 클래스화하고 다시 발행하여 학습 데이터베이스에 저장함으로써, 일정 대역의 IP 주소이면서도 티켓리스트에 등록되지 않은 IP 주소가 접속하더라도, 이를 티켓리스트에 등록된 것으로 보아 정상적인 티켓을 가진 IP 주소가 전달되는 다음 상태로 전달되는 관리 기법이다.In addition, the security device 100 according to an embodiment of the present invention may further include a learning database and a learning unit (not shown). Here, the learning database is a database that classifies and stores a ticket list. Here, the classifying method is a ticket list management technique, and when an IP address of a certain band is registered in the ticket list more than a certain amount, the IP address of a certain band is considered to be likely to be an IP address band to normally communicate with. That's the way it is. In other words, the classifying method classifies a ticket list in a certain class unit (a unit specifying a range of IP address allocation according to size to avoid a network collision), reissues it, and stores it in a learning database. Even if an IP address not registered in the ticket list is accessed, it is regarded as registered in the ticket list. Therefore, it is a management technique that delivers the IP address with a normal ticket to the next state.

학습부는 IP 주소의 티켓리스트가 일정치에 이르렀을 경우 클래스화 하여 학습 데이터베이스에 저장하거나 티켓 확인부(120)에 의해 검사된 IP 주소가 학습 데이터베이스에 포함되는지를 검사한다.When the ticket list of the IP address reaches a predetermined value, the learning unit classifies and stores it in the learning database or checks whether the IP address checked by the ticket checking unit 120 is included in the learning database.

상기와 같은 구성들을 통해, 본 발명의 일 실시예에 따른 보안 장치(100)는 단방향 네트워크 특성을 갖는 비동기 네트워크에서, 클라이언트의 정상 여부를 확인할 수 있을 뿐만 아니라, DDOS 공격을 효율적으로 차단할 수 있고, 이로 인해 서버(50)의 안정성을 보장할 수 있다. 또한, 보안 장치(100)는 세션 허용치의 개념을 통해 장치의 부하도 관리할 수 있어서 안정적이고 효율적인 DDOS 관리가 가능하다.Through the above configurations, the security device 100 according to an embodiment of the present invention can not only check whether the client is normal in an asynchronous network having a one-way network characteristic, but also effectively block DDOS attacks, This can ensure the stability of the server 50. In addition, the security device 100 can manage the load of the device through the concept of session allowance, thereby enabling stable and efficient DDOS management.

도 9a 내지 도 9d는 본 발명의 일 실시예에 따른 보안 장치를 통해 단방향 네트워크에서 클라이언트의 인증을 수행하는 방법을 설명하기 위한 흐름도이다. 먼저, 도 9a는 비동기 네트워크에서의 통신 특성을 나타내기 위한 흐름도이다. 위에서 설명한 것처럼, 비동기 네트워크에는 그 특성상 보안장비(여기선, 보안 장치)가 다수 존재한다. 그 중에서도 단방향 네트워크의 예시를 보면, 도 9a에 나타난 것처럼, 다수의 보안 장치들 중, 하나의 보안 장치(100)(이하, 제1 보안 장치(100))의 입장에서 보면, 클라이언트(10)에서 송신된 패킷을 수신하여 클라이언트(10)에서 서버(40)로 전달되는 패킷의 정보는 확인이 가능하지만, 서버(40)에서 클라이언트(10)로 전달되는 패킷은 자신이 아닌, 비동기 네트워크 내에 존재하는 다른 보안 장치(즉, 제2 보안 장치)를 거쳐 또는 직접 클라이언트(10)로 송신되므로, 그 정보를 확인할 수 없다. 이에 따라, 보안 장치(100)(즉, 제1 보안 장치(100))는 도 9a에 도시된 것처럼 클라이언트(10)로부터 서버(40)로 송신되는 패킷의 시퀀스 정보(즉, 패킷의 시퀀스 넘버, ACK 번호 및 패킷 길이)를 파악할 수 있는 반면, 영역(num1, num2, num3)으로 표시한 것처럼, 서버(40)로부터 클라이언트(10)로 송신되는 패킷의 시퀀스 정보를 파악할 수 없다.9A to 9D are flowcharts illustrating a method of authenticating a client in a one-way network through a security device according to an embodiment of the present invention. First, FIG. 9A is a flowchart illustrating communication characteristics in an asynchronous network. As described above, there are many security devices (here, security devices) in their asynchronous network. Among them, as shown in the example of the one-way network, as shown in FIG. 9A, from among the plurality of security devices, from the standpoint of one security device 100 (hereinafter, referred to as the first security device 100), the client 10 may be configured as a single network. Although the information of the packet transmitted from the client 10 to the server 40 by receiving the transmitted packet can be confirmed, the packet transmitted from the server 40 to the client 10 exists in an asynchronous network, not itself. Since it is transmitted to the client 10 via another security device (ie, the second security device) or directly, the information cannot be confirmed. Accordingly, the security device 100 (i.e., the first security device 100) is the sequence information of the packet transmitted from the client 10 to the server 40 as shown in Figure 9a (i.e., the sequence number of the packet, While the ACK number and the packet length can be known, the sequence information of the packet transmitted from the server 40 to the client 10 cannot be grasped as indicated by the areas num 1 , num 2 , and num 3 .

일반적인 보안장비는 클라이언트에서 송신된 패킷과 서버에서 송신된 패킷을 수집하고, 이들 모두를 분석하여 클라이언트의 정상 여부를 판단하는 방식을 채택한다(예를 들어, SYN-Cookie, SYN-Proxy 등). 하지만, 도 9a에 도시된 것처럼 비동기 네트워크의 경우의 보안장비에서 클라이언트로부터의 패킷 및 서버로부터의 패킷 모두를 수집할 수 없기에, 일반적인 보안장비를 통해서는 DDOS 공격 탐지가 거의 어렵다. 물론, 복수의 보안장비들 간 동기화를 지속적으로 수행함으로써 이러한 문제를 해소하는 방법을 생각해볼 수 있겠지만, 동기화 과정은 네트워크 속도와 동기화 시간에 대한 문제로 인해, 효율이 떨어지는 문제가 있다.General security equipment adopts a method of collecting a packet transmitted from a client and a packet transmitted from a server, and analyzing all of them to determine whether the client is normal (eg, SYN-Cookie, SYN-Proxy, etc.). However, as shown in FIG. 9A, since the security device in the asynchronous network cannot collect both the packet from the client and the packet from the server, DDOS attack detection is almost difficult through the general security device. Of course, a method of solving such a problem by continuously performing synchronization between a plurality of security devices can be considered, but the synchronization process is problematic due to problems of network speed and synchronization time.

이에 따라, 본 발명의 일 실시예에 따른 보안 장치(100)는 클라이언트(10)에서 송신된 패킷만을 이용하여 클라이언트(10)의 정상 여부를 판단하는 것을 특징으로 한다. 또한, 본 발명의 일 실시예에 따른 보안 장치(100)는 TCP 통신 과정 중, 데이터 전송 단계를 통해 클라이언트(10)의 정상 여부를 판단한다. 이제, 도 9b 내지 도 9d를 참조로 본 발명의 일 실시예에 따른 보안 장치(100)의 동작 방법에 대해 설명한다. 또한, 아래에서는 클라이언트(10)가 신규 세션인 상황을 가정하여, 그 설명이 이루어진다.Accordingly, the security device 100 according to an embodiment of the present invention is characterized by determining whether the client 10 is normal using only the packet transmitted from the client 10. In addition, the security device 100 according to an embodiment of the present invention determines whether the client 10 is normal through a data transmission step during the TCP communication process. A method of operating the security device 100 according to an embodiment of the present invention will now be described with reference to FIGS. 9B to 9D. In addition, the following description is made on the assumption that the client 10 is a new session.

먼저, 도 9b를 참조하면, 클라이언트(10)는 패킷을 생성하고, 이를 송신한다. 여기서, 패킷은 3-웨이 핸드셰이크 과정 이후 송신되는 패킷을 가정하므로, PUSH 플래그와 ACK 플래그가 설정될 수 있으며, 본 예시에서는 이 패킷의 시퀀스 넘버가 1, ACK 번호가 1, 그리고 데이터 길이가 200인 것으로 가정한다.First, referring to FIG. 9B, the client 10 generates a packet and transmits it. Here, since the packet assumes a packet transmitted after the 3-way handshake process, the PUSH flag and the ACK flag may be set. In this example, the sequence number of the packet is 1, the ACK number is 1, and the data length is 200. Assume that

보안 장치(100)는 클라이언트(10)로부터 패킷을 수신할 때, 클라이언트(10)의 IP 주소가 블랙리스트에 해당하는지, 그리고 티켓리스트에 해당하는지 확인하는 과정을 수행한다. 여기서, 블랙리스트에 해당할 경우, 보안 장치(100)는 수신한 패킷을 드롭한다. 반대로, 클라이언트의 IP 주소에 티켓이 발행된 경우, 보안 장치(100)는 위에서 설명한 것처럼 한계치 및 공격 검사부를 통해 클라이언트의 IP 주소가 오버플로우인지, 그리고 다른 공격 방법인 어택, 해킹 및 바이러스(또는 비정상 공격방법)에 해당되는지 확인한다. 확인 결과, 클라이언트(10)의 IP 주소에 티켓이 발행되었고, 한계치 및 공격 검사부를 통해서도 이상이 발견되지 않으면, 추가적인 인증 과정 없이 해당 패킷을 서버(50)로 전달한다. 앞서 설명한 것처럼, 클라이언트(10)의 IP가 정상으로 판단되면, 보안 장치(100)는 인증 IP 터널을 통해 패킷을 서버(50)로 전달할 수 있다. 반대로, 클라이언트(10)의 IP 주소에 티켓이 발행되었더라도, 한계치 및 공격 검사부를 통해 이상이 발견될 때 해당 패킷은 드롭되고, 클라이언트(10)의 IP 주소에 발행된 티켓은 제거되며, 클라이언트(10)의 IP 주소를 블랙리스트에 추가하는 과정이 이루어질 수 있다.When the security device 100 receives a packet from the client 10, the security device 100 checks whether the IP address of the client 10 corresponds to a blacklist and a ticket list. In this case, when it corresponds to the blacklist, the security device 100 drops the received packet. Conversely, if a ticket is issued to the client's IP address, the security device 100 determines whether the client's IP address is overflowing through the threshold and attack check as described above, and other attack methods such as attack, hacking and virus (or abnormality). Attack method). As a result of the check, if a ticket is issued to the IP address of the client 10 and no abnormality is found through the threshold and the attack checker, the packet is forwarded to the server 50 without further authentication. As described above, if the IP of the client 10 is determined to be normal, the security device 100 may transmit the packet to the server 50 through the authentication IP tunnel. On the contrary, even when a ticket is issued to the IP address of the client 10, when an abnormality is found through the threshold and attack checker, the packet is dropped, the ticket issued to the IP address of the client 10 is removed, and the client 10 The blacklist may be added to the IP address.

보안 장치(100)를 통한 확인 결과, 클라이언트(10)의 IP 주소가 블랙리스트 및 티켓리스트 모두에 존재하지 않을 경우, 보안 장치(100)의 부하를 확인하는 과정을 수행한다. 즉, 클라이언트(10)의 IP 주소가 블랙리스트 및 티켓리스트 모두에 존재하지 않을 경우, 보안 장치(100)는 세션 허용치 판단부를 통해 클라이언트들로부터 수신한 질의 세션수와 세션 허용치를 비교한다. 비교 결과, 질의 세션수가 세션 허용치 이상인 경우, 보안 장치(100)는 클라이언트(10)로부터 송신된 패킷을 드롭시킨다. 그렇지 않은 경우, 보안 장치(100)는 클라이언트(10)가 신규 세션인지 확인하는 과정을 수행한다. 여기서, 클라이언트(10)가 신규 세션인지 확인하는 방법은, 데이터베이스(미도시)에 존재하는 로그들을 검색함으로써 이루어질 수 있다. 이에 대한 설명은 위에서 도 6을 참조로 상세히 언급하였으므로, 중복되는 설명은 생략한다. As a result of the verification through the security device 100, when the IP address of the client 10 does not exist in both the black list and the ticket list, a process of checking the load of the security device 100 is performed. That is, when the IP address of the client 10 does not exist in both the blacklist and the ticket list, the security apparatus 100 compares the session allowance with the number of query sessions received from the clients through the session allowance determination unit. As a result of the comparison, if the number of query sessions is greater than or equal to the session allowance, the security apparatus 100 drops the packet transmitted from the client 10. Otherwise, the security device 100 checks whether the client 10 is a new session. Here, the method of checking whether the client 10 is a new session may be performed by searching for logs existing in a database (not shown). Since a description thereof has been made in detail with reference to FIG. 6 above, a redundant description will be omitted.

클라이언트(10)가 신규 세션이 아닌 것으로 판단된 경우, 보안 장치(100)는 위에서 설명한 비인증 IP 처리부를 통한 제어를 수행한다. 여기서, 본 예시에서는 클라이언트(10)가 신규 세션인 것을 가정하므로, 보안 장치(100)는 아래에서 설명되는 처리를 수행한다.If it is determined that the client 10 is not a new session, the security device 100 performs control through the unauthorized IP processing unit described above. Here, in this example, it is assumed that the client 10 is a new session, the security device 100 performs the processing described below.

보안 장치(100)는 클라이언트(10)가 신규 세션으로 판단된 경우, 제1 패킷이 ACK 패킷인지(즉, 패킷에 ACK 플래그가 설정되어있는지) 확인한다. 확인 결과, 제1 패킷이 ACK 패킷으로 확인되면 아래에서 설명되는 제어가 더 수행된다. 그렇지 않은 경우, 보안 장치(100)는 제어 세션수를 추가하고, 추가적인 작업 없이 제1 패킷을 서버(50)로 전달한다.If it is determined that the client 10 is a new session, the security device 100 checks whether the first packet is an ACK packet (that is, whether the packet has the ACK flag set). As a result of the check, when the first packet is identified as the ACK packet, the control described below is further performed. Otherwise, the security device 100 adds the number of control sessions and delivers the first packet to the server 50 without further work.

클라이언트(10)가 신규 세션이고, 제1 패킷이 ACK 패킷으로 판단된 경우, 보안 장치(100)는 클라이언트(10)의 IP 주소에 임시 티켓을 발행하고, 티켓리스트를 갱신한다. 또한, 보안 장치(100)는 클라이언트(10)로부터 송신된 패킷(이하, 제1 패킷)을 확인하여, 시퀀스 정보를 추출하고 이를 데이터베이스(도 6의 설명에서는 임시 데이터베이스)에 저장한다. 여기서, 시퀀스 정보는 제1 패킷의 시퀀스 번호, ACK 번호, 그리고 데이터 길이를 포함한다. If the client 10 is a new session and the first packet is determined to be an ACK packet, the security device 100 issues a temporary ticket to the IP address of the client 10 and updates the ticket list. In addition, the security apparatus 100 checks a packet (hereinafter, referred to as a first packet) transmitted from the client 10, extracts sequence information, and stores it in a database (temporary database in the description of FIG. 6). Here, the sequence information includes the sequence number, ACK number, and data length of the first packet.

또한, 보안 장치(100)는 제1 패킷의 시퀀스 정보를 근거로 차후 클라이언트(10)가 송신할 제2 패킷의 예측 시퀀스 번호를 산출한다. 도 9a 내지 도 9d의 예시에서 제1 패킷은 시퀀스 번호가 1, ACK 번호가 1, 그리고 데이터 길이가 200인 것으로 가정하므로, 보안 장치(100)는 제2 패킷의 예측 시퀀스 번호를 제1 패킷의 시퀀스 번호인 1과, 데이터길이 200의 합 즉, 201로 산출할 수 있다. 그 후, 보안 장치(100)는 산출한 제2 패킷의 예측 시퀀스 번호를 데이터베이스(도 6의 예시에서는 임시 데이터베이스)에 함께 저장한다. 그 후, 보안 장치(100)는 수신한 제1 패킷을 서버(50)로 전달한다. 여기서, 클라이언트(100)에는 임시 티켓만이 발행된 상황이므로, 보안 장치(100)는 비인증 IP 터널을 통해 제1 패킷을 전달할 것이다.In addition, the security apparatus 100 calculates a predicted sequence number of the second packet to be transmitted later by the client 10 based on the sequence information of the first packet. In the example of FIGS. 9A to 9D, since the first packet is assumed to have a sequence number of 1, an ACK number of 1, and a data length of 200, the security apparatus 100 may determine the prediction sequence number of the second packet of the first packet. The sum of the sequence number 1 and the data length 200, that is, 201 can be calculated. Thereafter, the security apparatus 100 stores the predicted sequence number of the calculated second packet together in a database (temporary database in the example of FIG. 6). Thereafter, the security device 100 transmits the received first packet to the server 50. In this case, since only a temporary ticket is issued to the client 100, the security device 100 may transmit the first packet through an unauthenticated IP tunnel.

도 9c를 참조한다. 서버(50)에서는 제1 패킷의 수신 이후, 제1 패킷을 잘 수신하였음을 알리는, 그리고 클라이언트(10)의 요청에 따른 내용을 포함하는 ACK 패킷(본 예시의 경우, 시퀀스 번호가 1, ACK 번호가 201, 그리고 데이터 길이가 1448인 ACK 패킷)을 클라이언트(10)로 송신한다. 앞서 설명한 것처럼, 서버(50)에서 송신된 패킷은 보안 장치(100)가 아닌 다른 보안 장치(미도시)를 거쳐, 또는 보안 장치를 거치지 않고 클라이언트(10)로 송신될 것이다. 이에 따라, 본 발명의 일 실시예에 따른 보안 장치(100)는 서버(50)에서 ACK 패킷이 발생되어 클라이언트(10)로 송신되었는지의 여부를 전혀 알지 못한다.See FIG. 9C. After receiving the first packet, the server 50 indicates an ACK packet indicating that the first packet was well received and including contents according to the request of the client 10 (in this example, the sequence number is 1 and the ACK number). 201 and an ACK packet having a data length of 1448) are transmitted to the client 10. As described above, the packet transmitted from the server 50 will be transmitted to the client 10 via a security device (not shown) other than the security device 100 or without the security device. Accordingly, the security device 100 according to an embodiment of the present invention does not know at all whether the ACK packet is generated in the server 50 and transmitted to the client 10.

그 후, 클라이언트(10)는 서버(50)에서 수신한 ACK 패킷에 따라, 새로운 패킷(즉, 제2 패킷)을 생성하고, 이를 보안 장치(100)로 송신한다. 여기서, 제2 패킷의 시퀀스 번호는 201이고, ACK 번호는 1449인 것으로 가정한다. 그리고, 보안 장치(100)는 상술한 과정, 즉, 클라이언트(10)의 IP 주소가 블랙리스트 또는 티켓리스트에 해당하는지 확인한다. 본 예시의 경우, 클라이언트(10)의 IP 주소에 임시 티켓이 발행된 것을 가정하므로, 보안 장치(100)는 제2 패킷이 ACK 패킷인지(즉, ACK 플래그가 설정된 패킷인지) 확인한다. Thereafter, the client 10 generates a new packet (ie, a second packet) according to the ACK packet received from the server 50 and transmits it to the security device 100. Here, it is assumed that the sequence number of the second packet is 201 and the ACK number is 1449. In addition, the security device 100 checks whether the IP address of the client 10 corresponds to the blacklist or the ticket list. In this example, since it is assumed that a temporary ticket is issued to the IP address of the client 10, the security device 100 checks whether the second packet is an ACK packet (that is, a packet in which an ACK flag is set).

확인 결과, 제2 패킷이 ACK 패킷이 아닌 경우(즉, ACK 플래그가 설정되어 있지 않은 경우), 보안 장치(100)는 제어 세션수를 추가하고, 별도의 추가적인 제어 없이 제2 패킷을 서버(50)로 전달한다. 반대로, 제2 패킷이 ACK 패킷으로 판단된 경우(즉, ACK 플래그가 설정된 경우), 보안 장치(100)는 제2 패킷의 시퀀스 정보를 확인하고, 제2 패킷의 시퀀스 번호와, 위에서 설명한 제2 패킷의 예측 시퀀스 번호를 비교한다. 비교 결과 이들 번호가 상이하면, 보안 장치(100)는 제어 세션수를 추가하고, 추가적인 제어 없이 제2 패킷을 서버(50)로 전달한다. 만일, 이들 번호 즉, 제2 패킷의 시퀀스 번호와 예측 시퀀스 번호가 동일한 경우, 보안 장치(100)는 아래에서 설명되는 바와 같이, 제2 패킷의 ACK 번호가 정상 범위 내에 있는지 확인한다.As a result of the check, when the second packet is not an ACK packet (ie, when the ACK flag is not set), the security apparatus 100 adds the number of control sessions, and transmits the second packet without additional control. To pass). On the contrary, when it is determined that the second packet is an ACK packet (that is, when the ACK flag is set), the security apparatus 100 checks the sequence information of the second packet, and the sequence number of the second packet and the second described above. Compare the predicted sequence numbers of the packets. If these numbers are different as a result of the comparison, the security apparatus 100 adds the number of control sessions and delivers the second packet to the server 50 without further control. If these numbers, that is, the sequence number of the second packet and the predicted sequence number are the same, the security apparatus 100 checks whether the ACK number of the second packet is within the normal range, as described below.

보안 장치(100)는 제2 패킷의 ACK 번호가 제1 패킷의 ACK 번호보다 크고, 제1 패킷의 ACK 번호와 MTU의 합보다 작은지 판단함으로써, 제2 패킷의 ACK 번호가 정상 범위 내에 있는지 확인할 수 있다. 본 예시에서 제2 패킷의 ACK 번호는 1449인 것으로 가정하고, MTU 값은 1500인 것으로 가정하므로, 제2 패킷의 ACK 번호인 1449는 제1 패킷의 ACK 번호인 1보다 크고, 제1 패킷의 ACK 번호와 MTU의 합인 1501 보다 작다. The security apparatus 100 determines whether the ACK number of the second packet is within the normal range by determining whether the ACK number of the second packet is greater than the ACK number of the first packet and smaller than the sum of the ACK number of the first packet and the MTU. Can be. In this example, since the ACK number of the second packet is assumed to be 1449 and the MTU value is assumed to be 1500, the ACK number 1449 of the second packet is greater than 1, which is the ACK number of the first packet, and the ACK of the first packet. Is less than 1501, the sum of the number and MTU.

이처럼 제2 패킷의 시퀀스 번호와 예측 시퀀스 번호가 동일하고 제2 패킷의 ACK 번호가 정상 범위 내에 있을 경우, 보안 장치(100)는 클라이언트(10)를 정상 클라이언트로 판단하고, 이의 IP 주소에 티켓을 발행하며, 제2 패킷을 서버(50)에 전달한다. 물론, 보안 장치(100)에서 제2 패킷을 서버(50)에 송신하기 전, 클라이언트(10)의 IP 주소가 공격 방법인 어택, 해킹 및 바이러스(또는 비정상 공격방법)에 해당되는지 확인하는 과정을 수행할 수 있다. 즉, 보안 장치(100)는 새롭게 티켓이 발행된 클라이언트(10)에 대해서는 어택, 해킹 및 바이러스(또는 비정상 공격 방법)에 해당하는지는 판단하지만, 클라이언트(10)의 IP 주소에 대해 오버플로우의 발생여부를 필수적으로 판단하는 것은 아니다. 이는 상술한 통신 과정 동안 IP 주소의 오버플로우 발생 여부는 충분히 확인 가능하기 때문이다. 또한, 이러한 과정에도 클라이언트(10)의 IP 주소가 정상으로 판단 될 때, 보안 장치(100)는 제2 패킷을 서버(50)에 전달하고, 서버(50)에서는 제2 패킷에 따른 요청에 따라 응답 패킷을 다시 클라이언트(10)로 송신하는 과정이 이루어진다(도 9d 참조).As such, when the sequence number and the prediction sequence number of the second packet are the same and the ACK number of the second packet is within the normal range, the security apparatus 100 determines the client 10 as a normal client, and transmits a ticket to its IP address. Issue a second packet to the server 50. Of course, before transmitting the second packet to the server 50, the security device 100 checks whether the IP address of the client 10 corresponds to an attack method, an attack method, a hacking virus, or a virus (or an abnormal attack method). Can be done. In other words, the security apparatus 100 determines whether the newly issued ticket 10 corresponds to an attack, a hack, and a virus (or an abnormal attack method), but an overflow occurs with respect to the IP address of the client 10. It is not essential to judge whether or not. This is because it is possible to sufficiently check whether an IP address overflow occurs during the aforementioned communication process. In this process, when the IP address of the client 10 is determined to be normal, the security apparatus 100 transmits the second packet to the server 50, and the server 50 responds to the request according to the second packet. A process of transmitting the response packet back to the client 10 is performed (see FIG. 9D).

반대로, 제2 패킷의 ACK 번호가 정상 범위 내에 있지 않을 때, 보안 장치(100)는 제어 세션수를 추가하고, 추가적인 제어 없이 제2 패킷을 서버(50)로 전달한다. Conversely, when the ACK number of the second packet is not within the normal range, the security device 100 adds the number of control sessions and delivers the second packet to the server 50 without further control.

도 9a 내지 도 9d를 참조로 설명한 것처럼, 본 발명의 일 실시예에 따른 보안 장치(100)는 서버(50)에서 송신된 패킷에 대한 정보 없이, 클라이언트(10)에서 송신된 패킷만을 이용하여 DDOS 공격 차단을 가능케 한다. 이에 따라, 본 발명의 일 실시예에 따른 보안 장치(100)는 단방향 네트워크 특성을 갖는 비동기 네트워크에 적용되더라도, 단일 흐름 상의 통신 분석만으로 DDOS 공격에 대한 차단을 수행할 수 있는 장점을 갖는다. As described with reference to FIGS. 9A to 9D, the security device 100 according to an embodiment of the present invention uses DDOS only by using the packet transmitted from the client 10 without information on the packet transmitted from the server 50. Enables blocking of attacks. Accordingly, even if the security device 100 according to an embodiment of the present invention is applied to an asynchronous network having a one-way network characteristic, it has an advantage of blocking the DDOS attack only by analyzing the communication on a single flow.

도 10 내지 도 12는 본 발명의 일 실시예에 따른 보안 장치의 동작 방법에 대한 흐름도이다. 상술한 것처럼, 본 발명의 일 실시예에 따른 보안 장치의 동작 방법은 서버에서 생성된 패킷 없이, 클라이언트에서 송신된 패킷만을 이용하여 클라이언트의 정상 여부를 판단할 수 있다. 본 발명의 일 실시예에 따른 보안 장치의 동작 방법은 클라이언트에서 송신된 패킷만을 이용하여 DDOS 공격의 발생 여부를 탐지할 수 있고, 이를 차단할 수도 있다. 서버에서 송신된 패킷 없이 클라이언트에서 송신된 패킷만을 이용하는 점에 기인하여, 본 발명의 일 실시예에 따른 보안 장치의 동작 방법은 비동기 네트워크 또는 단방향 네트워크에서도 적용될 수 있다. 앞서 설명한 것처럼 보안 장치는 DDOS 공격 차단 장치일 수 있다. 이제, 도 10 내지 도 12를 참조로 본 발명의 일 실시예에 따른 보안 장치의 동작 방법에 대해 설명한다. 또한, 아래에서는 상술한 부분과 중복되는 사항은 생략한다.10 to 12 are flowcharts illustrating a method of operating a security device according to an embodiment of the present invention. As described above, the method of operating the security apparatus according to an embodiment of the present invention may determine whether the client is normal using only the packet transmitted from the client, without the packet generated by the server. The method of operating a security device according to an embodiment of the present invention may detect whether or not a DDOS attack occurs by using only a packet transmitted from a client, and block it. Due to the fact that only the packet transmitted from the client is used without the packet transmitted from the server, the method of operating the security apparatus according to an embodiment of the present invention may be applied to an asynchronous network or a unidirectional network. As described above, the security device may be a DDOS attack blocking device. A method of operating a security device according to an embodiment of the present invention will now be described with reference to FIGS. 10 to 12. In addition, below, the thing which overlaps with the above-mentioned part is abbreviate | omitted.

S101 단계는 통신부에 의해, 클라이언트로부터 송신된 패킷을 수신하는 단계이다. In step S101, the communication unit receives a packet transmitted from the client.

S102 단계는 블랙리스트 검사부에 의해, 패킷을 송신한 클라이언트가 블랙리스트에 해당하는지 검사하는 단계이다. 앞서 설명한 것처럼, S102 단계는 블랙리스트 데이터베이스와 연동하여, 패킷을 송신한 클라이언트의 IP 주소가 블랙리스트에 해당하는지 확인함으로써 이루어질 수 있다. 검사 결과, 클라이언트의 IP 주소가 블랙리스트에 해당할 경우, S102 단계는 해당 패킷을 드롭시킨다. 반대로, 클라이언트의 IP 주소가 블랙리스트에 해당하지 않을 경우, S102 단계는 제어를 S103 단계로 전달한다.In step S102, the blacklist checking unit checks whether the client that has sent the packet corresponds to the blacklist. As described above, step S102 may be performed by interworking with the blacklist database to check whether the IP address of the client that has sent the packet corresponds to the blacklist. As a result of the check, if the client's IP address is blacklisted, step S102 drops the packet. Conversely, if the IP address of the client does not correspond to the blacklist, step S102 transfers control to step S103.

S103 단계는 티켓 확인부에 의해, S102 단계를 통해 블랙리스트에 해당하지 않는 것으로 확인된 클라이언트가 티켓을 보유한 클라이언트인지 확인하는 단계이다. 구체적으로, S103 단계는 티켓리스트 데이터베이스에서 해당 클라이언트의 IP 주소가 티켓리스트에 존재하는지 검색함으로써 이루어질 수 있다. 확인 결과, 해당 클라이언트의 IP 주소가 티켓리스트에 존재하는 것으로 확인된 경우 제어는 S104 단계로 전달된다. 그렇지 않은 경우 제어는 S107 단계로 전달된다.The step S103 is a step of confirming, by the ticket confirming unit, whether the client identified as not being blacklisted through the step S102 is a client having a ticket. Specifically, step S103 may be performed by searching the ticket list database for whether the IP address of the corresponding client exists in the ticket list. If it is confirmed that the IP address of the client exists in the ticket list, control is passed to step S104. Otherwise control passes to step S107.

S104 단계는 티켓 확인부에 의해, 클라이언트가 보유한(즉, 클라이언트의 IP 주소에 발행된) 티켓이 티켓인지 또는 임시 티켓인지 확인하는 단계이다. 위에서 설명한 것처럼, 본 발명의 일 실시예에 따른 보안 장치의 동작 방법은 통행 티켓의 개념을 갖는 티켓과, 티켓 발급을 위한 검증에 이용되는 임시 티켓의 개념을 제시한다. 여기서, 임시 티켓은 정상 여부의 판단 대상인 신규 세션에 발행되며, 본 발명의 일 실시예에 따른 보안 장치의 동작 방법은 임시 티켓이 발행된 클라이언트에서 송신된 패킷을 분석함으로써, 클라이언트의 정상 여부를 판단한다. S104 단계를 통한 판단 결과, 클라이언트에 티켓이 발행된 경우 제어는 S105 단계로 전달된다. 그렇지 않은 경우, 제어는 S106 단계로 전달된다.In step S104, the ticket confirmation unit confirms whether the ticket held by the client (that is, issued to the client's IP address) is a ticket or a temporary ticket. As described above, a method of operating a security device according to an embodiment of the present invention proposes a ticket having a concept of a pass ticket and a concept of a temporary ticket used for verification for ticket issuance. In this case, the temporary ticket is issued to a new session that is determined to be normal, and the method for operating a security device according to an embodiment of the present invention determines whether the client is normal by analyzing a packet transmitted from the client where the temporary ticket is issued. do. As a result of the determination in step S104, when a ticket is issued to the client, control is passed to step S105. Otherwise, control passes to a step S106.

S105 단계는 한계치 및 공격 검사부를 통해, 클라이언트의 IP 주소가 오버플로우인지, 또는 다른 공격 방법인 어택, 해킹 및 바이러스(또는 비정상 공격방법)에 해당되는지 확인하는 단계이다. 이러한 IP 주소의 오버플로우 여부 및 다른 공격 방법에 해당되는지의 판단에 대한 설명은 위에서 도 6을 참조로 상세히 언급하였으므로, 중복되는 설명은 생략한다. S105 단계를 통한 판단 결과 해당 클라이언트가 정상 클라이언트로 판단되면, 해당 클라이언트의 IP 주소에 발행된 티켓을 갱신하고, 제1 패킷을 서버로 전달하는 과정이 수행된다. 그 후, 제어는 리턴 블록으로 전달된다.Step S105 is a step of checking whether the client's IP address is an overflow or other attack methods such as attack, hacking, and virus (or abnormal attack method) through the threshold and attack checker. Description of whether the IP address overflows and other attack methods is described in detail with reference to FIG. 6 above, and thus redundant description will be omitted. If it is determined in step S105 that the client is a normal client, a process of updating a ticket issued to the IP address of the client and delivering the first packet to the server is performed. Control then passes to the return block.

S106 단계는 인증 IP 처리부에 의해, 클라이언트로부터 송신된 패킷(즉, 제2 패킷)에 대해 처리를 수행하는 단계이다. 이를 위해, S106 단계는 제2 패킷이 ACK 패킷인지 확인하는 단계, 제2 패킷의 시퀀스 정보를 확인하는 단계, 제2 패킷의 시퀀스 번호와 예측 시퀀스 번호를 비교하는 단계, 제2 패킷의 ACK 번호가 정상 범위 내에 있는지 판단하는 단계를 포함한다. 확인 결과, 제2 패킷이 ACK 패킷이고, 제2 패킷의 시퀀스 번호와 ACK 번호 모두 정상인 경우, S106 단계는 클라이언트의 IP 주소에 티켓을 발행하는 단계 및 제2 패킷을 서버로 전달하는 단계를 포함한다. 물론, S106 단계는 제2 패킷이 ACK 패킷이고 이의 시퀀스 번호와 ACK 번호 모두 정상으로 판단하더라도, 해당 IP 주소의 비정상 여부 확인을 위한 추가적인 확인 과정을 더 수행할 수 있다. 이에 대한 설명은 위에서 상세히 언급하였으므로, 중복되는 설명은 생략한다. 그리고, S106 단계를 통한 판단 결과, 제2 패킷이 ACK 패킷이 아닌 경우, 제2 패킷의 시퀀스 번호 또는 ACK 번호가 비정상으로 판단될 때, 제어 세션수를 추가하고, 그 외 추가적인 과정 없이 제2 패킷을 서버로 전달하는 단계를 포함할 수 있다.In step S106, the authentication IP processing unit performs processing on a packet (i.e., a second packet) transmitted from the client. To this end, step S106 includes checking whether the second packet is an ACK packet, checking sequence information of the second packet, comparing a sequence number of the second packet with a prediction sequence number, and confirming that the ACK number of the second packet is Determining whether it is within a normal range. As a result of the check, if the second packet is an ACK packet and both the sequence number and the ACK number of the second packet are normal, step S106 includes issuing a ticket to the client's IP address and delivering the second packet to the server. . Of course, in step S106, even if it is determined that the second packet is an ACK packet and both the sequence number and the ACK number are normal, an additional verification process for checking whether the corresponding IP address is abnormal may be further performed. Since the description thereof has been mentioned in detail above, redundant descriptions will be omitted. When the second packet is not an ACK packet, when the sequence number or the ACK number of the second packet is determined to be abnormal as a result of the determination through step S106, the number of control sessions is added, and the second packet is performed without further processing. It may include the step of delivering to the server.

S107 단계는 제1 패킷을 송신한 클라이언트의 IP 주소가 티켓리스트에 존재하지 않을 때 수행되는 단계로서, 세션 허용치 판단부에 의해, 클라이언트들로부터 수신한 질의 세션수와 세션 허용치를 비교하는 단계이다. 세션 허용치는 티켓 또는 임시 티켓이 없는 모든 클라이언트들이 아닌 이들 중 일부(즉, 보안 장치가 수용할 수 있는 범위)에 대해서만 정상 여부를 판단하기 위해 설정되는 값이다. S107 단계를 통한 판단 결과 질의 세션수가 세션 허용치를 초과하면 제어는 S108 단계로 전달되어, 제1 패킷을 드롭시키는 과정이 수행된다. 그렇지 않은 경우 제어는 S109 단계로 전달된다.The step S107 is performed when the IP address of the client that has sent the first packet does not exist in the ticket list, and the session allowance determination unit compares the number of query sessions received from the clients with the session allowance. The session tolerance is a value that is set to determine whether it is normal for only some of them (i.e., the range the security device can accommodate), not all clients without tickets or temporary tickets. As a result of the determination in step S107, if the number of query sessions exceeds the session tolerance, control is passed to step S108, and a process of dropping the first packet is performed. Otherwise control passes to step S109.

S109 단계는 신규 세션 판단부에 의해, 제1 패킷을 송신한 클라이언트가 신규 세션인지 확인하는 단계이다. 앞서 설명한 것처럼, S109 단계는 데이터베이스에서 클라이언트의 IP 주소를 검색함으로써 이루어질 수 있다. 예를 들어, S109 단계는 클라이언트의 IP 주소에서 보안 장치로 패킷을 송신한 이력이 있는지 확인하고, 확인 결과 이력이 없는 경우 이 클라이언트를 신규 세션으로 판단할 수 있다. 판단 결과, 제1 패킷을 송신한 클라이언트가 신규 세션으로 확인되면 제어는 S111 단계로 전달된다. 그렇지 않은 경우 제어는 S110 단계로 전달된다.In step S109, the new session determination unit determines whether the client that has transmitted the first packet is a new session. As described above, step S109 may be accomplished by retrieving the client's IP address from the database. For example, step S109 may check whether there is a history of sending a packet from the IP address of the client to the security device, and if there is no history, the client may be determined to be a new session. As a result of the determination, if the client that transmitted the first packet is confirmed as the new session, control is passed to step S111. Otherwise control passes to step S110.

S110 단계는 비인증 IP 처리부에 의해, 비인증 IP 처리를 수행하는 단계이다. 앞서 설명한 것처럼, S110 단계는 티켓이 발행되지 않고, 신규 세션이 아닌 클라이언트가 패킷을 송신될 때 동작되고, 해당 클라이언트에 대한 비인증 IP 처리를 수행하는 단계이다. 구체적으로, S110 단계는 질의 세션수와 비인증 IP 허용값을 비교하는 단계, 질의 세션수가 비인증 IP 허용값을 초과할 때 클라이언트로부터 송신된 패킷을 드롭시키는 단계, 그렇지 않은 경우 클라이언트에 대한 인증 처리를 수행하는 단계를 포함할 수 있다. 여기서, 비인증 IP 허용값은 세션 허용치보다 낮게 설정된다. 또한, S110 단계를 통해 이루어지는 인증 방식은 다양한 방식이 채택될 수 있고, 특정 방식으로 제한하지 않는다.Step S110 is a step of performing an unauthorized IP processing by the unauthorized IP processing unit. As described above, step S110 is operated when a packet is not issued and a client other than a new session is sent a packet, and performs a non-authenticated IP process for the client. Specifically, step S110 compares the number of query sessions with the unauthenticated IP allowance, drops the packet sent from the client when the number of query sessions exceeds the unauthenticated IP allowance, and otherwise performs authentication processing on the client. It may include the step. Here, the unauthorized IP allowance value is set lower than the session allowance value. In addition, the authentication method made through the step S110 may be adopted in various ways, and is not limited to a specific method.

S111 단계는 신규 세션 처리부에 의해, 신규 세션에 대한 처리를 수행하는 단계이다. S111 단계는 제1 패킷이 ACK 패킷인지 확인하는 단계, 제2 패킷의 예측 시퀀스 번호를 산출하는 단계, 제1 패킷의 시퀀스 정보와 제2 패킷의 예측 시퀀스 번호를 저장하는 단계 및 제1 패킷을 서버로 전달하는 단계를 포함할 수 있다.In step S111, the new session processing unit performs processing on a new session. The step S111 includes checking whether the first packet is an ACK packet, calculating a predicted sequence number of the second packet, storing sequence information of the first packet and the predicted sequence number of the second packet, and storing the first packet. It may include delivering to.

그리고 위의 설명에서, S106 단계는 세션 허용치에 관계 없이 수행되는 것으로 설명되었다. 다만, 이는 예시일 뿐이고 S106 단계가 S107 단계 이후에 동작되는 방식도 생각해볼 수 있다.And in the above description, it has been described that step S106 is performed regardless of the session tolerance. However, this is only an example and a method in which step S106 is operated after step S107 may be considered.

도 11은 본 발명의 일 실시예에 따른 인증 IP 처리 단계에 대한 흐름도이다. 상술한 것처럼, 본 발명의 일 실시예에 따른 인증 IP 처리 단계는 임시 티켓이 발행된 클라이언트에서 패킷이 송신될 때 이를 제2 패킷으로 간주하고 처리를 수행할 수 있다. 또한, 아래에서는 상술한 부분과 중복되는 사항은 생략한다.11 is a flowchart of an authentication IP processing step according to an embodiment of the present invention. As described above, the authentication IP processing step according to an embodiment of the present invention may regard the second packet as a second packet and perform processing when the packet is transmitted from the client where the temporary ticket is issued. In addition, below, the thing which overlaps with the above-mentioned part is abbreviate | omitted.

S201 단계는 제2 패킷이 ACK 패킷인지 확인하는 단계이다. 구체적으로, S201 단계는 제2 패킷을 확인함으로써 제2 패킷에 ACK 플래그가 설정되어있는지 확인함으로써 이루어질 수 있다. 확인 결과 제2 패킷이 ACK 패킷을 확인된 경우 제어는 S202 단계로 전달된다. 그렇지 않은 경우 제어는 S206 단계로 전달된다.Step S201 is to check whether the second packet is an ACK packet. Specifically, step S201 may be performed by checking whether the ACK flag is set in the second packet by checking the second packet. If the second packet confirms the ACK packet as a result of the check, then control is passed to step S202. Otherwise control passes to step S206.

S202 단계는 제2 패킷의 시퀀스 정보를 확인하는 단계이다. 구체적으로, S202 단계는 제2 패킷의 시퀀스 번호와 ACK 번호를 확인하는 단계이다.In step S202, the sequence information of the second packet is checked. Specifically, step S202 is to confirm the sequence number and the ACK number of the second packet.

S203 단계는 제2 패킷의 시퀀스 번호가, S111 단계를 통해 산출한 제2 패킷의 예측 시퀀스 번호와 동일한지 판단하는 단계이다. 판단 결과, 제2 패킷의 시퀀스 번호와 예측 시퀀스 번호가 동일한 것으로 판단되면 제어는 S204 단계로 전달된다. 그렇지 않은 경우, 제어는 S206 단계로 전달된다.In step S203, the sequence number of the second packet is determined to be the same as the predicted sequence number of the second packet calculated through step S111. If it is determined that the sequence number and the prediction sequence number of the second packet are the same, then control is passed to step S204. Otherwise, control passes to a step S206.

S204 단계는 제2 패킷의 ACK 번호가 정상 범위 내에 있는지 판단하는 단계이다. 구체적으로, S204 단계는 제2 패킷의 ACK 번호가 제1 패킷의 ACK 번호보다 크고, 제1 패킷의 ACK 번호와 MTU의 합보다 작은지 판단하는 단계이다. 판단 결과, 제2 패킷의 ACK 번호가 정상 범위 내에 있는 것으로 판단되면(즉, 제2 패킷의 ACK 번호가 제1 패킷의 ACK 번호보다 크고, 제1 패킷의 ACK 번호와 MTU의 합보다 작은 것으로 판단되면) 제어는 S205 단계로 전달된다. 그렇지 않은 경우 제어는 S206 단계로 전달된다.Step S204 is a step of determining whether the ACK number of the second packet is within a normal range. Specifically, step S204 is a step of determining whether the ACK number of the second packet is greater than the ACK number of the first packet and less than the sum of the ACK number of the first packet and the MTU. If it is determined that the ACK number of the second packet is within the normal range (that is, the ACK number of the second packet is greater than the ACK number of the first packet and is determined to be smaller than the sum of the ACK number of the first packet and the MTU). Control is passed to step S205. Otherwise control passes to step S206.

S205 단계는 클라이언트의 IP 주소에 티켓을 발행하고, 티켓리스트를 갱신하는 단계이다. 또한, S205 단계는 새롭게 티켓이 발행된 클라이언트에 대해 어택, 해킹 및 바이러스(또는 비정상 공격 방법)에 해당하는지는 판단하는 단계를 더 포함할 수 있다.In step S205, a ticket is issued to the IP address of the client and the ticket list is updated. In addition, the step S205 may further include determining whether the new ticket is issued to the attack, hacking and virus (or abnormal attack method).

S206 단계는 제2 패킷을 서버로 전달하는 단계이다. 그 후, 제어는 S101 단계로 전달되어, 도 10을 참조로 설명한 과정이 재수행된다.Step S206 is a step of delivering the second packet to the server. Thereafter, control passes to step S101, and the process described with reference to FIG. 10 is performed again.

또한, 위의 설명에서 S201, S203 및 S204 단계를 통해 또한, 위의 설명에서, 제2 패킷이 ACK 패킷이 아닐 때, 예측한 시퀀스 번호와 제2 패킷의 실제 시퀀스 번호가 상이할 때, 또는 제2 패킷의 ACK 시퀀스 범위가 정상 범위를 벗어날 때 별도의 처리 없이 서버로 제2 패킷을 전달한다고 설명하였다. 다만, 이는 예시일 뿐이 제2 패킷이 ACK 패킷이 아닐 때, 예측한 시퀀스 번호와 제2 패킷의 실제 시퀀스 번호가 상이할 때, 또는 제2 패킷의 ACK 시퀀스 범위가 정상 범위를 벗어날 때 클라이언트의 인증을 위해 미리 설정된 인증 메커니즘을 수행하고, 인증 메커니즘의 결과에 기반하여 제2 패킷의 전달 여부를 결정하는 단계를 더 포함할 수 있다.Further, in the above description, through steps S201, S203, and S204, and in the above description, when the second packet is not an ACK packet, when the predicted sequence number and the actual sequence number of the second packet are different, or When the ACK sequence range of 2 packets is out of the normal range, the second packet is delivered to the server without any additional processing. However, this is merely an example, when the second packet is not an ACK packet, when the predicted sequence number is different from the actual sequence number of the second packet, or when the ACK sequence range of the second packet is out of the normal range. The method may further include performing a preset authentication mechanism for the terminal, and determining whether to deliver the second packet based on a result of the authentication mechanism.

도 12는 본 발명의 일 실시예에 따른 신규 세션을 처리하는 단계에 대한 흐름도이다. 상술한 것처럼, 신규 세션을 처리하는 단계는 티켓 또는 임시 티켓이 발행되지 않은 클라이언트로부터 제1 패킷이 송신되고, 질의 세션수가 세션 허용치를 초과하지 않으며, 이 클라이언트가 신규 세션으로 판단될 때 수행된다.12 is a flowchart of a process of processing a new session according to an embodiment of the present invention. As mentioned above, the step of processing a new session is performed when a first packet is sent from a client for which no ticket or temporary ticket has been issued, the number of query sessions does not exceed the session tolerance, and the client is determined to be a new session.

S301 단계는 이 클라이언트가 송신한 제1 패킷이 ACK 패킷인지 판단하는 단계이다. S201 단계와 유사하게, S301 단계는 제1 패킷에 ACK 플래그가 설정되어있는지 확인함으로써 이루어질 수 있다. 확인 결과 ACK 패킷으로 판단되면 제어는 S302 단계로 전달된다. 그렇지 않은 경우 제어는 S304 단계로 전달된다.In step S301, it is determined whether the first packet transmitted by the client is an ACK packet. Similar to step S201, step S301 may be performed by checking whether an ACK flag is set in the first packet. If it is determined that the result is an ACK packet, then control is passed to step S302. Otherwise control passes to step S304.

S302 단계는 제1 패킷의 시퀀스 정보를 확인하고, 이 시퀀스 정보를 근거로, 제2 패킷의 예측 시퀀스 번호를 산출하는 단계이다. 구체적으로, S302 단계는 제1 패킷의 시퀀스 번호와 이의 데이터 길이를 더함으로써, 클라이언트가 이후 시점에 송신할 제2 패킷의 시퀀스 번호를 예측하는 단계이다. In step S302, the sequence information of the first packet is checked, and the predicted sequence number of the second packet is calculated based on the sequence information. Specifically, step S302 is a step in which the client predicts the sequence number of the second packet to be transmitted later by adding the sequence number of the first packet and its data length.

S303 단계는 제1 패킷의 시퀀스 정보와, S302 단계를 통해 산출한 제2 패킷의 예측 시퀀스 번호를 데이터베이스에 저장하는 단계이다.In step S303, the sequence information of the first packet and the predicted sequence number of the second packet calculated in step S302 are stored in a database.

S304 단계는 제1 패킷을 서버로 전달하는 단계이다. 그 후, 제어는 S101 단계로 전달되어, 도 10을 참조로 설명한 과정이 재수행된다.Step S304 is a step of delivering the first packet to the server. Thereafter, control passes to step S101, and the process described with reference to FIG. 10 is performed again.

본 발명의 원리들의 교시들은 하드웨어와 소프트웨어의 조합으로서 구현될 수 있다. 또한, 소프트웨어는 프로그램 저장부 상에서 실재로 구현되는 응용 프로그램으로서 구현될 수 있다. 응용 프로그램은 임의의 적절한 아키텍쳐를 포함하는 머신에 업로드되고 머신에 의해 실행될 수 있다. 바람직하게는, 머신은 하나 이상의 중앙 처리 장치들(CPU), 컴퓨터 프로세서, 랜덤 액세스 메모리(RAM), 및 입/출력(I/O) 인터페이스들과 같은 하드웨어를 갖는 컴퓨터 플랫폼 상에 구현될 수 있다. 또한, 컴퓨터 플랫폼은 운영 체제 및 마이크로 명령 코드를 포함할 수 있다. 여기서 설명된 다양한 프로세스들 및 기능들은 마이크로 명령 코드의 일부 또는 응용 프로그램의 일부, 또는 이들의 임의의 조합일 수 있고, 이들은 CPU를 포함하는 다양한 처리 장치에 의해 실행될 수 있다. 추가로, 추가 데이터 저장부 및 프린터와 같은 다양한 다른 주변 장치들이 컴퓨터 플랫폼에 접속될 수 있다.The teachings of the present principles can be implemented as a combination of hardware and software. In addition, the software may be implemented as an application program that is actually implemented on the program storage unit. The application can be uploaded to and executed by a machine that includes any suitable architecture. Preferably, the machine may be implemented on a computer platform having hardware such as one or more central processing units (CPU), computer processor, random access memory (RAM), and input / output (I / O) interfaces. . In addition, the computer platform may include an operating system and micro instruction code. The various processes and functions described herein may be part of micro instruction code or part of an application program, or any combination thereof, and they may be executed by various processing apparatus including a CPU. In addition, various other peripheral devices such as additional data storage and printers may be connected to the computer platform.

첨부 도면들에서 도시된 구성 시스템 컴포넌트들 및 방법들의 일부가 바람직하게는 소프트웨어로 구현되므로, 시스템 컴포넌트들 또는 프로세스 기능 블록들 사이의 실제 접속들은 본 발명의 원리들이 프로그래밍되는 방식에 따라 달라질 수 있다는 점이 추가로 이해되어야 한다. 여기서의 교시들이 주어지면, 관련 기술분야의 당업자는 본 발명의 원리들의 이들 및 유사한 구현예들 또는 구성들을 참작할 수 있을 것이다.Since some of the configuration system components and methods shown in the accompanying drawings are preferably implemented in software, the actual connections between the system components or process functional blocks may vary depending on how the principles of the invention are programmed. It should be further understood. Given the teachings herein, one of ordinary skill in the pertinent art will be able to contemplate these and similar implementations or configurations of the present principles.

예시적인 실시예들이 여기서 첨부 도면들과 관련하여 기술되었지만, 본 발명의 원리들이 이들 정확한 실시예들에 제한되지 않으며, 다양한 변경들 및 수정들이 본 발명의 원리들의 범위 또는 사상으로부터 벗어나지 않고 관련 기술 분야의 당업자에 의해 수행될 수 있다는 점이 이해되어야 한다. 모든 이러한 변경들 및 수정들은 첨부된 청구항들에서 설명되는 바와 같은 본 발명의 원리들의 범위 내에 포함되는 것으로 의도된다.Although illustrative embodiments have been described herein in connection with the accompanying drawings, the principles of the invention are not limited to these precise embodiments, and various changes and modifications may be made without departing from the scope or spirit of the principles of the invention. It should be understood that it may be performed by those skilled in the art. All such changes and modifications are intended to be included within the scope of the principles of the invention as set forth in the appended claims.

이상에서와 같이 도면과 명세서에서 최적의 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.As described above, the best embodiment has been disclosed in the drawings and the specification. Although specific terms have been used herein, they are used only for the purpose of describing the present invention and are not used to limit the scope of the present invention as defined in the meaning or claims. Therefore, those skilled in the art will understand that various modifications and equivalent other embodiments are possible from this. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

100: 보안 장치 110: 블랙리스트 검사부
120: 티켓 확인부 130: 한계치 및 공격 검사부
140: 패킷 분석부 150: 세션 허용치 판단부
160: 신규 세션 처리 170: 인증 IP 처리부
180: 비인증 IP 처리부
100: security device 110: blacklist inspection unit
120: ticket confirmation unit 130: threshold and attack detection unit
140: packet analysis unit 150: session allowance determination unit
160: new session processing 170: authentication IP processing unit
180: unauthenticated IP processing unit

Claims (22)

비동기(asynchronous) 네트워크에서 서버에 연결되어 있는 보안 장치로서,
티켓이 발행된 IP 주소가 저장되는 티켓리스트를 포함하는 티켓리스트 데이터베이스;
클라이언트로부터 제1 패킷을 수신하고, 상기 제1 패킷을 송신한 클라이언트의 IP 주소가 상기 티켓리스트에 존재하는지 판단하는 티켓 확인부;
상기 클라이언트의 IP 주소가 티켓리스트에 존재하지 않을 경우, 상기 클라이언트가 신규 세션인지 판단하는 신규 세션 판단부;
상기 클라이언트가 신규 세션인 경우 상기 제1 패킷이 ACK 패킷인지 판단하고 상기 제1 패킷이 ACK 패킷으로 판단된 경우 상기 제1 패킷의 시퀀스 정보를 근거로 상기 클라이언트가 이후에 송신할 제2 패킷의 예측 시퀀스 번호를 산출하는 신규 세션 처리부 - 패킷의 시퀀스 정보는 해당 패킷의 시퀀스 번호, ACK 번호, 및 데이터 길이를 포함함 -; 및
상기 클라이언트로부터 제2 패킷을 수신한 경우, 상기 제2 패킷이 ACK 패킷인지 판단하고 상기 제2 패킷이 ACK 패킷으로 판단된 경우 상기 제2 패킷의 시퀀스 정보와 상기 제2 패킷의 예측 시퀀스 번호를 이용하여 상기 클라이언트의 정상 여부를 판단하고, 상기 클라이언트가 정상 클라이언트로 판단될 때 상기 클라이언트의 IP 주소에 티켓을 발행하는 인증 IP 처리부를 포함하는 것을 특징으로 하는 보안 장치.
A security device connected to a server in an asynchronous network.
A ticket list database including a ticket list in which an IP address where a ticket is issued is stored;
A ticket confirmation unit that receives a first packet from a client and determines whether an IP address of the client that has transmitted the first packet exists in the ticket list;
A new session determination unit determining whether the client is a new session when the IP address of the client does not exist in the ticket list;
When the client is a new session, it is determined whether the first packet is an ACK packet, and when it is determined that the first packet is an ACK packet, prediction of a second packet to be transmitted later by the client based on sequence information of the first packet. A new session processor for calculating a sequence number, wherein the sequence information of the packet includes a sequence number, an ACK number, and a data length of the packet; And
When the second packet is received from the client, it is determined whether the second packet is an ACK packet, and when it is determined that the second packet is an ACK packet, the sequence information of the second packet and the prediction sequence number of the second packet are used. And determining whether the client is normal, and authenticating the client to issue a ticket to the IP address of the client when the client is determined to be a normal client.
제1항에 있어서,
상기 네트워크에서, 상기 클라이언트로부터 송신된 패킷은 상기 보안 장치를 통해 상기 서버로 전달되며, 상기 서버에서 생성된 패킷은 상기 보안 장치를 통하지 않고 상기 클라이언트로 전달되는 것을 특징으로 하는 보안 장치.
The method of claim 1,
In the network, a packet transmitted from the client is delivered to the server through the secure device, and a packet generated at the server is delivered to the client without passing through the secure device.
제1항에 있어서,
상기 인증 IP 처리부는,
상기 제2 패킷의 시퀀스 번호와 상기 제2 패킷의 예측 시퀀스 번호를 비교하여, 상기 제2 패킷의 시퀀스 번호와 상기 제2 패킷의 예측 시퀀스 번호가 동일한지 판단하는 것을 특징으로 하는 보안 장치.
The method of claim 1,
The authentication IP processing unit,
And comparing the sequence number of the second packet with the prediction sequence number of the second packet to determine whether the sequence number of the second packet and the prediction sequence number of the second packet are the same.
제3항에 있어서,
상기 인증 IP 처리부는,
상기 제2 패킷의 시퀀스 번호와 상기 예측 시퀀스 번호가 동일한 경우, 제2 패킷의 ACK 번호가 상기 제1 패킷의 ACK 번호보다 크고, 상기 제1 패킷의 ACK 번호와 MTU(Maximum Transmission Unit)의 합보다 작은지 판단하고, 상기 제2 패킷의 ACK 번호가 상기 제1 패킷의 ACK 번호보다 크고 상기 제1 패킷의 ACK 번호와 MTU의 합보다 작을 때 상기 클라이언트를 정상 클라이언트로 판단하는 것을 특징으로 하는 보안 장치.
The method of claim 3,
The authentication IP processing unit,
If the sequence number of the second packet and the prediction sequence number are the same, the ACK number of the second packet is greater than the ACK number of the first packet and is greater than the sum of the ACK number of the first packet and the maximum transmission unit (MTU). Determining whether the client is a normal client when the ACK number of the second packet is greater than the ACK number of the first packet and less than the sum of the ACK number of the first packet and the MTU. .
제1항에 있어서,
상기 신규 세션 처리부는, 상기 제1 패킷의 시퀀스 번호와 데이터 길이를 더함으로써 상기 제2 패킷의 예측 시퀀스 번호를 산출하는 것을 특징으로 하는 보안 장치.
The method of claim 1,
And the new session processing unit calculates the predicted sequence number of the second packet by adding the sequence number of the first packet and the data length.
제1항에 있어서,
상기 보안 장치에 따른 네트워크 망의 트래픽이 통신되는 인증 IP 터널의 크기는 비인증 IP 터널의 크기보다 크고, 상기 신규 세션 처리부는 상기 비인증 IP 터널을 통해 상기 제1 패킷을 상기 서버로 전달하는 것을 특징으로 하는 보안 장치.
The method of claim 1,
The size of the authentication IP tunnel through which the traffic of the network is communicated according to the security device is larger than the size of the unauthorized IP tunnel, and the new session processor delivers the first packet to the server through the unauthorized IP tunnel. Security device.
제6항에 있어서,
상기 티켓 확인부는, 상기 클라이언트의 IP 주소에 티켓이 발행된 경우, 상기 클라이언트로부터 수신한 패킷을 상기 인증 IP 터널을 통해 상기 서버로 송신하는 것을 특징으로 하는 보안 장치.
The method of claim 6,
And when the ticket is issued to the IP address of the client, the ticket confirmation unit transmits a packet received from the client to the server through the authentication IP tunnel.
제1항에 있어서,
상기 클라이언트의 IP 주소가 티켓리스트에 존재하지 않을 경우 복수의 클라이언트들로부터 수신한 질의 세션수와 세션 허용치를 비교하는 세션 허용치 판단부를 더 포함하는 것을 특징으로 하는 보안 장치.
The method of claim 1,
And a session allowance determining unit which compares the number of query sessions received from a plurality of clients and the session allowance when the IP address of the client does not exist in the ticket list.
제8항에 있어서,
상기 세션 허용치 판단부는 상기 질의 세션수가 상기 세션 허용치를 초과할 때 상기 제1 패킷을 드롭하고, 상기 신규 세션 판단부는 상기 질의 세션수가 상기 세션 허용치 이하일 때 동작되는 것을 특징으로 하는 보안 장치.
The method of claim 8,
And the session allowance determining unit drops the first packet when the number of query sessions exceeds the session allowance, and the new session determination unit is operated when the number of query sessions is less than or equal to the session allowance.
제1항에 있어서,
상기 신규 세션 처리부는 상기 클라이언트가 신규 세션인 경우, 상기 클라이언트의 IP 주소에 임시 티켓을 발행하고 상기 티켓리스트를 갱신하며, 상기 인증 IP 처리부는 상기 임시 티켓이 발행된 클라이언트로부터 상기 제2 패킷을 수신할 때 상기 클라이언트의 정상 여부를 판단하는 것을 특징으로 하는 보안 장치.
The method of claim 1,
The new session processor issues a temporary ticket to the client's IP address and updates the ticket list when the client is a new session, and the authentication IP processor receives the second packet from the client on which the temporary ticket was issued. And determining whether the client is normal.
제1항에 있어서,
상기 티켓 확인부를 통한 확인 결과, 상기 제1 패킷을 송신한 클라이언트의 IP 주소에 티켓이 발행된 경우, 상기 IP 주소가 오버플로우(overflow)인지, 및 상기 IP 주소가 공격(attack) 중인지 중 적어도 하나를 검사하고, 상기 클라이언트의 IP 주소가 비정상으로 판단될 때 상기 제1 패킷을 드롭하고, 상기 클라이언트의 IP 주소를 블랙리스트에 추가하는 한계치 및 공격 검사부를 더 포함하는 것을 특징으로 하는 보안 장치.
The method of claim 1,
At least one of whether the IP address is overflowing and whether the IP address is under attack when a ticket is issued to the IP address of the client that has sent the first packet And a threshold and an attack checker for dropping the first packet and adding the client's IP address to the blacklist when it is determined that the client's IP address is abnormal.
비동기 네트워크에서 서버에 연결되어 있는 보안 장치의 동작 방법으로서,
티켓 확인부에 의해, 클라이언트로부터 제1 패킷을 수신하고, 상기 제1 패킷을 송신한 클라이언트의 IP 주소가 티켓이 발행된 IP 주소가 저장되는 티켓리스트에 존재하는지 판단하는 단계;
신규 세션 판단부에 의해, 상기 클라이언트의 IP 주소가 티켓리스트에 존재하지 않을 경우, 상기 클라이언트가 신규 세션인지 판단하는 단계;
신규 세션 처리부에 의해, 상기 클라이언트가 신규 세션인 경우 상기 제1 패킷이 ACK 패킷인지 판단하고 상기 제1 패킷이 ACK 패킷으로 판단된 경우 상기 제1 패킷의 시퀀스 정보를 근거로 상기 클라이언트가 이후에 송신할 제2 패킷의 예측 시퀀스 번호를 산출하는 단계 - 패킷의 시퀀스 정보는 해당 패킷의 시퀀스 번호, ACK 번호, 및 데이터 길이를 포함함 -;
인증 IP 처리부에 의해, 상기 클라이언트로부터 제2 패킷을 수신한 경우, 상기 제2 패킷이 ACK 패킷인지 판단하고 상기 제2 패킷이 ACK 패킷으로 판단된 경우 상기 제2 패킷의 시퀀스 정보와 상기 제2 패킷의 예측 시퀀스 번호를 이용하여 상기 클라이언트의 정상 여부를 판단하는 단계; 및
상기 인증 IP 처리부에 의해, 상기 클라이언트가 정상 클라이언트로 판단될 때 상기 클라이언트의 IP 주소에 티켓을 발행하는 단계를 포함하는 것을 특징으로 하는 보안 장치의 동작 방법.
A method of operating a security device connected to a server in an asynchronous network.
Receiving, by the ticket confirmation unit, a first packet from a client, and determining whether an IP address of the client that has transmitted the first packet exists in a ticket list in which an IP address for which a ticket is issued is stored;
Determining, by the new session determining unit, whether the client is a new session when the IP address of the client does not exist in the ticket list;
The new session processor determines whether the first packet is an ACK packet when the client is a new session, and when the client determines that the first packet is an ACK packet, the client subsequently transmits the packet based on the sequence information of the first packet. Calculating a predicted sequence number of the second packet to be performed, wherein the sequence information of the packet includes a sequence number of the corresponding packet, an ACK number, and a data length;
When the authentication IP processing unit receives the second packet from the client, it is determined whether the second packet is an ACK packet, and when it is determined that the second packet is an ACK packet, the sequence information of the second packet and the second packet. Determining whether the client is normal by using a predicted sequence number of; And
And issuing a ticket to the IP address of the client when the client is determined to be a normal client by the authentication IP processing unit.
제12항에 있어서,
상기 네트워크에서, 상기 클라이언트로부터 송신된 패킷은 상기 보안 장치를 통해 상기 서버로 전달되며, 상기 서버에서 생성된 패킷은 상기 보안 장치를 통하지 않고 상기 클라이언트로 전달되는 것을 특징으로 하는 보안 장치의 동작 방법.
The method of claim 12,
In the network, a packet transmitted from the client is delivered to the server through the security device, and the packet generated at the server is delivered to the client without passing through the security device.
제12항에 있어서,
상기 클라이언트의 정상 여부를 판단하는 단계는,
상기 제2 패킷의 시퀀스 번호와 상기 제2 패킷의 예측 시퀀스 번호를 비교하여, 상기 제2 패킷의 시퀀스 번호와 상기 제2 패킷의 예측 시퀀스 번호가 동일한지 판단하는 단계를 포함하는 것을 특징으로 하는 보안 장치의 동작 방법.
The method of claim 12,
Determining whether the client is normal,
And comparing the sequence number of the second packet with the prediction sequence number of the second packet to determine whether the sequence number of the second packet and the prediction sequence number of the second packet are the same. How the device works.
제14항에 있어서,
상기 클라이언트의 정상 여부를 판단하는 단계는,
상기 제2 패킷의 시퀀스 번호와 상기 예측 시퀀스 번호가 동일한 경우, 제2 패킷의 ACK 번호가 상기 제1 패킷의 ACK 번호보다 크고, 상기 제1 패킷의 ACK 번호와 MTU의 합보다 작은지 판단하는 단계; 및
상기 제2 패킷의 ACK 번호가 상기 제1 패킷의 ACK 번호보다 크고 상기 제1 패킷의 ACK 번호와 MTU의 합보다 작을 때 상기 클라이언트를 정상 클라이언트로 판단하는 단계를 더 포함하는 것을 특징으로 하는 보안 장치의 동작 방법.
The method of claim 14,
Determining whether the client is normal,
If the sequence number of the second packet and the prediction sequence number are the same, determining whether the ACK number of the second packet is greater than the ACK number of the first packet and less than the sum of the ACK number of the first packet and the MTU. ; And
And determining the client as a normal client when the ACK number of the second packet is greater than the ACK number of the first packet and smaller than the sum of the ACK number of the first packet and the MTU. Method of operation.
제12항에 있어서,
상기 제2 패킷의 예측 시퀀스 번호를 산출하는 단계는, 상기 제1 패킷의 시퀀스 번호와 데이터 길이를 더함으로써 이루어지는 것을 특징으로 하는 보안 장치의 동작 방법.
The method of claim 12,
The calculating of the predicted sequence number of the second packet is performed by adding the sequence number and the data length of the first packet.
제12항에 있어서,
상기 보안 장치에 따른 네트워크 망의 트래픽이 통신되는 인증 IP 터널의 크기는 비인증 IP 터널의 크기보다 크고,
상기 제2 패킷의 예측 시퀀스 번호를 산출하는 단계 이후, 상기 신규 세션 처리부에 의해, 상기 비인증 IP 터널을 통해 상기 제1 패킷을 상기 서버로 전달하는 단계를 더 포함하는 것을 특징으로 하는 보안 장치의 동작 방법.
The method of claim 12,
The size of the authenticated IP tunnel through which the traffic of the network is communicated according to the security device is larger than that of the non-authenticated IP tunnel,
And after calculating the predicted sequence number of the second packet, transmitting, by the new session processor, the first packet to the server through the unauthenticated IP tunnel. Way.
제17항에 있어서,
상기 티켓 확인부에 의해, 상기 클라이언트의 IP 주소에 티켓이 발행된 경우, 상기 클라이언트로부터 수신한 패킷을 상기 인증 IP 터널을 통해 상기 서버로 송신하는 단계를 더 포함하는 것을 특징으로 하는 보안 장치의 동작 방법.
The method of claim 17,
And when the ticket is issued to the client's IP address by the ticket confirmation unit, transmitting a packet received from the client to the server through the authentication IP tunnel. Way.
제12항에 있어서,
세션 허용치 판단부에 의해, 상기 클라이언트의 IP 주소가 티켓리스트에 존재하지 않을 경우 복수의 클라이언트들로부터 수신한 질의 세션수와 세션 허용치를 비교하는 단계를 더 포함하는 것을 특징으로 하는 보안 장치의 동작 방법.
The method of claim 12,
And comparing, by the session allowance determining unit, the number of query sessions received from a plurality of clients and the session allowance when the IP address of the client does not exist in the ticket list. .
제19항에 있어서,
상기 접속 시도 세션의 개수와 세션 허용치를 비교하는 단계는 상기 질의 세션수가 상기 세션 허용치를 초과할 때 상기 제1 패킷을 드롭하는 단계를 더 포함하고, 상기 클라이언트가 신규 세션인지 판단하는 단계는 상기 질의 세션수가 상기 세션 허용치 이하일 때 수행되는 것을 특징으로 하는 보안 장치의 동작 방법.
The method of claim 19,
Comparing the number of session attempted sessions with a session tolerance further includes dropping the first packet when the number of query sessions exceeds the session tolerance, and determining whether the client is a new session comprises: querying And when the number of sessions is less than or equal to the session allowance.
제12항에 있어서,
상기 클라이언트가 신규 세션인 경우, 상기 신규 세션 처리부에 의해, 상기 클라이언트의 IP 주소에 임시 티켓을 발행하고 상기 티켓리스트를 갱신하는 단계를 더 포함하고,
상기 클라이언트의 정상 여부를 판단하는 단계는 상기 임시 티켓이 발행된 클라이언트로부터 상기 제2 패킷을 수신할 때 수행되는 것을 특징으로 하는 보안 장치의 동작 방법.
The method of claim 12,
If the client is a new session, further including issuing, by the new session processing unit, a temporary ticket to the IP address of the client and updating the ticket list,
The determining of whether the client is normal is performed when the second packet is received from the client for which the temporary ticket has been issued.
제12항에 있어서,
한계치 및 공격 검사부에 의해, 상기 티켓 확인부를 통한 확인 결과, 상기 제1 패킷을 송신한 클라이언트의 IP 주소에 티켓이 발행된 경우, 상기 IP 주소가 오버플로우인지, 및 상기 IP 주소가 공격 중인지 중 적어도 하나를 검사하는 단계;
상기 클라이언트의 IP 주소가 비정상으로 판단될 때 상기 제1 패킷을 드롭하고, 상기 클라이언트의 IP 주소를 블랙리스트에 추가하는 단계를 더 포함하는 것을 특징으로 하는 보안 장치의 동작 방법.
The method of claim 12,
When the ticket is issued to the IP address of the client that has sent the first packet as a result of the check by the threshold and attack checking unit, at least one of whether the IP address is overflowing and the IP address is under attack. Examining one;
And dropping the first packet when it is determined that the IP address of the client is abnormal, and adding the IP address of the client to the blacklist.
KR1020170132759A 2017-10-12 2017-10-12 Security apparatus and method for operating the same KR102027434B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170132759A KR102027434B1 (en) 2017-10-12 2017-10-12 Security apparatus and method for operating the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170132759A KR102027434B1 (en) 2017-10-12 2017-10-12 Security apparatus and method for operating the same

Publications (2)

Publication Number Publication Date
KR20190041323A KR20190041323A (en) 2019-04-22
KR102027434B1 true KR102027434B1 (en) 2019-10-02

Family

ID=66282971

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170132759A KR102027434B1 (en) 2017-10-12 2017-10-12 Security apparatus and method for operating the same

Country Status (1)

Country Link
KR (1) KR102027434B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230007189A (en) 2021-07-05 2023-01-12 장덕영 Fance that can be securely assembled and how to assemble them

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100858271B1 (en) * 2007-11-27 2008-09-11 주식회사 나우콤 Method and system for defensing distributed denial of service
US20080222532A1 (en) * 2004-11-30 2008-09-11 Mester Michael L Controlling and Monitoring Propagation Within a Network
KR101263381B1 (en) * 2011-12-07 2013-05-21 주식회사 시큐아이 Method and apparatus for defending against denial of service attack in tcp/ip networks
JP2015158881A (en) * 2014-02-25 2015-09-03 株式会社ウェブサービス・ディベロップメント Access propriety management system and program for preventing session hijack

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080222532A1 (en) * 2004-11-30 2008-09-11 Mester Michael L Controlling and Monitoring Propagation Within a Network
KR100858271B1 (en) * 2007-11-27 2008-09-11 주식회사 나우콤 Method and system for defensing distributed denial of service
KR101263381B1 (en) * 2011-12-07 2013-05-21 주식회사 시큐아이 Method and apparatus for defending against denial of service attack in tcp/ip networks
JP2015158881A (en) * 2014-02-25 2015-09-03 株式会社ウェブサービス・ディベロップメント Access propriety management system and program for preventing session hijack

Also Published As

Publication number Publication date
KR20190041323A (en) 2019-04-22

Similar Documents

Publication Publication Date Title
US8453208B2 (en) Network authentication method, method for client to request authentication, client, and device
US20160269421A1 (en) Method for network security using statistical object identification
CN111800401B (en) Service message protection method, device, system and computer equipment
KR101042291B1 (en) System and method for detecting and blocking to distributed denial of service attack
US8978138B2 (en) TCP validation via systematic transmission regulation and regeneration
US8973143B2 (en) Method and system for defeating denial of service attacks
CN107800723A (en) CC attack guarding methods and equipment
CN105373891A (en) Smart grid data management and transmission system
KR101263381B1 (en) Method and apparatus for defending against denial of service attack in tcp/ip networks
CN102045310B (en) Industrial Internet intrusion detection as well as defense method and device
KR101463873B1 (en) Method and apparatus for preventing data loss
KR101020470B1 (en) Methods and apparatus for blocking network intrusion
KR102027434B1 (en) Security apparatus and method for operating the same
US11310265B2 (en) Detecting MAC/IP spoofing attacks on networks
CN105429975A (en) Data safety defense system and method based on cloud terminal, and cloud terminal safety system
CN104601578A (en) Recognition method and device for attack message and core device
CN101795277A (en) Flow detection method and equipment in unidirectional flow detection mode
WO2015018200A1 (en) Method and apparatus for upgrading detection engine in firewall device
EP3618396B1 (en) Protection method and system for http flood attack
KR102027438B1 (en) Apparatus and method for blocking ddos attack
KR101977612B1 (en) Apparatus and method for network management
JP6497782B2 (en) Test apparatus, test method and test program
KR102027440B1 (en) Apparatus and method for blocking ddos attack
KR101333305B1 (en) Apparatus and method for managing safe transmission control protocol connection
KR101434387B1 (en) Blocking Method for the Advanced Distributed Denial of Service Attack

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant