KR100882809B1 - DDoS PROTECTION SYSTEM AND METHOD IN PER-FLOW BASED PACKET PROCESSING SYSTEM - Google Patents
DDoS PROTECTION SYSTEM AND METHOD IN PER-FLOW BASED PACKET PROCESSING SYSTEM Download PDFInfo
- Publication number
- KR100882809B1 KR100882809B1 KR1020070070788A KR20070070788A KR100882809B1 KR 100882809 B1 KR100882809 B1 KR 100882809B1 KR 1020070070788 A KR1020070070788 A KR 1020070070788A KR 20070070788 A KR20070070788 A KR 20070070788A KR 100882809 B1 KR100882809 B1 KR 100882809B1
- Authority
- KR
- South Korea
- Prior art keywords
- flow
- packets
- packet
- malicious
- network
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
Abstract
본 발명은 고속 트래픽(1Gbps)을 위한 플로우 기반 패킷 처리방식의 분산 서비스 거부 공격(DDoS) 방어 시스템 및 방법을 개시한다.
본 발명의 시스템은, 노드장치를 지나는 패킷을 플로우별로 모니터링하여 악의적인 패킷을 검출하여 망으로 전파되는 것을 차단하기 위한 시스템에 있어서, 차단을 위한 악의적인 플로우의 정보를 유지하는 필터 룰 벡터 리스트; 플로우별로 정보를 저장하고 있는 플로우 정보 테이블; 상기 노드 장치들에 실장되어 상기 노드를 통과하는 패킷들을 추출하고, 상기 필터 룰 벡터 리스트에 설정된 룰에 따라 악의적인 패킷을 차단하는 네트워크 모니터링 카드; 상기 네트워크 모니터링 카드로부터 추출된 패킷을 분석하여 플로우별로 정보를 추출하여 상기 플로우 정보 테이블을 갱신하는 트래픽 모니터링 컴포넌트부; 및 상기 플로우 정보 테이블을 분석하여 해당 플로우가 악의적인 플로우인지를 판단하고, 악의적인 플로우가 검출되면 상기 필터 룰 벡터 리스트에 등록하여 포워딩 정책을 정의하는 디디오에스(DDoS) 방어 컴포넌트부로 구성된다. 본 발명은 DAG 4.3 GE 카드를 이용하여 1Gbps 급의 초고속 네트워크에서도 효율적으로 DDoS 공격을 차단할 수 있다.
DDoS, 패킷, 플로우, 플로우 정보 테이블, 공격, 방어, 네트워크 모니터링
The present invention discloses a distributed denial of service (DDoS) defense system and method for flow-based packet processing for high speed traffic (1 Gbps).
A system for monitoring a packet passing through a node device on a flow-by-flow basis to detect malicious packets and block them from propagating to a network, the system comprising: a filter rule vector list for maintaining information of malicious flows for blocking; A flow information table storing information for each flow; A network monitoring card mounted on the node devices to extract packets passing through the node and block malicious packets according to a rule set in the filter rule vector list; A traffic monitoring component unit for analyzing the packets extracted from the network monitoring card and extracting information for each flow to update the flow information table; And analyzing the flow information table to determine whether the flow is a malicious flow, and if a malicious flow is detected, registers in the filter rule vector list to define a forwarding policy. The present invention can effectively block DDoS attacks even in a 1Gbps high-speed network using the DAG 4.3 GE card.
DDoS, Packet, Flow, Flow Information Table, Attack, Defense, Network Monitoring
Description
도 1은 분산 서비스 거부 공격(DDoS) 공격의 일반적인 구조를 도시한 개략도,1 is a schematic diagram illustrating a general structure of a distributed denial of service attack (DDoS) attack;
도 2는 일반적인 D-WARD의 구조를 도시한 개략도,2 is a schematic diagram showing the structure of a typical D-WARD;
도 3은 본 발명에 따라 분산 서비스 거부 공격을 방어하기 위한 전체 구조를 도시한 도면,3 is a diagram showing the overall structure for defending a distributed denial of service attack according to the present invention;
도 4는 본 발명에 사용되는 네트워크 모니터링 카드의 구성 블럭도.4 is a block diagram of a network monitoring card used in the present invention.
도 5는 도 4에 도시된 네트워크 모니터링 카드의 외형도,5 is an external view of the network monitoring card shown in FIG. 4;
도 6은 본 발명에 따른 네트워크 모니터링 카드의 프로그램 구조도.6 is a program structure diagram of a network monitoring card according to the present invention.
도 7은 본 발명에 따라 분산 서비스 거부 공격을 방어하기 위한 절차를 도시한 순서도.7 is a flow chart illustrating a procedure for defending a distributed denial of service attack in accordance with the present invention.
*도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings
301: 네트워크 모니터링 카드 302,303: 포트301: network monitoring card 302,303: port
304: DAG 스니퍼 305: 드롭퍼304: DAG Sniffer 305: Dropper
306: 트래픽 모니터링 컴포넌트 307: DDoS 방어 컴포넌트306: Traffic monitoring component 307: DDoS defense component
308: 필터 룰 벡터 309: 플로우 정보 테이블308: filter rule vector 309: flow information table
310: 악의적인 패킷 마킹부 310: malicious packet marking unit
본 발명은 네트워크 자원을 보호하기 위한 보안기술에 관한 것으로, 더욱 상세하게는 고속 트래픽(1Gbps)을 위한 플로우 기반 패킷 처리방식의 분산 서비스 거부 공격(DDoS) 방어 시스템 및 방법에 관한 것이다.The present invention relates to a security technique for protecting network resources, and more particularly, to a distributed denial of service (DDoS) defense system and method for flow-based packet processing for high-speed traffic (1Gbps).
일반적으로, 분산 서비스 거부 공격(DDoS: Distributed Denial-of_service)이란 인터넷 상의 특정 웹 서버와 같은 목표 시스템 및 네트워크로 순간적으로 다량의 데이터를 보냄으로써 해당 시스템 및 네트워크가 정상적으로 동작하지 못하게 방해하는 것을 말한다.In general, a distributed denial-of-service attack (DDoS) refers to interrupting a system and a network from operating normally by instantaneously sending a large amount of data to a target system and a network such as a specific web server on the Internet.
도 1은 DDoS 공격의 일반적인 구조를 보여준다. 공격자(101)는 네트워크상의 보안이 허술한 시스템들(102, 103)을 이용하여 동시에 여러 곳에서 많은 양의 공격 트래픽(104)을 발생시켜 목표 희생자(105)에게 보낸다. 공격 트래픽(104)의 종류로는 TCP SYN 플로딩(flooding), ICMP 플로딩(flooding), UDP 플로딩(flooding)이 있다. 특히, TCP SYN 플로딩(flooding) 같은 경우 서버에게 지속적으로 SYN 패킷만을 보냄으로서, 많은 TCP 연결로 인해 서버의 자원을 고갈시키게 된다. 분산 서비스 거부 공격(DDos)에 따른 피해로는 네트워크를 통한 서비스의 거부(Denial of Service)와 함께 네트워크에 큰 부하를 주게 된다. 이러한 공격 흐름은 겉으로는 정상적으로 보이기 때문에 이런 공격을 감지하는 기술이 핵심이다. 공격 트래픽의 흐름 중 공격을 감지하는 방법으로 공격자(source/attacker)측면에서 감지하는 방법, 목적지(destination/victim)측면에서 감지하는 방법, 및 코어 네트워크에서 감지하는 방법이 있다. 그리고 그 대표적인 기술로 푸시백(Pushback) 기법과 역추적(Traceback) 기법이 있다.1 shows the general structure of a DDoS attack. The
푸시백(Pushback) 기법은 네트워크상의 개별 라우터의 패킷 차단(packet drop) 통계를 관찰하면서 이루어진다. 분산된 곳에서 발생된 DDoS 공격 패킷은 여러 경로를 통해 목적지로 도착하게 되고, 공격 패킷이 몰리게 된 목적지에 가까운 라우터에서는 처리할 수 있는 드롭테일(Droptail) 혹은 RED에 의해 많은 패킷을 차단하게 된다. 이렇게 순간적으로 패킷 차단이 증가한 경우 패킷을 보낸 경로로 푸시백(Pushback) 메시지를 전달하게 된다. 메시지를 전달받은 라우터는 해당 플로우에 대한 패킷의 전달을 차단하고, 계속해서 패킷이 온 경로를 향해 푸시백(Pushback) 메시지를 전달함으로써 전체적으로 공격 패킷의 전달을 막을 수 있게 된다.Pushback is accomplished by observing packet drop statistics for individual routers on the network. DDoS attack packets generated from distributed places arrive at the destination through various paths, and many packets are blocked by Droptail or RED that can be processed by the router close to the destination where the attack packet was collected. When packet blocking increases in this moment, a pushback message is transmitted to a path from which a packet is sent. The router receiving the message blocks the delivery of the packet to the flow and continues to deliver the attack packet by forwarding the pushback message toward the on-path of the packet.
IP 역추적(IP traceback) 기법은 공격 피해 시스템 관리자에게 DDoS 공격의 실제적인 공격 근원지 IP 주소를 알려주는 기능을 제공한다. IP 역추적 기법은 대응 방식에 따라 전향적 역추적 기술(proactive IP traceback)과 대응적 역추적 기 술(reactive IP traceback)로 나눌 수 있다. 첫번째, 전향적 역추적 기술은 네트워크상에 패킷이 전송되는 과정에서 사전에 역추적 경로 정보를 생성하여 패킷에 삽입하거나 목적지로 전달하여 주기적으로 관리하면서 만일 해킹 공격이 발생하면 이미 생성, 수집된 정보를 이용하여 해킹 공격 근원지를 판별하는 기법이다. 링크 검사법(link testing), 로깅 기법(logging) 등의 초기 대응 기법과 능동적인 IP 역추적 기법으로 패킷에 대한 확률적 마킹(probabilistic packet marking) 기법과 전통적인 ICMP 메시지를 변형한 iTrace(ICMP traceback) 기법 등이 있다. 두번째, 대응적 역추적 기술은 해킹 공격이 발생하였을 경우 피해 시스템에서 해킹 트래픽 연결에 대한 경로를 홉 단계로 추적해 가는 방식이다. 구체적인 기법은 오버레이(overlay) 네트워크 방식, 해쉬 기반 역추적 기술, 및 IPSec 기반의 역추적 기법 등으로 나눌 수 있다. The IP traceback technique provides the attack victim system administrator with the IP address of the actual attack source of the DDoS attack. IP traceback techniques can be divided into proactive IP traceback and reactive IP traceback, depending on the countermeasure. First, the proactive traceback technology generates the traceback path information in advance during packet transmission on the network and inserts it into the packet or forwards it to the destination to manage it periodically. If a hacking attack occurs, the information already generated and collected This is a technique to determine the origin of hacking attack using. Probabilistic packet marking and iTrace (ICMP traceback), a variation of traditional ICMP messages, with initial countermeasures such as link testing and logging, and active IP traceback. Etc. Second, in response to a hacking attack, the counter traceback technique tracks the path to the hacked traffic connection in a hop phase in the victim system. Specific techniques may be divided into an overlay network scheme, a hash-based traceback technique, and an IPSec-based traceback technique.
D-WARD (DDoS Attack Recognition and Defence)는 공격 송신단 라우터에서 이러한 기능을 수행할 수 있도록 하는 것으로서, 네트워크 혼잡을 최소화할 수 있다. 라우터의 이그레스(egress) 노드를 지나는 모든 플로우를 구분하여, 이 플로우에서 송신(send) 패킷과 수신(receive) 패킷의 수를 셈한다. 정상적인 플로우라면 송신(send) 패킷과 수신(receive) 패킷 사이에는 일정 수를 넘지 않는 비율이 존재하게 된다. 따라서 어떤 플로우가 이 일정비율을 초과하게 될 때 이상 플로우로 인식하고 차단을 시도하게 된다. 도 2는 D-WARD의 구조를 나타내고 있다.DoS Attack Recognition and Defense (D-WARD) enables the attack originating router to perform this function, thereby minimizing network congestion. All flows passing through the egress node of the router are distinguished and the number of send and receive packets is counted in this flow. In the normal flow, there is a ratio not exceeding a certain number between the send packet and the receive packet. Therefore, when a flow exceeds this certain ratio, it is recognized as an abnormal flow and tries to block. 2 shows the structure of the D-WARD.
한편, 현재 일반적으로 종단급에 제공되고 있는 네트워크 속도는 이제 100Mbps에서 1Gbps 급으로 빨라지고 있다. 네트워크 속도가 빨라지고 있는 만큼 DDoS 공격의 위력은 더욱 커지게 된다. 따라서 DDoS 공격을 감지하고 막아줄 수 있는 능력도 1Gbps급을 처리할 수 있어야 한다. On the other hand, the network speeds that are currently offered at the end-level are now increasing from 100 Mbps to 1 Gbps. As the network speeds up, the power of DDoS attacks increases. Therefore, the ability to detect and stop DDoS attacks should also be able to handle 1Gbps.
그런데 기존의 기술들은 이미 네트워크에 많은 부하가 걸리고 나서야 DDoS 공격을 감지하고 공격 근원지를 찾아 네트워크상의 장비들(라우터)로 하여금 패킷의 전송을 막게 한다. 하지만 Gbps급 이상의 초고속 네트워크 환경에서는 종래기술의 대처로는 이미 많은 피해를 입고 난 후가 된다. 따라서 보다 빠르게 DDoS 공격을 감지할 수 있도록 해야 한다.Existing technologies, however, have already put a lot of load on the network to detect DDoS attacks and find the source of the attack so that devices (routers) on the network can block the transmission of packets. However, in the high-speed network environment above the Gbps level, the prior art measures have already suffered a lot of damage. Therefore, the DDoS attack should be detected more quickly.
본 발명은 상기와 같은 필요성을 충족시키기 위하여 제안된 것으로, 본 발명의 목적은 인터넷의 악성 DDoS 공격(특히 SYN Flooding, ICMP Flooding) 패킷을 공격자(Source-End) 네트워크에서 감지하고 그 전달을 막음으로써 네트워크 및 서비스를 보호하기 위한 고속 트래픽을 위한 플로우 기반 패킷 처리방식의 분산 서비스 거부 공격 방어 시스템 및 방법을 제공하는 것이다.The present invention has been proposed to meet the above necessity, and an object of the present invention is to detect malicious DDoS attacks (especially SYN Flooding, ICMP Flooding) packets in the source network and prevent their transmission. It is to provide a distributed denial of service attack defense system and method of flow-based packet processing for high-speed traffic to protect the network and services.
상기와 같은 목적을 달성하기 위하여 본 발명의 시스템은, 노드장치를 지나는 패킷을 플로우별로 모니터링하여 악의적인 패킷을 검출하여 망으로 전파되는 것을 차단하기 위한 시스템에 있어서, 차단을 위한 악의적인 플로우의 정보를 유지하는 필터 룰 벡터 리스트; 플로우별로 정보를 저장하고 있는 플로우 정보 테이 블; 상기 노드 장치들에 실장되어 상기 노드를 통과하는 패킷들을 추출하고, 상기 필터 룰 벡터 리스트에 설정된 룰에 따라 악의적인 패킷을 차단하는 네트워크 모니터링 카드; 상기 네트워크 모니터링 카드로부터 추출된 패킷을 분석하여 플로우별로 정보를 추출하여 상기 플로우 정보 테이블을 갱신하는 트래픽 모니터링 컴포넌트부; 및 상기 플로우 정보 테이블을 분석하여 해당 플로우가 악의적인 플로우인지를 판단하고, 악의적인 플로우가 검출되면 상기 필터 룰 벡터 리스트에 등록하여 포워딩 정책을 정의하는 디디오에스(DDoS) 방어 컴포넌트부를 구비한 것을 특징으로 한다.In order to achieve the above object, the system of the present invention is a system for monitoring a packet passing through a node device for each flow to block malicious packets from being transmitted to the network, and the information of malicious flow for blocking A filter rule vector list that maintains; A flow information table storing information for each flow; A network monitoring card mounted on the node devices to extract packets passing through the node and block malicious packets according to a rule set in the filter rule vector list; A traffic monitoring component unit for analyzing the packets extracted from the network monitoring card and extracting information for each flow to update the flow information table; And analyzing the flow information table to determine whether the corresponding flow is a malicious flow, and if a malicious flow is detected, registers in the filter rule vector list to define a forwarding policy. It is done.
상기 트래픽 모니터링 컴포넌트부는 추출된 패킷의 발신지 IP 주소, 목적지 IP 주소, 발신지 포트번호, 목적지 포트번호, 프로토콜 타입을 키 값으로 하여 해쉬함수를 통해 플로우를 구분하고, 상기 디디오에스(DDoS) 방어 컴포넌트부는 상기 플로우 정보 테이블을 관찰하면서 악의적인 플로우를 찾아내고, 소정의 타이머를 두어 일정 시간동안 악의적인 플로우의 공격이 지속되지 않으면 공격이 멈춘 것으로 판단하여 해당 플로우를 상기 필터 룰 벡터 리스트에서 제거한다.The traffic monitoring component unit classifies the flow through a hash function using the source IP address, the destination IP address, the source port number, the destination port number, and the protocol type of the extracted packet as key values, and the DDS defense component unit By observing the flow information table, the malicious flow is found, and a predetermined timer is set, and if the attack of the malicious flow does not continue for a predetermined time, the attack is stopped and the flow is removed from the filter rule vector list.
또한 상기와 같은 목적을 달성하기 위하여 본 발명의 방법은, 네트워크 모니터링 카드에서 패킷을 추출하는 단계; 상기 추출된 패킷을 발신지 IP 주소, 목적지 IP 주소, 발신지 포트번호, 목적지 포트번호, 프로토콜 타입 데이터를 키 값으로 하여 해쉬함수를 통해 플로우를 구분하고, 각 플로우별로 정보를 추출하여 플로우 정보 테이블을 갱신하는 단계; 상기 플로우 정보 테이블을 분석하여 악의적인 플로우를 검출하면 필터 룰 벡터 리스트에 악의적인 플로우를 등록하는 단계; 및 상기 필터 룰 벡터 리스트에 등록된 패킷을 차단하여 악의적인 플로우가 네트워크로 전파되는 것을 방지하는 단계를 구비한다. 상기 분산 서비스 거부 공격 방어 방법은 소정의 타이머를 이용하여 일정 시간동안 유해한 플로우의 공격이 지속되지 않으면 공격이 멈춘 것으로 판단하여 해당 플로우를 상기 필터 룰 벡터 리스트에서 제거하는 단계를 더 구비한다.In addition, to achieve the above object, the method of the present invention comprises the steps of: extracting a packet from the network monitoring card; Using the extracted packet as a source value, source IP address, destination IP address, source port number, destination port number, and protocol type data, the flow is classified through a hash function, and information is extracted for each flow to update the flow information table. Doing; Analyzing the flow information table to detect a malicious flow and registering the malicious flow in a filter rule vector list; And blocking the packet registered in the filter rule vector list to prevent malicious flow from propagating to the network. The distributed denial of service attack defense method further includes the step of removing the flow from the filter rule vector list by determining that the attack is stopped if the attack of the harmful flow does not continue for a predetermined time using a predetermined timer.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 자세히 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
본 발명의 실시예에서는 DAG 4.3GE 기가비트 네트워크 모니터링 카드의 최대 2.4Gbps 속도로 패킷을 캡처할 수 있는 능력을 사용하여 기본적인 패킷 전달 기능에 DDoS 공격 방어 기능을 추가한 것이다. 즉, 본 발명은 패킷을 캡쳐하고 포워딩(forwarding) 정책을 수행하는 트래픽 폴리싱 컴포넌트(Traffic-policing Component)와, 패킷의 플로우(flow)를 구분하는 트래픽 모니터링 컴포넌트(Traffic Monitoring Component)와, 악의적인 플로우(flow)인지를 판단하고 포워딩(forwarding) 정책을 정의하는 디디오에스 방어 컴포넌트(DDoS Protection Component)로 구성된다.In the embodiment of the present invention, the DDoS attack defense function is added to the basic packet forwarding function by using the ability of the DAG 4.3GE gigabit network monitoring card to capture packets at a maximum speed of 2.4 Gbps. In other words, the present invention is a traffic-policing component for capturing a packet and performing a forwarding policy, a traffic monitoring component for distinguishing a flow of a packet, and a malicious flow. It consists of a DDoS Protection Component that determines whether it is a flow and defines a forwarding policy.
첫번째, 트래픽 폴리싱 컴포넌트(Traffic-policing Component)는 DAG 카드에서 제공하는 라이브러리를 사용한다. DAG 카드는 두 개의 광 포트를 가지고 있으며 트래픽은 이 두 포트를 통해 지나가게 된다. 제공되는 유틸리티에는 DAG 카드에서 패킷을 캡쳐하고 필터링하는 API가 포함되어 있다.First, the traffic-policing component uses a library provided by the DAG card. The DAG card has two optical ports and traffic flows through these two ports. The provided utility includes an API to capture and filter packets on the DAG card.
두번째, 트래픽 모니터링 컴포넌트(Traffic Monitoring Component)는 DAG 카드에서 캡쳐된 패킷들을 구분하고, 이것을 플로우별로 구분하여 플로우 정보 테이블(FlowInfoTable)에 저장하게 된다. 기본적으로 5-tuples (source/destination IP, source/destination port numbers, type of protocol)과 함께 송신 패킷과 수신 패킷의 수를 저장한다. 여기서, 플로우의 구분은 위의 5-tuples을 통해 ELF 해쉬(hash) 함수를 통해 구분되며, 키 큐(KeyQueue)에 플로우 정보 테이블(FlowInfoTable)의 키(Key)값을 저장하게 된다.Second, the traffic monitoring component classifies the packets captured by the DAG card, and classifies the packets by flow and stores them in a flow information table. Basically, it stores the number of transmitted and received packets with 5-tuples (source / destination IP, source / destination port numbers, type of protocol). Here, the flow is classified through the ELF hash function through the above 5-tuples, and stores the key value of the flow information table (FlowInfoTable) in the key queue.
세번째, 디디오에스 방어 컴포넌트(DDoS Protection Component)에서는 플로우 정보 테이블(FlowInfoTable)에 저장된 정보들을 감시하며, 각 플로우의 유해성 여부를 판단한다. 플로우 정보 테이블(FlowInfoTable)에서 각 플로우의 송신 패킷과 수신 패킷의 비율을 계산하는 과정을 가진다. TCP 플로우의 경우 받은 패킷의 수(Prcv)에 대한 보낸 패킷의 수(Psent)가 TCPrto(set to 3)을 초과하거나 ICMP 플로우의 경우 ICMPrto(set to 1.1)을 넘게 되었을 때 유해한 플로우로 판단하고, DAG 카드의 필터 규칙(filter rule)에 해당 플로우를 가지는 패킷이 드롭(drop)될 수 있도록 적용시킨다. 이러한 규칙(rule)의 적용은 일정시간 (대략, 30초 ~ 1분) 정도만 유지하도록 한다. 일반적으로 DDoS 공격은 1분 이내에 폭발적으로 작용하기 때문이다. 따라서 빠른 플로우의 분류를 통한 DDoS 공격의 감지가 필요한 것이다. 또한 요즘은 주로 TCP 플로드(flood)를 통한 DDoS 공격이 많이 이루어진다. 따라서 이러한 패턴의 공격을 감지하기 위해 TCP 연결 수립과정의 SYN 패킷과 SYN+ACK 패킷의 비율을 비교하여 DDoS 공격을 감지하고 막을 수 있다. 또한 플로우 정보 테이 블(FlowInfoTable)은 65536개의 엔트리로 링크드 리스트(linked-list) 구조로 이루어져 있다.Third, the DOSS Protection Component monitors the information stored in the FlowInfoTable and determines whether each flow is harmful. A flow information table (FlowInfoTable) has a process of calculating the ratio of the transmission packet and the reception packet of each flow. In case of TCP flow, the number of sent packets (Psent) for received packets (Prcv) exceeds TCPrto (set to 3) or ICMPrto (set to 1.1) for ICMP flows. The filter rule of the DAG card is applied to allow the packet having the flow to be dropped. The application of these rules should only be maintained for a certain amount of time (approximately 30 seconds to 1 minute). This is because DDoS attacks typically explode within one minute. Therefore, it is necessary to detect DDoS attack through fast flow classification. Also these days, many DDoS attacks occur mainly through TCP flood. Therefore, in order to detect such a pattern attack, the DDoS attack can be detected and prevented by comparing the ratio of SYN packets and SYN + ACK packets in the TCP connection establishment process. In addition, the FlowInfoTable is composed of a linked-list structure with 65536 entries.
도 3은 본 발명에 따라 분산 서비스 거부 공격(DDoS)을 방어하기 위한 전체 구조를 도시한 도면이고, 도 4는 본 발명에 사용되는 네트워크 모니터링 카드의 구성 블럭도이며, 도 5는 도 4에 도시된 네트워크 모니터링 카드의 외형도이고, 도 6은 본 발명에 따른 네트워크 모니터링 카드의 프로그램 구조도이다.3 is a diagram showing the overall structure for defending a distributed denial of service attack (DDoS) according to the present invention, Figure 4 is a block diagram of a network monitoring card used in the present invention, Figure 5 is shown in Figure 4 6 is an external view of the network monitoring card, and FIG. 6 is a program structure diagram of the network monitoring card according to the present invention.
도 3을 참조하면, 본 발명은 라우터와 같은 노드 장치들에 실장되는 네트워크 모니터링 카드(301)와, 네트워크 모니터링 카드(301)를 동작시키기 위한 소프트웨어 모듈인 트래픽 모니터링 컴포넌트(306), 악의적인 플로우(flow)인지를 판단하고 포워딩(forwarding) 정책을 정의하는 DDoS 방어 컴포넌트(307)로 구성된다. Referring to FIG. 3, the present invention provides a
본 발명의 실시예에서 네트워크 모니터링 카드(301)는 도 4에 도시된 바와 같이 구성되는 DAG 4.3 GE 카드로서, 2개의 광 포트(302,303)와 DAG 스니퍼 (304)및 드롭퍼(305)를 포함하고, 두 노드 사이의 풀 듀플렉스(full-duplex) 링크 사이에 연결되어 데이터를 주고받는다. DAG 카드 내부에서 DAG 스니퍼(304)는 지나가는 패킷을 읽고 수정하는 역할을 하고, 드롭퍼(305)는 미리 정의된 정책에 의해서 패킷을 차단하는 역할을 한다. 본 발명은 이러한 네트워크 모니터링 카드(301)상에 트래픽 모니터링 컴포넌트(306)와 DDoS 방어 컴포넌트(307)를 추가하여 읽어 들인 패킷의 정보로 플로우 정보 테이블(FlowInfoTable: 309)로 만들고 유지하면서 DDoS 공격을 감지한다.In the embodiment of the present invention, the
본 발명의 실싱에서 네트워크 모니터링 카드(301)로 사용되는 DAG 4.3 GE는 도 4에 도시된 바와 같이, 2개의 광학 모듈, 프레이머(Framer), DAG 4.3 FPGA, FIFO, 코프로세서 커넥터(Coprocessor connector), 플래시 메모리, CPLD, LED들, 동기입출력, 타이밍 스탬프 클럭으로 구성되어 10/100 및 기가비트 이더넷(Gigabit Ethernet Networks) 상의 응용(Application)에서 헤더 온리(Header only) 또는 가변길이(Variable Length)로 패킷을 캡춰(Packet Capture)할 수 있다. 2개의 포트는 독립적으로 2채널 상에서 동시에 풀 라인 속도(Full Line Rate)로 전송 및 수신이 가능하다. 또한 1개의 카드로 풀 듀플렉스 링크(Full Duplex Link) 상의 양방향 모니터링 및 전송이 가능하며, 인라인(Inline)으로 동작할 수 있다.DAG 4.3 GE used as a
이러한 DAG 4.3 GE 카드는 도 5에 도시된 바와 같이, 1번 LED가 파란색으로 점등되면 FPGA 이미지가 DAG Card 칩셋에 성공적으로 구성(configuration)이 되었다는 것을 나타낸다. 3번과 5번 LED가 녹색으로 점등되면 Port A, B의 링크(Link)가 정상적으로 작동되고 있음을 의미하고, 4번과 6번 LED가 점등되면 Port A, B의 링크(Link)에 에러(error)가 발생했음을 의미한다. 2번 LED는 데이터 캡춰(Data capture)가 진행되고 있음을 나타낸다.This DAG 4.3 GE card, as shown in FIG. 5, indicates that the FPGA image has been successfully configured in the DAG Card chipset when LED 1 lights blue. If
이러한 DAG 4.3 GE 카드(301)가 정상적으로 설치되고 링크가 포트 A(302)와 포트 B(303)에 성공적으로 연결되면, 1 번 LED에 파란색이 나타나고 3번 5번 LED가 녹색을 나타내게 된다. If this DAG 4.3
DAG 4.3 GE 카드(301)는 nic와 nonic 두 가지 모드를 선택하여 운영할 수 있다. 먼저, nic 모드는 DAG 카드(301)가 기가비트 이더넷 스위치(Gigabit Ethernet switch)나 카드(card)와 풀 듀플렉스 케이블(full-duplex cable)로 직접 연결되어 있다고 가정하고, 기가비트 이더넷 자동협상(Gigabit Ethernet auto-negotiation)을 수행한다. nonic 모드의 경우 광 화이버분리기(optical fibre splitters)와 사용할 경우에 설정 가능하다. 포트A,B의 수신 소켓(receive socket)은 두 디바이스간의 네트워크 링크 사이의 설치된 광 스프리터(optical splitter)의 출력과 연결되고, 송신 패킷은 차단(unconnected)된다. The DAG 4.3
DAG 4.3 GE 카드(301)에는 싱글 메모리 버퍼(single memory buffer)를 사용하여 패킷을 수신받고 바로 송신시키는 기능이 포함되어 있다. "dagfwddemo" 라는 인라인 포워딩(inline forwarding) 기능을 테스트할 수 있는 샘플 프로그램이 제공되는데, "dagfwddemo" 프로그램의 구조는 도 6과 같다. 이러한 DAG 4.3 GE 카드(301)는 알려져 있으므로 더 이상의 설명은 생략하기로 한다.The DAG 4.3
다시 도 3을 참조하면, 본 발명에 따라 추가된 트래픽 모니터링 컴포넌트 (306)와 DDoS 방어 컴포넌트(307)는 각각 독립적인 스레드로 동작을 한다. 구체적으로 트래픽 모니터링 컴포넌트(306)의 스레드에서는 DAG 스니퍼(304)로부터 읽어 들인 패킷에 대한 분석을 한다. 트래픽 모니터링 컴포넌트(306) 스레드에서는 대부분의 처리시간을 악의적인 패킷들의 표시(310)를 처리하는데 소비한다. 악의적인 패킷들의 표시(310)에서는 패킷의 5-tuple를 키 값으로 하여 해쉬함수를 통해 플로우를 구분한다. 여기서, 해쉬함수는 32bit ELF 해쉬함수를 사용하는데, ELF 해쉬함수는 O(1)의 처리 능력을 가지고 있다. 플로우별로 구분된 패킷의 정보는 플로우 정보 테이블(309)에 기록된다. Referring again to FIG. 3, the
플로우 정보 테이블(309)은 65536개의 엔트리가 링크드 리스트(Linked-List) 형태로 구성되어 플로우의 전송속도, SYN 패킷 수, SYN_ACK 패킷 수, 전체 전달 패킷 수 등이 기록된다.In the flow information table 309, 65536 entries are configured in the form of a linked list, and the flow rate of the flow, the number of SYN packets, the number of SYN_ACK packets, and the total number of forwarded packets are recorded.
그리고 만약 이미 해당 플로우가 유해한 것으로 판단되어 있을 경우 패킷에 차단을 위한 표시를 한다. 필터 룰 벡터(308)는 이렇게 차단을 위한 유해한 플로우의 정보를 유지한다. 필터 룰 벡터(308)와 플로우 정보 테이블(309)은 트래픽 모니터링 컴포넌트(306) 스레드와 DDoS 방어 컴포넌트(307) 스레드에 의해 그 정보가 공유된다. If the flow is already determined to be harmful, the packet is marked for blocking. The
DDoS 방어 컴포넌트(307) 스레드에서는 계속해서 플로우 정보 테이블(309)을 관찰하면서 유해한 플로우를 찾아낸다. 또한 유해한 플로우에 대한 차단 정보를 무한정 유지할 수 없기 때문에 소정 타이머를 두고 일정 시간동안 유해한 플로우의 공격이 지속되지 않으면 공격이 멈춘 것으로 판단하고 필터 룰 벡터(308)의 리스트에서 제거한다.The
도 7은 본 발명에 따라 분산 서비스 거부 공격을 방어하기 위한 절차를 도시한 순서도로서, 본 발명에서 가장 핵심이 되는 부분인 트래픽 모니터링 컴포넌트(306) 모듈에서 패킷처리에 대한 과정을 보여준다. 7 is a flow chart illustrating a procedure for defending a distributed denial of service attack in accordance with the present invention, showing the process for packet processing in the
도 7을 참조하면, 단계 401에서 DAG 카드의 캡처기능 모듈(DAG 스니퍼)을 이용해 프레임을 받아온다. 본 발명의 실시예에서는 DDoS 공격 중 TCP SYN 플로딩(Flooding), ICMP SYN 플로딩(Flooding) 공격을 대비한 방어에 초점을 두었다. 따라서 단계 402에서는 받아온 프레임이 IP 패킷인지를 확인한다. 만약, 받아온 프레임이 IP 패킷이 아니면 아무런 처리 없이 프레임을 흘려보내게 된다. 단계 403에 서는 패킷이 TCP 패킷인지를 확인하고, TCP 패킷이 아니면 한 번 더 단계 410에서 ICMP 패킷인지를 확인한다. 받아온 프레임이 TCP 패킷이나 ICMP 패킷이 아니면 다른 처리 없이 통과시킨다.Referring to FIG. 7, in
단계 403에서 TCP 패킷이라고 판단되면, 단계 404부터는 좀 더 구체적으로 TCP 헤더의 값을 살펴보게 된다. 단계 404에서 TCP_SYN 패킷인지를 확인하여 단계 405에서 ELF 해쉬함수를 통해 패킷의 플로우 ID 값을 찾아낸다. 단계 406에서 이미 찾아낸 플로우 ID가 존재하는지를 확인하고, 그렇지 않다면 새로운 플로우 정보 엔트리를 만들어 플로우 정보 테이블(309)에 등록한다. 플로우 ID가 이미 존재하는 경우라면, 플로우 정보 테이블(309)에서 플로우 정보를 갱신한다. 여기서는 SYN 패킷의 수를 증가시키는 것을 의미한다. 이후 패킷은 필터링과 전달과정(413)으로 보내진다.If it is determined in
단계 404에서 SYN 패킷이 아니라고 판단되면 한 번 더 SYN+ACK 패킷인지를 확인하게 된다. SYN+ACK 패킷으로 확인이 되면, SYN 패킷일 때와 마찬가지로 해쉬함수를 이용한 과정을 가지게 된다. 단 여기서 SYN+ACK에 대응하는 SYN 패킷의 플로우에 대한 정보가 없을 경우 무시한다. In
그리고 단계 410에서 ICMP 패킷으로 확인이 되면, 그 패킷이 에코(Echo) 요청 패킷인지(411) 혹은 에코(Echo) 응답 패킷인지(412)를 확인한다. 이렇게 확인된 결과에 따라 마찬가지로 해쉬함수를 이용해 플로우 ID를 구별하고, 플로우 정보 테이블(309)의 정보를 갱신한다.If it is confirmed as an ICMP packet in
이상에서 본 발명을 구체적인 실시예를 통하여 상세히 설명하였으나, 본 발 명은 상술한 실시예에 한정되지 않고 기술적 사상이 허용되는 범위 내에서 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의하여 다양하게 변경되어 실시될 수 있다.Although the present invention has been described in detail through specific embodiments, the present invention is not limited to the above-described embodiments, and various changes may be made by those skilled in the art to which the present invention pertains without departing from the scope of the technical idea. It may be changed and implemented.
이상에서 설명한 바와 같이, 본 발명에 따른 DDoS 방어 방법은 네트워크 모니터링 카드상에 패킷의 플로우(flow)를 구분하는 트래픽 모니터링 컴포넌트(Traffic Monitoring Component)와, 악의적인 플로우(flow)인지를 판단하고 포워딩(forwarding) 정책을 정의하는 디디오에스 방어 컴포넌트(DDoS Protection Component)를 부가하여 공격자 네트워크에서 악의적인 DDoS 공격을 탐지함으로써 악의적인 트래픽이 네트워크로 전달되는 것을 차단하여 네트워크를 조기에 보호할 수 있다. 특히, 본 발명은 DAG 4.3 GE 카드를 이용하여 1Gbps 급의 초고속 네트워크에서도 효율적으로 DDoS 공격을 차단할 수 있다.As described above, the DDoS defense method according to the present invention is a traffic monitoring component that distinguishes the flow of packets on the network monitoring card, and determines whether it is a malicious flow and forwarding ( By adding a DDoS Protection Component that defines a forwarding policy, it can detect malicious DDoS attacks in the attacker network to protect the network early by preventing malicious traffic from being delivered to the network. In particular, the present invention can effectively block DDoS attacks even in a high-speed network of 1Gbps using the DAG 4.3 GE card.
Claims (7)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060083484 | 2006-08-31 | ||
KR20060083484 | 2006-08-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080021492A KR20080021492A (en) | 2008-03-07 |
KR100882809B1 true KR100882809B1 (en) | 2009-02-10 |
Family
ID=39395973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070070788A KR100882809B1 (en) | 2006-08-31 | 2007-07-13 | DDoS PROTECTION SYSTEM AND METHOD IN PER-FLOW BASED PACKET PROCESSING SYSTEM |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100882809B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101380292B1 (en) * | 2011-04-08 | 2014-04-14 | 주식회사 케이티 | Method and System for Utility Saving Time-Division DDoS Detection using Link Switch |
KR102046612B1 (en) | 2018-08-22 | 2019-11-19 | 숭실대학교산학협력단 | The system for defending dns amplification attacks in software-defined networks and the method thereof |
US10805319B2 (en) | 2017-02-14 | 2020-10-13 | Electronics And Telecommunications Research Institute | Stepping-stone detection apparatus and method |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8402538B2 (en) | 2008-12-03 | 2013-03-19 | Electronics And Telecommunications Research Institute | Method and system for detecting and responding to harmful traffic |
KR101525623B1 (en) * | 2008-12-18 | 2015-06-03 | 삼성전자주식회사 | Network traffic filtering method and apparatus |
KR101028101B1 (en) * | 2009-03-03 | 2011-04-08 | 시큐아이닷컴 주식회사 | System and Method for Defending against Distributed Denial of Service Attack |
US20110072515A1 (en) * | 2009-09-22 | 2011-03-24 | Electronics And Telecommunications Research Institute | Method and apparatus for collaboratively protecting against distributed denial of service attack |
KR20110116562A (en) | 2010-04-19 | 2011-10-26 | 서울대학교산학협력단 | Method and system for detecting bot scum in massive multiplayer online role playing game |
KR101442020B1 (en) | 2010-11-04 | 2014-09-24 | 한국전자통신연구원 | Method and apparatus for preventing transmission control protocol flooding attacks |
KR101295299B1 (en) * | 2012-01-26 | 2013-08-08 | 주식회사 시큐아이 | Method and Apparatus For Defending Against Denial Of Service Attack |
KR102216976B1 (en) | 2019-11-29 | 2021-02-18 | 주식회사 에프아이시스 | low latency high-speed flow analysis and processing method |
CN117278262B (en) * | 2023-09-13 | 2024-03-22 | 武汉卓讯互动信息科技有限公司 | DDOS safety defense system based on deep neural network |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010079361A (en) * | 2001-07-09 | 2001-08-22 | 김상욱 | Apparatus for firewall of network status based Method thereof |
KR20030059204A (en) * | 2000-10-17 | 2003-07-07 | 왠월 인코포레이티드 | Methods and apparatus for protecting against overload conditions on nodes of a distributed network |
KR20040105355A (en) * | 2003-06-07 | 2004-12-16 | 주식회사 디지털파루스 | Network interface card with function for protecting denial of service attack and distributed denial of service attack and method for protecting denial of service attack and distributed denial of service attack using thereof |
KR100468374B1 (en) | 2004-07-06 | 2005-01-31 | 주식회사 잉카인터넷 | Device and method for controlling network harmful traffic |
KR20050066049A (en) * | 2003-12-26 | 2005-06-30 | 한국전자통신연구원 | Apparatus for protecting dos and method thereof |
-
2007
- 2007-07-13 KR KR1020070070788A patent/KR100882809B1/en not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030059204A (en) * | 2000-10-17 | 2003-07-07 | 왠월 인코포레이티드 | Methods and apparatus for protecting against overload conditions on nodes of a distributed network |
KR20010079361A (en) * | 2001-07-09 | 2001-08-22 | 김상욱 | Apparatus for firewall of network status based Method thereof |
KR20040105355A (en) * | 2003-06-07 | 2004-12-16 | 주식회사 디지털파루스 | Network interface card with function for protecting denial of service attack and distributed denial of service attack and method for protecting denial of service attack and distributed denial of service attack using thereof |
KR20050066049A (en) * | 2003-12-26 | 2005-06-30 | 한국전자통신연구원 | Apparatus for protecting dos and method thereof |
KR100468374B1 (en) | 2004-07-06 | 2005-01-31 | 주식회사 잉카인터넷 | Device and method for controlling network harmful traffic |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101380292B1 (en) * | 2011-04-08 | 2014-04-14 | 주식회사 케이티 | Method and System for Utility Saving Time-Division DDoS Detection using Link Switch |
US10805319B2 (en) | 2017-02-14 | 2020-10-13 | Electronics And Telecommunications Research Institute | Stepping-stone detection apparatus and method |
KR102046612B1 (en) | 2018-08-22 | 2019-11-19 | 숭실대학교산학협력단 | The system for defending dns amplification attacks in software-defined networks and the method thereof |
Also Published As
Publication number | Publication date |
---|---|
KR20080021492A (en) | 2008-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100882809B1 (en) | DDoS PROTECTION SYSTEM AND METHOD IN PER-FLOW BASED PACKET PROCESSING SYSTEM | |
CN108040057B (en) | Working method of SDN system suitable for guaranteeing network security and network communication quality | |
Giotis et al. | Leveraging SDN for efficient anomaly detection and mitigation on legacy networks | |
US7836498B2 (en) | Device to protect victim sites during denial of service attacks | |
US7043759B2 (en) | Architecture to thwart denial of service attacks | |
US7278159B2 (en) | Coordinated thwarting of denial of service attacks | |
US7398317B2 (en) | Thwarting connection-based denial of service attacks | |
US7743134B2 (en) | Thwarting source address spoofing-based denial of service attacks | |
US7124440B2 (en) | Monitoring network traffic denial of service attacks | |
KR101231975B1 (en) | Method of defending a spoofing attack using a blocking server | |
US20020035628A1 (en) | Statistics collection for network traffic | |
US9166990B2 (en) | Distributed denial-of-service signature transmission | |
CN104539625A (en) | Network security defense system based on software-defined network and working method of network security defense system | |
KR101219796B1 (en) | Apparatus and Method for protecting DDoS | |
CN104378380A (en) | System and method for identifying and preventing DDoS attacks on basis of SDN framework | |
TWI492090B (en) | System and method for guarding against dispersive blocking attacks | |
CN107888618A (en) | The DDoS for solving network security threatens the method for work of filtering SDN systems | |
KR101352553B1 (en) | Method and System for DDoS Traffic Detection and Traffic Mitigation using Flow Statistic | |
Huang et al. | FSDM: Fast recovery saturation attack detection and mitigation framework in SDN | |
Mopari et al. | Detection and defense against DDoS attack with IP spoofing | |
CN108833430A (en) | A kind of topological guard method of software defined network | |
Lim et al. | Statistical-based SYN-flooding detection using programmable network processor | |
KR100733830B1 (en) | DDoS Detection and Packet Filtering Scheme | |
JP2004140618A (en) | Packet filter device and illegal access detection device | |
Baiju | Ddos attack detection using SDN techniques |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130107 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20140106 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20150120 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20160113 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20170201 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |