基于NS2的针对AODV协议的GreyholeAttack仿真研究

2019-10-21 09:15张家钢王海松刘一利
现代信息科技 2019年5期

张家钢 王海松 刘一利

摘  要:在缺少与实际目标对象直接接触的情况下,理论仿真可以有效地对攻击过程进行仿真,对攻击效果进行评估。本文介绍了NS2(Network Simulator 2)仿真工具的一般仿真流程和AODV协议的原理及应用特性,重点针对MANET中主要采用的未来各领域将广泛应用的AODV协议Greyhole Attack(灰洞攻击)搭建了仿真场景,编写了仿真脚本,对仿真数据进行了统计分析。通過仿真,验证了灰洞攻击的攻击效果。

关键词:MANET;AODV协议;NS2仿真;Greyhole Attack

中图分类号:TP393;TN929.5      文献标识码:A 文章编号:2096-4706(2019)05-0063-03

Abstract:In the absence of direct contact with the actual target,theoretical simulation can effectively simulate the attacking process and evaluate the attack effect. This paper introduces the general simulation process of NS2 (Network Simulator 2)simulation tool and the principle and application characteristics of AODV protocol. Focusing on the AODV protocol Greyhole Attack which will be widely used in various fields in the future,MANET builds simulation scenarios,compiles simulation scripts,and makes statistical analysis of simulation data. Through simulation,the attack effect of grey hole attack is verified.

Keywords:MANET;AODV protocol;NS2 simulation;Greyhole Attack

0  引  言

随着MANET技术在各领域中的深入应用,MANET的固有特性,如开放性、动态拓扑、缺乏明确的边界等,使得MANET中各层协议成为破坏的目标,如被动窃听、主动假冒、信息重放、黑洞攻击和灰洞攻击等。为了有效保护相关领域无线网络的安全,有必要针对各种攻击方法进行仿真,评估攻击效果,以便采取有针对性的防御措施。

1  AODV协议及应用特性

RFC 3561对AODV说明:它是一种反应式协议,当一个节点希望开始与和它没有共用路由关系的网络中的另一个节点通信时,AODV将为该节点提供拓扑信息。AODV使用控制消息来发现到网络中目的节点的路由。AODV方法中主要采取路由发现和维护机制来建立和维持任意节点之间关系。AODV中有三种控制消息:

RREQ:当源节点需要与网络中的另一个节点通信时,它会发送RREQ消息。AODV使用泛洪技术广播RREQ消息。在每个RREQ消息中,都有一个生存时间(TTL,time-to-live)值,TTL的值表示应该发送RREQ的跳数。

RREP:当某节点从它的上一跳节点发出的RREQ消息知道运往目的节点的路由时,保存源节点来时的路由,将“原路”返回RREP,其内包含有去往目的节点的路由。

RERR:在活动路由期间,网络中的每个节点都会持续监视其邻居节点的链路状态。当某节点发现活动路由中的链路断开或异常时,该节点会创建RERR消息,以通知其他节点该链路断开。

AODV方法的优点在于它采取了最不拥挤的路径而非最快的路径,它也很容易对拓扑变化做出反应,可以实现单播或多播,支持中间节点应答,能使源节点快速获得路由,有效减少了广播数。AODV方法的限制使它具有期待性和信任性,正是因为这一点,AODV容易受到各种类型的欺骗攻击。

从已有的试验结果可以看出,在不同的移动速度和不同的客户端资源交互时,使用AODV路由方法,网络吞吐量、丢包率、传输速率等方面性能较好。

2  NS2仿真

NS2(Network Simulator 2)是由加州大学伯克利分校开发的适用于多种网络协议的仿真软件,其包括大量工具模块,如TCP协议、路由算法、多播协议和调度器等,可用于仿真有线或无线、本地连接、卫星连接等网络形式,可以详细跟踪仿真过程,并用仿真动画工具NAM进行回放,再结合AWK或其它工具对生成的跟踪文件进行各种数学统计运算,利用画图工具将统计结果直观地表现出来。

NS2使用C++和OTcl两种语言,二者间采用TclCL自动连接和映射,运用分离对象模型的开发机制,将数据通道和控制通道的实现相分离。事件调度器和数据通道上的基本网络组件对象使用C++编写,这些对象通过TclCL映射对OTcl解释器可见。通过编写简单的TclCL/OTcl脚本代码就可配置仿真拓扑、节点等各种网络部件及其参数。另外,可以根据实际需要结合工具模块修改为新的协议,或者编写全新的协议,进一步拓宽NS2的网络应用范围。

3  灰洞攻击仿真

灰洞节点的行为表现介于正常节点和黑洞节点之间,按其攻击方式大致分为3类:节点选择型灰洞攻击、分组类型选择型灰洞攻击、时间选择型灰洞攻击,主要是通过对选定类型的目标以某一概率进行丢弃或转发,以影响网络的正常通信,下面以分组类型选择型攻击为例进行仿真。

