KR20190041324A - Apparatus and method for blocking ddos attack - Google Patents

Apparatus and method for blocking ddos attack Download PDF

Info

Publication number
KR20190041324A
KR20190041324A KR1020170132760A KR20170132760A KR20190041324A KR 20190041324 A KR20190041324 A KR 20190041324A KR 1020170132760 A KR1020170132760 A KR 1020170132760A KR 20170132760 A KR20170132760 A KR 20170132760A KR 20190041324 A KR20190041324 A KR 20190041324A
Authority
KR
South Korea
Prior art keywords
client
query packet
packet
ticket
address
Prior art date
Application number
KR1020170132760A
Other languages
Korean (ko)
Other versions
KR102027438B1 (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 KR1020170132760A priority Critical patent/KR102027438B1/en
Publication of KR20190041324A publication Critical patent/KR20190041324A/en
Application granted granted Critical
Publication of KR102027438B1 publication Critical patent/KR102027438B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • 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
    • 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

Abstract

The present invention relates to a method and apparatus for blocking distributed denial of service (DDoS) attack based on a user datagram protocol (UDP). To this end, a DDoS attack blocking apparatus in the present invention comprises the steps of: receiving a first query packet in UDP and checking if the IP address of a client that transmitted the first query packet is present in a ticket list; determining whether the client is a new session when the IP address of the client is not present in the ticket list; dropping the first query packet when the client is a new session; and determining whether the client is normal by analyzing a second query packet when the second query packet is received from the client, and issuing, cwhen the client is determined as a normal client, a ticket to the IP address of the client and sending a second query packet to the server.

Description

DDOS 공격 차단 장치 및 방법{APPARATUS AND METHOD FOR BLOCKING DDOS ATTACK}[0001] APPARATUS AND METHOD FOR BLOCKING DDOS ATTACK [0002]

본 발명은 분산서비스거부공격(이하, DDOS) 공격 차단 장치 및 방법에 관한 것이고, 보다 상세하게 UDP(User Datagram Protocol) 기반의 DDOS 공격 발생 시, 유입되는 UDP 패킷 자체만을 이용하여 클라이언트의 정상 여부를 빠르게 판단할 수 있는 DDOS 공격 차단 장치 및 방법에 관한 것이다.The present invention relates to a DDoS attack prevention device and method, and more particularly, to a DDoS attack prevention method and a DDoS attack prevention method in a DDOS attack based on UDP (User Datagram Protocol) And more particularly, to a device and method for preventing DDOS attacks.

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

여기서, DOS 공격이란, 목적 망/서버에 유해 트래픽을 유입시켜 네트워크의 서비스 기능을 일시적으로 또는 완전히 정지시키는 공격 방식을 말한다. DOS 공격의 한 형태인 DDOS 공격은, 분산 설치된 다수의 공격 프로그램이 서로 통합된 형태로 목적 망/서버에 트래픽을 집중시키는 공격으로서 일반적인 DOS 공격에 비해 탐지가 어렵고, DOS 공격에 비해 훨씬 더 강력한 파괴력을 가지고 있다. DDOS 공격은 다량의 유해 트래픽으로 네트워크 전체의 자원을 고갈시키는 한편, 네트워크에 심각한 부하를 주어 해당 네트워크를 마비시키기도 한다.Here, a DOS attack refers to an attack method in which a service function of a network is temporarily or completely stopped by introducing harmful traffic to a destination network / server. DDOS attack, a type of DOS attack, is an attack that concentrates traffic on a destination network / server in the form of a plurality of distributed attack programs integrated with each other. It is harder to detect than a general DOS attack and is much more destructive Lt; / RTI > DDOS attacks are dealing with a large amount of harmful traffic while depleting the resources of the entire network.

DDOS 공격은 네트워크 기반 공격과 애플리케이션 기반 공격으로 구분된다. 여기서, 네트워크 기반 공격 중 UDP 기반의 DDOS 공격이 가장 일반적으로 발생하는데, 이는 UDP의 경우 데이터그램의 추가를 통해 패킷 사이즈를 높일 수 있고, 이로 인해 공격 대상인 네트워크에 대한 대역폭 고갈을 손쉽게 유발할 수 있기 때문이다. 그리고, UDP는 그 특성상 IP의 변조가 용이한 문제가 있다.DDOS attacks are classified into network-based attacks and application-based attacks. Here, UDP-based DDOS attacks occur most commonly in network-based attacks because UDP can increase the packet size by adding datagrams, which can easily cause bandwidth depletion to the attacked network to be. And UDP has a problem that it is easy to modulate IP due to its characteristics.

상술한 UDP의 특징들로 인해, UDP DDOS 공격은 도 1a에 도시된 것처럼 복수의 클라이언트들에서 대규모 공격을 수행하거나, 또는 도 1b에 도시된 것처럼, 적은 개수의 클라이언트들이 복수의 무작위 IP 들로 자신의 IP를 위조하고, 위조된 무작위 IP들로 대규모 공격을 가하는 특징을 갖는다. 이때, 공격을 받은 서버(40)에서는 임의의 데이터 트래픽이 유발되는 문제가 발생하게 된다. 그리고, UDP 서비스 중 DNS(Domain Name System) 서비스는 일반 UDP 서비스와는 달리, 요청에 대한 응답 과정에서 서버(또는 시스템)의 부하가 발생한다. 즉, DNS 서버에서는 DNS 요청 패킷을 수신하게 되면, DNS 요청에 해당하는 목적지 IP 주소를 검색하고, 검색한 IP 주소를 다시 응답 패킷에 싣는 과정을 수행하므로, 다른 서비스에 비해 과부하가 발생하기 쉽고 심하게는 서버가 다운될 수도 있다.Due to the above-described features of UDP, the UDP DDOS attack may perform a large-scale attack on a plurality of clients as shown in FIG. 1A, or a small number of clients may attack a plurality of random IPs Forged IPs and falsified random IPs. At this time, the attacked server 40 causes a problem that arbitrary data traffic is caused. In addition, unlike the normal UDP service, the Domain Name System (DNS) service among the UDP service generates a load on the server (or system) in the response to the request. That is, when the DNS server receives the DNS request packet, it searches the destination IP address corresponding to the DNS request and loads the retrieved IP address into the response packet again. Therefore, the DNS server is more likely to overload The server may be down.

또한, DNS 서버로의 DDOS 공격의 경우 도 1c에 도시된 것처럼 공격자 IP에서 무작위로 복수의 도메인 이름들을 생성하고, 생성한 도메인 이름을 이용하여 공격하는 방식도 존재한다. 여기서, 공격자 IP에서 생성된 도메인 이름들은 실제로 존재하는지에 관계 없이 DNS 서버(40)로 전달될 수 있고, DNS 서버(40)에서는 공격자 IP에서 무작위로 생성된 도메인들을 확인하는 과정으로 인해 과부하가 발생하게 된다. 여기서, 무작위로 생성된 도메인이 실제 존재하는 도메인이라면 검색 중간에 응답을 할 수 있겠지만, 실제로 존재하지 않는 도메인이라면 데이터베이스에 저장된 모든 정보를 검색해야 하므로 부하가 더 높을 것이다.Also, in the case of a DDOS attack to the DNS server, as shown in FIG. 1C, there is a method in which a plurality of domain names are randomly generated in the attacker's IP and attacked using the generated domain name. Here, the domain names generated in the attacker IP can be transmitted to the DNS server 40 regardless of whether the domain names are actually existent. In the DNS server 40, an overload occurs due to the process of checking randomly generated domains in the attacker IP . Here, if a randomly generated domain is a real domain, a response may be made in the midst of search, but if it is a domain that is not actually present, the load will be higher because all information stored in the database must be searched.

이에 관련하여, UDP DNS의 트런케이티드 비트(truncated bit)를 이용한 정상 클라이언트 인지 기법이 존재한다. 구체적으로, 이 방식은 도 2a에 도시된 흐름을 통해 이루어진다.In this connection, there is a normal client recognition method using a truncated bit of UDP DNS. Specifically, this method is performed through the flow shown in FIG. 2A.

먼저, 클라이언트(10)에서 UDP DNS 요청 패킷을 송신한다. 이때, 보안 장비(2)에서는 해당 클라이언트(10)로 DNS 응답 패킷을 송신하되, DNS 응답 패킷에 트런케이티드 비트를 설정하고, 트런케이티드 비트가 설정된 DNS 응답 패킷을 클라이언트(10)로 송신한다. 여기서, 클라이언트(10)가 보안 장비(2)의 요청에 따라 TCP DNS 요청 패킷을 송신하게 되면 이를 정상 클라이언트로 판단하되, 다른 패킷(예를 들어, UDP DNS 요청 패킷 또는 다른 종류의 패킷)을 송신하면 이를 비정상 클라이언트로 판단하는 기법이다. 즉, 트런케이티드 비트를 이용한 정상 클라이언트 인지 기법은 클라이언트(10)가 보안 장비(2)의 요청에 따른 응답으로 올바른 패킷을 송신하는지 확인함으로써 이루어진다. 다만, 이 방식은 아래와 같은 문제점이 존재한다.First, the client 10 transmits a UDP DNS request packet. At this time, the security device 2 transmits a DNS response packet to the client 10, sets the committed bit in the DNS response packet, and transmits the DNS response packet in which the traced bit is set to the client 10 . Here, if the client 10 transmits a TCP DNS request packet according to a request of the security device 2, it determines that the client is a normal client, and transmits another packet (for example, a UDP DNS request packet or another kind of packet) The client is judged to be an abnormal client. That is, the normal client recognition technique using the trained bits is performed by checking whether the client 10 transmits the correct packet in response to the request of the security device 2. However, this method has the following problems.

첫째, 트런케이티드 비트를 이용한 방식의 경우, 클라이언트(10)가 원하는 도메인에 대한 IP 주소를 획득하기 위해서는 UDP 대신 TCP를 이용해야 한다. UDP와는 달리 TCP는 클라이언트와 서버간 신뢰성을 중시하므로, 통신 접속을 위한 3-웨이 핸드셰이크 과정이 이루어져야 하는 등, UDP를 이용할 때보다 속도 및 복잡도 면에서 좋지 않은 문제가 있다.First, in the case of using the trained bit, the client 10 must use TCP instead of UDP to obtain the IP address for the desired domain. Unlike UDP, TCP emphasizes reliability between a client and a server. Therefore, a 3-way handshake process for a communication connection must be performed. Therefore, there is a problem in terms of speed and complexity as compared with UDP.

둘째, 트런케이티드 비트를 이용한 방식은 서비스 대역폭이 낭비되는 문제가 있다. 즉, 트런케이티드 비트를 이용한 방식은 클라이언트(1)의 정상 여부를 확인하기 위해서는 응답 및 재질의를 위한 응답 패킷을 송신해야 하므로, 서비스 대역폭이 두 배 증폭되는 현상이 발생할 것이다. 뿐만 아니라, 상기 방식은 DNS 서버로의 요청 신호에만 적용 가능하며, 일반적인 다른 요청들에 대해서는 정상 여부를 판단하기 어려운 문제가 있다.Second, there is a problem that the service bandwidth is wasted in the method using the trained bits. That is, in order to check whether the client 1 is normal, a method using a trained bit must transmit a response packet for a response and a material, so that a service bandwidth will be amplified twice. In addition, the above method is applicable only to the request signal to the DNS server, and it is difficult to determine whether the request is normal for other general requests.

셋째, 트런케이티드 비트를 이용한 방식은, 보안 장치(2)가 리다이렉션 공격(Redirection Attack)의 공격 서버로 활용될 가능성이 높다. 예를 들어, 도 2b에 도시된 것처럼, 제1 클라이언트(11)가 제2 클라이언트(12)로 자신의 IP를 속이고 보안 장비(2)에 DNS 요청 패킷을 송신하는 상황을 가정한다. 이때, 수신한 DNS 요청 패킷의 IP가 제1 클라이언트(11)가 아닌 제2 클라이언트(12)에 대한 것이므로, 보안 장비(2)는 제2 클라이언트(12)로 트런케이티드 비트를 송신하게 된다. 이 예시는 공격자가 한 명인 상황일 때의 흐름이고 만일 공격자가 다수 존재할 때, 또는 한 명의 공격자가 다수의 IP 주소로 공격을 할 때, 보안 장비(2)는 수신한 DNS 요청 패킷의 개수만큼 트런케이티드 비트를 생성하여 이들 모두를 제2 클라이언트(12)로 송신하게 될 것이다. 이 경우, 보안 장비(2)와 제2 클라이언트(12)의 통신 및 시스템 부하가 높아지고 이로 인해 장애가 발생하게 될 수 있으며, 보안 장비(2)는 의도치 않게 공격자가 되는 상황이 발생할 수 있다.Third, in the method using the committed bit, the security device 2 is highly likely to be used as an attack server of a redirection attack. For example, assume that the first client 11 tricks its own IP into the second client 12 and sends a DNS request packet to the security device 2, as shown in FIG. 2B. At this time, since the IP of the received DNS request packet is for the second client 12, not the first client 11, the security device 2 transmits the committed bit to the second client 12. This example is a flow when there is one attacker, and when there are a large number of attackers, or when one attacker attacks multiple IP addresses, the security device (2) Generated bits and send all of them to the second client 12. In this case, communication and system load between the security device 2 and the second client 12 may be increased, resulting in a failure, and the security device 2 may unintentionally become an attacker.

따라서, UDP 기반의 DDOS 공격 발생 시 공격에 대한 차단이 가능하면서, 공격 IP와 정상 클라이언트를 보다 빠르게 분리할 수 있는 새로운 기법이 요구된다.Therefore, a new technique that can block the attack in case of DDOS attack based on UDP and can separate the attacked IP and the normal client faster is required.

한국등록특허 제0481614호Korea Patent No. 0481614

본 발명은 UDP 기반의 DDOS 공격 발생 시, 유입되는 UDP 패킷 자체만을 이용하여 클라이언트의 정상 여부를 빠르게 판단할 수 있는 DDOS 공격 차단 장치 및 방법을 제공하는데 그 목적이 있다.An object of the present invention is to provide a DDOS attack blocking device and method capable of quickly determining whether a client is normal using only an incoming UDP packet when a UDP-based DDOS attack occurs.

상기와 같은 과제를 해결하기 위한 본 발명의 DDOS 공격 차단 장치는 서버에 연결되어 서버로의 UDP 기반의 DDOS 공격을 차단하고, 상기 장치는 임시 티켓 및 티켓이 발행된 IP 주소가 저장되는 티켓리스트를 포함하는 티켓리스트 데이터베이스; UDP로 제1 질의 패킷을 수신하고, 제1 질의 패킷을 송신한 클라이언트의 IP 주소가 티켓리스트에 존재하는지 확인하는 티켓 확인부; 클라이언트의 IP 주소가 티켓리스트에 존재하지 않을 때, 클라이언트가 신규 세션인지 판단하는 신규 세션 판단부; 클라이언트가 신규 세션인 경우, 제1 질의 패킷을 드롭하는 신규 세션 처리부; 및 클라이언트로부터 제2 질의 패킷이 수신될 때, 제2 질의 패킷을 분석함으로써 클라이언트의 정상 여부를 판단하고, 클라이언트가 정상 클라이언트로 판단될 때, 클라이언트의 IP 주소에 티켓을 발행하고 제2 질의 패킷을 서버로 송신하는 재질의 요청 처리부를 포함하는 것을 특징으로 한다.In order to solve the above problems, the DDOS attack blocking device of the present invention is connected to a server to block a UDP-based DDOS attack to a server, and the device stores a temporary ticket and a ticket list in which an IP address on which a ticket is issued is stored A ticket list database including; A ticket confirmation unit for receiving the first query packet in UDP and for confirming whether the IP address of the client that transmitted the first query 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 is not present in the ticket list; A new session processing unit for dropping the first query packet if the client is a new session; And when the second query packet is received from the client, determining whether the client is normal by analyzing the second query packet, issuing a ticket to the client's IP address when the client is determined to be a normal client, And a request processing unit of a material to be transmitted to the server.

또한, 신규 세션 처리부는 클라이언트가 신규 세션인 경우, 클라이언트의 IP 주소에 임시 티켓을 발행하고, 티켓리스트를 갱신할 수 있다.In addition, when the client is a new session, the new session processing unit can issue a temporary ticket to the IP address of the client and update the ticket list.

또한, 제2 질의 패킷은 임시 티켓이 발행된 클라이언트로부터 송신된 질의 패킷일 수 있다.Also, the second query packet may be a query packet sent from the client to which the temporary ticket was issued.

또한, 신규 세션 처리부는 클라이언트가 신규 세션이고 제1 질의 패킷이 DNS 요청 패킷인 경우, 제1 질의 패킷에 포함된 제1 DNS 요청 정보를 저장한 후, 제1 질의 패킷을 드롭할 수 있다.In addition, if the client is a new session and the first query packet is a DNS request packet, the new session processing unit may store the first DNS request information included in the first query packet, and then drop the first query packet.

또한, 재질의 요청 처리부는 제2 질의 패킷이 DNS 요청 패킷인 경우, 제2 질의 패킷에 포함된 제2 DNS 요청 정보를 추출하고, 제1 DNS 요청 정보와 제2 DNS 요청 정보를 비교하며, 제1 및 제2 DNS 요청 정보가 동일할 때 상기 클라이언트를 정상 클라이언트로 판단할 수 있다.In addition, when the second query packet is a DNS request packet, the material request processing unit extracts second DNS request information included in the second query packet, compares the first DNS request information with the second DNS request information, 1 and the second DNS request information are the same, the client can be determined as a normal client.

또한, 재질의 요청 처리부는 제2 질의 패킷이 DNS 요청 패킷인 경우, 제2 질의 패킷에 포함된 제2 DNS 요청 정보를 추출하고, 제1 DNS 요청 정보와 제2 DNS 요청 정보를 비교하며, 제1 및 제2 DNS 요청 정보가 상이할 때, 제2 질의 패킷을 드롭하고, 제2 질의 패킷을 송신한 클라이언트의 IP 주소를 블랙리스트에 추가할 수 있다.In addition, when the second query packet is a DNS request packet, the material request processing unit extracts second DNS request information included in the second query packet, compares the first DNS request information with the second DNS request information, When the first and second DNS request information are different, the second query packet is dropped, and the IP address of the client that transmitted the second query packet can be added to the black list.

또한, 재질의 요청 처리부는 제1 및 제2 질의 패킷이 DNS 요청 패킷이 아닌 다른 요청 패킷일 때, 클라이언트를 정상 클라이언트로 판단할 수 있다.In addition, the material request processing unit may determine that the client is a normal client when the first and second query packets are request packets other than the DNS request packet.

또한, 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치는 클라이언트의 IP 주소가 티켓리스트에 존재하지 않을 경우 복수의 클라이언트들로부터 수신한 질의 세션수와 세션 허용치를 비교하는 세션 허용치 판단부를 더 포함할 수 있다.The DDOS attack blocking apparatus according to an embodiment of the present invention may further include a session tolerance value determiner for comparing the number of query sessions received from the plurality of clients with the session tolerance value when the IP address of the client is not present in the ticket list .

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

또한, 신규 세션 처리부는 클라이언트의 IP 주소에 대해 차단 제어 시간을 설정하고, 재질의 요청 처리부는 제2 질의 패킷이 차단 제어 시간 내에 송신될 때 제2 질의 패킷을 드롭하고, 제2 질의 패킷을 송신한 클라이언트의 IP 주소를 블랙리스트에 추가할 수 있다.The new session processing unit sets a blocking control time for the IP address of the client. The material request processing unit drops the second query packet when the second query packet is transmitted within the blocking control time, and transmits the second query packet You can blacklist one client's IP address.

또한, 티켓 확인부는 클라이언트의 IP 주소가 티켓리스트에 포함되어 있는 경우, 클라이언트로부터 수신한 제1 질의 패킷을 서버로 송신할 수 있다.In addition, if the IP address of the client is included in the ticket list, the ticket checking unit can transmit the first query packet received from the client to the server.

또한, 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치는 클라이언트의 IP 주소가 티켓리스트에 존재할 경우, 클라이언트의 IP 주소가 오버플로우(overflow)인지, 및 클라이언트의 IP 주소가 공격(attack) 중인지 중 적어도 하나를 검사하고, 클라이언트의 IP 주소가 비정상으로 판단될 때 제1 질의 패킷을 드롭하고, 클라이언트의 IP 주소를 블랙리스트에 추가하는 한계치 및 공격 검사부를 더 포함할 수 있다.Also, in the DDOS attack blocking apparatus according to an embodiment of the present invention, when the IP address of the client exists in the ticket list, whether the IP address of the client is overflowed or the IP address of the client is attacked And may further include a threshold value and an attack checking unit for dropping the first query packet when the IP address of the client is determined to be abnormal and adding the IP address of the client to the black list.

상기와 같은 과제를 해결하기 위한 본 발명의 DDOS 공격 차단 방법은 서버에 연결되는 DDOS 공격 차단 장치에 의해 수행되고, 티켓 확인부에 의해, UDP로 제1 질의 패킷을 수신하고, 제1 질의 패킷을 송신한 클라이언트의 IP 주소가, 임시 티켓 및 티켓이 발행된 IP 주소가 저장되는 티켓리스트에 존재하는지 확인하는 단계; 신규 세션 판단부에 의해, 클라이언트의 IP 주소가 상기 티켓리스트에 존재하지 않을 때, 클라이언트가 신규 세션인지 판단하는 단계; 신규 세션 처리부에 의해, 클라이언트가 신규 세션인 경우, 제1 질의 패킷을 드롭하는 단계; 재질의 요청 처리부에 의해, 클라이언트로부터 제2 질의 패킷이 수신될 때, 제2 질의 패킷을 분석함으로써 클라이언트의 정상 여부를 판단하는 단계; 및 재질의 요청 처리부에 의해, 클라이언트가 정상 클라이언트로 판단될 때, 클라이언트의 IP 주소에 티켓을 발행하고 제2 질의 패킷을 서버로 송신하는 단계를 포함하는 것을 특징으로 한다.In order to solve the above problems, a DDOS attack blocking method of the present invention is performed by a DDOS attack blocking apparatus connected to a server, and a ticket inquiry unit receives a first query packet through UDP, Confirming whether the IP address of the transmitted client is present in a ticket list in which the temporary ticket and the IP address to which the ticket is issued are stored; Determining, by the new session determination unit, whether the client is a new session when the IP address of the client is not present in the ticket list; Dropping a first query packet by the new session processing unit if the client is a new session; Determining whether the client is normal by analyzing a second query packet when a second query packet is received from the client by the material request processing unit; And issuing a ticket to the IP address of the client and transmitting the second query packet to the server when the client is determined to be a normal client by the material request processing unit.

또한, 본 발명의 일 실시예에 따른 DDOS 공격 차단 방법은 상기 제1 질의 패킷을 드롭하는 단계 이전, 신규 세션 처리부에 의해, 클라이언트가 신규 세션인 경우, 클라이언트의 IP 주소에 임시 티켓을 발행하고, 티켓리스트를 갱신하는 단계를 더 포함할 수 있다.In the DDOS attack blocking method according to an embodiment of the present invention, when the client is a new session, the new session processor issues a temporary ticket to the IP address of the client before dropping the first query packet, And updating the ticket list.

또한, 제1 질의 패킷을 드롭하는 단계는, 클라이언트가 신규 세션이고 제1 질의 패킷이 DNS 요청 패킷인 경우, 제1 질의 패킷에 포함된 제1 DNS 요청 정보를 저장한 후 이루어질 수 있다.The step of dropping the first query packet may be performed after storing the first DNS request information included in the first query packet when the client is a new session and the first query packet is a DNS request packet.

또한, 클라이언트의 정상 여부를 판단하는 단계는, 제2 질의 패킷이 DNS 요청 패킷인 경우, 제2 질의 패킷에 포함된 제2 DNS 요청 정보를 추출하는 단계; 제1 DNS 요청 정보와 제2 DNS 요청 정보를 비교하는 단계; 및 제1 및 제2 DNS 요청 정보가 동일할 때 클라이언트를 정상 클라이언트로 판단하는 단계를 포함할 수 있다.The determining whether the client is normal may include extracting second DNS request information included in a second query packet when the second query packet is a DNS request packet; Comparing the first DNS request information with the second DNS request information; And determining that the client is a normal client when the first and second DNS request information are the same.

또한, 클라이언트의 정상 여부를 판단하는 단계는 제2 질의 패킷이 DNS 요청 패킷인 경우, 제2 질의 패킷에 포함된 제2 DNS 요청 정보를 추출하는 단계; 제1 DNS 요청 정보와 제2 DNS 요청 정보를 비교하는 단계; 및 제1 DNS 요청 정보 및 제2 DNS 요청 정보가 상이할 때, 클라이언트를 공격자 클라이언트로 판단하는 단계를 포함하고, 클라이언트가 공격자 클라이언트로 판단될 때, 제2 질의 패킷을 드롭하고, 제2 질의 패킷을 송신한 클라이언트의 IP 주소를 블랙리스트에 추가하는 단계를 더 포함할 수 있다.The step of determining whether the client is normal may include extracting second DNS request information included in a second query packet when the second query packet is a DNS request packet; Comparing the first DNS request information with the second DNS request information; And determining that the client is an attacker client when the first DNS request information and the second DNS request information are different, dropping a second query packet when the client is determined to be an attacker client, To the black list, the IP address of the client that transmitted the IP address of the client.

또한, 본 발명의 일 실시예에 따른 DDOS 공격 차단 방법은 클라이언트의 정상 여부를 판단하는 단계는 제1 및 제2 질의 패킷이 DNS 요청 패킷이 아닌 다른 요청 패킷일 때, 클라이언트를 정상 클라이언트로 판단하는 단계를 더 포함할 수 있다.In the DDOS attack blocking method according to an embodiment of the present invention, the step of determining whether the client is normal may include determining that the client is a normal client when the first and second query packets are request packets other than the DNS request packet Step < / RTI >

또한, 본 발명의 일 실시예에 따른 DDOS 공격 차단 방법은 허용치 판단부에 의해, 클라이언트의 IP 주소가 티켓리스트에 존재하지 않을 경우 복수의 클라이언트들로부터 수신한 질의 세션수와 세션 허용치를 비교하는 단계를 더 포함할 수 있다.A DDOS attack blocking method according to an embodiment of the present invention includes comparing the number of query sessions received from a plurality of clients with a session tolerance value when the IP address of the client is not present in the ticket list, As shown in FIG.

또한, 본 발명의 일 실시예에 따른 DDOS 공격 차단 방법은 세션 허용치 판단부에 의해, 질의 세션수가 세션 허용치를 초과할 때 제1 질의 패킷을 드롭하는 단계를 더 포함하고, 클라이언트가 신규 세션인지 판단하는 단계는 질의 세션수가 세션 허용치 이하일 때 이루어질 수 있다.The DDOS attack prevention method according to an embodiment of the present invention further includes a step of dropping a first query packet when the number of query sessions exceeds a session tolerance value by a session tolerance value determination unit, Can be done when the number of query sessions is below the session tolerance.

또한, 본 발명의 일 실시예에 따른 DDOS 공격 차단 방법은 신규 세션 처리부에 의해, 클라이언트의 IP 주소에 대해 차단 제어 시간을 설정하는 단계를 더 포함하고, 클라이언트의 정상 여부를 판단하는 단계는, 제2 질의 패킷이 차단 제어 시간 내에 송신될 때 제2 질의 패킷을 드롭하고, 제2 질의 패킷을 송신한 클라이언트의 IP 주소를 블랙리스트에 추가하는 단계를 포함할 수 있다.The DDOS attack blocking method according to an embodiment of the present invention may further comprise setting a blocking control time for the IP address of the client by the new session processing unit, Dropping the second query packet when the second query packet is transmitted within the block control time, and adding the IP address of the client that transmitted the second query packet to the blacklist.

또한, 본 발명의 일 실시예에 따른 DDOS 공격 차단 방법은 티켓 확인부에 의해, 클라이언트의 IP 주소가 티켓리스트에 포함되어 있는 경우, 클라이언트로부터 수신한 제1 질의 패킷을 서버로 송신하는 단계를 더 포함할 수 있다.In the DDOS attack blocking method according to an embodiment of the present invention, when the IP address of the client is included in the ticket list by the ticket checking unit, the step of transmitting the first query packet received from the client to the server .

본 발명의 DDOS 공격 차단 장치 및 방법에 따르면, UDP 기반의 DDOS 공격 발생 시, 공격자와 정상 클라이언트 간 행동 패턴을 분류하여 인증하는 방식으로 다양한 공격 방식에 대한 방어가 가능하고, 정상 클라이언트를 인지할 때 어떠한 패킷 변조도 요구하지 않는 장점이 있다.According to the DDOS attack blocking device and method of the present invention, when a DDOS attack based on UDP occurs, a behavior pattern between an attacker and a normal client is classified and authenticated. Thus, various attack methods can be protected. There is an advantage that no packet modulation is required.

또한, 본 발명의 DDOS 공격 차단 장치 및 방법에 따르면, 질의 패킷을 받을 때 응답 패킷을 생성하는 과정이 생략되어 장치의 부하를 줄일 수 있고, 더 나아가 장치가 리다이렉션 공격의 공격 서버로 활용될 가능성도 배제할 수 있다.In addition, according to the DDOS attack blocking device and method of the present invention, the process of generating a response packet when a query packet is received is omitted, thereby reducing the load on the device. Furthermore, the possibility that the device can be used as an attack server of a redirect attack Can be excluded.

도 1a, 도 1b 및 도 1c는 UDP DDOS 공격 방식을 설명하기 위한 개념도이다.
도 2a는 트런케이티드 비트를 이용한 정상 클라이언트 인지 방법의 흐름도이다.
도 2b는 리다이렉션 공격을 설명하기 위한 개념도이다.
도 3은 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치에 대한 블록도이다.
도 4는 본 발명의 일 실시예에 따른 세션 허용치를 설명하기 위한 그래프이다.
도 5a 내지 도 5c는 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치의 동작을 설명하기 위한 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 DDOS 공격 차단 방법에 대한 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 재질의 요청을 처리하는 단계에 대한 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 신규 세션을 처리하는 단계에 대한 흐름도이다.
1A, 1B, and 1C are conceptual diagrams illustrating a UDP DDOS attack method.
2A is a flowchart of a normal client recognition method using a traced bit.
2B is a conceptual diagram for explaining a redirection attack.
3 is a block diagram of a DDOS attack blocking apparatus according to an embodiment of the present invention.
4 is a graph illustrating a session tolerance according to an embodiment of the present invention.
5A to 5C are flowcharts illustrating an operation of a DDOS attack blocking apparatus according to an embodiment of the present invention.
6 is a flowchart illustrating a DDOS attack blocking method according to an exemplary embodiment of the present invention.
7 is a flow diagram of processing a request for a material in accordance with an embodiment of the present invention.
8 is a flow diagram of a process for processing a new session in accordance with an embodiment of the present invention.

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

이하, 본 발명의 실시예에 따른 DDOS 공격 차단 장치(100)에 대하여 설명하도록 한다. Hereinafter, a DDOS attack blocking apparatus 100 according to an embodiment of the present invention will be described.

본 발명의 일 실시예에 따른 DDOS 공격 차단 장치(100)는 UDP 기반의 DDOS 공격 발생 시, UDP 기반의 DDOS 공격을 효과적으로 차단하는 것을 그 목적으로 한다. 이를 위해, 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치(100)는 UDP 기반의 DDOS 공격의 특성을 고려한다. 앞서 언급한 것처럼, UDP 기반의 DDOS 공격은 주로, 1) 데이터그램의 추가를 통해 크기가 큰 패킷을 송신하는 방식, 및 2) IP 변조가 용이한 점을 이용하여, 어떤 요청을 한 IP가 재요청을 하는 것이 아닌 다른 IP로 변조하여 다시 요청을 하는 방식, 그리고 3) 공격자 IP에서 무작위로 복수의 도메인 이름들을 생성하고, 무작위로 생성한 복수의 도메인 이름들에 대해 반복적으로 IP 주소를 요청하는 방식이 있다. 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치(100)는 상술한 공격 유형들에 대비하기 위해 아래와 같은 특징을 갖는다.The DDOS attack blocking apparatus 100 according to an embodiment of the present invention is intended to effectively block a UDP-based DDOS attack when a UDP-based DDOS attack occurs. To this end, the DDOS attack blocking apparatus 100 according to an embodiment of the present invention considers the characteristics of a UDP-based DDOS attack. As mentioned above, the UDP-based DDOS attack is mainly used for the following reasons: 1) a method of transmitting a large-sized packet through addition of a datagram, and 2) The IP address is randomly generated from the attacker IP, and the IP address is repeatedly requested for the plurality of randomly generated domain names. . The DDOS attack blocking apparatus 100 according to an embodiment of the present invention has the following features in order to prepare for the above attack types.

