一种报文检测方法及装置与流程

文档序号:14721961发布日期:2018-06-17 17:47阅读:132来源:国知局
本申请涉及网络通信
技术领域
,尤其涉及一种报文检测方法及装置。
背景技术
:DPI(Deeppacketinspection,深度报文解析)是一种基于应用层的流量检测和控制技术,广泛应用于网络安全设备上。网络安全设备在通过DPI功能检查出威胁报文时,对该威胁报文执行告警、丢弃、重置、阻断等操作。目前,重置操作仅对单条会话有效,后续流量根据五元组信息对属于同一会话的流量进行阻断。但是,某些客户端设备在被重置后,会主动变换源端口号重新发起链接。网络安全设备无法感知当前会话与被重置会话属于同一会话,因此,将客户端设备发起的链接视为新会话进行DPI检测。当客户端设备始终无法通过DPI检查时,会不断重复上述过程,从而造成网络安全设备的性能消耗,影响设备的正常运行。技术实现要素:有鉴于此,本申请提供一种报文检测方法及装置。具体地,本申请是通过如下技术方案实现的:本申请提供一种报文检测方法,应用于网络安全设备上,该方法包括:接收报文;判断威胁记录表中是否存在第一威胁记录表项,所述第一威胁记录表项为与所述报文的报文特征匹配的威胁记录表项,所述威胁记录表项用于记录报文特征与重置次数的对应关系,所述报文特征包括报文的源IP地址、目的IP地址以及目的端口号;当所述威胁记录表中存在所述第一威胁记录表项时,判断所述第一威胁记录表项中的重置次数是否大于或者等于预设的重置次数阈值;当所述第一威胁记录表项中的重置次数大于或者等于预设的重置次数阈值,且报文阻断时长小于预设的第一阻断时长时,丢弃所述报文,所述报文阻断时长为阻断与所述第一威胁记录表项匹配的报文的时长。本申请还提供一种报文检测装置,应用于网络安全设备上,该装置包括:报文接收单元,用于接收报文;表项判断单元,用于判断威胁记录表中是否存在第一威胁记录表项,所述第一威胁记录表项为与所述报文的报文特征匹配的威胁记录表项,所述威胁记录表项用于记录报文特征与重置次数的对应关系,所述报文特征包括报文的源IP地址、目的IP地址以及目的端口号;次数判断单元,用于当所述威胁记录表中存在所述第一威胁记录表项时,判断所述第一威胁记录表项中的重置次数是否大于或者等于预设的重置次数阈值;报文处理单元,用于当所述第一威胁记录表项中的重置次数大于或者等于预设的重置次数阈值,且报文阻断时长小于预设的第一阻断时长时,丢弃所述报文,所述报文阻断时长为阻断与所述第一威胁记录表项匹配的报文的时长。由以上描述可以看出,本申请通过维护威胁记录表,对匹配威胁记录表项的报文根据重置次数以及报文阻断时长确定是否进行深度检测,以降低深度检测次数,进而降低会话重置次数,减少客户端设备因重置会话而重复发送威胁报文的次数,降低网络安全设备的资源消耗,提高正常业务的处理能力。附图说明图1是本申请一示例性实施例示出的一种报文检测方法流程图;图2是本申请一示例性实施例示出的一种报文检测装置所在设备的基础硬件结构示意图;图3是本申请一示例性实施例示出的一种报文检测装置的结构示意图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。DPI是一种基于应用层的流量检测和控制技术,广泛应用于网络安全设备上。网络安全设备通过对报文进行深度检测,识别具有漏洞、病毒、垃圾邮件等特征的威胁报文,进而依据预设规则对威胁报文执行告警、丢弃、重置、阻断等操作。目前,网络安全设备在执行重置操作时,仅针对单条会话执行重置操作,后续流量根据五元组信息(源IP地址、源端口号、目的IP地址、目的端口号、协议类型)判断是否属于被重置的同一会话,对属于同一会话的流量进行阻断。但是,某些客户端设备被重置会话后,会主动变换源端口号以重新发起链接。网络安全设备无法感知当前会话与被重置会话属于同一会话,因此,会不断对客户端设备发起的新链接进行DPI检测,造成网络安全设备的性能消耗,影响网络安全设备的正常运行。针对上述问题,本申请实施例提出一种报文检测方法,该方法通过维护威胁记录表,对匹配威胁记录表项的报文根据重置次数以及报文阻断时长确定是否进行深度检测,以降低深度检测次数以及重置会话次数。参见图1,为本申请报文检测方法的一个实施例流程图,该实施例对报文检测过程进行描述。步骤101,接收报文。步骤102,判断威胁记录表中是否存在第一威胁记录表项,所述第一威胁记录表项为与所述报文的报文特征匹配的威胁记录表项,所述威胁记录表项用于记录报文特征与重置次数的对应关系,所述报文特征包括报文的源IP地址、目的IP地址以及目的端口号。参见表1,为本申请维护的威胁记录表示例。其中,源IP地址、目的IP地址以及目的端口号统称为报文特征;重置次数为网络安全设备对客户端设备所发起会话的重置次数。表项序号源IP地址目的IP地址目的端口号重置次数1192.168.1.1202.102.10.10100012192.168.2.2202.102.20.20200023192.168.3.3202.102.30.3030002表1当网络安全设备接收到报文时,提取报文的报文特征(源IP地址、目的IP地址以及目的端口号),根据提取的报文特征逐一匹配威胁记录表中的各个表项(简称威胁记录表项),找到与接收报文的报文特征匹配的威胁记录表项,简称第一威胁记录表项。步骤103,当所述威胁记录表中存在所述第一威胁记录表项时,判断所述第一威胁记录表项中的重置次数是否大于或者等于预设的重置次数阈值。根据步骤102的判断结果分以下两种情况处理:当威胁记录表中不存在第一威胁记录表项时,说明当前报文对应会话没有威胁记录,可对该报文进行深度检测。如果检测结果命中重置动作,说明该报文存在威胁(病毒、垃圾邮件等),则新建威胁记录表项,该新建威胁记录表项中的重置次数为一。当威胁记录表中存在第一威胁记录表项时,判断第一威胁记录表项中的重置次数是否大于或者等于预设的重置次数阈值。根据判断结果执行步骤104。步骤104,当所述第一威胁记录表项中的重置次数大于或者等于预设的重置次数阈值,且报文阻断时长小于预设的第一阻断时长时,丢弃所述报文,所述报文阻断时长为阻断与第一威胁记录表项匹配的报文的时长。当第一威胁记录表项中的重置次数小于预设的重置次数阈值时,说明客户端设备发送威胁报文可能是偶然现象,可继续对报文进行深度检测。当检测结果未命中重置动作时,则执行其它匹配动作(例如,重定向、允许通过),此时,删除第一威胁记录表项;当检测结果命中重置动作时,说明当前报文为威胁报文,执行重置动作,并将第一威胁记录表项中的重置次数加一,然后,判断当前第一威胁记录表项中的重置次数是否达到预设的重置次数阈值,当重置次数达到重置次数阈值时,说明客户端设备发起的会话已被重置多次,该客户端设备受到病毒感染或故意发送威胁报文的可能性很大,网络安全设备开始阻断客户端设备发送的报文,并统计该第一威胁记录表项对应的报文阻断时长。当后续再接收到匹配第一威胁记录表项的报文,且第一威胁记录表项中的重置次数大于或者等于预设的重置次数阈值时,判断当前的报文阻断时长是否小于预设的第一阻断时长。当统计的报文阻断时长小于第一阻断时长时,不再对客户端设备发送的报文进行深度检测,直接丢弃处理。当报文阻断时长大于或等于第一阻断时长时,对接收的客户端设备的报文进行深度检测。当检测结果未命中重置动作时,说明当前客户端设备发送的匹配第一威胁记录表项的报文已恢复正常,或者威胁等级降低不需要重置(例如,告警动作),因此,删除第一威胁记录表项;当检测结果命中重置动作时,说明威胁仍然存在,此时,第一威胁记录表项中的重置次数加一,重新统计报文阻断时长,即继续阻断客户端设备发送的匹配第一威胁记录表项的报文。本申请实施例还预设了第二阻断时长,该第二阻断时长大于第一阻断时长。当第一威胁记录表项对应的报文阻断时长超过预设的第二阻断时长时,说明客户端设备至少在第一阻断时长到第二阻断时长之间未再接收到匹配第一威胁表项的报文,报文阻断时长已超过设置的上限,因此,删除第一威胁记录表项。由上述描述可以看出,本申请通过维护威胁记录表,对匹配威胁记录表项的报文根据重置次数以及报文阻断时长确定是否进行深度检测,以降低深度检测次数,进而降低会话重置次数,减少客户端设备因重置会话而重复发送威胁报文的次数,降低网络安全设备的资源消耗,提高正常业务的处理能力。仍以表1为例。假设预设的重置次数阈值为3,第一阻断时长为200秒,第二阻断时长为300秒。当网络安全设备接收到客户端设备(IP地址为192.168.3.3)发送给目标设备(IP地址为202.102.30.30,端口号为3000)的报文时,查询威胁记录表,该报文(源IP地址192.168.3.3,目的IP地址202.102.30.30,目的端口号3000)匹配第3条威胁记录表项,该表项的重置次数为2,网络安全设备对该报文进行深度检测,当检测结果命中重置动作时,将第3条威胁记录表项中的重置次数加1,则当前重置次数为3。该重置次数达到预设的重置次数阈值3,因此,开始统计报文阻断时长。在一种较优的实施方式中,可通过启动定时器统计报文阻断时长,例如,将定时器赋值为300秒(第二阻断时长)。当在启动定时开始的200秒(第一阻断时长)内,再接收到客户端设备(192.168.3.3)发送的匹配第3条威胁记录表项的报文时,直接丢弃,不作深度检测;当在定时200秒至300秒之间,接收到客户端设备(192.168.3.3)发送的匹配第3条威胁记录表项的报文时,对报文进行深度检测,当检测结果未命中重置动作时,删除第3条威胁记录表项;当检测结果命中重置动作时,第3条威胁记录表项中的重置次数加1,重新为定时器赋初值300秒。当在定时200秒至300秒之间,未接收到客户端设备(192.168.3.3)发送的匹配第3条威胁记录表项的报文时,定时器会在定时300秒后溢出,此时,删除第3条威胁记录表项。与前述报文检测方法的实施例相对应,本申请还提供了报文检测装置的实施例。本申请报文检测装置的实施例可以应用在网络安全设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器运行存储器中对应的计算机程序指令形成的。从硬件层面而言,如图2所示,为本申请报文检测装置所在设备的一种硬件结构图,除了图2所示的处理器、网络接口、以及存储器之外,实施例中装置所在的设备通常根据该设备的实际功能,还可以包括其他硬件,对此不再赘述。请参考图3,为本申请一个实施例中的报文检测装置的结构示意图。该报文检测装置包括报文接收单元301、表项判断单元302、次数判断单元303以及报文处理单元304,其中:报文接收单元301,用于接收报文;表项判断单元302,用于判断威胁记录表中是否存在第一威胁记录表项,所述第一威胁记录表项为与所述报文的报文特征匹配的威胁记录表项,所述威胁记录表项用于记录报文特征与重置次数的对应关系,所述报文特征包括报文的源IP地址、目的IP地址以及目的端口号;次数判断单元303,用于当所述威胁记录表中存在所述第一威胁记录表项时,判断所述第一威胁记录表项中的重置次数是否大于或者等于预设的重置次数阈值;报文处理单元304,用于当所述第一威胁记录表项中的重置次数大于或者等于预设的重置次数阈值,且报文阻断时长小于预设的第一阻断时长时,丢弃所述报文,所述报文阻断时长为阻断与所述第一威胁记录表项匹配的报文的时长。进一步地,所述报文处理单元304,还用于当所述第一威胁记录表项中的重置次数大于或者等于预设的重置次数阈值,且所述报文阻断时长大于或等于预设的第一阻断时长时,对所述报文进行深度检测;当检测结果未命中重置动作时,删除所述第一威胁记录表项;当检测结果命中重置动作时,重新统计所述报文阻断时长。进一步地,所述报文处理单元304,还用于当所述第一威胁记录表项对应的报文阻断时长超过预设的第二阻断时长时,删除所述第一威胁记录表项,所述第二阻断时长大于所述第一阻断时长。进一步地,所述报文处理单元304,还用于当所述第一威胁记录表项中的重置次数小于预设的重置次数阈值时,对所述报文进行深度检测;当检测结果未命中重置动作时,删除所述第一威胁记录表项;当检测结果命中重置动作时,将所述第一威胁记录表项中的重置次数加一;判断所述第一威胁记录表项中的重置次数是否达到预设的重置次数阈值;当所述第一威胁记录表项中的重置次数达到预设的重置次数阈值时,开始统计所述第一威胁记录表项对应的报文阻断时长。进一步地,所述报文处理单元304,还用于当所述威胁记录表中不存在所述第一威胁记录表项时,对所述报文进行深度检测;当检测结果命中重置动作时,新建威胁记录表项,所述新建威胁记录表项中的重置次数为一。上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1