一种识别伪造互联网协议IP报文的方法和设备与流程

文档序号:18617162发布日期:2019-09-06 22:08阅读:299来源:国知局
一种识别伪造互联网协议IP报文的方法和设备与流程

本申请涉及网络安全领域,特别是涉及一种识别伪造互联网协议ip(ip,internetprotocol)报文的方法和设备。



背景技术:

网络技术和网络应用发展迅速,网络安全问题显得越来越重要,已经被提到一个很高的高度。分布式拒绝服务(ddos:distributeddenialofservice)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动dos攻击,从而成倍地提高拒绝服务攻击的威力。

被ddos攻击时,被攻击的服务器上有大量无用的ip报文,源地址和生存时间值(ttl,timetolive)为假。造成网络拥塞,被攻击的服务器无法及时处理正常请求,严重时会造成被攻击的服务器死机。面对ddos攻击,现有技术解决的方法是主动向攻击源头发送探测数据包,通过获取攻击源的响应而确定出攻击源的地址,从而可以拒绝接收该攻击源地址发送来的数据包。其存在的问题是,反向探测耗费了网络带宽,并且更重要的是发送出去的探测包往往被中间的网关设备丢弃甚至有的设备可能不做回应导致反向探测失败。一旦探测失败,无法确定出攻击的源地址,进而无法确定哪些ip报文是伪造的攻击报文,也就无法拒绝接收攻击报文。

综上所述,现有技术中通过先确定攻击源的ip地址的方法来解决ddos攻击的技术存在技术缺陷,不能够有效地解决ddos攻击。



技术实现要素:

本申请实施例提供了一种识别伪造互联网协议ip报文的方法和设备,用以解决现有技术中如果不能确定出攻击源地址就无法识别攻击报文的问题。

第一方面,本发明实施例提供一种识别伪造互联网协议ip报文的方法,该方法包括:

确定接收到的ip报文中的生存时间ttl值以及所述ip报文中的源地址;

将确定的所述ttl值和所述源地址对应的ttl标准值进行比较,其中所述源地址对应的ttl标准值是预先对正常ip报文进行学习得到的;

根据比较结果判断所述ip报文是否是伪造ip报文。

上述方法,由于事先在对正常ip报文进行学习,已经学习到了源地址到目标地址的报文的ttl标准值,ttl值是用来表示报文的生存时间的值,直接利用学习到的ttl标准值来对接收到的ip报文进行校验,判断接收到的ip报文是否是伪造ip报文,避免了现有技术不能确定出攻击源地址就无法识别攻击报文,防护能力降低的缺点,提高了识别率,显著提高了防护能力。

在一种可能的实现方式中,根据比较结果判断所述ip报文是否是伪造ip报文,包括:

如果所述ttl值和所述源地址对应的ttl标准值的差值的绝对值大于预定的阈值,则所述ip报文是伪造ip报文;

如果所述ttl值和所述源地址对应的ttl标准值的差值的绝对值小于等于预定的阈值,则所述ip报文不是伪造ip报文。

上述方法,利用ttl标准值对ip报文进行校验,用ttl标准值来和ttl值进行比较,如果误差范围小,则认定ip报文不是伪造报文,如果误差范围大,则认定ip报文是伪造报文,只是比较两个ttl值的大小,实现起来简单易行。

在一种可能的实现方式中,根据所述ttl值和预先对正常ip报文进行学习得到ttl标准值判断所述ip报文是否是伪造ip报文之前,所述方法包括:

判断所述ip报文的ttl值是否在预设的区间范围内;

如果所述报文的ttl值不在预设的区间范围内,则判断所述ip报文为伪造ip报文。

上述方法,对于某些伪造的报文,只采用ttl的区间范围就能够识别出来,而不需要采用ttl标准值进行校验,提高了识别效率。

在一种可能的实现方式中,通过下列方式确定源地址对应的ttl标准值:

以所述源地址为索引,在预先设定的源地址和ttl标准值的绑定关系表中查找所述源地址对应的ttl标准值。

