专利名称:一种概率包标记及攻击源追溯方法、系统及装置的制作方法
技术领域:
本发明涉及互联网技术领域,特别涉及一种概率包标记及攻击源追溯方法、系统 及装置。
背景技术:
目前,随着互联网技术的不断发展,互联网已经成为人们生活中不可或缺的部分, 但是与此同时网络安全问题也变得越来越突出,例如网络攻击等问题,网络安全问题已成 为制约互联网发展的主要因素。为了维护网络安全需要对攻击源进行追溯,然而由于TCP/IP协议在设计之初的 缺陷,目前网络对数据包的源地址不进行验证,只是根据目的地址进行路由,并将数据包转 发到目标端。因此,攻击者就可以利用这个漏洞伪造源地址,对远程主机或网络进行攻击, 受害者往往无法有效地对攻击实时阻隔、追踪溯源、准确定位攻击者、及责任追究。为了克服该缺点,目前提出了 IP追溯技术,通过IP追溯技术可以确定发送攻击包 的网络节点的位置及攻击包的传送路径,其追踪过程在一系列路由器的协助下进行。该类 IP追溯技术不仅可以对网络攻击进行追溯,对其进行法律制裁,威慑网络犯罪,而且还可以 对数据包在网络中的转发路径进行统计分析,从而进一步优化路由配置,这样有助于网络 整体规划及流量工程领域研究。目前,概率包标记技术是IP追溯技术中的一种,具体为,当 攻击包经过路由器时,路由器需将部分路径信息以一定的概率标记在攻击包中,这样受害 者就可以收集攻击包,并根据攻击包中的路径信息恢复出攻击路径,从而找出攻击源。现有技术存在的缺点是,受害者重构出攻击路径需要接收非常多的数据包,因此 减缓了重构攻击路径的速度,另外,目前的各种概率包标记技术无法防御攻击者伪造的标 记,因此还会造成受害者重构的攻击路径不准确。
发明内容
本发明的目的旨在至少解决上述技术缺陷,特别是解决现有概率包标记技术攻击 路径重构速度慢,及无法防御攻击者伪造的标记的缺陷。为达到上述目的,本发明一方面提出一种概率包标记方法,包括以下步骤中继路 由器接收数据包,其中,所述数据包中包括有所述数据包经过的跳数信息;和所述中继路由 器根据所述跳数信息确定标记概率,并以确定的所述标记概率对所述数据包进行标记,其 中,如果所述数据包已经过的路由器跳数越大,则选择的标记概率越低。本发明另一方面还提出了一种路由器,包括数据包接收模块,用于接收数据包, 其中,所述数据包中包括有所述数据包经过的跳数信息;和标记模块,用于根据所述跳数信 息确定标记概率,并以确定的所述标记概率对所述数据包进行标记,其中,如果所述数据包 已经过的路由器跳数越大,则选择的标记概率越低。本发明另一方面还提出了一种攻击源追溯方法,包括以下步骤第一跳路由器接 收来自接入网的数据包,并将所述数据包中的跳数信息设置为预设值,并对所述数据包进
4行标记;中继路由器接收所述第一跳路由器或上一跳中继路由器发送的数据包,并根据所 述数据包中的跳数信息确定标记概率,以及以确定的所述标记概率对所述数据包进行标 记,如果所述数据包已经过的路由器跳数越大,则选择的标记概率越低,其中,所述第一跳 路由器和所述中继路由器在转发所述数据包时更新所述跳数信息;和目标主机接收上一跳 中继路由器发送的多个数据包,并根据所述多个数据包中的标记内容对攻击源进行追溯。
本发明再一方面还提出了一种攻击源追溯系统,包括至少一个第一跳路由器,用 于接收来自接入网的数据包,并将所述数据包中的跳数信息设置为预设值,并对所述数据 包进行标记,以及在转发所述数据包时更新所述跳数信息;一个或多个中继路由器,用于接 收所述第一跳路由器或上一跳中继路由器发送的数据包,并根据所述数据包中的跳数信息 确定标记概率,以及以确定的所述标记概率对所述数据包进行标记,如果所述数据包已经 过的路由器跳数越大,则选择的标记概率越低,其中,所述中继路由器在转发所述数据包时 更新所述跳数信息;和目标主机,用于接收上一跳中继路由器发送的多个数据包,并根据所 述多个数据包中的标记内容对攻击源进行追溯。本发明再一方面还提出了一种路由器,包括接收模块,用于接收来自接入网的数 据包;和设置和标记模块,用于将所述数据包中的跳数信息设置为预设值,并对所述数据包 进行标记。本发明通过将路由器的标记概率与数据包经过的跳数信息相关联,并且所述数据 包已经过的路由器跳数越大,则中继路由器选择的标记概率越低,因此可以优化标记概率 的选取,极大地提高重构攻击路径的速度,并消除攻击者伪造标记对路径重构的影响,并更 好的恢复攻击路径。另外,在本发明的优选实施例中,第一跳路由器在接收到接入网的数据包之后,会 将该数据包中的跳数信息统一设置为一个预设值,并对数据包以100%的概率进行标记,从 而可以有效防御攻击者伪造标记,进一步提高重构的攻击路径的准确性。此外,在本发明的另一个优选实施例中,可选择数据包中的TTL值作为数据包中 的跳数信息,这样第一跳路由器在接收到接入网的数据包之后,会将该数据包中的TTL值 统一设置为一个预设值,并且在每个中继路由器转发该数据包时,都会更新该TTL值,例如 将该TTL值减1,这样每个路由器在将所述数据包中的TTL值减1之后,如果所述TTL值为 0或者更小,则将所述数据包丢弃。本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变 得明显,或通过本发明的实践了解到。
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变 得明显和容易理解,其中图1为本发明实施例的一个标记概率选择的示意图;图2为本发明实施例的概率包标记方法的流程图;图3为本发明实施例的路由器实现算法示意图;图4为本发明实施例的中继路由器的结构图;图5为本发明实施例的攻击源追溯方法的流程图6为本发明实施例的攻击源追溯系统结构图;和图7为本发明实施例的第一跳路由器的结构图。
具体实施例方式下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终 相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附 图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。本发明主要在于,在路由器对数据包进行标记时,将标记概率与该数据包已经过 的跳数信息进行关联,路由器根据跳数信息选择标记概率,并根据选择的标记概率进行标 记,其中,如果所述数据包已经过的路由器跳数越大,则中继路由器选择的标记概率越低。 因此相对于现有技术以固定概率选择标记概率来说,极大地优化了概率的选取,使得该数 据包所经过的每个路由器的标记内容都可以以相同的概率体现在目标主机所接收到的数 据包中。如图1所示,为本发明实施例的一个标记概率选择的示意图,其中,攻击主机通过 第一跳路由器A发起攻击,第一跳路由器A距离目标主机D最远,其标记概率最大,例如在 本发明中,其标记概率可为100%,即必须标记,中继路由器B和C的标记概率分别为50% 和1/3,由于后面路由器的标记内容会覆盖前面路由器的标记内容,因此在目标主机D收到 的数据包中,第一跳路由器A、中继路由器B和C的标记内容以相同的概率到达目标主机D, 从而目标主机D可以根据接收的多个数据包快速地重构攻击路径。在本发明的一个优选实施例中,为了防御攻击者伪造标记,第一跳路由器在接收 到接入网发送的数据包之后,会将数据包对应的跳数信息设置为统一的预设值,并对数据 包以100%的概率进行标记,从而可以有效防御攻击者伪造标记。在进一步的优选实施例 中,可以修改数据包的TTL(Time To Live,生存时间)值,采用TTL值体现跳数信息,每个路 由器在转发该数据包时都更新该TTL值,例如将TTL值减1或加1等。在本发明的一个实 施例中,每次路由器在收到该数据包之后就可以根据TTL的初始值和当前值计算该数据包 已经过的路由器跳数。接着,路由器在将所述数据包中的TTL值减1之后,如果所述TTL值 为0或者更小,则将所述数据包丢弃。本发明实施例不仅适用于IPv4网络也适用于Ipv6网络,另外今后演进的网络也 应该可采用本发明。如图2所示,为本发明实施例的概率包标记方法的流程图,每个中继路由器采用 本方法选择标记概率并进行对数据包进行标记,该方法包括以下步骤步骤S201,中继路由器接收数据包,其中,该数据包中包括有该数据包经过的跳数 信息,该数据包由第一跳路由器或者上一跳路由器发送过来,其中,该数据包中包含有跳数 信息,该跳数信息可以以各种方式体现在数据包中,例如可以采用该数据包中的TTL值作 为跳数信息,当然本领域技术人员也可采用数据包中的其他值作为跳数信息,或者在数据 包中新增加一个跳数信息单元用以专门记录该数据包经过的跳数信息。路由器可以根据该 跳数信息计算数据包已经过的路由器跳数。在本发明实施例中,可以采用多种方式计算数 据包经过的跳数信息,作为本发明的一个优选实施例,在数据包第一次进入第一跳路由器 中时,第一跳路由器设置该数据包的跳数信息,优选地将数据包中的TTL值设置为统一的预设值,每一跳路由器在转发该数据包时都会更新该TTL值,这样每个路由器就可根据该TTL的预设值和当前值得到该数据包的跳数。步骤S202,中继路由器根据跳数信息确定标记概率,并以确定的标记概率对数据 包进行标记,且在转发该数据包时更新该数据包的跳数信息。其中,如果所述数据包已经过 的路由器跳数越大,则中继路由器选择的标记概率越低。优选地,在本发明的一个实施例 中,该中继路由器可以以该数据包已经过的路由器跳数的倒数作为标记概率对数据包进行 标记,标记的内容可以是路由器的地址信息,或者还可包括路由器之间的距离信息等,标记 的内容可采用多种方式。当然本领域技术人员还可以其他方式计算标记概率,但是依据本 发明上述思想选择的标记概率,均应包含在本发明保护范围之内。如图3所示,为本发明实 施例的路由器实现算法示意图,其中,t是数据包的TTL值,tu是统一的TTL初值,h是路由 器推断出的数据包的传送跳数,例如选择tu = 64-256,优选为128,在本发明实施例中、为 一个比较大的值即可,以使在当该数据包的TTL值为0或者更小之后将该数据包丢弃。路 由器以Ι/h标记该数据包,因此,传送了较少跳数的数据包将以较大的概率被标记,传送了 较大跳数的数据包将以较小的概率被标记。本发明还提出了一种中继路由器,如图4所示,为本发明实施例的中继路由器的 结构图。该中继路由器100包括数据包接收模块110和标记模块120。数据包接收模块110 用于接收数据包,其中,该数据包中包括有该数据包经过的跳数信息。标记模块120用于根 据跳数信息确定标记概率,并以确定的标记概率对数据包进行标记,其中,如果所述数据包 已经过的路由器跳数越大,则中继路由器选择的标记概率越低。在本发明的优选实施例中, 可以选择数据包中的TTL值为跳数信息。在本发明的另一个优选实施例中,标记模块120 以该数据包已经过的路由器跳数的倒数作为标记概率对数据包进行标记。在本发明的一个实施例中,该中继路由器100还包括更新模块130,用于在转发数 据包时更新TTL值。在本发明的一个实施例中,该中继路由器100还包括判断模块140和丢弃模块 150。判断模块140用于更新模块130在将所述数据包中的TTL值减1之后,判断所述TTL 值是否为0或者更小。丢弃模块150用于在判断模块140判断所述TTL值为0或者更小时, 将所述数据包丢弃。如图5所示,为本发明实施例的攻击源追溯方法的流程图。通过本发明实施例的 方法不仅能快速、准确地追溯攻击源和重构攻击路径,并且还能够防御攻击者伪造标记,进 一步提高重构的准确性。该方法包括以下步骤步骤S501,第一跳路由器接收来自接入网的数据包,并将所述数据包中的跳数信 息设置为预设值,并对数据包进行标记。在本发明的一个实施例中,例如可对第一跳路由器 进行配置,对于连接接入网的路由器端口进行设置,使其能够知道自己为该接入网的第一 跳路由器。这样,该端口对每个从接入网发出的数据包进行设置,将数据包的跳数信息设 置为一个统一的预设值,并对数据包以100%的概率进行标记,这样能够有效地防御攻击者 伪造标记。在本发明的一个实施例中,可选择数据包的TTL值作为跳数信息,路由器可根据 TTL的初始值和当前值计算该数据包已经过的路由器跳数,在接收到接入网发送的数据包 之后,将该数据包的TTL值设置为一个预设值,例如统一设置为128,并对该数据包的TTL值 进行减1操作。
在本发明实施例中,当数据包在网络中被路由器转发时,每个路由器将TTL值减 1,并将减1后TTL值为0或者更小的数据包丢弃。因此,在本发明中,可将数据包在网络中 已传送的跳数是与数据包的TTL值相关联。另外,由于不同的操作系统和不同的协议对数据包设置不同的TTL初值,并且操 作系统的初始TTL值都是可以修改的,例如,Windows可以修改注册表,Linux及Unix可以 修改配置文件,这样攻击者可以伪造不同的TTL初值。因此,在本发明实施例中在第一跳路 由器上将所有从接入网输入的数据包的TTL地址设置为统一值。步骤S502,中继路由器接收第一跳路由器或上一跳中继路由器发送的数据包,并 根据所述数据包中的跳数信息确定标记概率,以及以确定的标记概率对该数据包进行标 记,如果所述数据包已经过的路由器跳数越大,则所述中继路由器选择的标记概率越低。其 中,中继路由器在转发所述数据包时均更新所述跳数信息,例如将TTL值减1等。优选地, 在本发明的一个实施例中,中继路由器可以以该数据包已经过的路由器跳数的倒数作为标 记概率对数据包进行标记。步骤S503,目标主机接收上一跳中继路由器发送的多个数据包,并根据接收到的 多个数据包中的标记内容对攻击源进行追溯。在本发明的优选实施例中,在中继路由器将TTL值减1,并将减1后TTL值为0或 者更小的数据包丢弃。本发明还提出了一种攻击源追溯系统,如图6所示,为本发明实施例的攻击源追 溯系统结构图,该系统包括至少一个第一跳路由器200、一个或多个中继路由器100、目标 主机300和攻击主机400。攻击主机400通过第一跳路由器200向目标主机300发起攻 击。第一跳路由器200用于接收来自接入网的数据包,将数据包中的跳数信息设置为预设 值,并对数据包进行100%的标记以防御攻击者伪造标记,以及在转发所述数据包时更新跳 数信息。中继路由器100用于接收第一跳路由器200或上一跳中继路由器100发送的数据 包,并根据数据包中的跳数信息确定标记概率,以及以确定的标记概率对数据包进行标记, 如果所述数据包已经过的路由器跳数越大,则中继路由器100选择的标记概率越低,其中, 中继路由器100在转发数据包时更新跳数信息。在本发明的一个实施例中,中继路由器100 可以以该数据包已经过的路由器跳数的倒数作为标记概率对数据包进行标记。目标主机300用于接收上一跳中继路由器100发送的多个数据包,并根据多个数 据包中的标记内容对攻击源进行追溯。在本发明的优选实施例中,可以以数据包中的TTL 值作为跳数信息,中继路由器100根据该TTL的初始值和当前值计算该数据包已经转发的 路由器跳数。在本发明的一个实施例中,中继路由器100还用于将TTL值减1,并将减1后TTL 值为0或者更小的数据包丢弃。如图7所示,为本发明实施例的第一跳路由器的结构图,该第一跳路由器200包括 接收模块210以及设置和标记模块220。接收模块210用于接收来自接入网的数据包。设 置和标记模块220用于将数据包中的跳数信息设置为预设值,并对数据包进行100%的标 记,从而可以防御攻击者伪造标记。在本发明的一个优选实施例中,数据包中的TTL值为跳 数信息,路由器根据TTL的初始值和当前值获得该数据包已经转发的路由器跳数。需要说 明的是,一个路由器对应不同的攻击路径来说其位置是不一样的,对于一条路径来说其可能是第一跳路由器,而对于另一条来说其可能就是中继路由器,因此对于本发明提出的一 个路由器来说,其可同时具有第一跳路由器200 (图7所示)和中继路由器100 (图4所示) 的功能,两者之间一些具有相同功能的模块可以合并,当然本领域技术人员应当知道第一 跳路由器200(图7所示)和中继路由器100(图4所示)也可分开独立实现,这些均应包 含在本发明的保护范围之内。在本发明的一个实施例中,第一跳路由器200还包括更新模块230,用于在第一跳 路由器转发数据包时更新TTL值。本发明通过将路由器的标记概率与数据包经过的跳数信息相关联,并且如果所述 数据包已经过的路由器跳数越大,则中继路由器选择的标记概率越低,因此可以优化标记 概率的选取,极大地提高重构攻击路径的速度,能够更快地对攻击源进行定位,并更好的恢 复攻击路径。另外,在本发明的优选实施例中,第一跳路由器在接收到接入网的 数据包之后,会 将该数据包中的跳数信息统一设置为一个预设值,并对数据包以100%的概率进行标记,从 而可以有效防御攻击者伪造标记,进一步提高重构的攻击路径的准确性。此外,在本发明的另一个优选实施例中,可选择数据包中的TTL值作为数据包中 的跳数信息,这样第一跳路由器在接收到接入网的数据包之后,会将该数据包中的TTL值 统一设置为一个预设值,并且在每个中继路由器转发该数据包时,都会更新该TTL值,例如 将该TTL值减1。且在本发明实施例中每个路由器将TTL值减1,并将减1后TTL值为0或 者更小的数据包丢弃。尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以 理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换 和变型,本发明的范围由所附权利要求及其等同限定。
权利要求
一种概率包标记方法,其特征在于,包括以下步骤中继路由器接收数据包,其中,所述数据包中包括有所述数据包经过的跳数信息;和所述中继路由器根据所述跳数信息确定标记概率,并以确定的所述标记概率对所述数据包进行标记,其中,如果所述数据包已经过的跳数越大,则所述中继路由器选择的标记概率越低。
2.如权利要求1所述的概率包标记方法,其特征在于,还包括在所述数据包进入第一跳路由器时,所述第一跳路由器将所述数据包的跳数信息设置 为预设值,且所述第一跳路由器在转发所述数据包时更新所述跳数信息。
3.如权利要求2所述的概率包标记方法,其特征在于,所述数据包中的生存时间TTL 值为所述跳数信息,所述第一跳路由器在接收到所述数据包之后将所述TTL值设置为预设 值,所述中继路由器根据所述TTL值确定所述数据包已经过的路由器跳数。
4.如权利要求3所述的概率包标记方法,其特征在于,还包括所述中继路由器在转发所述数据包时,更新所述TTL值。
5.如权利要求3所述的概率包标记方法,其特征在于,还包括,所述中继路由器在将所述数据包中的TTL值减1之后,如果所述TTL值为O或者更小, 则将所述数据包丢弃。
6.如权利要求1所述的概率包标记方法,其特征在于,所述中继路由器根据所述跳数 信息确定标记概率包括所述中继路由器以所述数据包已经过的路由器跳数的倒数作为标记概率。
7.—种路由器,其特征在于,包括数据包接收模块,用于接收数据包,其中,所述数据包中包括有所述数据包经过的跳数 信息;和标记模块,用于根据所述跳数信息确定标记概率,并以确定的所述标记概率对所述数 据包进行标记,其中,如果所述数据包已经过的路由器跳数越大,则选择的标记概率越低。
8.如权利要求7所述的路由器,其特征在于,所述数据包中的生存时间TTL值为所述跳 数信息,所述路由器根据所述TTL值确定所述数据包已经过的路由器跳数。
9.如权利要求8所述的路由器,其特征在于,还包括更新模块,用于在转发所述数据包时更新所述TTL值。
10.如权利要求8所述的路由器,其特征在于,还包括判断模块,用于在将所述数据包中的TTL值减1之后,判断所述TTL值是否为0或者更 小;和丢弃模块,用于在所述判断模块判断所述数据包中的TTL值为0或者更小时,将所述数 据包丢弃。
11.如权利要求7所述的路由器,其特征在于,所述标记模块以所述数据包已经过的跳 数的倒数作为标记概率。
12.—种攻击源追溯方法,其特征在于,包括以下步骤第一跳路由器接收来自接入网的数据包,并将所述数据包中的跳数信息设置为预设 值,并对所述数据包进行标记;中继路由器接收所述第一跳路由器或上一跳中继路由器发送的数据包,并根据所述数据包中的跳数信息确定标记概率,以及以确定的所述标记概率对所述数据包进行标记,如 果所述数据包已经过的路由器跳数越大,则选择的标记概率越低,其中,所述第一跳路由器 和所述中继路由器在转发所述数据包时更新所述跳数信息;和目标主机接收经过标记的多个数据包,并根据所述多个数据包中的标记内容对攻击源 进行追溯。
13.如权利要求12所述的攻击源追溯方法,其特征在于,其中,所述数据包中的TTL值 为所述跳数信息,所述中继路由器根据所述TTL值确定所述数据包已经过的路由器跳数。
14.如权利要求13所述的攻击源追溯方法,其特征在于,还包括所述中继路由器在将 所述数据包中的TTL值减1之后,如果所述TTL值为O或者更小,则将所述数据包丢弃。
15.如权利要求13所述的攻击源追溯方法,其特征在于,所述中继路由器以所述数据 包已经过的路由器跳数的倒数作为标记概率。
16.一种攻击源追溯系统,其特征在于,包括至少一个第一跳路由器,用于接收来自接入网的数据包,并将所述数据包中的跳数 信息设置为预设值,并对所述数据包进行标记,以及在转发所述数据包时更新所述跳数信 息;一个或多个中继路由器,用于接收所述第一跳路由器或上一跳中继路由器发送的数据 包,并根据所述数据包中的跳数信息确定标记概率,以及以确定的所述标记概率对所述数 据包进行标记,如果所述数据包已经过的路由器跳数越大,则选择的标记概率越低,其中, 所述中继路由器在转发所述数据包时更新所述跳数信息;和目标主机接收经过标记的多个数据包,并根据所述多个数据包中的标记内容对攻击源 进行追溯。
17.如权利要求16所述的攻击源追溯系统,其特征在于,所述数据包中的TTL值为所述 跳数信息,所述中继路由器根据所述TTL值确定所述数据包已经过的路由器跳数。
18.如权利要求17所述的攻击源追溯系统,其特征在于,所述中继路由器还用于在将 所述数据包中的TTL值减1之后,如果所述TTL值为O或者更小,则将所述数据包丢弃。
19.如权利要求17所述的攻击源追溯系统,其特征在于,所述中继路由器以所述数据 包已经过的路由器跳数的倒数作为标记概率。
20.一种路由器,其特征在于,包括接收模块,用于接收来自接入网的数据包;和设置和标记模块,用于将所述数据包中的跳数信息设置为预设值,并对所述数据包进 行标记。
21.如权利要求20所述的路由器,其特征在于,所述数据包中的TTL值为所述跳数信 息,所述路由器在接收到所述数据包之后将所述TTL值设置为预设值。
22.如权利要求21所述的路由器,其特征在于,还包括更新模块,用于在所述路由器转发所述数据包时更新所述TTL值。
全文摘要
本发明提出一种概率包标记方法,包括以下步骤中继路由器接收数据包,其中,所述数据包中包括有所述数据包经过的跳数信息;和所述中继路由器根据所述跳数信息确定标记概率,并以确定的所述标记概率对所述数据包进行标记,其中,如果所述数据包已经过的路由器跳数越大,则所述中继路由器选择的标记概率越低。本发明通过将路由器的标记概率与数据包经过的跳数信息相关联,并且如果所述数据包已经过的路由器跳数越大,则中继路由器选择的标记概率越低,因此可以优化标记概率的选取,极大地提高重构攻击路径的速度,并消除攻击者伪造标记对路径重构的影响,更好的恢复攻击路径。
文档编号H04L29/06GK101873258SQ20101019299
公开日2010年10月27日 申请日期2010年6月7日 优先权日2010年6月7日
发明者毕军, 田红成, 胡萍 申请人:清华大学