AdHoc网络中节点攻击的防御方案的制作方法

文档序号:7603670阅读:327来源:国知局
专利名称:Ad Hoc网络中节点攻击的防御方案的制作方法
技术领域
本发明是针对Ad Hoc网络中OLSR路由协议的安全解决方案。主要用于解决无线 路由节点易受攻击的安全问题,属于网络安全技术领域。
背景技术
移动自组网(Mobile Ad Hoc Network)是一种无基础设施的无线网络,最初用于 军事通讯,它具有开放的媒质、分布式的合作、动态的拓扑结构和受限的网络能力特点,所 以特别容易受到攻击。应用于Ad Hoc网络中的OLSR (Optimized Link State Routing Protocol,最优化链路状态路由协议)协议是由INRIA(法国国家信息与自动化研究所)开 发提出,并被IETF MANET工作组确定为RFC标准的一种先应式无线移动Ad Hoc网络路由 协议。OLSR协议在优化网络负载的同时,使得网络的完整性和安全性在一定程度上比较容 易受到恶意节点攻击。例如MPR (Multi-Point Relays,多点中继)节点就存在很大的安 全隐患,这些隐患将给现代信息化战争带来严重后果。针对Ad Hoc网络的攻击有虫洞攻 击,黑洞攻击等。1.虫洞攻击
虫洞攻击一般由2个能直接通信的攻击节点协同发动,它们之间的链路称为“隧 道”(其长度大于普通节点信号覆盖半径,在路由上体现为1跳距离)是发动攻击的基础。 虫洞攻击示意如图1,其中A和B是距离较远的2个节点,不在信号覆盖范围内,X和Y是协 同攻击节点,在X和Y之间建立一条私密的链路形成“隧道”。当A向周围邻居发送HELLO报文时,X收到该报文后通过隧道传给Y,由Y原 封不动地重放到网络中,B接收到A的HELLO报文,判定A为1跳邻居。因此A,B以及所有 位于X,Y传播范围内正常节点的邻居表中均会存在伪邻居。若路由协议时以最优路径优先 原则建立路由表项,A到B的最短距离是Qn+2)跳,则A的η跳内的邻居会通过“隧道”建 立路由表项到达B。所有的节点的通信都暴露在攻击节点下,通过路由信息的扩散传播会使 网络极大范围内的节点通信受控于攻击节点,攻击者对通过其路径的信息进行篡改、丢弃 或窃取等恶意操作使网络中部分节点无法通信,甚至让整个网络瘫痪。2.黑洞攻击
黑洞攻击的特征有即使没有到目的节点的路由信息,黑洞节点也会声称自己具 备该路由信息,目的是为了干扰正常的数据传输;当收到其它节点传来的数据分组时,黑洞 节点会全部丢弃该分组以达到破坏网络的目的。黑洞攻击有两种方式单个节点的黑洞攻 击和多个节点配合的攻击。

