KR101077136B1 - 히스토리 기반 DDoS 대응 방법 - Google Patents
히스토리 기반 DDoS 대응 방법 Download PDFInfo
- Publication number
- KR101077136B1 KR101077136B1 KR1020090128211A KR20090128211A KR101077136B1 KR 101077136 B1 KR101077136 B1 KR 101077136B1 KR 1020090128211 A KR1020090128211 A KR 1020090128211A KR 20090128211 A KR20090128211 A KR 20090128211A KR 101077136 B1 KR101077136 B1 KR 101077136B1
- Authority
- KR
- South Korea
- Prior art keywords
- address
- source
- addresses
- destination
- ddos
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
히스토리 기반 DDoS 대응 방법이 개시된다. (a) 목적 IP 어드레스에 접근하는 소스 IP 어드레스의 수를 기록하는 단계, (b) 상기 목적 IP 어드레스별 상기 소스 IP 어드레스의 수를 제1 임계치와 비교하는 단계, (c) 상기 소스 IP 어드레스의 수가 상기 제1 임계치 이상인 상기 목적 IP 어드레스를 특정하는 단계, (d) 상기 특정된 목적 IP 어드레스에 접근하는 상기 소스 IP 어드레스의 수를 기록하는 단계, (e) 상기 특정된 목적 IP 어드레스에 접근하는 상기 소스 IP 어드레스의 수를 제2 임계치와 비교하는 단계, (f) 상기 소스 IP 어드레스의 수가 상기 제2 임계치 이상인 경우 상기 특정된 목적 IP 어드레스에 대한 DDoS 공격이 개시된 것으로 판단하는 단계 및 (g) 상기 저장된 소스 IP 어드레스에 상기 특정된 목적 IP 어드레스 접근에 대한 높은 우선 순위를 부여하는 단계를 포함하는 히스토리 기반 DDoS 대응 방법은 샘플링을 통해 모니터링되는 IP 어드레스 세트를 감소시키고 메모리 크기를 줄이며 기존의 연결 상태를 효과적으로 보호할 수 있는 효과가 있다.
DDoS, 히스토리, 샘플링, 메모리.
Description
본 발명은 전자 기기에 관한 것으로, 특히 히스토리 기반 DDoS 대응 방법에 관한 것이다.
DoS(denial of service) 공격은 네트워크 또는 서버에서 제공되는 서비스를 방해하기 위한 악의적인 시도이다. 요즘, DoS 공격은 봇넷(botnet)을 통해 수천대의 좀비 PC를 이용함으로써 DDoS(distributed denial of service) 공격으로 강화되었다. DDoS 공격을 방어하기 위해 많은 방어 메커니즘이 제안되었으나, 최근에는 그 공격이 정상적인 트래픽과 유사하여 방어에 어려움을 겪고 있다.
기존에 연구된 히스토리 기반 DDoS 공격대응 알고리즘은 적게는 며칠, 많게는 최근 몇 달간 접속한 적이 있던 IP를 화이트 리스트(whitelist)로 관리하고 있다가 특정 시점에 다수의 IP들로부터 DDoS 공격을 받게 될 때, 기존에 접속한 기록이 있는 화이트 리스트를 중심으로 높은 우선 순위를 부여하여 접속을 허용하고, DDoS 공격상황에서 처음 발생한 IP로부터의 패킷은 필터링하는 알고리즘을 의미한다.
또한, 만약 소수의 기기가 특정 서버에 DDoS 공격을 수행하는 경우, 이러한 공격 기기의 IP 어드레스는 플로우 상태를 관리하지 않더라도 비교적 쉽게 탐지될 수 있다. 반면, 매우 많은 기기가 DDoS 공격에 참여하는 경우, DDoS 공격을 수행하는 IP 어드레스는 거의 그 전에 웹 사이트에 보이지 않기 때문에, 갑자기 늘어난 IP 어드레스가 그 전에 해당 웹 사이트에 통상적으로 존재하였는지 관찰함으로써 악의적인 IP 어드레스를 감지할 수 있다. 종래 기술에 따르면, 상술한 관찰 방식에 기반하여 새로운 IP 어드레스가 증가하였는지 모니터링함으로써 DDoS 공격을 감지하는 방법이 제시된다.
그러나, 종래 기술에 따르면, 히스토리 기반 대응방법은 공격자의 입장에서 우회하기가 매우 쉽다. 즉, 본격적인 DDoS 공격을 발생시키 전, 패킷을 보내는 것만으로 충분히 방어를 우회할 수 있는 문제점이 있다. 또한, 종래 기술에 따르면, 메모리는 고려하지 않기 때문에 고속 링크 또는 하이 프로필 웹사이트(high profile website)에 대해서는 플로우 마다의 정보 관리가 매우 어려운 실정이다.
또한, 종래 기술에 따르면, DDoS 공격시 클라이언트 단말기의 수가 늘어나는 경우, 대부분의 클라이언트 단말기는 전에 보지 못했던 새로운 IP 어드레스를 가지며, 이러한 관찰에 기반하여, IP 이력 데이터베이스를 사용하였다. 그러나 종래 기술은 플로우마다 상태 관리를 요구하여, 계산이 복잡하고 과도하게 메모리를 요구하기 때문에 에지 라우터에서는 이용할 수 없는 문제점이 있다.
전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
본 발명은 IP 이력 정보에 기반하여 기존 플로우와 새로운 플로우에 대해 서로 다른 우선 순위를 부여함으로써 네트워크를 보호할 수 있는 히스토리 기반 DDoS 대응 방법을 제공하기 위한 것이다.
또한, 본 발명은 DDoS 공격을 당하는 기기는 많은 기기에 의해 접근 가능하므로, 샘플링을 통해 소수의 패킷을 탐지하여도, 피해 기기를 쉽게 감지할 수 있는 점을 이용하여 첫 단계에서 샘플링을 통해 모니터링되는 IP 어드레스 세트를 감소시키고 메모리 크기를 줄이며 기존의 연결 상태를 효과적으로 보호할 수 있는 히스토리 기반 DDoS 대응 방법을 제공하기 위한 것이다.
또한, 본 발명은 샘플링을 통해 모니터링되는 트래픽의 양을 조정함으로써 프로세싱 및 메모리 요구 사항을 줄일 수 있으며, 특히, 주어진 서브 네트워크의 보호에 초점을 두어 많은 외부 IP 어드레스에 의해 접근가능한 호스트만을 모니터링함으로써, 플로우마다의 상태 관리를 회피할 수 있는 히스토리 기반 DDoS 대응 방법을 제공하기 위한 것이다.
본 발명이 제시하는 이외의 기술적 과제들은 하기의 설명을 통해 쉽게 이해 될 수 있을 것이다.
본 발명의 일 측면에 따르면, (a) 목적 IP 어드레스에 접근하는 소스 IP 어드레스의 수를 기록하는 단계; (b) 상기 목적 IP 어드레스별 상기 소스 IP 어드레스의 수를 제1 임계치와 비교하는 단계; (c) 상기 소스 IP 어드레스의 수가 상기 제1 임계치 이상인 상기 목적 IP 어드레스를 특정하는 단계; (d) 상기 특정된 목적 IP 어드레스에 접근하는 상기 소스 IP 어드레스의 수를 기록하는 단계; (e) 상기 특정된 목적 IP 어드레스에 접근하는 상기 소스 IP 어드레스의 수를 제2 임계치와 비교하는 단계; (f) 상기 소스 IP 어드레스의 수가 상기 제2 임계치 이상인 경우 상기 특정된 목적 IP 어드레스에 대한 DDoS 공격이 개시된 것으로 판단하는 단계 및 (g) 상기 저장된 소스 IP 어드레스에 상기 특정된 목적 IP 어드레스 접근에 대한 높은 우선 순위를 부여하는 단계를 포함하는 히스토리 기반 DDoS 대응 방법이 제공된다.
여기서, 상기 (a) 단계와 상기 (d) 단계는, 상기 목적 IP 어드레스와 상기 소스 IP 어드레스의 대응값을 해시값으로 변환하여 저장할 수 있다.
또한, 상기 (a) 단계와 상기 (d) 단계는, 상기 소스 IP 어드레스를 블룸 필터에 등록할 수 있으며, 상기 블룸 필터는 서로 다른 상기 목적 IP 어드레스에 대해 공유될 수 있다.
여기서, 상기 (d) 단계는, 상기 블룸 필터는 미리 설정된 시간 구간 동안 상 기 목적 IP 어드레스와 상기 소스 IP 어드레스간 전달되는 패킷의 유무를 판단하기 위한 타이머를 포함하되, 상기 시간 구간 동안 상기 목적 IP 어드레스와 상기 소스 IP 어드레스간 전달되는 패킷이 없는 경우 상기 목적 IP 어드레스와 상기 소스 IP 어드레스의 연결은 끊긴 것으로 판단할 수 있다.
또한, 상기 제2 임계치는 상기 제1 임계치보다 클 수 있으며, 상기 목적 IP 어드레스는 에지 라우터에 연결되는 단말기의 IP 어드레스가 될 수 있다.
본 발명의 다른 측면에 따르면, 상술한 히스토리 기반 DDoS 대응 방법을 수행하기 위하여 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며 디지털 처리 장치에 의해 판독될 수 있는 프로그램을 기록한 기록매체가 제공될 수 있다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
본 발명에 따른 히스토리 기반 DDoS 대응 방법은 IP 이력 정보에 기반하여 기존 플로우와 새로운 플로우에 대해 서로 다른 우선 순위를 부여함으로써 네트워크를 보호할 수 있는 효과가 있다.
또한, 본 발명은 DDoS 공격을 당하는 기기는 많은 기기에 의해 접근 가능하므로, 샘플링을 통해 소수의 패킷을 탐지하여도, 피해 기기를 쉽게 감지할 수 있는 점을 이용하여 첫 단계에서 샘플링을 통해 모니터링되는 IP 어드레스 세트를 감소 시키고 메모리 크기를 줄이며 기존의 연결 상태를 효과적으로 보호할 수 있는 효과가 있다.
또한, 본 발명은 샘플링을 통해 모니터링되는 트래픽의 양을 조정함으로써 프로세싱 및 메모리 요구 사항을 줄일 수 있으며, 특히, 주어진 서브 네트워크의 보호에 초점을 두어 많은 외부 IP 어드레스에 의해 접근가능한 호스트만을 모니터링함으로써, 플로우마다의 상태 관리를 회피할 수 있는 효과가 있다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
본 명세서에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 본 발명의 실시예에 따른 히스토리 기반 DDoS 탐지 장치를 포함한 네트워크 구성도이다. 도 1을 참조하면, 공격자(110), 외부 사용자(120), 네트워크(130), 라우터(140), 서버(150), 내부 사용자(160)가 도시된다.
본 실시예는 크게 두 단계를 수행하여 메모리를 효율적으로 이용하면서 DDoS 공격을 방어할 수 있는 특징이 있다. 본 발명은 DDoS 공격시 등장하는 새로운 IP 어드레스에 대응하기 위하여 IP 이력 데이터베이스를 사용하며, DDoS 공격 플로우를 정상 플로우와 구별하기 위해, 본 명세서에서는 IP 이력 데이터베이스를 'LEA'(List of Existing IP Addresses)로 지칭한다.
본 실시예에 따른 DDoS 방어 메커니즘은 다음과 같은 두 단계를 포함할 수 있다. 첫 번째 단계에서는 LEA에 대한 메모리 사이즈를 줄이기 위해서, 샘플링을 통해 많은 외부 커넥션을 가지는 내부 IP 어드레스를 선택한다. 두 번째 단계에서는, 첫 번째 단계에서 선택된 IP 어드레스에 대해서만 LEA를 기록하여 저장한다. LEA 작성 후, 특정 내부 IP 어드레스에 접근하는 외부 IP 어드레스의 수가 미리 설정된 임계치를 넘는 경우, 이는 DDoS 공격으로 간주되고, 미리 저장된 LEA의 정보에 기반하여 현재 커넥션은 새로운 커넥션 시도보다 높은 우선 순위를 가진다.
공격자(110)와 외부 사용자(120)는 유무선 네트워크(130)에 연결되며, 라우터(140)를 경유하여 서버(150) 및 내부 사용자(160)에 연결될 수 있다. 공격자(110), 외부 사용자(120), 서버(150) 및 내부 사용자(160)는 통신이 가능한 단말기를 지칭한다. 서버(150) 및 내부 사용자(160)는 라우터(140)에 연결되어 이를 통해 네트워크(130)에 결합하므로, 공격자(110)와 외부 사용자(120)와 구분하기 위해 내부 IP 어드레스를 가지는 것으로 지칭된다. 여기서, 라우터(140)는 에지(edge) 라우터가 될 수 있다.
본 실시예에 따른 히스토리 기반 DDoS 탐지 장치는 에지 라우터, DDoS 전용 장비 등에서 적용될 수 있으며, 내부의 시스템을 보호하는 것이 목적이므로 내부 시스템으로 유입되는 인바운드(Inbound) 트래픽에 대해 적용될 수 있다.
본 실시예의 첫 번째 단계는 유입되는 모든 트래픽에서 대해 히스토리 기반 대응 모듈을 적용하는 것은 연산량 및 관리할 데이터 크기 등이 커서 비효율적이므로, 데이터량을 줄이기 위해 적용된다. 또한, 본 실시예의 두 번째 단계는 첫 번째 단계에서 샘플링된 목적 IP 어드레스에 대해서만 종래 접속한 소스 IP 어드레스 목록을 작성하여 관리한다. 이하에서 이러한 두 단계에 대해 상세히 설명한다.
도 2는 본 발명의 실시예에 따른 히스토리 기반 DDoS 탐지 장치의 블록 구성도이다. 도 2를 참조하면, 제1 연결 상태 테이블(141), 제1 블룸 필터(142), 제2 연결 상태 테이블(143), 제2 블룸 필터(144), 저장부(145), 제어부(146)가 도시된다.
본 실시예에 따른 첫 번째 단계에서, 각 패킷은 소스 IP 어드레스 및 목적 IP 어드레스의 쌍으로 분류되는데, 이를 균일 랜덤 해시값으로 변환하여, 샘플링 패킷들을 대상으로 DDoS 공격발생여부를 탐지한다.
샘플링한 패킷들에 대해 제1 연결 상태 테이블(141)을 관리한다. 제1 연결 상태 테이블(141)을 관리하기 위해 제1 블룸 필터(142)가 사용될 수 있다. 제1 연결 상태 테이블(141)에서 소스 IP 어드레스의 수가 제1 임계치를 넘는 목적 IP 어드레스에 대해서는 두 번째 단계로 넘어간다. 제1 연결 상태 테이블(141)에서 관리하는 정보는 각 목적 IP 어드레스별, 단위시간 당 유입된 소스 IP 어드레스의 수가 될 수 있다.
본 실시예에 따른 첫 번째 단계의 목적은 유입되는 트래픽 분석에 있어 모든 패킷을 분석하는 것이 아니라, 샘플링한 패킷을 대상으로 보는 것과 모든 목적 IP 어드레스에 대해서 분석하는 것이 아니라, 일정 이상의 유입 트래픽이 발생하는 시스템에 대해서 DDoS 대응기능을 적용하기 위한 것이다. 특정 목적 IP 어드레스에 해당하는 소스 IP 어드레스 수가 제1 임계치를 넘는 경우, 제1 연결 상태 테이 블(141)에서 해당 데이터를 모두 삭제하고, 해당 목적 IP 어드레스는 두 번째 단계에서 관리하는 제2 연결 상태 테이블(143)로 옮겨가게 된다. 물론, 제1 연결 상태 테이블(141)의 해당 목적 IP 어드레스는 제2 연결 상태 테이블(143)에 저장되어 이용될 수 있다.
또한, 본 실시예에 따른 두 번째 단계는, 첫 번째 단계를 통과한 목적 IP 어드레스에 대해서 수행된다. 두 번째 단계에서는 목적 IP 어드레스를 대상으로 제2 연결 상태 테이블(143)이 관리되며, 여기서 관리되는 정보는 목적 IP 어드레스별 접속한 소스 IP 어드레스 개수 및 각 소스 IP 어드레스별 타이머가 될 수 있다.
타이머는 제2 블룸 필터(144)에 구비될 수 있으며, 신규 소스 IP 어드레스가 유입되거나, 기존에 유입되었던 소스 IP 어드레스가 재유입되면 미리 설정된 시간인 R로 설정된다. 타이머는 특정 시간당 1씩 줄어들며 0이 되면, 해당 소스 IP 어드레스는 제2 블룸 필터(144)에서 삭제된다. 즉, 특정 소스 IP 어드레스에서 R 시간동안 트래픽 유입이 없으면 해당 IP는 삭제된다.
제2 연결 상태 테이블(143)에서 목적 IP 어드레스별 접속한 소스 IP 어드레스의 수가 관리되는데, 그 수가 제2 임계치를 초과하는 소스 IP 어드레스가 발생하면, 이는 해당 목적 IP 어드레스에 대해 DDoS 공격이 발생한 것으로 판단할 수 있다. 이때, 제2 임계치의 수만큼 관리되고 있는 소스 IP 어드레스에서의 패킷은 DDoS 공격상황에서도 높은 우선 순위를 부여하여 처리될 수 있도록 설정되고, 제2 임계치를 넘는 선에서 새롭게 접속된 소스 IP 어드레스는 기존에 접속이 없었던 새로운 것이므로, DDoS 공격으로 새롭게 발생된 트래픽으로 예측할 수 있다. 따라서 새로 유입된 소스 IP 어드레스의 패킷은 낮은 우선 순위를 부여하여 처리하도록 한다.
또한, 제2 임계치는 특정 목적 IP 어드레스에서의 소스 IP 어드레스 개수가 임계치를 초과할 때, DDoS 공격이 발생한 것으로 간주하는 기준이다. 제3 임계치는 반대로 소스 IP 어드레스 개수가 현저히 줄어들어 제2 연결 상태 테이블(143)에서 관리할 필요가 없는 기준을 의미한다. 제3 임계치 이하로 소스 IP 어드레스 개수가 발생하면 정상적인 상황으로 간주하고, 해당 목적 IP 어드레스에 관한 데이터는 제2 연결 상태 테이블(143)에서 모두 삭제될 수 있다.
제1 연결 상태 테이블(141), 제1 블룸 필터(142), 제2 연결 상태 테이블(143) 및 제2 블룸 필터(144)는 제어부(146)에 의해 관리될 수 있다. 제어부(146)는 테이블 및 블룸 필터 관리를 위해 정보 입력, 수정 및 삭제와 같은 기능을 수행할 수 있다. 또한, 본 발명의 다른 실시예에 따르면, 테이블 관리 모듈 및 블룸 필터 관리 모듈을 별도로 구비하여 이러한 모듈에서 제어부(146)의 상술한 기능들을 수행할 수 있다. 제1 연결 상태 테이블(141), 제1 블룸 필터(142), 제2 연결 상태 테이블(143), 제2 블룸 필터(144) 및 제어부(146)는 라우터(140)에 내부 또는 외부에 별도의 하드웨어 또는 소프트웨어로 구현될 수 있다. 저장부(145)는 본 실시예에 따른 변수들, 예를 들면, 제1 내지 제3 임계치를 저장하며, 제어부(146)는 저장부(145)에 액세스하여 필요 정보를 추출하여 이용할 수 있다.
도 3은 본 발명의 실시예에 따른 히스토리 기반 DDoS 대응 방법의 흐름도이다. 이하에서 설명하는 흐름도는 상술한 히스토리 기반 DDoS 탐지 장치가 수행하는 방법에 대한 흐름도가 될 수 있다.
단계 S310에서, 소스 IP 어드레스에서 목적 IP 어드레스로 패킷이 유입되는 경우, 단계 S320에서, 목적 IP 어드레스에 접근하는 소스 IP 어드레스의 수를 기록한다.
단계 S330에서, 목적 IP 어드레스별 소스 IP 어드레스의 수를 제1 임계치와 비교하고, 단계 S340에서, 소스 IP 어드레스의 수가 제1 임계치 이상인 특정 목적 IP 어드레스를 추출함으로써 상술한 첫 번째 과정이 수행된다.
단계 S350에서, 상술한 두 번째 과정을 수행하기 위해서, 특정된 목적 IP 어드레스에 접근하는 소스 IP 어드레스의 수를 기록하고, 단계 S360에서, 특정된 목적 IP 어드레스에 접근하는 소스 IP 어드레스의 수를 제2 임계치와 비교한다.
단계 S370에서, 소스 IP 어드레스의 수가 제2 임계치 이상인 경우 특정된 목적 IP 어드레스에 대한 DDoS 공격이 개시된 것으로 판단하며, 단계 S380에서, 저장된 소스 IP 어드레스에 특정된 목적 IP 어드레스 접근에 대한 높은 우선 순위를 부여함으로써 DDoS 공격에 대응할 수 있다. 이하에서는 상술한 바와 같은 DDoS 대응을 위한 두가지 단계에 대해 자세히 설명한다.
도 4는 본 발명의 실시예에 따른 히스토리 기반 DDoS 대응 방법의 제1 단계에서 관리되는 테이블의 구조도이다.
첫 번째 단계에서, 도착하는 패킷들의 소스 및 목적 IP 어드레스 쌍(SrcIP, DstIP)이 샘플링된다. (SrcIP, DstIP) 쌍은 소정의 샘플링 확률(PS)을 이용하여 샘 플링된다. hp는 (SrcIP, DstIP)를 [0, 1)에 매핑시키는 균일 랜덤 해시 함수(uniform random hash function)로 정의된다. s와 d가 도착하는 패킷의 소스 및 목적 IP 어드레스인 경우 hp(s, d) < PS 이면, IP 어드레스 쌍(s, d)은 샘플링된다.
본 실시예에 따른 첫 번째 단계에서, 도 4에 도시된 바와 같이 제1 연결 상태 테이블 (T1)과 제1 블룸 필터 (B1)를 관리한다. 제1 연결 상태 테이블 (T1)은 미리 설정된 시간 구간 (I1) 동안 특정 목적 IP에 접근하는 IP 어드레스의 수를 카운트한다. DDoS 공격으로부터 내부 노드를 보호하기 위해서, T1에 있는 목적 IP 어드레스에 대해서는 내부 IP 어드레스만을 고려한다. COUNT1(d)은 샘플링된 목적 어드레스(d)에 접근하는 IP 어드레스의 수를 카운트한다. 샘플링된 소스 IP 어드레스가 카운트 되었는지 여부를 체크하기 위해서, 각 샘플링된 소스 IP 어드레스는 제1 블룸 필터 (B1)에 등록되며, 도 4(b)에 도시된 바와 같이 제1 블룸 필터 (B1)의 길이는 M1 비트이고, k개의 해시 함수를 가진다. 본 실시예는 메모리 사이즈를 줄이기 위해서 블룸 필터를 사용하며, 제한된 메모리 공간의 효율성을 높이기 위해서 제1 블룸 필터 (B1)는 서로 다른 목적 IP 어드레스 사이에 공유된다. 제1 블룸 필터 (B1)가 충돌되는 경우 COUNT1(d), 즉, (d)에 접근하는 IP 어드레스의 수는 작게 측정될 수 있으므로, 제1 블룸 필터 (B1)의 크기, 즉, M1은 충돌 가능성이 낮도록 충분히 커야 한다.
COUNT1(d)의 값이 미리 설정된 제1 임계치(N1) 보다 크다면, IP 어드레스(d)는 공격될 가능성이 있는 것으로 판단되며, DDoS 공격이 활발히 개시할 때까지 두 번째 단계 동안 d에 대해 LEA가 작성된다. COUNT1(d)은 단지 d에 접근하는 샘플링된 소스 어드레스만을 카운트한다. 따라서 본 실시예에 따르면, COUNT1(d)= N1일 때, 실제 d에 접근하는 전체 IP 어드레스의 수는 평균적으로 N1/PS가 된다.
두 번째 단계를 고려하기 전에, 제1 연결 상태 테이블 (T1)의 충돌에 대해 설명한다. 소스 어드레스(s)에서 d까지 가는 첫 번째 패킷이 본 실시예에 따른 DDoS 탐지 장치를 포함하는 라우터에 도착하는 경우, 목적 어드레스(d)에 대한 커넥션 정보가 제1 연결 상태 테이블 (T1)의 행(ha(d))에 저장된다. 여기서, ha(d)는 균일 랜덤 해시 함수이다. 목적 어드레스 d1이 해시 함수 ha에 의해 행(r)에 매핑될 때, 만약 그 행에 다른 어드레스 d2가 저장되어 있다면, 이러한 종류의 경합은 제1 연결 상태 테이블 (T1)에서의 충돌이라고 지칭된다. 이러한 종류의 충돌은 무시할 수 없는 확률로 일어나며, 방어 시스템에 심각한 영향을 끼칠 수 있으므로, 엔트리 관리 정책은 충돌의 경우 매우 중요하다.
본 실시예에 따르면, 다음과 같이 제1 연결 상태 테이블 (T1)의 엔트리를 관리한다. 많은 IP 어드레스에 연결된 IP 어드레스는 DDoS 공격의 대상이 될 수 있으므로, 제1 연결 상태 테이블에 유지될 필요가 있다. 따라서 본 실시예에 따르면, 다음과 같은 방식에 의해 제1 연결 상태 테이블 (T1)의 경합을 관리한다. 즉, 새로운 IP 어드레스 dn이 다른 IP 어드레스 do가 저장된 행에 도달하는 경우, COUNT1(do) > 1이라면, 예전 IP 어드레스 do을 위해 엔트리를 보유하고, 만약 COUNT1(do) = 1이라면, 새로운 IP 어드레스가 예전 IP 어드레스 대신 엔트리에 저장된다.
만약 IP 어드레스 d가, COUNT1(d)의 값이 N1보다 커서, 첫 번째 단계에서 선택되는 경우, IP 어드레스 d는 DDoS 공격의 대상이 될 확률이 높다. 그러나, 첫 번째 제1 임계치(N1)는 일반적으로 DDoS 탐지를 위해 사용하기에는 너무 작기 때문에 이러한 확률은 이 레벨에서 확실하게 DDoS 공격을 탐지할 수 없다. 첫 번째 제1 임계치(N1)는 단지 작은 수의 IP 어드레스에 의해 접근되는 목적 IP 어드레스를 필터링하기 위해 사용되며, 이러한 목적 IP 어드레스는 DDoS 공격의 대상이 될 확률은 낮다. 따라서, 본 실시예에 따른 두 번째 단계에서는, DDoS 공격 발생시 첫 번째 단계에서 선택된 내부 IP 어드레스들에 접근하도록 허용된 IP 어드레스의 리스트, 즉, LEA를 기록한다.
첫 번째 단계에서 선택되지 않은 목적 IP 어드레스에 대해서는, 접근하는 IP 어드레스의 수가 작기 때문에 어떠한 트래픽 규제도 적용되지 않을 것이다. 첫 번째 단계에서 선택된 목적 IP 어드레스에 대해서는, DDoS 공격의 발생 시 다음과 같은 트래픽 컨트롤이 적용된다. 만약 내부 IP 어드레스에 접근하는 IP 어드레스의 수가 제2 임계치(N2)보다 큰 경우, 내부 IP 어드레스는 DDoS 공격을 받는 것으로 판단되고, LEA에 있는 IP 어드레스들로부터 오는 패킷은 다른 IP 어드레스들로부터 오는 패킷보다 높은 우선 순위를 갖는다. 여기서, N2는 N1/PS 보다 크다. 새로운 IP 어드레스로부터 오는 패킷은 보다 낮은 우선 순위로 서비스되거나 또는 과도한 로드가 발생하는 경우 버려진다. 따라서 본 실시예에 따른 방어 시스템을 가지는 에지 라우터는 LEA 정보에 기반하여 내부 IP 어드레스와 연관된 외부 IP 어드레스의 수를 제한함으로써 패킷의 허용 여부를 제어할 수 있다. 만약, 특정 내부 IP 어드레스에 접근하는 IP 어드레스의 수가 N2보다 작은 경우, 연결되는 외부 IP 어드레스의 수가 다시 N2와 같아질 때까지 새로운 IP 어드레스는 LEA에 등록될 수 있다. 만약, 외부 IP 어드레스의 수가 제3 임계치(N3)(= N1/PS) 보다 작은 경우, 이에 상응하는 내부 IP 어드레스는 DDoS 공격을 받지 않는 것으로 판단되며, 이러한 IP 어드레스를 위한 LEA는 더 이상 관리되지 않는다.
도 5는 본 발명의 실시예에 따른 히스토리 기반 DDoS 대응 방법의 제2 단계에서 관리되는 테이블의 구조도이다.
이하에서는, LEA에 대한 관리 방식을 보다 자세히 설명한다. 두 번째 단계에서는, 도 5에 도시된 바와 같이 제2 연결 상태 테이블 (T2)과 제2 블룸 필터 (B2)가 관리된다. 제2 연결 상태 테이블 (T2)은 첫 번째 단계에서 선택된 각 내부 IP 어드레스와 현재 연결되는 외부 IP 어드레스의 수를 기록한다. COUNT2(d)는 내부 IP 어 드레스 (d)에 현재 접근하는 IP 어드레스의 수를 카운트한다. 1비트 크기의 필드 D는 처음에 0으로 기록되고, 이에 상응하는 내부 어드레스에 대해 DDoS 공격이 탐지되는 경우 1로 기록된다. COUNTp(d)는 COUNT2(d)의 예전 값을 유지하며, 이에 대한 사용 방식은 이하 COUNT2(d)의 수정에 대한 설명시 자세히 설명한다. 메모리 사이즈를 줄이기 위해, 특정 내부 IP 어드레스에 접근하는 외부 IP 어드레스는 제2 블룸 필터 B2에 등록 및 관리된다. 메모리 사이즈를 더 줄이기 위해, B2는 첫 번째 단계에서 선택된 모든 내부 IP 어드레스 사이에서 공유되며, 따라서, 제2 블룸 필터 B2는 선택된 내부 IP 어드레스를 위해 LEA를 관리한다. B1과 B2의 주된 차이는 도 5(b)에 도시된 바와 같이 B2를 위해 각 비트별로 서로 다른 타이머가 할당된다는 점이다. TIMER(i)는 M2 비트의 제2 블룸 필터 B2에 있는 i번째 비트를 위해 할당된 타이머를 나타낸다. A(i) 필드는 주어진 시간 간격동안 B2에서 i번째 비트를 사용하는 외부 IP 어드레스로부터의 패킷 도착을 기록한다. A(i)의 값은 COUNT2(d)의 수정을 위해 사용되며, 이에 대해서는 이하에서 자세히 설명한다. 본 실시예에 따르면, 미리 설정된 시간 간격동안 특정 IP 어드레스 쌍간에 전달되는 패킷이 없으면, 해당 IP 어드레스 쌍의 연결은 끊긴 것으로 판단된다. 따라서 제2 블룸 필터 (B2)의 타이머는 내부 및 외부 IP 어드레스 쌍간의 연결을 모니터링하는데 사용된다.
타이머의 기능에 대해 보다 자세히 설명하면 다음과 같다. k2는 제2 블룸 필터 B2에 사용된 해시 함수의 수이며, hi는 B2에 사용되는 i번째 해시 함수를 나타낸 다. 내부 IP 어드레스 (d)가 첫 번째 단계에서 선택되고 T2에 등록될 때, 라우터에서 새로운 소스 어드레스 s'에서 d로 가는 첫 번째 패킷이 탐지되는 경우, COUNT2(d)의 값은 1만큼 증가하고, B2의 hi(s') (i=1,2,...,k2)에 상응하는 k2 비트 위치는 1로 설정되며, 타이머(TIMER(hi(s')) (i=1,2,...,k2))의 값은 정수 R로 설정된다. 각 타이머의 값은 간격 IT에서 주기적으로 1만큼 감소된다. 따라서 (R-1) × IT 시간(예를 들면, 초) 경과 후에 주어진 외부 IP 어드레스에 대한 적어도 하나의 타이머가 0으로 감소되는 경우, 소진된 타이머에 상응하는 비트 값은 0으로 변경되고 s'는 d와 연결이 끊긴 것으로 간주된다. 만약, s'에서 d까지 가는 새로운 패킷이 타이머가 소진되기 전에 도착하는 경우, s'의 해시 값에 상응하는 타이머는 R로 다시 설정된다. R과 IT에 대한 상세값은 정상 플로우의 패킷간 도착 패턴을 고려하여 설정될 수 있다
종래 분석에 따르면, 월드 와이드 웹(WWW) 트래픽은 자기 유사성(self-similarity)을 보였으며, 웹 트래픽의 ON/OF 패턴에서의 침묵 시간은 주로 사용자가 생각하는 시간에 영향을 받아서 두꺼운 꼬리(heavy-tailed) 분포를 보인다. 또한, HTTP 패킷 도착간 시간은 긴 꼬리(long-tailed) 분포를 보이지만, 2초 이상의 패킷 도착간 시간의 비율은 3% 이하로서 다소 낮다. 따라서, 본 실시예에 따르면, 300초 동안 노드 쌍간에 패킷 교환이 없는 경우 노드 쌍간의 연결은 끊긴 것으로 간주된다. 외부 IP 어드레스가 최소 300초 동안 B2에 유지되어야 하므로, (R-1) × IT은 제2 블룸 필터 B2에서 300초 이상 되어야 한다. 타이머의 메모리 사이즈를 줄이기 위해서, R에 대해 3 비트 이상을 할당하고, R은 7로 설정된다. 만약 IT를 50초로 설정하는 경우 (R-1) × IT은 300초가 된다. 이러한 R과 IT의 값들은 본 발명의 최초 설정 변수가 된다.
본 실시예에 따르면, 타이머가 소진된 후에도 COUNT2(d)의 값을 제2 블룸 필터 B2에 존재하는 IP 어드레스들과 일관되게 유지하는 것이 중요하다. B2가 내부 IP 어드레스 d에 현재 접근하는 외부 IP 어드레스를 정확하게 관리한다고 가정한다. 만약, 타이머 소진 결과가 아직 반영되지 않아서 COUNT2(d)가 d에 현재 연결된 외부 IP 어드레스의 수를 크게 기록하는 경우, 본 실시예에 따른 방어 시스템은 보수적으로 작동할 것이다. 이러한 오작동 때문에 링크 또는 내부 노드의 활용성이 다소 낮다고 하더라도, 내부 노드 d는 DDoS 공격으로부터 보호될 것이다. 한편, 만약 COUNT2(d)가 현재 d에 접근하고 있는 외부 IP 어드레스의 수를 작게 기록하는 경우, COUNT2(d)의 값이 작아서 진행되고 있는 DDoS 공격은 탐지되지 않을 것이며, 노드 d는 DDoS 공격으로부터 보호되지 않을 것이다. 따라서 COUNT2(d)가 현재 연결 수를 작게 기록하지 않도록 할 필요가 있다.
도 6은 본 발명의 실시예에 따른 히스토리 기반 DDoS 탐지 장치의 테이블을 수정하는 방법을 도시한 도면이다. 여기에서는, 본 실시예에 따라 COUNT2(d)를 관리하는 방법이 도시된다.
새로운 외부 IP 어드레스 s''가 내부 IP 어드레스 d에 접근할 때마다, COUNT2(d)의 값은 1씩 감소된다. 동시에 s''는 제2 블룸 필터 (B2)에 등록되며, s''의 해시 값에 상응하는 타이머는 R로 설정되고, 같은 해시 값에 상응하는 A의 값들은 1로 설정된다. 모든 A의 값들은 (R-1)×IT에 0이 된다. 도 6을 참조하면, 이러한 경계선이 일점 쇄선으로 도시된다. 따라서 (R-1) × IT 기간 동안 기존의 또는 새로운 외부 IP 어드레스로부터 새로운 패킷이 전송되더라도 A 값은 기록된다.
COUNT2(d)가 d와 현재 연결된 IP 어드레스의 수를 작게 기록하지 않도록 하기 위해, 새로운 외부 IP 어드레스가 d에 접근하는 것이 탐지되는 즉시 COUNT2(d)의 값은 증가되지만, 현재 구간에서 연결이 끊긴 상태는 다음과 같은 방식으로 현재 구간의 끝에서만 반영된다. 10개의 새로운 외부 IP 어드레스가 j번째 구간에서 탐지될 때, 만약 모든 어드레스가 단지 하나의 패킷만을 전송하는 경우, 이러한 모든 어드레스를 위한 타이머는 j+1번째 구간에서 소멸될 것이며, 그들과 d간의 연결은 끊긴 것으로 간주된다. j+1번째 구간이 시작될 때, COUNTp(d)는 j번째 구간의 끝에 d와 연결된 IP 어드레스의 수로 설정되며, 그 구간동안 유지된다. COUNTp(d)에 카운트되는 IP 어드레스들은 j+2번째 구간의 시작시 COUNT2(d)에서 차감되며, 이는 이러한 IP 어드레스들로부터 어떠한 패킷도 발생하지 않는 경우 이들에 상응하는 타이머들이 j+1번째 구간에서 소진되어야 하기 때문이다. COUNTp(d)의 값은 각 구간의 시작점에 새롭게 계산된 COUNT2(d)로 설정된다. 만약, j+1번째 구간 전에 도착한 IP 어드레스가 j+1번째 구간에 d에 새로운 패킷을 전송하는 경우, 그 연결의 존속 기간이 최소한 (R-1) × IT 만큼 연장되므로, COUNT2(d)는 패킷 도착 즉 시 증가된다. 이러한 경우는 도 6의 s2에 대응된다. 만약 COUNT2(d)의 값이 이러한 방식, 즉, 즉시 값을 올리고 감소량은 차후에 반영하는 방식으로 관리되는 경우, COUNT2(d)는 도 6에 도시된 바와 같이 실제 IP 값보다 작지 않도록 유지될 수 있다.
도 7은 본 발명의 실시예에 따른 히스토리 기반 DDoS 대응 방법을 구현하기 위한 알고리즘을 도시한 도면이다. 본 실시예에 따른 DDoS 탐지 및 제어 방법은 도 7에 도시된 바와 같이 구현될 수 있으나, 이외에도 상술한 본 발명의 특징을 구현하기 위한 기타 다양한 방식의 알고리즘이 구현될 수 있음은 물론이다.
만약, COUNT2(d) > N2이라면, LEA에 등록된 현재 플로우, 즉, B2는 새로운 플로우보다 더 큰 우선 순위로 서비스된다. 새로운 패킷이 악의적인 노드의 IP 어드레스 sm으로부터 도착할 때, 만약 sm의 해시 값에 상응하는 모든 비트 값들이 B2에 존재하는 다른 IP 어드레스들에 의해 1로 이미 설정된 경우 이는 B2에서의 충돌로 판단되고, 이러한 플로우는 보다 높은 우선 순위로 서비스된다. 따라서 블롬 필터 B2의 크기는 충돌이 발생하지 않도록 충분히 클 필요가 있다.
RT2를 도 5의 제2 연결 상태 테이블 T2의 행의 수라고 하면, 만약 COUNT2의 값이 T2에서의 각 내부 IP 어드레스에 대해 N2보다 큰 경우 더 이상의 어드레스는 허용되지 않기 때문에, 제2 블룸 필터 B2는 단지 RT2 × N2 개의 외부 IP 어드레스만 을 수용할 수 있다. k2는 B2에 사용되는 해시 함수의 수이다. n'개의 IP 어드레스를 M2 크기의 비트 벡터에 삽입한 후 특정 비트가 여전히 0일 확률은 (1-1/M2)k2n'이다. 새로운 외부 IP 어드레스가 k2개의 해시 함수가 가리키는 모든 비트의 위치에서 1을 보는 경우 블룸 필터의 충돌이 발생한다. (RT2N2) 번째 등록된 어드레스 보다 이후에 도착하는 소스 IP 어드레스의 충돌 확률은 다음과 같다.
식 (2)에 따르면, k2는 충돌 확률을 1%보다 작게 유지하기 위해 7보다 크거나 같아야 한다. 따라서 본 실시예에 따르면, k2는 7로 설정되며, 이 경우 M2는 RT2와 N2를 이용하여 다음과 같이 표현된다.
M2의 크기도 이와 유사한 방식으로 결정될 수 있다.
도 8은 본 발명의 실시예에 따른 히스토리 기반 DDoS 대응 방법에 대한 네트워크 구성도 및 시뮬레이션 결과를 도시한 도면이다. 이하에서 본 실시예에 따른 방법을 평가하기 위한 OPNET 시뮬레이션 결과에 대해서 설명한다.
여기서, 현재 트래픽이 DDoS 공격시 얼마나 잘 보호될 수 있는지 실험하며, 이를 위해 전송된 트래픽 대비 성공적으로 전달된 트래픽의 비율, 즉, 처리량을 측정한다. 도 8(a)는 시뮬레이션에 대한 네트워크 구조를 도시한다. 제안된 DDoS 탐지 장치는 에지 라우터 R1에 사용된다. Z2 클라이언트가 서버 U에 접근하며, Z1은 이후에 이들을 공격한다. 외부 사용자 Z3은 DDoS 공격전에 내부 사용자 V에 연결된다. 대역폭 정체 공격(bandwidth congestion attack)의 경우를 대비하여, 외부 네트워크의 모든 트래픽이 링크 레이트가 100Mbps가 되는 R1과 R2 사이의 단일 링크를 통과하도록 한다. 공격 트래픽 패턴이 정상 트래픽 패턴과 구별되지 않을 때 본 방법을 검토하기 위해서, on-off 트래픽을 사용함으로써 공격과 정상 트래픽을 모델링하며, 이는 on과 off 시간대에 파레토 분포(Pareto distributions)를 가진다. 확률 밀도 함수는 로 주어진다. 변수들은 αON= 1.2, αOFF =1.5, kON =0.167 및 kOFF = 10이다. 평균적인 on과 off 기간은 각각 1과 30초이다. 주기 동안, 일정하게 1.55 Mbps로 500 바이트 패킷을 전송한다. 하나의 플로우의 평균 속도는 50 Kbps이다. 본 실험에서, 공격자 Z1의 수는 4000이며, 따라서 공격 트래픽의 평균 속도는 200 Mbps이고, 이는 R1과 R2간의 링크 레이트보다 훨씬 크다. 공격 대상 서버 U는 10개이고, 내부 유저 V는 100개이며, 공격 대상 서버에 접속하는 정상 클라이언트 Z2는 200개이고, 내부 사용자 Z3에 접속하는 외부 사용자는 200개이다.
도 8(b)는 본 실시예에 따른 방어 방법에 의해 구현된 처리량을 방어 시스템이 없는 FIFO 큐에 의해 얻어진 처리량과 비교한 도면이다. DDoS 공격은 900초 동안 수행되었으며, 도 8(b)를 참조하면, 본 실시예에 따른 방어 시스템에 의한 경우 휠씬 많은 처리량이 유지됨을 알 수 있다. 또한, 본 실시예에 따른 방어 시스템은 DDoS 공격의 대상이 되지는 않았지만, 그 대상이 된 노드와 같은 서브 네트워크에 있는 사용자들을 보다 효과적으로 보호할 수 있음을 알 수 있다. 만약, RT1과 RT2가 T1과 T2의 행의 수를 지칭하는 경우 필요한 전체 메모리 크기는 이다. 본 실험에서는, RT1 = 50, RT2 = 20, N1 =3, N2 = 50이다. 이 경우 필요한 메모리 크기는 2KB보다 작다.
따라서 본 실시예에 따르면, 감소된 메모리 크기를 가지고 IP 이력 정보에 기반하여 서로 다른 우선 순위를 가지는 기존의 플로우와 새로운 플로우를 이용하여 서브 네트워크를 보호할 수 있는 두 단계의 DDoS 방어 메커니즘이 제시된다. 첫 번째 단계에서 샘플링을 통해 모니터링되는 IP 어드레스의 수를 줄이고 두 단계 모두 블룸 필터를 이용함으로써 메모리가 감소된다. 시뮬레이션 결과는 메모리 크기가 작더라도 DDoS 공격시 현재의 플로우에 대해 높은 작업 처리량이 유지될 수 있음을 보여준다.
그 외 본 발명의 실시예에 따른 히스토리 기반 DDoS 대응 장치에 대한 구체적인 시스템 구성, 임베디드 시스템, O/S 등의 공통 플랫폼 기술과 통신 프로토콜, I/O 인터페이스 등 인터페이스 표준화 기술 등에 대한 구체적인 설명은 본 발명이 속하는 기술 분야의 통상의 지식을 가진자에게 자명한 사항이므로 생략하기로 한다.
본 발명에 따른 히스토리 기반 DDoS 대응 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 즉, 기록 매체는 컴퓨터에 상술한 각 단계를 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체가 될 수 있다.
상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합한 형태로 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM, DVD와 같은 광기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.
해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
도 1은 본 발명의 실시예에 따른 히스토리 기반 DDoS 탐지 장치를 포함한 네트워크 구성도.
도 2는 본 발명의 실시예에 따른 히스토리 기반 DDoS 탐지 장치의 블록 구성도.
도 3은 본 발명의 실시예에 따른 히스토리 기반 DDoS 대응 방법의 흐름도.
도 4는 본 발명의 실시예에 따른 히스토리 기반 DDoS 대응 방법의 제1 단계에서 관리되는 테이블의 구조도.
도 5는 본 발명의 실시예에 따른 히스토리 기반 DDoS 대응 방법의 제2 단계에서 관리되는 테이블의 구조도.
도 6은 본 발명의 실시예에 따른 히스토리 기반 DDoS 탐지 장치의 테이블을 수정하는 방법을 도시한 도면.
도 7은 본 발명의 실시예에 따른 히스토리 기반 DDoS 대응 방법을 구현하기 위한 알고리즘을 도시한 도면.
도 8은 본 발명의 실시예에 따른 히스토리 기반 DDoS 대응 방법에 대한 네트워크 구성도 및 시뮬레이션 결과를 도시한 도면.
<도면의 주요부분에 대한 부호의 설명>
110 : 공격자 120 : 외부 사용자
130 : 네트워크 140 : 라우터
141 : 제1 연결 상태 테이블 142 : 제1 블룸 필터
143 : 제2 연결 상태 테이블 144 : 제2 블룸 필터
145 : 저장부 146 : 제어부
150 : 서버 160 : 내부 사용자
Claims (8)
- (a) 목적 IP 어드레스에 접근하는 소스 IP 어드레스의 수를 기록하는 단계;(b) 상기 목적 IP 어드레스별 상기 소스 IP 어드레스의 수를 제1 임계치와 비교하는 단계;(c) 상기 소스 IP 어드레스의 수가 상기 제1 임계치 이상인 상기 목적 IP 어드레스를 특정하는 단계;(d) 상기 특정된 목적 IP 어드레스에 접근하는 상기 소스 IP 어드레스 및 상기 소스 IP 어드레스의 수를 저장하는 단계;(e) 상기 특정된 목적 IP 어드레스에 접근하는 상기 소스 IP 어드레스의 수를 제2 임계치와 비교하는 단계-상기 제2 임계치는 상기 제1 임계치보다 큼-;(f) 상기 소스 IP 어드레스의 수가 상기 제2 임계치 이상인 경우 상기 특정된 목적 IP 어드레스에 대한 DDoS 공격이 개시된 것으로 판단하는 단계; 및(g) 상기 저장된 소스 IP 어드레스에 상기 특정된 목적 IP 어드레스 접근에 대한 높은 우선 순위를 부여하는 단계를 포함하는 히스토리 기반 DDoS 대응 방법.
- 제1항에 있어서,상기 (a) 단계와 상기 (d) 단계는,상기 목적 IP 어드레스와 상기 소스 IP 어드레스의 대응값을 해시값으로 변 환하여 저장하는 것을 특징으로 하는 히스토리 기반 DDoS 대응 방법.
- 제1항에 있어서,상기 (a) 단계와 상기 (d) 단계는,상기 소스 IP 어드레스를 블룸 필터에 등록하는 것을 특징으로 하는 히스토리 기반 DDoS 대응 방법.
- 제3항에 있어서,상기 블룸 필터는 서로 다른 상기 목적 IP 어드레스에 대해 공유되는 것을 특징으로 하는 히스토리 기반 DDoS 대응 방법.
- 제3항에 있어서,상기 (d) 단계는,상기 블룸 필터는 미리 설정된 시간 구간 동안 상기 목적 IP 어드레스와 상기 소스 IP 어드레스간 전달되는 패킷의 유무를 판단하기 위한 타이머를 포함하되,상기 시간 구간 동안 상기 목적 IP 어드레스와 상기 소스 IP 어드레스간 전달되는 패킷이 없는 경우 상기 목적 IP 어드레스와 상기 소스 IP 어드레스의 연결 은 끊긴 것으로 판단하는 것을 특징으로 하는 히스토리 기반 DDoS 대응 방법.
- 삭제
- 제1항에 있어서,상기 목적 IP 어드레스는 에지 라우터에 연결되는 단말기의 IP 어드레스인 것을 특징으로 하는 히스토리 기반 DDoS 대응 방법.
- 제1항 내지 제5항 및 제7항 중 어느 하나에 기재된 히스토리 기반 DDoS 대응 방법을 수행하기 위하여 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며 디지털 처리 장치에 의해 판독될 수 있는 프로그램을 기록한 기록매체.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20090091850 | 2009-09-28 | ||
KR1020090091850 | 2009-09-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110034530A KR20110034530A (ko) | 2011-04-05 |
KR101077136B1 true KR101077136B1 (ko) | 2011-10-26 |
Family
ID=44043128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090128211A KR101077136B1 (ko) | 2009-09-28 | 2009-12-21 | 히스토리 기반 DDoS 대응 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101077136B1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101499666B1 (ko) * | 2013-08-08 | 2015-03-06 | 주식회사 시큐아이 | 네트워크 스캔 탐지 방법 및 장치 |
KR101701310B1 (ko) * | 2015-09-30 | 2017-02-02 | 고려대학교 산학협력단 | DDoS 공격 탐지 장치 및 방법 |
ES2699956T3 (es) * | 2016-09-19 | 2019-02-13 | Retarus Gmbh | Técnica para detectar mensajes electrónicos sospechosos |
-
2009
- 2009-12-21 KR KR1020090128211A patent/KR101077136B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR20110034530A (ko) | 2011-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9935974B2 (en) | Hardware-logic based flow collector for distributed denial of service (DDoS) attack mitigation | |
US8272044B2 (en) | Method and system to mitigate low rate denial of service (DoS) attacks | |
CN108063765B (zh) | 适于解决网络安全的sdn*** | |
US8201252B2 (en) | Methods and devices for providing distributed, adaptive IP filtering against distributed denial of service attacks | |
US10075468B2 (en) | Denial-of-service (DoS) mitigation approach based on connection characteristics | |
CN105991637B (zh) | 网络攻击的防护方法和装置 | |
JP5870009B2 (ja) | ネットワークシステム、ネットワーク中継方法及び装置 | |
CN108737447B (zh) | 用户数据报协议流量过滤方法、装置、服务器及存储介质 | |
KR20180030593A (ko) | 네트워크 공격 방지 방법, 장치 및 시스템 | |
EP2009864A1 (en) | Method and apparatus for attack prevention | |
Chou et al. | Proactive surge protection: a defense mechanism for bandwidth-based attacks | |
JP6923809B2 (ja) | 通信制御システム、ネットワークコントローラ及びコンピュータプログラム | |
WO2016139910A1 (ja) | 通信システム、通信方法、及びプログラムを格納した非一時的なコンピュータ可読媒体 | |
KR101077136B1 (ko) | 히스토리 기반 DDoS 대응 방법 | |
CN111131337B (zh) | UDP Flood攻击的检测方法及装置 | |
Liljenstam et al. | Comparing passive and active worm defenses | |
CN106357661B (zh) | 一种基于交换机轮换的分布式拒绝服务攻击防御方法 | |
JP2008219149A (ja) | トラヒック制御システムおよびトラヒック制御方法 | |
KR100656348B1 (ko) | 토큰 버켓을 이용한 대역폭 제어 방법 및 대역폭 제어 장치 | |
Chen et al. | A two-tier coordinated defense scheme against DDoS attacks | |
Wei et al. | An early stage detecting method against SYN flooding attack | |
Nam et al. | Memory-efficient IP filtering for countering DDoS attacks | |
Sardana et al. | Honeypot based routing to mitigate ddos attacks on servers at isp level | |
CN115913784B (zh) | 一种网络攻击防御***、方法、装置及电子设备 | |
WO2015196799A1 (zh) | 报文处理方法、装置及线卡 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20141016 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20151002 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |