KR100972206B1 - Method and apparatur for detecting distributed denial of service attack - Google Patents

Method and apparatur for detecting distributed denial of service attack Download PDF

Info

Publication number
KR100972206B1
KR100972206B1 KR1020090004302A KR20090004302A KR100972206B1 KR 100972206 B1 KR100972206 B1 KR 100972206B1 KR 1020090004302 A KR1020090004302 A KR 1020090004302A KR 20090004302 A KR20090004302 A KR 20090004302A KR 100972206 B1 KR100972206 B1 KR 100972206B1
Authority
KR
South Korea
Prior art keywords
matrix
cluster
rank value
distribution
cancellation
Prior art date
Application number
KR1020090004302A
Other languages
Korean (ko)
Other versions
KR20100049470A (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 고려대학교 산학협력단
Publication of KR20100049470A publication Critical patent/KR20100049470A/en
Application granted granted Critical
Publication of KR100972206B1 publication Critical patent/KR100972206B1/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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

정상적인 사용자 접속 폭주 상황인 플래시 이벤트와 구별하여 서비스 거부 공격을 탐지하는 공격 탐지 방법 및 장치가 개시된다. Disclosed is a method and apparatus for detecting a denial of service attack, which is distinguished from a flash event that is a normal user access congestion situation.

본 발명에 의하면, 첫째로, 서비스 거부 공격과 정상 사용자들의 접속 폭주 상황을 구별하여 탐지할 수 있고, 둘째로, 하나의 정수 값(트래픽 행렬의 랭크값)을 가지고 일반적인 네트워크 상황과 접속 폭주의 상황, 그리고 서비스 거부 공격의 상황을 표현 함으로서 더욱 손쉽게 네트워크 상황을 판단할 수 있으며, 셋째로, 공격자가 자신의 주소를 속여서 감행하는 공격 뿐만 아니라 자신의 주소를 속이지 않고 공격을 감행하는 공격도 탐지할 수 있는 효과가 있다.According to the present invention, firstly, a denial of service attack and a congestion situation of normal users can be detected and secondly, a general network situation and a congestion situation with one integer value (rank value of the traffic matrix) are detected. And, by expressing the situation of denial of service attack, it is easier to judge the network situation. Third, it can detect not only the attacker attacking by deceiving his own address but also the attack that does not deceive his address. It has an effect.

네트워크, 보안, DDoS, 서비스 거부 공격, 분산 서비스 거부 공격 Network, Security, DDoS, Denial of Service Attacks, Distributed Denial of Service Attacks

Description

공격 탐지 방법 및 장치{METHOD AND APPARATUR FOR DETECTING DISTRIBUTED DENIAL OF SERVICE ATTACK}METHOD AND APPARATUR FOR DETECTING DISTRIBUTED DENIAL OF SERVICE ATTACK}

본 발명은 공격 탐지 방법 및 장치에 관한 것으로서, 보다 상세하게는 정상적인 사용자 접속 폭주 상황인 플래시 이벤트와 구별하여 서비스 거부 공격을 탐지하는 공격 탐지 방법 및 장치에 관한 것이다. The present invention relates to an attack detection method and apparatus, and more particularly, to an attack detection method and apparatus for detecting a denial of service attack by distinguishing from a flash event that is a normal user access congestion situation.

서버나 네트워크에서 서비스 거부 공격을 탐지를 하기 위한 백신 프로그램이나 IDS, IPS, Firewall과 같은 기술들은 많았으나, 정상 사용자들의 접속 폭주 상황과 서비스 거부 공격의 상황을 정확히 구별하는 기술은 이전에 없었다. 정상 사용자들의 접속 폭주의 상황이 기업에서는 이익을 평소에 비해 더 많이 얻을 수 있는 상황이지만, 이러한 상황이 서비스 거부공격으로 오인하여 기업의 이익을 창출 할 수 없을 뿐 아니라 기업 이미지의 손실로 이어져 기업에 큰 손해를 입힐 수 있다. 본 기술은 이러한 문제점을 해결함으로써 기업의 이익을 창출해 줄 수 있기 때문에, 관련 시장규모는 산출 하기 힘들 정도로 거대하다.Although there are many technologies such as IDS, IPS, and Firewall for detecting denial-of-service attacks on servers or networks, there has been no technology that accurately distinguishes between normal users' congestion and denial of service attacks. The situation where the congestion of normal users can gain more profits than usual, but this situation is misunderstood as a denial of service attack, which can not generate profits and leads to loss of corporate image. It can cause great damage. Since the technology can generate corporate profits by solving these problems, the market size is too large to calculate.

서비스 거부 공격의 경우 서버나 네트워크가 정상 사용자들에게 원활한 서비스를 제공할 수 없도록 악의적으로 서버나 네트워크의 리소스를 고갈시키거나 서버 나 네트워크가 동작할 수 없도록 공격하는 행위를 말한다. A denial of service attack is an act of malicious depletion of resources on a server or network, or an attack on a server or network that cannot be operated, so that the server or network cannot provide a smooth service to normal users.

그리고 정상 사용자의 접속 폭주 상황은 수많은 사용자들이 동시 접속을 시도함으로써 서버의 리소스가 고갈 됨으로써 서버나 네트워크가 정상적인 서비스를 제공할 수 없는 상황을 일컫는다. In addition, the congestion situation of normal users refers to a situation in which the server or the network cannot provide a normal service because a large number of users attempt to access concurrently and the server resources are exhausted.

서버나 네트워크가 사용자들에게 원활한 서비스를 제공하지 못하는 상황의 관점에서는 두 가지의 상황은 동일한 상황이지만, 서비스 거부공격에 의한 서비스 불능상태는 차단 또는 방어를 해야만 하는 공격이지만, 정상 사용자 접속폭주 상황은 분산 서버 혹은 분산 컨텐츠 서비스를 통하여 보완을 하거나 해결해야만 하는 상황이다. In terms of the situation where the server or network does not provide smooth services to users, the two situations are the same, but the service failure due to a denial of service attack is an attack that must be blocked or defended. It is a situation that must be supplemented or solved through distributed server or distributed content service.

서버 또는 네트워크의 상황이 서비스 거부 공격의 상황인지 혹은 정상 사용자들의 접속 폭주 상황인지를 구별하는 기술은 정상 사용자들의 접속 폭주 상황에 사용자들에게 서비스를 원활하게 제공할 수 있도록 마련하는 근간이 되며, 서비스 거부 공격 하에서 이를 차단 함으로서 정상 사용자들에게 원활한 서비스를 제공할 수 있도록 하는 근간을 마련한다. The technology that distinguishes whether the situation of server or network is a denial of service attack or the congestion of normal users is the basis for providing smooth service to users in the congestion situation of normal users. By blocking this under the denial attack, the foundation for providing smooth service to normal users is laid.

그러므로 서비스 거부공격과 정상 사용자 접속 폭주 상황을 구별하는 것은 매우 중요한 기술이다.Therefore, it is very important to distinguish between denial of service attack and normal user access congestion.

기존의 서비스 거부 공격을 탐지하는 기술들은 정상 사용자 접속 폭주 상황을 비 정상적인 서버 또는 네트워크 상황으로 규정하고 이 또한 서비스 거부 공격과 같은 범주로 탐지하도록 설계되었거나 혹은 정상 사용자 접속 폭주를 서비스 거부 공격의 상황으로 오인하는 결과를 초래하였다. The existing techniques for detecting denial of service attacks are designed to define normal user access congestion as an abnormal server or network situation, and are also designed to detect in the same category as denial of service attacks or to treat normal user access congestion as a situation of denial of service attacks. Misleading has resulted.

서버나 네트워크가 과도한 리소스를 허비하거나 혹은 서비스가 불능 상태에 빠져들 때에 서비스 거부 공격에 의한 상황인지 혹은 정상 사용자들의 접속 폭주의 상황인지를 구별해야만 한다. When a server or network wastes excessive resources or when a service falls into a disabled state, it must distinguish between denial-of-service attacks or normal user congestion.

서비스 거부 공격은 분산 서비스 거부공격이나 혹은 공격자의 IP주소를 속여 여러 컴퓨터들이 공격을 한 것처럼 위장을 하게 되면 수많은 사용자들이 접속을 시도하는 접속 폭주 상황과 여러모로 비슷해 보이기 때문에 이를 구분해야만 한다.Denial-of-service attacks should be distinguished from distributed denial-of-service attacks, or in many cases similar to a congestion situation where a large number of users attempt to connect when disguised as multiple computers attacking an attacker's IP address.

본 발명은 상기와 같은 요청에 부응하여 착안된 것으로서, 서비스 거부 공격과 정상 사용자들의 접속 폭주를 구별하는 공격 탐지 방법 및 장치를 제공하는 것을 목적으로 한다. The present invention has been conceived in response to the above-described request, and an object thereof is to provide an attack detection method and apparatus for distinguishing a denial of service attack from a congestion of normal users.

상기와 같은 목적을 달성하기 위하여, 본 발명에 의한 공격 탐지 방법은, 네트워크로부터 제1 시각에 개시되는 제1 시간 영역에 입력되는 복수의 리퀘스트의 클러스터 분포 특성을 나타낸 제1 분포 행렬과, 상기 제1 시간 영역의 종료시각인 제2 시각에 개시되는 제2 시간 영역에 입력되는 복수의 리퀘스트의 클러스터 분포 특성을 나타낸 제2 분포 행렬을 생성하는 클러스터링 단계와; 상기 제1 분포 행렬과 상기 제2 분포 행렬에 중복되는 클러스터를 처리하여 적어도 하나의 신규 분포 행렬을 생성하는 중복 클러스터 처리 단계와; 상기 복수의 클러스터 분포의 무작위도를 검사하는 무작위도 검사 단계; 및 상기 무작위도에 의거하여, 서비스 거부 공격의 발생 여부를 판단하는 공격여부 판단 단계를 포함하여 이루어진다. In order to achieve the above object, the attack detection method according to the present invention, the first distribution matrix showing the cluster distribution characteristics of a plurality of requests input to the first time domain starting from the network at a first time; A clustering step of generating a second distribution matrix representing cluster distribution characteristics of a plurality of requests input to a second time domain starting at a second time which is an end time of the one time domain; Processing a cluster overlapping the first distribution matrix and the second distribution matrix to generate at least one new distribution matrix; A randomness checking step of examining randomness of the plurality of cluster distributions; And an attack determination step of determining whether a denial of service attack has occurred based on the randomness.

또한, 본 발명의 다른 측면에 의한 공격 탐지 장치는, 네트워크로부터 제1 시각에 개시되는 제1 시간 영역에 입력되는 복수의 리퀘스트의 클러스터 분포 특성을 나타낸 제1 분포 행렬과, 상기 제1 시간 영역의 종료시각인 제2 시각에 개시되는 제2 시간 영역에 입력되는 복수의 리퀘스트의 클러스터 분포 특성을 나타낸 제2 분포 행렬을 생성하는 클러스터링부와; 상기 제1 분포 행렬과 상기 제2 분포 행렬 에 중복된 행렬 성분을 소거하여 중복 클러스터 소거 행렬을 생성하는 중복 클러스터 소거부와; 상기 제1 분포 행렬과 상기 제2 분포 행렬에 중복된 행렬이 아닌 성분을 소거하여 비중복 클러스터 소거 행렬을 생성하는 비중복 클러스터 소거부와; 상기 복수의 클러스터 분포의 무작위도를 검사하는 무작위도 검사부; 및 상기 무작위도에 의거하여, 서비스 거부 공격의 발생 여부를 판단하는 공격여부 판단부를 포함한다. In addition, the attack detection apparatus according to another aspect of the present invention, the first distribution matrix showing the cluster distribution characteristics of a plurality of requests input to the first time domain starting from the network at a first time, and the first time domain A clustering unit generating a second distribution matrix representing cluster distribution characteristics of a plurality of requests input to a second time domain starting at a second time that is an end time; A redundant cluster cancellation unit for generating a redundant cluster cancellation matrix by canceling matrix components overlapping the first distribution matrix and the second distribution matrix; A non-overlapping cluster cancellation unit for generating a non-overlapping cluster cancellation matrix by canceling components other than the matrix overlapping the first distribution matrix and the second distribution matrix; A randomness checker that checks randomness of the plurality of cluster distributions; And an attack determination unit determining whether a denial of service attack occurs based on the randomness.

첫째로, 본 발명은 다른 서비스 거부 공격을 탐지하는 기술들과 비교하여 서비스 거부 공격과 정상 사용자들의 접속 폭주 상황을 구별하여 탐지할 수 있는 장점을 가지고 있다.First, the present invention has the advantage of detecting the denial of service attacks and normal congestion of normal users compared to other techniques for detecting denial of service attacks.

둘째로, 본 발명은 단순한 정수 값인 랭크값만으로도 일반적인 네트워크 상황과 접속 폭주의 상황, 그리고 서비스 거부 공격의 상황을 표현 함으로서 더욱 손쉽게 네트워크 상황을 판단할 수 있는 근간을 마련한다.Second, the present invention provides a basis for more easily determining network conditions by expressing general network situations, congestion situations, and denial of service attacks using only rank values, which are simple integer values.

셋째로, 본 발명은 공격자가 자신의 주소를 속여서 감행하는 공격 뿐만이 아니라 자신의 주소를 속이지 않고 공격을 감행하는 공격을 구분하여 탐지할 수 있다.Third, the present invention can detect and detect not only attacks in which an attacker cheats its own address, but also attacks in which an attacker does not deceive his or her address.

플래시 크라우드(Flash Crowd)는 특정 사이트의 접속자가 급격히 증가하는 현상을 나타내는 말이다. Flash crowd refers to the rapid increase in the number of visitors to a particular site.

본 발명에서는 이와 유사하게 많은 사용자들이 동시에 특정 컴퓨터 서버에 접속하는 “접속 폭주” 상황에 플래시 이벤트(FE: Flash Event)라는 용어를 사용하기로 한다. 플래시 이벤트가 발생하는 컴퓨터 서버는 예컨대 올림픽 기간 중의 올림픽 공식 웹사이트나 학기가 시작할 때의 수강 신청 서버 등이 해당하며, 이 경우 해당 컴퓨터 서버에는 상당한 과부하가 실린다. Similarly, in the present invention, the term flash event (FE) is used in a “congestion congestion” situation in which many users simultaneously access a specific computer server. The computer server where the flash event occurs is, for example, the official website of the Olympic Games or the registration server at the beginning of the semester, and the computer server is under heavy load.

플래시 이벤트의 가장 중요한 특징은, 공인된 사용자들에 의하여 발생한다는 점 및 서버에 비정상적인 과부하가 실린다는 점이다. The most important features of flash events are that they are caused by authorized users and that the server is subjected to abnormal overloads.

서비스 거부(DoS: Denial of Service) 공격은, 사용자들이 특정 컴퓨터의 자원을 사용할 수 없도록 하는 행위이다. 서비스 거부 공격의 전형적인 방법은, 외부에서 통신 요청으로 공격 대상 컴퓨터의 능력을 포화시킴으로써 해당 컴퓨터가 정당한 트래픽에 응답할 수 없도록 만드는 것이다. Denial of service (DoS) attacks are actions that prevent users from using resources on a particular computer. The typical method of a denial of service attack is to saturate the target computer's ability with external communication requests so that the computer cannot respond to legitimate traffic.

나아가, 분산 서비스 거부(DDoS: Distributed Denial of Service) 공격은 복수의 네트워크에 분산되어 있는 대량의 컴퓨터가 협력하여 행하는 서비스 거부 공격이다. Further, a Distributed Denial of Service (DDoS) attack is a denial of service attack performed by a large number of computers that are distributed in a plurality of networks in cooperation.

본 명세서에서는 별도의 언급이 없는 한, “공격” 또는 “서비스 거부 공격”은 “분산 서비스 거부 공격”을 의미하는 것으로 한다. In the present specification, unless otherwise stated, the term “attack” or “denial of service attack” shall mean “distributed denial of service attack”.

이하에서는 도면을 참조하여 본 발명의 일실시예에 따른 공격 탐지 장치 및방법에 관하여 더욱 상세하게 살펴보기로 한다. Hereinafter, an attack detection apparatus and method according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일실시예에 따른 공격 탐지 장치의 구성을 나타낸 블록도 이다. 1 is a block diagram showing the configuration of an attack detection apparatus according to an embodiment of the present invention.

도 1에서 나타낸 바와 같이, 본 발명의 일실시예에 따른 공격 탐지 장치(100)는, 클러스터링부(110), 중복 클러스터 소거부(120), 비중복 클러스터 소거부(130), 무작위도 검사부(140) 및 공격 여부 판단부(150)를 포함하여 이루어진다. As shown in FIG. 1, the attack detection apparatus 100 according to an embodiment of the present invention includes a clustering unit 110, a redundant cluster eliminating unit 120, a non-redundant cluster eliminating unit 130, and a randomness checking unit ( 140) and the attack determination unit 150 is made.

공격 탐지 장치(100)는 행렬에 대응된 클라이언트 클러스터들의 분포의 무작위도(randomness) 검사를 이용하여 플래시 이벤트와 서비스 거부 공격을 구분하도록 설계된다. The attack detection apparatus 100 is designed to distinguish a flash event from a denial of service attack by using a randomness check of the distribution of client clusters corresponding to the matrix.

이 때, 네트워크 상의 호스트 컴퓨터들로부터의 입력 리퀘스트를 그 소스의 IP에 관한 클러스터 단위로 그룹화하는 개념을 생각할 수 있다. At this point, the concept of grouping input requests from host computers on a network into cluster units relating to the IP of the source can be considered.

입력 리퀘스트를 클러스터 단위로 그룹화하는 까닭은, 클러스터 단위의 그룹화를 통하여 플래시 이벤트의 특징과 서비스 거부 공격의 특징 사이에 존재하는 차이점이 발견될 수 있기 때문이다. The reason for grouping input requests in clusters is that clustering groupings can reveal differences that exist between flash event and denial of service attacks.

본 발명에서 말하는 클러스터(cluster)란, 위상적으로 인접해 있고, 함께 관리되기 쉬운 1 군(group)의 클라이언트를 말한다. The cluster referred to in the present invention refers to a group of clients that are topologically adjacent and easily managed together.

정상적인 접속 폭주 현상인 플래시 이벤트 동안에는 서로 다른 클러스터의 개수는 서로 다른 클라이언트의 개수보다 현저히 적다. 플래시 이벤트의 경우에는 약 80%의 입력 리퀘스트가 전체 컴퓨터의 IP 주소의 약 20%에 집중되는 파레토의 법칙을 근사적으로 따르기 때문이다. During flash events, a normal congestion event, the number of different clusters is significantly less than the number of different clients. In the case of a flash event, about 80% of the input requests approximately follow Pareto's law, which is focused on about 20% of the IP address of the entire computer.

반면, 서비스 거부 공격시에는 클라이언트의 IP 주소는 랜덤하게 생성되므로, 플래시 이벤트의 경우에 비하여 서로 다른 클러스터의 개수가 폭증하게 된다. On the other hand, since the IP address of the client is randomly generated in the denial of service attack, the number of different clusters explodes as compared with the flash event.

클러스터링부(110)에서는 입력 리퀘스트를 클러스터 단위로 그룹화하는 작업이 수행된다. The clustering unit 110 performs an operation of grouping input requests in cluster units.

본 발명의 일실시예에서는 클러스터링부(110)가 입력 리퀘스트를 그 입력 리퀘스트가 속하는 클러스터의 분포 특성을 반영하는 행렬(이하 “분포 행렬”이라 한다)에 캡처함으로써 입력 리퀘스트의 그룹화를 수행한다. In one embodiment of the present invention, the clustering unit 110 performs the grouping of the input requests by capturing the input requests into a matrix (hereinafter referred to as a "distribution matrix") that reflects the distribution characteristics of the cluster to which the input request belongs.

본 실시예에서는 간단한 기법을 예로 들어 설명한다. In this embodiment, a simple technique will be described as an example.

먼저 4자리로 이루어지는 IP 주소를 수학식 1에서와 같이 4개의 옥텟으로 구분한다. 이 때, 각각의 옥텟의 길이는 1바이트가 된다. First, a four-digit IP address is divided into four octets as shown in Equation 1. At this time, each octet is 1 byte in length.

IP1.IP2.IP3.IP4IP1.IP2.IP3.IP4

이 때, 분포 행렬 내의 각각의 성분과 입력 리퀘스트를 매핑함에 있어서, 본 실시예에서는 단순히 입력 리퀘스트를 IP주소의 두번째 옥텟이 열(column)이 되고 세번째 옥텟이 행(raw)이 되도록 수학식 2와 같이 매핑한다.At this time, in mapping the input request with each component in the distribution matrix, in the present embodiment, the input request is simply expressed in equations 2 and 2 such that the second octet of the IP address becomes a column and the third octet becomes a raw. Map it together.

i = IP3, j = IP2 i = IP 3 , j = IP 2

이 때, i 는 행 성분이고 j 는 열 성분이다. I is a row component and j is a column component.

도 2는 행렬 성분과 입력 리퀘스트의 대응관계를 나타낸 도면이다.2 is a diagram showing a correspondence relationship between a matrix component and an input request.

도 2에는 분포 행렬의 성분과 입력 리퀘스트의 대응관계가 나타나 있다. 2 shows the correspondence between the components of the distribution matrix and the input request.

앞서 설명한 바와 같이, 입력 리퀘스트(220)는 분포 행렬(250) 내에서 두번 째 옥텟(222)과 세번째 옥텟(223)을 각각 열(j) 및 행(i)으로 하는 행렬 성분에 대응된다. As described above, the input request 220 corresponds to a matrix component having the second octet 222 and the third octet 223 as columns j and row i, respectively, in the distribution matrix 250.

이와 같은 클러스터링에 따르면, 입력 리퀘스트의 IP 주소 중 두번째 옥텟과 세번째 옥텟을 공통적으로 가지는 패킷들은 분포 행렬(250) 내에서 동일한 성분에 대응되는 동일한 클러스터로 분류된다. According to such clustering, packets having a second octet and a third octet in common among the IP addresses of the input request are classified into the same cluster corresponding to the same component in the distribution matrix 250.

클러스터링부(110)는, 이와 같은 방법으로 시각 t를 개시 시각으로 하여 소정의 시간 영역 동안 구축된 분포 행렬인 M(t)를 매 시간 영역마다 생성한다. In this way, the clustering unit 110 generates M (t), which is a distribution matrix constructed during the predetermined time domain, at time t as the starting time for each time domain.

각각의 시간 영역은 1초가 될 수도 있고, 1분이 될 수도 있으며, 그 밖의 지속시간(duration)을 가질 수도 있으며, 지속시간의 길이는 실제 적용 환경에 따라 결정된다. 본 실시예에서는 시간 영역을 1초로 상정하고 있다.Each time zone may be one second, may be one minute, or may have other durations, the length of the duration being determined by the actual application environment. In this embodiment, the time domain is assumed to be 1 second.

한편, 도 2에서 나타낸 분포 행렬은 매 시간 영역의 초기에 모든 성분이 0이 되도록 초기화되어 있다. 이후, 행렬 내의 특정 성분에 대응되는 입력 리퀘스트가 존재하는 경우, 행렬의 해당 성분에는 ‘1’이 기록된다. 이에 따라, 256×256 행렬의 각각의 셀(성분)은 0 또는 1의 이진수를 포함하게 된다. 결과적으로, 본 발명의 일실시에에 따른 공격 탐지 장치는 65,536비트의 매우 적은 메모리 공간만을 사용할 수 있게 되는 효과가 있다. On the other hand, the distribution matrix shown in Fig. 2 is initialized such that all components become zero at the beginning of each time domain. Thereafter, when an input request corresponding to a specific component in the matrix exists, '1' is recorded in the corresponding component of the matrix. As a result, each cell (component) of the 256x256 matrix includes a binary number of zero or one. As a result, the attack detection apparatus according to an embodiment of the present invention has an effect of using only very little memory space of 65,536 bits.

한편, 클러스터링부(110)에서 수행되는 클러스터링은 두번째 옥텟과 세번째 옥텟을 행렬의 열과 행에 대응시키는 위에서 설명한 기법만으로 한정되어 수행되지 않는다. Meanwhile, clustering performed by the clustering unit 110 is not limited to the above-described technique of mapping the second and third octets to the columns and rows of the matrix.

즉, 다양하게 존재하는 클러스터링 방법이 본 발명에 적용이 될 수 있으며, 예컨대 크리슈나무르티(Krishnamurthy)와 왕(Wang)의 클러스터링 기법이 본 발명에 적용될 수 있다. That is, various existing clustering methods may be applied to the present invention. For example, Krishnamurthy and Wang clustering techniques may be applied to the present invention.

다만, 행렬의 구축 과정은 가능한 한 단순하여야 고속 라우터와 같은 장비에서 용이하게 구현이 가능한데, 여기에서 설명한 기법은 분포 행렬이 고정된 크기로 생성된다는 장점을 가지고 있다. However, the matrix construction process should be as simple as possible so that it can be easily implemented in equipment such as a high-speed router. The technique described here has the advantage that a distribution matrix is generated with a fixed size.

다음으로, 중복 클러스터 소거부(120) 및 비중복 클러스터 소거부(130)에서는 인접한 두 시간 영역에 구축된 2개의 분포 행렬 간에 존재하는 중복 클러스터의 처리가 수행된다. Next, in the redundant cluster cancellation unit 120 and the non-redundant cluster cancellation unit 130, the processing of the overlapping cluster existing between two distribution matrices constructed in two adjacent time domains is performed.

중복 클러스터 처리의 필요성은 다음과 같다. The need for redundant cluster processing is as follows.

즉, 플래시 이벤트의 발생시에 생성된 클러스터 중 다수는, 해당 이벤트가 발생하기 전에도 그 사이트에 방문한 적이 있는 호스트 컴퓨터에 관한 것인 반면, 서비스 거부 공격 리퀘스트를 생성하는 클라이언트에 의하여 생성된 클러스터의 압도적 다수는 해당 공격 이전에 전혀 그 사이트에 방문하지 않았던 새로운 클러스터인 경우가 많다. That is, while many of the clusters created at the time of the flash event are related to host computers that have also visited the site before the event occurred, the overwhelming majority of clusters created by the client generating the denial of service attack request Is often a new cluster that never visited the site before the attack.

따라서, 입력 리퀘스트 내에서 중복 클러스터의 규모는 클러스터의 무작위도와 밀접하게 연관되므로 플래시 이벤트와 서비스 거부 공격을 구분짓는 척도가 될 수 있다. Therefore, the size of the redundant cluster within the input request is closely related to the randomness of the cluster, and thus can be a measure for distinguishing a flash event from a denial of service attack.

즉, 입력 리퀘스트들 간에 클러스터의 중복이 빈번하게 발생하면, 다음 리퀘스트의 클러스터를 상당한 확률로 예측할 수 있다. That is, if the cluster overlaps frequently between input requests, the cluster of the next request can be predicted with a considerable probability.

중복 클러스터 소거부(120)에서는 시간적으로 연속하는 2개의 분포 행렬 간 의 중복 클러스터를 소거한 새로운 행렬(중복 클러스터 소거 행렬)을 생성한다. The redundant cluster cancellation unit 120 generates a new matrix (duplicate cluster cancellation matrix) in which redundant clusters between two distribution matrices that are continuous in time are erased.

중복 클러스터를 소거하기 위하여, 중복 클러스터 소거부(120)에서는 시간적으로 연속하는 2개의 분포 행렬, 예컨대 M(t)와 M(t-1)에 배타적 논리합(XOR: exclusive OR)을 수행한다. In order to cancel the redundant cluster, the redundant cluster cancellation unit 120 performs an exclusive OR (XOR: exclusive OR) on two time-sequential distribution matrices, for example, M (t) and M (t-1).

2개의 분포 행렬의 특정 성분이 모두 1인 경우에는 배타적 논리합의 연산 결과가 0이 되므로, 배타적 논리합 연산의 결과로 생성된 중복 클러스터 소거 행렬에서는 해당 성분에 대응되는 중복 클러스터가 소거된 것으로 볼 수 있다. If a specific component of both distribution matrices is 1, the result of the exclusive OR is 0, and thus, in the redundant cluster cancellation matrix generated as the result of the exclusive OR, the redundant cluster corresponding to the corresponding component is erased. .

마찬가지로, 비중복 클러스터 소거부(130)에서는 시간적으로 연속하는 2개의 분포 행렬 간의 중복 클러스터만을 남긴 새로운 행렬(비중복 클러스터 소거 행렬)을 생성한다. Similarly, the non-redundant cluster cancellation unit 130 generates a new matrix (non-duplicate cluster cancellation matrix) leaving only duplicate clusters between two time-sequential distribution matrices.

중복 클러스터만을 남기기 위하여, 중복 클러스터 소거부(120)에서는 시간적으로 연속하는 2개의 분포 행렬 M(t)와 M(t-1)에 논리곱(AND)을 수행한다. In order to leave only the redundant cluster, the redundant cluster cancellation unit 120 performs AND on the two distribution matrices M (t) and M (t-1) that are continuous in time.

2개의 분포 행렬의 특정 성분이 모두 1인 경우에만 논리곱의 연산 결과가 1이 되므로, 논리곱 연산의 결과로 생성된 비중복 클러스터 소거 행렬에는 해당 성분에 대응되는 중복 클러스터만이 남겨진 것으로 볼 수 있다. Since the result of the AND is 1 only when a certain component of both distribution matrices is 1, only the duplicate clusters corresponding to the component are left in the non-overlapping cluster cancellation matrix generated as the result of the AND. have.

다음으로, 무작위도 검사부(150)에서는 클러스터의 무작위도(randomness) 정도를 수치로 계산하게 된다. Next, the randomness checker 150 calculates the degree of randomness of the cluster as a numerical value.

무작위도를 테스트하는 데에도 다양한 기법이 적용될 수 있다. Various techniques can be applied to test the randomness.

그 중에서, 본래 시퀀스에 대한 고정길이 서브스트링 간의 선형 의존성을 검토하는 기법은 매우 효율적이다. Among them, the technique of examining the linear dependence between fixed length substrings for the original sequence is very efficient.

본 발명의 일실시예에서는 행렬의 행과 열의 선형 의존성(linear dependency)을 검사하기 위해서 행렬의 랭크값을 사용하고 있다. In one embodiment of the present invention, the rank value of the matrix is used to check the linear dependence of the rows and columns of the matrix.

R[M(t)]을 M(t)의 랭크값이라고 하면, 본 발명의 일실시예에서 사용되는 중복 클러스터 소거 행렬의 랭크값과 비중복 클러스터 소거 행렬의 랭크값은 각각 아래 수학식 3 및 수학식 4와 같이 나타낼 수 있다. When R [M (t)] is a rank value of M (t), the rank value of the redundant cluster cancellation matrix and the rank value of the non-overlapping cluster cancellation matrix used in the embodiment of the present invention are represented by Equations 3 and 3 below. It can be expressed as Equation 4.

