一种路由攻击防御方法和装置的制作方法

文档序号:7751960阅读:151来源:国知局
专利名称:一种路由攻击防御方法和装置的制作方法
技术领域
本发明涉及通信领域,具体涉及一种路由攻击防御方法和装置。
背景技术
P2P对等网络中的路由过程需要经过多个中间节点互相配合完成。恶意节点可能加入网络,对正常的路由过程进行攻击。P2P对等网络中存在四种典型的路由攻击ID窃取攻击、路由劫持攻击、错误的路由转发攻击、路由表毒害攻击。(I)ID窃取攻击是指对等网络中的恶意节点(malicious node)收到路由查询消息时,在自身不是查询目标节点的情况下,将自身ID作为查询结果插入查询消息,并将这种具有错误信息的查询消息返回给查询源节点(sourcenode)。(2)路由劫持攻击是指对等网络中的恶意节点收到路由查询消息时,从恶意节点列表中选择一个ID插入查询消息,并将这种具有错误信息的查询消息返回给查询源节
点ο(3)错误的路由转发攻击是指对等网络中的恶意节点收到路由查询消息时,从路由表中随机选择一个节点ID,作为查询结果插入查询消息,并将这种具有错误信息的查询消息返回给查询源节点。(4)路由表毒害攻击是指恶意节点主动向其他节点发送错误路由表更新消息, 错误的路由表更新消息中包含受害节点(Victim Node) ID;这样造成的结果是受害节点 ID大量(非正常的)存在于其他节点的路由表中,导致路由查询时的流量都指向受害节点, 形成针对受害节点的拒绝服务攻击。现有常见的路由安全机制包括以下几种。(1)为实现P2P中的安全ID分配而部署的安全机制。包括限制单个节点获取节点 ID数目,节点获取节点ID时验证节点证书,通过哈希节点公钥的方法生成节点ID等。(2)为实现P2P中的安全路由表更新而部署的安全机制。包括基于路由路径检测的更新机制,对路由表更新消息的发起节点进行安全性检测的机制(其中包括节点信任机制)等。(3)为实现路由消息的成功传输而部署的安全机制。包括不相交路径传输机制; 以及在迭代路由中,路由消息发起节点对路由消息转发正确性的检测等。节点是P2P对等网络的基本组成单元,节点的安全性对P2P对等网络的稳定运行和正常服务提供具有重要作用。现有技术中,主要针对某一种攻击进行检测并根据检测的结果,提出解决方案;但是,由于P2P对等网络中攻击的多样性,单单针对某一种攻击进行检测防御,防御效果有限,不能满足可运营、可管理P2P对等网络的安全需求。

发明内容
有鉴于此,本发明的主要目的在于提供一种路由攻击防御方法和装置,以实现统一的路由攻击防御。为达到上述目的,本发明的技术方案是这样实现的一种路由攻击防御方法,该方法包括根据消息类型对收到的消息进行过滤并获得路由消息;根据获得的所述路由消息判断是否受到路由攻击,并在确定受到路由攻击时,根据路由攻击类型进行处理。所述路由消息包括以下之一或任意组合路由查询请求消息、路由查询响应消息、 路由表更新消息。对于路由查询响应消息,所述判断是否受到路由攻击的方法为如果消息内容为目标关键字key的最终查询结果,则检查key与根节点RootNode 之间的距离,并计算key、RootNode的平均值与约束因子的乘积,再将所述距离与所述乘积进行比较;如果所述距离大于乘积,则确认发生了 ID窃取攻击或路由劫持攻击;如果消息内容为目标key的中间查询结果,则检查所述路由查询响应消息中指明的下一跳节点是否比上一次中间查询结果中的下一跳节点在拓扑上更靠近目标key,并在本次查询结果比上一次中间查询结果远离目标key时确认发生了错误的路由转发攻击;对于路由表更新消息,所述判断是否受到路由攻击的方法为根据路由表项中源节点与目的节点的估算距离,对所述目的节点进行查找,将返回的节点与路由表更新消息中所述目的节点进行比较,若不一致,则确认发生了路由表毒害攻击。所述处理为在受到路由攻击时,通知P2P系统重新发起路由查询。该方法进一步包括根据路由攻击类型进行处理时,验证是否有恶意节点正在发动分布式拒绝服务攻
击ο一种路由攻击防御装置,该装置包括过滤子模块、检测子模块、响应子模块;其中,所述过滤子模块,用于根据消息类型对收到的消息进行过滤并将获得的路由消息提交给所述检测子模块;所述检测子模块,用于根据获得的所述路由消息,判断是否受到路由攻击,并在确定受到路由攻击时通知所述响应子模块;所述响应子模块,用于根据检测子模块检测到的路由攻击类型,进行处理。所述路由消息包括以下之一或任意组合路由查询请求消息、路由查询响应消息、 路由表更新消息。对于路由查询响应消息,所述检测子模块用于如果消息内容为目标key的最终查询结果,则检查key与RootNode之间的距离, 并计算key、RootNode的平均值与约束因子的乘积,再将所述距离与所述乘积进行比较;如果所述距离大于乘积,则确认发生了 ID窃取攻击或路由劫持攻击;如果消息内容为目标key的中间查询结果,则检查所述路由查询响应消息中指明的下一跳节点是否比上一次中间查询结果中的下一跳节点在拓扑上更靠近目标key,并在本次查询结果比上一次中间查询结果远离目标key时,确认发生了错误的路由转发攻击;
对于路由表更新消息,所述检测子模块用于根据路由表项中源节点与目的节点的估算距离,对所述目的节点进行查找,将返回的节点与路由表更新消息中所述目的节点进行比较,若不一致,则确认发生了路由表毒害攻击。所述响应子模块用于在受到路由攻击时,通知P2P系统重新发起路由查询。该装置进一步包括协作子模块,与所述检测子模块、响应子模块连接,用于在所述响应子模块根据所述检测子模块检测到的攻击类型进行处理时,验证是否有恶意节点正在发动分布式拒绝服务攻击。本发明路由攻击防御的方法和装置,不再单单针对某一种攻击进行防御,明显提高了防御效果,能够满足可运营、可管理P2P对等网络的安全需求。另外,所提出的统一和通用的路由攻击防御结构,能够实现统一的路由攻击防御,这有利于将P2P对等网络作为网络基础设施进行部署。


