KR101048513B1 - 애드 혹 네트워크에서의 악의적 플러딩 공격에 대한 대처 방법 및 장치 - Google Patents

애드 혹 네트워크에서의 악의적 플러딩 공격에 대한 대처 방법 및 장치 Download PDF

Info

Publication number
KR101048513B1
KR101048513B1 KR1020090097114A KR20090097114A KR101048513B1 KR 101048513 B1 KR101048513 B1 KR 101048513B1 KR 1020090097114 A KR1020090097114 A KR 1020090097114A KR 20090097114 A KR20090097114 A KR 20090097114A KR 101048513 B1 KR101048513 B1 KR 101048513B1
Authority
KR
South Korea
Prior art keywords
received
data
packets
rreq
packet
Prior art date
Application number
KR1020090097114A
Other languages
English (en)
Other versions
KR20110040005A (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 KR1020090097114A priority Critical patent/KR101048513B1/ko
Publication of KR20110040005A publication Critical patent/KR20110040005A/ko
Application granted granted Critical
Publication of KR101048513B1 publication Critical patent/KR101048513B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/009Security arrangements; Authentication; Protecting privacy or anonymity specially adapted for networks, e.g. wireless sensor networks, ad-hoc networks, RFID networks or cloud networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

애드 혹 네트워크에서의 악의적 플러딩 공격에 대한 대처 방법 및 장치가 개시된다. 본 발명의 일측면에 따른 애드 혹 네트워크의 모바일 노드가 악의적 플러딩에 대처하는 방법은, 악의적 공격이 일어났는지의 가능성을 판단하기 위해, 타 노드로부터 수신된 수신 데이터의 크기가 설정된 제1 한계치보다 큰지 여부를 판단하는 단계; 및 수신 데이터의 크기가 상기 제1 한계치보다 큰 경우, 수신 데이터 중 제1 한계치보다는 작게 설정되는 제2 한계치까지 수신된 데이터에 대해 소스 노드별로 RREQ 패킷 및 데이터 패킷을 이용한 악의적 플러딩이 수행되었는지 여부를 판별하여 처리하는 단계를 포함한다. 본 발명에 따르면 RREQ 또는 RREP 패킷 등의 라우팅 경로 설정을 위한 패킷 뿐 아니라 데이터 패킷을 이용한 공격에도 대처할 수 있다.
애드혹, 모바일, 네트워크, 공격, DoS, 노드

Description

애드 혹 네트워크에서의 악의적 플러딩 공격에 대한 대처 방법 및 장치{Defense method for malicious flooding attack in ad hoc networks and device thereof}
본 발명은 네트워크상에서의 공격에 대한 대처 방법에 관한 것으로, 보다 상세하게는 애드 혹 네트워크에서 임의의 노드에 대한 악의적 플러딩 공격에 대처하는 방법 및 장치에 관한 것이다.
애드 혹 네트워크는 흩어져 위치한 노드들끼리 AP(Access Point)를 통하지 않고 무선으로 서로 통신하는 자율적인 구조의 네트워크이다. 이 구조에서는 중간에서 제어하는 노드가 없으므로 각 노드들은 자신이 가질 수가 있는 정보를 최대한 활용하여 네트워크에서 통신해야 하고 먼 거리의 노드와의 통신에는 다른 노드들을 경유하여 통신한다. 이에 따라 통신비용(홉(hop)수, 전력 등)을 최소화 하는 경로를 구하는 라우팅이 필요하다.
애드 혹 네트워크는 노드들끼리의 통신을 통해서 토폴로지를 구성하기 때문에 무선 네트워크 통신이 가지는 거리상의 한계를 극복할 수 있으며, 고정된 라우터를 사용하는 방식(정적인 방식)과 비교하여 노드의 이동이 자유롭기 때문에 네트 워크 토폴로지가 동적으로 변하는 특징을 가지고 있어, 최근에는 이러한 애드 혹 네트워크에 대한 연구가 활발히 이루어지고 있다.
애드 혹 네트워크에서 사용되는 다양한 프로토콜 중 주로 사용되는 것 중 하나인 AODV(Ad hoc On-demand Distance Vector)는 필요할 경우에만 경로를 설정하기 위해 제안된 프로토콜이다.
이 라우팅 프로토콜은 애드 혹 네트워크를 위한 가벼운 라우팅 프로토콜로써, IETF의 RFC 3561에 정의되어 있다. 이 라우팅 프로토콜은 데이터 전달 시에만 사용되는 온 디맨드 라우팅 프로토콜로 데이터를 전달하지 않는 경우에는 사용되지 않으므로 라우팅에 의한 오버헤드가 적다.
즉 온 디맨드 라우팅 프로토콜은 애드 혹 네트워크에 참여하는 무선 노드가 데이터를 전달하기 위해서 라우팅 경로를 요구하는 경우에 라우팅 경로를 찾기 위해서 사용된다. 따라서 기존에 데이터를 전달하기 위해서 사용했던 적이 있다면 라우팅 경로를 다시 찾을 필요가 없으므로 그냥 사용하면 되지만 그렇지 않은 경우에는 라우팅 경로를 찾기 위해서 소스 노드가 RREQ(Route Request)라는 라우팅 경로를 찾기 위한 메시지를 네트워크에 플러딩(flooding)한다. RREQ를 받은 노드들은 이웃 노드들에게 다시 RREQ를 플러딩하고 목적지 노드가 RREQ 메시지를 수신하였을 경우 RREP(Route Reply) 메시지를 RREQ 메시지를 보낸 소스 노드로 RREQ가 전송된 역방향의 루트를 통해 전송하고 이 RREP 메시지를 받은 소스 노드는 RREP가 전달되어온 경로를 통해 데이터를 목적지 노드로 전달하는 방식이다.
모바일 애드 혹 네트워크는 베이스 스테이션의 도움을 받지 않고 주위 노드 들의 도움을 받아 여러 홉을 거쳐서 패킷이 전송되는 방식이다 보니 한정된 대역폭을 갖는 무선 링크를 통해 모든 신호들이 전송되어 보안상 매우 취약하다. 따라서, 애드 혹 네트워크의 특성상 임의의 노드가 네트워크로의 참여가 용이한 편이하다. 최근에는 애드 혹 네트워크의 이러한 특성을 이용하여 공격을 위한 노드(이하, 공격 노드)를 네트워크에 참여시켜, 임의의 희생 노드(victim node)로의 악의적 플러딩을 수행하여 네트워크를 공격하는 경우가 발생하고 있다.
즉 특정 노드로 다량의 데이터를 전송하여 해당 노드가 데이터를 처리할 수 없도록 하는 악의적 플러딩 공격이 문제가 되고 있다. 이에 따라 임의의 노드가 상기한 공격을 당함으로써 제대로 기능할 수 없는 상태(DoS : Denial-of-Service)가 될 수 있다. 예를 들어, 임의의 노드(희생 노드)가 처리 능력에 비해 많은 수의 RREQ를 수신함으로써, 해당 데이터를 모두 처리할 수 없게 되어 시스템 전체적인 문제가 야기될 수도 있다.
일반적으로 공격 기법이 고도화, 다양화 될수록 그 방법은 더욱 복잡하고 대처하기 어렵게 된다. 심지어 공격이 있었는지 조차 알기 어렵다. 합작 공격 방법은 보다 진화된 방법으로 한 공격자에 의한 단일 공격보다 더 알아내기 어렵고 대처하기 어렵다.
모바일 애드 혹 네트워크에서의 공격 방법으로는 그 공격자의 수에 따라 단일 공격과 합작 공격으로 나눌 수 있는데, 한 공격자가 한 희생 노드를 공격하는 방식을 단일 공격, 여러 공격자들이 유기적으로 연관되어 한 희생 노드를 공격하는 방식을 합작 공격이라고 한다. 이러한 애드 혹 네트워크에서의 다양한 방식에 의한 공격에 대처하는 방법이 필요한 실정이다.
따라서, 본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로서, 애드 혹 네트워크에서의 악의적 플러딩 공격에 대처할 수 있는 방법 및 그 방법을 수행하는 노드 장치를 제공하기 위한 것이다.
또한 본 발명은 RREQ 또는 RREP 패킷 등의 라우팅 경로 설정을 위한 패킷 뿐 아니라 실제 전송할 데이터에 대한 패킷으로의 공격에도 대처할 수 있는 방법 및 장치를 제공하기 위한 것이다.
또한 본 발명은 단일 공격뿐 아니라 합작 공격에도 대처할 수 있는 악의적 플러딩 공격 대처 방법 및 장치를 제공하기 위한 것이다.
본 발명의 다른 목적들은 이하에 서술되는 바람직한 실시예를 통하여 보다 명확해질 것이다.
본 발명의 일측면에 따르면, 애드 혹 네트워크의 모바일 노드가 악의적 플러딩에 대처하는 방법에 있어서,
(a) 악의적 공격이 일어났는지의 가능성을 판단하기 위해, 타 노드로부터 수신된 수신 데이터의 크기가 설정된 제1 한계치보다 큰지 여부를 판단하는 단계; 및
(b) 상기 수신 데이터의 크기가 상기 제1 한계치보다 큰 경우, 상기 수신 데이터 중 상기 제1 한계치보다는 작게 설정되는 제2 한계치까지 수신된 데이터에 대해 소스 노드별로 RREQ 패킷 및 데이터 패킷을 이용한 악의적 플러딩이 수행되었는 지 여부를 판별하여 처리하는 단계를 포함하는 악의적 플러딩 공격에 대한 대처 방법 및 그 방법을 실행하는 프로그램을 기록한 기록매체가 제공된다.
여기서, 상기 제1 한계치는 상기 모바일 노드가 한 번에 처리 가능한 패킷수와 컴퓨팅 능력을 이용하여 산출될 수 있다.
또한, 상기 단계 (b)는, 상기 수신 데이터에 RERR(Route Error) 패킷이 존재하는 경우, 상기 RERR 패킷을 먼저 처리할 수 있다.
또한, 상기 단계 (b)는, (b1) 상기 제2 한계치까지 수신된 데이터 중 소스 노드 m_{k}로부터 수신된 RREQ(Route Request) 패킷의 개수가 평균 RREQ 패킷개수보다 많은지 여부를 판단하는 단계; 및 (b2) m_{k}로부터 수신된 RREQ 패킷의 개수가 상기 평균 RREQ 패킷개수보다 많으며, 상기 RREQ 패킷에 상응하는 RREP(Route Reply) 패킷이 상기 제2 한계치까지 수신된 데이터에 포함되지 않은 경우, 상기 RREQ 패킷 중 어느 하나만을 송신 처리하는 단계를 포함할 수 있다.
또한, 상기 단계 (b2)는 상기 RREQ 패킷 중 가장 작은 TTL(time-to-live)을 갖는 어느 하나를 송신 처리할 수 있다.
또한, 상기 단계 (b)는, (b3) 상기 제2 한계치까지 수신된 데이터 중 상기 m_{k}로부터 수신된 데이터 패킷량과 평균 데이터 패킷량을 비교하는 단계; 및 (b4) 상기 비교의 결과 상기 m_{k}로부터 수신된 데이터 패킷량이 상기 평균 데이터 패킷량보다 많은 경우 상기 m_{k}로부터 수신된 데이터 패킷 중 최초로 수신된 데이터 패킷만을 송신 처리하는 단계를 더 포함할 수 있다.
또한, 상기 단계 (b)는, 상기 m_{k}로부터 수신된 데이터 패킷 외에, 상기 제2 한계치까지 수신된 데이터 중 전송 우선순위에 따른 다른 데이터 패킷을 송신 처리하는 단계를 더 포함할 수 있다.
본 발명의 다른 측면에 따르면, 애드 혹 네트워크의 모바일 노드 장치에 있어서, 타 노드로부터 패킷을 수신하기 위한 송수신부; 수신된 상기 패킷을 버퍼링하기 위한 버퍼링부; 및 상기 버퍼링부에 제1 한계치를 설정하여 상기 타 노드로부터 수신된 수신 데이터의 크기가 상기 제1 한계치보다 큰 경우, 상기 수신 데이터 중 상기 제1 한계치보다는 작게 설정되는 제2 한계치까지 수신된 데이터를 이용하여 소스 노드별로 RREQ 패킷 및 데이터 패킷을 이용한 악의적 플러딩이 수행되었는지 여부를 판별하여 처리하는 제어부를 포함하는 모바일 노드 장치가 제공된다.
여기서, 상기 제어부는, 상기 제2 한계치까지 수신된 데이터 중 소스 노드 m_{k}로부터 수신된 RREQ(Route Request) 패킷의 개수가 평균 RREQ 패킷개수보다 많으며, 상기 RREQ 패킷에 상응하는 RREP(Route Reply) 패킷이 상기 제2 한계치까지 수신된 데이터에 포함되지 않은 경우, 상기 RREQ 패킷 중 가장 작은 TTL을 갖는 하나만을 송신 처리할 수 있다.
또한, 상기 제어부는, 상기 제2 한계치까지 수신된 데이터 중 상기 m_{k}로부터 수신된 데이터 패킷량과 평균 데이터 패킷량을 비교하여, 상기 m_{k}로부터 수신된 데이터 패킷량이 상기 평균 데이터 패킷량보다 많은 경우 상기 m_{k}로부터 수신된 데이터 패킷 중 최초로 수신된 데이터 패킷만을 송신 처리할 수 있다.
본 발명에 따르면, 소스 노드별로 각각 DoS 공격이 있는지 여부를 수신된 데이터량을 이용하여 판별 및 처리함으로써, 애드 혹 네트워크에서의 단일 또는 합작 악의적 플러딩 공격에 대처할 수 있다.
또한 본 발명에 따르면 RREQ 또는 RREP 패킷 등의 라우팅 경로 설정을 위한 패킷 뿐 아니라 실제 전송할 데이터에 대한 데이터 패킷을 이용한 공격에도 대처할 수 있다.
또한, 본 발명에 따르면 DoS 공격이 있는지 여부를 항상 체크하는 것이 아니라, 버퍼 사이즈의 한계치를 설정하여 한계치를 초과하는 데이터량이 수신된 경우에만 악의적 플러딩에 의한 DoS 공격을 수행하는 소스 노드를 판별 및 처리함으로써 DoS 공격 대처에 따른 부하를 줄일 수 있는 효과도 있다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
이하, 첨부한 도면들을 참조하여 본 발명에 따른 실시예들을 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어 도면 부호에 상관없이 동일하거나 대처하는 구성 요소는 동일한 참조번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 애드 혹 네트워크의 모바일 노드들을 예시한 도면이다.
도 1을 참조하면, 애드 혹 네트워크는 다수의 모바일 노드로 구성되며, 데이터를 송신하는 노드를 소스 노드(source node, S1~S4)라 하며, 해당 데이터를 최종적으로 수신하는 노드를 목적지 노드(Destination node, D1~D4)라 한다. 설명의 편의상 도면에 도시된 M1, M2 노드는 공격을 위한 공격 노드들이며, V 노드는 공격을 받는 희생 노드를 예시한 것이다.
하나 이상의 공격 노드는 희생 노드로 다수의 패킷을 송신하여 희생 노드가 제대로 동작하지 못하도록 공격하는데, 이하에서는 이를 DoS 공격이라 칭하기로 한다.
이하, 모바일 노드가 하나 이상의 공격 노드들로부터의 공격에 대처하는 방법에 대해 설명하기로 한다.
도 2는 본 발명의 일 실시예에 따른 모바일 노드의 구성을 도시한 도면이다.
도 2를 참조하면, 본 실시예에 따른 모바일 노드는 송수신부(10), 버퍼부(20), 메모리부(30) 및 제어부(40)를 포함한다.
송수신부(10)는 타 모바일 노드와 무선으로 데이터를 송수신하기 위한 수단이며, 버퍼부(20)는 수신된 데이터를 버퍼링(buffering)하기 위한 저장수단이다. 송수신부(10) 및 버퍼부(20)는 당업자에게는 자명할 것이므로 상세한 설명은 생략한다.
메모리부(30)에는 모바일 노드가 자신의 기능을 수행하는데 필요한 제반 정보들이 저장된다. 예를 들어, 제반 정보로는 본 발명의 악의적 플러딩에 대처하는 방법을 수행하기 위한 데이터(T_{buffer} 및
Figure 112009062575075-pat00001
등, 후술)등이 있을 수 있다. 또한 타 노드로부터 수신한 정보의 목적지가 자신일 경우에는 해당 정보가 메모리부(30)에 저장될 수 있다.
제어부(40)는 수신되어 버퍼링된 데이터의 크기, 종류 등을 이용하여 공격이 일어나는지, 즉 악의적 플러딩이 존재하는지 여부를 판단하고, 그에 따라 수신된 데이터를 처리하도록 기능한다.
본 실시예에 따른 제어부(40)는 D0S 공격에 대처하기 위해 두 개의 버퍼 사이즈 한계치인 제1 한계치(T_{buffer})와 제2 한계치(
Figure 112009062575075-pat00002
)를 사용한다. 제1 한계치인 T_{buffer}는 수신된 패킷들이 악의적 플러딩에 의한 패킷들일 가능성이 있는지 여부를 판단하기 위해 사용된다. 제2 한계치인
Figure 112009062575075-pat00003
는 제1 한계치보다는 작게 설정되며, 수신된 패킷들이 악의적 플러딩에 의한 패킷인지 여부를 판단하기 위해 사용된다. 다시 말해, T_{buffer}는 수신된 데이터량과 비교하여 악의적 플러딩이 존재할 가능성이 있는지를 판단하기 위해 이용되는 임계 버퍼 사이즈를 가리키는 한계치이다. 그리고
Figure 112009062575075-pat00004
는 악의적 플러딩이 존재한다고 판단될 경우, 수신된 데이터들을 송신한 소스 노드별로 각 데이터 속성에 따라 처리하기 위해 이용되는 버퍼 사이즈에 대한 값이다. 이에 대한 보다 상세한 설명은 관련도면(도 3 및 도 4)을 참조하여 상세히 후술하기로 한다.
여기서, T_{buffer}는 한 번에 처리할 수 있는 패킷의 수(
Figure 112009062575075-pat00005
)에 컴퓨팅 능 력(d)을 이용하여 하기의 수학식 1을 통해 산출될 수 있다.
Figure 112009062575075-pat00006
T_{buffer} = ×(1-d)
여기서, 컴퓨팅 능력 d는 노드 자체에 근거한 노드의 현재 파워 레벨, 저장 공간(즉 버퍼 및/또는 메모리 사이즈 등)의 여유, 처리 능력 등에 따라 결정될 수 있다.
T_{buffer}는 악의적 플러딩이 있는지 여부를 1차적으로 판단하기 위한 파라미터이다.
한편,
Figure 112009062575075-pat00007
는 0과 T_{buffer} 사이의 값 중 어느 하나로 결정될 수 있으며, 악의적 플러딩을 검사하기 위해 T_{buffer}에 비례하여 결정되는 버퍼 사이즈 값이다.
예를 들어,
Figure 112009062575075-pat00008
는 고정되게 미리 설정될 수 있으며, 또는 주위 노드들의 개수에 따라 다르게 설정될 수도 있다. 또는 수신되는 패킷에 따라 다르게 설정될 수 있으며, 예를 들어 수신된 패킷들을 송신한 소스 노드의 개수에 상응하도록 설정될 수 있다. 상기한 예들은 각각의 실시예일 뿐이며, 통신 환경 등 다른 요인에 따라 다르게
Figure 112009062575075-pat00009
가 설정될 수도 있다.
Figure 112009062575075-pat00010
는 T_{buffer}를 통해 악의적 플러딩이 있는지 여부를 1차적으로 판단한 후 실질적인 악의적 플러딩의 존재 여부 및 악의적 플러딩의 종류를 판단하기 위한 파라미터이다.
Figure 112009062575075-pat00011
를 T_{buffer}에 비해 작게 설정하는 것은 악의적 공격의 존재 여부를 검사하는 동안 많은 수의 패킷이 드랍(drop)되는 것을 방지하도록 하기 위한 것이다.
이하, 도면을 참조하여 모바일 노드가 수신된 데이터를 처리하는 과정을 상세히 설명하기로 한다.
도 3은 본 발명의 일 실시예에 따른 모바일 노드가 수신된 데이터들을 처리하는 과정을 개략적으로 도시한 전체 흐름도이고, 도 4는 본 발명의 일 실시예에 다른 모바일 노드가 DoS 공격에 대해 대처하여 데이터를 처리하는 과정을 도시한 세부 흐름도이다.
먼저 도 3을 참조하면, 모바일 노드는 데이터가 수신되면(s310), 수신된 데이터의 크기(size) 또는 패킷 수(N_{RCV})가 T_{buffer}보다 큰지 여부를 판단한다(s320). 실질적으로 수신된 데이터의 사이즈(크기)와 T_{buffer}를 비교하는 것이 바람직하나, 설명의 편의상 모든 패킷이 동일한 데이터 크기를 갖는다는 것을 가정하면 패킷수가 곧 데이터 사이즈가 되므로, 패킷수와 T_{buffer}를 서로 비교하는 것을 예로 들어 설명하기로 한다.
만일, N_{RCV}가 T_{buffer}보다 작거나 같다면, 악의적 플러딩이 없다고 판단하고 일반적인 AODV 방식대로 수신된 패킷들을 처리한다(s330).
이와 달리, N_{RCV}가 T_{buffer}보다 크다면, 악의적 플러딩이 일어나고 있 을 수도 있기 때문에, 모바일 노드는 각 소스 노드별로 수신된 데이터를 구분하고, T_{buffer}와 다른 버퍼 사이즈 한계값인
Figure 112009062575075-pat00012
를 이용하여 구분된 각각의 데이터가 악의적 플러딩에 따른 데이터인지 여부를 판별하여 그에 따라 처리한다(s340).
악의적 플러딩인지 여부를 판단하는 방법은 수신 패킷량과 평균 패킷량을 비교하는 방법이 이용된다. 즉, 수신된 RREQ 패킷량 또는 데이터 패킷량과 평균 RREQ 패킷량 또는 평균 데이터 패킷량을 서로 비교하여 악의적 플러딩인지 여부를 판별하는 것이다. 그 처리 과정에 더욱 상세한 설명은 도 4를 참조하여 상세히 후술하기로 한다.
다만, 상기한 소스 노드별로 수신된 데이터를 처리하는 과정에서, 소스 노드별 데이터의 처리 순서는 랜덤하게 또는 미리 설정된 순서에 의해 결정될 수 있다. 또는 우선순위에 따라 순서가 결정될 수도 있으며, 우선순위는 수신된 패킷의 개수 또는 데이터량 또는 데이터가 도착한 순서 등에 의해 결정될 수 있으며, 예를 들어 데이터 패킷이 많을수록 우선순위는 낮아질 수 있다.
본 실시예에 따르면, 수신된 데이터를 송신한 소스 노드별로 DoS 공격 여부를 판별하고, 그에 따라 처리함으로써, 각 노드로부터의 악의적 플러딩에 대처할 수 있다.
이하, 악의적 플러딩 대처 방법에 대해 더욱 구체적으로 설명하기로 한다.
도 4를 참조하면, 패킷들을 수신한 모바일 노드는 수신된 패킷 수(N_{RCV}) 가 T_{buffer}보다 큰 경우, 수신된 패킷 중 RERR(Rout Error) 패킷이 존재하는지를 판단하고(s410), 만일 존재한다면 해당 RERR에 대한 처리를 우선하여 처리한다(s415). 즉, 해당 RERR 패킷이 목적지 노드로 전달되도록 다른 노드로 전달한다.
일반적으로 악의적 플러딩은 RREQ, RREP 또는 실제 데이터를 이용하는 경우가 대부분이다. RERR은 라우팅 경로의 설정에 오류가 있을 경우 사용되는 메시지로 악의적 플러딩에는 잘 사용되지 않기 때문에, RERR이 수신되면 이를 우선하여 처리할 수 있다. 물론 이는 하나의 실시예에 불과하며, RERR도 다른 패킷들과 동일하게 처리될 수도 있음은 당연하다.
이후, 도 3을 참조하여 상술한 바와 같이 수신된 패킷들을 각각 최초 송신한 소스 노드별로 구분하여 처리한다. 도1을 참조하여 설명하자면, 수신된 패킷들의 소스 노드들이 S1 및 M1인 경우, 수신된 패킷들을 S1과 M1으로 나누어 처리한다. 하나의 소스 노드 S1은 일반 노드이기 때문에 무리없이 모든 데이터들이 전송 처리될 것이며, 다른 소스 노드 M1은 공격 노드이기 때문에 본 실시예에 따른 악의적 플러딩 대처방법대로 처리될 것이다.
이하 소스 노드를 구분하기 위해, k(자연수임)개의 소스 노드로부터 패킷을 수신한 경우, 각 소스 노드는 m_{k}라 칭하기로 하며, 그에 따른 목적지 노드는 m_{k}'라 칭하기로 한다. 그리고 상술한 바와 같이 소스 노드별 데이터 처리 순서는 미리 설정되거나, 랜덤하게 또는 우선순위에 의해 결정될 수 있다.
다시 도 4를 참조하면, 모바일 노드는 소스 노드 m_{k}로부터 수신한 데이터 중 한계수치 까지 수신된 패킷들 중 RREQ 패킷이 평균적으로 수신되는 RREQ 패킷의 개수인 평균 RREQ개수(A_{RREQ})보다 많이 수신되었는지 여부를 판단한다(s420). 만일 m_{k}로부터 수신한 RREQ 패킷의 개수가 A_{RREQ}보다 많다면 소스 노드 m_{k}는 공격노드라 판단될 수 있다. 여기서, A_{RREQ}는 해당 모바일 노드가 타 노드로부터 평균적으로 수신하는 RREQ 패킷 개수의 평균값일 수 있다. 물론 다른 실시예에 따라 해당 모바일 노드가 각 소스 노드별로부터 평균적으로 수신하는 RREQ 패킷 개수의 평균값일 수도 있다.
그리고, A_{RREQ}는 미리 설정될 수 있으며, 고정된 값을 갖거나 네트워크 환경에 따라 다르게 설정될 수도 있다. 또는 A_{RREQ}는 모바일 노드에 전원이 인가된 이후 정상적으로 작동되는 동안 누적된 평균값을 가질 수도 있다. 즉, 모바일 노드는 계속하여 까지 수신된 패킷 중 RREQ 패킷 수를 평균 계산하여 이를 A_{RREQ}로써 유지할 수도 있다. 또 다른 실시예로는, A_{RREQ}는 실시간으로 수신된 RREQ의 평균 RREQ의 개수일 수 있다. 이해의 편의를 위해 수신된 데이터가 S1, S2 및 M1의 소스 노드로부터 송신된 데이터일 경우를 가정하면, 각 소스 노드로부터 수신된 각각의 RREQ 개수를 평균한 값이 A_{RREQ}일 수 있다. 예를 들어, S1으로부터는 4개의 RREQ가, S2로부터는 2개, 그리고 M1으로부터는 6개의 RREQ가 수신된 경우, A_{RREQ}=(4+2+6)/3=4 일 수 있다. 이에 따라 수신된 RREQ의 개수가 많을수록 A_{RREQ}보다 많게 될 것이며, 이 경우 해당 소스 노드는 악의적 플러딩을 하는 공격 노드일 가능성이 높게 되는 것이다. 물론 상기한 예는 하나의 실시예일 뿐이며, 시스템의 부하를 줄이기 위해 보다 바람직하게는 전술한 바와 같이 A_{RREQ}는 미리 특정 값이 고정되도록 설정될 수 있다.
s425 및 s430을 살펴보면, s420에서의 판단결과
Figure 112009062575075-pat00013
에 따른 수신 패킷 중 RREQ 패킷의 개수가 A_{RREQ}보다 많은 경우,
Figure 112009062575075-pat00014
에 따른 수신 패킷 중 해당 RREQ에 상응하는 RREP 패킷이 수신되었는지 여부를 판단한다(s425). 여기서, RREP 패킷은 RREQ를 송신한 소스 노드를 목적지로 하게 되므로 RREQ에 상응하는 RREP를 인식할 수 있음은 당업자에게는 자명할 것이다. 만일, 상기한 RREQ에 상응하는 RREP 패킷이 수신되지 않은 경우, 최소 TTL(time-to-live)을 가진 RREQ 패킷 하나만을 송신 처리한다(s430). 즉, RREQ의 개수가 A_{RREQ}보다 많고, RREQ에 상응하는 RREP가 수신되지 않은 경우라면 목적지가 없는 공격을 위한 RREQ의 악의적 플러딩이라 판단될 수 있기 때문에, RREQ 하나만을 전송하고 소스 노드 m_{k}로부터 전송된 나머지 RREQ를 송신 처리하지 않아 RREQ 패킷을 이용한 악의적 플러딩에 대처한다. 여기서, 도면에 도시된 바와 같이, RREQ를 이용한 악의적 플러딩을 수행한다고 판단되는 해당 소스 노드로부터 수신된 데이터 패킷들도 송신 처리하지 않는다. 다만, 해당 소스 노드가 공격 노드가 아닐 가능성도 있으므로, 다른 실시예에 따르면, 데이터 패킷도 악의적 플러딩에 의한 것이지를 판별할 필요가 있을 수도 있다. 따라서, 이 경우에는 도면에 도시된 바와 달리, 이후, 데이터 패킷에 대한 악의적 플러딩이 존재하는지를 판별하기 위해 다음 단계 s435로 진행할 수도 있다.
여기서, TTL은 전송 패킷이 네트워크에서 너무 오랫동안 돌아다니지 않도록 모바일 노드에서 폐기 여부를 결정하기 위한 패킷 헤더의 한 필드 정보이다. 이는 당업자에게 자명할 것이므로 더욱 상세한 설명은 생략하기로 하며, 마찬가지로 애 드 혹 네트워크에서의 통신 방법에 따라 수신된 데이터를 타 모바일 노드로 송신하는 방법은 당업자에게는 자명하므로 상세한 설명은 생략한다.
만일 s425에서의 판단 결과
Figure 112009062575075-pat00015
에 따른 수신 패킷 중 해당 RREQ에 상응하는 RREP 패킷이 수신된 경우, 소스 노드와 목적지 노드간의 라우팅 경로가 설정되었음을 인식할 수 있으므로, 실제 데이터에 대한 악의적 플러딩이 존재하는지에 대해 검토를 해야 한다. 또한, s420에서의 판단 결과
Figure 112009062575075-pat00016
에 따른 수신 패킷 중 RREQ 패킷의 개수가 A_{RREQ}보다 같거나 작은 경우, 정상적인 RREQ일 가능성이 높으므로 마찬가지로 실제 데이터에 대한 악의적 플러딩이 존재하는지를 검토하기 위해 다음 단계 s435로 진행한다.
Figure 112009062575075-pat00017
에 따른 수신 패킷 중 소스 노드 m_{k}으로부터 목적지 노드 m_{k}'으로의 데이터 패킷이 평균 데이터 패킷량(A_{DATA})보다 큰 값을 갖는지 여부를 판단한다(s435). 즉, 소스 노드 m_{k}로부터 목적지 노드 m_{k}'으로 전달하고자 하는 실제 데이터 패킷의 크기가 평균적으로 전달되는 평균 데이터 패킷량보다 많은지 여부가 판단되는 것이다.
여기서, 마찬가지로 A_{DATA}도 A_{RREQ}과 마찬가지로 다양한 실시예에 따라 설정될 수 있다. 즉, A_{DATA}는 미리 고정된 값이 설정되거나, 네트워크 환경 등에 따라 가변적으로 변하는 값일 수도 있으며, 또한 제1 한계치 또는 제2 한계치 동안 수신되는 데이터 패킷의 평균량일 수도 있다.
s435에서의 판단결과
Figure 112009062575075-pat00018
에 따른 수신 패킷 중 m_{k}으로부터 수신된 데이터 패킷량이 평균 데이터 패킷량 보다 큰 경우에는 악의적 플러딩에 의한 데이터일 수 있으므로, 불필요한 데이터 전송에 따른 오버헤드(overhead)를 줄일 수 있도록 제1 한계치인 T_{buffer} 또는 제2 한계치인
Figure 112009062575075-pat00019
까지 수신된 데이터 중 m_{k}로부터 처음에 수신된 데이터 패킷 하나만을 송신 처리한다(s440).
이와 달리 s435에서의 판단결과
Figure 112009062575075-pat00020
에 따른 수신 패킷 중 m_{k}로부터 수신된 데이터량이 평균 데이터량 보다 크지 않은 경우에는 m_{k}로부터 수신된 패킷들(RREQ 패킷, RREP 패킷 및 데이터 패킷 등)을 송신 처리한다(s445).
또한 여기서, 모바일 노드는
Figure 112009062575075-pat00021
에 따른 수신 패킷 중 우선순위에 따른 타 소스 노드로부터의 데이터 패킷을 함께 송신 처리한다. 소스 노드별로 악의적 플러딩이 존재하는지를 판별하는 동안 전송이 중요시되는 데이터에 대한 송신 처리가 지연되는 경우를 대비하기 위한 것이다. 즉, 전송 우선순위가 높은 타 소스 노드로부터의 데이터 패킷이 존재하면, 해당 데이터 패킷을 우선하여 송신 처리한다. 여기서, 전송 우선순위는 소스 노드로부터 수신된 데이터 패킷을 개수로 결정될 수 있으며, 데이터 패킷의 개수가 적을수록 우선순위는 높아진다. 또한 보안 등에 따라 데이터 패킷 자체에 주어지는 우선순위가 있을 수도 있다. 즉, 보안이 높은 데이터 패킷일수록 우선순위가 높아지며, 이에 따라 s445에서 우선순위가 높은 데이터 패킷을 송신 처리할 수도 있다.
이후, 수신된 데이터들에 대한 처리가 완료될 때까지
Figure 112009062575075-pat00022
에 따른 수신 패킷들 중 다른 소스 노드로부터 수신된 패킷들을 처리하기 위해 s420부터의 과정을 반복한다. 즉 k을 1만큼 상승시킨 이후 s420으로 진행한다(s450).
본 실시예에 따르면, RREQ 및 RREP에 대해 악의적 플러딩이 존재하는지를 판단하고 그에 상응하도록 대처함으로써 RREQ 및 RREP을 이용한 DoS 공격에 대처할 뿐 아니라, 데이터 패킷을 이용한 DoS 공격에도 그 데이터 패킷량을 이용하여 악의적 플러딩 여부를 판별하여 대처할 수 있다.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드디스크, 광자기디스크 등)에 저장될 수 있다.
또한, 상기한 본 발명의 바람직한 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대해 통상의 지식을 가진 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.
도 1은 애드 혹 네트워크의 모바일 노드들을 예시한 도면.
도 2는 본 발명의 일 실시예에 따른 모바일 노드의 구성을 도시한 도면.
도 3은 본 발명의 일 실시예에 따른 모바일 노드가 수신된 데이터들을 처리하는 과정을 개략적으로 도시한 전체 흐름도.
도 4는 본 발명의 일 실시예에 다른 모바일 노드가 DoS 공격에 대해 대처하여 데이터를 처리하는 과정을 도시한 세부 흐름도.

Claims (11)

  1. 애드 혹 네트워크의 모바일 노드가 악의적 플러딩에 대처하는 방법에 있어서,
    (a) 악의적 공격이 일어났는지의 가능성을 판단하기 위해, 타 노드로부터 수신된 수신 데이터의 크기가 설정된 제1 한계치보다 큰지 여부를 판단하는 단계; 및
    (b) 상기 수신 데이터의 크기가 상기 제1 한계치보다 큰 경우, 상기 수신 데이터 중 상기 제1 한계치보다는 작게 설정되는 제2 한계치까지 수신된 데이터에 대해 소스 노드별로 RREQ 패킷 및 데이터 패킷을 이용한 악의적 플러딩이 수행되었는지 여부를 판별하여 처리하는 단계를 포함하되,
    상기 제1 한계치는 상기 모바일 노드가 한 번에 처리 가능한 패킷수와 컴퓨팅 능력을 이용하여 산출하며,
    상기 단계 (b)는,
    (b1) 상기 제2 한계치까지 수신된 데이터 중 소스 노드 m_{k}로부터 수신된 RREQ(Route Request) 패킷의 개수가 평균 RREQ 패킷개수보다 많은지 여부를 판단하는 단계; 및
    (b2) m_{k}로부터 수신된 RREQ 패킷의 개수가 상기 평균 RREQ 패킷개수보다 많으며, 상기 RREQ 패킷에 상응하는 RREP(Route Reply) 패킷이 상기 제2 한계치까지 수신된 데이터에 포함되지 않은 경우, 상기 RREQ 패킷 중 어느 하나만을 송신 처리하는 단계를 포함하는 것을 특징으로 하는 악의적 플러딩 공격에 대한 대처 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제 1항에 있어서, 상기 단계 (b2)는
    상기 RREQ 패킷 중 가장 작은 TTL(time-to-live)을 갖는 어느 하나를 송신 처리하는 것을 특징으로 하는 악의적 플러딩 공격에 대한 대처 방법.
  6. 제 1항에 있어서, 상기 단계 (b)는,
    (b3) 상기 제2 한계치까지 수신된 데이터 중 상기 m_{k}로부터 수신된 데이터 패킷량과 평균 데이터 패킷량을 비교하는 단계; 및
    (b4) 상기 비교의 결과 상기 m_{k}로부터 수신된 데이터 패킷량이 상기 평균 데이터 패킷량 보다 많은 경우 상기 m_{k}로부터 수신된 데이터 패킷 중 최초로 수신된 데이터 패킷만을 송신 처리하는 단계를 더 포함하는 것을 특징으로 하는 악의적 플러딩 공격에 대한 대처 방법.
  7. 제 6항에 있어서, 상기 단계 (b)는,
    상기 m_{k}로부터 수신된 데이터 패킷 외에, 상기 제2 한계치까지 수신된 데이터 중 전송 우선순위에 따른 다른 데이터 패킷을 송신 처리하는 단계를 더 포함하는 처리하는 것을 특징으로 하는 악의적 플러딩 공격에 대한 대처 방법.
  8. 제1항 및 제5항 내지 7항 중 어느 한 항의 방법을 수행하기 위한 명령어들의 조합이 유형적으로 구현되어 있으며 디지털 정보 처리 장치에 의해 판독 가능한 프로그램이 기록된 기록 매체.
  9. 애드 혹 네트워크의 모바일 노드 장치에 있어서,
    타 노드로부터 패킷을 수신하기 위한 송수신부;
    수신된 상기 패킷을 버퍼링하기 위한 버퍼링부; 및
    상기 버퍼링부에 제1 한계치를 설정하여 상기 타 노드로부터 수신된 수신 데이터의 크기가 상기 제1 한계치보다 큰 경우, 상기 수신 데이터 중 상기 제1 한계치보다는 작게 설정되는 제2 한계치까지 수신된 데이터를 이용하여 소스 노드별로 RREQ 패킷 및 데이터 패킷을 이용한 악의적 플러딩이 수행되었는지 여부를 판별하여 처리하는 제어부를 포함하되,
    상기 제어부는,
    상기 제2 한계치까지 수신된 데이터 중 소스 노드 m_{k}로부터 수신된 RREQ(Route Request) 패킷의 개수가 평균 RREQ 패킷개수보다 많으며, 상기 RREQ 패킷에 상응하는 RREP(Route Reply) 패킷이 상기 제2 한계치까지 수신된 데이터에 포함되지 않은 경우, 상기 RREQ 패킷 중 가장 작은 TTL을 갖는 하나만을 송신 처리하는 것을 특징으로 하는 모바일 노드 장치.
  10. 삭제
  11. 애드 혹 네트워크의 모바일 노드 장치에 있어서,
    타 노드로부터 패킷을 수신하기 위한 송수신부;
    수신된 상기 패킷을 버퍼링하기 위한 버퍼링부; 및
    상기 버퍼링부에 제1 한계치를 설정하여 상기 타 노드로부터 수신된 수신 데이터의 크기가 상기 제1 한계치보다 큰 경우, 상기 수신 데이터 중 상기 제1 한계치보다는 작게 설정되는 제2 한계치까지 수신된 데이터를 이용하여 소스 노드별로 RREQ 패킷 및 데이터 패킷을 이용한 악의적 플러딩이 수행되었는지 여부를 판별하여 처리하는 제어부를 포함하되,
    상기 제어부는,
    상기 제2 한계치까지 수신된 데이터 중 소스 노드 m_{k}로부터 수신된 데이터 패킷량과 평균 데이터 패킷량을 비교하여, 상기 m_{k}로부터 수신된 데이터 패킷량이 상기 평균 데이터 패킷량보다 많은 경우 상기 m_{k}로부터 수신된 데이터 패킷 중 최초로 수신된 데이터 패킷만을 송신 처리하는 것을 특징으로 하는 모바일 노드 장치.