첫째, 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치(100)는 신규 세션(즉, 어떤 서버에 처음으로 요청 패킷을 한 클라이언트)에서 UDP로 질의 패킷을 송신할 때, 이를 드롭시킨다. 앞서 설명한 것처럼, 공격자는 하나의 IP로 질의 패킷(또는 요청 패킷)을 송신한 이후, 동일한 IP가 아닌 다른 IP로 변조하여 다시 질의 패킷(또는 요청 패킷)을 송신하는 패턴을 가질 수 있다. 또한, 공격자는 상이한 질의 패킷을 반복적으로 송신하는 패턴도 존재한다. 즉, 하나의 IP에서 제1 질의 패킷을 보내고 나서 특정 시간이 흐른 뒤, 제1 질의 패킷과 동일한 패킷을 보내지 않는다면 이는 공격자 IP일 확률이 높다. 이에 따라, 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치(100)는 신규 세션에서 질의 패킷(이하, 제1 질의 패킷)을 받으면 이 패킷을 드롭시키고, 동일한 세션에서 패킷(즉, 제2 질의 패킷)을 받으면 이를 정상 클라이언트로 판단한다.First, the DDOS attack blocking apparatus 100 according to an embodiment of the present invention drops a query packet when transmitting a query packet to a UDP from a new session (i.e., a client that first made a request packet to a server). As described above, an attacker may have a pattern of sending a query packet (or a request packet) to one IP, then modulating it to another IP other than the same IP, and transmitting the query packet (or a request packet) again. There is also a pattern in which an attacker repeatedly transmits different query packets. That is, if the same packet as the first query packet is not sent after a certain time since the first query packet is transmitted from one IP, it is highly probable that the attacker is an IP. Accordingly, when the DDOS attack blocking apparatus 100 according to the embodiment of the present invention receives a query packet (hereinafter referred to as a first query packet) in a new session, the DDOS attack blocking apparatus 100 drops the packet, Packet), it is judged to be a normal client.

