首页 > 范文大全 > 正文

Ad Hoc网络中OLSR路由协议的蠕虫防御

开篇:润墨网以专业的文秘视角,为您筛选了一篇Ad Hoc网络中OLSR路由协议的蠕虫防御范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要: 针对目前网络蠕虫防御系统的不足,传统路由协议又不能从根本上保证ad hoc网络的安全。通过剖析优化的链路状态路由协议(olsr)中存在的蠕虫路径问题,在现有解决方案的基础上,提出一种有效的路径选择方案,保障了数据端到端传输的可靠性,从而增强了路由协议的安全性。

关键词: Ad Hoc网络;路由安全;优化的链路状态路由协议;蠕虫防御

中图分类号: TP391

文献标识码:A

0 引言

优化的链路状态路由协议(OLSR)(Optimized Link State Routing Protocol)路由协议是Ad Hoc网络中的一种表驱动式的链路状态路由协议。Ad Hoc网络系统是一种具有高度变化的拓扑结构、不依赖于固定主干网、无基站支持的多跳、能快速部署到位、完整、强大、高抗毁的、能提供有效的数据和多媒体通信服务的独立的网络通信系统。由于Ad Hoc网中节点需要同时扮演主机和路由器双重角色,Ad Hoc网具有无基础设施需求、节点间链接脆弱、拓扑结构动态变化、身份认证缺乏以及无线信道的开放性等特征,因此其OLSR路由协议比传统网络面临更多的安全问题。

1 OLSR路由协议的工作方式

OLSR主要采用HELLO和TC(Topology Control) 两种控制分组。其中HELLO用于建立一个节点的邻居表,包括邻居节点的地址以及本节点到邻居节点的延迟或开销;OLSR采用周期性地广播HELLO分组来侦听邻居节点的状态,节点之间无线链路的状态包括:非对称链路,对称链路,连接多点中继站MPR(Multipoint Relay)的链路。同时HELLO分组用于计算该节点的MPR,HELLO分组只在一跳的范围内广播,不能被转发;与之相反,TC分组必须被广播到全网,在TC分组中包含了将发送TC分组的节点选为MPR的邻居节点的信息,节点根据收到的TC分组来计算出网络的拓扑图。

每个节点都要周期性地转发TC分组,在TC分组中就包含了将该节点选为MPR的邻居节点地址(称为MPR selector),当节点收到TC分组时,首先判断自己是不是属于源节点的MPR,如果发现自己属于源节点的MPR,再根据TC分组中的序列号来判断该TC分组是否是最新的,如果是,则转发该TC分组,否则丢弃该分组。通过MPR机制来控制TC分组在网络中广播的规模,减少控制分组给网络带来的负荷。这些信息足以让网络中的各个节点形成网络拓扑图,进而独立地根据最短路径优先的原则来计算路由表。

2 OLSR路由协议的蠕虫攻击

蠕虫攻击,是一种针对Ad Hoc路由协议,特别是带有防御性的路由协议的严重攻击,它是在两个串谋恶意节点间建立一条私有通道,攻击者在网络中的一个位置上记录数据包或位信息,通过此私有通道将窃取的信息传递到网络的另外一个位置。在数据包的传递过程中,蠕虫攻击者可以故意传递部分数据包,或篡改数据包的内容,将造成数据包的丢失或破坏。同时因为蠕虫能够造成比实际路径短的虚假路径,它会扰乱节点间的路径选择,从而导致路由发现过程的失败。

OLSR路由协议通过周期性地发送HELLO分组来检测邻居节点,如果攻击者通过私有通道将由节点A发出的HELLO分组传送给节点B附近的串谋攻击者,同样攻击者通过私有通道将节点B发出的HELLO分组传递给先前的攻击者,那么A和B将相信它们互为邻居节点,这将导致如果它们实际不是邻居节点时,路由协议将不能找到正确的路径。在如图1所示,A和B为正常节点,但是它们彼此检测不到,M为恶意节点,它可以检测到A和B。

M节点攻击如下:

r(A)表示节点A的邻节点

3) 节点B检测到A发出的HELLO_MESSAGE,它就认为节点A是其邻节点。

6) 节点A检测到B发出的HELLO_MESSAGE,它就认为节点B是其邻节点。

于是M使得节点A和B相信它们互为邻节点。

3 OLSR路由协议的蠕虫防御

蠕虫非常难于检测,因为它用于传递信息的路径通常不是实际网络的一部分;同时它还特别危险,因为它们能够在不知道使用的协议或网络提供的服务的情况下进行破坏。目前,已经有一些研究人员提出不同蠕虫问题的解决方法。其中有一部分解决方案是基于加密算法的安全策略,比如:Papadimitratos提出的路由协议安全扩展[4]、Hu等提出的SEAD[5]、Yi提出的SAR[6]。这些安全路由协议可以提供较完善的路由安全保障,主要使用加密方法改变无线传输中的位信息,但一旦节点妥协,这种方法就可能失败。

卡内基大学的Hu等人提出了一种称为“数据包限制”(packet leashes)的机制[5],采用一种有效的认证协议TIK来检测并防御蠕虫攻击,即匹配每个数据包的时间戳和位置戳以检测系统中是否有蠕虫入侵。每个数据包被发送节点打上了非常精确的时间信息或几何位置信息的标签,目标节点将数据包到达的时间和位置信息与标签相比较,如果数据在不切实际的时间长度内传送了不切实际的距离,那么就认为网络中有蠕虫。

