一种攻击检测方法、装置、电子设备及存储介质与流程

文档序号:30085932发布日期:2022-05-18 05:40阅读:74来源:国知局
一种攻击检测方法、装置、电子设备及存储介质与流程

1.本技术涉及网络安全技术领域,尤其涉及一种攻击检测方法、装置、电子设备及存储介质。


背景技术:

2.空连接攻击是被攻击的客户端在与目标服务器完成三次握手建立tcp(transmission control protocol,传输控制协议)连接后,不发送数据或者发送非正常业务数据,从而导致连接资源一直被占用无法被释放的一种攻击,当目标服务器的资源被耗尽之后,就无法对客户端的正常请求进行响应。
3.目前,在客户端与目标服务器之间通常设有安全防御设备或反向代理服务器,安全防御设备或反向代理服务器对于空连接攻击的处理方法通常是:客户端与安全防御设备或反向代理服务器完成三次握手后建立tcp连接,再对客户端发送的数据请求进行分析,然而,空连接攻击属于应用层攻击,其能够自动与安全防御设备或反向代理服务器完成三次握手并建立tcp连接后而不再发送数据或者发送非正常业务数据,从而占用目标服务器的资源,当目标服务器的资源被耗尽之后,就无法对客户端的正常请求进行响应。


技术实现要素:

4.为了解决现有的针对空连接攻击的处理方法会占用目标服务器资源,当目标服务器的资源被耗尽之后无法对客户端的正常请求进行响应的问题,本技术实施例提供了一种攻击检测方法、装置、电子设备及存储介质。
5.第一方面,本技术实施例提供了一种安全防御设备侧(或反向代理服务器侧)实施的攻击检测方法,包括:
6.当接收到与客户端进行tcp三次握手过程中所述客户端在第三次握手时发送的ack确认报文时,将所述ack确认报文丢弃,不向目标服务器发起tcp连接请求,所述ack确认报文携带有序列号信息和确认序列号信息;
7.当接收到所述客户端发送的数据请求时,根据所述序列号信息和所述确认序列号信息,对所述数据请求进行校验,获得校验结果;
8.当确定所述校验结果为校验成功时,则向目标服务器发起tcp连接建立请求以建立tcp连接,并将所述数据请求发送至所述目标服务器;当确定所述校验结果为校验失败时,则直接将所述数据请求丢弃。
9.在一种可能的实施方式中,通过以下方式与所述客户端进行tcp三次握手:
10.接收客户端发送的syn同步报文,所述syn报文携带有第一序列号信息、第一确认序列号信息和所述客户端信息,所述客户端信息包括所述客户端的ip信息和端口号信息;
11.对所述客户端的ip信息、端口号信息和当前时间戳信息进行哈希计算获得哈希值,将所述哈希值确定为第二序列号信息,并向所述客户端返回携带有所述第二序列号信息和第二确认序列号信息的syn-ack响应报文;
12.接收所述客户端发送的所述ack确认报文。
13.在一种可能的实施方式中,所述数据请求中包括第三序列号信息、第三确认序列号信息和请求的数据长度信息;
14.根据所述序列号信息和所述确认序列号信息,对所述数据请求进行校验,获得校验结果,具体包括:
15.校验所述第三序列号是否与所述序列号相同,以及校验所述第三确认序列号是否与所述确认序列号相同;
16.若所述第三序列号与所述序列号相同,且所述第三确认序列号与所述确认序列号相同,且所述数据长度信息不为零,则确定校验通过;
17.若所述第三序列号与所述序列号不同,且所述第三确认序列号与所述确认序列号不同,或者所述数据长度信息为零,则确认校验失败。
18.在一种可能的实施方式中,向目标服务器发起tcp连接建立请求以建立tcp连接,具体包括:
19.向所述目标服务器发送第一syn同步报文;
20.接收所述目标服务器返回的第一syn-ack响应报文,与所述目标服务器建立tcp连接,并建立连接表。
21.第二方面,本技术实施例提供了一种安全防御设备侧(或反向代理服务器侧)实施的攻击检测装置,包括:
22.丢弃单元,用于当接收到与客户端进行tcp三次握手过程中所述客户端在第三次握手时发送的ack确认报文时,将所述ack确认报文丢弃,不向目标服务器发起tcp连接请求,所述ack确认报文携带有序列号信息和确认序列号信息;
23.校验单元,用于当接收到所述客户端发送的数据请求时,根据所述序列号信息和所述确认序列号信息,对所述数据请求进行校验,获得校验结果;
24.处理单元,用于当确定所述校验结果为校验成功时,则向目标服务器发起tcp连接建立请求以建立tcp连接,并将所述数据请求发送至所述目标服务器;当确定所述校验结果为校验失败时,则直接将所述数据请求丢弃。
25.在一种可能的实施方式中,所述丢弃单元,具体用于通过以下方式与所述客户端进行tcp三次握手:
26.接收客户端发送的syn同步报文,所述syn报文携带有第一序列号信息、第一确认序列号信息和所述客户端信息,所述客户端信息包括所述客户端的ip信息和端口号信息;
27.对所述客户端的ip信息、端口号信息和当前时间戳信息进行哈希计算获得哈希值,将所述哈希值确定为第二序列号信息,并向所述客户端返回携带有所述第二序列号信息和第二确认序列号信息的syn-ack响应报文;
28.接收所述客户端发送的所述ack确认报文。
29.在一种可能的实施方式中,所述数据请求中包括第三序列号信息、第三确认序列号信息和请求的数据长度信息;
30.所述校验单元,具体用于:
31.校验所述第三序列号是否与所述序列号相同,以及校验所述第三确认序列号是否与所述确认序列号相同;
32.若所述第三序列号与所述序列号相同,且所述第三确认序列号与所述确认序列号相同,且所述数据长度信息不为零,则确定校验通过;
33.若所述第三序列号与所述序列号不同,且所述第三确认序列号与所述确认序列号不同,或者所述数据长度信息为零,则确认校验失败。
34.在一种可能的实施方式中,所述处理单元,具体用于:
35.向所述目标服务器发送第一syn同步报文;
36.接收所述目标服务器返回的第一syn-ack响应报文,与所述目标服务器建立tcp连接,并建立连接表。
37.第三方面,本技术实施例提供了一种客户端侧实施的攻击检测方法,包括:
38.在与安全防御设备进行tcp三次握手过程中,在第三次握手时向所述安全防御设备发送ack确认报文,所述ack确认报文携带有序列号信息和确认序列号信息;
39.向所述安全防御设备发送数据请求,以使所述安全防御设备根据所述序列号信息和所述确认号信息对所述数据请求进行校验,以及当确定校验成功时,由所述安全防御设备向目标服务器发起tcp连接建立请求以建立tcp连接,并将所述数据请求发送至所述目标服务器,当确定校验失败时,直接将所述数据请求丢弃。
40.在一种可能的实施方式中,通过以下方式与所述安全防御设备进行tcp三次握手:
41.向所述安全防御设备发送syn同步报文,所述syn同步报文携带有第一序列号信息、第一确认序列号信息和客户端信息,所述客户端信息包括所述客户端的ip信息和端口号信息;
42.接收所述安全防御设备返回的syn-ack响应报文,所述syn-ack响应报文携带有第二序列号信息和第二确认序列号信息,所述第二序列号信息是由所述安全防御设备将所述客户端的ip信息、端口号信息和当前时间戳信息进行哈希计算获得的哈希值;
43.向所述安全防御设备发送所述ack确认报文。
44.第四方面,本技术实施例提供了一种客户端侧实施的攻击检测装置,包括:
45.第一发送单元,用于在与安全防御设备进行tcp三次握手过程中,在第三次握手时向所述安全防御设备发送ack确认报文,所述ack确认报文携带有序列号信息和确认序列号信息;
46.第二发送单元,用于向所述安全防御设备发送数据请求,以使所述安全防御设备根据所述序列号信息和所述确认号信息对所述数据请求进行校验,以及当确定校验成功时,由所述安全防御设备向目标服务器发起tcp连接建立请求以建立tcp连接,并将所述数据请求发送至所述目标服务器,当确定校验失败时,直接将所述数据请求丢弃。
47.作为一种可能的实施方式,所述第一发送单元,具体用于通过以下方式与所述安全防御设备进行tcp三次握手:
48.向所述安全防御设备发送syn同步报文,所述syn同步报文携带有第一序列号信息、第一确认序列号信息和客户端信息,所述客户端信息包括所述客户端的ip信息和端口号信息;
49.接收所述安全防御设备返回的syn-ack响应报文,所述syn-ack响应报文携带有第二序列号信息和第二确认序列号信息,所述第二序列号信息是由所述安全防御设备将所述客户端的ip信息、端口号信息和当前时间戳信息进行哈希计算获得的哈希值;
50.向所述安全防御设备发送所述ack确认报文。
51.第五方面,本技术实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现本技术所述的攻击检测方法。
52.第六方面,本技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本技术所述的攻击检测方法中的步骤。
53.本技术实施例的有益效果如下:
54.本技术实施例提供的攻击检测方法、装置、电子设备及存储介质,安全防御设备(或者反向代理服务器)当接收到与客户端进行tcp三次握手过程中客户端在第三次握手时发送的ack确认报文时,将该ack确认报文丢弃,不向目标服务器发起tcp连接请求,其中,ack确认报文携带有序列号信息和确认序列号信息,当接收到客户端发送的数据请求时,根据ack确认报文中的序列号信息和确认号信息对数据请求进行校验,当校验成功时,向目标服务器发起tcp连接建立请求以建立tcp连接,并在tcp连接建立后将客户端发送的数据请求发送至目标服务器,当校验失败时,则直接将该数据请求丢弃。本技术实施例提供的攻击检测方法,安全防御设备(或者反向代理服务器)在接收到与客户端进行tcp三次握手过程中,客户端在第三次握手时发送的ack确认报文后,直接将该ack确认报文丢弃,不与目标服务器建立tcp连接,即:在安全防御设备与客户端进行第三次握手后不为客户端分配资源,不记录相关连接信息,而是在三次握手后,收到客户端发送的第一个数据请求时,对该数据请求进行校验,若校验成功,则可确定客户端为正常客户端,如果在第三次握手后客户端未继续发起数据请求,或者若客户端发起数据请求,而数据请求校验失败,则可确定该客户端为被攻击客户端,则直接将该数据请求丢弃,并不与目标服务器建立tcp连接,这样即可有效防御空连接攻击,且不会消耗目标服务器的资源,并提高了目标服务器与正常客户端之间的数据传输效率。
55.本技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术而了解。本技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
56.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
57.图1为本技术实施例提供的攻击检测方法的一个应用场景示意图;
58.图2为本技术实施例提供的一种攻击检测方法的实施流程示意图;
59.图3为本技术实施例提供的一种安全防御设备侧(或反向代理服务器侧)实施的攻击检测方法的实施流程示意图;
60.图4为本技术实施例提供的一种安全防御设备侧(或反向代理服务器侧)实施的攻击检测装置示意图;
61.图5为本技术实施例提供的一种客户端侧实施的攻击检测方法的实施流程示意图;
62.图6为本技术实施例提供的一种客户端侧实施的攻击检测装置的结构示意图;
63.图7为本技术实施例提供的电子设备的结构示意图。
具体实施方式
64.为了解决背景技术中的问题,本技术实施例提供了一种攻击检测方法、装置、电子设备及存储介质。
65.以下结合说明书附图对本技术的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本技术,并不用于限定本技术,并且在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
66.首先参考图1,其为本技术实施例提供的攻击检测方法的一个应用场景示意图,可以包括客户端110、安全防御设备120和目标服务器130,客户端110在向目标服务器130发送数据请求时,安全防御设备120会将该数据请求截获,对该数据请求进行安全检测后再决定是否放行至目标服务器130。当客户端110向目标服务器130发送数据请求之前,需向目标服务器130发送tcp连接建立请求,即tcp三次握手,本技术实施例中,安全防御设备120截获客户端110向目标服务器130发送的tcp连接建立请求,与客户端110进行三次握手,当安全防御设备120与客户端完成三次握手后,将第三次握手时客户端发送的ack确认报文丢弃,不与目标服务器发起tcp连接,也不对客户端分配资源,不记录连接信息,其中连接信息可以但不限于包括以下信息:客户端ip信息、端口号信息、协议号信息、当前tcp连接状态信息、流量信息等信息,如果后续客户端110向目标服务器发起数据请求,安全防御设备120则截获该数据请求后对其进行校验,如果校验成功,安全防御设备120则向目标服务器130发起tcp连接建立请求以建立tcp连接,创建连接表以记录连接信息,并向客户端分配资源,将该数据请求发送至目标服务器130,如果校验失败,安全防御设备120则将该数据请求直接丢弃,由于当客户端110在与安全防御设备120进行三次握手后,安全防御设备120不与目标服务器130建立tcp连接,当客户端110后续未向目标服务器130发送任何数据或者发送数据时,安全防御设备120对与客户端110完成三次握手后客户端110发送的第一个数据进行校验,来判定客户端110是否为正常客户端,即是否被攻击,如果客户端110未被攻击,才与目标服务器130建立tcp连接,这样,有效防御了空连接攻击,且不会消耗目标服务器的资源,并提高了目标服务器与正常客户端之间的数据传输效率。
67.需要说明的是,本技术实施例提供的攻击检测方法不仅可以应用于安全防御设备,也可以应用于反向代理服务器,本技术实施例对此不作限定,本技术以下实施例中仅以应用于安全防御设备进行说明。
68.基于上述应用场景,下面将更详细地描述本技术的示例性实施例,需要注意的是,上述应用场景仅是为了便于理解本技术的精神和原理而示出,本技术的实施方式在此不受任何限制。相反,本技术的实施方式可以应用于适用的任何场景。
69.如图2所示,其为本技术实施例提供的一种攻击检测方法的实施流程示意图,该攻击检测方法,具体可以包括以下步骤:
70.s21、客户端向安全防御设备发送syn同步报文,syn报文携带有第一序列号信息、第一确认序列号信息和客户端信息。
71.具体实施时,客户端向安全防御设备发送syn同步报文,即发起第一次tcp握手,此时,客户端进入syn_sent状态(同步已发送状态),syn同步报文可记为:syn(seq=x,ack=
0),其中,x即为第一序列号,是客户端指定的初始序列号,ack表示响应标志位,其取值可为0。客户端信息可以但不限于包括以下信息:客户端的ip信息和端口号信息等信息。
72.s22、安全防御设备对客户端的ip信息、端口号信息和当前时间戳信息进行哈希计算获得哈希值,将哈希值确定为第二序列号信息。
73.具体实施时,安全防御设备接收到客户端发送的syn同步报文后,提取其中的客户端信息,若客户端信息包括该客户端的ip信息和端口号信息时,则对客户端的ip信息、端口号信息和当前时间戳信息进行哈希计算获得哈希值,将该哈希值确定为第二序列号信息,第二序列号为在安全防御设备与客户端进行第二次tcp握手时返回至客户端的第一同步响应报文(即步骤s23中的syn-ack响应报文)中携带的初始序列号。在实施过程中,可根据任意哈希算法计算得到哈希值,本技术实施例对此不作限定。
74.s23、安全防御设备向客户端返回携带有第二序列号信息和第二确认序列号信息的syn-ack响应报文。
75.具体实施时,安全防御设备向客户端返回携带有第二序列号信息和第二确认序列号信息的syn-ack响应报文,即与客户端进行第二次tcp握手,此时,安全防御设备进入syn_recv状态(同步收到状态),syn-ack响应报文可以记为:syn+ack(seq=y,ack=x+1),其中,y=hash(ip+port+timestamp),即:客户端的ip信息(ip)、客户端的端口号信息(port)和当前时间戳(timestamp)的哈希值。在本步骤中,安全防御设备不记录连接信息,即:客户端的ip信息、端口号信息、协议号信息、当前tcp连接状态信息、流量信息等信息,也不为客户端分配资源,因此,不会消耗目标服务器的任何资源。
76.s24、客户端向安全防御设备发送ack确认报文,ack确认报文携带有序列号信息和确认序列号信息。
77.具体实施,客户端向安全防御设备发送ack确认报文后,向安全防御设备发送ack确认报文,即向安全防御设备发起第三次tcp握手,ack确认报文可以记为:ack(seq=x+1,ack=y+1),其中,ack确认报文中的序列号信息为:x+1,确认序列号信息为:y+1(即:客户端的ip信息、客户端的端口号信息和当前时间戳的哈希值加1)。
78.s25、安全防御设备将ack确认报文丢弃,不向目标服务器发起tcp连接请求。
79.具体实施时,安全防御设备接收到客户端发送的ack确认报文后,直接将该ack确认报文丢弃,不向目标服务器发起tcp连接请求,这样即可保证不记录连接信息,也不会为客户端分配资源。
80.例如,在一个客户端被空连接攻击的场景中,客户端向安全防御设备发起1000次tcp三次握手,由于在第三次tcp三次握手后,安全防御设备将客户端发送的ack确认报文丢弃,不向目标服务器发起tcp连接请求,则不会消耗任何资源。
81.s26、客户端向安全防御设备发送数据请求。
82.具体实施时,安全防御设备等待客户端后续发送的数据请求,由于空连接攻击包含两种情况:不发送数据请求,或者发送非正常数据请求,则如果接下来的一段时间客户端不向安全防御设备发送数据请求,由于安全防御设备未与目标服务器建立tcp连接,则不会消耗目标服务器的资源;如果客户端向安全防御设备发送数据请求,则执行步骤s27,数据请求中可包括第三序列号信息、第三确认序列号信息和请求的数据长度信息。数据请求报文可以记为:psh+ack(seq=x’,ack=y’,payload=200),其中,第三序列号为:x’,第三确
认号为:y’,payload为客户端向目标服务器请求的数据长度。
83.s27、安全防御设备根据ack确认报文中的序列号信息和确认序列号信息,对数据请求进行校验,获得校验结果,当确定校验结果为校验成功时,则执行步骤s28-步骤s211;当确定校验结果为校验失败时,则执行步骤s212。
84.具体实施时,当安全防御设备接收到客户端发送的数据请求后,提取其中的第三序列号(x’)和第三确认序列号(y’),检验第三序列号(x’)是否与ack确认报文中的序列号(x+1)相同,以及校验第三确认序列号(y’)是否与ack确认报文中的确认序列号(y+1)相同,由于客户端在与安全防御设备完成三次握手后,如果客户端为正常客户端,即未受到空连接攻击,客户端向安全防御设备发送的第一个数据请求中,携带的序列号和确认序列号应与第三次握手时向安全防御设备发送的ack确认报文中的序列号和确认序列号对应相同,且请求的数据长度不应为0,因此,如果第三序列号(x’)与ack确认报文中的序列号(x+1)相同,且第三确认序列号(y’)与ack确认报文中的确认序列号(y+1)相同,且数据长度信息(playload)不为零,则确定校验通过,客户端为正常客户端,如果第三序列号(x’)与ack确认报文中的序列号(x+1)不同,且第三确认序列号(y’)与ack确认报文中的确认序列号(y+1)也不同,或者数据长度信息为0,则确认校验失败,客户端为非正常客户端,即:受到空连接攻击的客户端,也可能是受到其他攻击的客户端,此时安全防御设备需要对客户端发送的数据进行进一步的分析,以确定攻击来源。
85.s28、安全防御设备向目标服务器发送第一syn同步报文。
86.具体实施时,如果安全防御设备对客户端发送的数据请求校验成功,安全防御设备则向目标服务器发起tcp连接建立请求以建立tcp连接,首先,安全防御设备向目标服务器发送第一syn同步报文,即向目标服务器发起第一次握手,第一syn同步报文可以记为:syn(seq=x’,ack=0),其中,x’为安全防御设备指定的初始序列号,响应标志位ack取值为0。
87.s29、目标服务器向安全防御设备返回第一syn-ack响应报文。
88.具体实施时,目标服务器接收到安全防御设备发送的第一syn同步报文后,向安全防御设备返回第一syn-ack响应报文,即第二次tcp握手,第一syn-ack响应报文可以记为:syn+ack=(seq=z,ack=x’+1),其中,z为目标服务器指定的初始序列号。
89.s210、安全防御设备与目标服务器建立tcp连接,并建立连接表。
90.具体实施时,本技术实施例中,安全防御设备可不与目标服务器建立第三次tcp握手,当安全防御设备接收到目标服务器返回的第一syn-ack响应报文后,只需确认响应标志为的取值为x’+1,即可与目标服务器建立tcp连接,并建立连接表,记录连接信息,并为客户端分配资源用于客户端后续针对目标服务器的数据请求,其中,连接表可以但不限于包括以下信息:客户端的ip信息、端口号信息、协议号信息、当前tcp连接状态信息、流量信息等信息。
91.s211、安全防御设备向目标服务器发送数据请求。
92.具体实施时,安全防御设备向目标服务器发送该数据请求(即:安全防御设备拦截的客户端发送的数据请求)。
93.进而,目标服务器将客户端请求的数据返回至安全防御设备,由安全防御设备发送至客户端。
94.s212、安全防御设备直接将数据请求丢弃。
95.具体实施时,如果安全防御设备针对客户端发送的数据请求的校验失败,则直接丢弃该数据请求。
96.本技术实施例提供的上述攻击检测方法的流程中,安全防御设备也可以由反向代理服务器替代,本技术实施例对此不作限定。
97.本技术实施例提供的攻击检测方法,安全防御设备(或者反向代理服务器)接收客户端发送的syn同步报文,syn同步报文携带有第一序列号信息、第一确认号信息和客户端信息,对客户端的ip信息、端口号信息和当前时间戳进行哈希计算获得哈希值,将该哈希值确定为第二序列号信息,向客户端返回携带有该第二序列号信息和第二确认序列号信息的syn-ack响应报文,接收客户端返回的ack确认报文,将该ack确认报文丢弃,不向目标服务器发起tcp连接请求,其中,ack确认报文携带有序列号信息和确认序列号信息,当接收到客户端发送的数据请求时,根据ack确认报文中的序列号信息和确认号信息对数据请求中包含的第三序列号与第三确认号信息进行校验,当校验成功时,向目标服务器发起tcp连接建立请求以建立tcp连接,并在tcp连接建立后将客户端发送的数据请求发送至目标服务器,当校验失败时,则直接将该数据请求丢弃。本技术实施例提供的攻击检测方法,安全防御设备(或者反向代理服务器)在接收到客户端发送的syn同步报文后,将基于客户端信息进行哈希计算获得的哈希值作为syn-ack响应报文中的序列号,当接收到客户端的ack确认报文后,直接将该ack确认报文丢弃,不与目标服务器建立tcp连接,即:在安全防御设备与客户端进行第二次握手时以及在第三次握手后均不为客户端分配资源,不记录相关连接信息,而是在三次握手后,收到客户端发送的第一个数据请求时,对该数据请求进行校验,若校验成功,则可确定客户端为正常客户端,如果在第三次握手后客户端未继续发起数据请求,或者若客户端发起数据请求,而数据请求校验失败,则可确定该客户端为被攻击客户端,则直接将该数据请求丢弃,并不与目标服务器建立tcp连接,这样即可有效防御空连接攻击,且不会消耗目标服务器的资源,并提高了目标服务器与正常客户端之间的数据传输效率。
98.基于同一发明构思,本技术实施例还提供了一种安全防御设备侧(或反向代理服务器侧)实施的攻击检测方法,由于上述安全防御设备侧(或反向代理服务器侧)实施的攻击检测方法解决问题的原理与上述攻击检测方法相似,因此上述安全防御设备侧(或反向代理服务器侧)实施的攻击检测方法的实施可以参见上述攻击检测方法的实施,重复之处不再赘述。
99.如图3所示,为本技术实施例提供的安全防御设备侧(或反向代理服务器侧)实施的攻击检测方法的实施流程示意图,可以包括以下步骤:
100.s31、当接收到与客户端进行tcp三次握手过程中客户端在第三次握手时发送的ack确认报文时,将ack确认报文丢弃,不向目标服务器发起tcp连接请求,ack确认报文携带有序列号信息和确认序列号信息。
101.具体实施时,安全防御设备(或反向代理服务器)当接收到与客户端进行tcp三次握手过程中客户端在第三次握手时发送的ack确认报文时,将ack确认报文丢弃,不向目标服务器发起tcp连接请求。
102.s32、当接收到客户端发送的数据请求时,根据序列号信息和确认序列号信息,对数据请求进行校验,获得校验结果,当确定校验结果为校验成功时,则执行步骤s33,当确定
校验结果为校验失败时,则执行步骤s34。
103.s33、向目标服务器发起tcp连接建立请求以建立tcp连接,并将数据请求发送至目标服务器。
104.s34、直接将所数据请求丢弃。
105.在一种可能的实施方式中,通过以下方式与所述客户端进行tcp三次握手:
106.接收客户端发送的syn同步报文,所述syn报文携带有第一序列号信息、第一确认序列号信息和所述客户端信息,所述客户端信息包括所述客户端的ip信息和端口号信息;
107.对所述客户端的ip信息、端口号信息和当前时间戳信息进行哈希计算获得哈希值,将所述哈希值确定为第二序列号信息,并向所述客户端返回携带有所述第二序列号信息和第二确认序列号信息的syn-ack响应报文;
108.接收所述客户端发送的所述ack确认报文。
109.在一种可能的实施方式中,所述数据请求中包括第三序列号信息、第三确认序列号信息和请求的数据长度信息;
110.根据所述序列号信息和所述确认序列号信息,对所述数据请求进行校验,获得校验结果,具体包括:
111.校验所述第三序列号是否与所述序列号相同,以及校验所述第三确认序列号是否与所述确认序列号相同;
112.若所述第三序列号与所述序列号相同,且所述第三确认序列号与所述确认序列号相同,且所述数据长度信息不为零,则确定校验通过;
113.若所述第三序列号与所述序列号不同,且所述第三确认序列号与所述确认序列号不同,或者所述数据长度信息为零,则确认校验失败。
114.在一种可能的实施方式中,向目标服务器发起tcp连接建立请求以建立tcp连接,具体包括:
115.向所述目标服务器发送第一syn同步报文;
116.接收所述目标服务器返回的第一syn-ack响应报文,与所述目标服务器建立tcp连接,并建立连接表。
117.基于同一发明构思,本技术实施例还提供了一种安全防御设备侧(或反向代理服务器侧)实施的攻击检测装置,由于上述安全防御设备侧(或反向代理服务器侧)实施的攻击检测装置解决问题的原理与上述攻击检测方法相似,因此上述安全防御设备侧(或反向代理服务器侧)实施的攻击检测装置的实施可以参见上述攻击检测方法的实施,重复之处不再赘述。
118.如图4所示,为申请实施例提供的安全防御设备侧(或反向代理服务器侧)实施的攻击检测装置示意图,可以包括:
119.丢弃单元41,用于当接收到与客户端进行tcp三次握手过程中所述客户端在第三次握手时发送的ack确认报文时,将所述ack确认报文丢弃,不向目标服务器发起tcp连接请求,所述ack确认报文携带有序列号信息和确认序列号信息;
120.校验单元42,用于当接收到所述客户端发送的数据请求时,根据所述序列号信息和所述确认序列号信息,对所述数据请求进行校验,获得校验结果;
121.处理单元43,用于当确定所述校验结果为校验成功时,则向目标服务器发起tcp连
接建立请求以建立tcp连接,并将所述数据请求发送至所述目标服务器;当确定所述校验结果为校验失败时,则直接将所述数据请求丢弃。
122.在一种可能的实施方式中,所述丢弃单元41,具体用于通过以下方式与所述客户端进行tcp三次握手:
123.接收客户端发送的syn同步报文,所述syn报文携带有第一序列号信息、第一确认序列号信息和所述客户端信息,所述客户端信息包括所述客户端的ip信息和端口号信息;
124.对所述客户端的ip信息、端口号信息和当前时间戳信息进行哈希计算获得哈希值,将所述哈希值确定为第二序列号信息,并向所述客户端返回携带有所述第二序列号信息和第二确认序列号信息的syn-ack响应报文;
125.接收所述客户端发送的所述ack确认报文。
126.在一种可能的实施方式中,所述数据请求中包括第三序列号信息、第三确认序列号信息和请求的数据长度信息;
127.所述校验单元42,具体用于:
128.校验所述第三序列号是否与所述序列号相同,以及校验所述第三确认序列号是否与所述确认序列号相同;
129.若所述第三序列号与所述序列号相同,且所述第三确认序列号与所述确认序列号相同,且所述数据长度信息不为零,则确定校验通过;
130.若所述第三序列号与所述序列号不同,且所述第三确认序列号与所述确认序列号不同,或者所述数据长度信息为零,则确认校验失败。
131.在一种可能的实施方式中,所述处理单元43,具体用于:
132.向所述目标服务器发送第一syn同步报文;
133.接收所述目标服务器返回的第一syn-ack响应报文,与所述目标服务器建立tcp连接,并建立连接表。
134.基于同一发明构思,本技术实施例还提供了一种客户端侧实施的攻击检测方法,由于上述客户端侧实施的攻击检测方法解决问题的原理与上述攻击检测方法相似,因此上述客户端侧实施的攻击检测方法的实施可以参见上述攻击检测方法的实施,重复之处不再赘述。
135.如图5所示,为本技术实施例提供的客户端侧实施的攻击检测方法的实施流程示意图,可以包括以下步骤:
136.s51、客户端在与安全防御设备进行tcp三次握手过程中,在第三次握手时向安全防御设备发送ack确认报文,ack确认报文携带有序列号信息和确认序列号信息。
137.s52、向安全防御设备发送数据请求,以使安全防御设备根据所述序列号信息和所述确认号信息对所述数据请求进行校验,以及当确定校验成功时,由安全防御设备向目标服务器发起tcp连接建立请求以建立tcp连接,并将数据请求发送至所述目标服务器,当确定校验失败时,直接将数据请求丢弃。
138.在一种可能的实施方式中,通过以下方式与所述安全防御设备进行tcp三次握手:
139.向所述安全防御设备发送syn同步报文,所述syn同步报文携带有第一序列号信息、第一确认序列号信息和客户端信息,所述客户端信息包括所述客户端的ip信息和端口号信息;
memory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd)、或者存储器701是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器701可以是上述存储器的组合。
153.所述处理器702,用于调用所述存储器701中存储的计算机程序执行上述各个示例性实施方式中的攻击检测方法。
154.本技术实施例还提供了一种计算机可读存储介质,存储为执行上述处理器所需执行的计算机可执行指令,其包含用于执行上述处理器所需执行的程序。
155.在一些可能的实施方式中,本技术提供的攻击检测方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在电子设备上运行时,所述程序代码用于使所述电子设备执行本说明书上述描述的根据本技术各种示例性实施方式的攻击检测方法中的步骤。
156.本领域内的技术人员应明白,本技术的实施例可提供为方法、装置、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
157.本技术是参照根据本技术实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
158.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
159.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
160.尽管已描述了本技术的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术范围的所有变更和修改。
161.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1