KR20040105355A - 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 - Google Patents
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 Download PDFInfo
- Publication number
- KR20040105355A KR20040105355A KR1020030036599A KR20030036599A KR20040105355A KR 20040105355 A KR20040105355 A KR 20040105355A KR 1020030036599 A KR1020030036599 A KR 1020030036599A KR 20030036599 A KR20030036599 A KR 20030036599A KR 20040105355 A KR20040105355 A KR 20040105355A
- Authority
- KR
- South Korea
- Prior art keywords
- packet
- attack
- denial
- service
- network interface
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 230000006870 function Effects 0.000 claims abstract description 12
- 230000000903 blocking effect Effects 0.000 claims description 16
- 239000011159 matrix material Substances 0.000 claims description 15
- 230000002265 prevention Effects 0.000 claims description 12
- 238000004458 analytical method Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 6
- 238000001514 detection method Methods 0.000 claims description 6
- 230000005856 abnormality Effects 0.000 claims description 3
- 238000007689 inspection Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 5
- 238000003491 array Methods 0.000 description 2
- 238000013467 fragmentation Methods 0.000 description 2
- 238000006062 fragmentation reaction Methods 0.000 description 2
- 206010033799 Paralysis Diseases 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B43—WRITING OR DRAWING IMPLEMENTS; BUREAU ACCESSORIES
- B43K—IMPLEMENTS FOR WRITING OR DRAWING
- B43K29/00—Combinations of writing implements with other articles
- B43K29/18—Combinations of writing implements with other articles with hand tools, e.g. erasing knives
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B43—WRITING OR DRAWING IMPLEMENTS; BUREAU ACCESSORIES
- B43K—IMPLEMENTS FOR WRITING OR DRAWING
- B43K25/00—Attaching writing implements to wearing apparel or objects involving constructional changes of the implements
- B43K25/02—Clips
- B43K25/026—Clips combined with other objects
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
본 발명은 서비스거부 공격 및 분산 서비스거부 공격 차단 기능을 갖는 네트워크 인터페이스 카드와 이를 이용한 서비스거부 공격 및 분산 서비스거부 공격 차단 방법에 관한 것으로서, 보다 상세하게는 인터넷망에 컴퓨터 시스템을 접속하기 위한 네트워크 인터페이스 카드레벨에서 외부로부터 들어오거나 나가는 서비스거부(Denial of Service ; DoS) 공격 및 분산 서비스거부(Distributed Denial of Service ; DDoS) 공격을 차단하도록 함으로써 컴퓨터 시스템에 부하를 주지 않고도 망 전체에서의 트래픽 발생량을 줄일 수 있을 뿐만 아니라 로컬영역에서의 공격 또한 차단할 수 있도록 한 서비스거부 공격 및 분산 서비스거부 공격 차단 기능을 갖는 네트워크 인터페이스 카드와 이를 이용한 서비스거부 공격 및 분산 서비스거부 공격 차단 방법에 관한 것이다.The present invention relates to a network interface card having a function of blocking a denial of service attack and a distributed denial of service attack, and a method of preventing a denial of service attack and a distributed denial of service attack using the same, and more particularly, a network interface for connecting a computer system to the Internet network. At the card level, blocking incoming and outgoing Denial of Service (DOS) attacks and Distributed Denial of Service (DDoS) attacks reduces traffic throughout the network without overloading computer systems. The present invention relates to a network interface card having a denial of service attack and a distributed denial of service attack function that can block attacks in the local area as well as a method for preventing a denial of service attack and distributed denial of service attacks using the same.
서비스거부 공격(Denial of Service Attack, 이하 "DoS 공격"이라 한다)이란 외부 공격자가 특정 컴퓨터 시스템과 그 시스템이 속한 네트워크에 과다한 데이터를 보냄으로써 시스템과 네트워크의 성능을 급격히 저하시켜 정상적인 운영을 방해하여 그 컴퓨터 시스템이 사용자에 대한 서비스의 제공을 거부하도록 하는 것으로써 서비스거부 공격 방법의 일례로 한 사용자가 특정 시스템의 리소스를 독점하거나 파괴함으로써, 다른 사용자들이 그 시스템의 서비스를 받을 수 없도록 하는 방법이 사용된다.Denial of Service Attack (“DoS Attack”) is an external attacker who sends excessive data to a specific computer system and the network to which it belongs. An example of a denial of service attack by causing the computer system to refuse to provide a service to a user is to allow one user to monopolize or destroy the resources of a particular system so that other users cannot receive the service of the system. Used.
또한, 분산 서비스거부 공격(Distributed Denial of Service Attack, 이하 "DDoS 공격"이라 한다)이란 많은 수의 호스트들에 패킷을 범람시킬 수 있는 서비스거부 공격용 프로그램들이 분산 설치되어 이들이 서로 통합된 형태로 어느 목표의 컴퓨터 시스템이나 네트워크의 성능을 저하시키거나 시스템을 마비시키는 것을 말한다.In addition, a distributed denial of service attack (hereinafter referred to as a "DDoS attack") is a program in which denial-of-service programs that can flood packets to a large number of hosts are distributed to each other to form a target. Degrading the performance of your computer system or network or paralyzing your system.
이러한 DoS 및 DDoS 공격은 TCP SYN 플로딩 공격, UDP 플로딩 공격, ICMP(Internet Control Message Protocol) 반향 요구(echo requesting) 공격, ICMP 동보(broadcasting) 공격의 형태로 나타난다.These DoS and DDoS attacks come in the form of TCP SYN floating attacks, UDP floating attacks, Internet Control Message Protocol (ICMP) echo requesting attacks, and ICMP broadcasting attacks.
이를 다시 크게 다시 분리하면 플러딩 공격, IP패킷의 부적절한 단편화를 기반으로 하는 공격, 부적절한 패킷 헤더포맷 기반 공격으로 나눌 수 있다.This can be further broken down into flooding attacks, attacks based on improper fragmentation of IP packets, and attacks based on inappropriate packet header formats.
도 1에는 일반적으로 DoS 공격이 이루어지는 서비스망을 도시한 개념도이다.1 is a conceptual diagram illustrating a service network in which a DoS attack is generally performed.
여기에 도시된 바와 같이 DoS 에이전트(Agent)가 심어진 컴퓨터(공격자)(11)에서 대량의 패킷을 발생시켜 호스트 컴퓨터(12)를 공격함으로써, 호스트컴퓨터(12)가 정당한 다른 사용자들에게 서비스를 제대로 제공하지 못하도록 하여 서비스거부 공격이 이루어진다.As shown here, the DoS agent generates a large amount of packets at the planted computer (attack) 11 to attack the host computer 12, thereby allowing the host computer 12 to properly serve other legitimate users. Denial of service attacks are made by not providing it.
즉, DoS 에이전트가 심어진 공격자 컴퓨터(11)를 인터넷(13)에 연결하는 장비를 가입자 접속단(14)이라고 하는데, 이는 개인 이용자들이나 서비스를 목적으로 하지 않는 서버를 인터넷(13)에 연결하는 장비이다. 또한, 공격대상인 호스트 컴퓨터(12)를 인터넷(13)에 연결하는 장비를 호스트 접속단(15)이라고 하는데, 이는 서비스 제공을 목적으로 하는 서버를 인터넷(13)에 연결하는 장비이다.In other words, the equipment connecting the attacker computer 11, to which the DoS agent is planted, to the Internet 13 is called a subscriber access point 14, which is a device for connecting a server not intended for individual users or services to the Internet 13; to be. In addition, a device for connecting the host computer 12 to be attacked to the Internet 13 is called a host connection end 15, which is a device for connecting a server for the purpose of providing a service to the Internet (13).
일반적으로 가입자 접속단(14)과 호스트 접속단(15)은 라우팅 기능을 하는 에지 라우터(Edge-Router)로서, 자신이 관할하는 IP 주소군에 대한 정보를 가지고 있으며, 그 종류로는 라우터(Router), NAS(Network Access System), RAS(Remote Access System) 등이 있다.In general, the subscriber access point 14 and the host access point 15 are edge routers having a routing function, and have information on a group of IP addresses under their control. ), NAS (Network Access System), RAS (Remote Access System).
이와 같은 서비스망에서의 서비스거부 공격은 공격자 컴퓨터(11)가 IP 주소를 위장하면서 공격 목표 호스트 컴퓨터(12)에 TCP 접속을 위한 동기신호를 무한으로 되풀이하여 보냄으로써 이루어지는데, 이 경우 호스트 컴퓨터(12)는 이 위장된 IP 주소에 접속을 위한 신호를 응답하여 접속준비가 되었음을 무한으로 되풀이하여 알리는 동작을 수행하기 때문에 호스트 컴퓨터에 과부하가 걸려서 정당 사용자에게 서비스를 제공할 수 없게 된다.Such a denial of service attack in the service network is performed by repeatedly sending a synchronization signal for TCP connection to the attack target host computer 12 indefinitely while the attacker computer 11 disguises the IP address. 12) responds to the spoofed IP address for the connection and repeatedly announces that it is ready for access. Therefore, the host computer is overloaded and cannot provide service to the party user.
그래서, 이러한 DoS나 DDoS 공격을 방지하기 위해서 도 2에 도시된 바와 같이 호스트 컴퓨터(22)가 위치하는 로컬 네트워크(27)에 방화벽(24)과 네트워크 침입방지시스템(IPS ; 25)을 설치하여 인터넷(23)에 연결된 공격자 컴퓨터(21)로부터공격대상이 되는 목표 호스트 컴퓨터(22)에 대한 공격을 방지하고 있다.Thus, in order to prevent such DoS or DDoS attacks, as shown in FIG. 2, a firewall 24 and a network intrusion prevention system (IPS; 25) are installed in the local network 27 where the host computer 22 is located. The attack on the target host computer 22 to be attacked is prevented from the attacker computer 21 connected to (23).
즉, 공격자 컴퓨터(21)로부터 공격이 발생하면 로컬 네트워크(27)에서의 트래픽이 급격히 증가하게 된다. 이때 침입방지시스템(25)에서 공격을 감지하여 공격 패킷들을 폐기함으로써 공격을 차단하게 된다.In other words, when an attack occurs from the attacker computer 21, the traffic in the local network 27 is rapidly increased. At this time, the intrusion prevention system 25 blocks the attack by detecting the attack and discarding the attack packets.
그러나, 침입방지시스템(25)은 네트워크 중간에 위치한 관계로 로컬 네트워크(27)에 연결된 모든 호스트 컴퓨터(22)로 전달되는 모든 데이터를 동시에 처리해야만 하는 관계로 중간에서 공격의 발생여부를 감지하여 공격 패킷들을 처리하는 작업으로 인해 네트워크의 통과 능력을 저하시키는 문제점이 있다.However, since the intrusion prevention system 25 is located in the middle of the network, all data transmitted to all the host computers 22 connected to the local network 27 must be processed at the same time. Due to the processing of the packets, there is a problem of deteriorating the network's passability.
또한, 로컬 네트워크(27) 내에서 이동하는 패킷에 의한 공격은 감지하지 못할 뿐만 아니라 DDoS 공격을 위한 마스터(master)와 데몬들이 로컬 네트워크(27) 외부의 다른 호스트 컴퓨터(22)를 공격하기 위해 외부로 나가는 패킷에 대해서는 감지하지 못하는 문제점이 있다.In addition, not only the attack by packets moving in the local network 27 is detected but also the master and daemon for the DDoS attack to attack other host computers 22 outside the local network 27. There is a problem in that it does not detect outgoing packets.
한편, 침입방지시스템(25)을 호스트 컴퓨터(22)에 설치하여 각각 자기에게 전달되는 트래픽만 처리하도록 설치되기도 한다.On the other hand, the intrusion prevention system 25 may be installed in the host computer 22 so as to process only the traffic delivered to each of them.
그러나, 이와 같이 호스트 컴퓨터에서 침입방지를 하기 위해서는 네트워크로부터 들어오는 패킷을 운영시스템에서 DoS나 DDoS의 공격을 감지하기 위한 처리과정을 수행하여 이상이 있는 패킷을 폐기하여 침입방지를 하게 된다. 그런데 호스트 컴퓨터의 운영시스템에서 침입방지를 위해 네트워크로부터 들어오는 패킷에 대한 처리과정에 소요되는 처리시간과 연산자원이 많이 소요됨에 따라 호스트 컴퓨터의 응용프로그램의 기능이 현저히 저하되는 문제점이 있다.However, in order to prevent the intrusion in the host computer as described above, the packet processing from the network is performed by the operating system to detect an attack of the DoS or the DDoS, thereby preventing the intrusion by discarding the abnormal packet. However, there is a problem that the function of the application program of the host computer is significantly degraded as the processing time and operator resources required for the processing of the packet coming from the network in order to prevent intrusion in the operating system of the host computer.
이와 같이 DoS나 DDoS 공격들로부터 서버를 보호하기 위해서는 대량의 정보를 빠른 시간내에 처리해야 하는 문제를 해결해야만 한다. 그러나 네트워크기반 침입방지 시스템(IPS)은 네트워크를 부분적으로 보호하기는 하지만 어떤 특정 호스트 컴퓨터들은 DoS나 DDoS공격으로부터 보호하지 못하며 네트워크 내부에서의 호스트 컴퓨터들로부터 외부로 나가는 공격이나 로컬 네트워크 안에 위치한 호스트 컴퓨터들간의 공격을 방지할 수 없다는 문제점을 안고 있으며 호스트기반 침입방지 시스템의 경우 소프트웨어 솔루션으로서 호스트의 많은 연산능력을 필요로 하므로 서버와 같은 호스트 본래의 기능을 현저히 저하시키게 되고 따라서 해커들의 공격도 효율적으로 막아낼 수 없게 되는 문제점이 있다.To protect the server from DoS or DDoS attacks like this, it is necessary to solve the problem of processing a large amount of information quickly. However, while network-based intrusion prevention systems (IPSs) partially protect the network, some specific host computers do not protect against DoS or DDoS attacks, and outgoing attacks from host computers inside the network or host computers located within the local network. The host-based intrusion prevention system requires a lot of computing power of the host as a software solution, which significantly degrades the host's original functions such as the server, thus effectively attacking hackers. There is a problem that can not be prevented.
본 발명은 상기와 같은 문제점을 해결하기 위해 창작된 것으로서, 본 발명의 목적은 인터넷망에 컴퓨터 시스템을 접속하기 위한 네트워크 인터페이스 카드레벨에서 외부로부터 들어오거나 나가는 서비스거부(Denial of Service ; DoS) 공격 및 분산 서비스거부(Distributed Denial of Service ; DDoS) 공격을 차단하도록 함으로써 컴퓨터 시스템에 부하를 주지 않고도 망 전체에서의 트래픽 발생량을 줄일 수 있을 뿐만 아니라 로컬영역에서의 공격 또한 차단할 수 있도록 한 서비스거부 공격 및 분산 서비스거부 공격 차단 기능을 갖는 네트워크 인터페이스 카드와 이를 이용한 서비스거부 공격 및 분산 서비스거부 공격 차단 방법을 제공함에 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and an object of the present invention is to provide a denial of service (DoS) attack that enters or exits from the outside at a network interface card level for connecting a computer system to an Internet network. By denying Distributed Denial of Service (DDoS) attacks, you can reduce the amount of traffic in the entire network without putting a load on the computer system, as well as to prevent attacks in the local area. The present invention provides a network interface card having a denial of service attack blocking function and a method for preventing a denial of service attack and a distributed denial of service attack using the same.
도 1은 일반적으로 DoS 공격이 이루어지는 서비스망을 도시한 개념도이다.1 is a conceptual diagram illustrating a service network in which a DoS attack is generally performed.
도 2는 종래의 네트워크 침입방지시스템이 설치된 네트워크 구성도이다.2 is a diagram illustrating a network in which a conventional network intrusion prevention system is installed.
도 3은 본 발명에 의한 서비스거부 공격 및 분산 서비스거부 공격 차단 기능을 갖는 네트워크 인터페이스 카드를 나타낸 블록구성도이다.Figure 3 is a block diagram showing a network interface card having a function of denial of service attack and distributed denial of service attacks according to the present invention.
도 4는 본 발명에 의한 네트워크 인터페이스 카드를 이용한 서비스거부 공격 및 분산 서비스거부 공격 차단 방법을 설명하기 위한 흐름도이다.4 is a flowchart illustrating a method of denial of service attack and distributed denial of service attack using a network interface card according to the present invention.
도 5는 본 발명에서 적용되는 색인행렬배열법을 설명하기 위한 도면이다.5 is a view for explaining the index matrix array method applied in the present invention.
도 6은 본 발명에서 적용되는 메모리영역 사전할당법을 설명하기 위한 도면이다.6 is a view for explaining a memory area preallocation method applied in the present invention.
도 7은 본 발명에서 적용되는 휴면세션제거법을 설명하기 위한 흐름도이다.7 is a flowchart illustrating a method of removing a dormant session applied in the present invention.
- 도면의 주요부분에 대한 부호의 설명 --Explanation of symbols for the main parts of the drawings-
30 : 네트워크 31 : 네트워크 인터페이스 카드30: network 31: network interface card
32 : 네트워크 접속부 33 : 패킷처리부32: network connection unit 33: packet processing unit
34 : 램 35 : 데이터처리부34: RAM 35: data processing unit
36 : 프로그램 메모리 37 : 호스트 컴퓨터36: program memory 37: host computer
상기와 같은 목적을 실현하기 위한 본 발명에 의한 서비스거부 공격 및 분산 서비스거부 공격 차단 기능을 갖는 네트워크 인터페이스 카드는 패킷을 네트워크로부터 받거나 네트워크로 전달해주기 위한 네트워크 접속부를 포함하여 호스트 컴퓨터와 네트워크간을 서로 연결하는 네트워크 인터페이스 카드에 있어서, 호스트 컴퓨터 및 네트워크 접속부와 상호 작용하면서 DoS 및 DDoS 공격을 감지하여 차단하기 위한 패킷처리부를 더 포함하여 이루어진 것을 특징으로 한다.A network interface card having a service denial attack and a distributed service denial attack prevention function according to the present invention for realizing the above object includes a network connection unit for receiving a packet from a network or delivering a packet to a network. In the network interface card to be connected, it further comprises a packet processing unit for detecting and blocking DoS and DDoS attacks while interacting with the host computer and the network connection.
위에서 패킷처리부는 운영 프로그램과 공격 탐지 및 방지 프로그램을 보관하기 위한 프로그램 메모리와, 프로그램 메모리로부터 각종 프로그램이 로딩되고 처리되는 데이터가 저장되는 램과, 실시간 운영시스템이 탑재되어 프로그램 메모리와 램을 제어하며 프로그램에 따라 데이터를 처리하여 공격을 감지하고 차단하는 데이터처리부로 이루어진 것을 특징으로 한다.From the above, the packet processing unit is equipped with a program memory for storing an operating program and an attack detection and prevention program, a RAM storing data for loading and processing various programs from the program memory, and controlling a program memory and RAM with a real-time operating system. The data processing unit detects and blocks an attack by processing data according to a program.
이때 프로그램 메모리는 플래시메모리로 이루어지는 것이 바람직하다.At this time, the program memory is preferably made of a flash memory.
따라서, 전원이 인가되면 프로그램 메모리로부터 운영프로그램과 패킷 처리 및 필터링 프로그램이 램으로 로딩되고 네트워크 접속부를 통해 들어오는 패킷을 패킷처리부에서 전달받아 데이터처리부에서 패킷을 처리하여 공격을 감지하면 폐기하고 공격이 감지되지 않을 경우 입력받은 패킷을 서버로 넘겨줄 뿐만 아니라 서버로부터 패킷을 전달받아 공격을 감지하면 폐기하고 공격이 감지되지 않을 경우 네트워크 접속부를 통해 네트워크로 전달하게 된다.Therefore, when the power is applied, the operating program and the packet processing and filtering program are loaded into the RAM from the program memory, and the packets received through the network connection are received by the packet processing unit, and the packets are processed by the data processing unit to detect the attack and discard the attack. If not, it not only forwards the received packet to the server, but also receives the packet from the server and discards it when it detects an attack.
또한, 본 발명에 의한 네트워크 인터페이스 카드를 이용한 서비스거부 공격 및 분산 서비스거부 공격 차단 방법은 입력되는 패킷에 대해 패킷 타입별 초기부터 일정 시점까지의 평균 패킷 전송량과 일정 시점에서 제어값 시간구간동안의 동일타입 패킷 전송량의 비율분석에 의한 트래픽 변화를 분석하는 단계, 트래픽 변화를 분석한 후 패킷의 헤더 포맷을 서비스거부 공격과 분산 서비스거부 공격 유형에 따른 헤더 포맷과의 일치여부를 검사하는 단계와, 헤더 포맷을 검사하여 공격일 경우 해당 패킷을 폐기하고 새로운 패킷을 입력받는 단계와, 헤더 포맷이 공격이 아닐 경우 트래픽 변화의 분석결과에 따라 트래픽이 급격히 증가한 패킷에 대해 제어시간 범위내에서 현재 세션에서의 전체 패킷량과 특정 타입의 패킷량의 비율분석에 의해 플러딩 공격을 탐지하는 단계와, 플러딩 공격을 탐지한 결과 공격일 경우 해당 패킷을 폐기하고 새로운 패킷을 입력받고 공격이 아닐 경우 패킷을 출력하는 단계로 이루어진 것을 특징으로 한다.In addition, according to the present invention, the method of denial-of-service attack and distributed denial-of-service attack using the network interface card according to the present invention corresponds to the average packet transmission amount from the initial to the predetermined time point of each packet type and the same during the control value period at a certain time point for the input packet. Analyzing the traffic change by analyzing the rate of the type packet transmission; analyzing the traffic change and checking whether the header format of the packet matches the header format according to the denial of service attack and the distributed denial of service attack type; In case of an attack by checking the format, discarding the corresponding packet and receiving a new packet. If the header format is not an attack, a packet whose traffic is rapidly increased according to the analysis result of the traffic change is checked in the current session within the control time range. Flooding by analyzing the ratio between total packet volume and specific type of packet volume It discards the packet when the step and, as a result attack upon detection of a flooding attack to detect and is characterized in that comprising the step of outputting the packet if it is not receiving a new packet attack.
위의 트래픽 변화를 분석하는 단계에서 트래픽 변화를 분석한 후 입력되는 패킷이 단편화된 경우 단편화된 패킷을 조립하는 단계와, 조립된 패킷에 대해 패킷의 용량 및 단편화된 패킷의 위치를 검사하는 단계와, 검사를 수행한 후 이상이 발생된 패킷에 대해서 폐기하고 새로운 패킷을 받아들이는 단계를 더 포함하여 이루어진 것을 특징으로 한다.In the step of analyzing the traffic change, if the incoming packet is fragmented after analyzing the traffic change, assembling the fragmented packet, checking the capacity of the packet and the location of the fragmented packet with respect to the assembled packet; The method may further include discarding the packet in which the abnormality occurred and accepting a new packet after performing the inspection.
또한, 위의 헤더 포맷을 검사하는 단계에서 헤더 포맷을 검사한 후 유입되는 패킷이 TCP 패킷인 경우 서버에서 허용된 포트로 들어오는지 검사하는 단계와, 포트를 검사한 후 허용되지 않은 포트로 들어오는 경우 입력되는 패킷을 폐기하고 새로운 패킷을 받아들이는 단계를 더 포함하여 이루어진 것을 특징으로 한다.In addition, in the step of checking the header format, if the incoming packet is a TCP packet and the incoming packet is a TCP packet, the server checks whether the incoming port is allowed, and if the incoming port is not allowed, And discarding the incoming packet and accepting a new packet.
또한, 트래픽 변화를 분석하는 단계에서 세션의 빠른 검색을 위해 세션에 대해 색인행렬배열에 의해 검색하여 카운트하는 것을 특징으로 한다.In addition, in the step of analyzing traffic changes, the index is searched and counted by the index matrix array for fast retrieval of the session.
이때 색인행렬배열의 색인은 IP주소와, 서버의 포트번호와, 클라이언트의 포트번호를 각각 바이트 단위로 구분하여 색인배열되는 것을 특징으로 한다.In this case, the index of the index matrix array is characterized in that the index is arranged by dividing the IP address, the server port number, and the client port number in byte units.
또한, 트래픽 변화를 분석하는 단계에서 색인행렬배열에 의해 할당되는 메모리는 메모리영역의 크기를 사전에 할당하여 고리형으로 할당 및 삭제하여 재사용하는 것을 특징으로 한다.In addition, the memory allocated by the index matrix array in the step of analyzing the traffic change is characterized in that the size of the memory area in advance to allocate, delete and reuse in a ring shape.
또한, 트래픽 변화를 분석하는 단계에서 휴면세션제거를 통해 제어시간 범위내에서 리프레쉬되는 세션에서 연속적으로 입력되는 패킷에 대해서만 플러딩공격에 대한 통계수치를 분석하는 것을 특징으로 한다.In addition, in the step of analyzing traffic changes, it is characterized by analyzing the statistics of the flooding attack only for packets that are continuously input in the session refreshed within the control time range by removing the dormant session.
이와 같이 이루어진 본 발명은 네트워크 인터페이스 카드에서 네트워크를 통해 들어오는 패킷에 대해 제어시간 범위내에서 리프레쉬되는 세션에서 연속적으로 입력되는 패킷에 대해서 색인행렬배열과 메모리영역 사전할당법을 통해 빠른 세션을 검색하여 트래픽 변화를 분석하고 단편화된 패킷에 대해 조립과정에서 해커의 침입을 탐지할 뿐만 아니라 패킷 헤더 분석으로 서비스거부 공격 및 분산 서비스거부 공격을 일차적으로 차단하고 허용되지 않은 포트로의 접근을 막으며 트래픽의 급격한 변화가 발생한 세션에 대해서만 플러딩 공격을 감지함으로써 빠른 시간내에 적은 용량으로 서비스거부 공격 및 분산 서비스거부 공격을 차단할 수 있게 된다.According to the present invention, the network interface card searches for fast sessions through the index matrix arrangement and the memory area pre-allocation method for the packets continuously input in the session refreshed within the control time range for the packets coming in through the network. In addition to analyzing changes and detecting hackers' intrusions during fragmentation of fragmented packets, packet header analysis primarily blocks denial of service attacks and distributed denial of service attacks, prevents unauthorized access to ports, By detecting flooding attacks only for changed sessions, it is possible to prevent denial of service attacks and distributed service denial attacks in a short time.
이하, 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 설명한다. 또한 본 실시예는 본 발명의 권리범위를 한정하는 것은 아니고, 단지 예시로 제시된 것이며 종래 구성과 동일한 부분은 동일한 부호 및 명칭을 사용한다.Hereinafter, exemplary embodiments of the present invention will be described with reference to the accompanying drawings. In addition, the present embodiment is not intended to limit the scope of the present invention, but is presented by way of example only and the same parts as in the conventional configuration using the same reference numerals and names.
도 3은 본 발명에 의한 서비스거부 공격 및 분산 서비스거부 공격 차단 기능을 갖는 네트워크 인터페이스 카드를 나타낸 블록구성도이다.Figure 3 is a block diagram showing a network interface card having a function of denial of service attack and distributed denial of service attacks according to the present invention.
여기에 도시된 바와 같이 표준적인 네트워크 인터페이스 카드(31)에 적용되어 호스트 컴퓨터(37)와 네트워크(30) 간에 서로 연결되어 패킷을 네트워크(30)로부터 받거나 네트워크(30)로 전달해주기 위한 네트워크 접속부(32)와, 호스트 컴퓨터(37) 및 네트워크 접속부(32)와 상호 작용하면서 DoS 및 DDoS 공격을 감지하여 차단하기 위한 패킷처리부(33)로 이루어진다.As shown here, a network connection part applied to a standard network interface card 31 to be connected to each other between the host computer 37 and the network 30 so as to receive packets from the network 30 or deliver them to the network 30 ( 32 and a packet processor 33 for detecting and blocking DoS and DDoS attacks while interacting with the host computer 37 and the network connection 32.
이때 패킷처리부(33)는 운영 프로그램과 공격 탐지 및 방지 프로그램을 보관하기 위한 프로그램 메모리(36)와, 프로그램 메모리(36)로부터 각종 프로그램이 로딩되고 처리되는 데이터가 저장되는 램(34)과, 실시간 운영시스템(RTOS ; Real Time Operating System)이 탑재되어 프로그램 메모리(36)와 램(34)을 제어하며 프로그램에 따라 데이터를 처리하여 공격을 감지하고 차단하는 데이터처리부(35)로 이루어진다.At this time, the packet processor 33 includes a program memory 36 for storing an operating program and an attack detection and prevention program, a RAM 34 storing various data loaded and processed from the program memory 36, and a real time; An operating system (RTOS; Real Time Operating System) is mounted to control the program memory 36 and the RAM 34 and process the data according to the program consists of a data processor 35 for detecting and blocking an attack.
위에서 프로그램 메모리(36)는 플래시메모리로 이루어져 전원이 오프되어도 저장된 내용이 지워지지 않도록 한다.The program memory 36 is composed of a flash memory so that the stored contents are not erased even when the power is turned off.
따라서, 전원이 인가되면 프로그램 메모리(36)로부터 운영프로그램과 패킷 처리 및 필터링 프로그램이 램으로 로딩되고 네트워크 접속부(32)를 통해 들어오는패킷을 패킷처리부(33)에서 전달받아 데이터처리부(35)에서 패킷을 처리하여 공격을 감지하면 폐기하고 공격이 감지되지 않을 경우 호스트 컴퓨터로 입력받은 패킷을 넘겨줄 뿐만 아니라 호스트 컴퓨터(37)로부터 패킷을 전달받아 공격을 감지하면 폐기하고 공격이 감지되지 않을 경우 네트워크 접속부(32)를 통해 네트워크(30)로 전달하게 된다.Therefore, when the power is applied, the operating program and the packet processing and filtering program are loaded into the RAM from the program memory 36 and the packets received through the network connection unit 32 are received from the packet processing unit 33 to receive the packets from the data processing unit 35. If the attack is detected, it discards it. If the attack is not detected, it not only passes the packet received to the host computer, but also receives the packet from the host computer 37 and discards it if it detects the attack. Transfer to network 30 via 32.
이와 같이 이루어진 DoS 공격 및 DDoS 공격 차단 기능을 갖는 네트워크 인터페이스 카드를 이용하여 DoS 공격 및 DDoS 공격을 차단하기 위한 방법을 도 4에 도시된 본 발명에 의한 네트워크 인터페이스 카드를 이용한 서비스거부 공격 및 분산 서비스거부 공격 차단 방법을 순차적으로 설명하기 위한 흐름도를 참조하여 설명하면 다음과 같다.Denial of service attack and distributed service denial using a network interface card according to the present invention shown in Figure 4 a method for blocking DoS attack and DDoS attack using a network interface card having a DoS attack and a DDoS attack blocking function made in this way Referring to the flow chart for sequentially explaining the attack blocking method as follows.
먼저, 네트워크(30)에서 호스트 컴퓨터(37)로 들어오거나 호스트 컴퓨터(37)에서 네트워크(30)로 나가는 패킷은 네트워크 접속부(32)를 통해 입력되어 패킷처리부(33)로 전달된다. 그러면, 패킷처리부(33)에서 우선 패킷 타입별로 즉, UDP, ICMP, TCP SYN 등의 패킷에 의한 급격한 네트워크 트래픽 증가시점을 감지하는 통계적 수치들을 얻는 과정을 거친다(S20).First, a packet entering the host computer 37 from the network 30 or out of the host computer 37 to the network 30 is input through the network connection unit 32 and delivered to the packet processing unit 33. Then, the packet processing unit 33 first obtains statistical values for detecting a sudden increase in network traffic by packet type, i.e., UDP, ICMP, TCP SYN, or the like (S20).
이를 위하여 시스템이 구동되기 시작한 시점으로부터 측정시점까지의 TCP SYN 패킷의 평균 전송량 As 와 제어값 시간동안 동일 패킷의 전송량 Cs를 추출한다. 그 다음 일정한 오차 범위 내에서의 Cs 값과 As값을 비교하여 TCP SYN 패킷의 트래픽 변화량을 분석하는데 그 결과 그 타입의 패킷 증가량을 결정하게 된다.To this end, the average transmission rate As of the TCP SYN packet As and the transmission amount Cs of the same packet during the control value time are extracted from the time when the system starts to run. Then, the traffic variation of TCP SYN packet is analyzed by comparing the Cs value and the As value within a certain error range. As a result, the packet increase amount of the type is determined.
이때, 제어값 시간과 각 패킷의 트래픽 변화 허용값의 크기는 네트워크 형태와 패킷 타입에 따라 자동적으로 결정된다.At this time, the control value time and the size of the traffic change allowance value of each packet are automatically determined according to the network type and the packet type.
이렇게 입력되는 패킷에 대해서 통계적 수치를 분석할 때 세션에 따라 들어오는 패킷에 대한 카운트를 하기 위해 입력된 세션들의 빠른 검색을 위해 색인행렬배열법(Indexed Matrixes Array)이 적용되며 카운터 및 패킷별 통계적 데이터 저장을 위해 필요한 메모리의 빠른 할당과 삭제를 위해 메모리영역 사전할당법(Pre-allocated Memory Pool)이 적용된다.When analyzing statistical values on these incoming packets, Indexed Matrixes Array is applied to quickly search the entered sessions to count incoming packets according to the sessions. The pre-allocated memory pool is applied to quickly allocate and delete the necessary memory.
또한, 휴면세션을 제거하여 처리량 및 메모리의 할당을 줄이도록 한 휴면세션제거법(Dormant Session Deleting)이 적용된다.In addition, Dormant Session Deleting, which eliminates dormant sessions to reduce throughput and memory allocation, is applied.
먼저, 위에서 언급된 색인행렬배열법(IMA)에 대해 도 5를 참조하여 상세하게 설명하면 다음과 같다.First, the above-described index matrix array method (IMA) will be described in detail with reference to FIG. 5 as follows.
입력된 세션을 검색하기 위한 검색키는 IP 주소, 서버의 포트번호, 클라이언트의 포트번호로 이루어진 8 바이트 값이다. 즉, "211.145.233.12:80:20" 으로써 이 값은 ICMP 프로토콜을 포함한 모든 프로토콜에 한하며 ICMP 프로토콜의 경우 포트값은 0이다.The search key for searching the input session is an 8 byte value consisting of an IP address, a server port number, and a client port number. That is, "211.145.233.12:80:20" means that this value is limited to all protocols including the ICMP protocol and the port value is 0 for the ICMP protocol.
본 발명에서는 키값에 의한 데이터정렬을 필요로 하지 않는 정보인덱스검색방법인 색인행렬배열법에 의해서 검색된다.In the present invention, the information is searched by the index matrix array method, which is an information index search method that does not require data sorting by key values.
검색키의 구성은 8개의 바이트로 각각 쪼개어진다. 그리고 각각의 바이트에 부분집합(subset)으로 256바이트의 크기를 가진 매시브를 대응시킨다. 이때 매시브의 각 구성요소는 다음의 부분집합을 가리키는 포인터로 이루어진다. 그리고 다음의 부분집합이 없을 경우에는 "NULL"을 가리키는 포인터로 이루어진다. 부분집합들은 레벨들을 형성하고, Level 4는 데이터 1을 가리키고 맨뒤에서 두 번째인 Level 8은 데이터 2를 가리킨다.The structure of the search key is broken into 8 bytes each. Each byte is then mapped into a subset of 256 bytes in size with a subset. Each component of the mass consists of a pointer to the next subset. If there is no next subset, it consists of a pointer to "NULL". The subsets form levels, Level 4 points to data 1, and Level 2, the second last, refers to data 2.
만일 공격을 감지하기 위해 가령 세션 "211.145.233.12:80:257"의 경우 Level 7에서 1의 수치값을 가지는 새로운 부분집합 Level 8을 요구하게 되는데 이 부분집합은 이미 존재하는 수치값 1을 가진 Level 7의 부분집합과 데이터 2를 가리키게 된다.In order to detect an attack, for example, the session "211.145.233.12:80:257" would require a new subset Level 8 with a numeric value of 1 at Level 7, which would be a Level with an existing numeric value of 1 It will point to a subset of 7 and data 2.
따라서, 패킷이 입력될 때마다 색인행렬배열법에 의해 키의 바이트를 레벨별로 할당하고, 데이터 1과 데이터 2에 직접 접속하여 통계데이터를 수집함으로써 빠르게 세션을 검색할 수 있게 된다.Therefore, each time a packet is input, the byte array of the key is allocated for each level by the index matrix method, and the session can be quickly searched by directly accessing the data 1 and the data 2 and collecting statistical data.
또한, 데이터저장을 위해 필요한 메모리의 빠른 할당 및 삭제를 위해 기존에 할당되었던 메모리를 재사용하는 메모리영역 사전할당법(Pre allocated Memory Pool)을 도 6을 참조하여 설명하면 다음과 같다.In addition, a memory area pre-allocation method (Reallocated Memory Pool) that reuses a memory previously allocated for fast allocation and deletion of memory required for data storage will be described with reference to FIG. 6.
이 방법은 사용메모리의 크기를 사전에 정해진 크기로 고정시킨다. 풀은 고정된 크기의 메모리 부분을 가리키는 포인터를 요소로 하는 인덱스화된 부분집합이다.This method fixes the size of the used memory to a predetermined size. Pools are indexed subsets whose elements are pointers to fixed-size parts of memory.
예를들어 부분집합의 원소 개수를 가령 6이라고 할 경우 Step 1에서는 원소에 대해 사전에 정해진 고정된 크기의 풀이 있다. 활용되는 블록의 시작 포인터와 끝 포인터는 0 이 된다. Step 2에서 사용되지 않는 메모리부분에 대한 요청이 이루어져 끝 포인터는 1이며 시작 포인터는 0 이 된다. Step 3에서는 메모리할당이 네번 행하여져 끝 포인터는 1부터 5까지 변하고 시작 포인터는 1로 변한다. Step 4에서는 메모리 요청 및 해제가 행하여지며 끝 포인터는 6이고 시작 포인터는 2 가 된다. Step 5에서 요청 및 해제가 행하여지며 끝 포인터는 1이고 시작 포인터는 3 이 된다. Step 6에서는 메모리 해제가 세 번 행하여지며 끝 포인터는 1과 같고 시작 포인터는 6과 같다. Step 7에서는 메모리 할당이 네 번 행하여지며 끝 포인터는 5이고 시작 포인터는 6과 같이 된다.For example, if the number of elements in a subset is 6, in Step 1, there is a pool of a fixed size previously defined for the elements. The starting and ending pointers of the blocks being used are zero. In Step 2, a request was made for an unused portion of memory, with an end pointer of 1 and a start pointer of 0. In step 3, memory allocation is done four times, so the end pointer changes from 1 to 5 and the start pointer changes to 1. In Step 4, memory requests and requests are made, the end pointer is 6, and the start pointer is 2. In step 5 the request and release are made, the end pointer is 1 and the start pointer is 3. In Step 6, the memory is released three times, with the end pointer equal to 1 and the start pointer equal to 6. In step 7, the memory allocation is done four times, the end pointer is five, and the start pointer is six.
이와 같이 메모리영역의 크기를 사전에 할당하여 고리형으로 할당 및 삭제하여 재사용하게 된다.In this way, the size of the memory area is allocated in advance, and the ring area is allocated, deleted, and reused.
또한, 도 7을 참조하여 휴면세션 제거법을 설명하면 다음과 같다.In addition, the method of removing the dormant session will be described with reference to FIG. 7.
일반적으로 클라이언트와 호스트 컴퓨터가 커뮤니케이션할 때 세션 시작시간과 종료시간이 있다. 첫 패킷을 받은 시간을 세션의 시작시간으로 정하게 되는데 세션 종료시간을 항상 정할 수 있는 것은 아니다. TCP 연결의 경우 세션 종료시간은 FIN 또는 RST 플래그가 들어있는 패킷을 받은 시간으로 정할 수도 있겠으나 그럴 경우 연결자체가 끊어진 경우에는 세션 종료시간을 정할 수 없게 된다. 그 외 다른 프로토콜들의 경우에는 세션 종료시간을 정할 방법이 없다.There is usually a session start time and end time when the client and host computer communicate. When the first packet is received, the start time of the session is determined. However, the end time of the session may not always be determined. In the case of a TCP connection, the session end time may be determined by the time when the packet containing the FIN or RST flag is received. However, if the connection itself is disconnected, the session end time cannot be determined. For other protocols, there is no way to set a session end time.
따라서, 휴면세션 제거법(Dormant Session Deleting)은 세션의 마지막 패킷을 받은 시간에 대한 분석에 기초하여 만일 세션 종료시간이 이미 정해진 타임아웃시간보다 클 경우 그 세션은 색인행렬배열로부터 제거된다. 타임아웃시간 값은 네트워크 형태와 패킷타입에 따라 자동적으로 결정된다.Thus, Dormant Session Deleting is based on an analysis of the time of receipt of the last packet of the session, and if the session end time is greater than the predetermined timeout time, the session is removed from the index matrix array. The timeout value is automatically determined by the network type and packet type.
본 발명의 주요부분은 색인행렬배열의 세션 포인터와 색인행렬배열 세션의데이터 1 포인터를 보관하고 있는 휴면세션배열(Dormant Sessions Array)의 정렬된 집합이다. 정렬키는 세션에서 마지막 패킷을 받은 시간으로 정해지며 그 값이 증가하는 순서로 배열하여 가장 오래된 세션이 휴면세션 배열의 가장 윗부분에 위치하도록 한다.The main part of the present invention is an ordered set of Dormant Sessions Arrays that hold a session pointer of an index matrix array and a data pointer of an index array session. The sort key is determined by the time of receiving the last packet in the session, and is arranged in increasing order so that the oldest session is located at the top of the dormant session array.
따라서, (가)와 같이 패킷 P1 1을 받으면 새로운 세션이 만들어지고 데이터 11에 패킷을 받은 시간 SL1 1을 보관한다. 그리고 휴면세션배열에 키 SL1 1을 가진 구조가 추가된다.Therefore, when packet P 1 1 is received as in (a), a new session is created and the time S L1 1 is received in data 1 1 . The structure with key S L1 1 is added to the dormant session array.
그리고 (나)와 같이 패킷 P2 1을 받을 때 새로운 세션이 만들어지며 데이터 12에 패킷을 받은 시간 SL2 1을 보관하고 휴면세션배열에는 키 SL2 1을 가진 구조가 추가된다.And, as shown in (b), when a packet P 2 1 is received, a new session is created, and a structure with a key S L2 1 is added to the dormant session array, storing the time S L2 1 received the packet in data 1 2 .
그리고 다시 (다)와 같이 패킷 P1 2를 받으면 이 세션은 이미 존재하므로 데이터 11의 시간 SL1 1을 패킷 P1 2를 받은 시간 SL1 2로 바꾸는 한편 휴면세션배열에는 SL1 1이 그대로 남아있게 되고 기존처럼 휴면세션배열의 첫 번째 구성요소가 된다.If the packet P 1 2 is received again as shown in (C), the session already exists, so the time S L1 1 of the data 1 1 is changed to the time S L1 2 of the packet P 1 2 while S L1 1 remains in the dormant session array. It remains and becomes the first component of the dormant session array as before.
이와 같이 매번 패킷을 하나 받을 때마다 휴면세션배열을 한번 검토하게 되며 그때 현재시간과 세션의 마지막 패킷을 받은 시간의 차이를 계산하여 그 값을 타임아웃 시간과 비교하게 된다.In this way, each time a packet is received, the dormant session array is reviewed once. Then, the difference between the current time and the time of receiving the last packet of the session is calculated and the value is compared with the timeout time.
이때 패킷 P1 2를 받았을 때 만일 세션 리프레시된지 얼마되지 않았다면 (다)와 같이 데이터 11의 SL1 2와 휴면세션배열의 첫 번째 구성요소와 비교하게 된다. 그 결과 두 요소가 서로 다르므로 데이터 11의 키는 SL1 2로 변화하고 휴면세션 배열의 첫 번째 구성요소이던 SL1 1은 제거되어 SL2 1이 첫 번째 구성요소로 되면서 마지막 패킷을 받은 시간인 키 SL1 2를 가진 구조가 추가되면서 휴면세션배열에 새로운 정렬이 행하여진다.When the packet P 1 2 is received, if the session has not been refreshed, it is compared with S L1 2 of the data 1 1 and the first component of the dormant session array as shown in (c). As a result, since the two elements are different, the key of data 1 1 changes to S L1 2 , the time S L1 1, which is the first component of the dormant session array, is removed and S L2 1 becomes the first component. As the structure with the key S L1 2 is added, a new sort is performed on the dormant session array.
그러나, 세션이 타임아웃시간 동안에 리프레시되지 않았다면 포인터가 휴면세션배열의 첫 구성요소를 가리키는 색인행렬배열의 세션 및 휴면세션배열의 첫 구성요소를 제거하고 두 번째 구성요소가 첫 번째 구성요소로 새로운 정렬이 행하여진다.However, if the session has not been refreshed during the timeout period, the pointer removes the first component of the session and dormant session arrays in the index matrix that point to the first component of the dormant session array, and the second component sorts new with the first component. This is done.
즉, 타임아웃시간 동안에 리프레시되지 않는 세션의 경우 휴면세션으로 공격으로 판단할 수 없을 뿐만 아니라 공격 탐지를 위한 패킷 처리과정을 수행하지 않아도 되기 때문에 색인행렬배열에서 해당 세션을 제거하게 된다.In other words, a session that is not refreshed during the timeout period cannot be determined to be an attack as a dormant session, and the session is removed from the index matrix array because the packet processing for attack detection is not necessary.
이와 같은 휴면세션제거법에 의해 타임아웃시간 범위내에서 리프레쉬되는 세션에서 연속적으로 입력되는 패킷에 대해서만 플러딩 공격에 대한 통계수치를 수집하게 됨으로써 공격 탐지를 위한 시간과 메모리를 줄일 수 있게 된다.By using the dormant session elimination method, statistics for flooding attacks are collected only for packets that are continuously input in the session refreshed within the timeout time range, thereby reducing the time and memory for attack detection.
위와 같은 방법으로 통계적 수치를 수집한 후 입력된 패킷이 단편화된 IP 패킷인 경우(S30) 그 패킷에 대해 램(34)에 저장하고 어셈블과정을 수행하여 단편화된 패킷 처리를 수행한다(S40). 이때 패킷을 어셈블한 후 패킷의 용량이 차이나거나 단편화된 패킷의 위치가 다른 부적절하게 단편화된 IP 패킷이 발견된 경우(S50) 그 패킷은 폐기된다(S110). 즉, 해커의 공격 등으로 단편화된 패킷의 위치를 변화시키거나 용량을 변화시켜 서버를 마비시킬 수 있기 때문에 패킷을 폐기한다. 그리고 새로운 패킷을 입력받아 패킷 처리과정을 반복하게 된다(S10).After collecting the statistical value in the above manner, if the input packet is a fragmented IP packet (S30), the packet is stored in the RAM 34 for the packet and the assembly process is performed to perform fragmented packet processing (S40). At this time, if an inappropriately fragmented IP packet is found after assembling the packet or the capacity of the packet is different or the fragmented packet is different (S50), the packet is discarded (S110). That is, the packet is discarded because the server can be paralyzed by changing the location of the fragmented packet or a change in capacity due to a hacker attack. In addition, a new packet is input and the packet processing is repeated (S10).
이때 단편화된 IP 패킷을 조립한 후 이상이 발견되지 않거나 입력받은 패킷이 단편화되지 않은 패킷인 경우 헤더에 대한 분석을 수행한다(S60).In this case, after assembling the fragmented IP packet, if no abnormality is found or the received packet is a packet that is not fragmented, the header is analyzed (S60).
즉, DoS 나 DDoS의 공격유형에 따른 헤더에 대한 리스트와 비교하여 공격이 감지될 경우 해당 패킷은 폐기하고(S110) 새로운 패킷을 입력받아 패킷 처리과정을 반복하게 된다(S10).That is, when an attack is detected by comparing with a list of headers according to the attack type of DoS or DDoS, the corresponding packet is discarded (S110) and a new packet is input to repeat the packet processing (S10).
그러나, 공격이 감지되지 않은 경우에는 TCP 패킷인가 확인하여 TCP 패킷인 경우에는 허용되지 않은 포트로 패킷을 받아들이려는 시도들을 감시한다(S70). 즉, 호스트 컴퓨터(37)로부터 서버관리자가 허용한 포트와 대기모드(Listen 모드)에 있는 포트들을 전달받아 리스트를 만든다.However, if an attack is not detected, it checks whether the packet is a TCP packet, and, in the case of the TCP packet, monitors attempts to accept the packet to an illegal port (S70). That is, the host computer 37 receives the ports allowed by the server administrator and the ports in the standby mode (Listen mode) to make a list.
따라서, 호스트 컴퓨터(37)로 들어오는 패킷이 허용되지 않은 포트로 향할 경우 패킷을 폐기하고(S110) 새로운 패킷을 입력받아 패킷 처리과정을 반복하게 된다(S10).Therefore, when a packet coming into the host computer 37 is denied to the port, the packet is discarded (S110) and a new packet is input to repeat the packet processing (S10).
이와 같은 방법으로 "트로이잔" 바이러스나 "백도어"에 의한 데이터의 외부로의 흐름을 막을 수 있을 뿐만 아니라 서버를 보호하고 궁극적으로 플러딩 공격과같은 DoS 및 DDoS 공격으로부터 서버를 보호하게 된다.In this way, it not only prevents the flow of data by "Trojan" virus or "backdoor", but also protects the server and ultimately protects the server from DoS and DDoS attacks such as flooding attacks.
그런다음 트래픽 변화량을 분석한 결과 트래픽 변화가 허용값 이상인 패킷의 경우 현재 처리중인 타입의 패킷량과 트래픽 변화가 급증한 세션에서의 전체 패킷량에 대한 비율을 분석한다(S80). 이때 처리중인 타입의 패킷은 미리 정해진 시간구간값 내에서 연속적으로 들어오는 패킷량만이 분석된다. 현재 처리중인 형태의 패킷량과 관련세션에서의 전체 패킷량에 대한 비율과 시간구간값 크기는 네트워크 형태와 패킷의 타입에 따라 자동적으로 정해진다.Then, as a result of analyzing the traffic variation, in the case of the packet whose traffic variation is more than the allowable value, the ratio of the packet amount of the type currently being processed and the total packet quantity in the session in which the traffic variation has rapidly increased is analyzed (S80). At this time, the packet of the type being processed is analyzed only for the packet amount continuously coming in within a predetermined time interval value. The ratio of the amount of the packet currently being processed and the total amount of time in the associated session and the size of the time interval value are automatically determined according to the network type and the packet type.
이때 공격이 감지되면(S90) 관련 패킷을 폐기하고(S110) 새로운 패킷을 입력받아 패킷 처리과정을 반복한다(S10).At this time, if an attack is detected (S90), the related packet is discarded (S110) and a new packet is received and the packet processing is repeated (S10).
이와 같은 패킷 분석을 통해 공격이 감지되지 않을 경우 그 패킷은 호스트 컴퓨터(37)로 넘겨지고 새로운 패킷을 입력받아 패킷 처리과정을 반복하게 된다(S10).If the attack is not detected through the packet analysis as described above, the packet is passed to the host computer 37, and a new packet is received and the packet processing is repeated (S10).
한편, 호스트 컴퓨터(37)에서 네트워크(30)로 나가는 패킷에 대해서도 이와 같은 과정을 통해 공격이 감지되지 않을 경우 그 패킷은 네트워크(30)로 넘겨지고 새로운 패킷을 입력받아 패킷 처리과정을 반복하게 된다.On the other hand, if an attack is not detected through the same process for the packet going from the host computer 37 to the network 30, the packet is passed to the network 30, and a new packet is input and the packet processing is repeated. .
상기한 바와 같이 본 발명은 인터넷망에 컴퓨터 시스템을 접속하기 위한 네트워크 인터페이스 카드레벨에서 외부로부터 들어오거나 나가는 서비스거부(DoS) 공격 및 분산 서비스거부(DDoS) 공격을 차단하도록 함으로써 컴퓨터 시스템에 부하를 주지 않고도 망 전체에서의 트래픽 발생량을 줄일 수 있는 이점이 있다.As described above, the present invention puts a heavy load on the computer system by blocking a denial of service (DoS) attack and a distributed denial of service (DDoS) attack at the network interface card level for connecting the computer system to the Internet. There is an advantage that can reduce the amount of traffic throughout the network without having to.
또한, 로컬 네트워크 영역에서의 호스트 컴퓨터들단의 공격들도 차단할 수 있는 이점이 있다.It also has the advantage that it can also block attacks from host computers in the local network area.
한편, 인터넷에서 서비스되는 대부분의 호스트 컴퓨터들이 네트워크의 종단에서 서비스되기 때문에 네트워크기반의 침입방지시스템에서의 공격차단과 더불어 호스트 컴퓨터의 네트워크 인터페이스 카드 레벨에서 공격을 차단함으로써 로컬 네트워크 영역에서는 이중의 공격차단으로 더욱더 공격 차단 효과를 높일 수 있는 이점이 있다.On the other hand, since most host computers that are serviced on the Internet are serviced at the end of the network, in addition to blocking attacks in the network-based intrusion prevention system, the attacks are blocked at the network interface card level of the host computer. As a result, there is an advantage that can further increase the effect of blocking the attack.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030036599A KR20040105355A (en) | 2003-06-07 | 2003-06-07 | 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 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030036599A KR20040105355A (en) | 2003-06-07 | 2003-06-07 | 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 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20040105355A true KR20040105355A (en) | 2004-12-16 |
Family
ID=37380420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020030036599A KR20040105355A (en) | 2003-06-07 | 2003-06-07 | 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 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20040105355A (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100803029B1 (en) * | 2006-12-01 | 2008-02-18 | 경희대학교 산학협력단 | How to Defend Distributed Service Rejection Attacks Using Collaborative Statistics-based Detection Techniques |
KR100882809B1 (en) * | 2006-08-31 | 2009-02-10 | 영남대학교 산학협력단 | Distributed denial of service attack defense system and method based on flow-based packet processing |
KR100908404B1 (en) * | 2008-09-04 | 2009-07-20 | (주)이스트소프트 | Defending Method and Defense System for Distributed Denial of Service Attacks |
KR100966440B1 (en) * | 2005-09-29 | 2010-06-28 | 모토로라 인코포레이티드 | How to reactivate selective sleep data sessions |
KR101021697B1 (en) * | 2009-04-30 | 2011-03-15 | 경희대학교 산학협력단 | How to Detect Botnet Attacks on 6L FOP |
KR101048513B1 (en) * | 2009-10-13 | 2011-07-12 | 연세대학교 산학협력단 | Countermeasures and devices for malicious flooding attacks in ad hoc networks |
CN119135446A (en) * | 2024-11-11 | 2024-12-13 | 北京驱光科技有限公司 | A secure wireless communication system based on communication technology |
-
2003
- 2003-06-07 KR KR1020030036599A patent/KR20040105355A/en not_active Application Discontinuation
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100966440B1 (en) * | 2005-09-29 | 2010-06-28 | 모토로라 인코포레이티드 | How to reactivate selective sleep data sessions |
KR100882809B1 (en) * | 2006-08-31 | 2009-02-10 | 영남대학교 산학협력단 | Distributed denial of service attack defense system and method based on flow-based packet processing |
KR100803029B1 (en) * | 2006-12-01 | 2008-02-18 | 경희대학교 산학협력단 | How to Defend Distributed Service Rejection Attacks Using Collaborative Statistics-based Detection Techniques |
KR100908404B1 (en) * | 2008-09-04 | 2009-07-20 | (주)이스트소프트 | Defending Method and Defense System for Distributed Denial of Service Attacks |
KR101021697B1 (en) * | 2009-04-30 | 2011-03-15 | 경희대학교 산학협력단 | How to Detect Botnet Attacks on 6L FOP |
KR101048513B1 (en) * | 2009-10-13 | 2011-07-12 | 연세대학교 산학협력단 | Countermeasures and devices for malicious flooding attacks in ad hoc networks |
CN119135446A (en) * | 2024-11-11 | 2024-12-13 | 北京驱光科技有限公司 | A secure wireless communication system based on communication technology |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6738814B1 (en) | Method for blocking denial of service and address spoofing attacks on a private network | |
US7830898B2 (en) | Method and apparatus for inter-layer binding inspection | |
US7797749B2 (en) | Defending against worm or virus attacks on networks | |
USRE50354E1 (en) | Automatic detection of malicious packets in DDOS attacks using an encoding scheme | |
US7463590B2 (en) | System and method for threat detection and response | |
US20020107953A1 (en) | Method and device for monitoring data traffic and preventing unauthorized access to a network | |
US20090092057A1 (en) | Network Monitoring System with Enhanced Performance | |
US11863570B2 (en) | Blockchain-based network security system and processing method | |
JP2009534001A (en) | Malicious attack detection system and related use method | |
US10951649B2 (en) | Statistical automatic detection of malicious packets in DDoS attacks using an encoding scheme associated with payload content | |
CN101064597B (en) | Network security device and method for processing packet data using the same | |
US11770405B2 (en) | Automated selection of DDoS countermeasures using statistical analysis | |
US12041079B2 (en) | Detecting patterns in network traffic responses for mitigating DDOS attacks | |
US11330011B2 (en) | Avoidance of over-mitigation during automated DDOS filtering | |
KR20040105355A (en) | 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 | |
US20100157806A1 (en) | Method for processing data packet load balancing and network equipment thereof | |
US11997133B2 (en) | Algorithmically detecting malicious packets in DDoS attacks | |
EP4366236A1 (en) | Method and apparatus for identifying source address of message | |
CN117411711A (en) | Threat blocking method for intrusion detection defense system | |
US7917649B2 (en) | Technique for monitoring source addresses through statistical clustering of packets | |
US20050147037A1 (en) | Scan detection | |
US12166791B2 (en) | Detecting DDOS attacks by correlating inbound and outbound network traffic information | |
US20070297432A1 (en) | Host-Controlled Network Interface Filtering Based on Active Services, Active Connections and Active Protocols | |
KR20050011191A (en) | high speed network system and operation method of the same | |
Stevens et al. | SecureDirect: proactive security through content based traffic control |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20030607 |
|
PA0201 | Request for examination | ||
PG1501 | Laying open of application | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20050527 Patent event code: PE09021S01D |
|
E601 | Decision to refuse application | ||
PE0601 | Decision on rejection of patent |
Patent event date: 20050822 Comment text: Decision to Refuse Application Patent event code: PE06012S01D Patent event date: 20050527 Comment text: Notification of reason for refusal Patent event code: PE06011S01I |