结合前面的研究,现提出一种新的蠕虫防御方案,旨在加强邻节点关系的建立。在无线传输范围之内,只有通过了身份认证的节点才能成为邻节点,相邻节点关系确立后,达到防御蠕虫攻击的目的。

(1) 初始阶段安全假设

我们假设网络是双向链接的,即若从节点A能传送数据包到节点B,那么从节点B也能传送到节点A。

设想每个合法节点均拥有一对密钥,对相应节点A为(KA,K-1CA),KA是公钥,K-1CA为私钥。节点身份的可信度由第三方信任实体CA颁发的证书保证,节点 A的身份证书基本格式为:

为简化设计,假设Ad Hoc网络合法节点已通过安全方法获得本节点的身份证书及其他合法节点的公钥、证书版本号等相关资料。

(2) 邻居节点位置的确定

我们对邻居作如下定义:只有距节点一跳距离范围并通过了身份认证的节点才能成为邻居节点。

因为蠕虫的距离长于一跳间的距离,那么在其间数据包的传输时间肯定大于一跳间的传输时间。如果我们知道数据包准确的传输时间t,就可以得到数据实际的传送距离L=t×c,其中c是无线信号的传播速度。同时,节点的无线网卡的传输范围R是已知的,如果L>R,那么网络中可能存在蠕虫,反之则无。假设节点B收到了陌生节点A发出的HELLO分组,它将执行以下步骤:

• 节点B向节点A发送一个检测包,同时启动一个计时器;

• 节点A收到检测包后,立即发送一个应答包,同时也启动一个计时器;

• 一旦节点B收到节点A发出的应答包,立即停止计时,并也向节点A发送一个应答包。节点B获取了时间间隔Δtb,那么节点A和B之间的距离S就可以得到为(Δtb/2)×c,如果S>R,节点B不会加A为邻节点,否则将对节点A作身份认证;

• 节点A收到了从节点B发出的应答包后,马上停止计时,记录下数据包传输的时间间隔Δta,计算出节点间的距离S=(Δta/2)×c,如果S>R,节点A不会加B为邻节点,否则将对节点B作身份认证。

(3) 节点的身份认证

在通过了邻居位置的确认后,下一步就是进行节点的身份认证。

• 节点A生成一个数据包,包括一个随机数Ra,身份证书和包的哈希值,将其发送到节点B;

AB:A,B,CertA,RA,sign(H(A,B,CertA,RA));

其中,H()是一个哈希函数,sign()表示数字签名操作。

• 节点B收到从A发出的数据包后,它将首先校验 A的身份证书,以获取A的公钥来检验数据包的数字签名。所有这些完成后,节点B同样发送一个包含随机数Rb,节点的身份证书和哈希值的数据包到节点A。

BA:B,A,CertB,RB,sign(H(B,A,CertB,RA,RB))

• 节点A收到从节点B发出的数据包,在校验了节点B的身份证书和数据包的数字签名之后,A向B发出一个应答包,并相信节点B为其邻节点,将其加入节点A的邻居表中。

AB:A,B,sign(H(A,B,RA,RB))

• 节点B在收到节点A的应答包后,也相信节点A为其邻节点,并将其加入节点B的邻居表中。

在经过了邻居位置的确认和节点的身份验证后,节点A和B就能够建立起信任的邻居关系。

4 仿真检测与性能分析

4.1网络仿真

1) 采用NS2仿真器,对50个节点进行仿真,节点随机分布在1B000m×1B000m的矩形区域内,不同的移动场景文件使用不同的暂停时间。开始仿真后,节点在暂停时间内保持静止,然后随机选择一个目的地,以0或最大速度之间的某个速度向目的地移动,达到目的地后再在暂停时间内暂停,再随机选定另一个目的地,重复前面的过程。在整个仿真过程中,节点会一直重复上述的过程,整个仿真时间为1B000s。定义移动最大速度为20m/s。和7个不同暂停时间的移动模式。暂停时间t分别为0s,200s,400s,600s,800s,1B000s。

2) 通信流量仿真,采用CBR流量源,以每秒4个的速率发送包,每个包的大小均为64B,网络中含有20或30个CBR源。

4.2性能评估参数

1) 分组投递率:目的节点接收到的数据包与CBR源节点发出数据包的比率;

2) 平均端到端时延:从开始建立路由,到回传信息,一直到数据传送完毕所需的时间。

4.3结果与分析

第一组实验数据,如图2,是OLSR和WOLSR下不同的分组投递率。图2反映出WOLSR下的分组投递率有所提高,表明协议安全性有所增强。

此外,在增加CBR源的情况下,WOLSR可以减少大量路由开销,分组投递率降低得很少,且在源数目较多的时候,时延有所减少。这是由于WOLSR减少了网络中的拥塞,降低了平均端到端时延。

5 结语

随着移动Ad Hoc网络研究的深入,路由安全越来越受到重视。针对移动Ad Hoc网络OLSR路由协议中的蠕虫路径,提出确立相邻节点关系,通过节点身份的有效验证,保障了邻居节点发现过程的安全性,使用蠕虫检测方法防御蠕虫攻击,实现路由协议中的蠕虫防御,保证了网络中节点间的可靠通信。

网络蠕虫防御的研究是目前网络安全的热点,只有在足够短的时间内检测到蠕虫,才可能有效地防御蠕虫的攻击和蔓延。

威胁路由安全的漏洞有多种,虫洞只是其中之一,如何有效地防御蠕虫攻击和来自其他方面的安全威胁,还有许多工作要做,还需要更多的人长期研究下去,努力找到更好的办法,更有效地遏制网络蠕虫的传播。