图1为本发明一实施例的路由攻击防御装置图;图2为本发明一实施例的路由攻击防御流程图;图3为本发明的路由攻击防御流程简图。
具体实施例方式为实现对典型路由攻击的自动免疫,可以如图1所示在由P2P系统(SYS)和路由表组成的节点功能模块的基础上,增加自免疫模块。并将自免疫模块分成四个子模块过滤子模块、检测子模块、协作子模块、响应子模块。总体而言,过滤子模块能够根据消息类型,对收到的消息进行过滤分类并将过滤后得到的路由消息提交给检测子模块。所述路由消息可以包括路由查询响应消息、路由表更新消息等。检测子模块根据从过滤子模块收到的消息,对节点是否受到路由攻击做出判断, 并根据判断结果触发响应子模块进行防御。对于路由查询响应消息,可以根据消息内容分别进行检测。(a)如果消息内容为目标关键字(key)的最终查询结果,则检查key与根节点(RootNode)之间的距离,并计算 key.RootNode的平均值与约束因子的乘积,再将所述距离与所述乘积进行比较。如果所述距离大于乘积,则确认发生了 ID窃取攻击或路由劫持攻击,进而由响应子模块进行后续处理。(b)如果消息内容为目标key的中间查询结果,则检查所述路由查询响应消息中指明的下一跳节点是否比上一次中间查询结果中的下一跳节点在拓扑上更靠近目标key,并在本次查询结果远离目标key时确认发生了错误的路由转发攻击,进而由响应子模块进行后续处理。对于路由表更新消息,节点会主动发起路由查询请求,对路由表项中的理论节点进行查找。如果返回的结果与收到的路由表更新消息不一致,则确认发生了路由表毒害攻
击ο响应子模块能够按照检测子模块的指令工作。如在检测子模块确认发生了路由攻击时,检测子模块能够将该路由攻击情况通知给响应子模块,由响应子模块重新发起路由查询,使节点获取正常的路由查询结果或者确保路由表项更新的正确性。协作子模块能够负责节点之间的协调。如当节点怀疑某个恶意节点正在发动分布式拒绝服务攻击时,可以通过协作子模块联络网络中的其它节点,以验证该判断是否正确。具体而言,图1中各子模块所能实现的操作包括(1)过滤子模块根据消息类型,对收到的路由消息进行过滤分类并分别提交给检测子模块和P2P SYS (P2P系统)。过滤子模块从接口 1接收来自overlay层的原始数据流,原始数据流包括路由消息,如路由查询请求消息、路由查询响应消息和路由表更新消息。过滤子模块向接口 2发送路由表更新消息。过滤子模块向接口 3发送路由查询请求消息、路由查询响应消息和路由表更新消肩、ο(2)检测子模块根据从过滤子模块收到的消息,对是否受到攻击进行判断,并根据判断结果触发响应子模块进行防御。检测子模块从接口 3接收路由查询请求消息、路由查询响应消息和路由表更新消肩、ο检测子模块从接口 5接收路由获取响应消息。检测子模块向接口 5发送路由获取消息。检测子模块向接口 6发送检测结果消息。消息内容为受到路由攻击的类型及攻击消息的内容。检测子模块从接口 7接收其他节点发来的检测协作请求消息。检测子模块向接口 7发送检测协作响应消息。对于路由查询响应消息,可以应用如下方式根据消息类型分别进行检测(1)如果消息内容为目标key的最终查询结果,则检查目标key与RootNode之间的距离,将该距离与P2P对等网络中key与RootNode的平均值进行比较,如果所述距离大于平均值,且差值超出预定义阈值,则确认发生了 ID窃取攻击或路由劫持攻击,进而由响应子模块进行后续处理。文中的Key与RootNode是基于关键字的路由(Key Based Routing, KBR)中的概念。Key通常为与文件标识符对应的一个字符串。该字符串一般通过哈希得到。RootNode 是负责某个或某几个Key的节点。每个RootNode都有一个与Key格式相同的Node ID。(2)如果消息内容为目标key的中间查询结果,则检查消息中指明的下一跳节点是否比上一次中间查询消息中的下一跳节点更靠近目标key。如果本次查询结果远离目标 key,则确认发生了错误的路由转发攻击,进而由响应子模块进行后续处理。对于路由表更新消息,节点会主动发起路由查询请求,对路由表项中的理论节点进行查找。如果返回的结果与收到的路由表更新消息不一致,则确认发生了路由表毒害攻击ο(3)响应子模块按照检测子模块的指令工作。主要任务是在确定发生路由攻击时重新发起路由查询,使节点获取正常的路由查询结果及确保路由表项的正确性。
响应子模块从接口 6接收检测结果消息。响应子模块向接口 4发出路由查询触发消息。响应子模块向接口 8发出攻击事件通知消息。(4)协作子模块负责节点之间的协调。如当节点怀疑某个恶意节点正在发动分布式拒绝服务攻击时,可以通过协作子模块联络网络中的其它节点,以验证该判断是否正确。协作子模块向接口 7发出检测协作请求消息。协作子模块从接口 7接收检测协作响应消息。协作子模块从接口 8接收攻击事件通知消息。协作子模块向接口 9发出检测协作请求消息。协作子模块从接口 9接收检测协作响应消息。协作子模块向接口 9发出攻击事件通知消息。检测子模块从接口 7接收攻击事件通知消息。在实际应用时,可以参考表1以获知模块接口与消息类型之间的对应关系
权利要求
1.一种路由攻击防御方法,其特征在于,该方法包括 根据消息类型对收到的消息进行过滤并获得路由消息;根据获得的所述路由消息判断是否受到路由攻击,并在确定受到路由攻击时,根据路由攻击类型进行处理。
2.根据权利要求1所述的方法,其特征在于,所述路由消息包括以下之一或任意组合 路由查询请求消息、路由查询响应消息、路由表更新消息。
3.根据权利要求2所述的方法,其特征在于,对于路由查询响应消息,所述判断是否受到路由攻击的方法为 如果消息内容为目标关键字key的最终查询结果,则检查key与根节点RootNode之间的距离,并计算key、RootNode的平均值与约束因子的乘积,再将所述距离与所述乘积进行比较;如果所述距离大于乘积,则确认发生了 ID窃取攻击或路由劫持攻击;如果消息内容为目标key的中间查询结果,则检查所述路由查询响应消息中指明的下一跳节点是否比上一次中间查询结果中的下一跳节点在拓扑上更靠近目标key,并在本次查询结果比上一次中间查询结果远离目标key时确认发生了错误的路由转发攻击; 对于路由表更新消息,所述判断是否受到路由攻击的方法为 根据路由表项中源节点与目的节点的估算距离,对所述目的节点进行查找,将返回的节点与路由表更新消息中所述目的节点进行比较,若不一致,则确认发生了路由表毒害攻击ο
4.根据权利要求1至3任一项所述的方法,其特征在于,所述处理为 在受到路由攻击时,通知P2P系统重新发起路由查询。
5.根据权利要求4所述的方法,其特征在于,该方法进一步包括根据路由攻击类型进行处理时,验证是否有恶意节点正在发动分布式拒绝服务攻击。
6.一种路由攻击防御装置,其特征在于,该装置包括过滤子模块、检测子模块、响应子模块;其中,所述过滤子模块,用于根据消息类型对收到的消息进行过滤并将获得的路由消息提交给所述检测子模块;所述检测子模块,用于根据获得的所述路由消息,判断是否受到路由攻击,并在确定受到路由攻击时通知所述响应子模块;所述响应子模块,用于根据检测子模块检测到的路由攻击类型,进行处理。
7.根据权利要求6所述的装置,其特征在于,所述路由消息包括以下之一或任意组合 路由查询请求消息、路由查询响应消息、路由表更新消息。
8.根据权利要求7所述的装置,其特征在于, 对于路由查询响应消息,所述检测子模块用于如果消息内容为目标key的最终查询结果,则检查key与RootNode之间的距离,并计算key、RootNode的平均值与约束因子的乘积,再将所述距离与所述乘积进行比较;如果所述距离大于乘积,则确认发生了 ID窃取攻击或路由劫持攻击;如果消息内容为目标key的中间查询结果,则检查所述路由查询响应消息中指明的下一跳节点是否比上一次中间查询结果中的下一跳节点在拓扑上更靠近目标key,并在本次查询结果比上一次中间查询结果远离目标key时,确认发生了错误的路由转发攻击;对于路由表更新消息,所述检测子模块用于根据路由表项中源节点与目的节点的估算距离,对所述目的节点进行查找,将返回的节点与路由表更新消息中所述目的节点进行比较,若不一致,则确认发生了路由表毒害攻击。
9.根据权利要求6至8任一项所述的装置,其特征在于,所述响应子模块用于在受到路由攻击时,通知P2P系统重新发起路由查询。
10.根据权利要求9所述的装置,其特征在于,该装置进一步包括协作子模块,与所述检测子模块、响应子模块连接,用于在所述响应子模块根据所述检测子模块检测到的攻击类型进行处理时,验证是否有恶意节点正在发动分布式拒绝服务攻击。
全文摘要
本发明公开了一种路由攻击防御方法和装置,均可根据消息类型对收到的消息进行过滤并获得路由消息;根据获得的所述路由消息判断是否受到路由攻击,并在确定受到路由攻击时,根据路由攻击类型进行处理。本发明路由攻击防御的方法和装置,不再单单针对某一种攻击进行防御,明显提高了防御效果,能够满足可运营、可管理P2P对等网络的安全需求。另外,所提出的统一和通用的路由攻击防御结构,能够实现统一的路由攻击防御,这有利于将P2P对等网络作为网络基础设施进行部署。
文档编号H04L12/56GK102291371SQ20101020588
公开日2011年12月21日 申请日期2010年6月21日 优先权日2010年6月21日
发明者孙崇伟, 裘晓峰, 陈书义, 高峰 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1