RXOR[M(t)] = R[M(t) XOR M(t-1)]RXOR [M (t)] = R [M (t) XOR M (t-1)]

RAND[M(t)] = R[M(t) AND M(t-1)]RAND [M (t)] = R [M (t) AND M (t-1)]

이 때에, 행렬의 랭크값은 행렬에 대하여 가우스 소거법을 적용한 후에 0이 아닌 열의 개수를 셈으로써 얻어진다. At this time, the rank value of the matrix is obtained by counting the number of nonzero columns after applying the Gaussian elimination method to the matrix.

행렬의 랭크값이 무작위도를 나타내는 신뢰성 있는 지표가 되는 까닭은 수학적으로 설명이 가능하다. The rank value of the matrix is a reliable indicator of randomness and can be explained mathematically.

어떤 m×n 행렬의 랭크값이 r이라고 할 경우에, 그 행렬이 랜덤할 확률(P)은 아래 수학식과 같이 나타낸다. When the rank value of an m × n matrix is r, the probability P of randomness of the matrix is expressed by the following equation.

Figure 112009003404318-pat00001
P =
Figure 112009003404318-pat00001
P =

이 때, 랭크값 r은 1 이상이고 m과 n 중 작은 값 이하인 정수가 된다.At this time, the rank value r is an integer greater than or equal to 1 and less than or equal to the smaller of m and n.

예컨대, 256×256 행렬이 252의 랭크값을 갖는다면, 수학식 5에 따라 해당 행렬은 99.999%의 확률로 랜덤하게 된다. For example, if a 256x256 matrix has a rank value of 252, the matrix is randomized with a probability of 99.999% according to equation (5).

무작위도 검사부(140)에서는 시각 t에서의 분포 행렬(M(t)), 중복 클러스터 소거 행렬 및 비중복 클러스터 소거 행렬 등 세 개의 행렬에 대한 랭크값을 계산함으로써 이들 행렬의 무작위성을 검사하게 된다. The randomness checker 140 checks the randomness of these matrices by calculating rank values for three matrices such as a distribution matrix M (t), a duplicate cluster cancellation matrix, and a non-overlapping cluster cancellation matrix at time t.

도 3은 도 1의 무작위도 검사부를 더욱 상세히 나타낸 블록도이다. 3 is a block diagram illustrating in more detail the randomness checker of FIG. 1.

도 3에서 나타낸 바와 같이, 무작위도 검사부(140)는 제1 랭크값 계산부(142), 제2 랭크값 계산부(144) 및 제3 랭크값 계산부(146)을 더 포함하여 이루어진다. As shown in FIG. 3, the randomness checker 140 further includes a first rank value calculator 142, a second rank value calculator 144, and a third rank value calculator 146.

즉, 제1 랭크값 계산부(142)에서는 분포 행렬(M(t))의 랭크값(제1 랭크값)이, 제2 랭크값 계산부(144)에서는 중복 클러스터 소거 행렬의 랭크값(제2 랭크값)이, 제3 랭크값 계산부(146)에서는 비중복 클러스터 소거 행렬의 랭크값(제3 랭크값)이 각각 계산된다. That is, in the first rank value calculator 142, the rank value (first rank value) of the distribution matrix M (t) is equal to the rank value of the redundant cluster cancellation matrix in the second rank value calculator 144. The second rank value) calculates the rank value (third rank value) of the nonredundant cluster cancellation matrix in the third rank value calculation unit 146, respectively.

제1 랭크값, 제2 랭크값, 제3 랭크값은 이하에서 설명하는 공격 여부 판단부(150)로 전달되며, 이들 값의 관계에 따라 공격 여부 판단부(150)에서는 서비스 거부 공격이 발생하였는지 여부에 대한 판단이 내려진다. The first rank value, the second rank value, and the third rank value are transmitted to the attack determination unit 150 described below. According to the relationship between these values, the attack determination unit 150 determines whether a denial of service attack has occurred. Judgment is made on whether or not.

표 1은 행렬의 제1 랭크값, 제2 랭크값 및 제3 랭크값의 관계와 공격 여부 판단의 관계를 나타낸 표이다. Table 1 is a table showing the relationship between the first rank value, the second rank value and the third rank value of the matrix and the attack determination.

네트워크 상태Network status 제1 랭크값1st rank value 제2 랭크값Second rank value 제3 랭크값Third rank value 보통의 상태Normal condition 작음littleness 작음littleness 작음littleness 플래시 이벤트Flash events 중간+Medium + 중간middle 중간-middle- 소스 변조된
분산 서비스 거부 공격
Source modulated
Distributed Denial of Service Attack
큼( > T)Greater than (> T) 큼( > T)Greater than (> T) 작음littleness
소스 변조되지 않은
분산 서비스 거부 공격
Source unmodulated
Distributed Denial of Service Attack
큼( > T)Greater than (> T) 작음littleness 큼 ( > T)Greater than (> T)

네트워크에 단순한 접속 폭주(플래시 이벤트)도 서비스 거부 공격도 발생하지 않은 상태를 보통의 상태라고 하자. The normal state is that neither a simple congestion (flash event) nor a denial of service attack occurs on the network.

보통의 상태에서는 제1 랭크값, 제2 랭크값 및 제3 랭크값은 모두 작은 상태로 유지된다. In the normal state, the first rank value, the second rank value, and the third rank value are all kept small.

한편, 플래시 이벤트에서는 M(t)의 랭크값인 제1 랭크값, M(t)와 M(t-1)의 배타적 논리합에 대한 랭크값인 제2 랭크값, M(t)와 M(t-1)의 논리곱에 대한 랭크값인 제3 랭크값 등 세 개의 랭크값에 다소 편차가 존재한다. 또한, 이들 세 랭크값은 보통의 상태에서의 세 랭크값보다는 큰 값이다. 그러나, 입력 트래픽의 규모가 매우 증가하더라도 이들의 랭크값은 일정한 값, 즉 “기준값(T)”를 넘어서는 큰 값을 나타내지는 않는다. On the other hand, in the flash event, the first rank value which is the rank value of M (t), the second rank value which is the rank value for the exclusive logical sum of M (t) and M (t-1), M (t) and M (t There are some deviations in three rank values, such as the third rank value, which is the rank value with respect to the logical product of -1). These three rank values are larger than the three rank values in the normal state. However, even if the size of the input traffic is greatly increased, their rank value does not represent a large value beyond a certain value, that is, the “reference value T”.

이는, 플래시 이벤트에서는 대규모의 리퀘스트가 발생하더라도 적은 수의 클러스터로부터 요청되는 것이기 때문에, 클러스터 중복이 다소 발생하여 랭크값 또한 크지 않게 되기 때문이다. This is because in a flash event, even if a large number of requests are requested from a small number of clusters, cluster duplication occurs a little and the rank value is not large.

이에 따라, 배타적 논리합의 랭크값의 랭크값과 배타적 논리합의 랭크값 또한 M(t)의 랭크값보다 다소 작아진다. Accordingly, the rank value of the exclusive logical sum and the rank value of the exclusive logical sum also become somewhat smaller than the rank value of M (t).

이 때, ‘+’ 및 ‘-’ 기호는 이들 값 사이야 약간의 차이가 존재함을 나타내기 위하여 붙인 기호이다. In this case, the symbols '+' and '-' are symbols added to indicate that there is a slight difference between these values.

제1 랭크값과 제2 랭크값과 제3 랭크값 사이의 크기 관계는, 아래 수학식과 같이 나타난다. The magnitude relationship between the first rank value, the second rank value, and the third rank value is expressed by the following equation.