KR1020090097114A 2009-10-13 2009-10-13 애드 혹 네트워크에서의 악의적 플러딩 공격에 대한 대처 방법 및 장치 KR101048513B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090097114A KR101048513B1 (ko) 2009-10-13 2009-10-13 애드 혹 네트워크에서의 악의적 플러딩 공격에 대한 대처 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090097114A KR101048513B1 (ko) 2009-10-13 2009-10-13 애드 혹 네트워크에서의 악의적 플러딩 공격에 대한 대처 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20110040005A KR20110040005A (ko) 2011-04-20
KR101048513B1 true KR101048513B1 (ko) 2011-07-12

Family

ID=44046446

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090097114A KR101048513B1 (ko) 2009-10-13 2009-10-13 애드 혹 네트워크에서의 악의적 플러딩 공격에 대한 대처 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101048513B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130014226A (ko) 2011-07-29 2013-02-07 한국전자통신연구원 공격 트래픽 형태별 특성에 따른 dns 플러딩 공격 탐지 방법
US9191399B2 (en) * 2012-09-11 2015-11-17 The Boeing Company Detection of infected network devices via analysis of responseless outgoing network traffic

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040105355A (ko) * 2003-06-07 2004-12-16 주식회사 디지털파루스 서비스거부 공격 및 분산 서비스거부 공격 차단 기능을갖는 네트워크 인터페이스 카드와 이를 이용한서비스거부 공격 및 분산 서비스거부 공격 차단방법
KR20080073972A (ko) * 2007-02-07 2008-08-12 삼성전자주식회사 단말의 상태 또는 응용 서비스의 특성에 기초한 라우팅경로 설정 방법 및 그 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040105355A (ko) * 2003-06-07 2004-12-16 주식회사 디지털파루스 서비스거부 공격 및 분산 서비스거부 공격 차단 기능을갖는 네트워크 인터페이스 카드와 이를 이용한서비스거부 공격 및 분산 서비스거부 공격 차단방법
KR20080073972A (ko) * 2007-02-07 2008-08-12 삼성전자주식회사 단말의 상태 또는 응용 서비스의 특성에 기초한 라우팅경로 설정 방법 및 그 장치

