KR101585700B1 - 서비스 거부 공격 차단 방법 - Google Patents

서비스 거부 공격 차단 방법 Download PDF

Info

Publication number
KR101585700B1
KR101585700B1 KR1020100127821A KR20100127821A KR101585700B1 KR 101585700 B1 KR101585700 B1 KR 101585700B1 KR 1020100127821 A KR1020100127821 A KR 1020100127821A KR 20100127821 A KR20100127821 A KR 20100127821A KR 101585700 B1 KR101585700 B1 KR 101585700B1
Authority
KR
South Korea
Prior art keywords
packet
information
attack
field
message
Prior art date
Application number
KR1020100127821A
Other languages
English (en)
Other versions
KR20120066466A (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 KR1020100127821A priority Critical patent/KR101585700B1/ko
Priority to PCT/KR2011/009619 priority patent/WO2012081903A1/ko
Priority to US13/992,527 priority patent/US9183382B2/en
Publication of KR20120066466A publication Critical patent/KR20120066466A/ko
Application granted granted Critical
Publication of KR101585700B1 publication Critical patent/KR101585700B1/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/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures

Landscapes

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

Abstract

서버는 인터넷 제어 메시지 프로토콜을 따르는 제1 반향 요청 메시지를 수신하고, 수신된 제1 반향 요청 메시지의 헤더 정보에서 필터링 정보를 추출하며, 이후에 인터넷 제어 메시지 프로토콜을 따르는 제2 반향 요청 메시지가 수신되면, 수신된 제2 반향 요청 메시지의 헤더 정보와 추출된 필터링 정보를 비교하여 수신된 제2 반향 요청 메시지에 대한 공격 패킷 여부를 결정한다. 이를 통해 서버는 인터넷 제어 메시지 프로토콜을 이용한 공격 패킷을 차단함으로써, 서비스 거부 공격을 차단한다.

Description

서비스 거부 공격 차단 방법{METHOD FOR BLOCKING DENIAL-OF-SERVICE ATTACK}
본 발명은 서비스 거부 공격을 차단하는 방법에 관한 것이다. 보다 상세하게, 본 발명은 ICMP 플러딩에 의한 서비스 거부 공격을 차단하는 방법에 관한 것이다.
서비스 거부 공격(Denial-of-Service attack, 이하에서는 'DoS 공격'이라고도 함)은 웹 사이트(web site)나 도메인 네임 서버(Domain Name Server) 등을 대상으로 하여 네트워크나 서버의 이용도(availability)를 저하시킨다. 특히, 분산 서비스 거부 공격(Distributed Denial of Service attack, 이하에서는 'DDoS 공격'이라고도 함)은 악성코드에 감염된 다수의 좀비 컴퓨터(zombie computer)에서 동시에 DoS 공격을 수행하는 방식이다.
여기서, 인터넷 제어 메시지 프로토콜(Internet Control Message Protocol, 이하에서는 'ICMP'이라고도 함)은 호스트와 호스트, 또는 호스트와 라우터간의 에러 상태 또는 상태 변화를 알려주고 요청에 대해 응답하는 기능을 제공하는 프로토콜로써, 활성화된 서비스나 포트가 필요하지 않다는 특징을 가진다.
이때, DDoS 공격 중 ICMP 플러딩(ICMP Flooding)은 인터넷 제어 메시지 프로토콜(ICMP)의 특징을 악용하여 대량의 ICMP 패킷을 공격 대상에게 전달하는 방식으로 수행된다.
하지만, 종래의 공격 탐지 및 대응 기법들은 정상적인 사용자와 악의적인 사용자의 행위를 구별하는 것이 쉽지 않고, 트래픽 측정에 의한 일률적인 차단은 정상적인 사용자의 트래픽까지 차단하는 문제점이 있다. 따라서, 정상적인 사용자의 트래픽은 보호하면서 악의적인 사용자에 의한 공격 트래픽만을 선별하여 차단하는 기법이 필요한다.
본 발명은 상기한 바와 같은 문제점을 해결하기 위하여 제안된 것으로써, 공격 트래픽의 형태별 특성에 따른 서비스 거부 공격 특히, ICMP 플러딩 공격을 차단하는 방법을 제공하기 위한 것이다.
본 발명의 특징에 따른 서비스 거부 공격 차단 방법은 서버가 인터넷 제어 메시지 프로토콜을 이용한 공격 패킷을 차단하는 서비스 거부 공격 차단 방법으로써, 인터넷 제어 메시지 프로토콜을 따르는 제1 반향 요청 메시지를 수신하는 단계, 제1 반향 요청 메시지의 헤더 정보에서 필터링 정보를 추출하는 단계, 인터넷 제어 메시지 프로토콜을 따르는 제2 반향 요청 메시지를 수신하는 단계, 그리고 제2 반향 요청 메시지의 헤더 정보와 필터링 정보를 비교하여 제2 반향 요청 메시지에 대한 공격 패킷 여부를 결정하는 단계를 포함한다.
본 발명의 다른 특징에 따른 서비스 거부 공격 차단 방법은 서버가 인터넷 제어 메시지 프로토콜을 이용한 공격 패킷을 차단하는 서비스 거부 공격 차단 방법으로써, 수신된 복수 개의 패킷들 각각의 헤더 정보를 이용하여 복수 개의 패킷들 중에서 의심 패킷을 추출하는 단계, 의심 패킷의 헤더 정보에서 필터링 정보를 추출하는 단계, 인터넷 제어 메시지 프로토콜을 따르는 메시지를 수신하는 단계, 그리고 필터링 정보와 메시지의 헤더 정보를 비교하여 메시지에 대한 공격 패킷 여부를 결정하는 단계를 포함한다.
본 발명에 따르면 다음과 같은 효과를 기대할 수 있다. ICMP 플러딩의 공격 형태를 분류하고, 각 형태별 특성에 따른 공격 패킷의 탐지 및 차단 방법을 제공함으로써, 다양한 형태의 ICMP 플러딩에 대해 악의적인 사용자의 행위만을 차단하여 정상적인 사용자에게 원활한 네트워크 서비스를 제공할 수 있다.
도 1은 본 발명의 실시 예에 따른 클라이언트 서버 시스템의 구성을 도시한 도면이다.
도 2는 본 발명의 제1 실시 예에 따른 공격 패킷 전송 방법을 도시한 도면이다.
도 3은 본 발명의 실시 예에 따른 ICMP 패킷의 구조를 도시한 도면이다.
도 4는 본 발명의 실시 예에 따른 ICMP 패킷에 포함된 IP 헤더의 구조를 도시한 도면이다.
도 5는 본 발명의 실시 예에 따른 ICMP 패킷에 포함된 ICMP 헤더의 구조를 도시한 도면이다.
도 6은 본 발명의 실시 예에 따른 단편화된 ICMP 패킷의 구조를 도시한 도면이다.
도 7은 본 발명의 실시 예에 따른 ICMP 패킷 조각에 포함된 IP 헤더의 구조를 도시한 도면이다.
도 8은 본 발명의 실시 예에 따른 ICMP 패킷 조각에 포함된 ICMP 헤더의 구조를 도시한 도면이다.
도 9는 본 발명의 제1 실시 예에 따른 서버가 서비스 거부 공격을 차단하는 방법을 도시한 도면이다.
도 10은 본 발명의 제1 실시 예의 하나의 예에 따른 서버가 공격 패킷을 탐지하는 방법을 도시한 도면이다.
도 11은 본 발명의 제1 실시 예의 다른 예에 따른 서버가 공격 패킷을 탐지하는 방법을 도시한 도면이다.
도 12는 본 발명의 제2 실시 예에 따른 서버가 서비스 거부 공격을 차단하는 방법을 도시한 도면이다.
도 13은 본 발명의 제2 실시 예의 하나의 예에 따른 서버가 공격 패킷을 탐지하는 방법을 도시한 도면이다.
도 14는 본 발명의 제2 실시 예의 다른 예에 따른 서버가 공격 패킷을 탐지하는 방법을 도시한 도면이다.
도 15는 본 발명의 제3 실시 예에 따른 서버가 서비스 거부 공격을 차단하는 방법을 도시한 도면이다.
도 16은 본 발명의 제2 실시 예에 따른 공격 패킷 전송 방법을 도시한 도면이다.
도 17은 본 발명의 실시 예에 따른 ICMP 질의 메시지의 구조를 도시한 도면이다.
도 18은 본 발명의 실시 예에 따른 ICMP 질의 메시지에 포함된 IP 헤더의 구조를 도시한 도면이다.
도 19는 본 발명의 실시 예에 따른 ICMP 질의 메시지에 포함된 ICMP 헤더의 구조를 도시한 도면이다.
도 20은 본 발명의 제4 실시 예에 따른 서버가 서비스 거부 공격을 차단하는 방법을 도시한 도면이다.
도 21은 본 발명의 제4 실시 예의 하나의 예에 따른 서버가 공격 패킷을 탐지하는 방법을 도시한 도면이다.
도 22는 본 발명의 제4 실시 예의 다른 예에 따른 서버가 공격 패킷을 탐지하는 방법을 도시한 도면이다.
도 23은 본 발명의 제4 실시 예의 또 다른 예에 따른 서버가 공격 패킷을 탐지하는 방법을 도시한 도면이다.
본 발명을 첨부된 도면을 참고하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 고지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
이제 도면을 참고하여 본 발명의 실시 예에 따른 서비스 거부 공격 차단 방법에 대해 설명한다.
먼저, 도 1을 참고하여 본 발명의 실시 예에 따른 클라이언트 서버 시스템(client-server system)에 대해 설명한다.
도 1은 본 발명의 실시 예에 따른 클라이언트 서버 시스템의 구성을 도시한 도면이다.
도 1에 도시된 바와 같이, 클라이언트 서버 시스템은 복수 개의 클라이언트(100) 및 서버(200)를 포함한다.
클라이언트(100)는 서버(200)와 연결하여 주된 작업이나 정보를 서버(200)에게 요청하고 그 결과를 돌려받는다.
서버(200)는 클라이언트(100)가 요청한 작업이나 정보의 수행 결과를 돌려준다.
다음은, 도 2를 참고하여 본 발명의 제1 실시 예에 따른 클라이언트가 서버로 공격 패킷을 전송하여 서버에 대한 서비스 거부 공격을 수행하는 방법에 대해 설명한다.
도 2는 본 발명의 제1 실시 예에 따른 공격 패킷 전송 방법을 도시한 도면이다.
도 2에 도시된 바와 같이, 먼저, 클라이언트(100)는 서버(200)에 대한 서비스 거부 공격을 수행하기 위한 공격 패킷에 해당하는 인터넷 제어 메시지 프로토콜(Internet Control Message Protocol, 이하에서는 'ICMP'이라고도 함) 패킷을 생성한다(S110). 여기서, ICMP 패킷은 인터넷 프로토콜(Internet Protocol, 이하에서는 'IP'라고도 함) 헤더, ICMP 헤더 및 페이로드를 포함한다. 이때, 페이로드는 동일한 문자들로 구성될 수 있고, 임의의 문자들로 구성될 수도 있다.
다음, 클라이언트(100)는 생성된 ICMP 패킷의 길이에 따라 ICMP 패킷의 단편화(fragmentation) 여부를 판단한다(S120).
만약, ICMP 패킷을 단편화하는 경우, 클라이언트(100)는 ICMP 패킷의 페이로드를 분할하여 ICMP 패킷으로부터 단편화된 ICMP 패킷 즉, 복수 개의 ICMP 패킷 조각들을 생성한다(S130). 여기서, 복수 개의 ICMP 패킷 조각들 각각은 IP 헤더 및 페이로드를 포함하며, 복수 개의 ICMP 패킷 조각들 중 첫 번째 ICMP 패킷 조각은 ICMP 헤더를 더 포함한다.
이후, 클라이언트(100)는 생성된 복수 개의 ICMP 패킷 조각을 서버(200)로 전송한다(S140).
한편, ICMP 패킷을 단편화하지 아니하는 경우, 클라이언트(100)는 ICMP 패킷을 서버(200)로 전송한다(S150).
다음은, 도 3 내지 도 5를 참고하여 본 발명의 실시 예에 따른 ICMP 패킷에 대해 설명한다.
도 3은 본 발명의 실시 예에 따른 ICMP 패킷의 구조를 도시한 도면이다.
도 3에 도시된 바와 같이, ICMP 패킷(P100)은 IP 헤더(P110), ICMP 헤더(P130) 및 페이로드(P150)를 포함한다.
IP 헤더(P110)는 인터넷 프로토콜(IP)과 관련된 제어정보를 포함한다.
ICMP 헤더(P130)는 인터넷 제어 메시지 프로토콜(ICMP)과 관련된 제어정보를 포함한다.
페이로드(P150)는 데이터를 포함한다.
도 4는 본 발명의 실시 예에 따른 ICMP 패킷에 포함된 IP 헤더의 구조를 도시한 도면이다.
도 4에 도시된 바와 같이, IP 헤더(P110)는 IP 버전 필드(Version)(P110a), 헤더 길이 필드(Header Length)(P110b), 서비스 타입 필드(Type of Service)(P110c), 패킷 길이 필드(Total Length)(P110d), IP 식별 필드(IP Identification)(P110e), 플래그 필드(Flags)(P110f), 단편 오프셋 필드(Fragment Offset)(P110g), 패킷 유지 시간 필드(Time To Live)(P110h), 프로토콜 식별 필드(Protocol)(P110i), 헤더 체크섬(Header Checksum)(P110j), 출발지 주소 필드(Source Address)(P110k), 목적지 주소 필드(Destination Address)(P110m) 및 옵션 필드(Options)(P110n)를 포함한다.
IP 버전 필드(Version)(P110a)는 해당 패킷의 IP 버전 정보를 나타내는 필드 값(field value)을 포함한다.
헤더 길이 필드(Header Length)(P110b)는 IP 헤더(P110)의 길이 정보를 나타내는 필드 값을 포함한다.
서비스 타입 필드(Type of Service)(P110c)는 서비스 품질 정보를 나타내는 필드 값을 포함한다.
패킷 길이 필드(Total Length)(P110d)는 해당 패킷의 길이 정보를 나타내는 필드 값을 포함한다.
IP 식별 필드(IP Identification)(P110e)는 해당 패킷의 IP 식별 정보를 나타내는 필드 값을 포함한다.
플래그 필드(Flags)(P110f)는 해당 패킷의 단편화 특성을 나타내는 필드 값을 포함한다. 여기서, 플래그 필드(Flags)(P110f)는 해당 패킷이 마지막 패킷임을 나타내는 필드 값 즉, "0x2"를 포함할 수 있다.
단편 오프셋 필드(Fragment Offset)(P110g)는 해당 패킷의 단편화 위치를 나타내는 필드 값을 포함한다. 여기서, 단편 오프셋 필드(Fragment Offset)(P110g)는 해당 패킷이 첫 번째 패킷임을 나타내는 필드 값 즉, "0"을 포함할 수 있다.
패킷 유지 시간 필드(Time To Live)(P110h)는 해당 패킷의 폐기 여부를 결정하기 위한 패킷 유지 시간을 나타내는 필드 값을 포함한다.
프로토콜 식별 필드(Protocol)(P110i)는 해당 패킷의 프로토콜 정보를 나타내는 필드 값을 포함한다. 여기서, 프로토콜 식별 필드(Protocol)(P110i)는 인터넷 제어 메시지 프로토콜(ICMP)을 나타내는 필드 값 즉, "0x01"을 포함할 수 있다.
헤더 체크섬 필드(Header Checksum)(P110j)는 IP 헤더(P110)에 대한 오류를 검출하기 위한 체크섬을 나타내는 필드 값을 포함한다.
출발지 주소 필드(Source Address)(P110k)는 해당 패킷의 출발지의 IP 주소를 나타내는 필드 값을 포함한다.
목적지 주소 필드(Destination Address)(P110m)는 해당 패킷의 목적지 IP 주소를 나타내는 필드 값을 포함한다.
옵션 필드(Options)(P110n)는 IP 헤더(P110)의 선택 옵션을 나타내는 필드 값을 포함한다.
도 5는 본 발명의 실시 예에 따른 ICMP 패킷에 포함된 ICMP 헤더의 구조를 도시한 도면이다.
도 5에 도시된 바와 같이, ICMP 헤더(P130)는 타입 필드(Type)(P130a), 코드 필드(Code)(P130b), 체크섬 필드(Checksum)(P130c) 및 메시지 세부정보 필드(Message Specific Information)(P130d)를 포함한다.
타입 필드(Type)(P130a)는 해당 패킷의 메시지 유형을 나타내는 필드 값을 포함한다.
코드 필드(Code)(P130b)는 해당 패킷의 메시지 유형에 대한 세부정보를 나타내는 필드 값을 포함한다.
체크섬 필드(Checksum)(P130c)는 ICMP 헤더(P130)에 대한 오류를 검출하기 위한 체크섬을 나타내는 필드 값을 포함한다.
메시지 세부정보 필드(Message Specific Information)(P130d)는 해당 패킷에 대한 세부정보를 나타내는 필드 값을 포함한다.
다음은, 도 6 내지 도 8을 참고하여 본 발명의 실시 예에 따른 단편화된 ICMP 패킷에 대해 설명한다.
도 6은 본 발명의 실시 예에 따른 단편화된 ICMP 패킷의 구조를 도시한 도면이다.
도 6에 도시된 바와 같이, 단편화된 ICMP 패킷(P200)은 복수 개의 ICMP 패킷 조각들을 포함한다. 여기서, 단편화된 ICMP 패킷(P200)은 제1 ICMP 패킷 조각(P210), 제2 ICMP 패킷 조각(P220) 및 제3 ICMP 패킷 조각(P230)을 포함한다.
제1 ICMP 패킷 조각(P210)은 단편화된 ICMP 패킷(P200)의 첫 번째 패킷 조각으로써, IP 헤더(P211), ICMP 헤더(P213) 및 페이로드(P215)를 포함한다.
제2 ICMP 패킷 조각(P220)은 단편화된 ICMP 패킷(P200)의 두 번째 패킷 조각으로써, IP 헤더(P221) 및 페이로드(P225)를 포함한다.
제3 ICMP 패킷 조각(P230)은 단편화된 ICMP 패킷(P200)의 마지막 패킷 조각으로써, IP 헤더(P231) 및 페이로드(P235)를 포함한다.
도 7은 본 발명의 실시 예에 따른 ICMP 패킷 조각에 포함된 IP 헤더의 구조를 도시한 도면이다.
이때, 단편화된 ICMP 패킷(P200)에 포함된 복수 개의 ICMP 패킷 조각들 각각에 포함된 IP 헤더는 동일한 구조를 가지므로, 도 7에서는 복수 개의 ICMP 패킷 조각들 중 제1 ICMP 패킷 조각(P210)의 IP 헤더(P211)에 대해서만 설명한다.
도 7에 도시된 바와 같이, 제1 ICMP 패킷 조각(P210)의 IP 헤더(P211)는 IP 버전 필드(Version)(P211a), 헤더 길이 필드(Header Length)(P211b), 서비스 타입 필드(Type of Service)(P211c), 패킷 길이 필드(Total Length)(P211d), IP 식별 필드(IP Identification)(P211e), 플래그 필드(Flags)(P211f), 단편 오프셋 필드(Fragment Offset)(P211g), 패킷 유지 시간 필드(Time To Live)(P211h), 프로토콜 식별 필드(Protocol)(P211i), 헤더 체크섬(Header Checksum)(P211j), 출발지 주소 필드(Source Address)(P211k), 목적지 주소 필드(Destination Address)(P211m) 및 옵션 필드(Options)(P211n)를 포함한다.
IP 버전 필드(Version)(P211a)는 해당 패킷의 IP 버전 정보를 나타내는 필드 값(field value)을 포함한다.
헤더 길이 필드(Header Length)(P211b)는 IP 헤더(P211)의 길이 정보를 나타내는 필드 값을 포함한다.
서비스 타입 필드(Type of Service)(P211c)는 서비스 품질 정보를 나타내는 필드 값을 포함한다.
패킷 길이 필드(Total Length)(P211d)는 해당 패킷의 길이 정보를 나타내는 필드 값을 포함한다.
IP 식별 필드(IP Identification)(P211e)는 해당 패킷의 IP 식별 정보를 나타내는 필드 값을 포함한다.
플래그 필드(Flags)(P211f)는 해당 패킷의 단편화 특성 정보를 나타내는 필드 값을 포함한다. 여기서, IP 헤더(P211) 및 IP 헤더(P221)에 포함된 플래그 필드(Flags)(P211f)는 해당 패킷 조각이 마지막 패킷 조각이 아님을 나타내는 필드 값 즉, "0x1"를 포함할 수 있다. 또한, IP 헤더(P231)에 포함된 플래그 필드(Flags)(P211f)는 해당 패킷 조각이 마지막 패킷임을 나타내는 필드 값 즉, "0x2"를 포함할 수 있다.
단편 오프셋 필드(Fragment Offset)(P211g)는 해당 패킷의 단편화 위치 정보 나타내는 필드 값을 포함한다. 여기서, 단편 오프셋 필드(Fragment Offset)(P211g)는 해당 패킷 조각이 첫 번째 패킷 조각임을 나타내는 필드 값 즉, "0"을 포함할 수 있다.
패킷 유지 시간 필드(Time To Live)(P211h)는 해당 패킷의 폐기 여부를 결정하기 위한 패킷 유지 시간을 나타내는 필드 값을 포함한다.
프로토콜 식별 필드(Protocol)(P211i)는 해당 패킷의 프로토콜 정보를 나타내는 필드 값을 포함한다. 여기서, 프로토콜 식별 필드(Protocol)(P211i)는 인터넷 제어 메시지 프로토콜(ICMP)을 나타내는 필드 값 즉, "0x01"을 포함할 수 있다.
헤더 체크섬 필드(Header Checksum)(P211j)는 IP 헤더(P211)에 대한 오류를 검출하기 위한 체크섬을 나타내는 필드 값을 포함한다.
출발지 주소 필드(Source Address)(P211k)는 해당 패킷의 출발지의 IP 주소를 나타내는 필드 값을 포함한다.
목적지 주소 필드(Destination Address)(P211m)는 해당 패킷의 목적지 IP 주소를 나타내는 필드 값을 포함한다.
옵션 필드(Options)(P211n)는 IP 헤더(P211)의 선택 옵션을 나타내는 필드 값을 포함한다.
도 8은 본 발명의 실시 예에 따른 ICMP 패킷 조각에 포함된 ICMP 헤더의 구조를 도시한 도면이다.
도 8에 도시된 바와 같이, 제1 ICMP 패킷 조각(P210)의 ICMP 헤더(P213)는 타입 필드(Type)(P213a), 코드 필드(Code)(P213b), 체크섬 필드(Checksum)(P213c) 및 메시지 세부정보 필드(Message Specific Information)(P213d)를 포함한다.
타입 필드(Type)(P213a)는 해당 패킷 조각의 메시지 유형을 나타내는 필드 값을 포함한다.
코드 필드(Code)(P213b)는 해당 패킷 조각의 메시지 유형에 대한 세부정보를 나타내는 필드 값을 포함한다.
체크섬 필드(Checksum)(P213c)는 ICMP 헤더(P213)에 대한 오류를 검출하기 위한 체크섬을 나타내는 필드 값을 포함한다.
메시지 세부정보 필드(Message Specific Information)(P213d)는 해당 패킷 조각에 대한 세부정보를 나타내는 필드 값을 포함한다.
다음은, 도 9 내지 도 11을 참고하여 본 발명의 제1 실시 예에 따른 서버가 공격 패킷을 탐지 및 차단하여 서비스 거부 공격을 차단하는 방법에 대해 설명한다.
도 9는 본 발명의 제1 실시 예에 따른 서버가 서비스 거부 공격을 차단하는 방법을 도시한 도면이다.
도 9에 도시된 바와 같이, 먼저, 서버(200)는 수신된 복수 개의 패킷들 각각의 헤더 정보 및 페이로드를 이용하여 수신된 복수 개의 패킷들 중 공격 패킷을 탐지한다(S210). 여기서, 수신된 복수 개의 패킷들은 복수 개의 ICMP 패킷을 포함한다.
다음, 서버(200)는 탐지된 공격 패킷을 차단한다(S220).
도 10은 본 발명의 제1 실시 예의 하나의 예에 따른 서버가 공격 패킷을 탐지하는 방법을 도시한 도면이다.
도 10에 도시된 바와 같이, 먼저, 서버(200)는 수신된 복수 개의 패킷들 각각의 헤더 정보 즉, 프로토콜 정보, 단편화 특성 정보 및 단편화 위치 정보를 이용하여 수신된 복수 개의 패킷들 중 공격 패킷으로 의심되는 의심 패킷을 탐지한다(S311). 여기서, 서버(200)는 IP 헤더에 포함된 프로토콜 식별 필드, 플래그 필드 및 단편 오프셋 필드 각각의 필드 값을 이용하여 헤더 정보를 추출할 수 있다. 이때, 서버(200)는 프로토콜 식별 필드의 필드 값이 "0x01"이고, 플래그 필드의 필드 값이 "0x2"이며, 단편 오프셋 필드의 필드 값이 "0"인 패킷을 의심 패킷으로 결정할 수 있다.
다음, 서버(200)는 탐지된 의심 패킷에 포함된 페이로드를 이용하여 의심 패킷에 대한 공격 패킷 여부를 판단한다(S312).
만약, 의심 패킷에 포함된 페이로드가 동일한 문자들로 구성된 경우, 서버(200)는 의심 패킷을 공격 패킷으로 결정한다(S313).
이와 같이, 도 10에 따르면, 단편화되지 않은 ICMP 패킷의 페이로드가 동일한 문자들로 구성되는 공격 트래픽을 탐지할 수 있다.
도 11은 본 발명의 제1 실시 예의 다른 예에 따른 서버가 공격 패킷을 탐지하는 방법을 도시한 도면이다.
도 11에 도시된 바와 같이, 먼저, 서버(200)는 수신된 복수 개의 패킷들 각각의 헤더 정보 즉, 프로토콜 정보, 단편화 특성 정보 및 단편화 위치 정보를 이용하여 수신된 복수 개의 패킷들 중 공격 패킷으로 의심되는 의심 패킷을 탐지한다(S331). 여기서, 서버(200)는 IP 헤더에 포함된 프로토콜 식별 필드, 플래그 필드 및 단편 오프셋 필드 각각의 필드 값을 이용하여 헤더 정보를 추출할 수 있다. 이때, 서버(200)는 프로토콜 식별 필드의 필드 값이 "0x01"이고, 플래그 필드의 필드 값이 "0x2"이며, 단편 오프셋 필드의 필드 값이 "0"인 패킷을 의심 패킷으로 결정할 수 있다.
다음, 서버(200)는 탐지된 의심 패킷에 포함된 페이로드를 이용하여 의심 패킷에 대한 페이로드 정보(이하에서는 '제1 페이로드 정보'라고도 함)를 추출한다(S332). 여기서, 제1 페이로드 정보는 의심 패킷에 포함된 페이로드에 대한 페이로드의 길이 정보 및 페이로드의 해시 값을 포함한다. 이때, 서버(200)는 페이로드를 해시 함수에 적용하여 페이로드의 해시 값을 생성할 수 있다.
이후, 서버(200)는 추출된 제1 페이로드 정보를 페이로드 매칭 테이블에 저장하여 페이로드 매칭 테이블을 구성한다(S333).
다음, 서버(200)는 이후에 수신된 임의의 패킷에 대한 페이로드 정보(이하에서는 '제2 페이로드 정보'라고도 함)를 추출한다(S334).
이후, 서버(200)는 페이로드 매칭 테이블에 저장된 제1 페이로드 정보와 제2 페이로드 정보를 비교하여 임의의 패킷에 대한 공격 패킷 여부를 판단한다(S335).
만약, 제1 페이로드 정보와 제2 페이로드 정보가 동일한 경우, 서버(200)는 임의의 패킷을 공격 패킷으로 결정한다(S336).
이와 같이, 도 11에 따르면, 동일한 페이로드 문자열을 갖는 ICMP 패킷이 반복되는 공격 트래픽을 탐지할 수 있다.
다음은, 도 12 내지 도 14를 참고하여 본 발명의 제2 실시 예에 따른 서버가 공격 패킷을 탐지 및 차단하여 서비스 거부 공격을 차단하는 방법에 대해 설명한다.
도 12는 본 발명의 제2 실시 예에 따른 서버가 서비스 거부 공격을 차단하는 방법을 도시한 도면이다.
도 12에 도시된 바와 같이, 먼저, 서버(200)는 수신된 복수 개의 패킷들 각각에 대한 헤더 정보 및 페이로드를 이용하여 수신된 복수 개의 패킷들 중 공격 패킷을 탐지한다(S410). 여기서, 수신된 복수 개의 패킷들은 복수 개의 ICMP 패킷 조각을 포함한다.
다음, 서버(200)는 탐지된 공격 패킷을 차단한다(S420).
이후, 서버(200)는 차단된 공격 패킷의 IP 식별 정보를 필터링 테이블에 저장하여 필터링 테이블을 구성한다(S430). 여기서, 서버(200)는 공격 패킷의 IP 헤더에 포함된 IP 식별 필드의 필드 값을 이용하여 IP 식별 정보를 추출할 수 있다.
다음, 서버(200)는 필터링 테이블을 이용하여 패킷 필터링을 수행한다(S440). 여기서, 서버(200)는 필터링 테이블에 저장된 IP 식별 정보와 동일한 IP 식별 정보를 포함하는 패킷을 차단할 수 있다.
도 13은 본 발명의 제2 실시 예의 하나의 예에 따른 서버가 공격 패킷을 탐지하는 방법을 도시한 도면이다.
도 13에 도시된 바와 같이, 먼저, 서버(200)는 수신된 복수 개의 패킷들 각각의 헤더 정보 즉, 프로토콜 정보 및 단편화 특성 정보를 이용하여 수신된 복수 개의 패킷들 중 의심 패킷을 탐지한다(S511). 여기서, 서버(200)는 IP 헤더에 포함된 프로토콜 식별 필드 및 플래그 필드 각각의 필드 값을 이용하여 헤더 정보를 추출할 수 있다. 이때, 서버(200)는 프로토콜 식별 필드의 필드 값이 "0x01"이고, 플래그 필드의 필드 값이 "0x1"인 패킷을 의심 패킷으로 결정할 수 있다.
다음, 서버(200)는 탐지된 의심 패킷에 포함된 페이로드를 이용하여 의심 패킷에 대한 공격 패킷 여부를 판단한다(S512).
만약, 의심 패킷에 포함된 페이로드가 동일한 문자들로 구성된 경우, 서버(200)는 의심 패킷을 공격 패킷으로 결정한다(S513).
이와 같이, 도 13에 따르면, 단편화된 ICMP 패킷 조각들의 페이로드가 동일한 문자들로 구성되는 공격 트래픽을 탐지할 수 있다.
도 14는 본 발명의 제2 실시 예의 다른 예에 따른 서버가 공격 패킷을 탐지하는 방법을 도시한 도면이다.
도 14에 도시된 바와 같이, 먼저, 서버(200)는 수신된 복수 개의 패킷들 각각의 헤더 정보 즉, 프로토콜 정보, 단편화 특성 정보 및 단편화 위치 정보를 이용하여 수신된 복수 개의 패킷들 중 공격 패킷으로 의심되는 의심 패킷을 탐지한다(S531). 여기서, 서버(200)는 IP 헤더에 포함된 프로토콜 식별 필드, 플래그 필드 및 단편 오프셋 필드 각각의 필드 값을 이용하여 헤더 정보를 추출할 수 있다. 이때, 서버(200)는 프로토콜 식별 필드의 필드 값이 "0x01"이고, 플래그 필드의 필드 값이 "0x1"이며, 단편 오프셋 필드의 필드 값이 "0"인 패킷을 의심 패킷으로 결정할 수 있다.
다음, 서버(200)는 탐지된 의심 패킷에 포함된 페이로드를 이용하여 의심 패킷에 대한 페이로드 정보(이하에서는 '제1 페이로드 정보'라고도 함)를 추출한다(S532). 여기서, 제1 페이로드 정보는 의심 패킷에 포함된 페이로드에 대한 페이로드의 길이 정보 및 페이로드의 해시 값을 포함한다. 이때, 서버(200)는 페이로드를 해시 함수에 적용하여 페이로드의 해시 값을 생성할 수 있다.
이후, 서버(200)는 추출된 제1 페이로드 정보를 페이로드 매칭 테이블에 저장하여 페이로드 매칭 테이블을 구성한다(S533).
다음, 서버(200)는 이후에 수신된 임의의 패킷에 대한 페이로드 정보(이하에서는 '제2 페이로드 정보'라고도 함)를 추출한다(S534).
이후, 서버(200)는 페이로드 매칭 테이블에 저장된 제1 페이로드 정보와 제2 페이로드 정보를 비교하여 임의의 패킷에 대한 공격 패킷 여부를 판단한다(S535).
만약, 제1 페이로드 정보와 제2 페이로드 정보가 동일한 경우, 서버(200)는 임의의 패킷을 공격 패킷으로 결정한다(S536).
이와 같이, 도 14에 따르면, 동일한 페이로드 문자열을 갖는 ICMP 패킷이 단편화되어 반복되는 공격 트래픽을 탐지할 수 있다.
다음은, 도 15를 참고하여 본 발명의 제3 실시 예에 따른 서버가 공격 패킷을 탐지 및 차단하여 서비스 거부 공격을 차단하는 방법에 대해 설명한다.
도 15는 본 발명의 제3 실시 예에 따른 서버가 서비스 거부 공격을 차단하는 방법을 도시한 도면이다.
도 15에 도시된 바와 같이, 먼저, 서버(200)는 수신된 복수 개의 패킷들 각각의 헤더 정보 즉, 프로토콜 정보 및 단편화 특성 정보를 이용하여 수신된 복수 개의 패킷들 중 의심 패킷을 탐지한다(S610). 여기서, 서버(200)는 IP 헤더에 포함된 프로토콜 식별 필드 및 플래그 필드 각각의 필드 값을 이용하여 헤더 정보를 추출할 수 있다. 이때, 서버(200)는 프로토콜 식별 필드의 필드 값이 "0x01"이고, 플래그 필드의 필드 값이 "0x1"인 패킷을 의심 패킷으로 결정할 수 있다.
다음, 서버(200)는 일정 시간 동안에 수신되는 의심 패킷의 수신량을 측정한다(S620). 이때, 서버(200)는 의심 패킷의 수신 빈도를 측정할 수 있다.
이후, 서버(200)는 의심 패킷의 수신량과 미리 정해진 임계치를 비교하여 의심 패킷의 수신량이 임계치를 초과하는지를 판단한다(S630).
만약, 의심 패킷의 수신량이 임계치를 초과하는 경우, 서버(200)는 이후에 수신되는 의심 패킷을 차단한다(S640).
이와 같이, 도 15에 따르면, ICMP 패킷의 페이로드에 특정 규칙이 존재하지 않으면서 단편화된 공격 트래픽을 탐지 및 차단할 수 있다.
다음은, 도 16을 참고하여 본 발명의 제2 실시 예에 따른 클라이언트가 서버로 공격 패킷을 전송하여 서버에 대한 서비스 거부 공격을 수행하는 방법에 대해 설명한다.
도 16은 본 발명의 제2 실시 예에 따른 공격 패킷 전송 방법을 도시한 도면이다.
도 16에 도시된 바와 같이, 먼저, 클라이언트(100)는 서버(200)에 대한 서비스 거부 공격을 수행하기 위한 공격 패킷에 해당하는 ICMP 질의 메시지를 생성한다(S710). 여기서, ICMP 질의 메시지는 IP 헤더, ICMP 헤더 및 페이로드를 포함한다.
다음, 클라이언트(100)는 생성된 ICMP 질의 메시지를 서버(200)로 전송한다(S720).
다음은, 도 17 내지 도 19를 참고하여 본 발명의 실시 예에 따른 ICMP 질의 메시지에 대해 설명한다.
도 17은 본 발명의 실시 예에 따른 ICMP 질의 메시지의 구조를 도시한 도면이다.
도 17에 도시된 바와 같이, ICMP 질의 메시지(P300)는 IP 헤더(P310), ICMP 헤더(P330) 및 페이로드(P350)를 포함한다.
IP 헤더(P310)는 인터넷 프로토콜(IP)과 관련된 제어정보를 포함한다.
ICMP 헤더(P330)는 인터넷 제어 메시지 프로토콜(ICMP)과 관련된 제어정보를 포함한다.
페이로드(P350)는 데이터를 포함한다.
도 18은 본 발명의 실시 예에 따른 ICMP 질의 메시지에 포함된 IP 헤더의 구조를 도시한 도면이다.
도 18에 도시된 바와 같이, IP 헤더(P310)는 IP 버전 필드(Version)(P310a), 헤더 길이 필드(Header Length)(P310b), 서비스 타입 필드(Type of Service)(P310c), 패킷 길이 필드(Total Length)(P310d), IP 식별 필드(IP Identification)(P310e), 플래그 필드(Flags)(P310f), 단편 오프셋 필드(Fragment Offset)(P310g), 패킷 유지 시간 필드(Time To Live)(P310h), 프로토콜 식별 필드(Protocol)(P310i), 헤더 체크섬(Header Checksum)(P310j), 출발지 주소 필드(Source Address)(P310k), 목적지 주소 필드(Destination Address)(P310m) 및 옵션 필드(Options)(P310n)를 포함한다.
IP 버전 필드(Version)(P310a)는 해당 패킷의 IP 버전 정보를 나타내는 필드 값(field value)을 포함한다.
헤더 길이 필드(Header Length)(P310b)는 IP 헤더(P310)의 길이 정보를 나타내는 필드 값을 포함한다.
서비스 타입 필드(Type of Service)(P310c)는 서비스 품질 정보를 나타내는 필드 값을 포함한다.
패킷 길이 필드(Total Length)(P310d)는 해당 패킷의 길이 정보를 나타내는 필드 값을 포함한다.
IP 식별 필드(IP Identification)(P310e)는 해당 패킷의 IP 식별 정보를 나타내는 필드 값을 포함한다.
플래그 필드(Flags)(P310f)는 해당 패킷의 단편화 특성을 나타내는 필드 값을 포함한다.
단편 오프셋 필드(Fragment Offset)(P310g)는 해당 패킷의 단편화 위치를 나타내는 필드 값을 포함한다.
패킷 유지 시간 필드(Time To Live)(P310h)는 해당 패킷의 폐기 여부를 결정하기 위한 패킷 유지 시간을 나타내는 필드 값을 포함한다.
프로토콜 식별 필드(Protocol)(P310i)는 해당 패킷의 프로토콜 정보를 나타내는 필드 값을 포함한다. 여기서, 프로토콜 식별 필드(Protocol)(P310i)는 인터넷 제어 메시지 프로토콜(ICMP)을 나타내는 필드 값 즉, "0x01"을 포함할 수 있다.
헤더 체크섬 필드(Header Checksum)(P310j)는 IP 헤더(P310)에 대한 오류를 검출하기 위한 체크섬을 나타내는 필드 값을 포함한다.
출발지 주소 필드(Source Address)(P310k)는 해당 패킷의 출발지 IP 주소를 나타내는 필드 값을 포함한다.
목적지 주소 필드(Destination Address)(P310m)는 해당 패킷의 목적지 IP 주소를 나타내는 필드 값을 포함한다.
옵션 필드(Options)(P310n)는 IP 헤더(P310)의 선택 옵션을 나타내는 필드 값을 포함한다.
도 19는 본 발명의 실시 예에 따른 ICMP 질의 메시지에 포함된 ICMP 헤더의 구조를 도시한 도면이다.
도 19에 도시된 바와 같이, ICMP 헤더(P330)는 타입 필드(Type)(P330a), 코드 필드(Code)(P330b), 체크섬 필드(Checksum)(P330c), 식별자 필드(Identifier)(P330d) 및 시퀀스 번호 필드(Sequence Number)(P330e)를 포함한다.
타입 필드(Type)(P330a)는 메시지 유형 정보를 나타내는 필드 값을 포함한다. 이때, 타입 필드(Type)(P330a)는 해당 패킷의 메시지 유형이 반향 요청(echo request)임을 나타내는 필드 값 즉, "0x8"을 포함할 수 있다. 또한, 타입 필드(Type)(P330a)는 해당 패킷의 메시지 유형이 반향 응답(echo reply)임을 나타내는 필드 값 즉, "0x0"을 포함할 수 있다.
코드 필드(Code)(P330b)는 메시지 유형에 따른 메시지 유형 하위 정보를 나타내는 필드 값을 포함한다. 여기서, 해당 패킷의 메시지 유형이 반향 요청 또는 반향 응답인 경우, 코드 필드(Code)(P330b)는 "0x0"의 필드 값을 포함할 수 있다.
체크섬 필드(Checksum)(P330c)는 ICMP 헤더(P330)에 대한 오류를 검출하기 위한 체크섬을 나타내는 필드 값을 포함한다.
식별자 필드(Identifier)(P330d)는 ICMP 질의 메시지에 대한 메시지 식별 정보를 나타내는 필드 값을 포함한다. 이때, ICMP 질의 메시지는 메시지 유형 정보에 따라 반향 요청 메시지 및 반향 응답 메시지로 구분되며, 반향 요청 메시지와 반향 응답 메시지는 식별자 필드(Identifier)(P330d)의 필드 값이 동일하다.
시퀀스 번호 필드(Sequence Number)(P330e)는 ICMP 질의 메시지의 시퀀스 정보를 나타내는 필드 값을 포함한다.
다음은, 도 20 내지 도 23을 참고하여 본 발명의 제4 실시 예에 따른 서버가 공격 패킷을 탐지 및 차단하여 서비스 거부 공격을 차단하는 방법에 대해 설명한다.
도 20은 본 발명의 제4 실시 예에 따른 서버가 서비스 거부 공격을 차단하는 방법을 도시한 도면이다.
도 20에 도시된 바와 같이, 먼저, 서버(200)는 수신된 복수 개의 패킷들 각각의 헤더 정보를 이용하여 수신된 복수 개의 패킷들 중 공격 패킷을 탐지한다(S810). 여기서, 수신된 복수 개의 패킷들은 복수 개의 ICMP 질의 메시지를 포함한다.
다음, 서버(200)는 탐지된 공격 패킷을 차단한다(S820).
도 21은 본 발명의 제4 실시 예의 하나의 예에 따른 서버가 공격 패킷을 탐지하는 방법을 도시한 도면이다.
도 21에 도시된 바와 같이, 먼저, 서버(200)는 수신된 복수 개의 패킷들 각각의 헤더 정보 즉, 프로토콜 정보, 메시지 유형 정보 및 메시지 유형 하위 정보를 이용하여 수신된 복수 개의 패킷들 중 의심 패킷을 탐지한다(S911). 여기서, 서버(200)는 IP 헤더에 포함된 프로토콜 식별 필드, ICMP 헤더에 포함된 타입 필드 및 코드 필드 각각의 필드 값을 이용하여 헤더 정보를 추출할 수 있다. 이때, 서버(200)는 프로토콜 식별 필드의 필드 값이 "0x01"이고, 타입 필드의 필드 값이 "0x8"이며, 코드 필드의 필드 값이 "0x0"인 패킷을 의심 패킷으로 결정할 수 있다.
다음, 서버(200)는 탐지된 의심 패킷에 대한 주소 정보(이하에서는 '제1 주소 정보'라고도 함)를 추출한다(S912). 여기서, 추출된 주소 정보는 의심 패킷의 출발지 IP 주소 및 목적지 IP 주소를 포함한다.
이후, 서버(200)는 제1 주소 정보를 필터링 테이블에 저장하여 필터링 테이블을 구성한다(S913).
다음, 서버(200)는 이후에 수신된 임의의 ICMP 질의 메시지에 대한 주소 정보(이하에서는 '제2 주소 정보'라고도 함)를 추출한다(S914). 여기서, 임의의 ICMP 질의 메시지는 프로토콜 식별 필드의 필드 값이 "0x01"이고, 타입 필드의 필드 값이 "0x8"이며, 코드 필드의 필드 값이 "0x0"인 반향 요청 메시지이다.
이후, 서버(200)는 필터링 테이블에 저장된 제1 주소 정보와 제2 주소 정보를 비교하여 수신된 ICMP 질의 메시지에 대한 공격 패킷 여부를 판단한다(S915).
만약, 제2 주소 정보와 미전송된 반향 응답 메시지에 포함된 제1 주소 정보가 동일한 경우, 서버(200)는 임의의 ICMP 질의 메시지를 공격 패킷으로 결정한다(S916).
이와 같이, 도 21에 따르면, ICMP 반향 요청 플러딩 또는 핑(Ping) 플러딩 공격을 시도하는 공격 트래픽을 탐지할 수 있다.
도 22는 본 발명의 제4 실시 예의 다른 예에 따른 서버가 공격 패킷을 탐지하는 방법을 도시한 도면이다.
도 22에 도시된 바와 같이, 먼저, 서버(200)는 ICMP 질의 메시지를 수신한다(S931). 여기서, ICMP 질의 메시지는 프로토콜 식별 필드의 필드 값이 "0x01"이고, 타입 필드의 필드 값이 "0x8"이며, 코드 필드의 필드 값이 "0x0"인 반향 요청 메시지이다.
다음, 서버(200)는 수신된 ICMP 질의 메시지의 헤더 정보를 추출한다(S932). 여기서, 추출된 헤더 정보는 ICMP 질의 메시지의 목적지 IP 주소, 메시지 식별 정보 및 시퀀스 정보를 포함한다. 이때, 서버(200)는 IP 헤더에 포함된 목적지 주소 필드, ICMP 헤더에 포함된 식별자 필드 및 시퀀스 번호 필드 각각의 필드 값을 이용하여 헤더 정보를 추출할 수 있다.
이후, 서버(200)는 수신된 복수 개의 패킷들 중 추출된 헤더 정보에 대응되는 의심 패킷을 탐지한다(S933). 여기서, 탐지된 의심 패킷의 헤더 정보는 ICMP 질의 메시지의 헤더 정보와 동일하다.
다음, 서버(200)는 ICMP 질의 메시지와 의심 패킷간의 수신 시간차와 미리 정해진 기준 시간을 비교하여 의심 패킷에 대한 공격 패킷 여부를 판단한다(S934). 여기서, 수신 시간차는 ICMP 질의 메시지가 수신된 시각과 의심 패킷이 수신된 시각의 시간 차를 나타낸다.
만약, 수신 시간차가 기준 시간 이내인 경우, 서버(200)는 의심 패킷을 공격 패킷으로 결정한다(S935). 여기서, 서버(200)는 ICMP 질의 메시지도 공격 패킷으로 결정할 수 있다. 예를 들어, ICMP 질의 메시지와 의심 패킷간의 수신 시간차가 1초 이내인 경우, 의심 패킷을 공격 패킷으로 결정할 수 있다.
이와 같이, 도 22에 따르면, 반복되는 ICMP 질의 메시지의 메시지 식별 정보와 시퀀스 정보가 동일한 공격 트래픽을 탐지할 수 있다.
도 23은 본 발명의 제4 실시 예의 또 다른 예에 따른 서버가 공격 패킷을 탐지하는 방법을 도시한 도면이다.
도 23에 도시된 바와 같이, 먼저, 서버(200)는 수신된 복수 개의 패킷들 각각의 헤더 정보 즉, 프로토콜 정보, 메시지 유형 정보 및 메시지 유형 하위 정보를 이용하여 수신된 복수 개의 패킷들 중 의심 패킷을 탐지한다(S911). 여기서, 서버(200)는 IP 헤더에 포함된 프로토콜 식별 필드, ICMP 헤더에 포함된 타입 필드 및 코드 필드 각각의 필드 값을 이용하여 헤더 정보를 추출할 수 있다. 이때, 서버(200)는 프로토콜 식별 필드의 필드 값이 "0x01"이고, 타입 필드의 필드 값이 "0x0"이며, 코드 필드의 필드 값이 "0x0"인 패킷 즉, 반향 응답 메시지를 의심 패킷으로 결정할 수 있다.
다음, 서버(200)는 탐지된 의심 패킷의 주소 정보를 추출한다(S952). 여기서, 추출된 주소 정보는 의심 패킷의 출발지 IP 주소 및 목적지 IP 주소를 포함한다.
이후, 서버(200)는 추출된 주소 정보와 미리 저장된 필터링 테이블을 비교하여 의심 패킷에 대한 공격 패킷 여부를 판단한다(S953). 여기서 필터링 테이블은 전송된 반향 요청 메시지의 주소 정보를 저장한다.
만약, 추출된 주소 정보가 필터링 테이블에 저장되어 있지 아니한 경우, 서버(200)는 의심 패킷을 공격 패킷으로 결정한다(S954).
이와 같이, 도 23에 따르면, 공격 대상 서버로 반향 요청 메시지 없이 반향 응답 메시지가 폭주하는 형태의 공격 트래픽을 탐지할 수 있다.
이상에서와 같이 도면과 명세서에서 최적의 실시 예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (17)

  1. 서버가 인터넷 제어 메시지 프로토콜을 이용한 공격 패킷을 차단하는 서비스 거부 공격 차단 방법에 있어서,
    상기 인터넷 제어 메시지 프로토콜을 따르는 제1 반향 요청 메시지를 수신하는 단계;
    상기 제1 반향 요청 메시지의 헤더 정보에서 필터링 정보를 추출하는 단계;
    상기 인터넷 제어 메시지 프로토콜을 따르는 제2 반향 요청 메시지를 수신하는 단계; 및
    상기 제2 반향 요청 메시지의 헤더 정보와 상기 필터링 정보를 비교하여 상기 제2 반향 요청 메시지에 대한 공격 패킷 여부를 결정하는 단계를 포함하고,
    상기 결정하는 단계는,
    상기 제2 반향 요청 메시지의 헤더 정보가 상기 필터링 정보에 대응되는 경우, 상기 제2 반향 요청 메시지를 의심 패킷으로 결정하는 단계; 및
    상기 제1 반향 요청 메시지에 대한 응답 메시지를 전송하기 전에 상기 제2 반향 요청 메시지가 수신된 경우, 상기 의심 패킷을 공격 패킷으로 결정하는 단계를 포함하는
    서비스 거부 공격 차단 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제1항에 있어서,
    상기 필터링 정보는
    상기 제1 반향 요청 메시지의 헤더 정보에 포함된 출발지 주소 정보 및 목적지 주소 정보를 포함하는 서비스 거부 공격 차단 방법.
  6. 삭제
  7. 서버가 인터넷 제어 메시지 프로토콜을 이용한 공격 패킷을 차단하는 서비스 거부 공격 차단 방법에 있어서,
    상기 인터넷 제어 메시지 프로토콜을 따르는 제1 반향 요청 메시지를 수신하는 단계;
    상기 제1 반향 요청 메시지의 헤더 정보에서 필터링 정보를 추출하는 단계;
    상기 인터넷 제어 메시지 프로토콜을 따르는 제2 반향 요청 메시지를 수신하는 단계; 및
    상기 제2 반향 요청 메시지의 헤더 정보와 상기 필터링 정보를 비교하여 상기 제2 반향 요청 메시지에 대한 공격 패킷 여부를 결정하는 단계를 포함하고,
    상기 결정하는 단계는,
    상기 제2 반향 요청 메시지의 헤더 정보가 상기 필터링 정보에 대응되는 경우, 상기 제2 반향 요청 메시지를 의심 패킷으로 결정하는 단계; 및
    상기 제1 반향 요청 메시지의 수신 시각과 상기 제2 반향 요청 메시지의 수신 시각의 시간 차가 기준 시간 이내인 경우, 상기 제2 반향 요청 메시지를 공격 패킷으로 결정하는 단계를 포함하는
    서비스 거부 공격 차단 방법.
  8. 제7항에 있어서,
    상기 공격 패킷으로 결정하는 단계는
    상기 제1 반향 요청 메시지를 공격 패킷으로 결정하는 서비스 거부 공격 차단 방법.
  9. 제7항에 있어서,
    상기 필터링 정보는
    상기 제1 반향 요청 메시지의 헤더 정보에 포함된 목적지 주소 정보, 메시지 식별 정보 및 시퀀스 정보를 포함하는 서비스 거부 공격 차단 방법.
  10. 서버가 인터넷 제어 메시지 프로토콜을 이용한 공격 패킷을 차단하는 서비스 거부 공격 차단 방법에 있어서,
    수신된 복수 개의 패킷들 각각의 헤더 정보를 이용하여 상기 복수 개의 패킷들 중에서 의심 패킷을 추출하는 단계;
    상기 의심 패킷의 헤더 정보에서 필터링 정보를 추출하는 단계;
    상기 인터넷 제어 메시지 프로토콜을 따르는 메시지를 수신하는 단계; 및
    상기 필터링 정보와 상기 메시지의 헤더 정보를 비교하여 상기 메시지에 대한 공격 패킷 여부를 결정하는 단계를 포함하고,
    상기 결정하는 단계는,
    상기 메시지의 헤더 정보가 상기 필터링 정보와 대응되는 경우, 상기 의심 패킷에 대한 응답 패킷의 전송 시각과 상기 메시지의 수신 시각을 비교하는 단계; 및
    상기 메시지의 수신 시각이 상기 응답 패킷의 전송 시각보다 빠른 경우, 상기 메시지를 공격 패킷으로 결정하는 단계를 포함하는
    서비스 거부 공격 차단 방법.
  11. 제10항에 있어서,
    상기 의심 패킷을 추출하는 단계는
    상기 복수 개의 패킷들 각각의 프로토콜 정보 및 메시지 유형 정보를 이용하여 상기 복수 개의 패킷들 중에서 상기 의심 패킷을 추출하는 서비스 거부 공격 차단 방법.
  12. 제11항에 있어서,
    상기 필터링 정보를 추출하는 단계는
    상기 의심 패킷의 헤더 정보에서 출발지 주소 정보 및 목적지 주소 정보를 포함하는 필터링 정보를 추출하는 서비스 거부 공격 차단 방법.
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 제11항에 있어서,
    상기 의심 패킷은
    상기 인터넷 제어 메시지 프로토콜을 따르는 질의 메시지인 서비스 거부 공격 차단 방법.
KR1020100127821A 2010-12-14 2010-12-14 서비스 거부 공격 차단 방법 KR101585700B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020100127821A KR101585700B1 (ko) 2010-12-14 2010-12-14 서비스 거부 공격 차단 방법
PCT/KR2011/009619 WO2012081903A1 (ko) 2010-12-14 2011-12-14 서비스 거부 공격 차단 방법
US13/992,527 US9183382B2 (en) 2010-12-14 2011-12-14 Method for blocking a denial-of-service attack

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100127821A KR101585700B1 (ko) 2010-12-14 2010-12-14 서비스 거부 공격 차단 방법

Publications (2)

Publication Number Publication Date
KR20120066466A KR20120066466A (ko) 2012-06-22
KR101585700B1 true KR101585700B1 (ko) 2016-01-14

Family

ID=46244906

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100127821A KR101585700B1 (ko) 2010-12-14 2010-12-14 서비스 거부 공격 차단 방법

Country Status (3)

Country Link
US (1) US9183382B2 (ko)
KR (1) KR101585700B1 (ko)
WO (1) WO2012081903A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3016332B1 (en) * 2013-06-27 2018-02-28 Jeong Hoan Seo Multi-connection system and method for service using internet protocol
KR101472896B1 (ko) * 2013-12-13 2014-12-16 현대자동차주식회사 차량 내 통신 네트워크에서의 보안 강화 방법 및 그 장치
US9571377B2 (en) 2014-12-11 2017-02-14 Oracle International Corporation Dynamic denial of service protection
US10417031B2 (en) * 2015-03-31 2019-09-17 Fireeye, Inc. Selective virtualization for security threat detection
KR102045468B1 (ko) * 2015-07-27 2019-11-15 한국전자통신연구원 네트워크 데이터 분석에 기반한 비정상 연결 행위 탐지 장치 및 방법
JP6098687B2 (ja) * 2015-09-10 2017-03-22 日本電気株式会社 通信先判定装置、通信先判定方法、及び、通信先判定プログラム
EP3264718B1 (en) * 2016-06-29 2021-03-03 Argus Cyber Security Ltd System and method for detection and prevention of attacks on in-vehicle networks
TWI729320B (zh) * 2018-11-01 2021-06-01 財團法人資訊工業策進會 可疑封包偵測裝置及其可疑封包偵測方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100154049A1 (en) 2005-07-08 2010-06-17 Nec Corporation Terminal, security setting method, and program thereof

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7215637B1 (en) * 2000-04-17 2007-05-08 Juniper Networks, Inc. Systems and methods for processing packets
KR100473405B1 (ko) * 2001-12-14 2005-03-08 (주)클립컴 네트워크 장치에서의 아이피 설정 및 수동제어방법
NZ516346A (en) * 2001-12-21 2004-09-24 Esphion Ltd A device for evaluating traffic on a computer network to detect traffic abnormalities such as a denial of service attack
US7543056B2 (en) * 2002-01-15 2009-06-02 Mcafee, Inc. System and method for network vulnerability detection and reporting
US7257630B2 (en) * 2002-01-15 2007-08-14 Mcafee, Inc. System and method for network vulnerability detection and reporting
KR100519166B1 (ko) * 2002-06-08 2005-10-05 엘지전자 주식회사 에이티엠 엠피엘에스 브이피엔 망에서의 반향 요청 방법
US7681235B2 (en) * 2003-05-19 2010-03-16 Radware Ltd. Dynamic network protection
US7650635B2 (en) * 2004-04-07 2010-01-19 Cisco Technology, Inc. Method and apparatus for preventing network attacks by authenticating internet control message protocol packets
US7936682B2 (en) 2004-11-09 2011-05-03 Cisco Technology, Inc. Detecting malicious attacks using network behavior and header analysis
US7992192B2 (en) * 2006-12-29 2011-08-02 Ebay Inc. Alerting as to denial of service attacks
US8726382B2 (en) * 2008-08-20 2014-05-13 The Boeing Company Methods and systems for automated detection and tracking of network attacks
US9021092B2 (en) * 2012-10-19 2015-04-28 Shadow Networks, Inc. Network infrastructure obfuscation
US20140157405A1 (en) * 2012-12-04 2014-06-05 Bill Joll Cyber Behavior Analysis and Detection Method, System and Architecture

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100154049A1 (en) 2005-07-08 2010-06-17 Nec Corporation Terminal, security setting method, and program thereof

Also Published As

Publication number Publication date
US20130263268A1 (en) 2013-10-03
KR20120066466A (ko) 2012-06-22
WO2012081903A1 (ko) 2012-06-21
US9183382B2 (en) 2015-11-10

Similar Documents

Publication Publication Date Title
KR101585700B1 (ko) 서비스 거부 공격 차단 방법
US7620733B1 (en) DNS anti-spoofing using UDP
WO2021008028A1 (zh) 网络攻击源定位及防护方法、电子设备及计算机存储介质
US10798060B2 (en) Network attack defense policy sending method and apparatus, and network attack defending method and apparatus
US7827609B2 (en) Method for tracing-back IP on IPv6 network
US8943586B2 (en) Methods of detecting DNS flooding attack according to characteristics of type of attack traffic
US8661544B2 (en) Detecting botnets
US9083716B1 (en) System and method for detecting address resolution protocol (ARP) spoofing
CN105099821B (zh) 基于云的虚拟环境下流量监控的方法和装置
US10469532B2 (en) Preventing DNS cache poisoning
US10693908B2 (en) Apparatus and method for detecting distributed reflection denial of service attack
CN105991655B (zh) 用于缓解基于邻居发现的拒绝服务攻击的方法和装置
Arukonda et al. The innocent perpetrators: reflectors and reflection attacks
US20110026529A1 (en) Method And Apparatus For Option-based Marking Of A DHCP Packet
JP2014236461A (ja) 遮断システム、遮断サーバ、遮断方法、およびプログラム
Feng et al. PMTUD is not Panacea: Revisiting IP Fragmentation Attacks against TCP.
Murugesan et al. A brief survey of IP traceback methodologies
CN112995235A (zh) 一种对DDoS攻击进行检测的方法、装置及电子设备
KR20130009130A (ko) 좀비 피씨 및 디도스 대응 장치 및 방법
CN113992421A (zh) 一种报文处理方法、装置及电子设备
KR101400127B1 (ko) 비정상 데이터 패킷 검출 방법 및 장치
JP2009081736A (ja) パケット転送装置及びパケット転送プログラム
US20120151584A1 (en) Method for blocking denial-of-service attack
KR101449627B1 (ko) 비정상 세션 탐지 방법 및 장치
CN113364644A (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: 20181226

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200102

Year of fee payment: 5