dahoc网络黑洞攻击仿真大学毕设论文Word文件下载.docx
《dahoc网络黑洞攻击仿真大学毕设论文Word文件下载.docx》由会员分享,可在线阅读,更多相关《dahoc网络黑洞攻击仿真大学毕设论文Word文件下载.docx(11页珍藏版)》请在冰豆网上搜索。
黑洞就是其中一种常见的攻击方式,它通过对路由协议的欺骗获得对网络数据包的控制,进而进行丢弃,从而实现对AdHoc网络的攻击。
大部分现有的AdHoc网络路由协议,都没有对这种攻击的防御或处理机制。
虽然目前已有许多文献提出了可能的解决方案,但这些方案往往停留在理论分析阶段,缺乏有力的实验验证和分析手段。
仿真技术是研究和分析网络攻击行为的有效手段,它能够在不同的网络条件下,方便地得出攻击对网络造成的影响,并能对各种网络安全防范措施进行验证。
因此,建立AdHoc网络黑洞攻击仿真模型,提供一个可靠的仿真测试环境,对于AdHoc网络安全防范问题的进一步研究,具有重要的意义。
文中首先简要介绍了AdHoc网络中常用的AODV路由协议,分析了黑洞利用该协议的弱点进行攻击的原理,接着从AdHoc网络黑洞攻击的仿真入手,建立了AdHoc网络黑洞攻击节点模型,搭建了仿真场景,对不同强度的黑洞攻击行为进行仿真。
最后,结合仿真结果分析了黑洞攻击对网络性能的影响。
1.AODV路由协议与黑洞攻击
AODV路由协议是AdHoc网络中一种常见的按需路由协议。
当网络中的节点需要向目的节点传送数据时,将首先向它的相邻节点广播一个路由请求报文,报文具有惟一标识,并包含了源节点和目的节点的地址信息。
中间节点收到路由请求报文后,如果自己就是目的节点,则沿着该请求报文经过的路由向源节点反向发送一个包含路径信息的路由响应报文,由此建立一条从源节点到目的节点的路由。
如果不是目的节点,则在记录了上游节点地址(以便形成反向路由)后,继续向邻节点转发该请求报文,直到到达目的节点为止。
此外,在一条已建立的路由上传输数据时,转发数据的节点将先向该路由的下一跳节点发送路由应答请求报文,收到该请求报文的节点则回复一条路由应答响应报文,表示路由仍然有效。
如果因为中间节点或目的节点的移动而造成路由失效,检测到路由断连的节点则向其上一跳节点发送路由错误报文,收到该报文的节点将删除该部分路由。
AODV协议的特点保证了AdHoc网络能够动态组网并自组织运行,而该协议正常运行的前提是网络中的节点都必须是合作的、可信的。
一旦出现了恶意节点,很容易就对协议造成破坏。
黑洞攻击正是利用了AODV协议的这些弱点来进行攻击[3]。
AdHoc网络中的黑洞攻击节点对收到的每个路由请求报文都回复一个虚拟的路由响应报文,以表明该节点有一条到达目的节点的最短路由。
由于黑洞攻击节点回复路由响应时省略了许多中间环节,因此它的路由响应往往会最先到达源节点。
收到该回复的源节点则很可能就此建立错误的路由,把黑洞攻击节点作为路由路径中的中间节点,将数据包传送过去。
此时,攻击节点只需要将收到的数据包统统销毁,就会在网络中形成一个吞噬数据包的黑洞,从而破坏协议的正常功能,甚至使网络瘫痪。
2.基于OPNET的黑洞攻击仿真模型
OPNET是一款优秀的通信与计算机网络仿真软件[10]。
它采用层次化的建模机制,将建模的工作划分为网络层、节点层和进程层3个层次。
网络模型反映网络的拓扑结构、地理布局以及移动性等;
节点模型对应着实际网络中的各种计算和通信设备;
进程模型则以有限状态机构成的状态转移图来描述节点所含进程的行为,如协议和算法等。
利用OPNET来对黑洞攻击进行仿真,是通过在AdHoc网络仿真场景中加入黑洞攻击节点来实现的。
而黑洞攻击节点模型与AdHoc网络节点模型,主要是在网络层的路由进程模型的建模中有所区别,因此文中主要对黑洞攻击节点路由进程模型的建模进行阐述。
通过前文的论述,可知黑洞攻击的基本方法是:
1)攻击节点不发送路由请求,不传送数据包;
2)对所有收到的路由请求报文,攻击节点都回复一条我有一条只要一跳就能到达目的节点的路径的路由响应报文;
3)销毁所有收到的路由响应报文和路由错误报文,不予转发;
4)销毁所有收到的数据包,不予转发;
5)对收到的路由应答请求报文,回复路由应答响应报文。
由此得到黑洞攻击仿真的流程:
图1黑洞攻击仿真流程
根据黑洞攻击仿真的流程,建立黑洞攻击节点路由进程模型(见图2)。
该模型包含了7个有限状态机,分别模拟7种状态:
1)init状态:
当仿真开始时,进程模型首先进入init状态进行初始化操作,操作内容包括:
调入用户定义的属性和参数,初始化进程模型的全局变量,设置中断优先级,注册统计量等。
2)wait状态:
模型在完成初始化操作后,立即跳转到wait状态,等待触发事件的发生。
触发条件包括RCV_APP_PKT(收到数据包)、RCV_ROUTE_REQUEST(收到路由请求报文)、RCV_ACK_REQUEST(收到路由应答请求报文)等。
根据触发条件的不同进程将跳转到不同的状态。
3)RCV_APP(收到数据包)状态:
由于黑洞节点将抛弃所有收到的数据包,因此模型将不进行任何判断,而是直接将数据包销毁。
4)RCV_RREQ(收到路由请求报文)状态:
黑洞节点收到路由请求报文后,模型将立即生成一条路由响应报文,并在该报文包含的路径信息中填入该攻击节点的地址,然后将目的节点的地址放在攻击节点的地址后面,从而表示攻击节点有一条只要一跳就能到达目的节点的路径,最后将该路由响应报文反向传送回发起本次路由请求的源节点。
5)RCV_RREP(收到路由响应报文)状态:
进程将销毁该路由响应报文,而不是转发到下一个节点。
节点本身也不需要更新路由表。
6)RCV_RRER(收到路由错误报文)状态:
模型将直接销毁该路由错误报文,而不会去维护路由表。
7)RCV_ACK_REQUEST(收到路由应答请求报文):
模型将直接回复路由应答响应报文。
图2攻击节点路由进程模型
3.仿真实现
仿真开始时的AdHoc网络场景如图3所示。
网络由20个AdHoc网络节点组成,节点随机分布在10km8km的矩形区域中,传输报文业务。
节点间的通信距离为2.5km。
在初始场景基础上,分别在网络中随机加入1、2、4个黑洞攻击节点,对这几种情况进行了仿真。
采集了这几种情况下AdHoc网络的吞吐量、丢包率以及时延的仿真结果(见图4、图5、图6)。
图4反映了网络中存在不同数量的黑洞攻击节点时,对网络吞吐量的影响情况。
与网络中没有攻击节点时相比,当网络中存在较少的攻击节点时,网络的吞吐量出现小幅下降,但并不明显;
而随着网络中攻击节点数量的增加,网络吞吐量受到显著影响。
当存在4个攻击节点以后,网络吞吐量已下降到未受攻击时的25%左右。
图5反映了随着网络中黑洞攻击节点数量的增加,网络平均丢包率的变化情况。
与网络中没有攻击节点时相比,网络中存在1个和2个攻击节点时,网络丢包率由2%左右,分别上升到5%和11%左右;
而当网络中存在4个攻击节点以后,网络的丢包率大幅增加,最大时甚至超过了50%。
造成丢包大幅上升的原因,不仅仅是因为攻击节点销毁了大量的数据包,还包括路由协议不能正常运行后,频繁的路由失败造成的丢包。
1)仿真过程
A.子网的建立
B.网络层,图中包括节点和链路
C.节点模型
D.进程模型的建立
E.ADHOC程序设计
2)仿真结果
,
图3:
初始仿真场景
图5:
黑洞攻击下网络丢包率仿真结果
从图6可知:
随着网络中黑洞攻击节点数量的增加,网络的时延也随之增加。
当网络中黑洞攻击节点数量较少时,网络时延的变化相对不大,网络受到的影响较小,而当攻击节点的数量达到4个以后,网络时延大幅增加到6s左右,网络性能受到严重影响。
产生网络时延的主要原因是由于网络频繁的丢包之后,上层的网络协议需要不断等待通信节点间建立链接和数据包重传而造成的。
从仿真结果可以看出:
当网络中的黑洞攻击节点较少时,受到影响的节点数量有限,对网络的影响较小。
随着网络中攻击节点数量的增加,网络中受到影响的节点数量与受影响程度也相应增加,当攻击节点达到一定数量后,攻击强度超过了网络承受能力,网络性能将出现大幅下降。
通过不同的设置,仿真实验能够方便地得出不同强度的攻击对网络性能造成的影响程度,从而为AdHoc网络安全问题的研究提供可靠的实验环境。
图6:
不同攻击强度下网络时延仿真结果
4.小结
文中介绍了黑洞攻击的基本原理,并利用OPNET仿真平台,建立了AdHoc网络黑洞攻击仿真模型和仿真场景,获得了不同攻击强度下网络主要性能指标的仿真结果,并给出了初步的分析。
该模型能较为准确地模拟黑洞攻击对网络性能的影响,这将为进一步研究AdHoc网络的安全防范技术等问题提供重要的参考。