基于邻居关系的分布式隐型虫洞检测方法

文档序号:7945764阅读:126来源:国知局
专利名称:基于邻居关系的分布式隐型虫洞检测方法
技术领域
本发明涉及自组织网络的安全防护技术,尤其是一种基于邻居关系的分布式隐性虫洞检测方法,它对于定位、数据采集等依赖于网络拓扑结构的自组织网络算法和应用,能有效的增强它们的可靠性和健壮性。
背景技术
自组织网络易于部署和适用于地震、火灾、战场等缺少网络基础设施的应用环境。它通常是多跳的网络,没有中心控制点,网络中的节点既是终端实体也是路由器,具有分布性和自治性等特点。虫洞攻击是自组织网络中一种危害严重的恶意攻击。虫洞攻击通常是指攻击者在网络中相距较远的两端创建一条隐秘"遂道",并通过这条隧道将捕获到的报文从网络的一端注入到网络远处的另一端。虫洞可分为显式虫洞和隐型虫洞两种类型。
如图1所示,显式虫洞中形成虫洞的两个端点伪装成"合法用户"在网络中出现,受虫洞u影响的节点p将认为它和节点q之间的路径为p-u-v-q,节点v也同样如此。然而,在隐型虫洞情况下,节点u、 v则不会让网络中其它节点感知到它的存在,受虫洞节点u影响的节点p会把受虫洞节点v影响的节点q当作它的直接邻居。
隐型虫洞攻击不需要俘获网络中的任何节点,网络中的其它节点无法感知它的存在,它仅通过简单的报文重放就可以达到攻击的目的,这让基于密码学的身份认证技术对它也失去了防范作用,它将严重降低自组织网络的性能和可用性。由于隐型虫洞攻击实施的简便性和危害的严重性,自组织网络必须要有一种实用、高效的隐型虫洞检测方法,才能提高自组织网络在现实环境中的可用性和可靠性。
所谓虫洞检测指从网络中发现出那些直接受到了虫洞控制的节点,所谓虫洞隔离是指网络中其它的节点把受到虫洞控制的节点从自己的1瑕输居节点列表中移除,从而避免了虫洞对网络的正常通信造成干扰。
Y,C. Hu提出一种方法通过在报文中加入传输位置或者传输时间约束来限制报文的传输范围,从而避免了虫洞的攻击;Poovendran提出了一种方法,在网络初始阶段由多个"监控节点"发布附加了自身位置信息的"密钥碎片"报文,网络中的节点通过所知道的共同的密钥片断来生成会话密钥,在此过程当中,若一节点收到同一监控节点的多个"密钥碎片报文"副本或者收到两个距离大于2R (R为监控节点的通信范围)监控节点的"密钥碎片"报文时,则可判断该节点处于虫洞攻击之下;X. Wang在假定节点具有定位能力的前提下,通过概率的方法分析了节点距离和跳数之间的关系是否异常来检测虫洞的存在;W. Wang利用了多维定标技术(MDS, multi-dimensional scaling)重构了网络拓扑,该机制中节点利用信号强度衰减来测算到自己邻居节点的距离,然后将这些信息发给网络中的"控制器",由于虫洞的存在使原来的平面拓扑结构弯曲,"控制器"通过对扭曲的网络拓扑进行分析来检测出虫洞的存在;N. Song通过分析得出构成虫洞的链路在网络节点间的路径中出现的频率远高于正常链路,因此可通过分析链路的使用频
3率来检测虫洞。
但是,现有技术方法具有如下不足之处
(1) 一些现有方法需要特殊的硬件设备支持,比如说GPS定位装置,精确的时钟,通信能力很强的超级节点。
(2) —些现有的方法是集中式算法,在这些方法中,网络中节点先将各自的局部信
息传输给逻辑上的集中控制点,然后由集中控制点根据各个节点传输过来的局部信息恢复整个网络的拓扑结构,再发现是否有异常拓扑情况存在来检测虫洞。
(3) —些现有的方法在检测概率和检测准确度上不够。它们一方面构建在特定的概率分布基础之上,另一方面难以应对统计中误差广泛存在的事实。

发明内容
本发明的目的在于克服现有虫洞检测方法的不足,提出一种基于邻居关系的分布式隐性虫洞检测方法,它无需特殊的硬件设备支持的、分布式的、算法复杂性低的可实用的隐型虫洞检测方法。
为了实现上述发明目的,首先指出了关于自组织网络中节点拓扑结构3个性质
性质l:正常网络拓扑下,任意节点与其2跳邻居节点之间的共同1跳邻居节点中互不为1跳邻居关系节点个数最多只有2个。
性质2:受同一个虫洞节点影响的任意两个节点要么互为l跳邻居,要么互为2跳邻居。
性质3:正常拓扑下,任意节点与其2跳邻居节点的共同1跳邻居节点集中互不为1
跳邻居关系的节点个数不超过2个,如果超过2个(即》3)该节点必受到虫洞节点的影响。
其中,性质3是构建在性质1和性质2基础之上的。由性质3可知,网络中的任意节点若发现它和自己的某个2跳邻居节点间的共同1跳邻居节点集中存在3个以上节点互不为邻居关系,该节点则可以据此判定自己受到了的虫洞攻击。
本方法检测虫洞攻击利用节点间相互邻居关系信息,自组织网络在正常拓扑下,任意节点对(u, v)(其中v是u的2跳邻居)的共同1跳邻居节点集中最多只会存在2个节点互不为1跳邻居关系。但是由于虫洞扭曲了网络拓扑结构,(u, v)的共同1跳邻居节点集中很可能有3个以上节点互不为1跳邻居关系。因此,虫洞的检测问题可等价地转变为求共同1跳邻居节点集是否存在3个以上节点互不为1跳邻居关系的问题。
邻居异常关系分析子方法利用性质3来判断节点是否受到隐型虫洞攻击,虫洞检测子
方法根据邻居异常关系分析子方法的结果来检测出所欲直接受到虫洞攻击的节点,虫洞隔离算法将虫洞检测算法检测出来的检测出来的直接受到虫洞攻击节点从网络中隔离出
去,即不再转发这些节点生成的报文。
结合上述描述,本发明的隐型虫洞检测方法包括以下步骤
(1) 在网络初始阶段,节点通过和自己的直接邻居节点的交互获得一份直接邻居列表,然后将它自己的直接邻居节点信息泛洪给它两跳范围内的所有节点。
(2) 网络中的每个节点维护一个记录表,记录着它所有的两跳邻居节点及这些节点的直接邻居节点信息。(3)网络中的个节点独立地运行虫洞检测模块。利用邻居关系异常分析子方法来检测自己是否受到虫洞攻击,利用虫洞检测方法检测出所有的受到虫洞攻击的节点,利用虫洞隔离方法将这些节点从网络中隔离出去。虫洞的隔离消除了虫洞对自组织网络的破坏,增强了整个网络的安全性和健壮性。
本发明的分布式隐型虫洞检测方法具有以下优点和显著效果
(1) 分布式
本发明的隐型虫洞检测方法是一个分布式的方法,即它不需要网络中存在任何物理上或逻辑上的中心控制节点,各个节点独立地执行隐形虫洞检测工作。若某些节点检测到虫洞,它再通过节点间的相互通信将虫洞信息通告网络中的其它节点,从而将虫洞的危害从整个网络中消除。
(2) 硬件设备要求低
本发明没有定位装置、精确时钟、超级节点等特殊的硬件设备要求,网络节点只需具备正常的通信能力即可满足虫洞检测方法物理上的要求。
(3) 性能优异
本发明的检测方法复杂性低,实施简便,在网络具有一定规模以后即具有较高的检测准确率。


