法律状态公告日
法律状态信息
法律状态
2018-07-10
未缴年费专利权终止 IPC(主分类):H04L29/06 授权公告日:20120509 终止日期:20170610 申请日:20090610
专利权的终止
2018-02-09
专利实施许可合同备案的注销 IPC(主分类):H04L29/06 合同备案号:2016320000219 让与人:南京邮电大学 受让人:江苏南邮物联网科技园有限公司 解除日:20180116 申请日:20090610
专利实施许可合同备案的生效、变更及注销
2016-12-14
专利实施许可合同备案的生效 IPC(主分类):H04L29/06 合同备案号:2016320000219 让与人:南京邮电大学 受让人:江苏南邮物联网科技园有限公司 发明名称:针对最优链路状态路由协议的特定攻击及其防御方法 申请公布日:20091209 授权公告日:20120509 许可种类:普通许可 备案日期:20161121 申请日:20090610
专利实施许可合同备案的生效、变更及注销
2012-05-09
授权
授权
2010-02-03
实质审查的生效
实质审查的生效
2009-12-09
公开
公开
查看全部
技术领域
本发明涉及Ad Hoc网络中针对最优链路状态路由协议攻击的防御方法,属于计算机网络与无线通信的交叉领域。
背景技术
随着新技术的出现和对工作环境灵活简易性的需求,移动无线网络的应用在快速地增长。由于Ad Hoc网络具有无基础设施需求、节点间链接脆弱、拓扑结构动态变化、身份认证缺乏以及无线信道的开放性等特征,因此其路由协议比传统网络面临更多的安全问题OLSR(0ptimized Link State Routing Protocol,简称OLSR路由协议)是由IETFMANET(Mobile Ad Hoc Network)工作组提出的一种表驱动式的链路状态路由协议。节点之间需要周期性地交换各种控制信息,通过分布式计算来更新和建立自己的网络拓扑图。被邻节点选为多点中继站(Multipoint Relay,简称MPR)的节点需要周期性地向网络广播控制信息。OLSR主要采用两种控制分组:HELLO分组和TC(Topology Control)分组。图1给出了HELLO控制消息的格式,图2给出了TC控制消息的格式。
HELLO分组用于建立一个节点的邻居表,其中包括邻居节点的地址以及本节点到邻居节点的延迟或开销,OLSR通过周期性地广播HELLO分组来侦听邻居节点的状态,节点之间无线链路的状态包括非对称链路、对称链路、连接MPR的链路。同时,HELLO分组用于计算该节点的MPR,HELLO分组只在一跳的范围内广播,不能被转发;与之相反,TC分组必须被广播到全网,节点根据收到的TC分组来计算网络的拓扑图。每个节点都要周期性地转发TC分组,在TC分组中就包含了将该节点选为MPR的邻居节点地址(称为MPRselector)。当节点收到TC分组时,首先判断自己是不是属于源节点的MPR。如果发现自己属于源节点的MPR,再根据TC分组中的序列号来判断该TC分组是否是最新的。如果是.则转发该TC分组,否则丢弃该分组。OLSR协议通过MPR机制来控制TC分组在网络中广播的规模,减少控制分组给网络带来的负荷,同时避免形成广播风暴。这两种控制消息足以让网络中的各个节点形成网络拓扑图,进而独立地根据最短路径优先的原则来计算路由表。
OLSR协议可能面临的安全问题,主要包括以下三个方面:
(1)机密性。作为一个主动的路由协议,OLSR周期性地传播拓扑信息,但由于Ad Hoc使用了不安全的无线链路,其控制消息很容易被监听,从而暴露了网络的拓扑结构。
(2)完整性。在OLSR中,所有节点通过转发HELLO消息和TC消息为网络提供拓扑信息。但是当某节点发生故障或恶意节点对网络进行攻击时,会提供错误的消息,从而破坏完整性,影响网络拓扑结构的生成。
(3)节点惟一性。OLSR并没有对节点地址做出任何假定,这就意味着可能会存在多个节点具有相同的地址或一个节点具有多个地址的情况。
针对上述安全问题,可能会有许多针对这些漏洞的攻击产生。本方法针对完整性提出一种攻击模型,并提出具体的防御方法。
发明内容
技术问题:本发明的目的是提供一种针对最优链路状态路由(OLSR)协议的特定攻击及其防御方法,主要是针对OLSR路由协议的一些特性来提出一种特定于OLSR协议的攻击,并针对该攻击提出一种防御机制。该攻击方案是通过篡改消息的序列号,导致后序消息的无效,从而实现破坏网络拓扑,而防御方案是在该攻击原理上逆向判断,通过判断可疑节点来确定恶意节点是否存在。
技术方案:本发明的方法主要是一种针对OLSR协议漏洞的攻击,同时又提供了一种针对该攻击的防御机制。
以下为本发明中对应的中英文术语:
方法流程
该攻击方法及其防御机制具体描述如下:
一攻击方法步骤
步骤1)在网络中植入恶意节点,一开始不发动恶意攻击,只窃听相关路由信息,
步骤2)发送攻击命令,启动恶意攻击,恶意节点接收到源节点A产生的拓扑控制消息,即TC消息,记录下该TC消息的序列号,即ANSN,
步骤3)在步骤2)的基础上,恶意节点重新发送一个新的拓扑控制消息,源地址仍然设为刚开始的源地址,而新的序列号为在原有的序列号上加上5,即ANSN新=ANSN旧+5,
步骤4)在最优链路状态路由协议中,后续一段时间内,节点会忽略源节点A发过来的TC消息,
步骤5)设置一个定时器,每隔5秒采取一次步骤3)的操作;
二探测方法步骤
步骤2 1)在最优链路状态路由协议内部的拓扑发现中,若TC控制消息内的信息已经过时,也就是说,拓扑表中存在最后一跳等于该节点地址的表项,并且这些表项的拓扑序列号T_seq大于TC控制消息的ANSN域,则丢弃该TC控制消息,当攻击产生后,正常节点接收到恶意节点篡改后的TC消息,
步骤2 2)节点准备将新的序列号,即ANSN新写进拓扑表中,
步骤2 3)读出之前节点存储的拓扑表中最大的序列号即T_seq,
步骤2 4)计算出这次写进的ANSN新与先前的最大序列号之差Δ,
步骤2 5)若Δ>1,则把该TC消息的源节点列为可疑节点,
步骤2 6)读取经过一个TC消息时间间隔(TC_INTERVAL)后,该源节点所有的多点中继站,即MPR节点收到来自该节点的TC消息,记录下这些消息的ANSN,令之为ANSNnext,
步骤2 7)比较ANSNnext和ANSN新,若ANSNnext>ANSN新,则跳到步骤210),
步骤2 8)若ANSNnext<ANSN新,则判定该节点发出的TC消息的ANSN被其它的恶意节点篡改过,
步骤2 9)及时更新,令ANSN新=ANSNnext
步骤2 10)节点根据最新的ANSN来更新节点的拓扑表。
有益效果:本发明提出了一种针对于Ad Hoc网络OLSR协议的特定攻击,并针对该攻击提出防御机制,攻击方案具有如下几个特性:
(1)针对性:本方法提出的攻击是单独针对于OLSR协议起效的一种攻击,而不像虫洞攻击等,适用于许多路由协议,因此,本方法提出的这种ANSN攻击针对性比较强。
(2)自适应性:本方法提出的攻击能够根据Ad Hoc网络的网络情况,视情况发动攻击,攻击的破坏程度也可以通过参数的设置来变换,把ANSN变化的数越大,网络被破坏的时间也就会越长。
(3)灵活性:该攻击根据操作者发起的命令,可以随时启动,也可以随时关闭,比较灵活。
防御机制的几个优点
(1)精简性:Ad Hoc网络中添加该防御机制后,网络开销并没有增加许多,因此很大程度上减轻了网络的负荷。
(2)连续性:在网络中自始至终添加该机制,能够防御该攻击的不连贯攻击,不会因为攻击的不连贯而导致防御机制的失灵。
附图说明
图1 OLSR协议中HELLO控制消息的格式。
图2 OLSR协议中TC控制消息的格式。
图3 具体场景。
图4 本发明中的攻击方案的流程图。
图5 本发明中的防御机制的流程图。
具体实施方式
一攻击方法步骤
步骤1)在网络中植入恶意节点,一开始不发动恶意攻击,只窃听相关路由信息,
步骤2)发送攻击命令,启动恶意攻击,恶意节点接收到源节点A产生的拓扑控制消息,即TC消息,记录下该TC消息的序列号,即ANSN,
步骤3)在步骤2)的基础上,恶意节点重新发送一个新的拓扑控制消息,源地址仍然设为刚开始的源地址,而新的序列号为在原有的序列号上加上5,即ANSN新=ANSN旧+5,
步骤4)在最优链路状态路由协议中,后续一段时间内,节点会忽略源节点A发过来的TC消息,
步骤5)设置一个定时器,每隔5s采取一次步骤3)的操作;
二探测方法步骤
步骤21)在OLSR协议内部的拓扑发现中,若TC控制消息内的信息已经过时,也就是说,拓扑表中存在最后一跳等于该节点地址的表项,并且这些表项的拓扑序列号T_seq大于TC控制消息的ANSN域,则丢弃该TC控制消息,当攻击产生后,正常节点接收到恶意节点篡改后的TC消息,
步骤2 2)节点准备将新的序列号,即ANSN新写进拓扑表中,
步骤2 3)读出之前节点存储的拓扑表中最大的序列号即T_seq,
步骤2 4)计算出这次写进的ANSN新与先前的最大序列号之差Δ,
步骤2 5)若Δ>1,则把该TC消息的源节点列为可疑节点,
步骤2 6)读取经过一个TC_INTERVAL后,该源节点所有MPR节点收到来自该节点的TC消息,记录下这些消息的ANSN,令之为ANSNnext,
步骤2 7)比较ANSNnext和ANSN新,若ANSNnext>ANSN新,则跳到步骤210),
步骤2 8)若ANSNnext<ANSN新,则判定该节点发出的TC消息的ANSN被其它的恶意节点篡改过,
步骤2 9)及时更新,令ANSN新=ANSNnext,
步骤2 10)节点根据最新的ANSN来更新节点的拓扑表。
一TC控制消息格式
TC消息格式图见图2
(1)TC控制消息对控制消息头的设置:
a.Message Type设置成TC_MESSAGE,用于指明控制消息是TC控制消息。
b.Time To Live设置成最大值255,确保TC控制消息会被洪泛到全网。
c.Vtime设置成TOP_HOLD_TIME,指明TC控制消息所携带拓扑信息的有效期。
(2)TC控制消息:
a.ANSN(Advertised Neighbor Sequence Number):TC控制消息的序列号,由OriginatorAddress来维护。每当Originator的MS节点集发生变化,ANSN就自增一,保证收到TC控制消息的节点能够判断出拓扑信息的新旧程度。
b.Reserved:保留域,必须被设置成“0x0000”。
c.Advertised Neighbor Main Address:Originator的MS节点的主地址。
二攻击效果的选取
因为ANSN序号的变化会导致后续TC消息在一段时间内会被丢弃,导致网络拓扑构造失败,经过一段时间更新后,直到节点产生的TC包的ANSN足够大,网络的拓扑结构才会被重新构造正确。因此这段时间的长短取决于攻击中设置的参数大小,参数越大,攻击持续效果越久,反之,攻击持续效果越短。此外,可以通过修改两次攻击的时间间隔来改变攻击效果。因此,可以根据网络中具体的情况,适当设置参数,达到最好的攻击效果。
三 OLSR协议拓扑构造原则及防御原理
节点收到TC控制消息后会根据控制消息头的Vtime域,计算表项有效时间validitytime。然后利用TC控制消息的ANSN域来辨别TC控制消息内含信息的新旧程度,若TC控制消息所带信息足够新,则更新节点的拓扑表。
a.若收到的TC控制消息来自于非对称邻居节点,则丢弃该TC控制消息。
b.若TC控制消息内的信息已经过时(拓扑表中存在最后一跳T_last_addr等于main<Originator>的表项,并且这些表项的拓扑序列号T_seq大于TC控制消息的ANSN域),则丢弃该TC控制消息。
c.所有拓扑表中以节点main<Originator>为最后一跳并且已过时的表项都必须被删除(即删除拓扑中所有的T_last_addr域等于main<Originator>,并且T_seq小于ANSN的表项)。
d.从TC控制消息中提取所有的Advertised Neighbor Main Address,即节点main<Originator>的MS节点集,这里简称MS<Originator>。对每个MS<Originator>中的节点x做如下处理:一、若拓扑中存在节点x的对应表项(存在目的节点域T_dest_addr等于main<x>并且最后一跳域T_last_addr等于main<Originator>的表项),则该表项的表项有效时间域T_time必须被更新为当前时间加上validity time。二、若拓扑表中没有节点x的对应表项,则必须新增一个拓扑表项,设置该新增表项的目的节点域T_dest_addr等于main<x>,最后一跳域T_last_addr等于main<Originator>,拓扑序列号域T_seq等于ANSN,表项有效时间域T_time等于当前时间加上validity time。
根据拓扑的构造原则,可以看到一旦拓扑表项中存在最后一跳T_last_addr等于main<Originator>的表项,并且这些表项的拓扑序列号T_seq大于TC控制消息的ANSN域,该TC控制消息则被丢弃。此外,拓扑表的写入原则中把ANSN赋给了拓扑序列号域T_seq。因此,针对这两个特点,可以看出拓扑序列号域T_seq和ANSN存在必然的联系。一旦两者相差过大,则有两种可能:第一种,确实因为TC消息过时而被丢弃;第二种则是因为TC消息被篡改而导致。有了这两种可能,就可以将此TC消息的源节点,列为可疑节点。在前面OLSR协议的介绍中,TC消息只有被节点选为MPR的节点进行转发。所以,可以读取经过一个TC_INTERVAL后,该源节点所有MPR节点收到的来自该节点的TC消息,记录下这些消息的ANSN,令之为ANSNnext。比较ANSNnext和ANSN新,若ANSNnext>ANSN新,则认为是第一种可能,直接进行拓扑更新。反之,若ANSNnext<ANSN新,则判定该节点发出的TC消息的ANSN被其它的恶意节点篡改过。更改ANSN后(令ANSN新=ANSNnext),节点再根据最新的ANSN来更新节点的拓扑表,通过这个方法,可以有效避免受到ANSN攻击。
四场景结合
1攻击流程
通过NS仿真软件(见图3),可以直观地看清楚整个攻击和防御机制的实施过程。场景中设置了9个节点。其中3号节点为恶意节点,当它接收到1号节点发送过来的TC消息后,记录其ANSN,将其ANSN加大后,发出一个新的TC消息,源地址仍然为1号节点,当4号节点接收到这个新的TC消息后,将更新其拓扑表,导致其中许多新的拓扑条目具有较大的序列号。因此当下一次1号节点直接发给4号节点的TC消息将会被丢弃,这将导致网络拓扑构造失败。
2防御流程
当4号节点准备读入TC消息时,若发现准备写入的ANSN与之前节点存储的拓扑表中最大的序列号(即T_seq)相差大于1时,就将源节点即1号节点列为可疑节点,读取经过一个TC_INTERVAL后,1号节点所有MPR节点(O号节点)收到来自该节点的TC消息,记录下这些消息的ANSN,令之为ANSNnext。比较ANSNnext和ANSN新,发现ANSNnext<ANSN新,则判定1号节点发出的TC消息的ANSN被其它的恶意节点篡改过。及时更新,令ANSN新=ANSNnext.4号节点根据最新的ANSN来更新节点的拓扑表,这样可以使得网络免受这种攻击。
机译: 基于区域防御的区域威胁评估和针对特定区域的蓝色对抗威胁力的攻击方法
机译: 具有针对病毒和基于网络的攻击的自防御功能的移动设备以及使用该设备的自防御方法
机译: 具有针对病毒和基于网络的攻击的自防御功能的移动设备以及使用该设备的自防御方法