둘째, 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치(100)는 질의 패킷이 DNS 요청 패킷인지를 판단하고, 질의 패킷이 DNS 요청 패킷인 경우 제1 및 제2 질의 패킷에 포함된 요청 정보들을 비교하며, 이들 요청 정보들이 상이할 때 질의 패킷을 보낸 IP를 공격자 IP로 판단한다. 이는 위에서 설명한 공격자 IP에서 무작위로 복수의 도메인 이름을 생성하고, 이들을 이용하여 공격하는 상황에 대비하기 위함이다. 판단 결과, 제1 및 제2 질의 패킷에 포함된 요청 정보가 상이하면 동일한 세션에서 재질의 패킷(즉, 제2 질의 패킷)을 받더라도 이를 정상 클라이언트가 아닌 공격자 클라이언트로 판단하고 이를 드롭시킨다.Second, the DDOS attack blocking apparatus 100 according to an exemplary embodiment of the present invention determines whether a query packet is a DNS request packet, and if the query packet is a DNS request packet, the DDOS attack blocking apparatus 100 determines request information included in the first and second query packets When the request information is different, the IP address of the query packet is determined as the attacker IP. This is to prepare multiple domain names randomly from the attacker IP described above, and to prepare for the attack using them. If it is determined that the request information included in the first and second query packets is different, it is determined that the attacker client is not the normal client but drops the packet (i.e., the second query packet) in the same session.

셋째, 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치(100)는 하나의 IP에서 연속적으로 질의 패킷을 수신하면(즉, 특정 기간 내에 두 번째 패킷이 수신되면), 해당 IP를 공격자 IP로 판단한다. 일반적으로 하나의 패킷만으로는 전달 가능한 크기가 제한되어 있다. 이에 따라, 공격자 IP에서 하나의 패킷에 실을 수 없는 비교적 큰 데이터를 보내고자 하면 해당 데이터를 복수의 서브 데이터로 분할하고 하나의 패킷에는 하나의 서브 데이터를 실어 연속적으로 송신하게 될 것이다. 다만, 질의 또는 요청에 요구되는 크기는 통상적으로 작으므로, 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치는 수신한 패킷 간의 시간 차이가 작을 때 이를 공격자 IP로 판단하고 수신한 패킷을 드롭시킨다.Third, the DDOS attack blocking apparatus 100 according to an embodiment of the present invention judges that the IP is an attacker IP when receiving a query packet continuously in one IP (i.e., when a second packet is received within a specific period) do. In general, only one packet limits the size that can be delivered. Accordingly, if it is desired to send relatively large data that can not be loaded in one packet in the attacker's IP, the corresponding data will be divided into a plurality of subdata, and one subdata will be continuously transmitted in one packet. However, since the size required for a query or a request is usually small, the DDOS attack blocking apparatus according to an embodiment of the present invention determines that the time difference between the received packets is small as an attacker IP and drops the received packet.

넷째, 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치(100)는 DDOS 공격 발생 시, 신규 세션 전체에 대해 정상 여부를 판단하는 것이 아닌 일부 세션에 대해서만 정상 여부를 판단하고, 그 외의 패킷들은 모두 드롭한다. 이는 정상 여부 판단 과정에서 발생하는 부하로 인해 DDOS 공격 차단 장치(100)가 제 기능을 하지 못하는 상황을 방지하기 위함이다. 이에 따라, DDOS 공격이 발생하더라도 정상으로 인증된 클라이언트들은 문제 없이 서버로 자신의 패킷을 전달할 수 있고, 공격자 IP들에서 송신된 대부분의 질의 패킷들은 드롭되어 서버로의 공격을 차단할 수 있다. 뿐만 아니라, 신규 세션들 중 일부에 대해서는 정상 여부 판단을 수행함으로써 공격자가 아닌 정상 클라이언트의 질의 패킷이 서버로 전달될 수 있게 유도할 수 있다.Fourth, when a DDOS attack occurs, the DDOS attack blocking apparatus 100 according to an embodiment of the present invention judges whether or not the session is normal only for a whole new session, Drop it. This is to prevent a situation in which the DDOS attack blocking device 100 fails to function due to a load occurring in the normal determination process. Therefore, even if a DDOS attack occurs, normally authenticated clients can forward their packets to the server without any problem, and most query packets transmitted from attacker IPs are dropped, thereby blocking an attack to the server. In addition, it is possible to induce a query packet of a normal client, which is not an attacker, to be transmitted to the server by performing a normal determination as to some of new sessions.

상술한 특징들을 통해 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치(100)는 UDP 기반의 공격이 발생하더라도, UDP 기반의 공격 특성을 고려하여 이를 효율적으로 차단해낼 수 있고, UDP 패킷 자체만으로 빠르게 정상 IP 및 공격자 IP를 구분할 수 있는 장점을 갖는다.The DDOS attack blocking apparatus 100 according to an embodiment of the present invention can effectively block the UDP-based attack characteristics in consideration of the UDP-based attack even if a UDP-based attack occurs, It has the advantage of distinguishing normal IP and attacker IP.

도 3은 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치(100)에 대한 블록도이다. 상술한 기능들을 수행하기 위해 본 발명의 일 실시예에 따른 UDP DDOS 공격 차단 장치(100)는 블랙리스트 검사부(110), 티켓 확인부(120), 한계치 및 공격 검사부(130), 세션 허용치 판단부(140), 신규 세션 판단부(150), 신규 세션 처리부(160), 재질의 요청 처리부(170) 및 비인증 IP 처리부(180)를 포함하여 구성될 수 있다. 여기서, 상기 구성들은 본 발명의 이해를 돕기 위해 기능별로 각 구성을 구분한 것이고, 실제로는 CPU, MPU, GPU와 같은 하나의 처리 장치를 통해 구현되는 것도 가능하다.3 is a block diagram of a DDOS attack blocking apparatus 100 according to an embodiment of the present invention. The UDP DDOS attack blocking apparatus 100 according to an exemplary embodiment of the present invention includes a black list checking unit 110, a ticket checking unit 120, a limit value and attack checking unit 130, A new session determination unit 150, a new session processing unit 160, a material request processing unit 170, and an unauthenticated IP processing unit 180. In order to facilitate understanding of the present invention, each of the above-described configurations is divided into functional units. Actually, the present invention can be implemented through a single processing unit such as a CPU, MPU, or GPU.

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

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

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

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

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

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

이에 따라, 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치(100)는 세션 허용치를 두고 티켓 또는 임시 티켓이 없는 클라이언트들 중 일부 클라이언트에 대해서만 정상 여부를 판단한다. 즉, 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치(100)는 도 4에 도시된 것처럼 세션 허용치(s_a) 이내에 속한 클라이언트들에 대해서는 아래에서 설명되는 신규 세션 여부의 판단 및 비인증 IP 처리를 수행하되, 이를 벗어난(즉, 영역(da)) 클라이언트들이 송신한 질의 패킷을 드롭시킴으로써 DDOS 공격 차단 장치(100)에 대한 안정성을 확보한다. 세션 허용치는 예를 들어, 100 CPS(Connection Per Second)일 수 있고, 이 수치는 상황에 따라 다양한 값으로 변경 가능하다.Accordingly, the DDOS attack blocking apparatus 100 according to an exemplary embodiment of the present invention determines whether only some of the clients that do not have a ticket or temporary ticket with a session tolerance are normal. That is, as shown in FIG. 4, the DDOS attack blocking apparatus 100 according to an exemplary embodiment of the present invention performs a determination of a new session and a nonauthentication IP process for clients belonging to a session within the session tolerance value s_a , And the DDOS attack blocking device 100 is secured by dropping the query packet transmitted from clients (da) in the area (da). The session tolerance may be, for example, 100 CPS (Connection Per Second), which 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 determiner 150 operates when the IP address of the client 10 is not present in the ticket list and when the number of query sessions is less than or equal to the session tolerance value and determines whether the client is a new session. For example, the new session determination unit 150 can check whether a client that has transmitted a query packet has a past request by searching a database (for example, DB1, DB2, or another database). The new session determination unit 150 may determine that the client 10 is a new session if the IP address of the corresponding client 10 does not exist in the database and conversely if the IP address exists, . Of course, a variety of methods other than the above-described method may be applied to the method of determining whether a new session is established.

신규 세션 처리부(160)는 클라이언트(10)가 신규 세션인 경우, 클라이언트(10)의 IP 주소에 임시 티켓을 발행하고 티켓리스트를 갱신한다. 즉, 신규 세션 처리부(160)는 새롭게 질의 패킷(이하, 제1 질의 패킷)을 송신한 클라이언트(10)의 IP 주소에 임시 티켓을 발행하고, 티켓리스트 데이터베이스(DB2)에 해당 클라이언트의 IP 주소와, 임시 티켓이 발행되었음을 알리는 정보를 추가함으로써 티켓리스트를 갱신한다.When the client 10 is a new session, the new session processing unit 160 issues a temporary ticket to the IP address of the client 10 and updates the ticket list. That is, the new session processing unit 160 issues a temporary ticket to the IP address of the client 10 that has newly transmitted the query packet (hereafter referred to as the first query packet), and stores the IP address of the client in the ticket list database DB2 , And updates the ticket list by adding information indicating that a temporary ticket has been issued.

그리고, 위에서 설명한 것처럼 UDP 기반의 다양한 서비스들 중 DNS 서비스는 요청에 대한 응답 과정에서 DNS 요청에 해당하는 목적지 IP 주소를 검색하는 과정이 존재하고, 이로 인해 다른 서비스들에 비해 그 부하가 높고 적은 공격으로도 서버에 과부하가 발생하기 쉽다. 또한, DNS 서버로의 DDOS 공격은 공격자가 복수의 무작위 IP로 공격을 하거나, 또는 공격자가 무작위로 복수의 도메인들을 생성하고 무작위로 생성한 도메인들에 대한 질의 패킷을 보내는 패턴을 갖는다. As described above, among the various UDP-based services, the DNS service has a process of searching for a destination IP address corresponding to a DNS request in response to a request, The server is likely to be overloaded. DDOS attacks on DNS servers also have a pattern in which an attacker attacks multiple random IPs, or an attacker randomly creates multiple domains and sends query packets to randomly generated domains.

이러한 특성을 고려하여, 신규 세션 처리부(160)는 클라이언트(10)로부터 제1 질의 패킷을 수신하면, 제1 질의 패킷이 DNS 요청인지를 판단하는 과정을 수행한다. 판단 결과 제1 질의 패킷이 DNS 요청인 경우 신규 세션 처리부(160)는 제1 질의 패킷을 드롭하기 전, 제1 질의 패킷에 포함된 DNS 요청 정보(이하, 제1 DNS 요청 정보)를 임시 데이터베이스(DB3)에 저장하는 과정을 거친다. 그 후, 신규 세션 처리부(160)는 클라이언트(10)의 IP 주소에 임시 티켓을 발행하고 티켓리스트를 갱신하는 과정을 수행한다. 물론, 제1 질의 패킷이 DNS 요청이 아닌 다른 요청인 경우, 제1 질의 패킷은 별도의 저장 과정 없이 바로 드롭되고, 상술한 티켓리스트의 갱신 과정이 이루어진다.In consideration of this characteristic, the new session processing unit 160, when receiving the first query packet from the client 10, determines whether the first query packet is a DNS request. If the first query packet is a DNS request, the new session processing unit 160 transmits DNS request information (hereinafter referred to as first DNS request information) included in the first query packet to the temporary database DB3). Thereafter, the new session processing unit 160 issues a temporary ticket to the IP address of the client 10 and updates the ticket list. Of course, when the first query packet is a request other than the DNS request, the first query packet is immediately dropped without a separate storage process, and the above-described ticket list update process is performed.

또한, 신규 세션 처리부(160)는 임시 티켓이 발행된 클라이언트에 대해 차단 제어 시간을 설정할 수 있다. 여기서, 차단 제어 시간은 클라이언트에서 송신한 질의 패킷들의 시간 간격을 파악하고, 이를 근거로 해당 클라이언트가 공격자 IP인지 확인하는데 사용될 수 있다. 위에서 설명한 것처럼, 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치(100)는 복수의 클라이언트들로부터 송신된 질의 패킷을 수신하면, 제1 질의 패킷에 대해서는 무조건 드롭하는 방식을 채택한다. 만일 정상 클라이언트라면 자신이 원하는 정보를 얻기 위해 동일한 내용을 질의하기 위한 질의 패킷을 재전송할 것이다. 다만, 해당 클라이언트에서 하나의 질의 패킷을 보내고, 다시 동일한 질의 패킷을 보내기까지는 일정 시간이 소요되므로, 차단 제어 시간을 활용하면 클라이언트가 정상인지의 판단을 할 수 있다.In addition, the new session processing unit 160 may set a blocking control time for the client to which the temporary ticket is issued. Here, the blocking control time can be used to identify the time interval of the query packets transmitted from the client, and to determine whether the client is the attacker IP based on the time interval. As described above, the DDOS attack blocking apparatus 100 according to an embodiment of the present invention adopts a method of dropping the first query packet unconditionally upon receiving a query packet transmitted from a plurality of clients. If it is a normal client, it will retransmit the query packet to query the same contents to get the desired information. However, since it takes a certain time to send one query packet from the corresponding client and send the same query packet again, it is possible to determine whether the client is normal by using the blocking control time.

반대로, 공격자 IP에서 크기가 큰 데이터를 송신한다고 가정하면, 이 데이터는 하나의 패킷에는 담기지 못하고 복수의 패킷들로 분할될 것이다. 예를 들어, 공격자 IP에서 보내려는 데이터의 크기가 10000 바이트인 반면, 하나의 패킷에는 1024 바이트만 실을 수 있는 경우, 공격자 IP 에서는 데이터를 10개의 서브 데이터로 분할하고, 하나의 패킷에 하나의 서브 데이터를 실어 연속적으로 10개의 패킷을 송신할 것이다. 즉, DDOS 공격 차단 장치(100)의 입장에서 보면, 하나의 패킷을 수신한 후 얼마 지나지 않아 동일한 IP에서 송신된 다른 패킷을 수신하게 될 것이다. DDOS 공격 차단 장치(100)는 이러한 특성을 고려하여 제1 질의 패킷의 드롭 이후, 얼마 지나지 않아(즉, 차단 제어 시간 이내에), 제2 질의 패킷을 수신한다면 DDOS 공격 차단 장치(100)는 해당 IP를 공격자 IP로 판단할 수 있을 것이다. 차단 제어 시간은 이러한 상황을 판단하기 위해 설정된다.Conversely, assuming that the attacker IP transmits large data, this data will not be contained in one packet and will be divided into a plurality of packets. For example, if the data to be sent from the attacker's IP is 10000 bytes, and only one packet can contain 1024 bytes, the attacker IP divides the data into 10 subdata, and one packet It will transmit 10 packets continuously with sub data. That is, from the viewpoint of the DDOS attack blocking apparatus 100, one packet will be received and another packet transmitted in the same IP shortly after receiving the packet. If the DDOS attack blocking apparatus 100 receives the second query packet within a short time after the drop of the first query packet in consideration of this characteristic (i.e., within the blocking control time), the DDOS attack blocking apparatus 100 transmits the corresponding IP As an attacker's IP. The cutoff control time is set to judge this situation.

이제, 임시 티켓이 발행된 클라이언트(10)에서 제2 질의 패킷을 송신한 상황을 가정한다. 블랙리스트 검사부(110)는 클라이언트(10)에 대한 블랙리스트 여부를 판단하고 제어를 티켓 확인부(120)로 전달한다. 티켓 확인부(120)에서는 클라이언트(10)의 IP 주소가 티켓리스트에 존재하는지 확인하는 과정을 수행한다. 본 예시의 경우, 신규 세션 처리부(160)를 통해 해당 클라이언트(10)에 임시 티켓이 발행된 상황을 가정하므로, 티켓 확인부(120)는 티켓리스트의 검색을 통해 클라이언트(10)가 임시 티켓이 발행된 클라이언트인 것으로 판단할 것이다. 그 후, 임시 티켓이 발행된 클라이언트(10)에서 송신된 질의 패킷을 제2 질의 패킷인 것으로 간주하는 과정이 이루어진다.Now, it is assumed that the client 10 having issued the temporary ticket has transmitted the second query packet. The blacklist checking unit 110 determines whether the client 10 is blacklisted or not, and transfers the control to the ticket checking unit 120. The ticket checking unit 120 checks whether the IP address of the client 10 exists in the ticket list. In the case of this example, since it is assumed that a temporary ticket is issued to the client 10 through the new session processing unit 160, the ticket check unit 120 searches the ticket list for the temporary ticket It is determined that the client is an issued client. Thereafter, a process is performed in which the query packet transmitted from the client 10 to which the temporary ticket is issued is regarded as the second query packet.

여기서, 제2 질의 패킷은 DDOS 공격 차단 장치(100)에서 임시 티켓이 발행된 클라이언트(10)에서 송신된 질의 패킷을 나타낸다. 즉, 클라이언트(10)에서 제1 질의 패킷을 DDOS 공격 차단 장치에 보냈으나, 클라이언트(10)에 임시 티켓이 발행되지 않은 상황(예를 들어, 1) 질의 세션수가 세션 허용치를 초과하였거나, 2) DDOS 공격 차단 장치(100)에서의 판단 결과 제1 질의 패킷이 정상적으로 판단되지 않았을 때)의 경우, 해당 클라이언트(10)에서 동일한 패킷을 재송신하는 것이더라도, 이는 임시 티켓이 발행된 클라이언트에서 송신된 패킷은 아니므로, 제1 질의 패킷으로 간주된다. 이렇게 클라이언트(10)에서 송신한 패킷이 제2 질의 패킷으로 간주되면(즉, 임시 티켓이 발행된 클라이언트에서 질의 패킷이 송신되면), 티켓 확인부(120)는 제어를 재질의 요청 처리부(170)로 전달한다.Here, the second query packet indicates a query packet transmitted from the client 10 to which the temporary ticket has been issued in the DDOS attack protection apparatus 100. (For example, 1) the number of query sessions exceeds the session tolerance value, or 2) the DDOS attack prevention device has not been issued a temporary ticket to the client 10, Even if the client 10 resends the same packet in the case where the first query packet is not normally determined as a result of the determination in the attack blocking apparatus 100) It is regarded as the first query packet. When the packet transmitted from the client 10 is regarded as the second query packet (that is, when the query packet is transmitted from the client to which the temporary ticket is issued), the ticket confirmation unit 120 transmits control to the request processing unit 170, .

재질의 요청 처리부(170)는 임시 티켓이 발행된 클라이언트(10)로부터 제2 질의 패킷이 송신될 때, 제2 질의 패킷을 분석함으로써 임시 티켓이 발행된 클라이언트(10)의 IP 주소에 티켓의 발행 여부를 결정한다. 티켓의 발행 여부를 결정하기 위해, 재질의 요청 처리부(170)는 아래와 같은 판단들을 수행할 수 있다.The material request processing unit 170 analyzes the second query packet when the second query packet is transmitted from the client 10 to which the temporary ticket has been issued so that the issuance of the ticket to the IP address of the client 10 to which the temporary ticket is issued . In order to determine whether to issue a ticket, the material request processing unit 170 may make the following judgments.

먼저, 재질의 요청 처리부(170)는 제2 질의 패킷이 차단 제어 시간 이내에 수신되었는지(또는 송신되었는지)를 판단한다. 위에서 설명한 것처럼, 공격자 IP에서 크기가 큰 데이터를 송신하고자 할 때, 해당 데이터는 하나의 패킷으로 전달되는 것이 아닌, 복수의 서브 데이터들로 분할되어 복수의 패킷들로 송신된다. 이에 따라, 이들 패킷은 연속적으로 송신되는 특성을 가지므로, DDOS 공격 차단 장치(100)의 입장에서 볼 때 하나의 IP 에서 연속적으로 패킷이 송신되면 이 IP를 공격자 IP로 판단할 수 있다. 이렇게 클라이언트가 공격자로 판단되면, 재질의 요청 처리부(170)는 제2 질의 패킷을 드롭시키고 클라이언트(10)에 발행된 임시 티켓을 제거하며, 해당 클라이언트(10)의 주소를 블랙리스트에 추가하는 과정을 수행할 수 있다.First, the material request processing unit 170 determines whether the second query packet has been received (or transmitted) within the block control time. As described above, when a large amount of data is to be transmitted from the attacker's IP, the corresponding data is not transmitted as one packet but is divided into a plurality of subdata and transmitted as a plurality of packets. Accordingly, since these packets are continuously transmitted, when the packet is continuously transmitted from one IP to the DDOS attack blocking device 100, the IP can be determined as the attacker IP. If it is determined that the client is an attacker, the material request processing unit 170 drops the second query packet, removes the temporary ticket issued to the client 10, and adds the address of the client 10 to the black list Can be performed.

반대로, 클라이언트(10)가 정상 클라이언트라면, 클라이언트(10)에서 송신한 제1 질의 패킷이 신규 세션 처리부(160)에 의해 드롭되므로, 클라이언트(10)는 일정 시간을 기다린 후 제1 질의 패킷과 동일한 질의 패킷(즉, 제2 질의 패킷)을 송신할 것이다. 여기서, 제1 질의 패킷을 송신한 이후 제2 질의 패킷을 송신하기까지는 일정 시간이 소요되므로(즉, 차단 제어 시간을 초과하여 제2 질의 패킷을 송신하게 되므로), 상기 판단 과정을 통해서도 제2 질의 패킷은 드롭되지 않는다. In contrast, if the client 10 is a normal client, since the first query packet transmitted from the client 10 is dropped by the new session processing unit 160, the client 10 waits for a predetermined time, (I.e., a second query packet). Here, since it takes a certain time to transmit the second query packet after transmitting the first query packet (i.e., the second query packet is transmitted beyond the block control time), the second query The packet is not dropped.

그리고, 재질의 요청 처리부(170)는 제2 질의 패킷이 DNS 요청 패킷인지 판단하는 과정을 수행한다. 앞서 설명한 것처럼, 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치(100)는 질의 패킷이 DNS 요청 패킷인지, 또는 그렇지 않은지에 따라 상이한 방식으로 클라이언트의 정상 여부를 판단한다. 이에 따라, 재질의 요청 처리부(170)는 해당 클라이언트의 IP 주소에 티켓을 발행할지를 결정하기 전, 제2 질의 패킷이 DNS 요청 패킷인지의 여부를 먼저 판단한다.Then, the material request processing unit 170 determines whether the second query packet is a DNS request packet. As described above, the DDOS attack blocking apparatus 100 according to an exemplary embodiment of the present invention determines whether the client is normal in a different manner depending on whether the query packet is a DNS request packet or not. Accordingly, the material request processing unit 170 first determines whether the second query packet is a DNS request packet before deciding whether to issue a ticket to the IP address of the client.

