1.本技术实施例涉及网络通信技术领域,具体涉及一种数据报文处理方法、装置及电子设备。
背景技术:
2.入侵防御系统(intrusion-prevention system,ips)能够监视网络或网络设备的传输行为,并及时的中断、调整或隔离一些异常的网络传输行为,对网络环境的安全性起到重要作用。
3.通常,ips设备可能会承受过载的流量,这种情况下,ips设备可能会出现异常,从而导致业务中断。ips设备的旁路bypass功能可以在ips设备承受的数据流量过载时,对该数据流量进行bypass处理,即对该数据流量进行放行,以此保证ips设备的正常运行。但是,在该过载的数据流量中包含网络攻击时,若ips设备对该数据流量进行bypass处理,可能会将该网络攻击发送给目标设备,从而造成对目标设备的攻击,降低了网络环境的安全性。
技术实现要素:
4.为了解决上述问题,本技术实施例提供了一种数据报文处理方法、装置及电子设备,能够在ips设备开启bypass功能后,对过载的数据报文中的未超过阈值的部分报文进行业务处理,提高对攻击报文拦截和网关环境的安全性。
5.根据本技术实施例的第一方面,提供了一种数据报文处理方法,该方法应用于电子设备。该方法包括:接收多个数据报文,并确定多个数据报文的流量值。在多个数据报文的流量值小于或等于流量阈值的情况下,确定多个数据报文对应的会话数量;在会话数量大于数量阈值的情况下,开启旁路bypass功能;对多个数据报文中的第一数据报文进行业务处理,对多个数据报文中的第二数据报文进行bypass处理。其中,第一数据报文对应的会话数量小于或等于数量阈值,第二数据报文为多个数据报文中除第一数据报文以外的数据报文。
6.在一些实施例中,对多个数据报文中的第一数据报文进行业务处理,对多个数据报文中的第二数据报文进行bypass处理,包括:根据多个数据报文,依次建立多个会话;基于多个会话,在多个数据报文中确定第一数据报文和第二数据报文;对第一数据报文进行业务处理,对第二数据报文进行bypass处理。
7.在一些实施例中,基于多个会话,在多个数据报文中确定第一数据报文和第二数据报文,包括:对多个会话中各会话进行预处理,得到各会话的预处理结果;根据预处理结果,对各会话进行标记;根据各会话的标记,在多个数据报文中确定第一数据报文和第二数据报文。
8.在一些实施例中,根据预处理结果,对各会话进行标记,包括:若预处理结果指示多个会话中的第一会话对应的数据报文为攻击报文,则确定第一会话的标记为第一标记;若预处理结果指示多个会话中的第二会话对应的数据报文为非攻击报文,则确定第二会话
的标记为第二标记。其中,第二标记与第一标记不同。
9.在一些实施例中,根据各会话的标记,在多个数据报文中确定第一数据报文和第二数据报文,包括:将第一会话对应的数据报文,以及第一数量的第二会话对应的数据报文,确定为第一数据报文,并将除第一数量外的其余的第二会话对应的数据报文确定为第二数据报文;其中,第一数量和第一会话的数量之和小于或等于数量阈值;或者,将第一会话对应的数据报文确定为第一数据报文,将第二会话对应的数据报文确定为第二数据报文。
10.在一些实施例中,根据各会话的标记,在多个数据报文中确定第一数据报文和第二数据报文,包括:按照多个会话的建立时间,将多个会话中最早建立的第二数量的第三会话对应的数据报文确定为第一数据报文,将在第三会话之后建立的第四会话对应的数据报文确定为第二数据报文;其中,第二数量小于或等于数量阈值。
11.在一些实施例中,该方法还包括:在多个数据报文的流量值大于流量阈值的情况下,开启bypass功能;对多个数据报文中的第三数据报文进行业务处理,对多个数据报文中的第四数据报文进行bypass处理;其中,第三数据报文的流量值小于或等于流量阈值,第四数据报文为多个数据报文中除第三数据报文以外的数据报文。
12.在一些实施例中,该方法还包括:接收测试设备发送的第一测试报文,并对第一测试报文进行处理;其中,第一测试报文包括多个攻击报文,第一测试报文的流量值小于流量阈值;若电子设备对第一测试报文的拦截率超过第一预设拦截率,则确定电子设备未开启bypass功能。接收测试设备发送的第一测试报文和超过流量阈值的第二测试报文,并对第一测试报文和第二测试报文进行处理;其中,第二测试报文为非攻击报文;若电子设备对第一测试报文的拦截率小于第二预设拦截率,且测试设备接收到的第二测试报文的数量与发送的第二测试报文的数量之间的偏差不超过预设偏差,则确定电子设备开启了bypass功能。
13.根据本技术实施例的第二方面,提供了一种数据报文处理装置,该装置包括接收模块、确定模块、开启模块和处理模块。其中,接收模块被配置为接收多个数据报文;确定模块被配置为确定多个数据报文的流量值,并在多个数据报文的流量值小于或等于流量阈值的情况下,确定多个数据报文对应的会话数量。开启模块被配置为在会话数量大于数量阈值的情况下,开启旁路bypass功能。处理模块被配置为对多个数据报文中的第一数据报文进行业务处理,对多个数据报文中的第二数据报文进行bypass处理。其中,第一数据报文对应的会话数量小于或等于数量阈值,第二数据报文为多个数据报文中除第一数据报文以外的数据报文。
14.根据本技术实施例的第三方面,提供了一种电子设备,该电子设备包括处理器和存储器。其中,存储器被配置为:存储处理器的可执行指令;处理器被配置为:经由执行可执行指令来执行如第一方面所述的数据报文处理方法的操作。
15.根据本技术实施例的第四方面,提供了一种计算机可读存储介质,该存储介质中存储有至少一可执行指令,该可执行指令使流量统计装置执行如第一方面所述的数据报文处理方法的操作。
16.本技术实施例提供的数据报文处理方法通过设置会话对应的数量阈值,在ips设备接收到的数据报文的流量值未超过流量阈值,且数据报文对应的会话数量超过数量阈值
时,可以开启旁路bypass功能,保证了ips设备的稳定运行和性能;同时,在开启bypass功能后,ips设备可以对多个数据报文中的未超过数量阈值的会话对应的数据报文(如第一数据报文)进行业务处理,对超过数量阈值的会话对应的数据报文(如第二数据报文)进行bypass处理,从而可以保证在数据报文中包含攻击报文时,ips设备尽可能对攻击报文进行拦截,提高网络环境的安全性。
17.上述说明仅是本技术实施例技术方案的概述,为了能够更清楚了解本技术实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本技术实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。
附图说明
18.附图仅用于示出实施方式,而并不认为是对本技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
19.图1为本技术一些实施例提供的一种bypass功能测试场景的示意图;
20.图2为本技术一些实施例提供的一种bypass功能测试方法的示意图;
21.图3为本技术一些实施例提供的一种数据报文处理方法的示意图;
22.图4为本技术一些实施例提供的另一种数据报文处理方法的示意图;
23.图5为本技术一些实施例提供的又一种数据报文处理方法的示意图;
24.图6为本技术一些实施例提供的再一种数据报文处理方法的示意图;
25.图7为本技术一些实施例提供的另一种bypass功能测试方法的示意图;
26.图8为本技术一些实施例提供的一种数据报文处理装置的示意图;
27.图9为本技术一些实施例提供的一种电子设备的示意图。
具体实施方式
28.下面将参照附图更详细地描述本技术的示例性实施例。虽然附图中显示了本技术的示例性实施例,然而应当理解,可以以各种形式实现本技术而不应被这里阐述的实施例所限制。
29.旁路bypass可以通过特定的触发状态,使两个系统(或设备)不通过安全设备(如ips设备)的情况下直接在物理上导通。也就是说,在开启bypass后,安全设备不会对两个设备之间传输的数据报文进行监控。因此,当安全设备出现故障或异常后,可以通过开启bypass,继续保证连接在这台安全设备上的两个网络之间相互导通。
30.通常,ips设备的处理能力有限。例如,ips设备的处理能力可以包括ips设备中的中央处理器(central processing unit,cpu)的处理能力和内存的处理能力,在ips设备接收到的数据报文超过cpu或内存的处理能力时,会导致ips设备的运行出现异常,并影响ips设备的性能。
31.因此,可以设置cpu阈值或内存阈值,在ips设备接收到的数据报文超过cpu阈值或内存阈值时,可以会开启bypass功能,对全部数据报文进行放行处理(即bypass处理),以保证ips设备的正常运行。
32.在一些示例中,ips设备的处理能力除了上述的cpu处理能力以及内存处理能力外,还可以包括会话处理能力。例如,在ips设备接收到的数据报文未超过cpu阈值或内存阈
值的情况下,若数据报文对应的会话的数量较多,并超过ips设备的会话处理能力时,ips设备可能无法正常处理该数据报文。但是,这种情况下,由于没有超过cpu阈值或内存阈值,ips设备不会开启bypass功能,从而可能导致ips设备的运行出现异常,影响ips的性能。
33.通常,在ips设备开启bypass后,ips设备会对接收到全部数据报文进行。也就是说,在开启bypass后,源设备发送的数据报文与经过ips设备后,目的设备所接收的数据报文可以保持一致。若源设备发送的数据报文中包括攻击报文时,该攻击报文经过ips设备也会达到目标设备,从而造成对目标设备攻击,降低了网络环境的安全性。
34.在一些示例中,由于bypass功能是否正常开启对于ips设备的正常运行具有重要的影响,因此,通常可以对ips设备bypass功能进行测试(如在ips设备使用之前),以确保bypass功能的正常。
35.图1为本技术一些实施例提供的一种bypass功能测试场景的示意图。图2为本技术一些实施例提供的一种bypass功能测试方法的示意图。如图1所示,在bypass功能测试过程中,可以涉及ips设备10和测试设备20。其中,测试设备20用于向ips设备10发送测试数据报文,并接收经过ips设备10处理后的数据报文,根据接收到的数据报文确定ips设备10的bypass功能是否正常。
36.下面结合图1和图2对ips设备的bypass功能测试过程进行说明。如图2所示,bypass功能测试方法包括如下所示的步骤210至步骤230。
37.步骤210,设置ips设备的cpu阈值或内存阈值。
38.在一些示例中,cpu阈值或内存阈值可以为bypass功能生效的阈值。
39.例如,cpu阈值可以为cpu处理能力的上限值对应的数据报文的数量;内存阈值可以为内存使用的上限值(内存使用的百分比)对应的数据报文的数量。如,可以将cpu阈值设置为40g,也就是说,cpu最多能够处理40g的数据报文(或数据流量)。
40.步骤220,测试设备向ips设备发送超过cpu阈值或内存阈值的数据报文。
41.例如,测试设备20可以向ips设备10发送超过cpu阈值(如40g)的数据报文,如50g大小的数据报文。
42.在一些示例中,测试设备20发送的数据报文可以为纯tcp网络流量,即该数据报文中不包括攻击报文。
43.步骤230,根据测试设备20接收的数据报文的数量,确定ips设备的bypass功能是否正常开启。
44.在一些示例中,若测试设备20接收的数据报文的数量与发送的数据报文的数量之间的偏差较小,如不超过1%,则可以确定ips设备10开启了bypass功能,即确定ips设备的bypass功能正常。
45.在另一些示例中,若测试设备20接收到的数据报文的数量与发送的数据报文的数量之间的偏差较大,如大于1%,则可以确定ips设备10未开启bypass功能,即确定ips设备的bypass功能异常。由于ips设备10接收的数据报文超过自身的处理能力,如果不开启bypass功能,则ips设备10在业务处理过程中会出现丢包的情况,因此,测试设备20接收到的数据报文的数量与发送的数据报文的数量不一致,或偏差较大。因此,这种情况下,可以确定ips设备的bypass功能异常。
46.上述实施例中的bypass功能测试的方法能够确定bypass是否正常,但是,该测试
方法不能保证在数据流量较小(如小于cpu阈值)时,bypass功能是否处于关闭状态。若ips设备10一直处于bypass状态,会对数据流量中的攻击流量放行,因而无法起到正常的安全防护作用。
47.为了解决上述问题,本技术实施例提出了一种数据报文处理方法,该方法通过设置ips设备的会话处理能力对应的数量阈值,在ips设备接收到的数据报文没有超过cpu阈值或内存阈值,但数据报文中的会话数量超过数量阈值时,可以开启旁路bypass功能,并对多个数据报文中的未超过数量阈值的会话对应的数据报文(如第一数据报文)进行业务处理,对超过数量阈值的会话对应的数据报文(如第二数据报文)进行bypass处理。采用本技术实施例提供的数据报文处理方法,一方面可以进一步保证ips设备的性能和业务处理能力;另一方面,在数据报文中包含攻击报文时,也可以尽可能对数据报文中的攻击报文进行拦截,进一步提高网络环境的安全性。
48.下面结合附图,对本技术实施例提供的数据报文处理方法进行详细说明。
49.图3为本技术一些实施例提供的一种数据报文处理方法的示意图。在一些示例中,该方法可以应用于电子设备,例如,该电子设备可以为上述实施例中的ips设备,或者,该电子设备也可以为其他安全防护的设备,如防火墙设备等,本技术实施例对此不作限定。本技术实施例以ips设备为例进行示意性说明。
50.如图3所示,该方法包括如下所示的步骤310至步骤340。
51.步骤310,接收多个数据报文,并确定多个数据报文的流量值。
52.在一些示例中,ips设备在接收到源设备发送的多个数据报文后,可以先确定该多个数据报文的流量值。数据报文的流量值可以包括数据报文的大小。例如,多个数据报文的流量值可以为40g。
53.步骤320,在多个数据报文的流量值小于或等于流量阈值的情况下,确定多个数据报文对应的会话数量。
54.示例性地,流量阈值可以包括cpu阈值和内存阈值中的至少一项。也就是说,多个数据报文的流量值小于或等于流量阈值可以包括:多个数据报文的流量值没有超过电子设备(如ips设备)中cpu处理能力的上限值,和/或,内存使用的上限值。
55.在一些示例中,cpu阈值可以为cpu处理数据报文的上限值。例如,cpu阈值可以设置为40g。即当cpu负荷过高,且超过cpu阈值(如40g)时,会导致ips设备处理数据报文的延迟增加,响应变慢甚至崩溃等无法正常运行的情况。
56.在一些示例中,内存阈值可以为内存占用率的上限值。例如,内存阈值可以设置为90%。即当内存占用率过高,且超过内存阈值(如90%)时,会导致ips设备处理的业务处理能力下降,无法正常运行。
57.需要说明的是,cpu阈值和内存阈值可以根据实际情况进行配置,本技术实施例对此不作限定。
58.示例性地,在多个数据报文的流量值小于或等于流量阈值的情况下,ips设备可以继续确定多个数据报文对应的会话数量。会话是通信双方(如源设备和目的设备)建立的连接在ips设备上的具体表现,可以表示两者之间的连接状态。
59.在一些示例中,一条会话可以表示源设备和目的设备之间的一个连接。例如,一条会话可以通过五元组(如源地址、目的地址、源端口、目的端口和协议)进行标识。五元组相
同的会话可以属于同一数据报文。例如,ips设备可以通过多个数据报文中的五元组确定会话的数量。
60.步骤330,在会话数量大于数量阈值的情况下,开启旁路bypass功能。
61.在一些示例中,数量阈值可以用于指示ips设备的会话能力的上限。ips设备的会话能力包括ips设备能够处理的会话数量。例如,数量阈值可以为ips设备能够建立的会话数量的上限值。如,可以将数量阈值设置为100万。也就是说,ips设备可以处理的会话数量最多为100万条。
62.在一些示例中,在多个数据报文的流量值没有超过流量阈值时,这多个数据报文对应的会话数量可能会超过数量阈值。当会话数量超过ips设备的会话处理能力时,可能会导致ips设备无法正常处理该会话对应的数据报文,从而影响ips设备的业务处理能力。因此,可以在会话数量大于数量阈值的情况下,开启bypass功能,从而进一步保证ips的性能和正常运行。
63.步骤340,对多个数据报文中的第一数据报文进行业务处理,对多个数据报文中的第二数据报文进行bypass处理。
64.示例性地,第一数据报文对应的会话数量小于或等于数量阈值,第二数据报文为多个数据报文中除第一数据报文以外的数据报文。也就是说,第一数据报文为多个数据报文中未超过数量阈值的多个会话对应的数据报文,第二数据报文为多个数据报文中超过数量阈值的多个会话对应的数据报文。
65.由于第一数据报文对应的多个会话未超过数量阈值,因而ips可以对第一数据报文进行正常的业务处理;在对第一数据报文进行业务处理后,ips设备已达到会话处理能力的上限,因而无法继续对第一数据报文后的第二数据报文进行处理,因此,可以对第二数据报文进行bypass处理,以保证ips设备的正常运行。
66.在一些示例中,当开启bypass功能后,ips设备可以对第一数据报文进行业务处理,例如,ips设备可以对第一数据报文进行监控、检测、转发、中断、隔离等处理;对第二数据报文进行bypass处理,例如,ips设备对第二数据报文直接进行转发处理。
67.图4为本技术一些实施例提供的另一种数据报文处理方法的示意图。下面结合图4,对上述步骤340的过程进行说明。如图4所示,上述步骤340包括如下所示的步骤410至步骤430。
68.步骤410,根据所多个数据报文,依次建立多个会话。
69.在一些示例中,当ips设备确定多个数据报文对应的会话数量超过数量阈值后,可以根据多个数据报文,依次建立多个会话。例如,ips设备可以按照接收到多个数据报文的时间顺序建立多个会话,或者,ips设备也可以随机根据多个数据报文建立多个会话。
70.步骤420,基于多个会话,在多个数据报文中确定第一数据报文和第二数据报文。
71.在完成多个会话的建立后,ips设备可以根据这多个会话,确定第一数据报文和第二数据报文。
72.图5为本技术一些实施例提供的再一种数据报文处理方法的示意图。下面结合图5,对上述步骤s420的过程进行说明。如图5所示,上述步骤420可以包括如下所示的步骤510至步骤540。
73.步骤510,对多个会话中各会话进行预处理,得到各会话的预处理结果。
74.在一些示例中,ips设备可以创建一个会话表,并将建立的多个会话添加至该会话表中,并对会话表中的各会话依次进行预处理。
75.在一些示例中,ips设备的预处理可以包括检测处理。例如,ips设备可以对各会话中的五元组信息进行检测,以确定各会话对应的数据报文是否为攻击报文的预处理结果。
76.例如,ips设备也可以将各会话的预处理结果添加至会话表中。
77.示例性地,各会话的预处理结果可以用于指示各会话对应的数据报文是否为攻击报文。
78.步骤520,根据预处理结果,对各会话进行标记。
79.在一些实施例中,若预处理结果指示多个会话中的第一会话对应的数据报文为攻击报文,则确定第一会话的标记为第一标记。若预处理结果指示多个会话中的第二会话对应的数据报文为非攻击报文,则确定第二会话的标记为第二标记。
80.示例性地,第一标记和第二标记不同。例如,第一标记和第二标记可以分别用二进制的1或0表示。本技术实施例对此不作限定。
81.在一些示例中,可以在会话表中设置标识位,各会话的标识位可以与会话表中各会话对应,标识位用于存储各会话的标记。例如,可以将第一会话的标识位设置为1,将第二会话的标识位设置为0。
82.在一些示例中,ips设备也可以将第一会话标记为第三标记,对第二会话不进行标记。其中,第三标记可以为一个十六进制的数值。例如,可以将第一会话的标志位标记为十六进制数值,第二会话的标志位为空,即不进行标记。
83.通过对各会话的标记,可以识别出各会话对应的数据报文是否为攻击报文。
84.步骤530,根据各会话的标记,在多个数据报文中确定第一数据报文和第二数据报文。
85.在一些实施例中,可以将第一会话对应的数据报文,以及第一数量的第二会话对应的数据报文,确定为第一数据报文,并将除第一数量外的其余的第二会话对应的数据报文确定为第二数据报文。其中,第一数量和第一会话的数量之和小于或等于数量阈值。
86.由于第一会话对应的数据报文为攻击报文,为了提高网络环境的安全性,尽可能的提高ips设备对攻击报文的拦截,因此,可以将具有第一标记的第一会话对应的数据报文确定为第一数据报文,以使ips设备可以对多个数据报文中的攻击报文进行业务处理,即拦截处理等。
87.在一些示例中,当第一会话的数量小于数量阈值时,还可以将部分第二会话对应的数据报文确定为第一数据报文。也就是说,可以将第一会话对应的数据报文和第一数量的第二会话对应的数据报文共同确定为第一数据报文。由于第一数量和第一会话的数量之和小于或等于数量阈值,因此,可以保证第一数据报文对应的会话的数量小于数量阈值,从而保证ips设备的业务处理能力。在确定了第一数据报文后,可以将第一数量之外的其余的第二会话对应的数据报文确定为第二数据报文。
88.在另一些实施例中,ips设备也可以将第一会话对应的数据报文确定为第一数据报文,将第二会话对应的数据报文确定为第二数据报文。
89.在一些示例中,第一会话的数量小于或等于数量阈值。将第一会话对应的数据报文确定为第一数据报文,可以保证ips设备对多个数据报文中的攻击报文进行业务处理。
90.步骤s540,按照多个会话的建立时间,将多个会话中最早建立的第二数量的第三会话对应的数据报文确定为第一数据报文,将在第三会话之后建立的第四会话对应的数据报文确定为第二数据报文。
91.示例性地,第二数量小于或等于数量阈值。
92.在一些示例中,ips设备可以按照各会话的建立时间,将最先建立,且会话数量小于数量阈值的多个会话(如第三会话)对应的数据报文确定为第一数据报文。并将第三会话之后建立的会话(如第四会话)对应的数据报文确定为第二数据报文。
93.例如,若数量阈值为10万条,当ips设备接收到的数据报文对应的会话数量为15万条时,ips设备可以依次建立各数据报文对应的会话,当建立的会话数量达到10万时,可以将这10万条会话对应的数据报文确定为第一数据报文。将超过数量阈值的10万条之后所建立的5万条会话对应的数据报文确定为第二数据报文。
94.步骤430,对第一数据报文进行业务处理,对第二数据报文进行bypass处理。
95.由于第一数据报文对应的会话数量没有超过数量阈值,因而在ips设备的会话处理能力的范围内,因而ips设备可以对第一数据报文进行业务处理,包括对第一数据报文进行转发、中断、隔离等处理,从而可以尽可能多的对多个数据报文中的攻击报文进行拦截,保证网络环境的安全性。对超过数量阈值的会话对应的第二数据报文进行bypass处理,如转发处理等,可以保证ips设备的性能以及运行的稳定性。
96.因此,本技术实施例提供的数据报文处理方法通过设置会话对应的数量阈值,在ips设备接收到的数据报文的流量值未超过流量阈值,且数据报文对应的会话数量超过数量阈值时,可以开启旁路bypass功能,保证了ips设备的稳定运行和性能;同时,在开启bypass功能后,ips设备可以对多个数据报文中的未超过数量阈值的会话对应的数据报文(如第一数据报文)进行业务处理,对超过数量阈值的会话对应的数据报文(如第二数据报文)进行bypass处理,从而可以保证在数据报文中包含攻击报文时,ips设备尽可能对攻击报文进行拦截,提高网络环境的安全性。
97.图6为本技术一些实施例提供的再一种数据报文处理方法,如图6所示,在步骤310之后,该方法还包括步骤610至步骤620。
98.步骤610,在多个数据报文的流量值大于流量阈值的情况下,开启bypass功能。
99.在ips设备接收的多个数据报文的流量值大于流量阈值时,可以开启bypass功能,以保证ips设备的性能和稳定运行。
100.步骤620,对多个数据报文中的第三数据报文进行业务处理,对多个数据报文中的第四数据报文进行bypass处理。
101.示例性地,第三数据报文的流量值小于或等于流量阈值,第四数据报文为多个数据报文中除第三数据报文以外的数据报文。
102.在一些示例中,ips设备可以按照多个数据报文的接收时间确定第三数据报文和第四数据报文。例如,ips设备可以将先接收到的小于或等于流量阈值的数据报文确定为第三数据报文,并将第三数据报文之后接收到的数据报文确定为第四数据报文。
103.由于第三数据报文的流量值未超过流量阈值,因而ips设备对第三数据报文进行业务处理,不会影响ips设备的正常运行,且能够尽可能的保证网络环境的安全性。而当ips设备处理到第四数据报文时,已经超过ips设备的处理能力,因而可以对第四数据报文进行
bypass处理,进一步保证ips设备的性能。
104.图7为本技术一些实施例提供的另一种bypass功能测试方法的示意图。该方法可以通过上述实施例中的电子设备实现。如图7所示,该方法包括如下所示的步骤710至步骤740。
105.步骤710,接收测试设备发送的第一测试报文,并对第一测试报文进行处理。
106.示例性地,第一测试报文包括多个攻击报文,且第一测试报文的流量值小于流量阈值。
107.在一些示例中,测试设备(如上述实施例中的测试设备20)可以向电子设备(如上述实施例中的ips设备,以下实施例以ips设备为例进行示意性说明)小于流量阈值的第一测试报文,例如,第一测试报文可以包括330个攻击报文,其中,330个攻击报文的流量值小于流量阈值。
108.步骤720,若电子设备对第一测试报文的拦截率超过第一预设拦截率,则确定电子设备未开启bypass功能。
109.在一些示例中,拦截率用于指示ips设备的安全防护能力。例如,ips设备的拦截率越高,表明ips设备的安全防护能力越高,ips设备拦截到的攻击报文越多。
110.在一些示例中,可以将第一预设拦截率设置为一个较高的数值。例如,第一拦截率可以设置为90%。也就是说,当ips设备的拦截率超过90%时,表明ips设备的安全防护功能处于正常状态,即ips设备不处于bypass状态。例如,经过ips设备处理后,测试设备接收到的第一测试报文的数量与发送的第一测试报文的数量的比值超过第一预设拦截率,则表明ips设备未开启bypass功能。
111.例如,测试设备发送了330个攻击报文,经过ips设备后,接收到308个攻击报文,则ips设备的拦截率为93%(308/330),由于ips设备的拦截率93%大于第一预设拦截率90%,因此,可以确定ips设备安全防护能力正常,即ips设备未开启bypass功能。
112.步骤730,接收测试设备发送的第一测试报文和超过流量阈值的第二测试报文,并对第一测试报文和第二测试报文进行处理。
113.示例性地,第二测试报文可以包括多个非攻击报文。
114.在一些示例中,测试设备可以向ips设备发送第一测试报文和第二测试报文,其中,第二测试报文的流量值超过流量阈值,因此,第一测试报文与第二测试报文的流量值之和超过流量阈值。
115.例如,若流量阈值设置为40g,第一测试报文为330个攻击报文,第二测试报文为40g的纯tcp数据流量,则第一测试报文和第二测试报文的流量值大于流量阈值。
116.步骤740,若电子设备对第一测试报文的拦截率小于第二预设拦截率,且测试设备接收到的第二测试报文的数量与发送的第二测试报文的数量之间的偏差不超过预设偏差,则确定电子设备开启了bypass功能。
117.例如,测试设备向ips设备发送第一测试报文和第二测试报文后,可以根据测试设备接收到的数据报文确定ips设备的bypass功能是否正常开启。
118.在一些示例中,第二预设拦截率可以与第一拦截率相同,也可以与第一预设拦截率不同。例如,第二预设拦截率可以小于第一预设拦截率,如第二预设拦截率可以设置为50%;或者,第二拦截率也可以大于第一预设拦截率。本技术实施例对此不作限定。
119.在一些示例中,预设偏差用于指示ips设备的业务处理过程中的丢包情况。预设偏差一般可以设置为一个较小的数值,如1%。
120.在一些示例中,偏差用于指示ips设备丢包的多少,例如,偏差可以通过测试设备发送的数据报文与接收到的数据报文之间的差值,与发送的数据报文之间的比值确定。当偏差较小时,表明ips设备丢包较少;当偏差较大时,表明ips设备丢包较多。
121.例如,若测试设备接收到的攻击报文的数量为131个,接收到的纯tcp报文为40g,则可以确定ips设备的拦截率为44%(131/300),小于第二预设拦截率50%,且第二测试报文的收发包一致(偏差小于1%),即ips未出现丢包。这种情况下,表明ips设备正常开启了bypass功能。
122.需要说明的是,步骤710至步骤740可以在上述实施例中的步骤310之前执行,在确定ips设备的bypass功能处于正常状态后,再进行数据报文的处理。
123.本技术实施例提供的数据报文处理方法,可以通过攻击报文和普通的非攻击报文共同测试bypass功能,进一步保证bypass功能的正常,从而进一步保证ips设备的正常运行。
124.上述主要从方法的角度对本技术实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本技术能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
125.图8为本技术一些实施例提供的一种数据报文处理装置的示意图。如图8所示,数据报文处理装置100可以包括接收模块81、确定模块82、开启模块83和处理模块84。其中:
126.接收模块81,被配置为接收多个数据报文。
127.确定模块82,被配置为确定多个数据报文的流量值,并在多个数据报文的流量值小于或等于流量阈值的情况下,确定多个数据报文对应的会话数量。
128.开启模块83,被配置为在会话数量大于数量阈值的情况下,开启旁路bypass功能。
129.处理模块84,被配置为对多个数据报文中的第一数据报文进行业务处理,对多个数据报文中的第二数据报文进行bypass处理。其中,第一数据报文对应的会话数量小于或等于数量阈值,第二数据报文为多个数据报文中除第一数据报文以外的数据报文。
130.在一些实施例中,数据报文处理装置100还包括会话模块。会话模块被配置为根据多个数据报文,依次建立多个会话;确定模块被配置为基于多个会话,在多个数据报文中确定第一数据报文和第二数据报文;处理模块84被配置为对第一数据报文进行业务处理,对第二数据报文进行bypass处理。
131.在一些实施例中,数据报文处理装置100还包括预处理模块和标记模块。其中,预处理模块被配置为对多个会话中各会话进行预处理,得到各会话的预处理结果;标记模块被配置为根据预处理结果,对各会话进行标记;确定模块被配置为根据各会话的标记,在多个数据报文中确定第一数据报文和第二数据报文。
132.在一些实施例中,确定模块被配置为若预处理结果指示多个会话中的第一会话对应的数据报文为攻击报文,则确定第一会话的标记为第一标记;若预处理结果指示多个会
话中的第二会话对应的数据报文为非攻击报文,则确定第二会话的标记为第二标记。其中,第二标记与第一标记不同。
133.在一些实施例中,确定模块82被配置为将第一会话对应的数据报文,以及第一数量的第二会话对应的数据报文,确定为第一数据报文,并将除第一数量外的其余的第二会话对应的数据报文确定为第二数据报文;其中,第一数量和第一会话的数量之和小于或等于数量阈值;或者,将第一会话对应的数据报文确定为第一数据报文,将第二会话对应的数据报文确定为第二数据报文。
134.在一些实施例中,确定模块82被配置为:按照多个会话的建立时间,将多个会话中最早建立的第二数量的第三会话对应的数据报文确定为第一数据报文,将在第三会话之后建立的第四会话对应的数据报文确定为第二数据报文;其中,第二数量小于或等于数量阈值。
135.在一些实施例中,开启模块83被配置为在多个数据报文的流量值大于流量阈值的情况下,开启bypass功能;处理模块84被配置为对多个数据报文中的第三数据报文进行业务处理,对多个数据报文中的第四数据报文进行bypass处理;其中,第三数据报文的流量值小于或等于流量阈值,第四数据报文为多个数据报文中除第三数据报文以外的数据报文。
136.在一些实施例中,接收模块81被配置为接收测试设备发送的第一测试报文。处理模块84被配置为对第一测试报文进行处理;其中,第一测试报文包括多个攻击报文,第一测试报文的流量值小于流量阈值。确定模块82被配置为若电子设备对第一测试报文的拦截率超过第一预设拦截率,则确定电子设备未开启bypass功能。接收模块81被配置为接收测试设备发送的第一测试报文和超过流量阈值的第二测试报文。处理模块84被配置为对第一测试报文和第二测试报文进行处理;其中,第二测试报文为非攻击报文。确定模块82被配置为若电子设备对第一测试报文的拦截率小于第二预设拦截率,且测试设备接收到的第二测试报文的数量与发送的第二测试报文的数量之间的偏差不超过预设偏差,则确定电子设备开启了bypass功能。
137.需要说明的是,本技术实施例提供的数据报文处理装置100包括但不限于上述模块。本技术实施例所提供的数据报文处理装置100中的各个模块是根据上述方法实施例中各功能进行的划分的。例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本技术实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
138.图9为本技术一些实施例提供的一种电子设备的结构示意图,本技术具体实施例并不对电子设备的具体实现做限定。如图9所示,电子设备1000可以包括:处理器(processor)1001和存储器1002。示例性地,电子设备1000还可以包括:通信接口(communications interface)1003、和通信总线1004。
139.其中,处理器1001、存储器1002以及通信接口1003通过通信总线1004完成相互间的通信。通信接口1003,用于与其它设备比如客户端或其它服务器等的网元通信。
140.在一些实施例中,处理器1001用于执行程序1005,具体可以执行上述实施例中的数据报文处理方法实施例中的相关步骤。具体地,程序1005可以包括程序代码,该程序代码包括计算机可执行指令。
141.示例性地,处理器1001可能是中央处理器cpu,或者是特定集成电路(application specific integrated circuit,asic),或者是被配置成实施本技术实施例的一个或多个集成电路。电子设备1000可以包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。
142.在一些实施例中,存储器1002用于存放程序1005。存储器1002可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。
143.程序1005具体可以被处理器1001调用使电子设备1000执行上述实施例中的数据报文处理方法的操作。
144.本技术实施例提供了一种计算机可读存储介质,该存储介质存储有至少一可执行指令,该可执行指令在电子设备1000上运行时,使得电子设备1000执行上述实施例中的数据报文处理方法。
145.可执行指令具体可以用于使得电子设备1000执行上述实施例中的数据报文处理方法的操作。
146.本技术实施例提供的数据报文处理装置、电子设备及计算机可读存储介质均用于执行上文所提供的对应的数据报文处理方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
147.在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。此外,本技术实施例也不针对任何特定编程语言。
148.在此处所提供的说明书中,说明了大量具体细节。然而能够理解,本技术的实施例可以在没有这些具体细节的情况下实践。类似地,为了精简本技术并帮助理解各个发明方面中的一个或多个,在上面对本技术的示例性实施例的描述中,本技术实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。其中,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本技术的单独实施例。
149.本领域技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外。
150.应该注意的是上述实施例对本技术进行说明而不是对本技术进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本技术可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。