本公开涉及互联网,尤其涉及一种syn泛洪攻击防御方法、装置、电子设备及存储介质。
背景技术:
1、相关技术中,对syn泛洪攻击的防御,通常采用缩短超时时间(syn timeout),或者设置syn cookie的方式。但是这两种方式,要么只能应对攻击频率不高的syn泛洪攻击,要么会增加计算资源(如cpu资源)的消耗。
技术实现思路
1、本公开提供一种syn泛洪攻击防御方法、装置、电子设备及存储介质。本公开的技术方案如下:
2、根据本公开实施例的第一方面,提供一种syn泛洪攻击防御方法,包括:
3、获取tcp数据包;
4、在所述tcp数据包为单边连接的情况下,计算预设时段内的单边连接密度;
5、基于所述单边连接密度,确定是否发生syn泛洪攻击;
6、在发生syn泛洪攻击的情况下,通过ebpf和xdp调用syn cookie机制进行syn泛洪攻击防御处理。
7、在一种可能的实施方式中,所述获取tcp数据包,包括:
8、使用ebpf和xdp捕获一组tcp数据包;所述一组tcp数据包包括按时序排列的多个tcp数据包;
9、所述在所述tcp数据包为单边连接的情况下,计算预设时段内的单边连接密度之前,还包括:
10、根据每个所述tcp数据包的头部格式确定所述tcp数据包是否为单边连接。
11、在一种可能的实施方式中,所述根据每个所述tcp数据包的头部格式确定所述tcp数据包是否为单边连接,包括:
12、对于第i个tcp数据包,解析所述第i个tcp数据包的头部格式,得到表征所述第i个tcp数据包的发包客户端行为的特征字段;
13、根据表征所述第i个tcp数据包的发包客户端行为的特征字段,确定所述第i个tcp数据包是否为单边连接;
14、其中,所述特征字段包括所述发包客户端的源ip地址、所述第i个tcp数据包的ip地址、所述发包客户端的源端口号、所述第i个tcp数据包的目的端口号、所述第i个tcp数据包的标志位中的至少一项;i∈(1,n),n∈n*,n为获取的所述tcp数据包的数量。
15、在一种可能的实施方式中,所述在所述tcp数据包为单边连接的情况下,计算预设时段内的单边连接密度,包括:
16、在所述tcp数据包为单边连接的情况下,确定所述tcp数据包中单边连接的tcp数据包的数量c;
17、基于获取的所述tcp数据包的数量n和所述单边连接的tcp数据包的数量c,计算预设时段内的单边连接密度。
18、在一种可能的实施方式中,所述基于所述单边连接密度,确定是否发生syn泛洪攻击,包括:
19、计算所述单边连接密度的时间序列功率谱密度;
20、在所述单边连接密度或所述单边连接密度的时间序列功率谱密度满足预设条件的情况下,确定发生syn泛洪攻击;其中,所述预设条件包括所述单边连接密度的峰值大于预设密度值,或所述单边连接密度的时间序列功率谱密度的峰值与基频比大于预设值。
21、在一种可能的实施方式中,所述计算所述单边连接密度的时间序列功率谱密度,包括:
22、通过ebpf和xdp在所述预设时段捕获网络流量;
23、按照预设时间间隔将所述网络流量捕获为单独的流量切片,得到每个所述时间间隔的单边连接密度时间序列;
24、基于每个所述时间间隔的单边连接密度时间序列,计算所述单边连接密度的时间序列功率谱密度。
25、根据本公开实施例的第二方面,提供一种syn泛洪攻击防御装置,包括:
26、数据获取模块,用于获取tcp数据包;
27、计算模块,用于在所述tcp数据包为单边连接的情况下,计算预设时段内的单边连接密度;
28、攻击确定模块,用于基于所述单边连接密度,确定是否发生syn泛洪攻击;
29、防御模块,用于在发生syn泛洪攻击的情况下,通过ebpf和xdp调用syn cookie机制进行syn泛洪攻击防御处理。
30、根据本公开实施例的第三方面,提供一种电子设备,包括:
31、处理器;
32、用于存储所述处理器可执行指令的存储器;
33、其中,所述处理器被配置为执行所述指令,以实现如第一方面中任一项所述的syn泛洪攻击防御方法。
34、根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面中任一项所述的syn泛洪攻击防御方法。
35、根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如第一方面中任一项所述的syn泛洪攻击防御方法。
36、本公开的实施例提供的技术方案至少带来以下有益效果:
37、在本公开实施例中,通过获取tcp数据包;在所述tcp数据包为单边连接的情况下,计算预设时段内的单边连接密度;基于所述单边连接密度,确定是否发生syn泛洪攻击;在发生syn泛洪攻击的情况下,通过ebpf和xdp调用syn cookie机制进行syn泛洪攻击防御处理。这样,可以利用ebpf/xdp利用tcp数据包的单边连接密度实现syn泛洪攻击的检测,并在判定发生syn泛洪攻击的情况下,通过ebpf/xdp调用syn cookie机制实现syn泛洪防御。如此,不仅可以实现不同攻击频率syn泛洪攻击的检测和防御,而且还可以通过xdp来提升系统处理效能,提高syn泛洪攻击检测和防御的准确性和效率。
38、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
1.一种syn泛洪攻击防御方法,其特征在于,包括:
2.根据权利要求1所述的syn泛洪攻击防御方法,其特征在于,所述获取tcp数据包,包括:
3.根据权利要求2所述的syn泛洪攻击防御方法,其特征在于,所述根据每个所述tcp数据包的头部格式确定所述tcp数据包是否为单边连接,包括:
4.根据权利要求2或3所述的syn泛洪攻击防御方法,其特征在于,所述在所述tcp数据包为单边连接的情况下,计算预设时段内的单边连接密度,包括:
5.根据权利要求4所述的syn泛洪攻击防御方法,其特征在于,所述基于所述单边连接密度,确定是否发生syn泛洪攻击,包括:
6.根据权利要求4所述的syn泛洪攻击防御方法,其特征在于,所述计算所述单边连接密度的时间序列功率谱密度,包括:
7.一种syn泛洪攻击防御装置,其特征在于,包括:
8.一种电子设备,其特征在于,包括:
9.一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1至6中任一项所述的syn泛洪攻击防御方法。
10.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的syn泛洪攻击防御方法。