移动自组织网络网络层的拒绝服务攻击
2012-07-18罗培红赵泽茂
罗培红,赵泽茂,杨 飞
(杭州电子科技大学通信工程学院,浙江杭州310018)
0 引言
移动自组织网络是由一组对等移动节点组成的多跳、临时、无固定基础设施的无限移动通信网络。它组网灵活,且具有很强的抗毁性,适应于许多特殊环境。但自组织网络同时也易受攻击,当前网络层的攻击主要分为3种:欺骗攻击、注入攻击和泛洪攻击。文献1利用伪造的路由回复响应路由请求,谎称其拥有最佳路由,形成一个具有黑洞的欺骗攻击。注入攻击指恶意节点向网络中注入海量数据,浪费网络资源。路由请求RREQ泛洪[2]是最常见危害最大的泛洪攻击。注入攻击和泛洪攻击达到一定程度时会占用大量带宽,降低网络性能,造成拒绝服务攻击。但现有的一些攻击方法易被检测,攻击失去效力,本文在详细分析无线自组网按需平面距离矢量路由协议(Ad Hoc On-demand Distance Vector,AODV)协议的基础上,针对网络层提出一种新的隐蔽性强的拒绝服务攻击。
1 按需平面距离矢量路由协议漏洞分析
AODV是移动自组织网络中一种常用的路由协议,共分为路由建立、路由维护和数据传输3个部分。欺骗攻击和泛洪攻击主要发生在路由建立过程,注入攻击主要发生在数据传输过程。下面详细讨论路由建立和路由维护过程及其存在的漏洞,为攻击的实施奠定基础。
1.1 AODV路由建立过程分析
图1 路由建立流程图
AODV的路由发现采用的是广播机制,路由依赖中间节点动态建立。当某节点要与另一节点通信,而它的路由表中又没相应的路由信息时,它就会通过广播RREQ(Route Requests)分组来发起一次路由发现过程。路由建立流程图如图1所示,中间节点响应RREQ时有两个情况:当有到目的节点的活动路由时直接发送RREP给源节点;否则直接转发RREQ。路由建立过程如图2所示,2节点为源节点,5节点为目的节点。当2节点要和5节点通信时,发起一次RREQ广播,沿途所经过的节点都自动建立到源节点的反向路由,这些反向路由将会维持一定时间,以保证RREQ分组在网内转发以及产生的RREP分组能返回2节点。当RREQ分组到达了目的节点5或者具有到目的节点活动路由的中间节点,就会产生RREP分组,并利用中间节点建立的反向路由进行转发。当2节点收到返回的RREP时,路由建立成功,开始传送数据。移动自组织网络中节点间完全信任,协议中允许中间节点响应路由请求的过程存在一定的安全隐患。当中间节点没有活动路由却谎称有并发送RREP响应路由请求时,网络中没有对RREP的验证机制,这样经过中间节点的转发,一条虚假的路由就建立了。黑洞攻击就是借助于该漏洞发起。
图2 路由建立示意图
1.2 AODV路由维护过程分析
鉴于移动自组织网络拓扑结构的多变性,协议要求对节点间的链路情况进行监控,及时发现链路断开的情况并发送RERR消息以进行路由修复或者路由重建。AODV协议中主要通过周期性发送HELLO消息和链路层上报的消息来判断节点间的链路连接情况。
AODV协议中节点通过发送和接受其他节点的HELLO报文来判定邻居节点集的,在一定时间内没有收到邻居节点的HELLO报文时,就认为该邻居节点已经移出了自己的传输范围,并通知相关节点更新路由。当活动路由中的节点移走后,链路中断,相关节点通过发送错误信息报文通知源节点以重新建立路由。如图3所示,假设2节点和5节点在通信,已成功建立的路由是2->4->0->7->5,但是7节点由于移动等原因断开了链路,此时0节点要广播一个RERR消息通知源节点重新建立路由或者0节点先进性局部路由修护,修复失败再通知源节点重新建立路由。
AODV中只有在节点判定邻居节点丢失的情况下才触发维护过程,而网络中节点对收到的RERR没有认证处理,可能会导致不必要的路由建立过程。如果增加HELLO消息报文的广播周期,并且在此时间内没有收发任何数据包,则邻居节点会误判为邻居节点的丢失而引起不必要的路由修复及重建。
图3 路由错误消息的转发
2 攻击实现原理
本文提出的路由攻击方法,并不破坏路由建立的过程,恶意节点在网络范围内自由的游动,当收到RREQ时积极响应,但是当加入路由后在传输数据过程中不是等待协议本身检测出链路中断时才发送RERR消息来进行链路的连接维护,而是利用协议本身的漏洞,控制HELLO报文的发送周期,让链路中的节点误以为链路中断,进行路由维护。路由的局部维护亦或迫使源节点重新建立路由,都会无端占用网络带宽降低带宽利用率。当网络中攻击节点较多时,网络通信中路由建立的时间就会大大增加,网络带宽的大部分将耗费在路由的建立上,使得网络真正传输数据的效率大幅降低。
简单的算法描述:假设一个移动自组织网络N,其中Mi为攻击节点,ATK为攻击的标志位,为1时表示攻击开始。
本文提出的攻击方法,从协议角度讲,完全是正常的行为,没有所有的自私行为,并且不存在恶意的丢弃海量数据包的行为,总结该攻击方法有以下优点:
积极参与路由,非自私性,不易检测;
巧妙利用原有协议的活动路由加大攻击机会;
发送的恶意的RERR也是网络中正常形成的,难以检测;
攻击节点本身阻碍经过它的数据的传送,但自己可以随意的利用网络发送数据。
3 模拟仿真及分析
实验所使用的仿真平台:Windows7+vmware7.2+linux+NS - 2.34,选 用IEEE802.11作为MAC层的协议,为对比攻击效果,路由协议一组选用AODVATK,另一组选用AODV作为对照组。节点的位置及移动与节点间的数据流是由节点移动产生器Setdest和传输产生器Cbrgen产生,具有随机性。运动区域选用500m×500m,场景及节点模型的其它参数设置如表1所示。截取实验场景如图3所示。
图3 实验场景
表1 模拟仿真参数的设定
模拟实验中,攻击节点随机分布在网络内,积极参与路由控制报文的转发和路由链路的建立,当攻击节点成功潜入路由链路时,当要发送数据时发起攻击。仿真结束后利用Gawk分析仿真结果,并用Gnuplot绘图。分析的网络中的数据包时延和网络的吞吐量如图4、5所示。由图4可以看出该攻击方法给数据包的传输带来了很大的时延,针对这次仿真,最大的时延是原来的5倍。这在一些特定的场合下将会造成巨大的损失。图5证实了该攻击方法对网络吞吐量造成了一定的影响,使得网络的平均吞吐量下降了约20%。
图4 数据包的时延比较
图5 网络的吞吐量的比较
4 结束语
本文通过对移动自组织网络中常用路由协议AODV的漏洞分析,提出一种针对网络层的隐蔽性强的DoS攻击方法,通过NS模拟仿真,证实这种攻击不但严重增加了网络中数据传输的时延而且对网络的吞吐量造成了一定的影响。另外,这种攻击方法在一定的情况下可以把攻击力扩大到最大,阻碍某条链路的连通性。本文主要探讨了这种DoS攻击在仿真环境下的攻击力,下一步将研究特殊环境下攻击实施方法和该攻击方法在实际中的攻击效力。
[1] Yih-chun H,Perri A.A survey of secure wireless ad hoc routing[J].Security& Privacy,2004,2(3):28-39.
[2] Ni S-y,Tseng Y C,Chen Y -s,et al.The broadcast storm problem in a Mobile ad hoc networks[C].New York:Proceedings of the Fifth Annual ACM international conference on Mobile computing and networking,1999:152-162.
[3] Bandyopadhyay A,Vuppala S,Choudhury P.A simulation analysis of flooding attack in MANET using NS-3[C].Chennai:Wireless Communication,Vehicular Technology,Information Theory and Aerospace& Electronic Systems Technology,2011:1-5.
[4] 易平,钟亦平,张世永.移动ad hoc网络中DOS攻击及其防御机制[J].计算机研究与发展,2005,42(4):697-704.
[5] Singh J,Singh P,Rant S.Enhanced local repair AODV(ELRAODV)[C].Trivandrum:Advances in Computing,Control,& Telecommunication Technologies,2009:787 -791.
[6] 王旭金.Ad hoc网络中减少泛洪拥塞的路由修复机制[D].上海:上海交通大学,2010.
[7] Perkins C E,Royer E B,Das R S.AD HOC on demand distance vector(aodv)routing[S]:IETF Mobile Ad Hoc Networking Working Group Internet Draft,2002.