KR101262845B1 - Uri컨텐츠 식별을 이용한 웹 부하 공격 차단 장치 및 공격 차단 방법 - Google Patents

Uri컨텐츠 식별을 이용한 웹 부하 공격 차단 장치 및 공격 차단 방법 Download PDF

Info

Publication number
KR101262845B1
KR101262845B1 KR1020090127050A KR20090127050A KR101262845B1 KR 101262845 B1 KR101262845 B1 KR 101262845B1 KR 1020090127050 A KR1020090127050 A KR 1020090127050A KR 20090127050 A KR20090127050 A KR 20090127050A KR 101262845 B1 KR101262845 B1 KR 101262845B1
Authority
KR
South Korea
Prior art keywords
source
uri
packet
hash value
information
Prior art date
Application number
KR1020090127050A
Other languages
English (en)
Other versions
KR20110070289A (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 한국전자통신연구원
Priority to KR1020090127050A priority Critical patent/KR101262845B1/ko
Publication of KR20110070289A publication Critical patent/KR20110070289A/ko
Application granted granted Critical
Publication of KR101262845B1 publication Critical patent/KR101262845B1/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/30Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
    • H04L63/308Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information retaining data, e.g. retaining successful, unsuccessful communication attempts, internet access, or e-mail, internet telephony, intercept related information or call content
    • 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
    • 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/0245Filtering by information in the payload
    • 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

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)
  • Technology Law (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명의 URI 컨텐츠 식별을 이용한 웹 부하 공격 차단 장치는, 유입 페이로드 패킷으로부터 클라이언트의 정보를 추출하는 패킷 파서 모듈; 패킷 파서 모듈로부터 추출정보를 전달받아 이 정보에 대하여 해쉬함수(Hash)를 적용하여 해쉬 값을 생성하는 해쉬 생성 모듈; 및 해쉬 생성 모듈에 의해 생성된 해쉬 값들과 기 추출된 정보를 전달받아 클라이언트의 정보를 기반으로 하는 웹 서버의 부하 공격을 탐지하고, 악의적인 사용자에 의한 메시지로 판단될 경우에는 패킷을 차단하는 DDoS 감지 및 보호모듈을 구비한다.
Figure R1020090127050
DDoS, URI 컨텐츠, 소스 IP, 해쉬 값

Description

URI컨텐츠 식별을 이용한 웹 부하 공격 차단 장치 및 공격 차단 방법{A web protection system using an URI content identification and the method thereof}
본 발명은 웹 서버 보호 장치 및 보호 방법에 관한 것으로, 보다 상세하게 는 정상적인 HTTP 연결을 방해하는 형태의 서비스 거부 공격(DDoS: Distributed Denial of Service)으로부터 웹 서버를 보호할 수 있는 웹 부하 공격 차단 장치 및 공격 차단 방법에 관한 것이다.
최근 네트워크나 서버의 가용성을 위협하는 형태의 서비스 거부 공격(DoS: Denial of Service)이 급증하고 있다. 이러한 공격의 형태는 주요 웹사이트나 루트 DNS 서버에 대한 공격처럼 국가나 인터넷 전체 기반체계를 대상으로 매우 광범위하게 전개되고 있는 실정이다.
무엇보다도, 최근 웹 서비스의 증가와 함께 웹 서비스에 대한 공격과 그 피해 규모는 해마다 증가하고 있다. 이와 같은 웹 서비스에 대한 공격 중 웹 서비스의 마비를 초래하는 대표적인 공격 형태로는 HTTP GET Flooding 공격, HTTP Refresh Flooding 공격, 그리고 CC 공격 등이 해당된다. 이들은 대부분 여러 좀비 PC 들로부터 대상 서버를 공격하는 형태로 진행된다.
그러나, 이와 같은 웹 서비스에 대한 서비스 거부 공격은 다른 인터넷 공격들과 성격이 다르고, 그에 대한 연구 또한 부족한 현실이다. 더욱이 기존의 침입탐지 시스템들도 웹 서비스를 보호하는데 적합하지 않다. 무엇보다도 정상적인 사용자와 악의적인 사용자의 행위를 구별하는 것이 쉽지 않다. 또한, 트래픽 측정에 의한 일률적인 차단은 정상적인 사용자의 트래픽까지 차단하는 경우가 많다.
즉, 정상적인 사용자의 트래픽은 보호하면서, 악의적인 사용자에 의한 공격 트래픽 만을 선별, 차단하는 기법이 요구된다.
본 발명은 악의적 사용자에 의한 공격 트래픽만을 선별하여 차단할 수 있는 웹 서버 공격 차단장치 및 차단 방법을 제공하는 것을 목적으로 한다.
본 발명의 다른 목적은 악의적인 사용자의 URI 컨텐츠 만을 선별하여 차단할 수 있는 웹서버 공격 차단장치 및 차단 방법을 제공하는 것이다.
본 발명의 또 다른 목적은 웹 서버 자체에 어떠한 부하도 주지 않고 웹서버 공격 차단장치 및 차단 방법을 제공하는 것이다.
본 발명에 따른 URI 컨텐츠 식별을 이용한 웹 부하 공격 차단 장치는, 유입 페이로드 패킷으로부터 클라이언트의 정보를 추출하는 패킷 파서 모듈; 상기 패킷 파서 모듈로부터 추출정보를 전달받아 이 정보에 대하여 해쉬함수(Hash)를 적용하여 해쉬 값을 생성하는 해쉬 생성 모듈; 및 상기 해쉬 생성 모듈에 의해 생성된 해쉬 값들과 기 추출된 정보를 전달받아 클라이언트의 정보를 기반으로 하는 웹 서버의 부하 공격을 탐지하고, 악의적인 사용자에 의한 메시지로 판단될 경우에는 패킷을 차단하는 DDoS 감지 및 보호모듈을 구비한다.
특히, 상기 패킷 파서 모듈에 의해 추출되는 클라이언트 정보는, 소스 IP(Source IP), URI 컨텐츠(Content), 및 해당 URI 컨텐츠의 크기 중 하나 이상을 포함하는 것을 특징으로 한다.
또한, 상기 해쉬 생성 모듈에 생성되는 해쉬 값은, 현재 소스 IP(Source IP)의 해쉬 값과 현재 URI 컨텐츠에 대한 해쉬 값인 것을 특징으로 한다.
또한, 상기 DDoS 감지 및 보호모듈에 전달되는 기 추출된 정보는 클라이언트의 현재 소스 IP, 현재 URI 컨텐츠 크기, 및 해당 정보가 추출된 시간 정보 중 하나 이상을 포함하는 것을 특징으로 한다.
또한, 상기 DDoS 감지 및 보호모듈은, DDoS 보호 테이블 내의 각 엔트리 지속 시간에 대한 임계치 정보인 타임 쓰레스홀드 값을 사용하는 것을 특징으로 한다.
또한, 상기 DDoS 보호 테이블은, 소스 IP가 x비트의 해쉬 값으로 변환되는 경우, 최대 2x×n개의 엔트리를 갖는 것을 특징으로 한다.
또한, 악의적 사용자에 의한 메시지 판단은, 동일 소스 IP에서 동일 URI 컨 텐츠가 유입되는 지를 판단하는 것을 특징으로 한다.
한편, 본 발명에 따른 URI 컨텐츠 식별을 이용한 웹 부하 공격 차단 방법은, 페이로드를 갖는 패킷이 유입되면, HTTP GET 요청 메시지인지 판단하는 단계; 유입 패킷의 헤더에서 소스 IP를 추출하는 단계; 상기 소스 IP에 대한 해쉬 값을 생성하는 단계; 생성된 해쉬 값을 바탕으로 해당 메모리 주소의 리스트를 읽어 들이는 단계; 및 각 엔트리 별로 소스 IP 및 URI 컨텐츠를 비교하여 악의적인 사용자에 의한 메시지 여부를 판단하는 단계를 포함한다.
특히, URI 컨텐츠의 비교는, URI 컨텐츠의 해쉬 값과 URI 컨텐츠의 사이즈를 비교하여 판단하는 것을 특징으로 한다.
또한, 악의적 사용자에 의한 메시지 판단은, 동일 소스 IP에서 동일 URI 컨텐츠가 유입되는 지를 판단하는 것을 특징으로 한다.
또한, 소스 IP와 목적지 IP를 쌍으로 수행하여 웹 방화벽을 보호하는 것을 특징으로 한다.
이와 같이 본 발명에서는 정상적인 HTTP 연결을 방해하는 형태의 서비스 거부 공격으로부터 웹 서버를 보호하고 원활한 서비스를 제공하기 위해서, 악의적인 사용자의 행위만을 식별하고 차단하는 방법을 제공한다. 이는 단시간에 동일한 URI 컨텐츠를 사용하여 웹 서비스를 방해하는 악의적인 사용자를 식별해내고 차단함으로써, 정상적인 사용자에게는 원활한 웹 서비스를 제공할 수 있다.
또한, 본 발명은 하드웨어 상에서 악의적인 트래픽을 실시간으로 차단해 줌으로써, 대상 웹 서버 자체에 어떠한 부하도 주지 않고 대응할 수 있다.
또한, 하드웨어 자원의 최소 사용으로 최대의 URI 컨텐츠 식별 방식을 제공함으로써, 제한된 하드웨어 자원의 효율적인 사용을 가능케 한다.
따라서, 본 발명은 정상적인 사용자의 웹 서비스 사용은 원활하게 제공해 주면서, 악의적인 사용자의 행위 만을 차단해 줌으로써, 정상적인 트래픽이 악의적인 트래픽에 의해서 간섭 받지 않는다는 이점을 제공한다.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
상기의 목적을 달성하기 위해서 본 발명은, 웹 서버에 대한 부하공격을 탐지, 차단하기 위한 하드웨어 기반의 DDoS 대응 기법을 제공한다.
이는 웹 서버에 대한 어플리케이션 레벨의 공격을 효과적으로 차단할 수 있는 기법을 제공하며, 정상적인 사용자와 악의적인 사용자를 구분하여 공격 상황에서도 서버가 원활한 서비스를 제공할 수 있도록 한다.
따라서, 본 발명은 웹 프로토콜인 HTTP를 이용한 웹 부하 공격으로부터 악의 적인 사용자만을 선별하여 차단함으로써, 정상적인 사용자에게는 원활한 서비스가 가능토록 하는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시 예를 설명하면 다음과 같다.
도 1은 웹 프로토콜인 HTTP GET 메소드를 이용한 일반적인 통신 절차에 대한 예시를 나타낸다.
도 1을 참조하면, 우선 클라이언트(100)는 해당 서버(200)에 GET Request를 전달하며, 이에 대한 응답으로 다양한 Response를 수신하게 된다. 이때, 클라이언트(100)는 해당 서버(200)에 요청 페이지 혹은 페이지와 파라미터가 포함된 값을 요청할 수도 있으며, 이에 대한 정보는 URI 컨텐츠(Content)에 적혀서 전달된다.
도 2는 도 1과 같은 방식으로 전달되는 GET 메소드의 URI 컨텐츠에 대해서, 정상적인 GET 요청의 형태와 악의적인 공격자에 의한 GET 요청 형태의 차이를 보인다.
도 2를 참조하면, 일반적으로 정상적인 사용자의 경우에는 각 GET 메소드 마다 서로 다른 URI 컨텐츠를 삽입하여 전달하지만, 악의적인 사용자의 경우에는 웹 서버에 대한 부하 유발을 목적으로 동일한 URI Content를 삽입하여 반복 전달하게 된다. 이와 같은 URI Content의 전달 형태에 대한 차이를 이용함으로써, 정상적인 사용자와 악의적인 사용자를 식별할 수 있다.
도 3은 상기한 바와 같은 차이점을 식별하고 악의적인 사용자로부터 서버를 보호하기 위한 장치가, 해당 서버 상에 위치하는 방식을 간략하게 나타낸다.
이는 반복적인 URI Content가 해당 서버의 커널로 전달되기 이전에 차단되어야 하며, 때문에 하드웨어 기반으로 구현되는 것이 바람직하다.
도 3에서 해당 보안 장치는 네트워크 카드 단에 위치하며, 정상적인 GET 요청의 경우에는 커널로 전달(Forward)하고 비정상적인 GET 요청이 반복될 시에는 하드웨어 단에서 차단(Drop)하는 것을 기본으로 동작하게 된다.
도 4는 도3과 같은 동작을 수행하기 위해서, 유입 페이로드 패킷에서 GET 요청 메시지를 식별하고, 해당 URI 컨텐츠를 추출하는 방식에 대한 예시를 간략하게 나타낸다.
도 4를 참조하면, 우선, 유입 패킷에서 페이로드가 존재하는 패킷 만을 대상으로, 페이로드 내에 "GET+Space" 및 "Space+HTTP/1."가 존재하는 패킷을 찾아내고, 둘 사이의 영역에 해당하는 부분을 추출하면 해당 GET 요청 메시지의 URI 컨텐츠를 추출할 수 있다. 또한, 해당 스트링 사이의 길이가 URI 컨텐츠의 크기가 된다.
다음으로, 도 5는 상기와 같은 방식으로 추출된 URI 컨텐츠를 기반으로 악의 적인 사용자의 웹 부하 공격인 DDoS를 탐지 및 차단하기 위한 기본 수행도를 나타낸다.
우선, 패킷 파서 모듈(10,Packet Parser module)은 유입 페이로드 패킷에서 클라이언트의 소스 IP(Source IP), URI 컨텐츠(URI Content), 해당 URI 컨텐츠의 크기(size)를 추출한다.
추출된 현재 소스 IP(Current Source IP:csip) 및 현재 URI 컨텐츠(Current URI Content)는 해쉬 생성 모듈(20,Hash Generator module)로 전달되며, 이 정보에 대한 해쉬 생성 모듈(20)의 수행 결과로 현재 소스 IP(csip)의 해쉬 값과 현재 URI 컨텐츠(Current URI Content)에 대한 해쉬 값(cuh)이 생성된다.
생성된 해쉬 값들과 기 추출된 현재 소스 IP(csip) 및 현재 URI 컨텐츠 크기(Current URI size:cus), 해당 정보가 추출된 시간 정보(Current Time stamp:cts)는 DDoS 탐지 및 보호 모듈(30,DDoS Detection & Protection module)로 전달된다.
DDoS 탐지 및 보호 모듈(30)은 전달받은 정보들을 바탕으로 클라이언트의 소스 IP(Source IP) 정보와 URI 컨텐츠를 기반으로 한 웹 서버 부하 공격 탐지 및 차단 기능을 수행한다.
수행 결과, 악의적인 사용자에 의한 GET 요청 메시지로 판단될 경우에는 패킷을 차단(Drop)하게 된다.
부가적으로, 시간 임계치(Time Threshold:TT) 정보가 사용되며, 이에 대한 세부적인 사용 방식은 이후에 기술될 세부 수행 흐름도에서 기술된다. 여기서 시간 임계치(TT)는 DDoS 보호 테이블(DDoS Protection Table) 내의 각 엔트리 지속 시간에 대한 임계치 정보이다.
도 6은 상기의 도 5에서 기술된 DDoS 탐지 및 보호 모듈(30)의 수행에 사용되는 DDoS 보호 테이블의 구성을 간략히 나타낸다.
기본적으로 DDoS 보호 테이블(DDoS Protection Table)의 구성은 클라이언트의 소스 IP로부터 생성된 해쉬 값(hash value)을 기본 인덱스(메모리 주소)로 사용하며, 해당 메모리 주소의 저장 공간은 다시 소스 IP 및 추출된 URI 컨텐츠와 관련된 정보를 기반으로 구분되는 여러 개의 엔트리(Entry)로 구성된다.
예를 들어, 도 6에서와 같이 유입 패킷의 소스 IP에 대해서 x비트의 해쉬 값 h가 생성되면, 이는 DDoS 보호 테이블 의 인덱스로 사용되며, 가리켜진 메모리 저장 공간에는 엔트리 1부터 n까지 n개의 엔트리가 존재하게 된다.
이와 같은 하나의 인덱스에 저장된 n개의 엔트리 그룹을 편의상 리스트(List)로 명명하기로 한다.
즉, DDoS 보호 테이블은 소스 IP가 x비트의 해쉬 값으로 변환된다고 가정할 때 2x개의 리스트를 가지게 되며, 각 리스트 별로 n개의 엔트리가 속하므로, 최대 엔트리의 수는 2x x n개까지 가능하다.
다음으로, 각 엔트리에 대한 필드 구성은 해쉬 값이 아닌 원래의 소스 IP(sip)와 추출된 URI 컨텐츠로부터 생성된 y비트의 해쉬 값(uh), 그리고 해당 URI 컨텐츠의 크기(us), 기타 해당 엔트리의 생성 시간(ts)과 해당 엔트리에 대한 유입 패킷의 처리 방식(a), 해당 엔트리의 사용여부(at)로 구성된다. 따라서, DDoS 보호 테이블은 1차적으로 소스 IP에 대한 해쉬 값으로 접근되며, 이는 다시 sip와 uh, 그리고 us 값들로 접근된다. 여기서, 소스 IP에 대한 해쉬 값을 인덱스로 사용하는 이유는 하드웨어 자원의 절약 및 빠른 검색을 수행하기 위함이고, 보다 많은 소스 IP별로 URI 컨텐츠를 관리하기 위함이며, 다시 악의적인 사용자를 정확히 식별, 차단하기 위해서 각 엔트리에 정확한 소스 IP 정보를 담게 된다.
마지막으로, 추출된 URI 컨텐츠에 대한 식별은 해당 URI 컨텐츠의 해쉬 값과 해당 URI 컨텐츠의 크기 값을 같이 사용함으로써, 해쉬 충돌로 인한 부정확한 식별을 최소화하게 된다.
도 7과 도 8은 상기의 도 5와 도 6의 기본 수행도와 DDoS 보호 테이블에 대한 세부 수행 흐름도를 나타낸다.
도 7 및 도 8을 참조하면, 우선, 페이로드를 갖는 패킷이 유입되면, HTTP GET 요청 메시지 여부를 판단한다(S100).
S100 단계에서의 판단 결과, HTTP GET 요청 메시지가 아니라면 해당 패킷은 어플리케이션으로 전달(Forward)된다(S120).
한편, S100 단계에서의 판단 결과, HTTP GET 요청 메시지라면, 해당 유입 패킷의 헤더에서 소스 IP(SIP)를 추출하고 이에 대한 해쉬 값을 생성한다(S105).
생성된 해쉬 값을 바탕으로 해당 메모리 주소의 리스트를 읽고(S110), 각 엔 트리 별로 동일한 처리를 도 8과 같이 수행한다(S115).
도 8을 참조하면, 해당 엔트리의 at 필드가 allocated 상태라면(S200), 해당 엔트리에 기 저장되어 저장되어 있는 소스 IP(sip)와 유입 패킷의 소스 IP(csip)를 비교한다(S205).
S205 단계에서의 비교 결과, 동일하지 않다면 기 저장되어 있는 엔트리 생성 시간(ts)과 현재 시간(cts)과의 차이를 지정된 시간 임계치(TT)와 비교한다(S210).
S210 단계에서의 비교 결과, 임계치를 초과한다면, 해당 엔트리의 at 필드를 free로 갱신한다(S215). 이는 동일 URI 컨텐츠의 반복성이 단기간에 수행되지 않음으로써 공격 행위로 간주할 수 없기 때문이며, 이를 위해 시간 임계치(TT)는 대략 1~2초 이내의 짧은 시간으로 설정한다.
S205 단계에서의 비교 결과, 소스 IP의 비교 결과가 같다면, 다음으로 URI 컨텐츠의 동일 여부를 검사한다. URI 컨텐츠의 비교는 URI 컨텐츠에 대한 해쉬 값과 URI 컨테츠의 크기(size)로 수행한다(S220, S225).
만약 둘 중에 하나라도 일치하지 않는다면, 해당 엔트리의 각 필드 값들을 현재 값으로 갱신하고(uh = cuh, us = cus, ts = cts, a = F)(S225), 해당 패킷은 어플리케이션으로 전달(Forward)된다(S230).
이와 달리 모두 일치한다면, 동일 URI 컨텐츠로 판단되어 해당 엔트리를 갱신(ts = cts, a = D)하고(S240), 해당 패킷은 차단(Drop)된다(S245).
도 8과 같은 각 엔트리 별 처리 결과를 바탕으로, 다시 도 7의 나머지 과정들이 수행된다.
우선, 처리 결과 해당 리스트에 속한 모든 엔트리의 at 필드 값이 free로 설정되어 있다면(S125), 해당 리스트의 첫 번째 엔트리가 유입 패킷의 정보들로 갱신되며 해당 패킷은 어플리케이션으로 전달(Forward)된다(S130,S135).
처리 결과, 해당 리스트에 속한 엔트리 중 하나라도 allocated 되어 있고 allocated된 엔트리 중 소스 IP 정보가 매칭된 경우가 있다면, 해당 리스트는 메모리 저장 장소에 저장된다(엔트리 별 처리에서 이미 해당 엔트리는 갱신된 상태임)(S140,S145).
그렇지 않다면(S150), 프리(free)로 설정되어 있는 첫 번째 엔트리가 유입 패킷의 정보들로 갱신되며(S155), 해당 패킷은 어플리케이션으로 전달(Forward)된다(S135).
만약, 모든 엔트리가 allocated 상태이고 a 필드 값이 모두 "D" 설정되어 있다면(S160), 해당 패킷은 아무런 수행 없이 어플리케이션으로 전달(Forward)된다(S165).
그렇지 않다면, a 필드 값이 "F"로 설정된 엔트리 중 가장 오래 전에 생성된 엔트리가 유입 패킷의 정보들로 갱신되며(S170), 해당 패킷은 어플리케이션으로 전달(Forward)된다(S175).
상기한 바와 같은 수행 흐름을 통해서, 악의적인 사용자의 웹 부하 공격을 원천적으로 차단할 수 있다.
도 9는 상기의 수행 흐름에 따라 DDoS 보호 테이블이 갱신되는 방식을 간략 한 예시로써 보여준다.
도 9를 참조하면, 우선, DDoS 보호 테이블의 메모리 저장 공간에 어떠한 정보도 저장되어 있지 않다고 가정한다. 여기에 소스 IP(SIP)가 A이고 URI 컨텐츠가 a인 1번 패킷이 유입되면, SIP A의 해쉬 값인 A'의 메모리 주소를 참조하게 된다. 그리고, 해당 메모리 저장 공간의 첫 번째 엔트리 공간에 SIP A와 URI 컨텐츠 a의 해쉬 값인 a' 및 기타 정보들이 저장되고 a 필드(Action)는 F(Forward)로 설정된다. 여기에 2번 패킷이 유입되면, 1번 패킷과 같은 방식으로 저장된다.
다음으로 3번 패킷이 들어오면, 1번 패킷과 SIP가 동일하나 URI 컨텐츠 정보가 다르기 때문에, 기존의 1번 패킷에 의해서 생성된 엔트리가 갱신된다.
즉, 동일 IP에서 다른 URI 컨텐츠가 도착하였기 때문에, 공격이 아니라고 판단한 것이다.
다음으로 4번 패킷의 경우는 SIP가 C이나 이에 대한 해쉬 값이 SIP A와 동일한 경우이다.
같은 리스트를 참조하나 SIP가 다르기 때문에 다음의 빈 엔트리에 해당 정보를 저장하게 된다. 5번 패킷은 다시 2번 패킷과 동일한 SIP와 URI 컨텐츠를 갖는 패킷이 유입되는 경우로써, 이때에는 a 필드가 D(Drop)로 갱신 설정되면서 패킷을 차단하게 된다.
즉, 동일 SIP에서 동일 URI 컨텐츠가 유입됨으로써, 악의적인 사용자의 GET 요청으로 판단하게 된다.
마지막으로, 6번 패킷은 4번 패킷과 마찬가지로 5번 패킷과 SIP는 다르나, 같은 메모리 주소를 참조하게 되는 경우이다. 차이점은 URI 컨텐츠가 같다는 것이나, 이 또한 SIP가 다르므로 다음의 빈 엔트리에 해당 정보를 저장하게 된다.
상기와 같은 수행을 통해서, 정상적인 사용자와 악의적인 사용자의 GET 요청 메시지를 구분하고 대응함으로써, DDoS 공격과 같은 웹 부하 공격으로부터 웹 서버를 보호하고 정상적인 사용자에게는 원활한 서비스를 제공하는 것이 가능하다.
이외에도, POST 메시지(POST [request uri] HTTP/1.)를 이용한 공격 및 CC 공격 등도 해당 요청 메시지를 식별하고 URI 컨텐츠를 추출함으로써, 동일한 방식으로 차단 가능하다.
또한, 웹 서버가 아닌 웹 방화벽과 같은 여러 서버를 보호하기 위해서는 SIP 부분을 SIP+DIP(Destination IP) 쌍으로 수행함으로써 확장 가능하다.
참고로, 상기의 기법은 SIP에 대한 11비트 해쉬 값 사용과 각 리스트 별 10개의 엔트리를 사용한다고 가정할 때, 20,480개의 엔트리를 관리할 수 있기 때문에, 적은 하드웨어 자원으로 많은 SIP 및 URI Content를 식별, 관리할 수 있다는 장점이 있다.
본 발명의 일부 단계들은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, CD-RW, 자기 테이프, 플로피디스크, HDD, 광 디스크, 광자기 저장장치 등이 있을 수 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.
이상에서와 같이 도면과 명세서에서 최적의 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로, 본 기술 분야의 통상의 지식을 가진자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
도 1은 웹 프로토콜인 HTTP GET 메소드를 이용한 일반적인 통신 절차에 대한 예시를 나타낸다.
도 2는 도 1과 같은 방식으로 전달되는 GET 메소드의 URI 컨텐츠에 대해서, 정상적인 GET 요청의 형태와 악의적인 공격자에 의한 GET 요청 형태의 차이를 나타내는 도면이다.
도 3은 악의적인 사용자로부터 서버를 보호하기 위한 장치가, 해당 서버 상에 위치하는 방식을 간략하게 나타내는 도면이다.
도 4는 도3과 같은 동작을 수행하기 위해서, 유입 페이로드 패킷에서 GET 요청 메시지를 식별하고, 해당 URI 컨텐츠를 추출하는 방식에 대한 예시를 간략하게 나타내는 도면이다.
도 5는 도4와 같은 방식으로 추출된 URI 컨텐츠를 기반으로 악의적인 사용자의 웹 부하 공격인 DDoS를 탐지 및 차단하기 위한 기본 수행도이다.
도 6은 도 5에서 기술된 DDoS 탐지 및 보호 모듈의 수행에 사용되는 DDoS 보호 테이블의 구성을 간략히 나타내는 도면이다.
도 7과 도 8은 도 5와 도 6의 기본 수행도와 DDoS 보호 테이블에 대한 세부 수행 흐름도이다.
도 9는 상기의 수행 흐름에 따라 DDoS 보호 테이블이 갱신되는 방식을 간략한 예시로써 보여주는 도면이다.

Claims (11)

  1. 유입 페이로드 패킷으로부터 클라이언트의 정보를 추출하는 패킷 파서 모듈;
    상기 패킷 파서 모듈로부터 추출정보를 전달받아 이 정보에 대하여 해쉬함수(Hash)를 적용하여 해쉬 값을 생성하는 해쉬 생성 모듈; 및
    상기 해쉬 생성 모듈에 의해 생성된 해쉬 값들과 기 추출된 정보를 전달받아 클라이언트의 정보를 기반으로 하는 웹 서버의 부하 공격을 탐지하고, 악의적인 사용자에 의한 메시지로 판단될 경우에는 패킷을 차단하는 DDoS 감지 및 보호모듈을 구비하고,
    상기 패킷 파서 모듈에 의해 추출되는 클라이언트 정보는, 소스 IP(Source IP), URI 컨텐츠(Content), 및 해당 URI 컨텐츠의 크기 중 하나 이상을 포함하는 것을 특징으로 하는, URI 컨텐츠 식별을 이용한 웹 부하 공격 차단 장치.
  2. 삭제
  3. 청구항 1에 있어서,
    상기 해쉬 생성 모듈에 생성되는 해쉬 값은, 현재 소스 IP(Source IP)의 해쉬 값과 현재 URI 컨텐츠에 대한 해쉬 값인 것을 특징으로 하는, URI 컨텐츠 식별 을 이용한 웹 부하 공격 차단 장치.
  4. 청구항 1에 있어서,
    상기 DDoS 감지 및 보호모듈에 전달되는 기 추출 정보는, 클라이언트의 현재 소스 IP, 현재 URI 컨텐츠 크기, 및 해당 정보가 추출된 시간 정보 중 하나 이상을 포함하는 것을 특징으로 하는, URI 컨텐츠 식별을 이용한 웹 부하 공격 차단 장치.
  5. 청구항 1에 있어서,
    상기 DDoS 감지 및 보호모듈은, DDoS 보호 테이블 내의 각 엔트리 지속 시간에 대한 임계치 정보인 타임 쓰레스홀드 값을 사용하는 것을 특징으로 하는, URI 컨텐츠 식별을 이용한 웹 부하 공격 차단 장치.
  6. 청구항 1에 있어서,
    상기 DDoS 보호 테이블은, 소스 IP가 x비트의 해쉬 값으로 변환되는 경우, 최대 2x×n개의 엔트리를 갖는 것을 특징으로 하는, URI 컨텐츠 식별을 이용한 웹 부하 공격 차단 장치.
  7. 청구항 1에 있어서,
    악의적 사용자에 의한 메시지 판단은, 동일 소스 IP에서 동일 URI 컨텐츠가 유입되는 지를 판단하는 것을 특징으로 하는, URI 컨텐츠 식별을 이용한 웹 부하 공격 차단 장치.
  8. 삭제
  9. 페이로드를 갖는 패킷이 유입되면, HTTP GET 요청 메시지인지 판단하는 단계;
    유입 패킷의 헤더에서 소스 IP를 추출하는 단계;
    상기 소스 IP에 대한 해쉬 값을 생성하는 단계;
    생성된 해쉬 값을 바탕으로 해당 메모리 주소의 리스트를 읽어 들이는 단계; 및
    각 엔트리 별로 소스 IP 및 URI 컨텐츠를 비교하여 악의적인 사용자에 의한 메시지 여부를 판단하는 단계를 포함하고,
    URI 컨텐츠의 비교는, URI 컨텐츠의 해쉬 값과 URI 컨텐츠의 사이즈를 비교하여 판단하는 것을 특징으로 하는, URI 컨텐츠 식별을 이용한 웹 부하 공격 차단 방법.
  10. 페이로드를 갖는 패킷이 유입되면, HTTP GET 요청 메시지인지 판단하는 단계;
    유입 패킷의 헤더에서 소스 IP를 추출하는 단계;
    상기 소스 IP에 대한 해쉬 값을 생성하는 단계;
    생성된 해쉬 값을 바탕으로 해당 메모리 주소의 리스트를 읽어 들이는 단계; 및
    각 엔트리 별로 소스 IP 및 URI 컨텐츠를 비교하여 악의적인 사용자에 의한 메시지 여부를 판단하는 단계를 포함하고,
    악의적 사용자에 의한 메시지 판단은, 동일 소스 IP에서 동일 URI 컨텐츠가 유입되는 지를 판단하는 것을 특징으로 하는, URI 컨텐츠 식별을 이용한 웹 부하 공격 차단 방법.
  11. 페이로드를 갖는 패킷이 유입되면, HTTP GET 요청 메시지인지 판단하는 단계;
    유입 패킷의 헤더에서 소스 IP를 추출하는 단계;
    상기 소스 IP에 대한 해쉬 값을 생성하는 단계;
    생성된 해쉬 값을 바탕으로 해당 메모리 주소의 리스트를 읽어 들이는 단계; 및
    각 엔트리 별로 소스 IP 및 URI 컨텐츠를 비교하여 악의적인 사용자에 의한 메시지 여부를 판단하는 단계를 포함하고,
    소스 IP와 목적지 IP를 쌍으로 수행하여 웹 방화벽을 보호하는 것을 특징으로 하는, URI 컨텐츠 식별을 이용한 웹 부하 공격 차단 방법.
KR1020090127050A 2009-12-18 2009-12-18 Uri컨텐츠 식별을 이용한 웹 부하 공격 차단 장치 및 공격 차단 방법 KR101262845B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090127050A KR101262845B1 (ko) 2009-12-18 2009-12-18 Uri컨텐츠 식별을 이용한 웹 부하 공격 차단 장치 및 공격 차단 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090127050A KR101262845B1 (ko) 2009-12-18 2009-12-18 Uri컨텐츠 식별을 이용한 웹 부하 공격 차단 장치 및 공격 차단 방법

Publications (2)

Publication Number Publication Date
KR20110070289A KR20110070289A (ko) 2011-06-24
KR101262845B1 true KR101262845B1 (ko) 2013-05-09

Family

ID=44401831

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090127050A KR101262845B1 (ko) 2009-12-18 2009-12-18 Uri컨텐츠 식별을 이용한 웹 부하 공격 차단 장치 및 공격 차단 방법

Country Status (1)

Country Link
KR (1) KR101262845B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101482231B1 (ko) * 2013-08-05 2015-01-15 한국과학기술원 Uri에 기초하여 패킷 전송을 제어하는 방법 및 부하 분산 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100918370B1 (ko) * 2008-05-23 2009-09-21 주식회사 나우콤 웹관리시스템 및 그 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100918370B1 (ko) * 2008-05-23 2009-09-21 주식회사 나우콤 웹관리시스템 및 그 방법

Also Published As

Publication number Publication date
KR20110070289A (ko) 2011-06-24

Similar Documents

Publication Publication Date Title
CN109951500B (zh) 网络攻击检测方法及装置
EP2095604B1 (en) Methods and apparatus for detecting unwanted traffic in one or more packet networks utilizing string analysis
US9654494B2 (en) Detecting and marking client devices
US7936682B2 (en) Detecting malicious attacks using network behavior and header analysis
US7827609B2 (en) Method for tracing-back IP on IPv6 network
CN108521408B (zh) 抵抗网络攻击方法、装置、计算机设备及存储介质
EP2863611B1 (en) Device for detecting cyber attack based on event analysis and method thereof
US7873998B1 (en) Rapidly propagating threat detection
Fedynyshyn et al. Detection and classification of different botnet C&C channels
US20130031630A1 (en) Method and Apparatus for Identifying Phishing Websites in Network Traffic Using Generated Regular Expressions
US20140047543A1 (en) Apparatus and method for detecting http botnet based on densities of web transactions
CN107979581B (zh) 僵尸特征的检测方法和装置
CN105915532A (zh) 一种失陷主机的识别方法及装置
US20230283631A1 (en) Detecting patterns in network traffic responses for mitigating ddos attacks
KR101045330B1 (ko) 네트워크 기반의 http 봇넷 탐지 방법
KR101487476B1 (ko) 악성도메인을 검출하기 위한 방법 및 장치
KR20200109875A (ko) 유해 ip 판단 방법
Vijayalakshmi et al. IP traceback system for network and application layer attacks
KR20110029340A (ko) 분산 서비스 거부 공격의 방어 시스템
CN112751861A (zh) 一种基于密网和网络大数据的恶意邮件检测方法及系统
KR101262845B1 (ko) Uri컨텐츠 식별을 이용한 웹 부하 공격 차단 장치 및 공격 차단 방법
CN115022034B (zh) 攻击报文识别方法、装置、设备和介质
CN109962838B (zh) 垃圾邮件处理方法、装置、系统和计算机可读存储介质
KR101535503B1 (ko) 상용 이메일 기반 악성코드 감염단말 탐지 방법
CN111371917B (zh) 一种域名检测方法及系统

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160427

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170427

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee