用于域间追溯的包标记概率选取方法及装置的制作方法

文档序号:7757717阅读:123来源:国知局
专利名称:用于域间追溯的包标记概率选取方法及装置的制作方法
技术领域
本发明属于互联网技术领域,尤其涉及一种用于域间追溯的包标记概率选取方法。
背景技术
由于TCP/IP(传输控制协议/网际协议)设计之初的缺陷,网络对数据包的源地 址不进行验证,只是根据目的地址进行路由,将数据包转发到目的端。攻击者利用这个漏洞 伪造源地址,对远程主机或网络进行攻击,但受害者往往无法有效地对攻击实时阻隔、追踪 溯源、准确定位攻击者、追究责任。IP追溯技术可以确定发送攻击包的网络节点的位置及攻击包的传送路径,追踪过 程在一系列路由器的协助下进行。该类技术不仅可以对网络攻击进行追溯,对其进行法律 制裁,威慑网络犯罪。而且,还可以对数据包在网络中的转发路径进行统计分析,优化路由 配置,有助于网络整体规划及流量工程领域研究。目前IP追溯技术可分为如下4类(1)链路测试技术。从离受害者最近的路由器开始检查,是否转发过攻击包,逐级 回溯到离攻击者最近的路由器。典型的如输入调试和控制洪泛(2)包标记技术。当攻击包经过路由器时,路由器将部分路径信息以一定的概率 标记在攻击包中,受害者收集攻击包,根据攻击包中的路径信息恢复出攻击路径,找出攻击 源。(3)日志记录技术。由路由器记录经由自己转发的数据包的特征信息,受害者提取 攻击包的特征信息,从离受害者最近的路由器开始,递归地查询路由器是否转发过攻击包, 从而恢复出攻击路径,找出攻击源。(4)基于 ICMP(Internet Control Message Protocol,网间报文控制协议)的技 术。路由器在转发数据包的同时,生成新的ICMP数据包发往目的主机,目的主机根据收集 的ICMP数据包恢复出攻击路径和攻击源。概率包标记技术属于包标记技术的一种,是业界研究得最多的一类IP追溯技术, 是目前的研究热点之一。但是,目前的各种概率包标记技术中标记概率的选取及标记机制 不够优化。第一,造成了受害者重构出攻击路径需要接收较多的数据包,减缓了攻击路径重 构速度;第二,不能防御攻击者伪造标记,造成受害者重构的攻击路径不准确;第三,下游 路由器会覆盖上游路由器的标记,造成重复标记,增加路由器标记开销。因此,目前需要提出一种更优化的包标记概率选取方法。

发明内容
本发明的目的旨在至少解决现有技术中的上述问题之一。为此,本发明的实施例提出一种更优的、适用于IPv6(互联网协议版本6)和 IPv4 (互联网协议版本4)的域间追溯的包标记概率选取方法和装置。
根据本发明的一个方面,本发明实施例提出了一种用于域间追溯的包标记概率选 取方法,所述方法包括以下步骤在当前自治系统AS的BGP路由器外连邻居AS的接口处检 查进入或离开当前AS的数据包的相应指示位;在数据包的指示位表示该数据包未被上游 AS标记过时,根据前缀最长匹配原则在该BGP路由器中检查BGP路由表,并获得相应路由表 项的自治系统路径AS_PATH属性值,得到相应的AS跳数;根据所述AS跳数设置标记概率对 对应的数据包进行标记;以及在确定进行标记时设置对应的数据包指示位为已标记。根据本发明进一步的实施例,对于进入当前AS的数据包,设置所述AS跳数加1之 和的倒数作为标记概率。根据本发明进一步的实施例,对于离开当前AS的数据包,设置所述AS跳数的倒数 作为标记概率。根据本发明进一步的实施例,在源AS的BGP路由器外连邻居AS的接口,将离开源 AS的所有数据包的指示位设置为未标记。根据本发明进一步的实施例,在指示位表示对应的数据包已被上游AS标记过时, 则不对对应的数据包进行标记。根据本发明的另一方面,本发明的实施例提出一种用于域间追溯的包标记概率选 取装置,所述装置包括指示位检查模块,所述指示位检查模块用于在当前自治系统AS的 BGP路由器外连邻居AS的接口处检查进入或离开当前AS的数据包的指示位;路由表检查 模块,所述路由表检查模块用于在数据包的指示位表示对应的数据包未被上游AS标记过 时,根据前缀最长匹配原则检查所述BGP路由器中的BGP路由表,并获得相应路由表项的 AS_PATH属性值,得到相应的AS跳数;确定模块,所述确定模块根据所述AS跳数设置标记 概率并确定是否对对应的数据包进行标记;以及标记模块,所述标记模块用于在确定进行 标记时对相应的数据包进行标记,并设置数据包的指示位为已标记。根据本发明进一步的实施例,对于进入当前AS的数据包,所述确定模块设置所述 AS跳数加1之和的倒数作为标记概率;对于离开当前AS的数据包,所述确定模块设置所述 AS跳数的倒数作为标记概率。根据本发明进一步的实施例,在源AS的BGP路由器外连邻居AS的接口,所述标记 模块将离开源AS的所有数据包的指示位设置为未标记。根据本发明进一步的实施例,所述确定模块将所述标记概率与随机数进行比较, 所述随机数在W,1)范围内;若随机数不大于所述标记概率,则确定标记对应的数据包;若 随机数大于所述标记概率,则确定不标记对应的数据包。根据本发明进一步的实施例,在指示位表示对应的数据包已被上游AS标记过时, 所述确定模块确定不对对应的数据包进行标记。本发明通过在数据包传输经由的路由器端进行指示位判断,实现数据包的全部标 记,从而能够全部覆盖攻击者的伪造标记,因此能够防御攻击者的伪造标记,使得目的端受 害者能够根据数据包标记正确地重构出攻击路径。并且,对于已标记的上游数据包下游不再进行标记,从而可以避免重复标记,大大 降低了路由器的标记开销。另外,在数据包没有被上游路由器标记的情况下,根据前缀最长匹配原则查找BGP 路由表,根据相应路由表项的AS_PATH属性值得到AS跳数,并根据该AS跳数设置标记概率,并以该标记概率进行选择是否对当前数据包作标记。这样,相比目前为了重构出整个攻 击路径需要接收较多数据包而言,本发明能够使得目的端在接收最少数据包的情况下,快 速重构出正确的攻击路径,提高了攻击路径的重构速度。本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变 得明显,或通过本发明的实践了解到。


本发明的上述和/或附加的方面和优点从下面结合附图对实施例的描述中将变 得明显和容易理解,其中图1为本发明实施例的用于域间追溯的包标记概率选取方法流程图;图2为本发明实施例的用于域间追溯的包标记概率选取装置结构方框图。
具体实施例方式下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终 相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附 图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。本发明的目的是提供一种更优的、适用于IPv6和IPv4的、用于域间追溯的标记概 率选择方法和装置。首先参考图1,该图为本发明实施例的用于域间追溯的包标记概率选取方法流程 图。在当前自治系统AS的BGP路由器外连邻居AS的接口,即与邻居AS连接的接口处 检查进入或离开当前AS的数据包的相应指示位(indicator bit)(步骤102),即检查从邻 居AS输入当前AS的所有输入数据包,或者检查从当前AS输出到邻居AS的所有输出的数据 包。在本发明中,对所有的AS仅选择对其BGP路由器出口进行输出数据包的指示位检测, 或者仅选择对所有的AS的BGP路由器入口进行输入数据包的指示位检测。通过指示位的检查,来判断对应数据包是否由上游AS标记过(步骤104)。例如 设置indicator bit位清0表示未标记;设置indicator bit位为1表示已标记。当然,0 和1仅为表示数据包是否作出标记的符号区别,本领域普通技术人员显然可知也可以使用 其他数字或符号来表示。在指示位表示对应的数据包未被上游AS标记过时,例如以上述indicator bit位 0、1设置为例,当检查indicator bit为0时,对目的地址依据最长前缀匹配原则(longest prefix matching),检查当前BGP路由器的BGP路由表,获得相应路由表项的AS_PATH属性 值,从而得到相应的AS号的数目,即AS跳数(步骤106)。然后,根据步骤106得到的AS跳数设置标记该数据包的概率,并确定是否对数据 包进行标记(步骤108)。其中,对于进入当前AS的数据包,设置AS跳数加1之和的倒数作为标记概率;对 于离开当前AS的数据包,设置AS跳数的倒数作为标记概率。具体地,在实施例中可以结合随机数确定是否对对应的数据包进行标记。在本发 明的实施例中,通过比较随机数是否不大于标记概率来进行确定,其中随机数在W,l)范围内。例如,若随机数不大于标记概率,则标记对应的数据包,并设置对应的数据包指示 位为已标记(步骤110),即设置indicator bit为1 ;若随机数大于标记概率,则不标记对 应的数据包(步骤112)。在指示位表示对应的数据包已被上游AS标记过时,例如以上述indicator bit位 0、1设置为例,当检查indicator bit为1时,则同样不对数据包作标记(步骤112)。在当前AS为源AS时,在源AS的BGP路由器与邻居AS连接的接口处,将离开源AS 的数据包的指示位设置为未标记,即将对应的所有数据包的indicator bit清0。另外,首先是在存在接入网的AS的BGP路由器的出口端口上进行设置,使其知道 自己为源AS的BGP的输出端口。如上文所述,对于从源AS离开而输出到邻居AS的输出数据包,源AS的BGP路由 器将输出数据包的indicator bit位置0,表示未标记。因此,同样地,需要重复步骤106到112,首先依据最长前缀匹配原则查询当前BGP 路由器的BGP路由表,获取相应路由表项的AS_PATH属性值,从而获得AS_PATH中的AS跳 数。然后根据该AS跳数设置标记概率,决定是否标记数据包,如果标记,则将indicator bit位置1。如上文所述,可以在所有BGP路由器的入口端或者所有BGP路由器的出口端进行 对应数据包指示位的检测,因此本发明的数据包标记相应地在所有BGP路由器的入口端或 出口端进行部署和判断。(1)入口标记方法。对于源AS的BGP路由器的输出接口,即数据包从源AS输出到 邻居AS的接口,运行如下算法for each packetif it is at output port of an BGP in the source ASindicator bit = 0对于其他AS的BGP路由器的输入接口,即数据包从邻居AS进入到当前AS的接口, 运行如下算法,其中I AS_PATH I表示AS路径所包含的AS号的数目,即AS跳数,路由器以1/ h为概率标记该数据包。for each packetif indicator bit = 0search the route item according to the longest prefix matching ;get AS_PATH andh — AS_PATH|+1 ;let r be a random humber in
unmark the packet.(2)出口标记方法。对于每个AS的BGP路由器的输出接口,即数据包从当前AS输 出到邻居AS的接口,运行如下算法,其中|AS_PATH |表示AS路径所包含的AS号的数目,即AS跳数,路由器以Ι/h为 概率标记该数据包。for each packetif it is at output port of an BGP in the source ASindicator bit ^ 0 ;if indicator bit = 0search the route item according to the longest prefix matching ;get AS_PATH and h — | AS_PATH | ;let r be a random number in[0,1)if r ^ 1/hmark the packet ;indicator bit 一 1 ;elseunmark the packetelseunmark the packet.从上述算法可以看出,在计算h时,对于入口标记方法,需要在AS跳数的基础上多 加1。并且,对于输入或输出数据包,未被标记的数据包如果是将要传送较多AS跳数才 能到达目的AS的数据包,则将以较小的概率被标记;如果是将要传送较少AS跳数才能到达 目的AS的数据包,则将以较大的概率被标记。需要指出的是,这里的数据包标记的具体内容(除数据包指示位的标记以外)可 以是现有任意形式的数据包标记方法,本发明可以与之配合适用。另外,如图2实施例所示,本发明还提供了一种用于域间追溯的包标记概率选取 装置,该装置包括指示位检查模块12、路由表检查模块14、确定模块16以及标记模块18。指示位检查模块12用于在当前AS的BGP路由器外连邻居AS的接口处检查进入 或离开当前AS的所有对应数据包的指示位,路由表检查模块14用于在数据包的指示位表 示该数据包未被上游AS标记过时,根据前缀最长匹配原则检查当前AS的BGP路由器中的 路由表,并获得相应路由表项的AS_PATH属性值,从而得到相应的AS跳数。确定模块16根据AS跳数设置标记概率,并确定是否对对应的数据包进行标记,标 记模块18用于在确定进行标记时对相应的数据包进行标记,并设置对应的数据包指示位 为已标记。对于源AS,标记模块18在源AS的BGP路由器外连邻居AS的接口,将离开源AS的 数据包的指示位设置为未标记。其中,对于进入当前AS的数据包,确定模块16设置AS跳数加1之和的倒数作为标记概率;对于离开当前AS的数据包,确定模块16设置AS跳数的倒数作为标记概率。具体地,在实施例中确定模块16可以将标记概率与随机数进行比较,其中随机数 在[0,1)范围内。若随机数不大于标记概率,则确定标记对应的数据包;若随机数大于标记 概率,则确定不标记对应的数据包。根据指示位检查模块12的输出,在指示位表示对应的 数据包已被上游AS标记过时,确定模块16确定不对对应的数据包进行标记。另外,对于路由器级别的网络,在得到从当前路由器到目的路由器的路由器跳数 的基础上,可以将路由器跳数替换本发明的AS跳数,并结合本发明的上述数据包标记方法 和装置进行路由器级别的网络数据包传送标记。本发明通过在数据包传输经由的路由器端进行指示位判断,实现数据包的全部标 记,从而能够将攻击者的伪造标记全部覆盖,因此防御攻击者的伪造标记,使得目的端受害 者能够根据合法的数据包标记正确地重构出攻击路径。并且,对于已被上游路由器标记的数据包下游路由器不再进行标记,从而可以避 免重复标记,大大降低了路由器的标记开销。另外,还可以保证对于每个数据包而言,每个BGP路由器做的标记等概率到达目 的端。这样,相比目前为了重构出整个攻击路径需要接收较多数据包而言,本发明能够使得 目的端在平均接收最少数据包的情况下,快速重构出攻击路径,提高了攻击路径的重构速度。具体地,对于每个数据包而言,每个BGP路由器做的标记需要等概率到达目的端, 这样,目的端平均收集最少的数据包便可恢复出AS级攻击路径。设从源AS到目的AS,经过
的AS跳数为t跳,BGP路由器依次编号为1、2......t,标记概率分别为P^P2......Pt,则如
果对于每个数据包而言,需要满足每个BGP路由器做的标记等概率到达目的端,即均为1/ t,则1/t = P11/t = (I-P1)P2......1/t = (I-P1) (I-P2). . · (HV2)Ph1/t = (I-P1) (I-P2).. . (HV1)Pt得到P1 = 1/tP2 = 1/y-l......Pt = 1这样,通过本发明的包标记概率选取方式,BGP路由器在接收到某个数据包后,知 道该数据包将要经过几个AS才能到达目的AS。从而通过本发明对于每个数据包而言,可以 保证每个BGP路由器做的标记等概率到达目的端。尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以 理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换 和变型,本发明的范围由所附权利要求及其等同限定。
权利要求
一种用于域间追溯的包标记概率选取方法,其特征在于,所述方法包括以下步骤在当前自治系统AS的边界网关协议BGP路由器外连邻居AS的接口处检查进入或离开当前AS的数据包的相应指示位;在数据包的指示位表示对应的数据包未被上游AS标记过时,根据前缀最长匹配原则在该BGP路由器中检查BGP路由表,并获得相应路由表项的自治系统路径AS_PATH属性值,从而得到相应的AS跳数;根据所述AS跳数设置标记概率对对应的数据包进行标记;以及在确定进行标记时设置对应的数据包指示位为已标记。
2.如权利要求1所述的包标记概率选取方法,其特征在于,在源AS的BGP路由器外连 邻居AS的接口,将离开源AS的所有数据包的指示位设置为未标记。
3.如权利要求1所述的包标记概率选取方法,其特征在于,在指示位表示对应的数据 包已被上游AS标记过时,则不对对应的数据包进行标记。
4.如权利要求1所述的包标记概率选取方法,其特征在于,所述确定步骤包括 将所述标记概率与随机数进行比较,所述随机数在W,l)范围内;若随机数不大于所述标记概率,则标记对应的数据包; 若随机数大于所述标记概率,则不标记对应的数据包。
5.如权利要求1-4其中任一项所述的包标记概率选取方法,其特征在于,对于进入当 前AS的数据包,设置所述AS跳数加1之和的倒数作为标记概率。
6.如权利要求1-4其中任一项所述的包标记概率选取方法,其特征在于,对于离开当 前AS的数据包,设置所述AS跳数的倒数作为标记概率。
7.一种用于域间追溯的包标记概率选取装置,其特征在于,所述装置包括指示位检查模块,所述指示位检查模块用于在当前自治系统AS的BGP路由器外连邻居 AS的接口处检查进入或离开当前AS的数据包的指示位;路由表检查模块,所述路由表检查模块用于在数据包的指示位表示对应的数据包未被 上游AS标记过时,根据前缀最长匹配原则检查所述BGP路由器中的BGP路由表,并获得相 应路由表项的AS_PATH属性值,从而得到相应的AS跳数;确定模块,所述确定模块根据所述AS跳数设置标记概率并确定是否对对应的数据包 进行标记;以及标记模块,所述标记模块用于在确定进行标记时对相应的数据包进行标记,并设置对 应的数据包指示位为已标记。
8.如权利要求7所述的包标记概率选取装置,其特征在于,在源AS的BGP路由器外连 邻居AS的接口,所述标记模块将离开源AS的所有数据包的指示位设置为未标记。
9.如权利要求7所述的包标记概率选取装置,其特征在于,所述确定模块将所述标记 概率与随机数进行比较,所述随机数在W,l)范围内;若随机数不大于所述标记概率,则确 定标记对应的数据包;若随机数大于所述标记概率,则确定不标记对应的数据包。
10.如权利要求7所述的包标记概率选取装置,其特征在于,在指示位表示对应的数据 包已被上游AS标记过时,所述确定模块确定不对对应的数据包进行标记。
11.如权利要求7-10其中任一项所述的包标记概率选取方法,其特征在于,对于进入 当前AS的数据包,所述确定模块设置所述AS跳数加1之和的倒数作为标记概率。
12.如权利要求7-10其中任一项所述的包标记概率选取方法,其特征在于,对于离开 当前AS的数据包,所述确定模块设置所述AS跳数的倒数作为标记概率。
全文摘要
本发明公开了一种用于域间追溯的包标记概率选取方法及装置,在当前自治系统AS的BGP路由器外连邻居AS的接口处检查进入或离开当前AS的数据包的相应指示位;在数据包的指示位表示该数据包未被上游AS标记过时,根据前缀最长匹配原则在该BGP路由器中检查BGP路由表,并获得相应路由表项的AS_PATH属性值,从而得到相应的AS跳数;根据AS跳数设置标记概率对对应的数据包进行标记;以及在确定进行标记时设置对应的数据包指示位为已标记。本发明具有攻击路径重构速度快、重构攻击路径准确以及路由器标记开销降低的优点。
文档编号H04L12/56GK101917341SQ20101026112
公开日2010年12月15日 申请日期2010年8月24日 优先权日2010年8月24日
发明者张威, 毕军, 田红成 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1