上述方法,将源地址和ttl标准值进行绑定,就可以根据对应绑定关系查找到源地址对应的ttl标准值。通过绑定关系表来记录源地址和ttl标准值的对应关系,将复杂的大量的数据进行了整理,便于查找。

在一种可能的实现方式中,预先对正常ip报文进行学习得到所述源地址的ttl标准值,包括:

接收所述源地址发送的多个正常ip报文;

针对每一个ip报文,获取所述正常ip报文的ttl值;

针对每一个ttl值,统计所述ttl值对应的正常ip报文个数;

选择正常ip报文个数最多的ttl值作为与所述源地址对应的ttl标准值。

上述方法,在无攻击的情况下,对正常ip报文进行学习,学习到了ttl的标准值。用大概率统计的方法来统计出ttl的标准值,只是数量上的统计工作,技术方案简单易行。

第二方面,本申请实施例还提供了一种识别伪造互联网协议ip报文的装置,包括:确定模块,用于确定接收到的ip报文中的生存时间ttl值以及所述ip报文中的源地址;

比较模块,用于将确定的所述ttl值和所述源地址对应的ttl标准值进行比较,其中所述源地址对应的ttl标准值是预先对正常ip报文进行学习得到的;

根据比较结果判断所述ip报文是否是伪造ip报文。

在一种可能的实现方式中,所述比较模块还用于:

如果所述ttl值和所述源地址对应的ttl标准值的差值的绝对值大于预定的阈值,则所述ip报文是伪造ip报文;

如果所述ttl值和所述源地址对应的ttl标准值的差值的绝对值小于等于预定的阈值,则所述ip报文不是伪造ip报文。

所述比较模块根据所述ttl值和预先对正常ip报文进行学习得到ttl标准值判断所述ip报文是否是伪造ip报文之前,还用于:

根据所述ttl值和预先对正常ip报文进行学习得到ttl标准值判断所述ip报文是否是伪造ip报文之前:

判断所述ip报文的ttl值是否在预设的区间范围内;

如果所述报文的ttl值不在预设的区间范围内,则判断所述ip报文为伪造ip报文。

在一种可能的实现方式中,所述比较模块还用于:

以所述源地址为索引,在预先设定的源地址和ttl标准值的绑定关系表中查找所述源地址对应的ttl标准值。

在一种可能的实现方式中,所述比较模块还用于:

接收所述源地址发送的多个正常ip报文;

针对每一个正常ip报文,获取所述正常ip报文的ttl值;

针对每一个ttl值,统计所述ttl值对应的正常ip报文个数;

选择正常ip报文个数最多的ttl值作为与所述源地址对应的ttl标准值。

第三方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一一项方法的步骤。

第二方面至第三方面中任意一种实现方式所带来的技术效果可参见第一方面中对应的实现方式所带来的技术效果,此处不再赘述。

附图说明

图1为ddos攻击场景示意图;

图2为本申请实施例提供的一种识别伪造ip报文的方法流程图;

图3为本申请实施例提供的一种报文在传送过程中的ttl值变化示意图;

图4为本申请实施例提供的一种真假报文的ttl值比较示意图;

图5为本申请实施例提供的一种从源节点到目标节点的多路径系统示意图;

图6为本申请实施例提供的另一种识别伪造ip报文的方法流程图;

图7为本申请实施例提供的一种识别伪造ip报文的设备示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。以下对本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

ddos攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动ddos攻击,从而成倍地提高拒绝服务攻击的威力。参见附图1所示的分布式拒绝服务ddos攻击示意图;攻击者操控多个傀儡机联合起来对一个服务器发起攻击,每一个傀儡机都会向被攻击服务器发送伪造的ip报文,由于是多台傀儡机联合起来攻击,所以伪造ip报文的数量是巨大的,攻击的威力也很大。

被攻击的服务器如果受到了ddos攻击,就会接收大量的伪造的ip报文,而不能够为正常用户提供服务。为了降低ddos攻击的损害程度,本申请的方法应用在ddos防护设备中,可以提高ddos防护设备对伪造报文的识别率,从而提高防护能力。

ip报文中携带了生存时间(ttl,timetolive)值,ttl是timetolive的缩写,该字段指定ip报文被路由器丢弃之前允许通过的最大网段数量。ttl是ip报文在计算机网络中可以转发的最大跳数。ttl字段由ip报文的发送者设置,在ip报文从源到目的的整个转发路径上,每经过一个路由器,路由器都会修改这个ttl字段值,具体的做法是把该ttl的值减1,然后再将ip报文转发出去。对于一个报文来讲,该报文的ttl的基值和到达目的地的ttl终值是由网络路径上的路由器的个数决定的,黑客进行ddos攻击,并不能改变网络系统的结构,所以不论是有攻击还是无攻击的状态,从源地址发出的报文到达目的地址之后,ttl值往往是固定不变的。所以可以用ttl值来进行对伪造报文进行识别。

基于此,本申请提出了一种识别伪造ip报文的方法,参见附图2所示,该方法包括:

步骤s201,确定接收到的ip报文中的ttl值以及所述ip报文中的源地址;

其中,上述的ttl值是指ip报文到达目标地址上的服务器后的ttl值。

源地址上的发送主机向目标地址上的服务器发送ip报文时,会设置ttl初始值,该ip报文经过在路径上的多个路由器进行转发最终到达目标地址上的服务器;中间的路由器在转发ip数据报文时,路由器会将ttl减小1,所以最终到达目标地址时,ip报文上的ttl值会小于ttl初始值。

目标地址上的服务器接收到ip报文时,可以提取ip报文中携带的ttl值和该报文的源ip地址。

步骤s202,将确定的所述ttl值和所述源地址对应的ttl标准值进行比较,其中所述源地址对应的ttl标准值是预先对正常ip报文进行学习得到的;

其中,所述源地址对应的ttl标准值是通过预先对正常ip报文进行学习得到的。上述的正常ip报文是指在无攻击的状态下正常发送的ip报文。无攻击的状态可以通过流量监控来实现,如果流量异常,则确定是遭到攻击的状态,如果流量正常,则确定是无攻击的状态。可以将ttl标准值存储在目标地址的服务器中或者存储在ddos防护设备中。

步骤s203,根据比较结果判断所述ip报文是否是伪造ip报文。

如果所述ttl值和所述源地址对应的ttl标准值的差值的绝对值大于预定的阈值,则所述ip报文是伪造ip报文;

如果所述ttl值和所述源地址对应的ttl标准值的差值的绝对值小于等于预定的阈值,则所述ip报文不是伪造ip报文。

在无攻击的正常情况下,各种操作系统都有各自的ttl初始值。各个地址采用操作系统在向外发送正常ip报文的时候,每一个正常ip报文中的ttl都会用一个固定的初始值来填充。通过大量的统计发现正常ip报文经过的路由跳数是有限的,不会超过ttl初始值,否则正常ip报文就会被丢弃。

在有攻击的情况下,黑客发出的攻击伪造的ip报文的ttl初始值是随机的,并不固定,没有规律。所以很难用该报文的ttl初始值来判断该报文是否是攻击伪造报文。但是无论正常无攻击的情况的ip报文还是ddos攻击时伪造的ip报文,在路由的过程中,都会尊崇路由器修改ttl的约定,即ip报文每经过一个路由器,ttl就会减1。参见附图3所示的报文在传送过程中的ttl值变化示意图;该附图中,源地址上的服务器发送出一个ip报文时,假设该报文的ttl初始值为32,经过第一个路由器后,该ip报文的ttl值变为31,经过第二个路由器后,该ip报文的ttl值变为了30。