图1为隐型虫洞攻击原理示意图2为基于邻居关系的分布式虫洞检测方法原理图;图3为本发明异常邻居关系分析子方法;图4为本发明隐型虫洞检测子方法;图5为本发明隐型虫洞隔离子方法;
具体实施例方式
基于邻居关系的隐型虫洞检测方法的工作流程可概括如下:在自组织网络中节点执行虫洞检测的过程当中,各个节点遍历自己所有的2超输居,并在它和2瑕输居的共同1跳邻居集中寻找是否存在违反正常网络邻居关系的结构存在来判断自身是否受到了虫洞攻击。若节点发现自己受到了虫洞攻击,它进一步利用相互之间的邻居关系信息获得一份包括所有受到同一虫洞攻击的节点的列表,并将该列表广播给在它的两跳范围之内的邻居节点,其它节点收到该广播报文后将列表中的节点从自己的邻居节点集中删除,即它们不再转发这些节点的报文,从而将虫洞从网络中隔离出去。
基于邻居关系的隐型虫洞检测方法包括三个子方法构成;邻居关系异常分析子方法、虫洞检测子方法、虫洞隔离子方法。三者之间的关系如图2所示,邻居关系异常分析子方法遍历自己所有的2跳邻居,并在它和2跳邻居的共同1跳邻居集中寻找是否存在违反正常网络邻居关系的结构存在来判断自身是否受到了虫洞攻击;虫洞检测子方法利用邻居关系异常分析子方法的结果来检测出网络中所有直接受到虫洞影响的节点,并将检测的结果通告给网络中其它节点的虫洞隔离模块;虫洞隔离子方法将虫洞检测子方法检测出的直接受到虫洞攻击的节点从网络隔离出去。
上述邻居关系异常分析子方法、虫洞检测检测子方法、虫洞隔离子方法,这三个子方法相互关联,分别承担着上述流程中描述的不同工作职能。下面分别描述各个子方法具体的执行细节。
1、 异常邻居关系分析子方法
如图3所描述,假设节点u和节点v互为2跳邻居关系。首先节点u计算它和v的共同l瑕输居节点集C《u,v),然后从d(u,v)中随机选择一个节点,并将该节点及其l跳邻居节点从d(u,v)中去除得到d(u,v))。再从C'i(U,V)中随机选择一个节点将该节点和它的1跳邻居节点从d(u,v)中除去得到C'、(u,v),此时若C'、(u,v)不为空则找到了三个以上节点互不为l跳邻居关系,此时节点u可以判断自己受到了虫洞攻击。当节点u得出自己受到虫洞攻击的结论以后,它要利用自己所拥有的信息生成部分它认为受到虫洞攻击
的节点列表,于是它求取节点u、 v和"C"!(U,V)中任一节点"的共同1跳邻居节点得到
节点集Smpects(u), Suspects(u)是节点u认为受到了虫洞攻击的节点的集合。
在上述过程当中,若C、(u,v)为空,则从d(u,v)中选择另外一个节点执行以上操作。若遍历d(u,v)中的所有节点且在此过程中C""u,v)始终为空,此时节点会据此认为自己可能没有收到虫洞攻击。
2、 虫洞检测子方法
如图4所描述,在网络进行虫洞检测时,各个节点,例如节点u,独立地运行虫洞检测模块,此时节点遍历自己的2跳邻居节点,利用邻居关系异常分析子方法来判断在它和任一 2跳邻居节点的共同1跳邻居节点集中是否存在邻居关系异常,如果存在,它将利用节点掌握的邻居关系信息获得一份包含所有受到虫洞攻击的节点信息的列表。这个列表是通过两个步骤获得的,其一是接收异常分析子模块传过来的Suspects (u)获得,其二是通过求自己和该2跳邻居节点的共同1跳邻居节点集获得。
接下来它将Suspects (u)传送给自身的虫洞隔离子方法。此外它还要把自己获得的这份包含了所有它认为受到虫洞攻击的节点的列表通过"虫洞通告报文"方式广播给它2跳范围内的所有邻居,为了保证报文的可靠性需要将对报文进行数据签名。
3、 虫洞隔离子方法
网络中还有一部分节点并不能判断自身是否受到了虫洞攻击,也不能判断出自身的邻居节点中是否有受到虫洞攻击的节点。但它可以接收其它节点广播过来的"受攻击的节点"列表。
如图5所描述,隔离虫洞时,节点,以u为例,通过接收自身的虫洞检测子方法传送过来的虫洞列表Suspects (u)和其它节点发送过来的虫洞通告报文信息来隔离虫洞。即若节点u不再认为位于Suspects (u)中和虫洞通告报文列表中的节点是它的l跳邻居节点,也就是说它不再为这些节点转发报文。
权利要求
1、一种基于邻居关系的分布式隐型虫洞检测方法,其特征是依据自组织网络中节点拓扑结构性质,将隐型虫洞的检测等价地转变为求共同1跳邻居节点集是否存在3个以上节点互不为1跳邻居关系;它包括三个相互关联的子方法,分别是邻居关系异常分析子方法、虫洞检测子方法和虫洞隔离子方法,其中邻居关系异常分析子方法遍历自己所有的2跳邻居,并在它和2跳邻居的共同1跳邻居集中寻找是否存在违反正常网络邻居关系的结构存在来判断自身是否受到了虫洞攻击;虫洞检测子方法利用邻居关系异常分析子方法的结果来检测出网络中所有直接受到虫洞影响的节点;虫洞隔离子方法将虫洞检测子方法检测出的直接受到虫洞攻击的节点从网络隔离出去。
2、 根据权利要求1所述的基于邻居关系的分布式隐型虫洞检测方法,其特征是包括 以下步骤(1) 网络初始阶段,每个节点获得自己的1跳邻居列表,然后通过泛洪给它的1跳和 2跳邻居节点;(2) 网络中的每个节点维护一个记录表,当它收到1跳、2跳邻居节点发送来的各自 的1跳邻居节点列表时将它们逐条存储到记录表中去;(3) 网络中的个节点独立地运行虫洞检测模块,利用邻居关系异常分析子方法来检测 自己是否受到虫洞攻击,利用虫洞检测方法检测出所有的受到虫洞攻击的节点,利用虫洞 隔离方法将这些节点从网络中隔离出去。
全文摘要
一种基于邻居关系的分布式隐型虫洞检测方法,利用自组织网络中的各个节点遍历自己所有的2跳邻居,并在它和2跳邻居的共同1跳邻居集中寻找是否存在违反正常网络邻居关系的结构存在来判断自身是否受到了虫洞攻击。若节点发现自己受到了虫洞攻击,它进一步利用相互之间的邻居关系信息获得一份包括所有受到同一虫洞攻击的节点的列表,并将该列表广播给在它的两跳范围之内的邻居节点,其它节点收到该广播报文后将列表中的节点从自己的邻居节点集中删除,即它们不再转发这些节点的报文,从而将虫洞从网络中隔离出去。
文档编号H04L12/26GK101494570SQ20091002444
公开日2009年7月29日 申请日期2009年2月23日 优先权日2009年2月23日
发明者张中科, 芸 汪 申请人:东南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1