KR20110061217A - 플로우 패턴 정보를 이용한 분산 서비스 거부 공격 검출 시스템 및 그 방법 - Google Patents

플로우 패턴 정보를 이용한 분산 서비스 거부 공격 검출 시스템 및 그 방법 Download PDF

Info

Publication number
KR20110061217A
KR20110061217A KR1020090117801A KR20090117801A KR20110061217A KR 20110061217 A KR20110061217 A KR 20110061217A KR 1020090117801 A KR1020090117801 A KR 1020090117801A KR 20090117801 A KR20090117801 A KR 20090117801A KR 20110061217 A KR20110061217 A KR 20110061217A
Authority
KR
South Korea
Prior art keywords
host
flow
packet
distributed denial
service attack
Prior art date
Application number
KR1020090117801A
Other languages
English (en)
Inventor
권용식
엄종훈
안정균
김민준
김승호
Original Assignee
주식회사 케이티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 케이티 filed Critical 주식회사 케이티
Priority to KR1020090117801A priority Critical patent/KR20110061217A/ko
Publication of KR20110061217A publication Critical patent/KR20110061217A/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/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

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

본 발명은 플로우 패턴 정보를 이용한 분산 서비스 거부 공격 검출 시스템 및 그 방법에 관한 것으로, 입력되는 패킷의 헤더 정보를 기반으로 하여 플로우 정보를 인지하고, 상기 인지된 각 플로우 정보를 기반으로 호스트 단위의 플로우 패턴 정보를 생성하여 호스트 단위로 분산 서비스 거부 공격을 검출하는 분산 서비스 거부 공격 검출 시스템 및 그 방법을 제공하고자 한다.
이를 위하여, 본 발명은 분산 서비스 거부 공격 검출 방법에 있어서, 수신되는 패킷의 헤더를 검사하는 단계; 상기 검사한 패킷의 헤더 정보를 기반으로 새로운 플로우 정보를 생성하거나 기 생성된 플로우 정보를 갱신하는 단계; 상기 생성 또는 갱신된 플로우 정보로부터 플로우 종료를 확인하는 단계; 상기 플로우 종료가 확인된 플로우 정보를 호스트 단위로 분석하여 호스트 단위의 플로우 패턴을 생성하는 단계; 상기 생성된 호스트 단위의 플로우 패턴과 기 저장되어 있는 분산 서비스 거부 공격의 플로우 패턴을 비교하여 분산 서비스 거부 공격을 수행하는 호스트인지를 판단하는 판단 단계; 및 상기 판단 결과에 따라 호스트 제어 정책을 결정하여 호스트 단위로 적용하는 단계를 포함한다.
분산 서비스 거부 공격, 패킷 헤더 정보, 플로우 정보, 호스트 단위, 플로우 패턴 정보, 호스트 제어 정책

Description

플로우 패턴 정보를 이용한 분산 서비스 거부 공격 검출 시스템 및 그 방법{Distributed Denial of Service Detection System Using Flow Patterns and Method Thereof}
본 발명은 현재 사회적으로 많은 문제를 일으키고 있는 분산 서비스 거부(DDoS : Distributed Denial of Service) 공격을 호스트 단위의 플로우 패턴 정보를 이용하여 호스트 단위로 검출하는 분산 서비스 거부 공격 검출 시스템 및 그 방법에 관한 것으로, 더욱 상세하게는 인터넷상에서 크게 문제가 되고 있는 분산 서비스 거부 공격 트래픽을 검출하기 위해 호스트 단위의 플로우 패턴 정보를 이용하되, 입력 패킷 헤더 정보를 기반으로 하여 플로우 정보를 인지하고, 각 플로우가 가지는 패턴을 이용하여 분산 서비스 거부 공격을 호스트 단위로 검출하는 분산 서비스 거부 공격 검출 시스템 및 그 방법에 관한 것이다.
분산 서비스 거부 공격은 공격자가 제어 가능한 다수 대의 좀비 컴퓨터를 이용하여 목표지 시스템에 대하여 동시에 다량의 트래픽을 발생시킴으로써, 목표지 시스템의 취약점으로 인하여 해당 목표지 시스템이 정상적인 서비스를 제공하지 못하도록 만드는 방식이다.
이러한 분산 서비스 거부 공격을 당하는 피해자는 공격을 미리 예측하기가 무척이나 어렵고, 또한 예측한다고 해도 방어하기는 더욱 어렵다는 점에 큰 문제가 있다.
또한, 좀비 컴퓨터만 있으면 공격자가 손쉽게 공격을 수행할 수 있으므로, 정치적, 경제적, 또는 유희의 목적을 가진 공격자가 점점 늘어가고 있어, 산발적인 분산 서비스 거부 공격으로부터 피해자를 보호해야 하는 것은 매우 중요한 일이 되었다.
하지만, 현재에 사용되고 있는 방어 기술들은 복잡도가 높아서 실제 장비에 적용이 힘들거나 특정 분산 서비스 거부 공격 기술의 방어에만 치중되어 있어 다양한 분산 서비스 거부 공격 기술의 방어 대책으로 사용하기에는 미약하다.
다음으로, 대한민국 공개특허 제10-2008-21492호(플로우 기반 패킷 처리 방식의 분산 서비스 거부 공격 방어 시스템 및 방법)에 대하여 살펴보면 다음과 같다.
상기 선행 특허는 고속 트래픽(1Gbps)을 위한 플로우 기반 패킷 처리 방식의 분산 서비스 거부 공격(DDoS) 방어 시스템 및 방법에 관한 것이다.
그리고 상기 선행 특허에 따른 시스템은, 노드 장치를 지나는 패킷을 플로우별로 모니터링하여 악의적인 패킷을 검출하여 망으로 전파되는 것을 차단하기 위한 시스템에 있어서, 차단을 위한 악의적인 플로우의 정보를 유지하는 필터 룰 벡터 리스트와, 링크드 리스트(Linked-List) 형태로 구성되며, 플로우별로 플로우의 전송속도, 송신 패킷(SYN 패킷) 수, 수신 패킷(SYN_ACK 패킷) 수, 전체 전달 패킷 수를 포함하는 플로우 정보를 저장하고 있는 플로우 정보 테이블과, 상기 노드 장치들에 실장되어 상기 노드를 통과하는 패킷들을 추출하고, 상기 필터 룰 벡터 리스트에 설정된 룰에 따라 악의적인 패킷을 차단하는 네트워크 모니터링 카드와, 상기 네트워크 모니터링 카드로부터 추출된 패킷의 5-튜플들(source/destination IP, source/destination port numbers, type of protocol), 즉 발신지 IP 주소, 목적지 IP 주소, 발신지 포트번호, 목적지 포트번호, 프로토콜 타입을 키 값으로 하여 ELF 해쉬함수를 통해 플로우를 구분하고, 플로우별로 5-튜플들(tuples)과 함께 송신 패킷과 수신 패킷의 수를 포함하는 플로우 정보를 추출하여 상기 플로우 정보 테이블에 저장함으로써 상기 플로우 정보 테이블을 갱신하는 트래픽 모니터링 컴포넌트부와, 상기 플로우 정보 테이블을 분석하여 각 플로우의 송신 패킷과 수신 패킷의 비율을 계산하여 TCP 플로우의 경우 받은 패킷의 수(Prcv)에 대한 보낸 패킷의 수(Psent)가 TCPrto(set to 3)을 초과하거나 ICMP 플로우의 경우 ICMPrto(set to 1.1)을 넘게 되었을 때 악의적인 플로우로 판단하고, 악의적인 플로우가 검출되면 상기 필터 룰 벡터 리스트에 등록하여 포워딩 정책을 정의하며, 소정의 타이머를 두어 일정 시간 동안 악의적인 플로우의 공격이 지속되지 않으면 공격이 멈춘 것으로 판단하여 해당 플로우를 상기 필터 룰 벡터 리스트에서 제거하는 디디오에스(DDoS) 방어 컴포넌트부를 포함한다.
그리고 상기 선행 특허에 따른 방법은, 추출된 패킷의 5-튜플들(source/destination IP, source/destination port numbers, type of protocol), 즉 발신지 IP 주소, 목적지 IP 주소, 발신지 포트번호, 목적지 포트번호, 프로토콜 타입을 키 값으로 하여 ELF 해쉬함수를 통해 플로우를 구분하고, 플로우별로 5-튜플들(tuples)과 함께 송신 패킷과 수신 패킷의 수를 포함하는 플로우 정보를 추출하여 플로우 정보 테이블에 저장함으로써 상기 플로우 정보 테이블을 갱신하는 단계와, 상기 플로우 정보 테이블을 분석하여 각 플로우의 송신 패킷과 수신 패킷의 비율을 계산하여 TCP 플로우의 경우 받은 패킷의 수(Prcv)에 대한 보낸 패킷의 수(Psent)가 TCPrto(set to 3)을 초과하거나 ICMP 플로우의 경우 ICMPrto(set to 1.1)을 넘게 되었을 때 악의적인 플로우로 판단하고, 악의적인 플로우가 검출되면 상기 필터 룰 벡터 리스트에 등록하여 포워딩 정책을 정의하는 단계와, 상기 필터 룰 벡터 리스트에 등록된 패킷을 차단하여 악의적인 플로우가 네트워크로 전파되는 것을 방지하는 단계와, 소정의 타이머를 두어 일정 시간 동안 악의적인 플로우의 공격이 지속되지 않으면 공격이 멈춘 것으로 판단하여 해당 플로우를 상기 필터 룰 벡터 리스트에서 제거하는 단계를 포함한다.
이처럼, 상기 선행 특허는 플로우 단위로 분산 서비스 거부 공격을 검출하는 방식이다.
그런데, 현재 분산 서비스 거부 공격을 수행하는 호스트는 검출을 피하기 위해 소스 포트나 프로토콜을 변경하는 등의 방법을 이용하여 짧은 플로우를 대량으로 생성하는 방식을 일반적으로 사용하고 있다.
상기와 같이 소스 포트나 프로토콜이 변경이 되면 해당 플로우가 별도의 플로우로 구별되기 때문에, 플로우 단위로 분산 서비스 거부 공격을 검출하는 기존 방식(상기 선행 특허의 방식)은 탐지율이 현저히 감소하게 되는 문제점이 있다. 즉, 플로우의 유지기간이 짧아서 플로우 단위 제어는 그 효과가 극히 제한적이다.
따라서 상기와 같은 종래 기술은 문제점이 복잡도가 높아서 실제 장비에 적용이 힘들거나 특정 분산 서비스 거부 공격 기술의 방어에만 치중되어 있어 다양한 분산 서비스 거부 공격 기술의 방어 대책으로 사용하기에는 미약한 문제점이 있거나, 또는 플로우 단위로 분산 서비스 거부 공격을 검출하는 기존 방식은 탐지율이 현저히 감소하게 되는 문제점이 있으며, 이러한 문제점을 해결하고자 하는 것이 본 발명의 과제이다.
따라서 본 발명은 분산 서비스 거부(DDoS : Distributed Denial of Service) 공격을 호스트 단위의 플로우 패턴 정보를 이용하여 호스트 단위로 검출하는 분산 서비스 거부 공격 검출 시스템 및 그 방법을 제공하는데 그 목적이 있다.
즉, 본 발명은 입력되는 패킷의 헤더 정보를 기반으로 하여 플로우 정보를 인지하고, 상기 인지된 각 플로우 정보를 기반으로 호스트 단위의 플로우 패턴 정보를 생성하여 호스트 단위로 분산 서비스 거부 공격을 검출하는 분산 서비스 거부 공격 검출 시스템 및 그 방법을 제공하는데 그 목적이 있다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 구성 요소 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상기 목적을 달성하기 위한 본 발명의 장치는, 분산 서비스 거부 공격 검출 시스템에 있어서, 회선 내를 통과하는 패킷의 헤더를 검사하여 플로우 정보를 생성 또는 갱신하기 위한 패킷 검사기; 및 상기 패킷 검사기로부터 전달받은 플로우 정보를 기반으로 호스트 단위의 플로우 패턴 정보를 생성하여 호스트 단위로 분산 서비스 거부 공격을 검출하기 위한 제어기를 포함한다.
또한, 상기 목적을 달성하기 위한 본 발명의 방법은, 분산 서비스 거부 공격 검출 방법에 있어서, 수신되는 패킷의 헤더를 검사하는 단계; 상기 검사한 패킷의 헤더 정보를 기반으로 새로운 플로우 정보를 생성하거나 기 생성된 플로우 정보를 갱신하는 단계; 상기 생성 또는 갱신된 플로우 정보로부터 플로우 종료를 확인하는 단계; 상기 플로우 종료가 확인된 플로우 정보를 호스트 단위로 분석하여 호스트 단위의 플로우 패턴을 생성하는 단계; 상기 생성된 호스트 단위의 플로우 패턴과 기 저장되어 있는 분산 서비스 거부 공격의 플로우 패턴을 비교하여 분산 서비스 거부 공격을 수행하는 호스트인지를 판단하는 판단 단계; 및 상기 판단 결과에 따라 호스트 제어 정책을 결정하여 호스트 단위로 적용하는 단계를 포함한다.
상기와 같은 본 발명은, 분산 서비스 거부(DDoS : Distributed Denial of Service) 공격을 호스트 단위의 플로우 패턴 정보를 이용하여 호스트 단위로 검출 함으로써, 해당 호스트에 대하여 효과적으로 제어 정책을 적용할 수 있다.
또한, 본 발명은 입력되는 패킷의 헤더 정보를 기반으로 하여 플로우 정보를 인지하고, 상기 인지된 각 플로우 정보를 기반으로 호스트 단위의 플로우 패턴 정보를 생성하여 호스트 단위로 분산 서비스 거부 공격을 검출함으로써, 분산 서비스 거부 공격에 대한 탐지율을 현저히 향상시킬 수 있는 효과가 있다.
또한, 본 발명에 따른 분산 서비스 거부 공격 검출 시스템은, 낮은 복잡도를 가지면서도 분산 서비스 거부 공격에 대해 우수한 검출 정확도를 제공할 수 있다.
상술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되어 있는 상세한 설명을 통하여 보다 명확해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다.
그리고 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때 이는 "직접적으로 연결"되어 있는 경우뿐만 아니라 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 "포함" 또는 "구비"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다 른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함하거나 구비할 수 있는 것을 의미한다.
도 1은 본 발명에 따른 분산 서비스 거부 공격 검출 시스템에 대한 일실시예 전체 구성도이다.
도 1에 도시된 바와 같이, 본 발명에 따른 분산 서비스 거부 공격 검출 시스템은, 회선 내를 통과하는 패킷의 헤더를 검사하여 플로우 정보를 생성 또는 갱신하기 위한 패킷 검사기(101), 및 상기 패킷 검사기(101)로부터 전달받은 플로우 정보를 기반으로 호스트 단위의 플로우 패턴 정보를 생성하여 호스트 단위로 분산 서비스 거부 공격을 검출하기 위한 제어기(102)를 포함한다.
여기서, 상기 패킷 검사기(101)는 통신 회선(103)에 인라인으로 배치되어 수신되는 패킷의 헤더를 분석하고 플로우 정보를 생성 또는 갱신한다.
그리고 상기 제어기(102)는 상기 패킷 검사기(101)로부터 전달받은 플로우 정보를 기반으로 호스트 단위의 플로우 패턴 정보를 생성한 후에 상기 생성된 플로우 패턴 정보와 기 저장되어 있는 분산 서비스 거부 공격의 플로우 패턴 정보를 비교하여 해당 플로우를 발생시킨 호스트에 대하여 분산 서비스 거부 공격 여부를 검출한다. 또한, 상기 제어기(102)는 상기 검출된 분산 서비스 거부 공격 여부에 따라 해당 호스트에 대한 제어 정책을 결정하여 해당하는 호스트 제어 정보를 상기 패킷 검사기(101)로 전달한다.
이때, 패킷 검사기(101)와 제어기(102) 간에는 예를 들어 전용 회선(104)을 통하여 연결된다. 상기 전용 회선(104)을 통해서 모든 플로우 정보가 패킷 검사기(101)에서 제어기(102)로 전달되고, 분산 서비스 거부 공격 트래픽을 발생시키는 호스트로 판명된 호스트에 대한 제어 정보가 제어기(102)에서 패킷 검사기(101)로 전달된다.
여기서, 패킷 검사기(101)와 제어기(102)를 분리하여 처리하는 이유는 분산 서비스 거부 공격 등이 발생될 때, 플로우 정보를 생성 또는 갱신하는 패킷 검사기(101)의 부하로 인하여 실제 분산 서비스 거부 공격 여부를 판단하는 과정이 지연되는 것을 방지하기 위해서이다.
도 2는 본 발명에 따른 패킷 검사기(101)의 일실시예 상세 구성도이다.
도 2에 도시된 바와 같이, 본 발명에 따른 패킷 검사기(101)는, 통신 회선(103)을 통해 전달되는 패킷을 수신하기 위한 패킷 수신부(201), 상기 패킷 수신부(201)를 통하여 수신된 패킷의 헤더를 검사하여 플로우 정보를 생성하거나 갱신하고, 상기 수신된 패킷을 처리하기 위한 패킷 처리부(211), 및 상기 제어기(102)에서 결정된 호스트 제어 정보를 해당하는 호스트로부터의 각 플로우에 적용하고, 상기 패킷 처리부(211)에서 처리가 완료된 패킷을 목적지 측으로 전달하기 위한 패킷 전달부(221)를 포함한다.
여기서, 상기 패킷 처리부(211)는 상기 패킷 수신부(201)를 통하여 수신된 패킷의 헤더를 검사하기 위한 패킷 헤더 검사부(212), 및 상기 패킷 헤더 검사부(212)에서 검사한 패킷 헤더 정보를 이용하여 처음 생성된 플로우인 경우 플로우 정보(플로우 특징 정보)를 생성하고 기존에 생성된 플로우인 경우 플로우 정보(플로우 특징 정보)를 갱신하기 위한 플로우 정보 생성/갱신부(213)를 포함한다.
그리고 상기 패킷 전달부(221)는 상기 제어기(102)에서 결정된 호스트 제어 정보를 해당하는 호스트로부터 발생된 각 플로우에 적용하기 위한 제어 정책 적용부(222), 및 상기 패킷 처리부(211)에서 처리가 완료된 패킷을 상기 제어 정책 적용부(222)의 제어에 따라 외부의 목적지 측으로 실제적으로 전달하기 위한 패킷 전송부(223)를 포함한다.
도 3은 본 발명에 따른 제어기(102)의 일실시예 상세 구성도이다.
도 3에 도시된 바와 같이, 본 발명에 따른 제어기(102)는, 상기 패킷 검사기(101)로부터 플로우 정보를 수신하기 위한 플로우 정보 수신부(301), 상기 플로우 정보 수신부(301)를 통하여 수신된 플로우 정보를 기반으로 호스트 단위의 플로우 패턴 정보를 생성하여 호스트 단위로 분산 서비스 거부 공격을 검출하여 해당 호스트에 대한 제어 정책을 결정하기 위한 호스트 정책 결정부(311), 및 상기 호스트 정책 결정부(311)에서 결정된 호스트 제어 정책(호스트 제어 정보)을 상기 패킷 검사기(101)로 전달하기 위한 제어 정책 전달부(321)를 포함한다.
여기서, 상기 호스트 정책 결정부(311)는 상기 플로우 정보 수신부(301)를 통하여 수신된 플로우 정보를 분석하여 플로우 패턴 정보를 생성한 후에 상기 생성된 플로우 패턴 정보와 기 저장되어 있는 분산 서비스 거부 공격의 플로우 패턴 정보를 비교하여 해당 플로우를 발생시킨 호스트에 대하여 분산 서비스 거부 공격 여 부를 검출하여 해당 호스트에 대한 제어 정책을 결정한다.
이때, 상기 호스트 정책 결정부(311)는 상기 플로우 정보 수신부(301)를 통하여 수신된 플로우 정보를 이용하여 호스트 단위의 플로우 패턴을 생성하기 위한 플로우 패턴 생성부(312), 분산 서비스 거부 공격의 플로우 패턴 정보를 저장하고 있는 플로우 패턴 데이터베이스(315), 상기 플로우 패턴 데이터베이스(315)에 저장되어 있는 플로우 패턴 정보와 상기 플로우 패턴 생성부(312)에서 생성된 플로우 패턴 정보를 비교 및 분석하여 상기 호스트가 분산 서비스 거부 공격을 수행하는지 여부를 판단하기 위한 분산 서비스 거부 공격 호스트 여부 판단부(313), 및 분산 서비스 거부 공격 호스트 여부 판단부(313)의 판단 결과, 상기 호스트가 분산 서비스 거부 공격을 수행하는 호스트일 때, 호스트 제어 정책을 결정하기 위한 호스트 제어 정책 결정부(314)를 포함한다. 여기서, 분산 서비스 거부 공격을 수행하는 호스트로 판단된 경우 해당하는 플로우 패턴 정보를 상기 플로우 패턴 데이터베이스(315)에 저장한다.
도 4는 본 발명에 따른 플로우 정보에 대한 일실시예 구조도이다.
도 4에 도시된 바와 같이, 패킷 검사기(101)에서 생성되어 제어기(102)로 전달되는 플로우 정보는, 생성된 플로우를 구분하기 위한 플로우 ID(401); 플로우를 정의하기 위해 사용되는 수신지(목적지) 주소(402), 송신지(발신지) 주소(403), 수신 포트(404), 송신 포트(405), 및 프로토콜(406)의 5튜플들을 포함한다.
또한, 상기 정의된 플로우에 대해 플로우의 특징을 나타내기 위해, 플로우가 생성한 패킷 수를 나타내는 발생 패킷 수(407), 플로우의 총 크기를 바이트 크기로 나타낸 플로우 크기(408), 플로우가 생성한 패킷의 평균 크기를 나타내는 평균 패킷 크기(409), 플로우의 초당 발생 바이트량을 나타내는 평균 전송률(410), 플로우가 구분된 시점을 나타내는 플로우 시작 시간(411), 및 플로우가 종료된 시간을 의미하는 플로우 종료 시간(412)이 더 추가되어 플로우 정보를 이룬다.
도 5는 본 발명에 따른 분산 서비스 거부 공격 검출 방법에 대한 일실시예 흐름도이다.
먼저, 패킷 검사기(101)의 패킷 수신부(201)가 통신 회선상에서 패킷을 수신한 경우, 패킷 헤더 검사부(212)가 상기 수신한 패킷의 헤더를 검사한다(501).
이후, 플로우 정보 생성/갱신부(213)가 상기 수신된 패킷의 플로우 정보가 패킷 검사기(101)에 기 저장되어 있는지 여부를 조사하여(502) 만약 기 저장되어 있는 경우 현재 패킷에 의해 변경된 플로우 정보를 갱신한다(503).
상기 조사 결과(502), 만약 저장되어 있지 않은 경우 즉, 새로운 플로우가 발견된 경우에는 플로우 정보를 새롭게 생성하고 상기 생성된 새로운 플로우 정보를 패킷 검사기(101) 내에 저장한다(504).
전술한 바와 같이 패킷 헤더에 대한 검사가 끝나면, 상기 생성되거나 갱신된 플로우 정보로부터 플로우의 종료 여부를 검사한다(505).
이때, 분산 서비스 거부 공격을 수행하는 호스트는 검출을 피하기 위해, 소스 포트(송신 포트)를 변경하는 등의 방법을 이용하여 짧은 플로우를 대량으로 생 성하는 것이 일반적이기 때문에, 플로우의 종료 여부를 검사하는 과정(505)을 수행하는 것이다.
상기 검사 결과(505), 만약 플로우가 종료된 경우에는 제어기(102)로 플로우 정보를 전달하고(506), 만약 현재도 진행 중인 플로우로 판단될 경우에는 패킷 검사기(101)에서 패킷 전달 서비스를 지속하여(507) 패킷이 정상적으로 목적지에 도달할 수 있도록 한다.
전술한 바와 같이 플로우가 종료되어 제어기(102)로 플로우 정보가 전송되어 온 경우, 플로우 정보 수신부(301)가 플로우 정보를 수신하여 플로우 패턴 생성부(312)로 전달한다.
그러면, 플로우 패턴 생성부(312)는 전달받은 플로우 정보를 호스트 단위로 분석하여 호스트 단위의 플로우 패턴을 생성한다(508).
이때, 분산 서비스 거부 공격의 특징상 짧은 길이의 플로우 자체 제어보다 분산 서비스 공격을 일으키는 호스트에 대한 제어가 더욱 효과적이기 때문에 플로우 정보를 호스트 단위로 분석하여 호스트 단위의 플로우 패턴을 생성한다.
이후, 분산 서비스 거부 공격 호스트 여부 판단부(313)가 상기 생성된 호스트 단위의 플로우 패턴과 플로우 패턴 데이터베이스(315) 내에 기 저장되어 있는 분산 서비스 거부 공격의 플로우 패턴을 비교하여(509) 분산 서비스 거부 공격을 수행하는 호스트인지 여부를 판단한다(510).
여기서, 분산 서비스 거부 공격은 일반적으로 동일한 목적지의 동일한 수신 포트(목적지 포트)를 향해 공격을 일으키는데 검출을 피하기 위해 다양한 송신 포 트 번호(소스 포트 번호)를 이용하고, 또한 발생시키는 플로우 수도 매우 많기 때문에 분산 서비스 거부 공격을 수행하는 호스트인지 여부를 판단하는 기준으로 다음의 두 가지 기준을 이용한다.
먼저, 첫 번째 기준으로, 일정 시간 내(예 : 시스템 시작 초기에는 3초로 하고, 시스템 운용 시에는 조정 가능함.) 하나의 호스트에서 생성하는 소스 포트(송신 포트)의 개수가 임계치(초기에는 5개 정도로 설정하고, 시스템 운용 시 적절한 개수로 변경 가능함. 정상적인 경우 포트수는 2개 이내임.) 이상인 경우 해당 호스트를 분산 서비스 거부 공격을 수행하는 호스트의 후보로 선정한다.
그리고 두 번째 기준으로, 상기 첫 번째 기준을 만족할 때, 단위 시간당 상기 호스트에서 생성하는 플로우 개수(즉, 호스트의 플로우 생성량)를 검사하여 임계치(초기에는 50개 정도로 설정하고, 시스템 운용 시 적절한 개수로 변경 가능함. 정상적인 경우 웹화면 검색 시 30 내지 40개 정도임.) 이상인 경우 해당 호스트를 분산 서비스 거부 공격을 수행하는 호스트로 결정한다.
상기 판단 결과(510), 만약 해당 호스트가 분산 서비스 거부 공격을 수행하는 호스트로 판단된 경우, 호스트 제어 정책 결정부(314)가 해당 호스트에 대한 비율 제한, 강제 탈락 등의 제어 정책을 결정한다(511).
상기 판단 결과(510), 만약 해당 호스트가 정상적인 호스트로 판단되면, 호스트 제어 정책 결정부(314)가 해당 호스트에 대한 패킷 검사기(101)의 전달 서비스를 지속할 것으로 제어 정책을 결정한다(512).
이후, 제어 정책 전달부(321)가 상기 결정된 호스트에 대한 제어 정책(호스 트 제어 정보)을 패킷 검사기(101)로 전달하면(513), 패킷 검사기(101)의 제어 정책 적용부(222)가 해당 호스트 제어 정책을 해당 호스트에 대하여 적용한다(514).
한편, 전술한 바와 같은 본 발명의 방법은 컴퓨터 프로그램으로 작성이 가능하다. 그리고 상기 프로그램을 구성하는 코드 및 코드 세그먼트는 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 작성된 프로그램은 컴퓨터가 읽을 수 있는 기록매체(정보저장매체)에 저장되고, 컴퓨터에 의하여 판독되고 실행됨으로써 본 발명의 방법을 구현한다. 그리고 상기 기록매체는 컴퓨터가 판독할 수 있는 모든 형태의 기록매체를 포함한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
본 발명은 분산 서비스 거부(DDoS : Distributed Denial of Service) 공격 방어 시스템 등에 이용될 수 있다.
도 1은 본 발명에 따른 분산 서비스 거부 공격 검출 시스템에 대한 일실시예 전체 구성도,
도 2는 본 발명에 따른 패킷 검사기의 일실시예 상세 구성도,
도 3은 본 발명에 따른 제어기의 일실시예 상세 구성도,
도 4는 본 발명에 따른 플로우 정보에 대한 일실시예 구조도,
도 5는 본 발명에 따른 분산 서비스 거부 공격 검출 방법에 대한 일실시예 흐름도이다.
* 도면의 주요 부분에 대한 부호의 설명
101 : 패킷 검사기 102 : 제어기
201 : 패킷 수신부 211 : 패킷 처리부
212 : 패킷 헤더 검사부 213 : 플로우 정보 생성/갱신부
221 : 패킷 전달부 301 : 플로우 정보 수신부
311 : 호스트 정책 결정부 312 : 플로우 패턴 생성부
313 : 분산 서비스 거부 공격 호스트 여부 판단부
314 : 호스트 제어 정책 결정부 315 : 플로우 패턴 데이터베이스
321 : 제어 정책 전달부

Claims (10)

  1. 분산 서비스 거부 공격 검출 시스템에 있어서,
    회선 내를 통과하는 패킷의 헤더를 검사하여 플로우 정보를 생성 또는 갱신하기 위한 패킷 검사기; 및
    상기 패킷 검사기로부터 전달받은 플로우 정보를 기반으로 호스트 단위의 플로우 패턴 정보를 생성하여 호스트 단위로 분산 서비스 거부 공격을 검출하기 위한 제어기
    를 포함하는 분산 서비스 거부 공격 검출 시스템.
  2. 제 1 항에 있어서,
    상기 패킷 검사기는,
    상기 회선을 통해 전달되는 패킷을 수신하기 위한 패킷 수신부;
    상기 패킷 수신부를 통하여 수신된 패킷의 헤더를 검사하여 플로우 정보를 생성하거나 갱신하고, 상기 수신된 패킷을 처리하기 위한 패킷 처리부; 및
    상기 제어기에서 결정된 호스트 제어 정보를 호스트 단위로 적용하고, 상기 패킷 처리부에서 처리된 패킷을 전달하기 위한 패킷 전달부
    를 포함하는 분산 서비스 거부 공격 검출 시스템.
  3. 제 2 항에 있어서,
    상기 패킷 처리부는,
    상기 패킷 수신부를 통하여 수신된 패킷의 헤더를 검사하기 위한 패킷 헤더 검사부; 및
    상기 패킷 헤더 검사부에서 검사한 패킷 헤더 정보를 이용하여 처음 생성된 플로우인 경우 플로우 정보를 생성하고 기존에 생성된 플로우인 경우 플로우 정보를 갱신하기 위한 플로우 정보 생성/갱신부
    를 포함하는 분산 서비스 거부 공격 검출 시스템.
  4. 제 3 항에 있어서,
    상기 패킷 전달부는,
    상기 제어기에서 결정된 호스트 제어 정보를 호스트 단위로 적용하기 위한 제어 정책 적용부; 및
    상기 패킷 처리부에서 처리된 패킷을 상기 제어 정책 적용부의 제어에 따라 외부의 목적지로 전송하기 위한 패킷 전송부
    를 포함하는 분산 서비스 거부 공격 검출 시스템.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 제어기는,
    상기 패킷 검사기로부터 플로우 정보를 수신하기 위한 플로우 정보 수신부;
    상기 플로우 정보 수신부를 통하여 수신된 플로우 정보를 기반으로 호스트 단위의 플로우 패턴 정보를 생성하여 호스트 단위로 분산 서비스 거부 공격을 검출하여 호스트 제어 정책을 결정하기 위한 호스트 정책 결정부; 및
    상기 호스트 정책 결정부에서 결정된 호스트 제어 정책(호스트 제어 정보)을 상기 패킷 검사기로 전달하기 위한 제어 정책 전달부
    를 포함하는 분산 서비스 거부 공격 검출 시스템.
  6. 제 5 항에 있어서,
    상기 호스트 정책 결정부는,
    상기 플로우 정보 수신부를 통하여 수신된 플로우 정보를 이용하여 호스트 단위의 플로우 패턴을 생성하기 위한 플로우 패턴 생성부;
    분산 서비스 거부 공격의 플로우 패턴 정보를 저장하고 있는 플로우 패턴 데이터베이스;
    상기 플로우 패턴 데이터베이스에 저장되어 있는 플로우 패턴 정보와 상기 플로우 패턴 생성부에서 생성된 플로우 패턴 정보를 비교하여 분산 서비스 거부 공격을 수행하는 호스트인지를 판단하기 위한 분산 서비스 거부 공격 호스트 여부 판 단부; 및
    상기 분산 서비스 거부 공격 호스트 여부 판단부의 판단 결과, 분산 서비스 거부 공격을 수행하는 호스트임에 따라 호스트 제어 정책을 결정하기 위한 호스트 제어 정책 결정부
    를 포함하는 분산 서비스 거부 공격 검출 시스템.
  7. 제 6 항에 있어서,
    상기 분산 서비스 거부 공격 호스트 여부 판단부는,
    일정 시간 내 하나의 호스트에서 생성하는 송신 포트의 개수가 제 1 임계치 이상인 경우 상기 호스트를 분산 서비스 거부 공격을 수행하는 호스트의 후보로 선정한 후에,
    단위 시간당 상기 호스트에서 생성하는 플로우 개수를 검사하여 제 2 임계치 이상인 경우 상기 호스트를 분산 서비스 거부 공격을 수행하는 호스트로 결정하는 분산 서비스 거부 공격 검출 시스템.
  8. 제 5 항에 있어서,
    상기 플로우 정보는,
    플로우가 생성한 패킷 수를 나타내는 발생 패킷 수, 플로우의 총 크기를 바 이트 크기로 나타낸 플로우 크기, 플로우가 생성한 패킷의 평균 크기를 나타내는 평균 패킷 크기, 플로우의 초당 발생 바이트량을 나타내는 평균 전송률, 플로우가 구분된 시점을 나타내는 플로우 시작 시간, 및 플로우가 종료된 시간을 의미하는 플로우 종료 시간을 더 포함하는 분산 서비스 거부 공격 검출 시스템.
  9. 분산 서비스 거부 공격 검출 방법에 있어서,
    수신되는 패킷의 헤더를 검사하는 단계;
    상기 검사한 패킷의 헤더 정보를 기반으로 새로운 플로우 정보를 생성하거나 기 생성된 플로우 정보를 갱신하는 단계;
    상기 생성 또는 갱신된 플로우 정보로부터 플로우 종료를 확인하는 단계;
    상기 플로우 종료가 확인된 플로우 정보를 호스트 단위로 분석하여 호스트 단위의 플로우 패턴을 생성하는 단계;
    상기 생성된 호스트 단위의 플로우 패턴과 기 저장되어 있는 분산 서비스 거부 공격의 플로우 패턴을 비교하여 분산 서비스 거부 공격을 수행하는 호스트인지를 판단하는 판단 단계; 및
    상기 판단 결과에 따라 호스트 제어 정책을 결정하여 호스트 단위로 적용하는 단계
    를 포함하는 분산 서비스 거부 공격 검출 방법.
  10. 제 9 항에 있어서,
    상기 판단 단계는,
    일정 시간 내 하나의 호스트에서 생성하는 송신 포트의 개수가 제 1 임계치 이상인 경우 상기 호스트를 분산 서비스 거부 공격을 수행하는 호스트의 후보로 선정하는 과정; 및
    단위 시간당 상기 호스트에서 생성하는 플로우 개수를 검사하여 제 2 임계치 이상인 경우 상기 호스트를 분산 서비스 거부 공격을 수행하는 호스트로 결정하는 과정
    을 포함하는 분산 서비스 거부 공격 검출 방법.
