自组织网络协议及安全性分析
2016-10-13国辛纯吴素丽
国辛纯,吴素丽
自组织网络协议及安全性分析
国辛纯,吴素丽
(中国电子科技集团公司第五十四研究所,河北石家庄050081)
作为Ad Hoc网络关键功能的路由协议的安全性一直以来都是Ad Hoc网络研究的热点问题。针对AODV协议以及Ad Hoc网络面临的威胁进行了分析,研究使用无线信道对自组织网络进行黑洞攻击的方法,并使用NS2建立自组织网络攻击仿真模型,对黑洞攻击效果进行了评估,验证了黑洞攻击的有效性,为了预防此类攻击对AODV协议提出改进建议。
Ad Hoc网络;AODV;路由欺骗;黑洞攻击
引用格式:国辛纯,吴素丽.自组织网络协议及安全性分析[J].无线电工程,2016,46(5):12-16,48.
0 引言
无线自组织网络(Ad Hoc网络)[1]是一个对等式的网络,网络中所有节点地位平等,无需中心控制,不依赖于固定的基础设施(Infrastructureless),节点开机后就可以快速自动地组成一个独立的网络[2]。网络可以多跳传输,每个节点具有路由交换和数据转发功能,能够动态组网,节点加入和离开网络不受中心节点或控制设施的限制,任意节点故障对整个网络运行不会产生影响,网络抗毁性能比较高,具有较强的健壮性,Ad Hoc网络广泛应用在军事、传感器网络、偏远郊外和个人局域网等场合[3]。
和其他无线网络相比,Ad Hoc网络由于没有固定的基础设施或控制中心,节点可以随意加入和离开,Ad Hoc网络面临一系列安全威胁,特别是在网络层,节点之间依赖相互之间的协作和信任关系建立转发路由,网络中数据包基于路由进行转发到达最终目的终端。但网络节点之间信任关系的配套监督机制的缺乏,使实际环境中,Ad Hoc网络实际环境中节点间的这种信任关系并不可靠[4]。
本文在研究基于AODV的Ad Hoc路由协议的基础上,使用NS2网络仿真平台,利用节点之间的不可靠的信任关系,针对无线网络路由攻击特别是对黑洞攻击技术进行了研究和计算机仿真试验,分析了黑洞攻击的攻击效果,针对薄弱点对AODV协议提出了改进建议。
1 Ad Hoc网络的特点
无线Ad Hoc网络是一种无需预设基础设施的、动态、自组织和多跳的无线网络。与其他通信网络相比,无线自组织网络具有以下主要特征[5]:
网络自组织,相对常规通信网络,Ad Hoc网络建立不依赖于网络通信设施,节点之间自动组织,具有网络自组织性。
多跳性,节点发射功率和节点覆盖范围有限,且无固定基础设施进行中转,因此Ad Hoc网络节点间的通信往往需要借助其他节点中继转发功能实现,这样形成了网络的多跳转发路径。
网络拓扑结构动态调整,Ad Hoc网络中节点自动组织,可随意移动,随意加入或离开,造成节点之间关系不断改变,且变化的方式不受控制,变换的频率不可预测,使Ad Hoc网络拓扑结构不断动态变化可预测。
分布式组网方式,节点间通过分布式协议相互连接和通信,网络中无中心控制节点,节点间可以随意组网,一旦网络的某个或某些节点发生故障,网络节点能迅速绕过故障,正常组网和通信。
安全性差[6],Ad Hoc网络是一种在开放空间中的无线分布式结构,信号很容易被有目标的截取,所以Ad Hoc网络比一般的无线网面临更多的被窃听、入侵、网络攻击和拒绝服务等风险。
2 Ad Hoc网络路由协议分析
2.1 AODV协议
Ad Hoc按需距离向量路由协议Ad hoc On-demand Distance Vector Protocol(AODV)是Ad Hoc网络典型的路由协议。AODV是先验式路由协议DSDV和反应式路由协议DSR的组合,是一种反应式路由,只维持需要的路由,特别能适应对节点移动性较强的无线网络环境。它融合了DSR协议的路由发现和路由维护机制,并借鉴了DSDV协议逐跳(hop-by-hop)路由、顺序序号和在路由维护阶段周期更新的思想。AODV路由协议主要包括路由发现和路由维护过程。所谓路由发现过程即当源节点需要向目的节点发送数据报文时,查找是否存在到达目的节点的路由,如果到目的节点的路由不存在,则节点将发起路由发现过程,以此建立源到目的节点的路由并将路由信息存放在路由表中,以备后续转发使用;路由维护过程主要对已经建立的路由根据一定的机制进行路由维护,比如路由更新和路由老化等。
2.2 路由发现过程
AODV路由协议通过3种类型的路由控制报文完成路由的整个过程,这3种报文分别为:路由请求RREQ报文、路由应答 RREP报文和路由错误RERR报文。路由发现过程即当一个移动节点需要向网络中其他节点发送数据,但此时本节点的路由表中不存在到达目的节点的路由信息时,节点向邻居节点广播一个路由请求分组RREQ,即节点启动路由发现过程。该请求分组包括源节点地址、源节点序列号、目的节点地址、目的节点序列号、路由请求序列号、上一跳地址和跳数等信息。节点收到路由请求报文,建立到源节点的反向路,并检查自己是否是该节点要找的目的节点,如果是,则目的节点向请求路由的源节点返回一个路由响应RREP分组;如果不是,则检查路由表中是否存在到达目的节点的路由信息,如果存在,则代替目的节点发送一个路由响应报文,否则更新路由请求报文并继续向邻居节点广播,邻居节点收到后将重复这样的过程,直到找到目的节点或找到到目的节点的路由。
为了区分路由请求报文的新旧,AODV通过路由报文中的序列号进行区分,序列号越新说明生成路由报文的时间距离现在越近,收到路由请求报文的节点将根据报文中的“源节点地址”和“广播序号”选择处理那些新的、从没有收到过的报文,丢弃已经过时或重复的报文。
知道路由的中间节点或目的节点发送的RREP分组以单播的方式沿着刚建立的逆向路径传回源节点,源节点收到后即表明建立了到目的节点的路由,经由此路由节点就可以向对应目的节点发送数据。
在数据传输过程中,当路由转发路径上的节点发现路由失效不可用时,将以单播或多播形式向源节点发送REEE分组,告诉源节点到目的节点的路由已经失效,数据不能到达目的节点,必须重新发起路由发现过程,源节点收到后将根据RERR报文中指示的不可达目的地址重新发起路由查找。
2.3 路由维护过程
在路由建立起来之后,就可以通过转发路由进行数据传递了,同时在使用路由的过程中需要不断维护路由信息。每个路由节点都在自己的路由表中存储到邻居节点的列表,包括邻居节点地址和质量等信息,并且周期性地向网络中邻居节点发送HELLO数据报文,通知邻居节点自己处于正常活动存在。
如果节点在一定时间周期内没有收到邻居节点发来的HELLO报文,则认为该邻居节点不可达,通过该节点的路由已经失效,节点检查路由表中该邻居节点所涉及的所有路由信息,并通过发送路由失败报文通知所有使用了该邻居节点作为下一跳的上一跳节点,收到路由失败报文的节点继续向上一跳传递路,直到到达源节点,源节点收到后将启动新的路由发现过程。
2.4 AODV协议脆弱性分析
Ad Hoc网络由于没有固定基础设施、拓扑结构动态变化、无线信道开放性强、节点的恶意行为难以检测以及网络缺乏自稳定性等原因,无线Ad Hoc网络容易遭到多种类型的攻击[7]。
传统网络可以经由自己信任的路由器来转发分组,AdHoc网络中的节点本身就是路由器,支持数据转发和路由功能,在无线信号覆盖范围内可以直接通信,当节点距离比较遥远就需要借助中间的节点进行转发和中继,但是Ad Hoc网络没有严格的端到端的路由策略控制,更没有安全可信的节点路由认证机制,节点可以随时加入和离开,因此这种特殊的网络组织结构更增加了网络的不可靠性,使Ad Hoc网络更容易遭受来自无线空间的各种攻击。并且在路由建立过程中,节点间需要交互路由拓扑信息,这就更增加了路由遭受各种恶意攻击的可能性。
下面以路由发现请求包 RREQ报文、应答RREP报文及错误信息控制RERR报文作为攻击目标,测试 AODV协议对于抵抗扰乱路由建立过程,路由入侵等的可能性。
3 攻击方法研究
黑洞攻击[8]是一种破坏无线Ad Hoc网络路由的恶意行为,也是一种常见的攻击方式,它通过对路由协议的欺骗获得对网络数据包的控制,当节点在路由发现时,恶意节点即使没有到达目的节点的路由,它也会声称自己具有该路由,从而使得大量合法节点将数据分组传给它,当它收到这些数据分组时会全部丢弃,从而形成了一个吸收网络中数据的“黑洞”,使网络丢包率上升[5]。
黑洞攻击是一种主动攻击方式[9],由于它是通过假冒合法网络成员发送路由消息以欺骗其他节点,具有一定的隐蔽性和很大的破坏性,而且很难被发现。
黑洞攻击示意图如图1所示。
图1 黑洞攻击
针对Ad Hoc网络AODV路由协议的黑洞攻击[10],正是利用了 AODV协议的弱点来进行攻击[8]。当无线接入网络中的一个节点发出RREQ报文时,攻击节点会立即抢先回复RREP,欺骗该节点自己有到目的节点的最短路由或较高优先级,迫使攻击节点周围的节点将数据报文全部发给了该攻击节点,效果像宇宙中的黑洞一样,将无线接入网周围节点的数据,全部吸引到攻击节点上。
Ad Hoc网络中的黑洞攻击节点对收到的每个路由请求RREQ报文都回复一个虚假的路由响应RREP报文,以向该节点表明自己存在一条到达目的节点的最短路由,该路由只需一跳就能到达目的节点。黑洞攻击节点在处理路由响应时省略了许多中间处理过程,因此其路由响应报文会最先到达请求节点。因此路由请求节点基于此虚假的路由将先于其他响应很快建立起到目的地址的错误路由,此路由信息将经过黑洞攻击节点到达目的地址。攻击节点只需要将收到的数据包统统丢弃不进行转发等其他处理,就会在网络中形成一个吞噬数据包的“黑洞”,从而破坏网络的正常路由和转发功能,甚至使网络瘫痪。总结黑洞攻击的基本方法是:①攻击节点不发送路由请求包,不转发数据包;② 对所有收到的路由请求报文,攻击节点都回复一条“本节点有距离目的节点只要一跳的路径”的路由响应报文;③丢弃所有收到的路由响应报文和路由错误报文,不转发处理;④丢弃所有收到的数据包,不转发处理;⑤对收到的路由应答请求报文,回复路由应答响应报文[9]。
4 仿真结果分析
4.1 仿真软件及环境
NS2是一个用于仿真各种IP网络为主的优秀的仿真软件,使用C++和Otcl作为开发语言,最初是针对基于UNIX系统下的网络设计和仿真而进行的。NS2包含仿真事件调度器、网络组件对象库以及网络构建模型库等,可以说是Otcl的脚本解释器。事件调度器和数据通道上的基本网络组件对象都使用C++写出并编译的,这些对象通过映射对Otcl解释器可见。当仿真完成以后,NS2将会产生1个或多个基于文本的跟踪文件。只要在Tcl脚本中加入一些简单的语句,这些文件中就会包含详细的跟踪信息。这些数据可以用于下一步的分析处理,也可以使用NAM将整个仿真过程展示出来。相比之下,NS2更适合本课题的研究与仿真实现。本研究采用Linux操作系统下NS2网络仿真软件作为宽带无线自组网的组网方案性能仿真分析平台。NS2仿真所用网络的默认设置如下:仿真实验在一个总共由20个节点组成的宽带无线自组网上进行。这20个节点均匀分布在4×5的网格空间内。网络中的每个节点配置无线接口。2个相邻节点的距离等于节点的传输距离。所有节点的传输距离和干扰距离都相同。
4.2 仿真过程及结果
4.2.1 仿真过程
本文通过NS2搭建试验环境,通过仿真验证了黑洞攻击的攻击效果。
在该仿真过程中,网络使用若干条恒定速率(CBR)的数据流,随机节点向其他的随机节点发送数据流。当运行稳定一定时间后,入侵节点开始工作,通过搜索无线网络设备,获取无线网络节点的信息,利用网络漏洞截取链接密码,入侵到网络中后采用欺骗路由的攻击方式,对该无线网络实施攻击。在仿真结束之后,通过统计多个数据流网络的吞吐量性能,与攻击前的数据流网络吞吐量性能进行比较,可以明显观察出网络吞吐量的变化趋势。
采用NS2网络仿真软件对攻击过程进行仿真,2个攻击节点对其他20个无线自组织网络节点进行攻击,仿真软件演示了网络由正常通信到开始攻击的全过程。仿真环境初始节点分布如图2所示。图2中的无线节点,除中间2个为攻击节点外,其余20个节点为被攻击网络的节点。
图2 仿真环境初始节点分布
整个无线Ad Hoc网络开始发起路由寻找过程如图3所示,其中2个攻击节点向外发送数据包,表示在网络连接的时候已经开始对该无线Ad Hoc网络进行渗透工作。
在网络刚建立起来时,由于无线节点正在发送广播路由发起信息,需要建立全网路由表,网络仍不太稳定,在网络通信持续10 s后,网络达到一个基本稳定的状态,如图4所示,此时可以进行下一步的操作。
图3 路由发现过程
图4 无线网络通信稳定过程
黑洞节点开始攻击如图5所示。图5中,中间的2个为黑洞攻击节点,当有数据包经过这2个节点时,数据包将会被丢弃,形成一种黑洞的效果。这部分对应攻击方法中的第③点,中间的2个节点为攻击节点。
图5 黑洞节点开始攻击
在随后的时间内,黑洞节点在持续影响整个无线网络。黑洞节点接收到数据包后将其丢弃而不进行转发。仿真完成后,统计全网的网络信息,通过吞吐量折线图(如图6所示)可以明显看出,在开始攻击前的正常通信状态下,全网吞吐量处于正常范围,当攻击节点开始对网络进行攻击之后,由于黑洞效果的影响,网络吞吐量显著下降。
4.2.2 仿真结果分析及建议
如图6所示,整个仿真过程持续30 s,其中前10 s为网络正常通信的状态,可以看出前10 s内,全网的吞吐量和全网发送数据包的比值趋近100%,也就是说,只有一小部分数据包由于网络原因或者拥塞原因导致丢包,其余的数据包都能够迅速地成功被接收。
图6 全网吞吐量曲线
从第10 s开始,全网吞吐量急剧下降,说明攻击节点已经开始对网络进行攻击,使得网络的吞吐量受到严重影响,在后面的20 s里,网络总吞吐量百分比维持在30%左右,说明网络中有一小部分数据包没有经过黑洞攻击节点,而经过了其他中转节点成功发送,而其余的数据包都被黑洞所吸收,严重影响网络通信性能。
全网的丢包率示意如图7所示。和图6类似,前10 s网络正常通信时,由于网络自身的缘故,有少量的丢包,数值大概在2%~4%左右,这是正常现象。在第10 s时,黑洞攻击节点开始工作,使得全网的丢包率急速上升,达到将近70%。这无疑对网络造成了严重的影响。在后面的20 s内,丢包率一直非常高,是由于黑洞攻击节点接收到发来的数据包后,并不按照路由表进行转发,而是私自将数据包丢弃,造成真正的接收端接收不到数据包。
图7 网络丢包率变化
同时也对数据报文的时延情况进行了仿真,由于黑洞攻击节点对转发到目的节点的数据报文进行了丢弃处理,因此使所传报文时延变的无限大。
观察NS2仿真软件得出的nam动画和吞吐量曲线图,在攻击节点加入之前,全网通信正常。攻击节点加入后,可以从nam动画看出网络中某些数据包丢失,通过吞吐量图观察得出加入攻击节点后,网络吞吐量有显著下降。
通过上述测试,发现黑洞路由攻击带来的威胁和影响主要有如下几方面:
①使平均延时变得不稳定,黑洞节点越密集越不稳定,使网络性能降低;
②使网络吞吐量大幅度下降,网络开销显著地增加,严重虚耗了网络资源;
③使数据包丢失的状况大幅度增加,严重威胁网络正常通信;
④使路由发现时间和平均跳数虚假性地降低了。
鉴于黑洞攻击对AODV协议的有效性以及攻击方式的分析,为了预防此类攻击,AODV协议路由建立和维护过程必须启用合适的节点认证机制对邻居节点的可信度进行验证[11-12],只有通过验证的节点回复的RREP报文才认为是有效的,进而建立起可信度更高的路由,最大限度地避免虫洞攻击的发生。AODV协议选用的邻居节点之间的验证机制,一方面要能最大限度地提升节点之间的可信度,保证AODV路由的有效性,同时又能尽量降低系统的内耗和开销,保证协议的效率和有效性,具体验证机制留待课题后续研究。
5 结束语
通过对典型无线Ad Hoc网络黑洞路由攻击方法的研究,实现了规模达20个节点的无线自组织网络攻击方法的计算机仿真。从仿真结果看,在不改变网络连通性的情况下,通过黑洞攻击,网络原来的包传输率、吞吐量下降了50%;给出了吞吐量、时延、效率、网络信息流量态势变化图谱以及网络性能偏离程度的评估,试验结果表明,自组织网络的路由机制存在很大的安全隐患,AODV协议必须启用合适的验证机制以提高路由信息的可信度和安全性。
[1] 于宏毅.无线移动自组织网[M].北京:人民邮电出版社,2005.
[2] 陈林星,曾 曦,曹 毅,等.移动Ad Hoc网络:自组织分组无线网络技术[M].北京:电子工业出版社,2006.
[3] 杨 飞,赵泽茂,罗培红.基于多节点联合的Ad hoc网络攻击[J].网络安全技术与应用,2012(12):11-14.
[4] 杨 飞.移动Ad Hoc网络攻击技术研究[D].杭州:杭州电子科技大学,2013.
[5] 郑少仁,王海涛,赵志峰.Ad Hoc网络技术[M].北京:人民邮电出版社,2005.
[6] 高 轶,王 莹,冯 微.Ad Hoc网络可靠性评估[J].无线电通信技术,2011,37(2):7-9.
[7] 郭建立,刘 刚.移动自组织网路由稳定性分析[J].无线电通信技术,2011,37(4):1-3.
[8] 马 磊.Ad hoc网络基于投影寻踪的虫洞检测机制研究[D].武汉:华中科技大学,2011.
[9] 王旭赢,林中华,胡 源.Ad Hoc网络黑洞攻击仿真研究[J].海军工程大学学报,2011(2):107-111.
[10]沈明玉,刘俊龙.移动Ad hoc网络中黑洞问题的研究[J].合肥工业大学学报(自然科学版),2011(1):93-96.
[11]杨世欣.移动Ad Hoc网络路由关键技术分析[J].科技信息,2010(10):639,641.
[12]王 敏.Ad hoc网络安全路由探索[J].科技风,2011 (7):26.
Analysis on Ad Hoc Network Protocol and Its Security
GUO Xin-chun,WU Su-li
(The 54th Research Institute of CETC,Shijiazhuang Hebei 050081,China)
As a key-function of Ad Hoc network,the routing protocol and its security are always hot research topic.This paper analyzes AODV protocol and the threat faced with Ad Hoc network,studies a method of black-hole attack for Ad Hoc network by using wireless channel,and sets up simulation model for Ad Hoc network attack by using NS2.The black-hole attack effect is evaluated,and the results prove the effectiveness of black-hole attack.For preventing these kinds of attack,this paper offers a proposal for AODV protocol improvement.
Ad Hoc network;AODV;routing spoofing;black-hole attack
TN929.5
A
1003-3106(2016)05-0012-05
10.3969/j.issn.1003-3106.2016.05.04
2016-02-02
国家自然科学基金资助项目(61371068)。
国辛纯 女,(1980—),工程师。主要研究方向:信号处理、协议分析。
吴素丽 女,(1963—),研究员。主要研究方向:电子信息工程、网络工程。