판단 결과, 제2 질의 패킷이 DNS 요청 패킷인 경우, 재질의 요청 처리부(170)는 제2 질의 패킷에 포함된 제2 DNS 요청 정보를 추출하고, 임시 데이터베이스(DB3)에 저장된 제1 DNS 요청 정보를 호출한다. 그 후, 재질의 요청 처리부(170)는 제1 DNS 요청 정보와 제2 DNS 요청 정보가 동일한지 확인하는 과정을 거친다. 앞서 설명한 것처럼, DNS 서버에 대한 공격 유형 중, 공격자가 무작위로 복수의 도메인들을 생성하고 이들 도메인들에 대한 요청을 수행하는 방식이 있다(도 1c 참조). 이 경우, 제1 질의 패킷과 제2 질의 패킷에 포함된 내용(즉, DNS 요청 정보)은 서로 상이하므로, 재질의 요청 처리부(170)는 이러한 제1 및 제2 DNS 요청 정보의 비교를 통해 클라이언트(10)가 정상인지의 여부를 판단할 수 있다. 판단 결과, 제1 및 제2 DNS 요청 정보가 동일한 경우, 재질의 요청 처리부(170)는 해당 클라이언트(10)를 정상 클라이언트로 판단할 수 있고, 이후 클라이언트(10)의 IP 주소에 티켓을 발행하고, 티켓리스트를 갱신하며, 제2 질의 패킷을 서버(40)로 전달할 수 있다. 반대로, 제1 및 제2 DNS 요청 정보가 상이한 경우, 재질의 요청 처리부(170)는 해당 클라이언트(10)를 공격자 클라이언트로 판단할 수 있고, 제2 질의 패킷을 드롭시키고 블랙리스트를 갱신한다.If it is determined that the second query packet is a DNS request packet, the material request processing unit 170 extracts the second DNS request information included in the second query packet, and transmits the first DNS request information stored in the temporary database DB3 . Thereafter, the material request processing unit 170 checks whether the first DNS request information and the second DNS request information are identical. As described above, among the attack types for the DNS server, there is a method in which an attacker randomly creates a plurality of domains and performs a request for those domains (see FIG. 1C). In this case, since the contents of the first query packet and the contents of the second query packet (i.e., DNS request information) are different from each other, the material request processing unit 170 compares the first and second DNS request information, It is possible to judge whether or not the image forming apparatus 10 is normal. As a result of the determination, when the first and second DNS request information are identical, the material request processing unit 170 can determine that the client 10 is a normal client, and then issues a ticket to the IP address of the client 10 Update the ticket list, and forward the second query packet to the server 40. In contrast, when the first and second DNS request information are different, the material request processing unit 170 can determine the client 10 as an attacker client, drop the second query packet, and update the black list.

그리고, 제2 질의 패킷이 DNS 요청 패킷이 아닌 다른 패킷인 경우, 재질의 요청 처리부(170)는 해당 클라이언트를 정상 클라이언트로 판단하고, 이후, 클라이언트(10)의 IP 주소에 티켓을 발행하고 티켓리스트를 갱신하며, 제2 질의 패킷을 서버(40)로 전달할 수 있다.If the second query packet is a packet other than a DNS request packet, the material request processing unit 170 determines that the client is a normal client, issues a ticket to the IP address of the client 10, And may forward the second query packet to the server 40. [

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

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

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

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

상기와 같은 구성들을 통해, 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치(100)는 다양한 UDP 기반의 공격을 효율적으로 차단할 수 있고, 이로 인해 서버(40)의 안정성을 보장할 수 있다. 또한, DDOS 공격 차단 장치(100)는 세션 허용치의 개념을 통해 장치의 부하도 관리할 수 있어서 안정적이고 효율적인 DDOS 관리가 가능하다.Through the above-described configurations, the DDOS attack blocking apparatus 100 according to an exemplary embodiment of the present invention can effectively block various UDP-based attacks, thereby assuring the stability of the server 40. [ Also, the DDOS attack blocking device 100 can manage the load of the device through the concept of the session tolerance value, thereby enabling stable and efficient DDOS management.

또한, 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치(100)는 신규 세션 처리부(160)에서 제1 질의 패킷에 대한 응답을 보내는 것이 아닌, 특정 처리 이후 이를 드롭시키는 방식이다. 이에 따라, 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치(100)는 응답 패킷을 생성하는 트런케이티드 비트를 이용한 종래기술과는 달리, 리다이렉션 공격자가 되는 상황도 방지할 수 있는 장점도 있다. In addition, the DDOS attack blocking apparatus 100 according to the embodiment of the present invention does not send a response to the first query packet in the new session processing unit 160, but drops it after a specific process. Accordingly, the DDOS attack blocking apparatus 100 according to an exemplary embodiment of the present invention has an advantage of being able to prevent a situation of becoming a redirection attacker, unlike the prior art using a committed bit for generating a response packet.

도 5a 내지 도 5c는 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치의 동작을 설명하기 위한 흐름도이다. 구체적으로, 도 5a는 티켓이 발행된 클라이언트가 제1 질의 패킷을 송신할 때, 도 5b 및 도 5c는 티켓이 발행되진 않았으나 신규 세션이 제1 질의 패킷을 송신할 때, 본 발명의 DDOS 공격 차단 장치의 동작을 설명하기 위한 흐름도이다.5A to 5C are flowcharts illustrating an operation of a DDOS attack blocking apparatus according to an embodiment of the present invention. Specifically, FIG. 5A illustrates a case where a ticket-issuing client transmits a first query packet, FIGS. 5B and 5C show a DDOS attack blocking of the present invention when a ticket is not issued but a new session transmits a first query packet. Fig. 8 is a flowchart for explaining the operation of the apparatus. Fig.

먼저, 티켓이 발행된 클라이언트가 제1 질의 패킷을 송신할 때, 본 발명의 DDOS 공격 차단 장치의 동작 흐름에 대해 설명한다(도 5a 참조).First, the operation flow of the DDOS attack blocking apparatus of the present invention when a ticket-issued client transmits a first query packet will be described (see FIG. 5A).

클라이언트(10)에서 제1 질의 패킷을 송신한다. 이때, DDOS 공격 차단 장치(100)는 클라이언트(10)의 IP 주소에 대한 블랙리스트 검사 및 티켓리스트 확인 과정을 수행한다. 확인 결과, 클라이언트(10)의 IP 주소가 블랙리스트에 해당하지 않고 티켓이 발행된 IP로 확인되면, DDOS 공격 차단 장치(100)는 클라이언트(10)의 IP 주소가 오버플로우인지, 또는 공격 방법인 어택, 해킹 및 바이러스(또는 비정상 공격방법)에 해당되는지 확인한다. The client 10 transmits the first query packet. At this time, the DDOS attack blocking apparatus 100 performs a blacklist check on the IP address of the client 10 and a ticket list check process. If the IP address of the client 10 does not correspond to the black list and the ticket is confirmed as the issued IP, the DDOS attack blocking device 100 determines whether the IP address of the client 10 is an overflow or an attack method Attack, hack, and virus (or abnormal attack method).

확인 결과, 클라이언트(10)의 IP 주소가 오버플로우이거나, 다른 공격 방법에 해당되는 경우, DDOS 공격 차단 장치(100)는 제1 질의 패킷을 드롭시키고, 클라이언트(10)의 IP 주소에 발행된 티켓을 제거하며, 이 IP 주소를 블랙리스트에 추가하는 과정을 수행한다. 반대로, IP 주소가 정상으로 확인될 경우, DDOS 공격 차단 장치(100)는 제1 질의 패킷을 서버(40)에 전달한다. 그 후, 서버(40)에서는 제1 질의 패킷에 따른 응답을 클라이언트(10)로 전달함으로써 정상적인 통신이 이루어진다.If it is determined that the IP address of the client 10 is an overflow or a different attack method, the DDOS attack blocking apparatus 100 drops the first query packet and transmits the ticket issued to the IP address of the client 10 And adds the IP address to the blacklist. On the other hand, when the IP address is confirmed as normal, the DDOS attack blocking device 100 forwards the first query packet to the server 40. Thereafter, the server 40 transmits a response according to the first query packet to the client 10 so that normal communication is performed.

이제, 티켓이 발행되지 않은 신규 세션이 제1 질의 패킷을 송신할 때, 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치의 동작 흐름에 대해 설명한다(도 5b 및 도 5c 참조).Now, the operation flow of a DDOS attack blocking apparatus according to an embodiment of the present invention will be described when a new session to which a ticket is not issued transmits a first query packet (see FIGS. 5B and 5C).

먼저, 클라이언트(10)에서 제1 질의 패킷을 송신한다. 이때, DDOS 공격 차단 장치(100)는 클라이언트(10)의 IP 주소에 대한 블랙리스트 검사 및 티켓리스트 확인 과정을 수행한다. 확인 결과, 클라이언트(10)의 IP 주소가 블랙리스트에 해당하지 않고 티켓도 발행되지 않은 IP로 확인되면, DDOS 공격 차단 장치(100)는 DDOS 공격 차단 장치(100)에서 수신된 질의 세션수를 확인한다. First, the client 10 transmits a first query packet. At this time, the DDOS attack blocking apparatus 100 performs a blacklist check on the IP address of the client 10 and a ticket list check process. If it is determined that the IP address of the client 10 does not correspond to the black list and the ticket is not issued, the DDOS attack blocking apparatus 100 confirms the number of query sessions received from the DDOS attack blocking apparatus 100 do.

그 후, DDOS 공격 차단 장치(100)는 질의 세션수와 세션 허용치를 비교하는 과정을 수행한다. 앞서 설명한 것처럼, 질의 세션수가 세션 허용치를 초과하는 경우, DDOS 공격 차단 장치(100)는 제1 질의 패킷을 드롭한다. 여기서, 질의 세션수가 세션 허용치를 초과하는 상황은 DDOS 상황이 발생하였고, DDOS 공격 차단 장치(100)에서 이미 다른 클라이언트들에 대한 정상 여부 판단 과정을 수행하여 이미 부하가 높은 상황을 의미한다. 앞서 설명한 것처럼, UDP 기반의 DDOS 공격 방식에는 한 명의 공격자가 자신의 IP를 변조하면서 지속적으로 패킷을 송신하는 기법이 존재한다. 이러한 공격 기법에 관련하여, 본 발명의 DDOS 공격 차단 장치(100)는 질의 세션수가 세션 허용치를 초과할 때에는 어떠한 확인 과정도 없이 해당 패킷을 드롭시키므로, 추가적인 부하를 발생시키지 않고 DDOS 공격을 차단할 수 있다. 또한, 클라이언트(10)가 정상 클라이언트라면, 요청에 따른 응답을 받지 못하여, 다시 제1 질의 패킷을 재전송할 것이므로 어떠한 문제도 발생하지 않을 것이다.Thereafter, the DDOS attack blocking apparatus 100 performs a process of comparing the number of query sessions with the session tolerance value. As described above, when the number of query sessions exceeds the session tolerance value, the DDOS attack protection device 100 drops the first query packet. Here, the situation where the number of query sessions exceeds the session tolerance value means that a DDOS situation has occurred and the DDOS attack interception apparatus 100 has already performed a normal decision process for other clients, thereby indicating a situation where the load is already high. As described above, in the UDP-based DDOS attack method, there is a technique in which one attacker continuously transmits a packet while modulating its own IP. With respect to this attack technique, when the number of query sessions exceeds the session tolerance value, the DDOS attack prevention device 100 of the present invention drops the corresponding packet without any confirmation process, thereby blocking the DDOS attack without generating additional load . In addition, if the client 10 is a normal client, no response will be received, and the first query packet will be retransmitted again, so that no problem will occur.

비교 결과 질의 세션수가 세션 허용치 이하인 경우, DDOS 공격 차단 장치(100)는 제1 질의 패킷이 신규 세션인지 확인하는 과정을 수행한다. 확인 결과 제1 질의 패킷이 신규 세션인 경우, 클라이언트(10)의 IP 주소에 임시 티켓을 발행하고, 차단 제어 시간을 설정하며, 티켓리스트를 갱신하며, 제1 질의 패킷을 드롭시킨다. 앞서 언급한 것처럼, 제1 질의 패킷이 DNS 요청 패킷인 경우, 제1 질의 패킷에 포함된 제1 DNS 요청 정보는 데이터베이스에 저장될 수 있다. 즉, DDOS 공격 차단 장치(100)는 제1 질의 패킷에 대해서는 항상 드롭시키는 방식이므로, 클라이언트(10)로 어떠한 응답도 송신하지 않는다. 이에 따라, DDOS 공격 차단 장치(100)는 리다이렉션 공격을 야기하지 않고, 위에서 설명한 한 명의 공격자가 자신의 IP를 변조하면서 지속적으로 패킷을 송신하는 DDOS 공격에 대해서도 효율적인 방어가 가능하다. 또한, 제1 질의 패킷에 대해 응답을 하는 것이 아닌 이를 드롭시키는 방식이므로, 리다이렉션 공격도 야기하지 않으며, 이러한 특징은 아래에서 설명되는 차단 제어 시간을 활용한 공격자 IP 여부 판단에도 기여할 수 있다.If the comparison result indicates that the number of query sessions is equal to or less than the session tolerance value, the DDOS attack intercepting apparatus 100 performs a process of verifying that the first query packet is a new session. If it is determined that the first query packet is a new session, a temporary ticket is issued to the IP address of the client 10, a blocking control time is set, a ticket list is updated, and the first query packet is dropped. As mentioned above, when the first query packet is a DNS request packet, the first DNS request information included in the first query packet can be stored in the database. That is, since the DDOS attack blocking apparatus 100 always drops the first query packet, the client 10 does not transmit any response. Accordingly, the DDOS attack intercepting apparatus 100 can effectively prevent a DDOS attack in which one attacker transmits packets continuously while modulating his / her IP without causing a redirection attack. In addition, since it is a method of dropping a response to a first query packet rather than a response, it does not cause a redirection attack. This feature can also contribute to determining whether an attacker IP using the blocking control time described below is used.

이제, 클라이언트(10)에서 제2 질의 패킷을 송신한 상황을 가정한다. 제2 질의 패킷은 임시 티켓이 발행된 클라이언트로부터 송신된 질의 패킷을 나타낸다. 만일, 클라이언트(10)가 동일한 패킷을 특정 시간에 걸쳐 서버(40)로 송신하였더라도, DDOS 공격 차단 장치(100)에서 정상 여부의 판단을 수행하지 않았거나, 또는 정상 패킷이 아니라고 판단하여 해당 클라이언트(10)에 임시 티켓을 발행하지 않았다면, 이는 제1 질의 패킷으로 간주될 것이다.Now, it is assumed that the client 10 has transmitted the second query packet. The second query packet indicates a query packet transmitted from the client to which the temporary ticket was issued. Even if the client 10 transmits the same packet to the server 40 over a specific period of time, it is determined that the DDOS attack blocking device 100 does not determine whether the packet is normal or is not a normal packet, 10), it will be considered as the first query packet.

클라이언트(10)에서 질의 패킷을 송신하면, DDOS 공격 차단 장치(100)는 해당 클라이언트(10)의 IP 주소에 대해 블랙리스트 여부 및 티켓리스트 여부를 확인한다. 본 예시의 경우 클라이언트(10)에 임시 티켓이 발행된 상황을 가정하므로, DDOS 공격 차단 장치(100)는 클라이언트(10)가 송신한 질의 패킷을 제2 질의 패킷으로 간주할 수 있다.When the client 10 transmits a query packet, the DDOS attack blocking device 100 confirms whether the IP address of the corresponding client 10 is blacklisted or not. In this case, the DDOS attack blocking apparatus 100 can regard the query packet transmitted by the client 10 as a second query packet since it is assumed that a temporary ticket is issued to the client 10.

그 후, DDOS 공격 차단 장치(100)는 제2 질의 패킷을 송신한 클라이언트(10)의 차단 제어 시간을 확인한다. 확인 결과, 클라이언트(10)의 제2 질의 패킷 송신 시점이 차단 제어 시간을 이내인 경우 DDOS 공격 차단 장치(100)는 해당 클라이언트(10)를 비정상 클라이언트(또는 공격자 클라이언트)로 판단하고, 도 5c에 도시된 바와 같이 제2 질의 패킷을 드롭한다. 그 후, DDOS 공격 차단 장치(100)는 해당 클라이언트(10)에 발행된 티켓리스트를 제거하며, 이 클라이언트(10)의 IP 주소를 블랙리스트에 추가하는 과정을 수행한다. 앞서 설명한 것처럼 차단 제어 시간은 공격자 IP에서 크기가 큰 데이터로 서버(40)를 공격하는 공격 기법에 대응하기 위해 활용된다. 차단 제어 시간에 대한 개념은 위에서 도 3을 참조로 상세히 언급하였으므로, 중복되는 설명은 생략한다.Thereafter, the DDOS attack blocking device 100 confirms the blocking control time of the client 10 that has transmitted the second query packet. If it is determined that the second query packet transmission time of the client 10 is within the blocking control time, the DDOS attack blocking apparatus 100 determines that the client 10 is an abnormal client (or an attacker client) And drops the second query packet as shown. Thereafter, the DDOS attack blocking apparatus 100 removes the ticket list issued to the client 10, and adds the IP address of the client 10 to the black list. As described above, the blocking control time is utilized to cope with an attack technique for attacking the server 40 with large-sized data in the attacker's IP. The concept of the cut-off control time is described in detail with reference to FIG. 3, and thus redundant description will be omitted.

DDOS 공격 차단 장치(100)는 제2 질의 패킷 송신 시점이 차단 제어 시간을 초과할 때, 제2 질의 패킷이 DNS 요청 패킷인지 확인하는 과정을 수행한다. 여기서, 제2 질의 패킷이 DNS 요청 패킷이 아닌 경우, DDOS 공격 차단 장치(100)는 해당 클라이언트를 정상 클라이언트로 판단한다.When the second query packet transmission time exceeds the blocking control time, the DDOS attack blocking device 100 checks whether the second query packet is a DNS request packet. Here, if the second query packet is not a DNS request packet, the DDOS attack blocking apparatus 100 determines that the client is a normal client.

또한, 제2 질의 패킷이 DNS 요청 패킷인 경우, DDOS 공격 차단 장치(100)는 제2 질의 패킷에 포함된 DNS 요청 패킷에서 제2 DNS 요청 정보를 추출한다. 그 후, DDOS 공격 차단 장치(100)는 제1 및 제2 DNS 요청 정보를 비교하고, 이들 정보가 동일하면 클라이언트(10)를 정상 클라이언트로, 그리고 이들 정보가 상이하면 클라이언트(10)를 공격자 클라이언트로 판단한다.If the second query packet is a DNS request packet, the DDOS attack protection device 100 extracts the second DNS request information from the DNS request packet included in the second query packet. Thereafter, the DDOS attack blocking device 100 compares the first and second DNS request information, and when the information is the same, the client 10 as a normal client, and when the information is different, .

위에서 설명한 판단 기법들을 통해 클라이언트(10)가 정상 클라이언트로 판단되면, DDOS 공격 차단 장치(100)는 클라이언트(10)의 IP 주소에 티켓을 발행하고, 제2 질의 패킷을 서버(40)에 전달한다(도 5b 참조). 물론, DDOS 공격 차단 장치(100)에서 제2 질의 패킷을 서버(40)에 송신하기 전, 클라이언트(10)의 IP 주소가 오버플로우인지, 또는 공격 방법인 어택, 해킹 및 바이러스(또는 비정상 공격방법)에 해당되는지 확인하는 과정을 수행할 수 있다. 확인 결과 클라이언트(10)의 IP 주소가 정상으로 판단 될 때, DDOS 공격 차단 장치(100)는 제2 질의 패킷을 서버(40)에 전달하고, 서버(40)에서는 제2 질의 패킷에 따른 요청에 따라 응답 패킷을 다시 클라이언트(10)로 송신한다. If the client 10 determines that the client 10 is a normal client through the above-described determination techniques, the DDOS attack blocking device 100 issues a ticket to the IP address of the client 10 and delivers the second query packet to the server 40 (See FIG. 5B). Of course, before the DDOS attack blocking device 100 transmits the second query packet to the server 40, it is determined whether the IP address of the client 10 is an overflow or an attack method, an attack, a hacking and a virus (or an abnormal attack method ), As shown in FIG. When it is determined that the IP address of the client 10 is normal, the DDOS attack blocking device 100 delivers the second query packet to the server 40, and the server 40 transmits a request according to the second query packet And transmits the response packet to the client 10 again.

반대로, 클라이언트(10)가 공격자 클라이언트로 판단되면, DDOS 공격 차단 장치(100)는 도 5c에 도시된 바와 같이 제2 질의 패킷을 드롭한다. 그 후, DDOS 공격 차단 장치(100)는 해당 클라이언트(10)에 발행된 티켓리스트를 제거하며, 이 클라이언트(10)의 IP 주소를 블랙리스트에 추가하는 과정을 수행한다.Conversely, if the client 10 is determined to be an attacker client, the DDOS attack blocking device 100 drops the second query packet as shown in FIG. 5C. Thereafter, the DDOS attack blocking apparatus 100 removes the ticket list issued to the client 10, and adds the IP address of the client 10 to the black list.

도 6은 본 발명의 일 실시예에 따른 DDOS 공격 차단 방법에 대한 흐름도이다. 상술한 것처럼, 본 발명의 일 실시예에 따른 DDOS 공격 차단 방법은 UDP에 기반한 DDOS 공격을 차단할 수 있을 뿐만 아니라, 클라이언트로부터 수신한 UDP 패킷만을 이용하여 해당 클라이언트의 정상 여부를 판단할 수 있다. 이제, 도 6을 참조로 본 발명의 일 실시예에 따른 DDOS 공격 차단 방법에 대해 설명한다. 또한, 아래에서는 상술한 부분과 중복되는 사항은 생략한다.6 is a flowchart illustrating a DDOS attack blocking method according to an exemplary embodiment of the present invention. As described above, the DDOS attack blocking method according to an embodiment of the present invention not only can block a DDOS attack based on UDP, but can also determine whether a corresponding client is normal using only UDP packets received from a client. A DDOS attack blocking method according to an embodiment of the present invention will now be described with reference to FIG. In the following, the items overlapping with the above-mentioned portions are omitted.

S101 단계는 패킷 수집부에 의해, 클라이언트로부터 송신된 질의 패킷을 수집하는 단계이다. 위에서 설명한 것처럼, 클라이언트는 UDP로 질의 패킷을 송신할 수 있다. 여기서, 질의 패킷은 DNS 요청 정보 또는 다른 요청 정보를 포함할 수 있다.Step S101 is a step of collecting the query packet transmitted from the client by the packet collecting unit. As described above, a client can send a query packet to UDP. Here, the query packet may include DNS request information or other request information.

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

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

S104 단계는 티켓 확인부에 의해, 클라이언트가 보유한(즉, 클라이언트의 IP 주소에 발행된) 티켓이 티켓인지 또는 임시 티켓인지 확인하는 단계이다. 위에서 설명한 것처럼, 본 발명의 일 실시예에 따른 DDOS 공격 차단 방법은 통행 티켓의 개념을 갖는 티켓과, 티켓 발급을 위한 검증에 이용되는 임시 티켓의 개념을 제시한다. 여기서, 임시 티켓은 정상 여부의 판단 대상인 신규 세션에 발행되며, 본 발명의 일 실시예에 따른 DDOS 공격 차단 방법은 임시 티켓이 발행된 클라이언트에서 송신된 질의 패킷을 분석함으로써, 클라이언트의 정상 여부를 판단한다. S104 단계를 통한 판단 결과, 클라이언트에 티켓이 발행된 경우 제어는 S105 단계로 전달된다. 그렇지 않은 경우, 제어는 S106 단계로 전달된다.Step S104 is a step of confirming whether the ticket held by the client (i.e., issued to the client's IP address) is a ticket or a temporary ticket by the ticket checking unit. As described above, the DDOS attack blocking method according to an embodiment of the present invention provides a concept of a ticket having a concept of a traffic ticket and a temporary ticket used in verification for issuing a ticket. Here, the temporary ticket is issued to a new session to be determined as a normal state, and the DDOS attack blocking method according to an embodiment of the present invention analyzes the query packet transmitted from the client to which 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 is passed to step S106.

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

S106 단계는 재질의 요청 처리부에 의해, 클라이언트로부터 송신된 재질의 요청(즉, 제2 질의 패킷)에 대해 처리를 수행하는 단계이다. 이를 위해, S106 단계는 제2 질의 패킷이 송신된(또는 제2 질의 패킷을 수신한) 시간과 차단 제어 시간을 비교함으로써, 클라이언트의 공격자 여부를 확인하는 단계, 제2 질의 패킷이 DNS 요청 패킷인지 판단하는 단계, 그리고 제2 질의 패킷이 DNS 요청 패킷인지를 고려하여 클라이언트의 공격자 여부를 확인하는 단계를 포함한다. Step S106 is a step of performing processing on a request for a material transmitted from a client (i.e., a second query packet) by a material request processing unit. To do so, the step S106 is to check whether the client is an attacker by comparing the blocking control time with the time when the second query packet has been transmitted (or received the second query packet). If the second query packet is a DNS request packet And determining whether the client is an attacker in consideration of whether or not the second query packet is a DNS request packet.

상기 단계들을 통한 확인 결과, 클라이언트가 공격자로 즉, 클라이언트의 IP가 공격자 IP로 판단되면, S106 단계는 제2 질의 패킷을 드롭하는 단계, 임시 티켓을 제거하는 단계, 그리고 클라이언트의 IP 주소를 블랙리스트에 추가하는 단계를 수행한다. 반대로, 상기 단계들을 통한 확인 결과, 클라이언트가 정상 클라이언트로 즉, 클라이언트의 IP가 정상 클라이언트의 IP로 판단되면, S106 단계는 클라이언트의 IP 주소에 티켓을 발행하는 단계 및 티켓리스트를 갱신하는 단계를 수행한다. 그 후, S106 단계는 제2 질의 패킷을 서버로 송신하는 단계를 수행한다. If it is determined that the client is the attacker, that is, if the IP of the client is determined to be the attacker's IP, step S106 includes dropping the second query packet, removing the temporary ticket, . On the contrary, if the client determines that the client is the normal client, that is, if the IP of the client is the IP of the normal client, step S106 is a step of issuing a ticket to the client's IP address and updating the ticket list do. Then, in step S106, the second query packet is transmitted to the server.

또한, S106 단계는 제2 질의 패킷을 서버로 송신하기 전, 제어를 S105 단계로 전달하여 클라이언트의 IP 주소가 오버플로우인지, 또는 다른 공격 방법인 어택, 해킹 및 바이러스(또는 비정상 공격방법)에 해당되는지 확인하는 과정을 더 수행할 수 있다. S106 단계는 S105 단계를 통한 확인에도 클라이언트의 IP 주소가 정상 IP로 확인되면, 제2 질의 패킷을 서버로 송신하는 단계를 포함하고, 그렇지 않으면, 제2 질의 패킷을 드롭하고, 티켓을 제거하며, 클라이언트의 IP를 블랙리스트에 추가하는 과정을 수행할 수 있다.In step S106, control is passed to step S105 before the second query packet is transmitted to the server, and it is determined whether the IP address of the client is an overflow or an attack, a hacking and a virus (or abnormal attack method) It is possible to further perform the process of confirming whether or not it is possible. The step S106 includes transmitting the second query packet to the server when the IP address of the client is confirmed to be a normal IP even in the confirmation through step S105; otherwise, the second query packet is dropped, the ticket is removed, The process of adding the client's IP to the blacklist can be performed.

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

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

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

S111 단계는 신규 세션 처리부에 의해, 신규 세션에 대한 처리를 수행하는 단계이다. S111 단계는 클라이언트의 IP 주소에 임시 티켓을 발행하는 단계, 티켓리스트 데이터베이스에 클라이언트의 IP 주소와 임시 티켓이 발행되었음을 알리는 정보를 추가함으로써 티켓리스트를 갱신하는 단계, 그리고 차단 제어 시간을 설정하는 단계를 포함할 수 있다. 또한, DNS 서버의 동작에 대한 특수성을 고려하여, S111 단계는 제1 질의 패킷이 DNS 요청 패킷인지에 대해 판단하는 단계를 더 포함하고, 제1 질의 패킷이 DNS 요청 패킷인 경우, 제1 질의 패킷에 포함된 제1 DNS 요청 정보를 데이터베이스(도 3에서 임시 데이터베이스)에 저장하는 단계를 포함할 수 있다. 상기 과정들을 수행한 이후, S111 단계에서는 제1 질의 패킷을 드롭시키는 단계를 수행한다.In step S111, the new session processing unit performs processing for the new session. In step S111, a temporary ticket is issued to the IP address of the client, the ticket list is updated by adding the IP address of the client and the information indicating that the temporary ticket has been issued to the ticket list database, and the blocking control time is set . In addition, considering the specificity with respect to the operation of the DNS server, step S111 may further include determining whether the first query packet is a DNS request packet, and if the first query packet is a DNS request packet, And storing the first DNS request information included in the first DNS request information in the database (temporary database in FIG. 3). After performing the above steps, the step of dropping the first query packet is performed in step S111.

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

도 7은 본 발명의 일 실시예에 따른 재질의 요청을 처리하는 단계에 대한 흐름도이다. 상술한 것처럼, 본 발명의 일 실시예에 따른 재질의 요청을 처리하는 단계는 임시 티켓이 발행된 클라이언트에서 질의 패킷이 송신될 때 이를 제2 질의 패킷으로 간주하고 처리를 수행한다.7 is a flow diagram of processing a request for a material in accordance with an embodiment of the present invention. As described above, the step of processing a request for a material according to an embodiment of the present invention regards the query packet as a second query packet and performs processing when a query packet is transmitted from the client to which the temporary ticket is issued.

S201 단계는 제2 질의 패킷이 송신된(또는 제2 질의 패킷을 수신한) 시점이 차단 제어 시간 이내인지 판단하는 단계이다. 판단 결과, 해당 시점이 차단 제어 시점 이내인 경우 제2 질의 패킷을 송신한 클라이언트의 IP를 공격자 IP로 판단하고 패킷을 드롭하는 과정이 수행된다. 또한, S202 단계는 클라이언트의 IP에 발행된 임시 티켓을 제거하는 과정, 그리고 클라이언트의 IP를 블랙리스트에 추가하는 과정을 수행할 수 있다. 반대로, S201 단계에서의 판단 결과, 제2 질의 패킷이 송신된(또는 제2 질의 패킷을 수신한) 시점이 차단 제어 시간을 초과한 경우 제어는 S203 단계로 전달된다.In step S201, it is determined whether the time when the second query packet is transmitted (or the second query packet is received) is within the block control time. As a result of the determination, if the time is within the block control time, the IP of the client that transmitted the second query packet is determined to be the attacker IP and the process of dropping the packet is performed. In step S202, a process of removing the temporary ticket issued to the IP of the client and a process of adding the IP of the client to the blacklist may be performed. On the other hand, if it is determined in step S201 that the time when the second query packet is transmitted (or the second query packet is received) exceeds the block control time, the control is transferred to step S203.

S203 단계는 제2 질의 패킷이 DNS 요청 패킷인지 판단하는 단계이다. 판단 결과 제2 질의 패킷이 DNS 요청 패킷인 경우 제어는 S204 단계로 전달된다. 그렇지 않은 경우 즉, 제1 및 제2 질의 패킷이 DNS 요청 패킷이 아닌 경우 제어는 S205 단계로 전달되어 해당 클라이언트의 IP에 티켓을 발행하는 단계가 수행된다.Step S203 is a step of determining whether the second query packet is a DNS request packet. If it is determined that the second query packet is a DNS request packet, control is passed to step S204. Otherwise, if the first and second query packets are not DNS request packets, control passes to step S205 and a ticket is issued to the IP of the corresponding client.

S204 단계는 제2 질의 패킷에 포함된 제2 DNS 요청 정보를 추출하고, 데이터베이스에 저장된 제1 DNS 요청 정보를 호출하며, 제1 및 제2 DNS 요청 정보를 비교함으로써 이들 요청 정보가 동일한지 판단하는 단계이다. 판단 결과, 이들 정보가 동일한 것으로 판단되면 제어는 S205 단계로 전달되어 클라이언트의 IP에 티켓을 발행하는 단계가 이루어진다. 그렇지 않은 경우 제어는 S206 단계로 전달되어 패킷을 드롭하는 과정, 그리고 클라이언트의 IP에 발행된 임시 티켓을 제거하는 과정, 그리고 클라이언트의 IP를 블랙리스트에 추가하는 과정이 이루어진다. In step S204, the second DNS request information included in the second query packet is extracted, the first DNS request information stored in the database is called, and the first and second DNS request information are compared to determine whether the request information is identical . As a result of the determination, if it is determined that these pieces of information are the same, control is passed to step S205 and a ticket is issued to the IP of the client. Otherwise, the control is transferred to step S206 to drop the packet, a process of removing the temporary ticket issued to the IP of the client, and a process of adding the IP of the client to the blacklist.

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

S301 단계는 이 클라이언트가 송신한 제1 질의 패킷이 DNS 요청 패킷인지 판단하는 단계이다. 확인 결과 DNS 요청 패킷으로 판단되면 제어는 S302 단계로 전달된다. 그렇지 않은 경우 제어는 S303 단계로 전달된다.In step S301, it is determined whether the first query packet transmitted by the client is a DNS request packet. If it is determined that the packet is a DNS request packet, control is passed to step S302. Otherwise, control is passed to step S303.

S302 단계는 제1 질의 패킷에 저장된 DNS 요청 정보(즉, 제1 DNS 요청 정보)를 데이터베이스에 저장하는 단계이다. 그 후, 제어는 S303 단계로 전달된다.In step S302, the DNS request information (i.e., the first DNS request information) stored in the first query packet is stored in the database. Thereafter, control is passed to step S303.

S303 단계는 제1 질의 패킷을 송신한 클라이언트의 IP에 임시 티켓을 발행하는 단계이고, S304 단계는 차단 제어 시간을 설정하는 단계이며, S305 단계는 제1 질의 패킷을 드롭하는 단계이다. S303 단계 내지 S305 단계에 대한 설명은 위에서 도 3을 참조로 상세히 언급하였으므로, 중복되는 설명은 생략한다. In step S303, a temporary ticket is issued to the IP of the client that has transmitted the first query packet. In step S304, a blocking control time is set. In step S305, the first query packet is dropped. The description of the steps S303 to S305 is made in detail with reference to FIG. 3, so that redundant description will be omitted.

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

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

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

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

100: DDOS 공격 차단 장치 110: 블랙리스트 검사부
120: 티켓 확인부 130: 한계치 및 공격 검사부
140: 세션 허용치 판단부 150: 신규 세션 판단부
160: 신규 세션 처리부 170: 재질의 요청 처리부
180: 비인증 IP 처리부
100: DDOS attack blocking device 110: Blacklist checker
120: ticket confirmation unit 130: limit value and attack inspection unit
140: Session tolerance judging unit 150: New session judging unit
160: New session processing unit 170: Material request processing unit
180: Unauthorized IP processing unit

Claims (22)

서버에 연결되어 상기 서버로의 UDP(User Datagram Protocol) 기반의 DDOS(Distributed Denial of Service) 공격을 차단하는 DDOS 공격 차단 장치로서,
임시 티켓 및 티켓이 발행된 IP 주소가 저장되는 티켓리스트를 포함하는 티켓리스트 데이터베이스;
UDP로 제1 질의 패킷을 수신하고, 상기 제1 질의 패킷을 송신한 클라이언트의 IP 주소가 상기 티켓리스트에 존재하는지 확인하는 티켓 확인부;
상기 클라이언트의 IP 주소가 상기 티켓리스트에 존재하지 않을 때, 상기 클라이언트가 신규 세션인지 판단하는 신규 세션 판단부;
상기 클라이언트가 신규 세션인 경우, 상기 제1 질의 패킷을 드롭하는 신규 세션 처리부; 및
상기 클라이언트로부터 제2 질의 패킷이 수신될 때, 상기 제2 질의 패킷을 분석함으로써 상기 클라이언트의 정상 여부를 판단하고, 상기 클라이언트가 정상 클라이언트로 판단될 때, 상기 클라이언트의 IP 주소에 티켓을 발행하고 상기 제2 질의 패킷을 서버로 송신하는 재질의 요청 처리부를 포함하는 것을 특징으로 하는 DDOS 공격 차단 장치.
A DDOS attack blocking device connected to a server to block a DDoS (Distributed Denial of Service) attack based on UDP (User Datagram Protocol)
A ticket list database including a temporary ticket and a ticket list in which an IP address on which a ticket is issued is stored;
A ticket confirmation unit for receiving a first query packet in UDP and confirming whether an IP address of a client transmitting the first query 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 is not present in the ticket list;
A new session processing unit for dropping the first query packet if the client is a new session; And
Determining whether the client is normal by analyzing the second query packet when a second query packet is received from the client, issuing a ticket to the IP address of the client when the client is determined to be a normal client, And a request processing unit for transmitting the second query packet to the server.
제1항에 있어서,
상기 신규 세션 처리부는 상기 클라이언트가 신규 세션인 경우, 상기 클라이언트의 IP 주소에 임시 티켓을 발행하고, 상기 티켓리스트를 갱신하는 것을 특징으로 하는 DDOS 공격 차단 장치.
The method according to claim 1,
Wherein the new session processing unit issues a temporary ticket to the IP address of the client and updates the ticket list when the client is a new session.
제2항에 있어서,
상기 제2 질의 패킷은 상기 임시 티켓이 발행된 클라이언트로부터 송신된 질의 패킷인 DDOS 공격 차단 장치.
3. The method of claim 2,
And the second query packet is a query packet transmitted from the client to which the temporary ticket was issued.
제1항에 있어서,
상기 신규 세션 처리부는 상기 클라이언트가 신규 세션이고 상기 제1 질의 패킷이 DNS 요청 패킷인 경우, 상기 제1 질의 패킷에 포함된 제1 DNS 요청 정보를 저장한 후, 상기 제1 질의 패킷을 드롭하는 것을 특징으로 하는 DDOS 공격 차단 장치.
The method according to claim 1,
The new session processing unit may store the first DNS request information included in the first query packet and drop the first query packet if the client is a new session and the first query packet is a DNS request packet Features a DDOS attack blocking device.
제4항에 있어서,
상기 재질의 요청 처리부는 제2 질의 패킷이 DNS 요청 패킷인 경우, 상기 제2 질의 패킷에 포함된 제2 DNS 요청 정보를 추출하고, 상기 제1 DNS 요청 정보와 상기 제2 DNS 요청 정보를 비교하며, 상기 제1 및 제2 DNS 요청 정보가 동일할 때 상기 클라이언트를 정상 클라이언트로 판단하는 것을 특징으로 하는 DDOS 공격 차단 장치.
5. The method of claim 4,
If the second query packet is a DNS request packet, the material request processing unit extracts second DNS request information included in the second query packet, compares the first DNS request information and the second DNS request information And determines that the client is a normal client when the first and second DNS request information are the same.
제4항에 있어서,
상기 재질의 요청 처리부는 상기 제2 질의 패킷이 DNS 요청 패킷인 경우, 상기 제2 질의 패킷에 포함된 제2 DNS 요청 정보를 추출하고, 상기 제1 DNS 요청 정보와 상기 제2 DNS 요청 정보를 비교하며, 상기 제1 및 제2 DNS 요청 정보가 상이할 때, 상기 제2 질의 패킷을 드롭하고, 상기 제2 질의 패킷을 송신한 클라이언트의 IP 주소를 블랙리스트에 추가하는 것을 특징으로 하는 DDOS 공격 차단 장치.
5. The method of claim 4,
The material request processing unit extracts second DNS request information included in the second query packet when the second query packet is a DNS request packet and compares the first DNS request information and the second DNS request information And drops the second query packet when the first and second DNS request information are different from each other and adds the IP address of the client that transmitted the second query packet to the black list. Device.
제1항에 있어서,
상기 재질의 요청 처리부는 제1 및 제2 질의 패킷이 DNS 요청 패킷이 아닌 다른 요청 패킷일 때, 상기 클라이언트를 정상 클라이언트로 판단하는 것을 특징으로 하는 DDOS 공격 차단 장치.
The method according to claim 1,
Wherein the material request processing unit determines that the client is a normal client when the first and second query packets are different request packets than the DNS request packet.
제1항에 있어서,
상기 클라이언트의 IP 주소가 티켓리스트에 존재하지 않을 경우 복수의 클라이언트들로부터 수신한 질의 세션수와 세션 허용치를 비교하는 세션 허용치 판단부를 더 포함하는 것을 특징으로 하는 DDOS 공격 차단 장치.
The method according to claim 1,
Further comprising a session tolerance value determiner for comparing the number of query sessions received from the plurality of clients with the session tolerance value when the IP address of the client is not present in the ticket list.
제8항에 있어서,
상기 세션 허용치 판단부는 상기 질의 세션수가 상기 세션 허용치를 초과할 때 상기 제1 질의 패킷을 드롭하고, 상기 신규 세션 판단부는 상기 질의 세션수가 상기 세션 허용치 이하일 때 동작되는 것을 특징으로 하는 DDOS 공격 차단 장치.
9. The method of claim 8,
Wherein the session tolerance determining unit drops the first query packet when the number of query sessions exceeds the session tolerance value, and the new session determiner is operated when the number of query sessions is less than or equal to the session tolerance value.
제1항에 있어서,
상기 신규 세션 처리부는 상기 클라이언트의 IP 주소에 대해 차단 제어 시간을 설정하고,
상기 재질의 요청 처리부는 상기 제2 질의 패킷이 상기 차단 제어 시간 내에 송신될 때 상기 제2 질의 패킷을 드롭하고, 상기 제2 질의 패킷을 송신한 클라이언트의 IP 주소를 블랙리스트에 추가하는 것을 특징으로 하는 DDOS 공격 차단 장치.
The method according to claim 1,
The new session processing unit sets a blocking control time for the IP address of the client,
Wherein the material request processing unit drops the second query packet when the second query packet is transmitted in the blocking control time and adds the IP address of the client that transmitted the second query packet to the black list DDOS attack blocking device.
제1항에 있어서,
상기 티켓 확인부는 상기 클라이언트의 IP 주소가 상기 티켓리스트에 포함되어 있는 경우, 상기 클라이언트로부터 수신한 제1 질의 패킷을 상기 서버로 송신하는 것을 특징으로 하는 DDOS 공격 차단 장치.
The method according to claim 1,
Wherein the ticket checking unit transmits the first query packet received from the client to the server when the IP address of the client is included in the ticket list.
제11항에 있어서,
상기 클라이언트의 IP 주소가 티켓리스트에 존재할 경우, 상기 클라이언트의 IP 주소가 오버플로우(overflow)인지, 및 상기 클라이언트의 IP 주소가 공격(attack) 중인지 중 적어도 하나를 검사하고, 상기 클라이언트의 IP 주소가 비정상으로 판단될 때 상기 제1 질의 패킷을 드롭하고, 상기 클라이언트의 IP 주소를 블랙리스트에 추가하는 한계치 및 공격 검사부를 더 포함하는 것을 특징으로 하는 DDOS 공격 차단 장치.
12. The method of claim 11,
If the IP address of the client is present in the ticket list, checking whether at least one of an overflow of the client IP address and an attack of the IP address of the client is detected, Further comprising a threshold value and an attack checking unit for dropping the first query packet when an abnormality is determined and adding the IP address of the client to the black list.
서버에 연결되는 DDOS 공격 차단 장치에 의해 수행되어, 상기 서버로의 UDP 기반의 DDOS 공격을 차단하는 DDOS 공격 차단 방법으로서,
티켓 확인부에 의해, UDP로 제1 질의 패킷을 수신하고, 상기 제1 질의 패킷을 송신한 클라이언트의 IP 주소가, 임시 티켓 및 티켓이 발행된 IP 주소가 저장되는 티켓리스트에 존재하는지 확인하는 단계;
신규 세션 판단부에 의해, 상기 클라이언트의 IP 주소가 상기 티켓리스트에 존재하지 않을 때, 상기 클라이언트가 신규 세션인지 판단하는 단계;
신규 세션 처리부에 의해, 상기 클라이언트가 신규 세션인 경우, 상기 제1 질의 패킷을 드롭하는 단계;
재질의 요청 처리부에 의해, 상기 클라이언트로부터 제2 질의 패킷이 수신될 때, 상기 제2 질의 패킷을 분석함으로써 상기 클라이언트의 정상 여부를 판단하는 단계; 및
상기 재질의 요청 처리부에 의해, 상기 클라이언트가 정상 클라이언트로 판단될 때, 상기 클라이언트의 IP 주소에 티켓을 발행하고 상기 제2 질의 패킷을 서버로 송신하는 단계를 포함하는 것을 특징으로 하는 DDOS 공격 차단 방법.
A DDOS attack blocking method performed by a DDOS attack blocking device connected to a server and blocking a UDP-based DDOS attack to the server,
Receiving a first query packet in UDP by the ticket checking unit and checking whether the IP address of the client that transmitted the first query packet exists in the ticket list in which the temporary ticket and the IP address on which the ticket is issued are stored ;
Determining whether the client is a new session when the IP address of the client is not present in the ticket list by the new session determination unit;
Dropping the first query packet by the new session processing unit if the client is a new session;
Determining whether the client is normal by analyzing the second query packet when a second query packet is received from the client by the request processing unit of the material; And
Issuing a ticket to the IP address of the client and transmitting the second query packet to the server when the client is determined to be a normal client by the material request processing unit .
제13항에 있어서, 상기 제1 질의 패킷을 드롭하는 단계 이전,
상기 신규 세션 처리부에 의해, 상기 클라이언트가 신규 세션인 경우, 상기 클라이언트의 IP 주소에 임시 티켓을 발행하고, 상기 티켓리스트를 갱신하는 단계를 더 포함하는 것을 특징으로 하는 DDOS 공격 차단 방법.
14. The method of claim 13, wherein prior to dropping the first query packet,
Further comprising: issuing a temporary ticket to the IP address of the client and updating the ticket list by the new session processing unit when the client is a new session.
제13항에 있어서,
상기 제1 질의 패킷을 드롭하는 단계는,
상기 클라이언트가 신규 세션이고 상기 제1 질의 패킷이 DNS 요청 패킷인 경우, 상기 제1 질의 패킷에 포함된 제1 DNS 요청 정보를 저장한 후 이루어지는 것을 특징으로 하는 DDOS 공격 차단 방법.
14. The method of claim 13,
Wherein dropping the first query packet comprises:
When the client is a new session and the first query packet is a DNS request packet, storing the first DNS request information included in the first query packet.
제15항에 있어서,
상기 클라이언트의 정상 여부를 판단하는 단계는,
상기 제2 질의 패킷이 DNS 요청 패킷인 경우, 상기 제2 질의 패킷에 포함된 제2 DNS 요청 정보를 추출하는 단계;
상기 제1 DNS 요청 정보와 상기 제2 DNS 요청 정보를 비교하는 단계; 및
상기 제1 및 제2 DNS 요청 정보가 동일할 때 상기 클라이언트를 정상 클라이언트로 판단하는 단계를 포함하는 것을 특징으로 하는 DDOS 공격 차단 방법.
16. The method of claim 15,
Wherein the step of determining whether the client is normal includes:
If the second query packet is a DNS request packet, extracting second DNS request information included in the second query packet;
Comparing the first DNS request information with the second DNS request information; And
And determining that the client is a normal client when the first and second DNS request information are the same.
제15항에 있어서,
상기 클라이언트의 정상 여부를 판단하는 단계는,
상기 제2 질의 패킷이 DNS 요청 패킷인 경우, 상기 제2 질의 패킷에 포함된 제2 DNS 요청 정보를 추출하는 단계;
상기 제1 DNS 요청 정보와 상기 제2 DNS 요청 정보를 비교하는 단계; 및
상기 제1 DNS 요청 정보 및 상기 제2 DNS 요청 정보가 상이할 때, 상기 클라이언트를 공격자 클라이언트로 판단하는 단계를 포함하고,
상기 클라이언트가 공격자 클라이언트로 판단될 때, 상기 제2 질의 패킷을 드롭하고, 상기 제2 질의 패킷을 송신한 클라이언트의 IP 주소를 블랙리스트에 추가하는 단계를 더 포함하는 것을 특징으로 하는 DDOS 공격 차단 방법.
16. The method of claim 15,
Wherein the step of determining whether the client is normal includes:
If the second query packet is a DNS request packet, extracting second DNS request information included in the second query packet;
Comparing the first DNS request information with the second DNS request information; And
Determining that the client is an attacker client when the first DNS request information and the second DNS request information are different,
Further comprising dropping the second query packet when the client is determined to be an attacker client and adding the IP address of the client that transmitted the second query packet to the black list .
제13항에 있어서,
상기 클라이언트의 정상 여부를 판단하는 단계는 제1 및 제2 질의 패킷이 DNS 요청 패킷이 아닌 다른 요청 패킷일 때, 상기 클라이언트를 정상 클라이언트로 판단하는 단계를 더 포함하는 것을 특징으로 하는 DDOS 공격 차단 방법.
14. The method of claim 13,
Wherein the step of determining whether the client is normal may further include determining that the client is a normal client when the first and second query packets are request packets other than the DNS request packet .
제13항에 있어서,
세션 허용치 판단부에 의해, 상기 클라이언트의 IP 주소가 티켓리스트에 존재하지 않을 경우 복수의 클라이언트들로부터 수신한 질의 세션수와 세션 허용치를 비교하는 단계를 더 포함하는 것을 특징으로 하는 DDOS 공격 차단 방법.
14. The method of claim 13,
And comparing the session tolerance value with the number of query sessions received from the plurality of clients when the IP address of the client is not present in the ticket list, by the session tolerance determining unit.
제19항에 있어서,
상기 세션 허용치 판단부에 의해, 상기 질의 세션수가 상기 세션 허용치를 초과할 때 상기 제1 질의 패킷을 드롭하는 단계를 더 포함하고,
상기 클라이언트가 신규 세션인지 판단하는 단계는 상기 질의 세션수가 상기 세션 허용치 이하일 때 이루어지는 것을 특징으로 하는 DDOS 공격 차단 방법.
20. The method of claim 19,
Further comprising dropping the first query packet by the session tolerance value determination unit when the number of query sessions exceeds the session tolerance value,
Wherein the step of determining whether the client is a new session is performed when the number of query sessions is less than or equal to the session tolerance value.
제13항에 있어서,
상기 신규 세션 처리부에 의해, 상기 클라이언트의 IP 주소에 대해 차단 제어 시간을 설정하는 단계를 더 포함하고,
상기 클라이언트의 정상 여부를 판단하는 단계는,
상기 제2 질의 패킷이 상기 차단 제어 시간 내에 송신될 때 상기 제2 질의 패킷을 드롭하고, 상기 제2 질의 패킷을 송신한 클라이언트의 IP 주소를 블랙리스트에 추가하는 단계를 포함하는 것을 특징으로 하는 DDOS 공격 차단 방법.
14. The method of claim 13,
Further comprising setting, by the new session processing unit, a blocking control time for the IP address of the client,
Wherein the step of determining whether the client is normal includes:
Dropping the second query packet when the second query packet is transmitted within the block control time and adding the IP address of the client that transmitted the second query packet to the blacklist. How to block attacks.
제13항에 있어서,
상기 티켓 확인부에 의해, 상기 클라이언트의 IP 주소가 상기 티켓리스트에 포함되어 있는 경우, 상기 클라이언트로부터 수신한 제1 질의 패킷을 상기 서버로 송신하는 단계를 더 포함하는 것을 특징으로 하는 DDOS 공격 차단 방법.
14. The method of claim 13,
Further comprising the step of transmitting the first query packet received from the client to the server when the IP address of the client is included in the ticket list by the ticket checking unit .
KR1020170132760A 2017-10-12 2017-10-12 Apparatus and method for blocking ddos attack KR102027438B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170132760A KR102027438B1 (en) 2017-10-12 2017-10-12 Apparatus and method for blocking ddos attack

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170132760A KR102027438B1 (en) 2017-10-12 2017-10-12 Apparatus and method for blocking ddos attack

Publications (2)

Publication Number Publication Date
KR20190041324A true KR20190041324A (en) 2019-04-22
KR102027438B1 KR102027438B1 (en) 2019-10-02

Family

ID=66282929

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170132760A KR102027438B1 (en) 2017-10-12 2017-10-12 Apparatus and method for blocking ddos attack

Country Status (1)

Country Link
KR (1) KR102027438B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114567484A (en) * 2022-02-28 2022-05-31 天翼安全科技有限公司 Message processing method and device, electronic equipment and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100481614B1 (en) 2002-11-19 2005-04-08 한국전자통신연구원 METHOD AND APPARATUS FOR PROTECTING LEGITIMATE TRAFFIC FROM DoS AND DDoS ATTACKS
KR100858271B1 (en) * 2007-11-27 2008-09-11 주식회사 나우콤 Method and system for defensing distributed denial of service
KR20110061784A (en) * 2009-12-02 2011-06-10 한국전자통신연구원 Method and apparatus for preventing network attacks, method and apparatus for processing transmission and receipt of packet comprising the same
JP2015158881A (en) * 2014-02-25 2015-09-03 株式会社ウェブサービス・ディベロップメント Access propriety management system and program for preventing session hijack
KR101713909B1 (en) * 2015-10-05 2017-03-09 주식회사 윈스 Method for defending network using white domain and apparatus therefor

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100481614B1 (en) 2002-11-19 2005-04-08 한국전자통신연구원 METHOD AND APPARATUS FOR PROTECTING LEGITIMATE TRAFFIC FROM DoS AND DDoS ATTACKS
KR100858271B1 (en) * 2007-11-27 2008-09-11 주식회사 나우콤 Method and system for defensing distributed denial of service
KR20110061784A (en) * 2009-12-02 2011-06-10 한국전자통신연구원 Method and apparatus for preventing network attacks, method and apparatus for processing transmission and receipt of packet comprising the same
JP2015158881A (en) * 2014-02-25 2015-09-03 株式会社ウェブサービス・ディベロップメント Access propriety management system and program for preventing session hijack
KR101713909B1 (en) * 2015-10-05 2017-03-09 주식회사 윈스 Method for defending network using white domain and apparatus therefor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114567484A (en) * 2022-02-28 2022-05-31 天翼安全科技有限公司 Message processing method and device, electronic equipment and storage medium
CN114567484B (en) * 2022-02-28 2024-03-12 天翼安全科技有限公司 Message processing method and device, electronic equipment and storage medium

Also Published As

Publication number Publication date
KR102027438B1 (en) 2019-10-02

Similar Documents

Publication Publication Date Title
US8881281B1 (en) Application and network abuse detection with adaptive mitigation utilizing multi-modal intelligence data
US8661522B2 (en) Method and apparatus for probabilistic matching to authenticate hosts during distributed denial of service attack
KR101231975B1 (en) Method of defending a spoofing attack using a blocking server
Chapade et al. Securing cloud servers against flooding based DDoS attacks
US20080028073A1 (en) Method, a Device, and a System for Protecting a Server Against Denial of DNS Service Attacks
KR101812403B1 (en) Mitigating System for DoS Attacks in SDN
CN106850690B (en) Honeypot construction method and system
KR20130014226A (en) Dns flooding attack detection method on the characteristics by attack traffic type
KR20080028381A (en) Method for defending against denial of service attacks in ip networks by target victim self-identification and control
US20070289014A1 (en) Network security device and method for processing packet data using the same
KR20080026122A (en) Method for defending against denial of service attacks in ip networks by target victim self-identification and control
KR100769221B1 (en) Confrontation system preparing for zeroday attack and confrontation method thereof
US11310265B2 (en) Detecting MAC/IP spoofing attacks on networks
KR20130035600A (en) Method and apparatus for preventing data loss
KR102027438B1 (en) Apparatus and method for blocking ddos attack
KR20130009130A (en) Apparatus and method for dealing with zombie pc and ddos
KR102027434B1 (en) Security apparatus and method for operating the same
CN112491911B (en) DNS distributed denial of service defense method, device, equipment and storage medium
JP2006501527A (en) Method, data carrier, computer system, and computer program for identifying and defending attacks against server systems of network service providers and operators
US20180331957A1 (en) Policy Enforcement Based on Host Value Classification
RU183015U1 (en) Intrusion detection tool
US10182071B2 (en) Probabilistic tracking of host characteristics
KR102491738B1 (en) Mitigating method for DoS Attacks employing data distribution in SDN
JP2007074087A (en) SYSTEM AND PROGRAM FOR DETECTING UNAUTHORIZED ACCESS AIMING AT DDoS ATTACK
Hamdani et al. Detection of DDOS attacks in cloud computing environment

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