伪造源地址过滤方法和装置的制作方法

文档序号:7765168阅读:306来源:国知局
专利名称:伪造源地址过滤方法和装置的制作方法
技术领域
本发明属于互联网技术领域,尤其涉及IP源地址验证领域,用于伪造源地址过滤 的方法。
背景技术
源地址伪造是网络主机使用伪造的IP(网际协议)源地址发起网络攻击或进行不 正当网络活动的行为。利用源地址伪造的手段,网络攻击的发起者可以隐匿自己的身份和 位置,逃避法律的制裁。随着源地址伪造手段的大量使用,基于真实地址的网络计费、管理、 监控和安全认证等都无法正常进行,对互联网基础设施和上层应用都造成了严重的危害。 随着互联网地下经济的发展,基于源地址伪造的网络攻击愈发猖獗,甚至危害到社会和国 家的安全。据互联网观测组织CAIDA (互联网数据分析协作联盟)的统计,中国已成为全世 界第二大的伪造源地址流量的源泉。加强网络设备对源地址的验证、过滤掉源地址伪造的 IP报文,对于互联网的安全和扩展,乃至经济、社会的健康发展都具有重要的意义。互联网中存在源地址伪造的根本原因在于,网络设备(例如路由器、交换机等)按 照IP报文的目的地址进行转发和处理,并不对报文的源地址进行检查,从而致使带有伪造 源地址的IP报文也可以在网络传输、最终到达攻击目标。目前,应用较为广泛的伪造源地 址过滤方法是uRPF (Unicast Reverse Path Forwarding,单播逆向路径转发)。该方法利用路由器上的转发表(FIB)进行反向的检查,如果报文源地址在转发表 中所对应的出端口与报文的进入端口一致,则认为该报文的源地址是正确的并予以转发, 否则认为该报文的源地址是伪造的并将其丢弃。该方法的特征在于,假设一个IP地址作为 报文源地址所到达的端口与其作为报文目的地址转发出去的端口是一致的,因而反向利用 转发表作为源地址检查表。但是,这种假设在非对称路由、多路径的情况下是不成立的,因 此,该方法可能会丢弃掉一些源地址正确的报文,严重影响正常用户的网络应用。

发明内容
本发明的目的旨在至少解决现有技术中的上述问题之一。为此,本发明的实施例提出一种能够正确、有效过滤网络中源地址伪造报文的方 法和装置。根据本发明的一个方面,本发明实施例提出了一种伪造源地址过滤方法,所述方 法包括以下步骤在报文到达路由器的一个接口后,使用报文的源地址检查该到达接口是 否学习到报文的源地址对应的前缀;如果该到达接口没有学习到过,则进一步检查路由器 的其他接口是否学习到报文的源地址对应的前缀;以及在其他接口学习到过时,丢弃该报 文;在其他接口没有学习到过时,转发该报文。根据本发明进一步的实施例,如果该到达接口学习到过,则转发该报文。根据本发明进一步的实施例,所述检查步骤是通过将报文的源地址在路由器的路 由信息表中进行最长前缀匹配来执行。
根据本发明的另一方面,本发明的实施例提出一种伪造源地址过滤装置,所述装 置设置在路由器上,并包括检查模块,所述检查模块在报文到达路由器的一个接口后,使 用报文的源地址检查该到达接口是否学习到报文的源地址对应的前缀;如果该到达接口没 有学习到过,则进一步检查路由器的其他接口是否学习到报文的源地址对应的前缀;以及 丢弃模块,在其他接口学习到过时,丢弃该报文;转发模块,在其他接口没有学习到过时,转 发该报文。根据本发明进一步的实施例,在检查模块检查该到达接口学习到过报文的源地址 对应的前缀时,所述转发模块转发该报文。根据本发明进一步的实施例,所述检查模块通过将报文的源地址在路由器的路由 信息表中进行最长前缀匹配来进行检查。本发明部署在路由器上,在非对称路由和多路径的情况下依然能够正确工作,能 够正确而有效的过滤网络中的源地址伪造报文。相比于严格的反向路径检查,本发明可以避免假阳性;相比于宽松的反向路径检 查,本发明降低了假阴性程度。本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变 得明显,或通过本发明的实践了解到。


本发明的上述和/或附加的方面和优点从下面结合附图对实施例的描述中将变 得明显和容易理解,其中图1为本发明的伪造源地址过滤方法流程图;图2为本发明伪造源地址过滤方法的实施例;图3为本发明伪造源地址过滤装置的结构方块图。
具体实施例方式下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终 相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附 图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。本发明的方法部署在报文转发路径的任一路由器上,用于检查报文源地址的真实 性,其中路由器上建立有对应的路由信息表(Routing Information Base),通过执行本方 法所述的伪造源地址过滤流程进行实施。首先参考图1,该图为本发明的伪造源地址过滤方法流程图。如图1所示,报文首先到达路由器的一个接口(步骤102),然后使用报文的源地址检查该到达 接口是否学习到报文的源地址对应的前缀检查(步骤104),即是否从报文的到达接口学习 到过报文的源地址对应的前缀。如果学习到过,则认为报文的源地址是真实的,转发报文(步骤110);否则,进一 步检查路由器的其他接口是否学习到报文的源地址对应的前缀(步骤106)。如果只在别的接口上学习到过对应的前缀,则认为报文的源地址是伪造的丢弃报 文(步骤108);如果从来没有学习到过对应的前缀,即路由器的到达接口和其他接口均没学习过该报文的源地址对应的前缀,则认为报文的源地址是真实的,转发报文(步骤110)。在一个实施例中,步骤104和106中的检查步骤可以通过将报文的源地址在路由 器的路由信息表中进行最长前缀匹配来执行。具体可以参考图2,图2为本发明伪造源地址 过滤方法的实施例。同样地,在报文到达路由器的一个接口(步骤202)之后,查找报文的允许入接口。 即,使用报文的源地址在路由信息表中进行最长前缀匹配,以查找报文源地址在当前路由 中是否有匹配的接口(步骤204)。如果没有匹配结果,则转步骤210,认为报文的源地址是真实的,转发报文。否则, 在所有匹配的路由信息的接口(即路由器中学习到相应路由信息的接口)中,判断是否存 在一个或多个与报文进入路由器的接口,即到达接口一致的匹配接口(步骤206)。如果有, 则认为报文的源地址是真实的,转发报文(步骤210);否则,认为报文的源地址是伪造的, 丢弃报文(步骤208)。另外,本发明还提供了 一种伪造源地址过滤装置,所述装置设置在路由器上。如图 3实施例所示,该装置包括检查模块12、转发模块14以及丢弃模块16。检查模块12在报文到达路由器的一个接口后,使用报文的源地址检查该到达接 口是否学习到报文的源地址对应的前缀。如果该到达接口没有学习到过,则进一步检查路 由器的其他接口是否学习到报文的源地址对应的前缀。并将对应的检查结果输出给转发模 块14和丢弃模块16。 丢弃模块16根据检查模块12的输出,在其他接口学习到过时丢弃该报文;转发模 块14根据检查模块12的输出,在其他接口没有学习到过时,转发该报文。在检查模块14 检查该到达接口学习到过报文的源地址对应的前缀时,转发模块14则转发该报文。在一个实施例中,检查模块12通过将报文的源地址在路由器的路由信息表中进 行最长前缀匹配来进行检查。即,使用报文的源地址在路由信息表中进行最长前缀匹配,以 查找报文源地址在当前路由中是否有匹配的接口。如果没有匹配结果,则转发报文。否则, 在所有匹配的路由信息的接口(即路由器中学习到相应路由信息的接口)中,判断是否存 在一个或多个与报文进入路由器的接口,即到达接口 一致的匹配接口。如果有,则转发报 文;否则,丢弃报文。本发明提出了一种新的部署在路由器上的伪造源地址过滤方法和装置,在非对称 路由和多路径的情况下依然能够正确工作,能够正确而有效的过滤网络中的源地址伪造报 文。因此,相比于严格的反向路径检查,本发明可以避免假阳性,即避免将原本正确的 报文丢弃掉;相比于宽松的反向路径检查,本发明降低了假阴性程度,即降低将原本错误的 报文没有过滤掉的程度。尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以 理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换 和变型,本发明的范围由所附权利要求及其等同限定。
权利要求
1.一种伪造源地址过滤方法,其特征在于,所述方法包括以下步骤在报文到达路由器的一个接口后,使用报文的源地址检查该到达接口是否学习到报文 的源地址对应的前缀;如果该到达接口没有学习到过,则进一步检查路由器的其他接口是否学习到报文的源 地址对应的前缀;以及在其他接口学习到过时,丢弃该报文;在其他接口没有学习到过时,转发该报文。
2.如权利要求1所述的伪造源地址过滤方法,其特征在于,如果该到达接口学习到过, 则转发该报文。
3.如权利要求1所述的伪造源地址过滤方法,其特征在于,所述检查步骤是通过将报 文的源地址在路由器的路由信息表中进行最长前缀匹配来执行。
4.一种伪造源地址过滤装置,其特征在于,所述装置设置在路由器上,并包括检查模块,所述检查模块在报文到达路由器的一个接口后,使用报文的源地址检查该 到达接口是否学习到报文的源地址对应的前缀;如果该到达接口没有学习到过,则进一步 检查路由器的其他接口是否学习到报文的源地址对应的前缀;以及丢弃模块,在其他接口学习到过时,丢弃该报文;转发模块,在其他接口没有学习到过时,转发该报文。
5.如权利要求4所述的伪造源地址过滤装置,其特征在于,在检查模块检查该到达接 口学习到过报文的源地址对应的前缀时,所述转发模块转发该报文。
6.如权利要求4所述的伪造源地址过滤方法,其特征在于,所述检查模块通过将报文 的源地址在路由器的路由信息表中进行最长前缀匹配来进行检查。
全文摘要
本发明公开了一种伪造源地址过滤方法和装置,在报文到达路由器的一个接口后,使用报文的源地址检查该到达接口是否学习到报文的源地址对应的前缀;如果该到达接口没有学习到过,则进一步检查路由器的其他接口是否学习到报文的源地址对应的前缀;以及在其他接口学习到过时,丢弃该报文;在其他接口没有学习到过时,转发该报文。本发明能够实现正确且有效的过滤网络中的源地址伪造报文。
文档编号H04L29/06GK102006289SQ20101054367
公开日2011年4月6日 申请日期2010年11月11日 优先权日2010年8月5日
发明者刘冰洋, 姚广, 毕军 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1