제1 랭크값 > 제2 랭크값 > 제3 랭크값.1st rank value> 2nd rank value> 3rd rank value.

만약 서버가 분산 서비스 거부 공격을 받는 상황이라면, 제1 랭크값은 소정의 기준값(T)을 넘어서는 큰 값이 된다. 이는, 분산 서비스 거부 공격에서는 입력 리퀘스트의 수효가 많을수록 입력 리퀘스트를 요청하는 클러스터의 수효 또한 많기 때문이다. If the server is under a distributed denial of service attack, the first rank value becomes a large value exceeding a predetermined reference value T. This is because, in a distributed denial of service attack, the more input requests, the more clusters requesting input requests.

소스 변조된(source-spoofed) 분산 서비스 거부 공격의 경우에는 소스 IP 주소가 무작위로 선택되기 때문에 클러스터의 중복이 비교적 적게 나타난다. 따라서, 클러스터의 중복이 비교적 적게 나타나는 현상이 반영되어, M(t)의 배타적 논리합의 랭크값은 매우 큰 값이 되는 반면, M(t)의 논리곱의 값은 매우 작은 값이 된다. In the case of source-spoofed distributed denial of service attacks, cluster duplication is relatively small because the source IP address is chosen at random. Therefore, the phenomenon that cluster overlap is relatively small is reflected, so that the rank value of the exclusive logical sum of M (t) becomes a very large value, while the value of the logical product of M (t) becomes a very small value.

소스 변조되지 않은(non-source-spoofed) 분산 서비스 거부 공격의 경우에는 클러스터의 중복이 비교적 많이 발생하므로, M(t)의 배타적 논리합의 랭크값은 작아지고, M(t)의 논리곱의 랭크값은 커진다. In the case of non-source-spoofed distributed denial-of-service attacks, there is a relatively large number of cluster redundancies. Therefore, the rank of the exclusive OR of M (t) becomes small, and the rank of M (t) of logical product. The value increases.

따라서, 제1 랭크값과 제2 랭크값 및 제3 랭크값의 크기를 기준값(T)과 비교함으로써 그 행렬에 대응되는 클러스터 분포의 무작위도를 판단할 수 있다. Accordingly, by comparing the magnitudes of the first rank value, the second rank value, and the third rank value with the reference value T, the randomness of the cluster distribution corresponding to the matrix can be determined.

한편, 기준값(T)는 수학식 5를 이용하여 얻어진다. On the other hand, the reference value T is obtained using the equation (5).

즉, 수학식 5에 대하여 r에 T를 대입하고 양 변에 2를 밑으로 하는 로그를 취한 후 식을 정리하면, 아래 수학식이 도출된다.That is, substituting T into r with respect to Equation 5, taking the logarithm of 2 below on both sides, and arranging the equation, the following equation is derived.

(m-T)2 = log2(1/P). (m-T) 2 = log 2 (1 / P).

이 때, m은 정사각 분포 행렬의 크기이고, P는 상기 정사각 분포 행렬이 랜덤 행렬일 확률이다. Where m is the magnitude of the square distribution matrix and P is the probability that the square distribution matrix is a random matrix.

도 4는 본 발명의 일실시예에 따른 공격 탐지 방법의 흐름을 나타낸 흐름도이다. 4 is a flowchart showing the flow of an attack detection method according to an embodiment of the present invention.

도 4에서 나타낸 바와 같이, 공격 탐지 방법은 클러스터링 단계(S110), 중복 클러스터 처리 단계(S120), 무작위도 검사 단계(S130) 및 공격 여부 판단 단계(S140)를 포함하여 이루어진다. As shown in FIG. 4, the attack detection method includes a clustering step S110, a redundant cluster processing step S120, a randomness checking step S130, and an attack determination step S140.

클러스터링 단계(S110)에서는 입력 리퀘스트를 클러스터 단위로 그룹화된다. In the clustering step (S110), input requests are grouped in cluster units.

즉, 클러스터링 단계(S110)에서는 시각 t에 각각 개시되는 매 시간 영역 마다 해당 시간 영역에서 입력되는 복수의 리퀘스트의 클러스터 분포 특성을 반영한 분포 행렬(M(t))이 생성된다.That is, in the clustering step S110, a distribution matrix M (t) reflecting cluster distribution characteristics of a plurality of requests input in the corresponding time domain is generated in every time region respectively started at time t.

클러스터링 단계(S110)는 공격 탐지 장치(100)의 클러스터링부(110)에서 수행된다.The clustering step S110 is performed by the clustering unit 110 of the attack detection device 100.

중복 클러스터 처리 단계(S120)에서는 시간적으로 인접한 2개의 분포 행렬 사이에 존재하는 중복 클러스터가 이들 각각의 분포 행렬에서 소거되거나, 또는 중복 클러스터를 제외한 나머지가 소거된다. In the duplicate cluster processing step S120, duplicate clusters existing between two temporally adjacent distribution matrices are erased from their respective distribution matrices, or the rest except the duplicate clusters are erased.

도 5는 중복 클러스터 처리 단계(S120)를 더욱 상세히 나타낸 흐름도이다. 5 is a flowchart showing the redundant cluster processing step S120 in more detail.

도 5에서 나타낸 바와 같이, 중복 클러스터 처리 단계(S120)는 중복 클러스터 소거 단계(S122) 및 비중복 클러스터 소거 단계(S124)를 더 포함하여 이루어질 수 있다. As shown in FIG. 5, the redundant cluster processing step S120 may further include a redundant cluster erasing step S122 and a non-redundant cluster erasing step S124.

중복 클러스터 소거 단계(S122)에서는 시간적으로 인접한 2개의 분포 행렬에 배타적 논리합 연산이 수행됨으로써, 중복 클러스터가 모두 소거된 새로운 행렬인 중복 클러스터 소거 행렬이 생성된다. In the redundant cluster erasing step (S122), an exclusive OR operation is performed on two temporally adjacent distribution matrices, thereby generating a redundant cluster cancellation matrix, which is a new matrix in which all redundant clusters are erased.

비중복 클러스터 소거 단계(S124)에서는 시간적으로 인접한 2개의 분포 행렬에 논리곱 연산이 수행됨으로써, 중복 클러스터만이 남겨진 새로운 행렬인 비중복 클러스터 소거 행렬이 생성된다. In the non-overlapping cluster erasing step (S124), a logical product operation is performed on two time-adjacent distribution matrices, thereby generating a non-redundant cluster erasing matrix, which is a new matrix in which only redundant clusters are left.

중복 클러스터 소거 단계(S122)는 공격 탐지 장치(100)의 중복 클러스터 소거부(120)에서, 비중복 클러스터 소거 단계(S124)는 비중복 클러스터 소거부(130)에서 각각 수행된다.The redundant cluster erasing step S122 is performed by the redundant cluster erasing unit 120 of the attack detection apparatus 100, and the non-redundant cluster erasing step S124 is performed by the non-redundant cluster erasing unit 130, respectively.

다시 도 4로 돌아와서 설명하면, 무작위도 검사 단계(S130)에서는 클러스터 분포의 무작위도 검사가 수행된다. Referring back to FIG. 4, in the randomness check step S130, randomness check of the cluster distribution is performed.

클러스터 분포의 무작위도 검사는 분포 행렬(M(t)), 중복 클러스터 소거 행렬 및 비중복 클러스터 소거 행렬 등 3개의 행렬에 대한 랭크값을 측정함으로써 이루어진다. The randomness check of the cluster distribution is performed by measuring rank values for three matrices, a distribution matrix M (t), a redundant cluster cancellation matrix, and a non-redundant cluster cancellation matrix.

이를 위하여, 무작위도 검사 단계(S140)는 분포 행렬의 랭크값(제1 랭크값)을 측정하는 단계(S132), 중복 클러스터 소거 행렬의 랭크값(제2 랭크값)을 측정하 는 단계(S134) 및 비중복 클러스터 소거 행렬의 랭크값(제3 랭크값)을 측정하는 단계(S136)를 더 포함한다. To this end, the randomness check step (S140) is a step of measuring the rank value (first rank value) of the distribution matrix (S132), the step of measuring the rank value (second rank value) of the redundant cluster cancellation matrix (S134). And measuring the rank value (third rank value) of the non-redundant cluster cancellation matrix (S136).

단계(S132), 단계(S134) 및 단계(S136)는 각각 공격 탐지 장치(100)의 무작위도 검사부(140) 내부의 제1 랭크값 계산부(142), 제2 랭크값 계산부(144) 및 제3 랭크값 계산부(146)에서 이루어진다. Steps S132, S134, and S136 include the first rank value calculator 142 and the second rank value calculator 144 inside the randomness checker 140 of the attack detection apparatus 100, respectively. And the third rank value calculator 146.

이들 랭크값에 따른 공격 여부 판단은 다음과 같다. The determination of attack based on these rank values is as follows.

제1 랭크값과 제2 랭크값 및 제3 랭크값이 모두 보통의 상태에서보다는 크고 기준값(T)보다는 작은 경우에는, 플래시 이벤트가 발생한 것으로 판단된다. If both the first rank value, the second rank value, and the third rank value are larger than in the normal state and smaller than the reference value T, it is determined that a flash event has occurred.

제1 랭크값 및 제2 랭크값이 기준값보다 크고 제3 랭크값이 기준값보다 작은 경우에는, 소스 변조된 분산 서비스 거부 공격이 발생한 것으로 판단된다. When the first rank value and the second rank value are larger than the reference value and the third rank value is smaller than the reference value, it is determined that the source-modulated distributed denial of service attack has occurred.

제1 랭크값과 제3 랭크값이 기준값보다 크고 제2 랭크값이 기준값보다 작은 경우에는, 소스 변조되지 않은 분산 서비스 거부 공격이 발생한 것으로 판단된다. If the first rank value and the third rank value are larger than the reference value and the second rank value is smaller than the reference value, it is determined that a distributed denial of service attack has not occurred.

한편, 기준값(T)은 무작위도 검사 단계(S140) 이전에 계산된다. On the other hand, the reference value T is calculated before the randomness checking step S140.

본 발명의 실시예는 이상에서 설명한 장치 및/또는 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하기 위한 프로그램, 그 프로그램이 기록된 기록 매체 등을 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다.Embodiments of the present invention are not implemented only through the above-described apparatus and / or method, but may be implemented through a program for realizing a function corresponding to the configuration of the embodiments of the present invention, a recording medium on which the program is recorded, and the like. Such implementations may be readily implemented by those skilled in the art from the description of the above-described embodiments.

또한, 이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명 의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.In addition, although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements of those skilled in the art using the basic concepts of the present invention defined in the following claims are also provided. It belongs to the scope of the invention.

도 1은 본 발명의 일실시예에 따른 공격 탐지 장치의 구성을 나타낸 블록도,1 is a block diagram showing the configuration of an attack detection apparatus according to an embodiment of the present invention;

도 2는 행렬 성분과 입력 리퀘스트의 대응관계를 나타낸 도면,2 is a diagram showing a correspondence relationship between a matrix component and an input request;

도 3은 도 1의 무작위도 검사부를 더욱 자세히 나타낸 블록도,3 is a block diagram showing in more detail the randomness check unit of FIG.

도 4는 본 발명의 일실시예에 따른 공격 탐지 방법의 흐름을 나타낸 흐름도,4 is a flowchart illustrating a flow of an attack detection method according to an embodiment of the present invention;

도 5는 도 4의 중복 클러스터 처리 단계를 더욱 자세히 나타낸 흐름도이다.5 is a flow chart illustrating the redundant cluster processing step of FIG. 4 in more detail.

Claims (12)

삭제delete 네트워크로부터 제1 시각에 개시되는 제1 시간 영역에 입력되는 복수의 리퀘스트의 클러스터 분포 특성을 나타낸 제1 분포 행렬과, 상기 제1 시간 영역의 종료시각인 제2 시각에 개시되는 제2 시간 영역에 입력되는 복수의 리퀘스트의 클러스터 분포 특성을 나타낸 제2 분포 행렬을 생성하는 클러스터링 단계와;A first distribution matrix showing cluster distribution characteristics of a plurality of requests input to a first time domain starting at a first time from a network; and a second time domain starting at a second time which is an end time of the first time domain. A clustering step of generating a second distribution matrix representing cluster distribution characteristics of a plurality of input requests; 상기 제1 분포 행렬과 상기 제2 분포 행렬에 중복된 행렬 성분을 소거하여 중복 클러스터 소거 행렬을 생성하는 중복 클러스터 소거 단계와;A duplicate cluster cancellation step of generating a duplicate cluster cancellation matrix by canceling matrix components overlapping the first distribution matrix and the second distribution matrix; 상기 제1 분포 행렬과 상기 제2 분포 행렬에 중복된 행렬이 아닌 성분을 소거하여 비중복 클러스터 소거 행렬을 생성하는 비중복 클러스터 소거 단계와;A non-overlapping cluster erasing step of generating non-redundant cluster cancellation matrices by canceling components other than the matrix overlapping the first distribution matrix and the second distribution matrix; 상기 복수의 클러스터 분포의 무작위도를 검사하는 무작위도 검사 단계; 및A randomness checking step of examining randomness of the plurality of cluster distributions; And 상기 무작위도에 의거하여, 서비스 거부 공격의 발생 여부를 판단하는 공격여부 판단 단계를 포함하는 공격 탐지 방법.On the basis of the randomness, attack detection method comprising an attack determination step of determining whether a denial of service attack occurs. 제2항에 있어서,The method of claim 2, 상기 무작위도 검사 단계는, The randomness check step, 상기 제2 분포 행렬에 관한 제1 랭크값, 상기 중복 클러스터 소거 행렬에 관한 제2 랭크값 및 상기 비중복 클러스터 소거 행렬에 관한 제3 랭크값을 계산하는 랭크값 계산 단계를 더 포함하는 공격 탐지 방법.And a rank value calculation step of calculating a first rank value for the second distribution matrix, a second rank value for the redundant cluster cancellation matrix, and a third rank value for the non-redundant cluster cancellation matrix. . 제2항에 있어서,The method of claim 2, 상기 중복 클러스터 소거 단계에서, 상기 중복 클러스터 소거 행렬은, 상기 제1 분포 행렬과 상기 제2 분포 행렬을 배타적 논리합하여 생성되는 공격 탐지 방법.In the redundant cluster cancellation step, the redundant cluster cancellation matrix is generated by exclusive OR of the first distribution matrix and the second distribution matrix. 제2항에 있어서,The method of claim 2, 상기 비중복 클러스터 소거 단계에서, 상기 비중복 클러스터 소거 행렬은, 상기 제1 분포 행렬과 상기 제2 분포 행렬을 논리곱하여 생성되는 공격 탐지 방법.In the non-overlapping cluster erasing step, the non-redundant cluster elimination matrix is generated by performing an AND operation on the first distribution matrix and the second distribution matrix. 제3항에 있어서, The method of claim 3, 상기 공격여부 판단 단계는, The attack determination step, 상기 제1 랭크값과 상기 제3 랭크값이 기준값보다 크고 상기 제2 랭크값은 상기 기준값보다 작은 경우에는 소스 변조되지 않은 분산 서비스 거부 공격이 발생한 것으로 판단하는 단계를 더 포함하는 공격 탐지 방법.And determining that a source unmodified distributed denial of service attack has occurred when the first rank value and the third rank value are larger than a reference value and the second rank value is smaller than the reference value. 제3항에 있어서,The method of claim 3, 상기 공격여부 판단 단계는,The attack determination step, 상기 제1 랭크값과 상기 제2 랭크값이 기준값보다 크고, 상기 제3 랭크값이 상기 기준값보다 작은 경우에는 소스 변조된 분산 서비스 거부 공격이 발생한 것으로 판단하는 단계를 더 포함하는 공격 탐지 방법.And determining that a source-modulated distributed denial of service attack has occurred when the first rank value and the second rank value are greater than a reference value and the third rank value is less than the reference value. 제3항에 있어서,The method of claim 3, 상기 공격여부 판단 단계는,The attack determination step, 상기 제1 랭크값, 상기 제2 랭크값, 상기 제3 랭크값이 모두 기준값보다 크지 않고, 상기 네트워크의 평상시의 랭크값보다는 큰 경우에는 플래시 이벤트가 발생한 것으로 판단하는 단계를 더 포함하는 공격 탐지 방법.And determining that a flash event has occurred when the first rank value, the second rank value, and the third rank value are not greater than a reference value and are larger than a normal rank value of the network. . 네트워크로부터 제1 시각에 개시되는 제1 시간 영역에 입력되는 복수의 리퀘스트의 클러스터 분포 특성을 나타낸 제1 분포 행렬과, 상기 제1 시간 영역의 종료시각인 제2 시각에 개시되는 제2 시간 영역에 입력되는 복수의 리퀘스트의 클러스터 분포 특성을 나타낸 제2 분포 행렬을 생성하는 클러스터링부와;A first distribution matrix showing cluster distribution characteristics of a plurality of requests input to a first time domain starting at a first time from a network; and a second time domain starting at a second time which is an end time of the first time domain. A clustering unit generating a second distribution matrix representing cluster distribution characteristics of a plurality of input requests; 상기 제1 분포 행렬과 상기 제2 분포 행렬에 중복된 행렬 성분을 소거하여 중복 클러스터 소거 행렬을 생성하는 중복 클러스터 소거부와;A redundant cluster cancellation unit for generating a duplicate cluster cancellation matrix by canceling matrix components overlapping the first distribution matrix and the second distribution matrix; 상기 제1 분포 행렬과 상기 제2 분포 행렬에 중복된 행렬이 아닌 성분을 소거하여 비중복 클러스터 소거 행렬을 생성하는 비중복 클러스터 소거부와;A non-overlapping cluster cancellation unit for generating a non-overlapping cluster cancellation matrix by canceling components other than the matrix overlapping the first distribution matrix and the second distribution matrix; 상기 제2 분포 행렬, 상기 중복 클러스터 소거 행렬 및 상기 비중복 클러스터 소거 행렬을 이용하여 클러스터 분포의 무작위도를 검사하는 무작위도 검사부; 및 A randomness checker for checking a randomness of a cluster distribution by using the second distribution matrix, the redundant cluster cancellation matrix, and the non-redundant cluster cancellation matrix; And 상기 무작위도에 의거하여, 서비스 거부 공격의 발생 여부를 판단하는 공격여부 판단부를 포함하는 공격 탐지 장치.Based on the randomness, the attack detection device including an attack determination unit for determining whether a denial of service attack occurs. 제9항에 있어서,10. The method of claim 9, 상기 무작위도 검사부는, The randomness check unit, 상기 클러스터 분포의 상기 제2 분포 행렬에 관한 제1 랭크값을 계산하는 제1 랭크값 계산부와,A first rank value calculator for calculating a first rank value for the second distribution matrix of the cluster distribution; 상기 중복 클러스터 소거 행렬에 관한 제2 랭크값을 계산하는 제2 랭크값 계산부; 및A second rank value calculator for calculating a second rank value for the redundant cluster cancellation matrix; And 상기 비중복 클러스터 소거 행렬에 관한 제3 랭크값을 계산하는 제3 랭크값 계산부를 더 포함하는 공격 탐지 장치.And a third rank value calculator for calculating a third rank value for the non-redundant cluster cancellation matrix. 제9항에 있어서,10. The method of claim 9, 상기 분포 행렬 생성부는 상기 리퀘스트의 IP 주소에 포함되는 4개의 옥텟 중 일부를 이용하여 상기 제1 분포 행렬 및 상기 제2 분포 행렬을 생성하는 공격 탐지 장치.And the distribution matrix generator generates the first distribution matrix and the second distribution matrix using a portion of four octets included in the IP address of the request. 제11항에 있어서,The method of claim 11, 상기 분포 행렬 생성부는, 상기 리퀘스트의 상기 옥텟 중 두번째 옥텟을 열로 하고, 상기 옥텟 중 세번째 옥텟을 행으로 하는 행렬 성분에 상기 리퀘스트를 대응시키는 공격 탐지 장치.And the distribution matrix generating unit associates the request with a matrix component having a second octet of the request as a column and a third octet of the octet as a row.
KR1020090004302A 2008-11-03 2009-01-19 Method and apparatur for detecting distributed denial of service attack KR100972206B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020080108351 2008-11-03
KR20080108351 2008-11-03

Publications (2)

Publication Number Publication Date
KR20100049470A KR20100049470A (en) 2010-05-12
KR100972206B1 true KR100972206B1 (en) 2010-07-23

Family

ID=42275921

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090004302A KR100972206B1 (en) 2008-11-03 2009-01-19 Method and apparatur for detecting distributed denial of service attack

Country Status (1)

Country Link
KR (1) KR100972206B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101455293B1 (en) * 2013-03-28 2014-10-31 고려대학교 산학협력단 Device and method for detecting cache attack
WO2016108415A1 (en) * 2014-12-31 2016-07-07 주식회사 시큐아이 Network security equipment and method for detecting ddos attack by same

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100745613B1 (en) * 2006-03-20 2007-08-02 고려대학교 산학협력단 Apparatus and recording medium storing program for monitoring network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100745613B1 (en) * 2006-03-20 2007-08-02 고려대학교 산학협력단 Apparatus and recording medium storing program for monitoring network

Also Published As

Publication number Publication date
KR20100049470A (en) 2010-05-12

Similar Documents

Publication Publication Date Title
US11405359B2 (en) Network firewall for mitigating against persistent low volume attacks
US7779465B2 (en) Distributed peer attack alerting
US7720965B2 (en) Client health validation using historical data
US8516585B2 (en) System and method for detection of domain-flux botnets and the like
US7925883B2 (en) Attack resistant phishing detection
EP2147390B1 (en) Detection of adversaries through collection and correlation of assessments
US11606385B2 (en) Behavioral DNS tunneling identification
US11863570B2 (en) Blockchain-based network security system and processing method
US11095671B2 (en) DNS misuse detection through attribute cardinality tracking
US20020184362A1 (en) System and method for extending server security through monitored load management
CN110071941B (en) Network attack detection method, equipment, storage medium and computer equipment
US20040181694A1 (en) Method for blocking denial of service and address spoofing attacks on a private network
US9197657B2 (en) Internet protocol address distribution summary
US7917957B2 (en) Method and system for counting new destination addresses
US20130332109A1 (en) Methods and systems for statistical aberrant behavior detection of time-series data
Wiefling et al. Privacy considerations for risk-based authentication systems
Soltanaghaei et al. Detection of fast-flux botnets through DNS traffic analysis
US20040243828A1 (en) Method and system for securing block-based storage with capability data
KR100972206B1 (en) Method and apparatur for detecting distributed denial of service attack
Honda et al. Detection of novel-type brute force attacks used ephemeral springboard ips as camouflage
US20240179164A1 (en) Strategically aged domain detection
KR102212316B1 (en) An address allocation method for a node in a network
Howard et al. Using a “common language” for computer security incident information
Prasad Exhausted Servers Deny Service-HTTP Get Attack
Pise et al. Recent trends in Sybil attacks and defense techniques in social networks

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20130621

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140630

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20151116

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170711

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180515

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190715

Year of fee payment: 10