KR1020090117801A 2009-12-01 2009-12-01 플로우 패턴 정보를 이용한 분산 서비스 거부 공격 검출 시스템 및 그 방법 KR20110061217A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090117801A KR20110061217A (ko) 2009-12-01 2009-12-01 플로우 패턴 정보를 이용한 분산 서비스 거부 공격 검출 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090117801A KR20110061217A (ko) 2009-12-01 2009-12-01 플로우 패턴 정보를 이용한 분산 서비스 거부 공격 검출 시스템 및 그 방법

Publications (1)

Publication Number Publication Date
KR20110061217A true KR20110061217A (ko) 2011-06-09

Family

ID=44395731

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090117801A KR20110061217A (ko) 2009-12-01 2009-12-01 플로우 패턴 정보를 이용한 분산 서비스 거부 공격 검출 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR20110061217A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150081889A (ko) * 2014-01-07 2015-07-15 한국전자통신연구원 제어 네트워크 침해사고 탐지 장치 및 탐지 방법
KR20160113911A (ko) * 2015-03-23 2016-10-04 (주) 시스메이트 플로우 기반 디도스 탐지 및 방어 장치 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150081889A (ko) * 2014-01-07 2015-07-15 한국전자통신연구원 제어 네트워크 침해사고 탐지 장치 및 탐지 방법
KR20160113911A (ko) * 2015-03-23 2016-10-04 (주) 시스메이트 플로우 기반 디도스 탐지 및 방어 장치 및 방법

Similar Documents

Publication Publication Date Title
WO2014119669A1 (ja) ログ分析装置、情報処理方法及びプログラム
Hussein et al. SDN security plane: An architecture for resilient security services
CN107968791B (zh) 一种攻击报文的检测方法及装置
TW201406106A (zh) 網路訊務處理系統
JP2005506736A (ja) パケットネットワークのルータ内のノードセキュリティを提供するための方法及び装置。
KR20140088340A (ko) 오픈플로우 스위치에서의 디도스 공격 처리 장치 및 방법
US20170034195A1 (en) Apparatus and method for detecting abnormal connection behavior based on analysis of network data
WO2016191232A1 (en) Mitigation of computer network attacks
JP6386593B2 (ja) 悪性通信パターン抽出装置、悪性通信パターン抽出システム、悪性通信パターン抽出方法、および、悪性通信パターン抽出プログラム
US9661006B2 (en) Method for protection of automotive components in intravehicle communication system
US8839406B2 (en) Method and apparatus for controlling blocking of service attack by using access control list
JP2018026747A (ja) 攻撃検知装置、攻撃検知システムおよび攻撃検知方法
KR101380015B1 (ko) 분산서비스거부 공격에 대한 협업형 방어 방법 및 그 장치
KR20110029340A (ko) 분산 서비스 거부 공격의 방어 시스템
JP6592196B2 (ja) 悪性イベント検出装置、悪性イベント検出方法および悪性イベント検出プログラム
US11895146B2 (en) Infection-spreading attack detection system and method, and program
EP2112800B1 (en) Method and system for enhanced recognition of attacks to computer systems
JP5531064B2 (ja) 通信装置、通信システム、通信方法、および、通信プログラム
KR20110061217A (ko) 플로우 패턴 정보를 이용한 분산 서비스 거부 공격 검출 시스템 및 그 방법
KR20130009130A (ko) 좀비 피씨 및 디도스 대응 장치 및 방법
KR101380096B1 (ko) 분산 서비스 거부 공격 대응 시스템 및 그 방법
CN107689967A (zh) 一种DDoS攻击检测方法和装置
Mavani et al. Security implication and detection of threats due to manipulating IPv6 extension headers
KR20110027907A (ko) 웹 방화벽의 능동적 탐지ㆍ차단을 위한 대응 시스템 및 그 방법
KR20160087448A (ko) 플로우 별 통계 정보를 활용한 아웃라이어 감지 기반의 DDoS 공격자 구별 방법 및 장치

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination