KR20100049470A - 공격 탐지 방법 및 장치 - Google Patents

공격 탐지 방법 및 장치 Download PDF

Info

Publication number
KR20100049470A
KR20100049470A KR1020090004302A KR20090004302A KR20100049470A KR 20100049470 A KR20100049470 A KR 20100049470A KR 1020090004302 A KR1020090004302 A KR 1020090004302A KR 20090004302 A KR20090004302 A KR 20090004302A KR 20100049470 A KR20100049470 A KR 20100049470A
Authority
KR
South Korea
Prior art keywords
matrix
cluster
rank value
distribution
distribution matrix
Prior art date
Application number
KR1020090004302A
Other languages
English (en)
Other versions
KR100972206B1 (ko
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/ko
Application granted granted Critical
Publication of KR100972206B1 publication Critical patent/KR100972206B1/ko

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

정상적인 사용자 접속 폭주 상황인 플래시 이벤트와 구별하여 서비스 거부 공격을 탐지하는 공격 탐지 방법 및 장치가 개시된다.
본 발명에 의하면, 첫째로, 서비스 거부 공격과 정상 사용자들의 접속 폭주 상황을 구별하여 탐지할 수 있고, 둘째로, 하나의 정수 값(트래픽 행렬의 랭크값)을 가지고 일반적인 네트워크 상황과 접속 폭주의 상황, 그리고 서비스 거부 공격의 상황을 표현 함으로서 더욱 손쉽게 네트워크 상황을 판단할 수 있으며, 셋째로, 공격자가 자신의 주소를 속여서 감행하는 공격 뿐만 아니라 자신의 주소를 속이지 않고 공격을 감행하는 공격도 탐지할 수 있는 효과가 있다.
네트워크, 보안, DDoS, 서비스 거부 공격, 분산 서비스 거부 공격

Description

공격 탐지 방법 및 장치{METHOD AND APPARATUR FOR DETECTING DISTRIBUTED DENIAL OF SERVICE ATTACK}
본 발명은 공격 탐지 방법 및 장치에 관한 것으로서, 보다 상세하게는 정상적인 사용자 접속 폭주 상황인 플래시 이벤트와 구별하여 서비스 거부 공격을 탐지하는 공격 탐지 방법 및 장치에 관한 것이다.
서버나 네트워크에서 서비스 거부 공격을 탐지를 하기 위한 백신 프로그램이나 IDS, IPS, Firewall과 같은 기술들은 많았으나, 정상 사용자들의 접속 폭주 상황과 서비스 거부 공격의 상황을 정확히 구별하는 기술은 이전에 없었다. 정상 사용자들의 접속 폭주의 상황이 기업에서는 이익을 평소에 비해 더 많이 얻을 수 있는 상황이지만, 이러한 상황이 서비스 거부공격으로 오인하여 기업의 이익을 창출 할 수 없을 뿐 아니라 기업 이미지의 손실로 이어져 기업에 큰 손해를 입힐 수 있다. 본 기술은 이러한 문제점을 해결함으로써 기업의 이익을 창출해 줄 수 있기 때문에, 관련 시장규모는 산출 하기 힘들 정도로 거대하다.
서비스 거부 공격의 경우 서버나 네트워크가 정상 사용자들에게 원활한 서비스를 제공할 수 없도록 악의적으로 서버나 네트워크의 리소스를 고갈시키거나 서버 나 네트워크가 동작할 수 없도록 공격하는 행위를 말한다.
그리고 정상 사용자의 접속 폭주 상황은 수많은 사용자들이 동시 접속을 시도함으로써 서버의 리소스가 고갈 됨으로써 서버나 네트워크가 정상적인 서비스를 제공할 수 없는 상황을 일컫는다.
서버나 네트워크가 사용자들에게 원활한 서비스를 제공하지 못하는 상황의 관점에서는 두 가지의 상황은 동일한 상황이지만, 서비스 거부공격에 의한 서비스 불능상태는 차단 또는 방어를 해야만 하는 공격이지만, 정상 사용자 접속폭주 상황은 분산 서버 혹은 분산 컨텐츠 서비스를 통하여 보완을 하거나 해결해야만 하는 상황이다.
서버 또는 네트워크의 상황이 서비스 거부 공격의 상황인지 혹은 정상 사용자들의 접속 폭주 상황인지를 구별하는 기술은 정상 사용자들의 접속 폭주 상황에 사용자들에게 서비스를 원활하게 제공할 수 있도록 마련하는 근간이 되며, 서비스 거부 공격 하에서 이를 차단 함으로서 정상 사용자들에게 원활한 서비스를 제공할 수 있도록 하는 근간을 마련한다.
그러므로 서비스 거부공격과 정상 사용자 접속 폭주 상황을 구별하는 것은 매우 중요한 기술이다.
기존의 서비스 거부 공격을 탐지하는 기술들은 정상 사용자 접속 폭주 상황을 비 정상적인 서버 또는 네트워크 상황으로 규정하고 이 또한 서비스 거부 공격과 같은 범주로 탐지하도록 설계되었거나 혹은 정상 사용자 접속 폭주를 서비스 거부 공격의 상황으로 오인하는 결과를 초래하였다.
서버나 네트워크가 과도한 리소스를 허비하거나 혹은 서비스가 불능 상태에 빠져들 때에 서비스 거부 공격에 의한 상황인지 혹은 정상 사용자들의 접속 폭주의 상황인지를 구별해야만 한다.
서비스 거부 공격은 분산 서비스 거부공격이나 혹은 공격자의 IP주소를 속여 여러 컴퓨터들이 공격을 한 것처럼 위장을 하게 되면 수많은 사용자들이 접속을 시도하는 접속 폭주 상황과 여러모로 비슷해 보이기 때문에 이를 구분해야만 한다.
본 발명은 상기와 같은 요청에 부응하여 착안된 것으로서, 서비스 거부 공격과 정상 사용자들의 접속 폭주를 구별하는 공격 탐지 방법 및 장치를 제공하는 것을 목적으로 한다.
상기와 같은 목적을 달성하기 위하여, 본 발명에 의한 공격 탐지 방법은, 네트워크로부터 제1 시각에 개시되는 제1 시간 영역에 입력되는 복수의 리퀘스트의 클러스터 분포 특성을 나타낸 제1 분포 행렬과, 상기 제1 시간 영역의 종료시각인 제2 시각에 개시되는 제2 시간 영역에 입력되는 복수의 리퀘스트의 클러스터 분포 특성을 나타낸 제2 분포 행렬을 생성하는 클러스터링 단계와; 상기 제1 분포 행렬과 상기 제2 분포 행렬에 중복되는 클러스터를 처리하여 적어도 하나의 신규 분포 행렬을 생성하는 중복 클러스터 처리 단계와; 상기 복수의 클러스터 분포의 무작위도를 검사하는 무작위도 검사 단계; 및 상기 무작위도에 의거하여, 서비스 거부 공격의 발생 여부를 판단하는 공격여부 판단 단계를 포함하여 이루어진다.
또한, 본 발명의 다른 측면에 의한 공격 탐지 장치는, 네트워크로부터 제1 시각에 개시되는 제1 시간 영역에 입력되는 복수의 리퀘스트의 클러스터 분포 특성을 나타낸 제1 분포 행렬과, 상기 제1 시간 영역의 종료시각인 제2 시각에 개시되는 제2 시간 영역에 입력되는 복수의 리퀘스트의 클러스터 분포 특성을 나타낸 제2 분포 행렬을 생성하는 클러스터링부와; 상기 제1 분포 행렬과 상기 제2 분포 행렬 에 중복된 행렬 성분을 소거하여 중복 클러스터 소거 행렬을 생성하는 중복 클러스터 소거부와; 상기 제1 분포 행렬과 상기 제2 분포 행렬에 중복된 행렬이 아닌 성분을 소거하여 비중복 클러스터 소거 행렬을 생성하는 비중복 클러스터 소거부와; 상기 복수의 클러스터 분포의 무작위도를 검사하는 무작위도 검사부; 및 상기 무작위도에 의거하여, 서비스 거부 공격의 발생 여부를 판단하는 공격여부 판단부를 포함한다.
첫째로, 본 발명은 다른 서비스 거부 공격을 탐지하는 기술들과 비교하여 서비스 거부 공격과 정상 사용자들의 접속 폭주 상황을 구별하여 탐지할 수 있는 장점을 가지고 있다.
둘째로, 본 발명은 단순한 정수 값인 랭크값만으로도 일반적인 네트워크 상황과 접속 폭주의 상황, 그리고 서비스 거부 공격의 상황을 표현 함으로서 더욱 손쉽게 네트워크 상황을 판단할 수 있는 근간을 마련한다.
셋째로, 본 발명은 공격자가 자신의 주소를 속여서 감행하는 공격 뿐만이 아니라 자신의 주소를 속이지 않고 공격을 감행하는 공격을 구분하여 탐지할 수 있다.
플래시 크라우드(Flash Crowd)는 특정 사이트의 접속자가 급격히 증가하는 현상을 나타내는 말이다.
본 발명에서는 이와 유사하게 많은 사용자들이 동시에 특정 컴퓨터 서버에 접속하는 “접속 폭주” 상황에 플래시 이벤트(FE: Flash Event)라는 용어를 사용하기로 한다. 플래시 이벤트가 발생하는 컴퓨터 서버는 예컨대 올림픽 기간 중의 올림픽 공식 웹사이트나 학기가 시작할 때의 수강 신청 서버 등이 해당하며, 이 경우 해당 컴퓨터 서버에는 상당한 과부하가 실린다.
플래시 이벤트의 가장 중요한 특징은, 공인된 사용자들에 의하여 발생한다는 점 및 서버에 비정상적인 과부하가 실린다는 점이다.
서비스 거부(DoS: Denial of Service) 공격은, 사용자들이 특정 컴퓨터의 자원을 사용할 수 없도록 하는 행위이다. 서비스 거부 공격의 전형적인 방법은, 외부에서 통신 요청으로 공격 대상 컴퓨터의 능력을 포화시킴으로써 해당 컴퓨터가 정당한 트래픽에 응답할 수 없도록 만드는 것이다.
나아가, 분산 서비스 거부(DDoS: Distributed Denial of Service) 공격은 복수의 네트워크에 분산되어 있는 대량의 컴퓨터가 협력하여 행하는 서비스 거부 공격이다.
본 명세서에서는 별도의 언급이 없는 한, “공격” 또는 “서비스 거부 공격”은 “분산 서비스 거부 공격”을 의미하는 것으로 한다.
이하에서는 도면을 참조하여 본 발명의 일실시예에 따른 공격 탐지 장치 및방법에 관하여 더욱 상세하게 살펴보기로 한다.
도 1은 본 발명의 일실시예에 따른 공격 탐지 장치의 구성을 나타낸 블록도 이다.
도 1에서 나타낸 바와 같이, 본 발명의 일실시예에 따른 공격 탐지 장치(100)는, 클러스터링부(110), 중복 클러스터 소거부(120), 비중복 클러스터 소거부(130), 무작위도 검사부(140) 및 공격 여부 판단부(150)를 포함하여 이루어진다.
공격 탐지 장치(100)는 행렬에 대응된 클라이언트 클러스터들의 분포의 무작위도(randomness) 검사를 이용하여 플래시 이벤트와 서비스 거부 공격을 구분하도록 설계된다.
이 때, 네트워크 상의 호스트 컴퓨터들로부터의 입력 리퀘스트를 그 소스의 IP에 관한 클러스터 단위로 그룹화하는 개념을 생각할 수 있다.
입력 리퀘스트를 클러스터 단위로 그룹화하는 까닭은, 클러스터 단위의 그룹화를 통하여 플래시 이벤트의 특징과 서비스 거부 공격의 특징 사이에 존재하는 차이점이 발견될 수 있기 때문이다.
본 발명에서 말하는 클러스터(cluster)란, 위상적으로 인접해 있고, 함께 관리되기 쉬운 1 군(group)의 클라이언트를 말한다.
정상적인 접속 폭주 현상인 플래시 이벤트 동안에는 서로 다른 클러스터의 개수는 서로 다른 클라이언트의 개수보다 현저히 적다. 플래시 이벤트의 경우에는 약 80%의 입력 리퀘스트가 전체 컴퓨터의 IP 주소의 약 20%에 집중되는 파레토의 법칙을 근사적으로 따르기 때문이다.
반면, 서비스 거부 공격시에는 클라이언트의 IP 주소는 랜덤하게 생성되므로, 플래시 이벤트의 경우에 비하여 서로 다른 클러스터의 개수가 폭증하게 된다.
클러스터링부(110)에서는 입력 리퀘스트를 클러스터 단위로 그룹화하는 작업이 수행된다.
본 발명의 일실시예에서는 클러스터링부(110)가 입력 리퀘스트를 그 입력 리퀘스트가 속하는 클러스터의 분포 특성을 반영하는 행렬(이하 “분포 행렬”이라 한다)에 캡처함으로써 입력 리퀘스트의 그룹화를 수행한다.
본 실시예에서는 간단한 기법을 예로 들어 설명한다.
먼저 4자리로 이루어지는 IP 주소를 수학식 1에서와 같이 4개의 옥텟으로 구분한다. 이 때, 각각의 옥텟의 길이는 1바이트가 된다.
IP1.IP2.IP3.IP4
이 때, 분포 행렬 내의 각각의 성분과 입력 리퀘스트를 매핑함에 있어서, 본 실시예에서는 단순히 입력 리퀘스트를 IP주소의 두번째 옥텟이 열(column)이 되고 세번째 옥텟이 행(raw)이 되도록 수학식 2와 같이 매핑한다.
i = IP3, j = IP2
이 때, i 는 행 성분이고 j 는 열 성분이다.
도 2는 행렬 성분과 입력 리퀘스트의 대응관계를 나타낸 도면이다.
도 2에는 분포 행렬의 성분과 입력 리퀘스트의 대응관계가 나타나 있다.
앞서 설명한 바와 같이, 입력 리퀘스트(220)는 분포 행렬(250) 내에서 두번 째 옥텟(222)과 세번째 옥텟(223)을 각각 열(j) 및 행(i)으로 하는 행렬 성분에 대응된다.
이와 같은 클러스터링에 따르면, 입력 리퀘스트의 IP 주소 중 두번째 옥텟과 세번째 옥텟을 공통적으로 가지는 패킷들은 분포 행렬(250) 내에서 동일한 성분에 대응되는 동일한 클러스터로 분류된다.
클러스터링부(110)는, 이와 같은 방법으로 시각 t를 개시 시각으로 하여 소정의 시간 영역 동안 구축된 분포 행렬인 M(t)를 매 시간 영역마다 생성한다.
각각의 시간 영역은 1초가 될 수도 있고, 1분이 될 수도 있으며, 그 밖의 지속시간(duration)을 가질 수도 있으며, 지속시간의 길이는 실제 적용 환경에 따라 결정된다. 본 실시예에서는 시간 영역을 1초로 상정하고 있다.
한편, 도 2에서 나타낸 분포 행렬은 매 시간 영역의 초기에 모든 성분이 0이 되도록 초기화되어 있다. 이후, 행렬 내의 특정 성분에 대응되는 입력 리퀘스트가 존재하는 경우, 행렬의 해당 성분에는 ‘1’이 기록된다. 이에 따라, 256×256 행렬의 각각의 셀(성분)은 0 또는 1의 이진수를 포함하게 된다. 결과적으로, 본 발명의 일실시에에 따른 공격 탐지 장치는 65,536비트의 매우 적은 메모리 공간만을 사용할 수 있게 되는 효과가 있다.
한편, 클러스터링부(110)에서 수행되는 클러스터링은 두번째 옥텟과 세번째 옥텟을 행렬의 열과 행에 대응시키는 위에서 설명한 기법만으로 한정되어 수행되지 않는다.
즉, 다양하게 존재하는 클러스터링 방법이 본 발명에 적용이 될 수 있으며, 예컨대 크리슈나무르티(Krishnamurthy)와 왕(Wang)의 클러스터링 기법이 본 발명에 적용될 수 있다.
다만, 행렬의 구축 과정은 가능한 한 단순하여야 고속 라우터와 같은 장비에서 용이하게 구현이 가능한데, 여기에서 설명한 기법은 분포 행렬이 고정된 크기로 생성된다는 장점을 가지고 있다.
다음으로, 중복 클러스터 소거부(120) 및 비중복 클러스터 소거부(130)에서는 인접한 두 시간 영역에 구축된 2개의 분포 행렬 간에 존재하는 중복 클러스터의 처리가 수행된다.
중복 클러스터 처리의 필요성은 다음과 같다.
즉, 플래시 이벤트의 발생시에 생성된 클러스터 중 다수는, 해당 이벤트가 발생하기 전에도 그 사이트에 방문한 적이 있는 호스트 컴퓨터에 관한 것인 반면, 서비스 거부 공격 리퀘스트를 생성하는 클라이언트에 의하여 생성된 클러스터의 압도적 다수는 해당 공격 이전에 전혀 그 사이트에 방문하지 않았던 새로운 클러스터인 경우가 많다.
따라서, 입력 리퀘스트 내에서 중복 클러스터의 규모는 클러스터의 무작위도와 밀접하게 연관되므로 플래시 이벤트와 서비스 거부 공격을 구분짓는 척도가 될 수 있다.
즉, 입력 리퀘스트들 간에 클러스터의 중복이 빈번하게 발생하면, 다음 리퀘스트의 클러스터를 상당한 확률로 예측할 수 있다.
중복 클러스터 소거부(120)에서는 시간적으로 연속하는 2개의 분포 행렬 간 의 중복 클러스터를 소거한 새로운 행렬(중복 클러스터 소거 행렬)을 생성한다.
중복 클러스터를 소거하기 위하여, 중복 클러스터 소거부(120)에서는 시간적으로 연속하는 2개의 분포 행렬, 예컨대 M(t)와 M(t-1)에 배타적 논리합(XOR: exclusive OR)을 수행한다.
2개의 분포 행렬의 특정 성분이 모두 1인 경우에는 배타적 논리합의 연산 결과가 0이 되므로, 배타적 논리합 연산의 결과로 생성된 중복 클러스터 소거 행렬에서는 해당 성분에 대응되는 중복 클러스터가 소거된 것으로 볼 수 있다.
마찬가지로, 비중복 클러스터 소거부(130)에서는 시간적으로 연속하는 2개의 분포 행렬 간의 중복 클러스터만을 남긴 새로운 행렬(비중복 클러스터 소거 행렬)을 생성한다.
중복 클러스터만을 남기기 위하여, 중복 클러스터 소거부(120)에서는 시간적으로 연속하는 2개의 분포 행렬 M(t)와 M(t-1)에 논리곱(AND)을 수행한다.
2개의 분포 행렬의 특정 성분이 모두 1인 경우에만 논리곱의 연산 결과가 1이 되므로, 논리곱 연산의 결과로 생성된 비중복 클러스터 소거 행렬에는 해당 성분에 대응되는 중복 클러스터만이 남겨진 것으로 볼 수 있다.
다음으로, 무작위도 검사부(150)에서는 클러스터의 무작위도(randomness) 정도를 수치로 계산하게 된다.
무작위도를 테스트하는 데에도 다양한 기법이 적용될 수 있다.
그 중에서, 본래 시퀀스에 대한 고정길이 서브스트링 간의 선형 의존성을 검토하는 기법은 매우 효율적이다.
본 발명의 일실시예에서는 행렬의 행과 열의 선형 의존성(linear dependency)을 검사하기 위해서 행렬의 랭크값을 사용하고 있다.
R[M(t)]을 M(t)의 랭크값이라고 하면, 본 발명의 일실시예에서 사용되는 중복 클러스터 소거 행렬의 랭크값과 비중복 클러스터 소거 행렬의 랭크값은 각각 아래 수학식 3 및 수학식 4와 같이 나타낼 수 있다.
RXOR[M(t)] = R[M(t) XOR M(t-1)]
RAND[M(t)] = R[M(t) AND M(t-1)]
이 때에, 행렬의 랭크값은 행렬에 대하여 가우스 소거법을 적용한 후에 0이 아닌 열의 개수를 셈으로써 얻어진다.
행렬의 랭크값이 무작위도를 나타내는 신뢰성 있는 지표가 되는 까닭은 수학적으로 설명이 가능하다.
어떤 m×n 행렬의 랭크값이 r이라고 할 경우에, 그 행렬이 랜덤할 확률(P)은 아래 수학식과 같이 나타낸다.
Figure 112009003404318-PAT00001
P =
이 때, 랭크값 r은 1 이상이고 m과 n 중 작은 값 이하인 정수가 된다.
예컨대, 256×256 행렬이 252의 랭크값을 갖는다면, 수학식 5에 따라 해당 행렬은 99.999%의 확률로 랜덤하게 된다.
무작위도 검사부(140)에서는 시각 t에서의 분포 행렬(M(t)), 중복 클러스터 소거 행렬 및 비중복 클러스터 소거 행렬 등 세 개의 행렬에 대한 랭크값을 계산함으로써 이들 행렬의 무작위성을 검사하게 된다.
도 3은 도 1의 무작위도 검사부를 더욱 상세히 나타낸 블록도이다.
도 3에서 나타낸 바와 같이, 무작위도 검사부(140)는 제1 랭크값 계산부(142), 제2 랭크값 계산부(144) 및 제3 랭크값 계산부(146)을 더 포함하여 이루어진다.
즉, 제1 랭크값 계산부(142)에서는 분포 행렬(M(t))의 랭크값(제1 랭크값)이, 제2 랭크값 계산부(144)에서는 중복 클러스터 소거 행렬의 랭크값(제2 랭크값)이, 제3 랭크값 계산부(146)에서는 비중복 클러스터 소거 행렬의 랭크값(제3 랭크값)이 각각 계산된다.
제1 랭크값, 제2 랭크값, 제3 랭크값은 이하에서 설명하는 공격 여부 판단부(150)로 전달되며, 이들 값의 관계에 따라 공격 여부 판단부(150)에서는 서비스 거부 공격이 발생하였는지 여부에 대한 판단이 내려진다.
표 1은 행렬의 제1 랭크값, 제2 랭크값 및 제3 랭크값의 관계와 공격 여부 판단의 관계를 나타낸 표이다.
네트워크 상태 제1 랭크값 제2 랭크값 제3 랭크값
보통의 상태 작음 작음 작음
플래시 이벤트 중간+ 중간 중간-
소스 변조된 분산 서비스 거부 공격 큼( > T) 큼( > T) 작음
소스 변조되지 않은 분산 서비스 거부 공격 큼( > T) 작음 큼 ( > T)
네트워크에 단순한 접속 폭주(플래시 이벤트)도 서비스 거부 공격도 발생하지 않은 상태를 보통의 상태라고 하자.
보통의 상태에서는 제1 랭크값, 제2 랭크값 및 제3 랭크값은 모두 작은 상태로 유지된다.
한편, 플래시 이벤트에서는 M(t)의 랭크값인 제1 랭크값, M(t)와 M(t-1)의 배타적 논리합에 대한 랭크값인 제2 랭크값, M(t)와 M(t-1)의 논리곱에 대한 랭크값인 제3 랭크값 등 세 개의 랭크값에 다소 편차가 존재한다. 또한, 이들 세 랭크값은 보통의 상태에서의 세 랭크값보다는 큰 값이다. 그러나, 입력 트래픽의 규모가 매우 증가하더라도 이들의 랭크값은 일정한 값, 즉 “기준값(T)”를 넘어서는 큰 값을 나타내지는 않는다.
이는, 플래시 이벤트에서는 대규모의 리퀘스트가 발생하더라도 적은 수의 클러스터로부터 요청되는 것이기 때문에, 클러스터 중복이 다소 발생하여 랭크값 또한 크지 않게 되기 때문이다.
이에 따라, 배타적 논리합의 랭크값의 랭크값과 배타적 논리합의 랭크값 또한 M(t)의 랭크값보다 다소 작아진다.
이 때, ‘+’ 및 ‘-’ 기호는 이들 값 사이야 약간의 차이가 존재함을 나타내기 위하여 붙인 기호이다.
제1 랭크값과 제2 랭크값과 제3 랭크값 사이의 크기 관계는, 아래 수학식과 같이 나타난다.
제1 랭크값 > 제2 랭크값 > 제3 랭크값.
만약 서버가 분산 서비스 거부 공격을 받는 상황이라면, 제1 랭크값은 소정의 기준값(T)을 넘어서는 큰 값이 된다. 이는, 분산 서비스 거부 공격에서는 입력 리퀘스트의 수효가 많을수록 입력 리퀘스트를 요청하는 클러스터의 수효 또한 많기 때문이다.
소스 변조된(source-spoofed) 분산 서비스 거부 공격의 경우에는 소스 IP 주소가 무작위로 선택되기 때문에 클러스터의 중복이 비교적 적게 나타난다. 따라서, 클러스터의 중복이 비교적 적게 나타나는 현상이 반영되어, M(t)의 배타적 논리합의 랭크값은 매우 큰 값이 되는 반면, M(t)의 논리곱의 값은 매우 작은 값이 된다.
소스 변조되지 않은(non-source-spoofed) 분산 서비스 거부 공격의 경우에는 클러스터의 중복이 비교적 많이 발생하므로, M(t)의 배타적 논리합의 랭크값은 작아지고, M(t)의 논리곱의 랭크값은 커진다.
따라서, 제1 랭크값과 제2 랭크값 및 제3 랭크값의 크기를 기준값(T)과 비교함으로써 그 행렬에 대응되는 클러스터 분포의 무작위도를 판단할 수 있다.
한편, 기준값(T)는 수학식 5를 이용하여 얻어진다.
즉, 수학식 5에 대하여 r에 T를 대입하고 양 변에 2를 밑으로 하는 로그를 취한 후 식을 정리하면, 아래 수학식이 도출된다.
(m-T)2 = log2(1/P).
이 때, m은 정사각 분포 행렬의 크기이고, P는 상기 정사각 분포 행렬이 랜덤 행렬일 확률이다.
도 4는 본 발명의 일실시예에 따른 공격 탐지 방법의 흐름을 나타낸 흐름도이다.
도 4에서 나타낸 바와 같이, 공격 탐지 방법은 클러스터링 단계(S110), 중복 클러스터 처리 단계(S120), 무작위도 검사 단계(S130) 및 공격 여부 판단 단계(S140)를 포함하여 이루어진다.
클러스터링 단계(S110)에서는 입력 리퀘스트를 클러스터 단위로 그룹화된다.
즉, 클러스터링 단계(S110)에서는 시각 t에 각각 개시되는 매 시간 영역 마다 해당 시간 영역에서 입력되는 복수의 리퀘스트의 클러스터 분포 특성을 반영한 분포 행렬(M(t))이 생성된다.
클러스터링 단계(S110)는 공격 탐지 장치(100)의 클러스터링부(110)에서 수행된다.
중복 클러스터 처리 단계(S120)에서는 시간적으로 인접한 2개의 분포 행렬 사이에 존재하는 중복 클러스터가 이들 각각의 분포 행렬에서 소거되거나, 또는 중복 클러스터를 제외한 나머지가 소거된다.
도 5는 중복 클러스터 처리 단계(S120)를 더욱 상세히 나타낸 흐름도이다.
도 5에서 나타낸 바와 같이, 중복 클러스터 처리 단계(S120)는 중복 클러스터 소거 단계(S122) 및 비중복 클러스터 소거 단계(S124)를 더 포함하여 이루어질 수 있다.
중복 클러스터 소거 단계(S122)에서는 시간적으로 인접한 2개의 분포 행렬에 배타적 논리합 연산이 수행됨으로써, 중복 클러스터가 모두 소거된 새로운 행렬인 중복 클러스터 소거 행렬이 생성된다.
비중복 클러스터 소거 단계(S124)에서는 시간적으로 인접한 2개의 분포 행렬에 논리곱 연산이 수행됨으로써, 중복 클러스터만이 남겨진 새로운 행렬인 비중복 클러스터 소거 행렬이 생성된다.
중복 클러스터 소거 단계(S122)는 공격 탐지 장치(100)의 중복 클러스터 소거부(120)에서, 비중복 클러스터 소거 단계(S124)는 비중복 클러스터 소거부(130)에서 각각 수행된다.
다시 도 4로 돌아와서 설명하면, 무작위도 검사 단계(S130)에서는 클러스터 분포의 무작위도 검사가 수행된다.
클러스터 분포의 무작위도 검사는 분포 행렬(M(t)), 중복 클러스터 소거 행렬 및 비중복 클러스터 소거 행렬 등 3개의 행렬에 대한 랭크값을 측정함으로써 이루어진다.
이를 위하여, 무작위도 검사 단계(S140)는 분포 행렬의 랭크값(제1 랭크값)을 측정하는 단계(S132), 중복 클러스터 소거 행렬의 랭크값(제2 랭크값)을 측정하 는 단계(S134) 및 비중복 클러스터 소거 행렬의 랭크값(제3 랭크값)을 측정하는 단계(S136)를 더 포함한다.
단계(S132), 단계(S134) 및 단계(S136)는 각각 공격 탐지 장치(100)의 무작위도 검사부(140) 내부의 제1 랭크값 계산부(142), 제2 랭크값 계산부(144) 및 제3 랭크값 계산부(146)에서 이루어진다.
이들 랭크값에 따른 공격 여부 판단은 다음과 같다.
제1 랭크값과 제2 랭크값 및 제3 랭크값이 모두 보통의 상태에서보다는 크고 기준값(T)보다는 작은 경우에는, 플래시 이벤트가 발생한 것으로 판단된다.
제1 랭크값 및 제2 랭크값이 기준값보다 크고 제3 랭크값이 기준값보다 작은 경우에는, 소스 변조된 분산 서비스 거부 공격이 발생한 것으로 판단된다.
제1 랭크값과 제3 랭크값이 기준값보다 크고 제2 랭크값이 기준값보다 작은 경우에는, 소스 변조되지 않은 분산 서비스 거부 공격이 발생한 것으로 판단된다.
한편, 기준값(T)은 무작위도 검사 단계(S140) 이전에 계산된다.
본 발명의 실시예는 이상에서 설명한 장치 및/또는 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하기 위한 프로그램, 그 프로그램이 기록된 기록 매체 등을 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다.
또한, 이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명 의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
도 1은 본 발명의 일실시예에 따른 공격 탐지 장치의 구성을 나타낸 블록도,
도 2는 행렬 성분과 입력 리퀘스트의 대응관계를 나타낸 도면,
도 3은 도 1의 무작위도 검사부를 더욱 자세히 나타낸 블록도,
도 4는 본 발명의 일실시예에 따른 공격 탐지 방법의 흐름을 나타낸 흐름도,
도 5는 도 4의 중복 클러스터 처리 단계를 더욱 자세히 나타낸 흐름도이다.

Claims (12)

  1. 네트워크로부터 제1 시각에 개시되는 제1 시간 영역에 입력되는 복수의 리퀘스트의 클러스터 분포 특성을 나타낸 제1 분포 행렬과, 상기 제1 시간 영역의 종료시각인 제2 시각에 개시되는 제2 시간 영역에 입력되는 복수의 리퀘스트의 클러스터 분포 특성을 나타낸 제2 분포 행렬을 생성하는 클러스터링 단계와;
    상기 제1 분포 행렬과 상기 제2 분포 행렬에 중복되는 클러스터를 처리하여 적어도 하나의 신규 분포 행렬을 생성하는 중복 클러스터 처리 단계와;
    상기 복수의 클러스터 분포의 무작위도를 검사하는 무작위도 검사 단계; 및
    상기 무작위도에 의거하여, 서비스 거부 공격의 발생 여부를 판단하는 공격여부 판단 단계를 포함하는 공격 탐지 방법.
  2. 제1항에 있어서,
    상기 중복 클러스터 처리 단계는,
    상기 제1 분포 행렬과 상기 제2 분포 행렬에 중복된 행렬 성분을 소거하여 중복 클러스터 소거 행렬을 생성하는 중복 클러스터 소거 단계; 및
    상기 제1 분포 행렬과 상기 제2 분포 행렬에 중복된 행렬이 아닌 성분을 소거하여 비중복 클러스터 소거 행렬을 생성하는 비중복 클러스터 소거 단계를 더 포함하는 공격 탐지 방법.
  3. 제2항에 있어서,
    상기 무작위도 검사 단계는,
    상기 제2 분포 행렬에 관한 제1 랭크값, 상기 중복 클러스터 소거 행렬에 관한 제2 랭크값 및 상기 비중복 클러스터 소거 행렬에 관한 제3 랭크값을 계산하는 랭크값 계산 단계를 더 포함하는 공격 탐지 방법.
  4. 제2항에 있어서,
    상기 중복 클러스터 소거 단계에서, 상기 중복 클러스터 소거 행렬은, 상기 제1 분포 행렬과 상기 제2 분포 행렬을 배타적 논리합하여 생성되는 공격 탐지 방법.
  5. 제2항에 있어서,
    상기 비중복 클러스터 소거 단계에서, 상기 비중복 클러스터 소거 행렬은, 상기 제1 분포 행렬과 상기 제2 분포 행렬을 논리곱하여 생성되는 공격 탐지 방법.
  6. 제3항에 있어서,
    상기 공격여부 판단 단계는,
    상기 제1 랭크값과 상기 제3 랭크값이 기준값보다 크고 상기 제2 랭크값은 상기 기준값보다 작은 경우에는 소스 변조되지 않은 분산 서비스 거부 공격이 발생한 것으로 판단하는 단계를 더 포함하는 공격 탐지 방법.
  7. 제3항에 있어서,
    상기 공격여부 판단 단계는,
    상기 제1 랭크값과 상기 제2 랭크값이 상기 기준값보다 크고, 상기 제3 랭크값이 상기 기준값보다 작은 경우에는 소스 변조된 분산 서비스 거부 공격이 발생한 것으로 판단하는 단계를 더 포함하는 공격 탐지 방법.
  8. 제3항에 있어서,
    상기 공격여부 판단 단계는,
    상기 제1 랭크값, 상기 제2 랭크값, 상기 제3 랭크값이 모두 상기 기준값보다 크지 않고, 상기 네트워크의 평상시의 랭크값보다는 큰 경우에는 플래시 이벤트가 발생한 것으로 판단하는 단계를 더 포함하는 공격 탐지 방법.
  9. 네트워크로부터 제1 시각에 개시되는 제1 시간 영역에 입력되는 복수의 리퀘스트의 클러스터 분포 특성을 나타낸 제1 분포 행렬과, 상기 제1 시간 영역의 종료시각인 제2 시각에 개시되는 제2 시간 영역에 입력되는 복수의 리퀘스트의 클러스터 분포 특성을 나타낸 제2 분포 행렬을 생성하는 클러스터링부와;
    상기 제1 분포 행렬과 상기 제2 분포 행렬에 중복된 행렬 성분을 소거하여 중복 클러스터 소거 행렬을 생성하는 중복 클러스터 소거부와;
    상기 제1 분포 행렬과 상기 제2 분포 행렬에 중복된 행렬이 아닌 성분을 소 거하여 비중복 클러스터 소거 행렬을 생성하는 비중복 클러스터 소거부와;
    상기 복수의 클러스터 분포의 무작위도를 검사하는 무작위도 검사부; 및
    상기 무작위도에 의거하여, 서비스 거부 공격의 발생 여부를 판단하는 공격여부 판단부를 포함하는 공격 탐지 장치.
  10. 제9항에 있어서,
    상기 무작위도 검사부는,
    상기 클러스터 분포의 상기 제2 분포 행렬에 관한 제1 랭크값을 계산하는 제1 랭크값 계산부와,
    상기 중복 클러스터 소거 행렬에 관한 제2 랭크값을 계산하는 제2 랭크값 계산부; 및
    상기 비중복 클러스터 소거 행렬에 관한 제3 랭크값을 계산하는 제3 랭크값 계산부를 더 포함하는 공격 탐지 장치.
  11. 제9항에 있어서,
    상기 분포 행렬 생성부는 상기 리퀘스트의 IP 주소에 포함되는 4개의 옥텟 중 일부를 이용하여 상기 제1 분포 행렬 및 상기 제2 분포 행렬을 생성하는 공격 탐지 장치.
  12. 제11항에 있어서,
    상기 분포 행렬 생성부는, 상기 리퀘스트의 상기 옥텟 중 두번째 옥텟을 열로 하고, 상기 옥텟 중 세번째 옥텟을 행으로 하는 행렬 성분에 상기 리퀘스트를 대응시키는 공격 탐지 장치.
KR1020090004302A 2008-11-03 2009-01-19 공격 탐지 방법 및 장치 KR100972206B1 (ko)

Applications Claiming Priority (2)

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

Publications (2)

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

Family

ID=42275921

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090004302A KR100972206B1 (ko) 2008-11-03 2009-01-19 공격 탐지 방법 및 장치

Country Status (1)

Country Link
KR (1) KR100972206B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101455293B1 (ko) * 2013-03-28 2014-10-31 고려대학교 산학협력단 캐시 공격 탐지 장치 및 방법
WO2016108415A1 (ko) * 2014-12-31 2016-07-07 주식회사 시큐아이 네트워크 보안 장비 및 그것의 디도스 공격 탐지 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100745613B1 (ko) * 2006-03-20 2007-08-02 고려대학교 산학협력단 네트워크 감시를 수행하는 장치 및 프로그램이 저장된 기록매체

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101455293B1 (ko) * 2013-03-28 2014-10-31 고려대학교 산학협력단 캐시 공격 탐지 장치 및 방법
WO2016108415A1 (ko) * 2014-12-31 2016-07-07 주식회사 시큐아이 네트워크 보안 장비 및 그것의 디도스 공격 탐지 방법

Also Published As

Publication number Publication date
KR100972206B1 (ko) 2010-07-23

Similar Documents

Publication Publication Date Title
US11405359B2 (en) Network firewall for mitigating against persistent low volume attacks
US7720965B2 (en) Client health validation using historical data
US8516585B2 (en) System and method for detection of domain-flux botnets and the like
US7779465B2 (en) Distributed peer attack alerting
US11863570B2 (en) Blockchain-based network security system and processing method
EP2147390B1 (en) Detection of adversaries through collection and correlation of assessments
US20020184362A1 (en) System and method for extending server security through monitored load management
US11095671B2 (en) DNS misuse detection through attribute cardinality tracking
EP2672676B1 (en) Methods and systems for statistical aberrant behavior detection of time-series data
US20210258325A1 (en) Behavioral DNS tunneling identification
US20110072516A1 (en) Prevention of distributed denial of service attacks
US9197657B2 (en) Internet protocol address distribution summary
US7917957B2 (en) Method and system for counting new destination addresses
CN110830520A (zh) 一种物联网的健壮可靠的边缘存储方法及系统
Guerid et al. Privacy-preserving domain-flux botnet detection in a large scale network
Soltanaghaei et al. Detection of fast-flux botnets through DNS traffic analysis
KR100972206B1 (ko) 공격 탐지 방법 및 장치
Rajesh Protection from application layer DDoS attacks for popular websites
Tian et al. Stopguessing: Using guessed passwords to thwart online password guessing
Mezzour et al. Global variation in attack encounters and hosting
Chen et al. Doctrina: annotated bipartite graph mining for malware-control domain detection
Sivabalan et al. Detecting IoT zombie attacks on web servers
Jin et al. Mitigating HTTP GET Flooding attacks through modified NetFPGA reference router
Honda et al. Detection of novel-type brute force attacks used ephemeral springboard ips as camouflage
US20240179164A1 (en) Strategically aged domain detection

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