3.1  灰洞攻击的仿真拓扑

在实际应用环境中,目标的MANET内部的节点通常部署在一定区域内,作为攻击方,一般很难进入到该区域内部,通常在边界进行隐蔽潜伏。因此,有很大的机率阻挡在最边界目标节点的前面,以此来达到灰洞攻击的效果。另外,还可以通过路由欺骗的方法,使灰洞节点加入到原有路由之中。为简化仿真过程,在此假设已经通过某种方法使灰洞节点位于目标节点的前方。如图1所示,节点0为源节点,节点4為目标节点,节点3为灰洞节点。

3.2  灰洞攻击的仿真场景

(1)参数设置,包括无线信道、无线传播模型、物理层、MAC层、接口队列、逻辑链路子层、天线、接口队列能接收的数据包数量、节点个数、路由协议和场景范围等。

(2)实例化Simulator对象,设置nam和trace文件,初始化场景并建立仿真拓扑,设定节点的运动范围。

(3)在节点实例化前,根据参数配置节点。

(4)实例化节点并初始化节点位置。

(5)实验数据流设置,在节点0与节点4间设置了一条CBR/UDP流。其速率为500kbps,运行时间为1-20s。相关代码如下:

set udp0 [new Agent/UDP]

$ns attach-agent $n0 $udp0

set null1 [new Agent/Null]

$ns attach-agent $n4 $null1

$ns connect $udp0 $null1

(6)提前编写攻击模块greyhole,在节点3处设置灰洞攻击,攻击起始时间为5s,实验运行结束时停止攻击。

$ns at 5.0 "[$n1 set ragent_] greyhole"

$ns at 5.0 "$n1 label \"Greyhole Node\""

(7)开始仿真,结束时保存实验数据和动画演示。

3.3  灰洞攻击的仿真过程

仿真开始后,节点0建立到节点4的路由,并向节点4发送数据,如图2所示,网络链路正常。从5s开始,节点3进行灰洞攻击,数据包在节点3处被概率丢弃,无法完全传输到目标节点4。在5-6.6s期间,数据包被节点3抛弃,8.1s左右,数据包又可以正常到达节点4。由此可以看出,由于灰洞节点的攻击,数据包以一定的概率到达目标节点或被丢弃。

3.4  仿真结果分析

对trace记录的文件数据进行分析,这里主要统计到达节点4的数据传输率或节点3的数据丢弃率:节点4接收到的AGT层的cbr包的数量/节点0发送的AGT层的cbr包的数量。

if($1=="r"&& $3==” _4_” &&$4==" AGT"&&$7=="cbr")

recvnum++;

if($1=="s"&& $3==” _0_” &&$4==" AGT"&&$7=="cbr")

sendnum++;

得到数据传输率为30.72%,相应的数据丢弃率为69.28%。

仿真结果表明,灰洞攻击会对数据传输率或丢弃率造成一定的影响,并可以通过修改协议控制影响大小,这种情况类似于在网络连接测试中的ping包的丢包现象。在相关无线场景下,通过灰洞攻击,目标节点不能完整地接收到源节点的数据,因此无法及时执行相关操作或者命令。同时,源节点又能显示出目标节点的存在,这就增加了迷惑性,使其不能及时发现存在的攻击。

4  结  论

本文结合实际专业需求,对现有的MANET中的AODV协议进行了Greyhole Attack仿真。通过仿真,得到了定性和定量的攻击效果。本文的攻击仿真是建立在MANET中网络数据的明文基础上的,随着各种安全技术,如安全协议、加密算法、密钥分配、散列函数和认证技术等在无线网络中的广泛使用,对无线网络的攻击还需要更深入的研究。

参考文献:

[1] 杨姣.移动Ad Hoc网络中虫洞攻击检测方法的研究 [D].长沙:湖南大学,2011.

[2] 董博文.基于NS2的AODV路由协议研究与实现 [D].武汉:武汉理工大学,2013.

[3] 刘宇静.海上无线通信网络路由协议分析研究 [J].舰船科学技术,2016,382(2):22-24.

[4] 潘小清,王晓喃.按需路由协议AODV与DSR的对比分析 [J].常熟理工学院学报,2014,284(4):83-86.

[5] 陈爱霞,杜友福,陈中举.NS2仿真典型Ad Hoc网络协议及性能分析 [J].电脑知识与技术,2014,10(30):7021-7024+7031.

[6] 金光,江先亮.无线网络技术教程-原理、应用与实验 [M].(第2版)北京:清华大学出版社,2014.

作者简介:张家钢(1983.12-),男,汉族,河南淅川人,助理工程师,硕士,研究方向:网络通信技术应用;王海松(1973.10-),男,汉族,河北沧州人,工程师,博士,研究方向:网络通信技术应用;刘一利(1983.10-),男,汉族,河南商丘人,工程师,硕士,研究方向:网络通信技术应用。