Also Published As

Publication number Publication date
KR20110040005A (ko) 2011-04-20

Similar Documents

Publication Publication Date Title
Gupta et al. BAAP: blackhole attack avoidance protocol for wireless network
Choudhary et al. Preventing black hole attack in AODV using timer-based detection mechanism
Obaidat et al. Preventing packet dropping and message tampering attacks on AODV-based mobile ad hoc networks
Moudni et al. Modified AODV routing protocol to improve security and performance against black hole attack
Gadekar et al. Secure optimized link state routing (OLSR) protocol against node isolation attack
Patel et al. Blackhole and grayhole attacks in MANET
Gaikwad et al. Detection and removal of node isolation attack in OLSR protocol using imaginary nodes with neighbour response in MANET
Tu et al. SMA2AODV: Routing protocol reduces the harm of flooding attacks in mobile ad hoc network
Gurung et al. Mitigating impact of blackhole attack in MANET
KR101048513B1 (ko) 애드 혹 네트워크에서의 악의적 플러딩 공격에 대한 대처 방법 및 장치
Wahane et al. Technique for detection of cooperative black hole attack using true-link in Mobile Ad-hoc Networks
Lokare et al. Cooperative gray hole attack discovery and elimination using credit based technique in MANET
Abd El-Haleem et al. TRIUMF: Trust-based routing protocol with controlled degree of selfishness for securing MANET against packet dropping attack
Qasmarrogy et al. Ad hoc on-demand distance vector inherent techniques comparison for detecting and eliminating the black hole attack nodes in mobile ad hoc network
Shah et al. Mitigation for Jelly Fish Attack on MANET
Kumar et al. Intrusion detection technique for black hole attack in mobile ad hoc networks
Dwivedi et al. An efficient approach for detection of wormhole attack in mobile ad-hoc network
Abd El-Haleem et al. TRIDNT: The Trust-Based Routing Protocol with Controlled Degree of Node Selfishness for MANET
Su Deployment of intrusion detection nodes to prevent wormhole attacks in mobile ad hoc networks
Sharma et al. A Behavioral Study of AODV with and without Blackhole Attack in MANET
Singh et al. Flood Tolerant AODV Protocol (FT-AODV)
Singh et al. Routing Misbehabiour In Mobile Ad Hoc Network
Bhalodiya et al. Study of Detection and Prevention Techniques for Flooding attack on AODV in MANET
Rathod et al. Security Scheme for Malicious Node Detection in Mobile Ad Hoc Networks.
Ahir et al. IAMTT-new method for resisting network layer denial of service attack on MANET

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: 20140430

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee