一种报文处理的方法和装置与流程

文档序号:17321768发布日期:2019-04-05 21:34阅读:147来源:国知局
一种报文处理的方法和装置与流程
本申请涉及网络通信
技术领域
,特别设计一种报文处理的方法和装置。
背景技术
:分布式拒绝服务(distributeddenialofservice,ddos)攻击,是指攻击者通过控制大量的僵尸主机,向被攻击目标发送大量精心构造的攻击报文,造成被攻击者所在网络的链路拥塞、系统资源耗尽,从而使被攻击者难以向正常用户提供服务的攻击方式。图1为现有ddos攻击的示意图,左侧为攻击者使用的终端,通过控制僵尸主机,向右侧的服务器进行攻击。通常,ddos攻击来自于内网的终端。由于ddos攻击通常是基于设备间通信协议的漏洞而进行的,因此通常可将ddos攻击分为多种类型,如,同步序列编号(synchronizesequencenumbers,syn)攻击、确认字符(acknowledgement,ack)攻击、用户数据报协议(userdatagramprotocol,udp)攻击、超文本传输协议(hypertexttransferprotocol,http)获取数据请求(get)攻击,等等。可见由于ddos攻击是基于不同的通信协议而发动的攻击,因此可根据攻击报文所基于的通信协议的类型,将攻击进行分类。在现有防御ddos攻击的技术中,通常会在网关设备中预先针对每个攻击类型,配置该攻击类型对应的防范阈值。当网关设备确定某一类型的报文流量超过了对应的防范阈值时,可确定存在利用该类型的报文进行攻击行为。于是,网关设备可对后续接收到的该类型的报文,进行防御处理。例如,向运维人员发送告警信息,或者停止处理(即,阻断)该类型的报文等等。但是,现有技术在防御ddos攻击时,是针对确定出现攻击行为的某类型报文进行防御的,也就是说若阻断某类型攻击的话,网关设备也不会处理该类型的正常报文。导致正常的网络活动同样也会受到很大的影响,因此本申请提供一种新的报文处理的方法以及装置。技术实现要素:有鉴于此,本申请提供一种报文处理的方法和装置,减少防御ddos攻击的方法对正常报文转发的影响。具体地,本申请是通过如下技术方案实现的:一种报文处理的方法,包括:针对接收到的每个报文,确定该报文的流向信息以及发送该报文的设备的互联网协议ip地址;确定所述ip地址对应的实际报文流量,并根据预设的与该报文的流向信息匹配的安全规则,确定所述ip地址对应的流量阈值;判断所述实际报文流量是否超过所述ip地址对应的流量阈值;若是,则根据与该报文的流向信息匹配的安全规则对应的操作,对该报文进行处理;若否,则根据该报文的内容转发该报文。一种报文处理的装置,包括:第一确定模块,针对接收到的每个报文,确定该报文的流向信息以及发送该报文的设备的互联网协议ip地址;第二确定模块,确定所述ip地址对应的实际报文流量,并根据预设的与该报文的流向信息匹配的安全规则,确定所述ip地址对应的流量阈值;判断及操作模块,判断所述实际报文流量是否超过所述ip地址对应的流量阈值,若是,则根据与该报文的流向信息匹配的安全规则对应的操作,对该报文进行处理,若否,则根据该报文的内容转发该报文。由以上本申请提供的技术方案可见,针对每个接收到的报文,可根据发送该报文的源互联网协议(internetprotocol,ip)地址确定该ip地址的实际报文流量,根据确定出的该报文的流向信息,确定与该流量信息匹配的安全规则,从而确定该ip地址的流量阈值,并可判断该ip地址的实际报文流量是否超过了该ip地址的流量阈值,若是,则根据该匹配的安全规则对应的操作,对该报文进行处理,若否,则根据该报文的内容转发该报文。相对与现有技术,仅根据不同类型的攻击报文的流量是否超过阈值而进行处理的方式,本申请在对报文处理时,可更加准确的精细的对不同的ip地址发送的报文进行不同的处理,使得防御ddos攻击的方式更加灵活。即使确定某一ip地址基于某一类型的报文发起了攻击,也只需阻断该ip地址发送的该类型的报文即可,并不影响对其他ip地址发送的报文以及对该ip地址发送的其他类型报文正常转发,减少了防御ddos攻击时对正常网络通信的影响。附图说明图1为ddos攻击的示意图;图2为本申请示出的一种报文处理的流程图;图3为本申请示出的一种报文处理的装置。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。请参见图2,图2为本申请示出的一种报文处理的流程图,具体过程如下:步骤101:针对接收到的每个报文,确定该报文的流向信息以及发送该报文的设备的互联网协议ip地址。由于通常ddos攻击是通过挟持内网的终端,进行大量的报文攻击的行为,因此在本申请实施例中,为了提高报文处理的效率,可针对接收到的每个报文,确定该报文的流向信息以及发送该报文的设备的ip地址(即,源ip地址),以便后续步骤可根据该ip地址确定是否需要进行处理(若确定无需进行处理则可直接根据报文内容进行转发)。具体的,在本申请实施例中可由网关设备执行该报文处理过程。由于网关设备通常除了接收转发报文(即,需要由该网关设备转发的报文)以外,还会接收到其他报文(如,配置该网关设备的报文等等),而通常ddos攻击通常都是通过转发报文进行的,因此该网关设备通过报文的流向信息,可确定转发报文,通过报文包含的源ip地址,可确定由内网ip地址发送的报文。从而可将这种由内网ip地址发送的转发报文,作为需要处理的报文在后续步骤进行处理。针对每个报文,该网关设备可从该报文的内容中,确定该报文包含的源安全域、目标安全域、源ip地址以及目标ip地址,作为该报文的流向信息。当然,由于通常设备的ip地址可是固定的,因此报文的内容中也可直接包含收发该报文的设备标识,则网关设备也可根据该报文内容中包含的设备标识,确定该报文的流向信息。由于对于网关设备来说,确定报文由哪里发送至哪里是现有技术中网关设备的基本功能,因此本申请实施例对于具体如何确定该流向信息不做限定。另外,若该网关设备是将该报文包含的源安全域、目标安全域、源ip地址以及目标ip地址,作为该报文的流向信息的,则当该网关设备确定该流向信息时,便可确定发送该报文的设备的ip地址,即源ip地址。步骤102:确定所述ip地址对应的实际报文流量,并根据预设的与该报文的流向信息匹配的安全规则,确定所述ip地址对应的流量阈值。在本申请实施例中,当网关设备确定出源ip地址和流向信息后,可确定该ip地址对应的实际报文流量,以及该ip地址对应的流量阈值,以便后续判断步骤的执行。具体的,由于内网ip地址可分为多种,例如,一般将10.0.0.0~10.255.255.255称为a类,将172.16.0.0~172.31.255.255称为b类,将192.168.0.0~192.168.255.255称为c类等等。这样对内网ip地址段的分类,可方便的根据需要将不同种的ip地址段,分配给不同类型的设备使用。例如,将a类ip地址段分配给无线设备,将c类ip地址段分配给业务部门的台式电脑使用等等。因此在本申请实施例中,该网关设备可预先针对不同的流向信息,设置与该流向信息匹配的不完全相同的安全规则,并且为每个安全规则设置对应的流量阈值以及当实际报文流量超过流量阈值后该安全规则对应的操作。使得网关设备可以在后续步骤中,可以针对不同的收发方的报文采取不同的防御策略,对报文的处理的精细化灵活处理奠定了基础。例如,某部门的设备经常被攻击,时常发起ddos攻击,则可针对该部门发出的报文设置较低的流量阈值以及较为严格的操作(如,阻断)。若流向信息为源安全域、目标安全域、源ip地址以及目标ip地址时,安全规则匹配的流向信息可为:由a安全域的192.168.0.0~192.168.0.10的ip地址段发送至d安全域的192.168.10.10~192.168.10.20的ip地址段的报文。另外,在本申请实施例中并不限定,针对每种流向信息,均需要设置与该流向信息匹配的安全规则。当网关设备当未查找到与该报文的流向信息匹配的安全规则时,根据该报文的内容转发该报文。例如,假设某个ip地址段分配给了数据库接口,则该ip地址段之间发送的报文认为出现ddos攻击的可能性较小,因此流向信息为该ip地址段之间的报文,网关设备可确定未查找到与该流向信息匹配的安全规则,可直接根据报文内容进行转发。进一步地,在本申请实施例中,并不限制每个安全规则匹配的流向信息的数量,因此与同一个安全规则匹配的流向信息可以又一种或多种、例如,与x安全规则匹配的流向信息中,有的流向信息的源安全域仅包含a安全域,有的流向信息包含a和d安全域,ip地址可以是单独的一个ip地址(如,192.168.0.0),或者也可以是一个ip地址段(如,192.168.0.0~192.168.0.10),等等。更进一步地,在本申请实施例中,设置多种安全规则主要目的是为了可根据报文收发双方的不同,设置完全不同的流量阈值以及当超过流量阈值后不完全相同的应对手段(即,对报文进行的操作)。并且,通常发起ddos攻击的设备是固定,而攻击的目标设备可能不同,因此安全规则可以是针对源ip地址的(即,确定出的是源ip地址对应的流量阈值)。因此,为了后续判断步骤的执行,网关设备还可确定该报文的源ip地址对应的实际报文流量。具体的,在本申请实施例中,为了方便网关设备查找ip地址对应的实际报文流量,该网关设备可采用哈希链表存储方式,存储该ip地址的实际报文流量。首先,根据预先配置的哈希散列函数,确定该ip地址对应的哈希值,之后判断是否存储有对应该哈希值的数据,若是,则根据该哈希值寻址并确定对应该源ip地址的已有的报文流量,并根据本次报文对报文流量进行更新后,将更新后的报文流量作为实际报文流量,若否,则新建一个与该哈希值对应的存储空间(如,内存空间),并存储该ip地址的实际报文流量。由于哈希链表存储方式已经是现有技术中较为成熟的方法,因此本申请对此不再赘述,当然,本申请也不限定该网关设备采用其他方式存储该源ip地址的实际报文流量,具体采用何种方式存储可根据需要设置。另外,由于现有报文的种类有多种(如,syn报文、udp报文等等),不同类型的报文,发动ddos攻击所需的数量以及判断的标准通常都不完全相同,因此在本申请实施例中,针对不同的报文的类型,可设置有不完全相同的流量阈值。即,针对每个安全规则,该安全规则对于各类型的报文分别对应不完全相同的流量阈值。例如,y安全规则对应的流量阈值可包括:syn报文流量阈值、udp报文流量阈值、会话总数阈值以及新建会话速率阈值等等。并且,syn报文流量阈值为10个每分钟,udp报文流量阈值为20个每分钟等等。具体流量阈值包含哪些报文的类型,每个报文的类型对应的流量阈值的数值为多少,均可根据需要进行设置,本申请不做限定。步骤103:判断所述实际报文流量是否超过所述ip地址对应的流量阈值,若是则执行步骤104,若否则执行步骤105。在本申请实施例中,网关设备可在更新ip地址的报文流量记录之后,判断更新后的该ip地址的报文流量是否超过在步骤102中确定出的该ip地址对应的流量阈值,若是,则认为该ip地址发送的报文包含ddos攻击的报文,因此可执行步骤104进行处理,若否,则可认为ip地址发送的报文的流量正常,未包含ddos攻击的报文,并执行步骤105。另外,如在步骤102中所述的,该筛选规则针对不同类型的报文,可设置有不完全相同的流量阈值,因此在步骤103判断的过程中可以针对该ip地址的每一类型的报文流量记录,判断该类型的报文流量记录,是否超过了该ip地址对应的流量阈值中,该类型的流量阈值。步骤104:根据与该报文的流向信息匹配的安全规则对应的操作,对该报文进行处理。在本申请实施例中,当网关设备确定该ip地址的实际报文流量超过了步骤102中确定的该ip地址对应的流量阈值时,则可根据与该报文的流向信息匹配的安全规则对应的操作,对该报文进行操作。其中,本申请对于网关设备可采取的操作不做限定,例如,操作可包括向运维人员发送告警信息,丢弃该ip地址发送的报文(即,阻断该ip地址发送的报文)等等。步骤105:根据该报文的内容转发该报文。在本申请实施例中,当网关设备确定该ip地址的实际报文流量未超过步骤102中确定的该ip地址对应的流量阈值时,可确定该ip地址发送的报文尚未造成影响,因此可以根据该报文的内容正常的转发该报文。当然,对于网关设备如何根据报文的内容执行转发报文的业务,已经是现有成熟的技术,因此本申请不在赘述。另外,在本申请实施例中,由于当网关设备接受报文的数量很多时,因此为了减少网关设备的运行压力,该网关设备可按照预设的时间间隔执行步骤103。具体的,该网关设备可根据预设的时间间隔,确定需要判断时,遍历哈希链表中的每个ip地址,并针对每个遍历到的ip地址,判断该ip地址对应的实际报文流量是否超过了该ip地址对应的流量阈值。当对应不同类型的报文设置不同的流量阈值时,判断过程还可以细化为针对每个ip地址,判断该ip地址对应的实际报文流量中每一种类型的报文的实际报文流量是否超过了该ip地址对应的该类型的流量阈值,如表1所示。表1如表1可见,当网关设备查询到ip地址为192.168.0.0的dns报文时,可确定该流量记录超过流量阈值,则可对该ip地址发送dns报文进行阻断操作。当然,上述所说的时间间隔可以根据需要进行设置,本申请不做限定,例如,希望尽量减少网关设备的压力,则可设置的时间间隔较长(如,10分钟一次),若需要尽量减少受到ddos攻击的影响,则可设置时间间隔较短(如,1分钟一次)本申请对此不做限定。进一步地,在本申请实施例中,当网关设备确定该ip地址的实际报文流量是否超过该ip地址对应的流量阈值时,还可根据与该报文的流向信息匹配的安全规则对应的操作,存储该ip地址与该操作之间的对应关系。使得则后续再接收到该ip地址的报文时,在判断该ip地址的实际报文流量是否超过该ip地址对应的流量阈值之前,可先判断是否存储有与该ip地址对应的操作,若是则根据与该ip地址对应的操作,对该报文进行处理,而无需执行步骤103的判断步骤。若否,则再执行步骤103。更进一步地,当安全规则中对应不同类型的报文,分别设置了流量阈值和操作时,该网关设备可存储该ip地址、该报文的类型以及确定出的操作之间的对应关系,如表2所示。ip地址报文类型操作192.168.0.0udp告警192.168.0.0dns阻断192.168.20.20dns阻断表2如表2所示,网关设备在接收到ip地址为192.168.0.0发送的udp报文时,可确定发送告警信息,当接收到ip地址为192.168.0.0发送的dns报文时,可确定丢弃该报文,当接收到ip地址为192.168.20.20发送的dns报文时,可确定丢弃该报文。而当接收到这两个ip地址发送的其他类型的报文(如,syn报文等)时,则可正常的转发。另外,在本申请实施例中,为了使当被攻击方挟持的僵尸主机被修复后,该主机可继续正常的发送报文,在本申请实施例中,该网关设备还可针对存储每一条ip地址与操作的对应关系,判断在预设的时间段内,该ip地址是否不再发送报文,若是,则确定可以正常接收和转发该ip地址发送的报文,因此可删除该ip地址与操作的对应关系,若否,则确定该ip地址对应仍为僵尸主机,因此继续存储该ip地址与操作的对应关系。进一步地,由于网关设备还可存储ip地址、报文的类型与操作的对应关系,该网关设备可以判断在预设的时间段内,该ip地址是否发送过该对应关系中包含的类型的报文。例如,网关设备存储有表2所示的对应关系,则每隔15分钟网关设备可分别判断最近15分钟内ip地址为192.168.0.0的设备是否不再发送udp报文,ip地址为192.168.0.0的设备是否不再发送dns报文,ip地址为192.168.20.20的设备是否不再发送dns报文。由以上本申请提供的技术方案可见,网关设备不但可以针对不同的ip地址配置不完全相同的流量阈值,还可以针对同一个ip地址发送的不同类型的报文,配置不完全相同的流量阈值,使得对于ddos攻击的防御可以做到更加精准和灵活。另外,由于ddos攻击通常同一时间只会发起一种类型的报文,进行攻击,因此即使是被挟持的终端在进行攻击,当该终端发送的报文不是ddos攻击正在采用的报文的类型时,该网关设备也可正常的接收以及转发,避免了现有防御ddos攻击时对正常报文收发的影响。请参考图3,图3为本申请示出的一种数据处理的装置,该装置包括:第一确定模块200,针对接收到的每个报文,确定该报文的流向信息以及发送该报文的设备的互联网协议ip地址;第二确定模块201,确定所述ip地址对应的实际报文流量,并根据预设的与该报文的流向信息匹配的安全规则,确定所述ip地址对应的流量阈值;判断及操作模块202,判断所述实际报文流量是否超过所述ip地址对应的流量阈值,若是,则根据与该报文的流向信息匹配的安全规则对应的操作,对该报文进行处理,若否,则根据该报文的内容转发该报文。第一确定模块200,确定该报文包含的源安全域、目标安全域、源ip地址以及目标ip地址,作为该报文的流向信息。第二确定模块201,当未查找到与该报文的流向信息匹配的安全规则时,根据该报文的内容转发该报文。所述第二确定模块201,根据该报文的内容,确定该报文的类型,根据确定出的类型,确定所述ip地址对应所述类型的实际报文流量。所述第二确定模块201,根据确定出该报文的类型,确定所述ip地址对应的该类型的流量阈值。所述判断及处理模块202,根据确定出该报文的类型,确定与该报文的流向信息匹配的安全规则中对应于所述类型的操作,根据确定出的操作,对该报文进行处理。所述判断及处理模块202,确定所述实际报文流量是否超过所述ip地址对应的流量阈值时,根据与该报文的流向信息匹配的安全规则对应的操作,存储所述ip地址与所述操作之间的对应关系,判断所述实际报文流量是否超过所述ip地址对应的流量阈值之前,判断是否存储有与所述ip地址对应的操作,若是,则根据与所述ip地址对应的操作,对该报文进行处理,若否,则判断所述实际报文流量是否超过所述ip地址对应的流量阈值。所述判断及处理模块202,存储所述ip地址与所述操作之间的对应关系之后,判断在预设的时间段内所述ip地址是否不再发送报文,若是,则删除所述ip地址与所述操作的对应关系,若否,则继续存储所述ip地址与所述操作的对应关系。上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1