发明内容
技术问题本发明的目的是提供一种针对Ad Hoc网络中OLSR路由协议安全的解决方案,来解决路由节点受攻击的问题。技术方案本发明的方法是一种策略性的方法,通过引入节点消息的密钥认证以 及对消息发送频率的监控达到对非法消息的过滤。一、体系结构
1.基于OLSR路由协议的Ad Hoc网络通过HELLO消息互相发送邻居消息,图2给出了 传统HELLO控制消息格式,其中字段含义如下所示 Reversed:该字段是个预留字段。Willingness:该字段表示节点为其他节点转发消息的乐意程度,主要有三 种类型WILL_NEVER表示节点不愿意参加消息转发;WILL_ALWAYS表示节点必然被选为MPR 节点;WILL_DEFAULT表示看具体的网络节点分布情况,可能作为MI5R节点。默认情况下该 字段为 WILL_DEFAULT。HTime 该字段表示HELLO消息发送周期,一般OLSR协议默认值为2秒,针 对MI5R节点的一种攻击方案便是对节点HELLO消息周期的修改,降低周期值并利用攻击节 点模拟MPR节点发送HELLO消息给周围节点,将消息中的Willingness字段修改为WILL_ NEVER (表示节点不愿作为MI5R节点)。防御的第二阶段便是监测HELLO消息的发送周期。Link Code:表示了节点与其邻居节点之间的链路类型和链接类型,ASYM_ Link表示单向链路;SYM_Link表示双向链路,而且表示被该节点选为节点的MPR。Link Message Size:给出本分组的大小,从Link Code字段开始计算,直到 下一个Link Code字段,倘若没有后续的链路类型,则到该分组的结尾。Neighbor Interface Address:邻居节点的地址列表。每一种链路类型之后 都会紧跟若干个邻居地址列表,表明发送HELLO分组的节点到这些邻居列表中的所有节点 的链路类型是前面Link Code中给出的链路类型。2.图3给出了改进的HELLO消息格式,它与传统的HELLO控制消息相比没有增加 消息大小,但是把消息中的一个Reversed字段改为Encrypt字段(放置加密信息)。在HELLO消息发送过程中提供密钥认证,该字段提供16位,利用SHAl算法对指 定密钥进行加密,每个节点发送时进行加密,接收到消息后进行解密认证,如果认证失败则 认为该消息非法,则丢弃该消息。二、方法流程
1、针对Mra节点的攻击分析
OLSR是一种先应式的网络表现在节点定时广播HELLO和TC消息,HELLO消息主要用 于实现链路侦测、邻居侦听的功能,以此建立节点的本地链路信息表,同时也用于向邻居节 点通告本节点的MPR节点选择;TC消息用于执行MPR Elector链路状态声明,使得每个 节点都能够感知全网拓扑图。OLSR协议的主要工作过程为首先,节点之间周期性地互相 发送HELLO消息来完成邻居探测,邻居探测也可以分为邻居节点探测、二跳邻居节点探测 和对邻居关系变化的响应;其次,被选为MPR的节点才会把TC分组消息发送到全网,这可 以大幅度减少控制消息的洪泛规模;最后是构建路由表,每个节点周期性地通过它周围的 MPR节点传播TC消息到网络中的所有节点,消息中包含了该节点及其MPR selector之间 的链路,网络中的每个节点通过接收到的TC消息建立它的拓扑表,然后再利用最短路径算 法来计算出它的路由表。由此可以看出如果能够实现对网络中某个或某些Mra节点的攻击便能够使得网络中消息传送中断甚至是整个网络的瘫痪,同时如果攻击者使用另外一个 节点来代替受攻击节点作为网络中的一个Mra节点,那么该节点可以在被攻击网络毫无感 觉的情况下截获其中的消息。在战场环境下可以攻击对方的网络节点以达到窃取或破坏 对方机密消息的目的。经过对OLSR协议的分析发现每个节点的HELLO消息中都带有一个 willingness的字段,该字段表示发送消息的节点作为MTO节点的意愿程度,常用的有五种 类型WILL_NEVER表示节点不能作为MPR节点;WILL_ALWAYS表示节点必须被选择为MPR ; WILL_DEFAULT表示节点可作为MI3R但不是必须的,视具体的算法而定;WILL_L0W表示节点 作为MI3R节点的优先级较低;WILL_HIGH表示节点作为MI3R节点的优先级较高。默认状态 为 WILL_DEFAULT。针对Mra节点的攻击方案就是针对其中的willingness字段,具体方案为如图4 正常节点为12个,gl, g2为攻击节点。首先在被攻击节点1处安排两个攻击节点gl、g2, gl用于模拟被攻击节点1向周围一跳邻居节点发送HELLO消息,不过其中的willingness 字段值为WILL_NEVER,使得被攻击节点不能作为MPR节点,从而中断0节点与3节点的通 讯。而且通过仿真发现通过修改攻击节点gl发送HELLO消息的频率可以使得经过被攻击 节点1的数据丢包率不断增加,当频率足够大时0节点与3节点之间的联系完全中断。实 现了对已有链路的破坏后,另外攻击节点g2开始工作,代替原1节点把已经断开的连接重 新连接,让数据消息通过攻击节点g2,从而达到攻击网络的目的,接下来就可以窃取或修改 消息。在实际攻击中gl节点攻击频率可以直接设置为能使得网络连接中断的值,而g2节 点同时开始工作,几乎可以使得网络无法感觉到被攻击。用此方法在战场上便可以在关键 时刻给对手以致命打击。、针对MPR节点攻击的防御
上一节给出的攻击方案主要是针对HELLO消息中的willingness字段,所以接下来的 防御方案也是针对HELLO消息,提高对非法HELLO消息的过滤能力。防御方案通过对HELLO 消息加上两层过滤来实现(如图5所示)。第一通过分析HELLO消息的格式发现,其中有一个预留字段,基于这样一个字段 我们可以在不增加HELLO消息长度的前提下给它加上验证来保证消息的安全。针对以上攻 击采用以下的第一层过滤方案修改OLSR协议,给发送的HELLO消息的预留字段加上一个 加密的验证信息,而这个验证信息可以自由指定,但是必须保证大小不能超过16位表示范 围的数或字符串,使用SHAl加密算法对信息进行加密。每个HELLO消息都会在SHAl加密 的保护下发送,接收方在获取消息后首先提取出预留字段数据进行解密,如果解密信息和 指定验证信息不一样则可以认为该消息非法,选择丢弃。通过这一层的过滤,在加密的保护 下能抵御大部分非法HELLO消息攻击,但是SHAl加密算法并不是不可以破解,一旦这一层 防御被攻破还有以下第二层的有效过滤。第二 提取HELLO消息中的willingness字段并判断其值是否为WILL_NEVER,如 果不是则说明没有受到攻击,正常处理HELLO消息;如果是则说明网络有可能受到攻击。通 过在协议中添加HELLO消息跟踪监控功能,可以在这个时候监控发送该HELLO消息的一跳 邻居节点发送消息的频率,如果在正常HELLO消息发送时间间隔过程中发现接收到多个同 一邻居节点发送过来的消息(本文采用的是当前HELLO消息频率 > 原频率的25倍),可以认 为网络受到攻击,此时选择丢弃该HELLO消息,否则正常处理消息。
有益效果
本发明针对Ad Hoc网络OLSR协议中MPR节点的攻击,提出了一种解决方案。在攻击 情况下整个网络有瘫痪甚至有被攻击者窃取或篡改数据的危险,但是带有防御功能的网络 能够通过自身消息的密码保护和对消息发送频率的检测,达到双重安全保障的目的,从而 使网络完全避免受到此类攻击,保证数据传输的安全性和可靠性。


图1虫洞攻击示意图。图2是原HELLO消息格式。图3是修改后的HELLO消息格式。图4基于MPR攻击模拟图。图5针对MPR节点攻击的防御流程图。
具体实施例方式根据图4场景图假设0节点需要和3节点进行通讯,gl和g2是攻击节点,然后结 合图5的流程图给出以下攻防过程
1. OLSR是先应式的网络,在网络初始阶段整个网络结构已经建立好。2.首先在未受攻击的网络情况下,0节点能顺利向3节点发送消息。3.此时攻击节点gl和g2发动攻击,攻击是针对2节点,模拟2节点向周围节点 发送HELLO消息,从而完全取代2节点,此时网络中消息已经完全暴露在攻击者面前。4.针对以上攻击设计以下防御流程
1)修改OLSR协议,将发送的HELLO消息的预留字段Reversed字段改为放置加密信息 的Encrypt字段,大小不超过16位表示范围的数或字符串,使用SHAl加密算法对信息进行 加密,网络中每个节点对接收到的HELLO消息进行解密检查,若其中的Encrypt内容为空, 或者经过验证不是原来的加密信息则丢弃该消息,否则进入2)。2)获取HELLO消息中的Willingness字段,判断是否为WILL_NEVER,若不是则认 为该消息是安全的,正常处理消息,否则进入3)。3)根据协议中添加的HELLO消息跟踪监控功能,监控该消息源发送的消息频率, 如果其频率大于原频率的25倍则可以认为消息非法,丢弃该消息,否则正常处理消息。
权利要求
1. 一种OLSR路由协议中MPR节点攻击的防御方案,网络结构为采用OLSR路由协议的 先应式网络,各个节点之间可以顺利发送消息,其特点在于包含以下步骤第一步修改OLSR协议,将用于实现链路侦测、邻居侦听的HELLO消息的Reversed字 段改为放置加密信息的Encrypt字段,大小不超过16位表示范围的数或字符串,使用SHAl 加密算法对信息进行加密,接收方在获取消息后首先提取出Encrypt字段数据进行解密;第二步网络中每个节点对接收到的HELLO消息进行检查,接收方在获取消息后首先 提取出Encrypt字段的加密数据进行解密,若其中的Encrypt字段为空,或者经过验证不是 原来的加密信息则丢弃该消息,否则进入第三步;第三获取HELLO消息中的Willingness字段,判断是否为WILL_NEVER,若不是则认 为该消息是安全的,正常处理消息;第四步在协议中添加HELLO消息跟踪监控,监控发送该HELLO消息的一跳邻居节点 发送消息的频率,如果在正常HELLO消息发送时间间隔过程中发现接收到多个同一邻居节 点发送过来的消息,HELLO消息频率大于原频率的25倍,则认为网络受到攻击,此时选择丢 弃该HELLO消息,否则正常处理消息。
全文摘要
本发明涉及一种AdHoc网络中节点攻击的防御方案。包含以下步骤修改OLSR协议,将Reversed字段改为放置加密信息的Encrypt字段,接收方对接收到的HELLO消息进行解密,经过验证其中的Encrypt字段为空,或者不是原来的加密信息则丢弃该消息;获取HELLO消息中的Willingness字段,判断是否为WILL_NEVER,若不是则认为该消息是安全的;在协议中添加HELLO消息跟踪监控,监控发送该HELLO消息的一跳邻居节点发送消息的频率,HELLO消息频率大于原频率的25倍,则认为网络受到攻击,此时选择丢弃该HELLO。使用本发明方法,可以使网络完全避免受到此类攻击,保证数据传输的安全性和可靠性。
文档编号H04W84/18GK102098669SQ20111005716
公开日2011年6月15日 申请日期2011年3月10日 优先权日2011年3月10日
发明者张登银, 王振兴, 程春玲 申请人:南京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1