对于一个源地址,如果该源地址发出了一个伪造的ip报文,其ttl初始值是随机产生的,没有规律。但是在正常情况下,该源地址发出的报文的ttl初始值是相同的。对于同一个路径来讲,从源地址到目标地址的跳数是固定不变的,所以从同一个源地址发送给目标地址的多个ip报文,ttl的初始值是相同的,到达目标地址时,ttl值也是相同的。参见附图4所示的真假报文的ttl值比较示意图;假设源地址上的服务器被黑客所控制,发出的报文是伪造的ip报文,伪造报文的ttl基值是随机的,到达目标节点之后的ttl值也可能是5、6、15等随机分布,显然与正常报文的ttl标准值30相差巨大,所以可以利用ip报文的ttl值来识别伪造报文。采用本申请的上述方法,应用在ddos防护设备或者被动检测设备当中,可以使得ddos防护设备或被动检测设备非常方便地识别ttl伪造的ip报文。方案简单易行,对防护设备的性能影响非常小,提高伪造ip报文识别率。

为了确定服务器是否遭受攻击,可以对流量进行判断。当流量正常时,确定没有受到攻击,当流量异常时,确定服务器受到攻击。在流量正常状态时,在没有攻击发生的时候,预先学习源地址发出的ip报文的ttl的标准值,当检测到流量异常,确定发生ddos攻击时,就采用ttl标准值来对源地址发出的ip报文进行校验,参见上图4所示的真假报文ttl值比较示意图,正常ip报文的ttl标准值为30,可以确定ttl值为5的ip报文为伪造报文。

本申请的方法简单易行,对防护设备的性能影响小,能非常方便地识别伪造的ip报文,与现有技术中,先确定出攻击源地址,再确定攻击源地址发出的报文是攻击伪造报文的思路相比,本申请并不需要先确定出攻击源地址,本申请所以不需要采用反向探测技术,可以显著提高伪造ip报文的识别率,提高防护能力。

由于多路径上的跳数可能不同,有的正常的ip报文的ttl值可能与ttl标准值有微小的差别,如果因为与ttl标准值不同就认定该ip报文是伪造报文,则会造成误判,为了避免误判,在一种实施方式中,根据比较结果判断所述ip报文是否是伪造ip报文时:

如果所述ttl值和所述源地址对应的ttl标准值的差值的绝对值大于预定的阈值,则所述ip报文是伪造ip报文;

如果所述ttl值和所述源地址对应的ttl标准值的差值的绝对值小于等于预定的阈值,则所述ip报文不是伪造ip报文。

为了兼顾识别效率并且避免误判的情况发生,在一种可能的实施方式中,方法包括:

判断所述ip报文的ttl值是否在预设的区间范围内;

如果所述报文的ttl值不在预设的区间范围内,则判断所述ip报文为伪造ip报文;

如果所述报文的ttl值在预设的区间范围内,则利用报文的ttl值和源地址的ttl标准值来进一步判断该报文是否是伪造报文:

如果所述ttl值和所述源地址对应的ttl标准值的差值的绝对值大于预定的阈值,则所述ip报文是伪造ip报文;

如果所述ttl值和所述源地址对应的ttl标准值的差值的绝对值小于等于预定的阈值,则所述ip报文不是伪造ip报文。

本申请涉及到的阈值的获取方式和值的大小可以采用多种方式实现,可以灵活设计,可以根据实际的网络路由的场景而灵活设定,还可以用人工智能领域中的机器学习的方法获得,还可以人为地进行设定。本申请不做具体的限制。

考虑到从同一个源地址到目标地址的路径并不是唯一的,可能有多个不同的路径,路径之间的跳数是不同的,可能会有细微的差别。

参见附图5所示的从源节点到目标节点的多路径系统示意图,从源节点发出的ip报文,假设初始值是32,路径1上的路由器的个数是2个,跳数为2,所以ip报文到达目标节点后,ttl值变为30;

路径2上的路由器的个数是3个,跳数为3,所以ip报文到达目标节点后,ttl值变为29;

路径3上的路由器的个数是1个;跳数位1,所以ip报文到达目标节点后,ttl值变为31。

所以本申请在ttl标准值和接收到的ip报文的ttl值的比较的过程中,设计了一定的裕量,ttl标准值和接收到的ip报文的ttl值的误差在预定的范围之内,就认为该报文不是伪造的报文。如果超出了预定的范围,就认为该ip报文是伪造的报文。

具体实施时,假设在正常状态下,从上述源节点向目标节点发送正常ip报文,正常ip报文的基值为32,跳数为5,则正常ip报文到达目标地址后,ttl值变为了27,27为统计学习到的该源地址的ttl标准值。

如果该目标节点从该源节点接收到一个ip报文的ttl值为5,与标准值27的差值为22,如果阈值为5,则差值22远大于阈值5,则认定该ip报文是伪造的报文,将该报文丢弃。

假设从上述源节点发出的一个ip报文的ttl值是5,假设该源节点到目标节点的ttl标准值为6,阈值为3,则认定该报文不是伪造报文,将该报文放行。

由于上述利用ttl标准值进行校验的步骤比较繁琐,需要与ttl值做差并判断是否小于阈值,所以为了提高伪造报文的识别效率,可以在收到ip报文后,先判断ip报文的ttl值是否在预设的区间范围内;如果ip报文的ttl值在预设的区间范围内,则需要对该ip报文做进一步的判断;如果所述报文的ttl值不在预设的区间范围内,则判断所述ip报文为伪造ip报文;因为报文的ttl基值是固定的,一般就是几个基本固定的值,比如32、128、64。根据网络的特点,从源节点到目标节点的路由跳数,一般也不会超过16,所以正常的ip报文的ttl值的分布是有规律的,是分布在特定的区间范围之内,而不是散乱地随机分布,而伪造报文的特点之一就是ttl基值是随机的,并不是固定的,所以伪造报文到达目标节点之后,ttl值很难落在正常的区间之内。

如果报文的ttl值不在预设的区间范围内,则认定该ip报文是伪造报文,将该ip报文直接丢弃,然后报警,具体实施时,也可以采用其他的方式来进行处理,比如,防护设备将该伪造报文进行存储分析等,本申请不做具体的限制。

根据人为的经验,网络上的ip报文ttl实际的区间应该是在ttl={x|[1,32],[32,64],[96,128],[223,255]}。在实际工程上这个合理区间会更小,比如大多数路由跳数在16以下,那么ttl的实际区间就变成ttl={x|[16,32],[(64-16),64],[(128-16),128],[(255-16),255]}。假设一个ip报文的ttl值为40,不在上述的区间内,则该ip报文被认定为伪造ip报文,丢弃该ip报文。

如果有的ip报文是伪造报文,ttl值比较离谱,只用合法区间就可以区分出来,而不需要再比较ttl标准值,上述方法可以显著提升识别伪造ip报文的效率。

该实施方式先判断ttl值是否在预定的范围,如果没有落在预定的范围,则认定该ip报文就是伪造报文,如果ttl值落在了预定的范围,再进一步地进行判断,用ttl标准值来进行校验,以下举例说明:

假设在无攻击的状态下,预先学习到一个源地址的ttl标准值为27,阈值为5;并且预置的区间为ttl={x|[16,32],[(64-16),64],[(128-16),128],[(255-16),255]};该预置区间是上述的根据人为的经验得到的。值得强调的是,预置区间的设计,还可以根据实际的网络系统的实际场景进行灵活调整。比如,对于网络系统,如果系统比较小,或者对于一个网络服务器,如果该服务器周围的节点与该服务器的跳数都比较少,最大不超过2跳,或者1跳,则该区间就比较大;如果跳数比较多,则区间就比较小。

如果当前接收到一个ip报文的ttl值为5,首先判断该ttl值是否在预置的区间内,显然该ttl值并不在[16,32]的范围之内,则认定该ip报文是伪造的报文,将该报文丢弃。如果接收到一个ip报文的ttl值为23,处在[16,32]的范围之内,则需要进一步采用标准值27进行判断,该ttl的值23与ttl标准值27的差值4小于阈值5,则认定该报文非伪造报文。如果一个报文的ttl值为17,虽然处在了[16,32]的范围之内,但是与标准值27的相差为10,大于阈值5,则认定该报文是伪造报文。将该报文丢弃,或者丢弃并报警,向服务器发送告警信息,能够起到提前预警的作用,及时丢弃伪造报文也起到了提高防护能力的作用。

其中,查找ttl标准值的方式有多种方式来实现:

一种方式是采用查表的方式实现,预先建立ip地址和ttl标准值的绑定关系表,来绑定ip地址和ttl标准值。在查表时,以源ip地址为索引,查找源ip地址对应的ttl标准值。除了绑定关系表的方式之外,还可以采用查找算法等方式来查找到该ip地址对应的ttl标准值。

关于ttl标准值的学习过程,在一种实施方式中,用多个ip报文来确定ttl标准值,具体为:获取每一个ip报文的ttl值;

统计每一个ttl值对应的ip报文个数;

选择ip报文个数最多的ttl值作为ttl标准值。

具体实施时,在无攻击的情况下,假设一个源地址向目标地址发送了1000个ip报文,经过统计发现,ttl值为16的报文个数为950个,ttl值为32的报文个数为50个,则认定该源地址到目标地址的ttl标准值为16。

本申请使用ttl值识别伪造ip报文,技术方案简单且独立性强,给防护系统资源消耗极低,仅仅是cpu读操作和数值比较操作,不存在耗费时间的写操作。无攻击情况下,ip报文的ttl值和路由跳数的合理工程区间以及标准值都是通过统计聚类学习获得,这使得在不用的用户场景这个值是动态变化的,使得黑客无法准确猜到。这就提高了黑客的攻击难度,在攻防博弈中隐藏掉关键信息,使之无法捉摸。

另外,考虑到ddos攻击的特点,多个傀儡机的分布式集中在一起的,ip地址具有区域性,集中性的特点。所以在确定出一个傀儡机的ip地址之后,就可以认定与该ip地址相近的ip地址也是傀儡机。具体实施时,设置一个阈值,在确定出的傀儡机的ip地址之后,认定与傀儡机的地址相邻的k个地址也是傀儡机,或者对相邻的k个地址进行重点的监控和检测。

考虑到提前预警的需求,本申请的防ddos攻击设备,由于在无攻击的情况之下已经学习到了ttl标准值,所以在日常使用的过程中,一旦发现了伪造报文,在攻击的前期,或者攻击的一开始就会及时发现攻击报文,及时报警,可以起到预警的作用,并且丢弃攻击的报文,提高防护能力,避免受到攻击。

本申请还提供了另一种识别伪造ip报文的方法,参见附图6所示的另一种识别伪造ip报文的方法流程图,方法包括:

步骤s601,接收ip报文并获取ip报文的ttl值;

对接收到的ip报文进行解析获得该ip报文的源ip地址、ttl值并进行计算得到该ip报文的发送者操作系统的ttl基值和当前ip报文路由跳数的实际计算值。

步骤s602,判断报文的ttl值是否在预设的区间,如果在预设的区间,则执行步骤s603,如果没有在预设的区间,则执行步骤s605;

其中,判定ip报文的ttl是否在合理的预设区间内,不是则丢弃,是则进入下一步判定。经过大量的统计发现当前操作系统的ttl值有32、64、128、255这些值,在源ip和目的ip之间的路由器个数几乎不会超过32,否则ttl为32的操作系统的数据包就无法到达目的地。那么网络上的ip报文ttl实际的区间应该是在ttl={x|[1,32],[32,64],[96,128],[223,255]}。在实际工程上这个合理区间会更小,比如大多数路由跳数在16以下,那么ttl的实际区间就变成ttl={x|[16,32],[(64-16),64],[(128-16),128],[(255-16),255]}其中,预设的区间是可以根据实际的系统的情况进行调整。

步骤s606,比较该ip报文的ttl值和ttl标准值的误差是否在预设范围内;

经过上述步骤s602处理后的ip报文已经被过滤掉很大一部分,剩余部分ip报文进入步骤s606处理;

其中,ttl标准值可以通过报文的源地址为索引在预存的源地址和ttl标准值的绑定关系表中查询获得;

将报文的ttl值和ttl标准值做对比,在合理误差区间内就放行,否则就告警并丢弃。

值得强调的是,上述的ttl标准值是通过预先学习而得到的。预先学习的过程为:在无攻击的状态下,从正常ip报文中提取ttl值并进行统计学习。ttl值是现网ip报文到达目的地时的最终的ttl值,根据统计的结果可以得出ip报文从不同的源地址在网络上经过多个路由器最终到达目标地址的ttl值。除了ttl值之外,还能够学习得到源地址到目标地址的跳数,具体实施时,结合从操作系统中分析获得的ip报文的ttl基值和最终的ttl值,进行简单的加减法运算就得到了从源地址到目标地址的跳数。也可以把跳数存储在源地址和ttl标准值的预存关系表中作为一个参数备用。如果否,执行步骤s605;如果是,执行步骤s604;

步骤s604,放行该报文;

步骤s605,丢弃该报文并报警。

基于同一发明构思,本发明实施例中还提供了一种识别伪造ip报文的设备,由于该设备是本发明实施例提供的识别伪造ip报文的设备,并且该设备解决问题的原理与该方法相似,因此该设备的实施可以参见方法的实施,重复之处不再赘述。

与上述方法对应,

本申请还提供了一种识别伪造互联网协议ip报文的装置,参见附图7所示的一种识别伪造互联网协议ip报文的设备示意图,该装置包括:

确定模块71,用于确定接收到的ip报文中的生存时间ttl值以及所述ip报文中的源地址;

比较模块72,用于将确定的所述ttl值和所述源地址对应的ttl标准值进行比较,其中所述源地址对应的ttl标准值是预先在无攻击的情况下学习得到的;

判断模块73,根据比较结果判断所述ip报文是否是伪造ip报文。

在一种实施方式中,判断模块73还用于,如果所述ttl值和所述源地址对应的ttl标准值的差值的绝对值大于预定的阈值,则所述ip报文是伪造ip报文;

如果所述ttl值和所述源地址对应的ttl标准值的差值的绝对值小于等于预定的阈值,则所述ip报文不是伪造ip报文。

在一种实施方式中,判断模块73根据所述ttl值和预先在无攻击的情况下学习得到ttl标准值判断所述ip报文是否是伪造ip报文之前,还用于:

判断所述ip报文的ttl值是否在预设的区间范围内;

如果所述报文的ttl值不在预设的区间范围内,则判断所述ip报文为伪造ip报文。

在一种实施方式中,还包括查找模块,用于通过下列方式确定源地址对应的ttl标准值:

以所述源地址为索引,在预先设定的源地址和ttl标准值的绑定关系表中查找所述源地址对应的ttl标准值。

在一种实施方式中,还包括学习模块,用于预先对正常ip报文进行学习得到所述源地址的ttl标准值,具体用于:

接收所述源地址发送的多个正常ip报文;

针对每一个正常ip报文,获取所述正常ip报文的ttl值;

针对每一个ttl值,统计所述ttl值对应的正常ip报文个数;

选择ip报文个数最多的ttl值作为与所述源地址对应的ttl标准值。

本申请提供了一种识别伪造互联网协议ip报文的装置,本申请并不需要先确定出攻击源地址,所以不需要采用反向探测技术,可以显著提高伪造ip报文的识别率,提高防护能力。

本发明实施例还提供一种计算机可读非易失性存储介质,包括程序代码,当所述程序代码在计算设备上运行时,所述程序代码用于使所述计算设备执行本发明实施例上述方法的步骤。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1