攻击检测方法、攻击检测设备以及计算机可读存储介质与流程

文档序号:32391015发布日期:2022-11-30 08:14阅读:32来源:国知局
攻击检测方法、攻击检测设备以及计算机可读存储介质与流程

1.本技术实施例涉及攻击检测领域,更具体的,是攻击检测方法、攻击检测设备以及计算机可读存储介质。


背景技术:

2.在网络安全的运维过程中,运维人员需要知道客户端是否成功攻击服务器,从而可以根据攻击的情况进行运维,因此,需要一种攻击检测方法。
3.现有的攻击检测方法是:获取客户端向服务器发送的请求数据,并通过字符串或正则表达式检测请求数据是否具有攻击特征,若存在,则确定请求数据的攻击意图,并获取服务器根据请求数据向客户端返回的响应数据,并通过字符串或正则表达式检测响应数据是否具有攻击意图对应的攻击特征,得到判断结果,根据判断结果确定客户端是否成功攻击服务器,若具有,则确定请求数据成功攻击服务器,若不具有,则确定请求数据未成功攻击服务器。
4.但是,字符串或正则表达式的攻击检测方法只能检测相对固定特点的特征,若请求数据和/或响应数据使用各种手段更改或隐藏了字符串或正则表达式的攻击检测方法能检测的特征,则可以绕过现有的攻击检测,这种情况下通过字符串或正则表达式并不能检测出请求数据是否成功攻击所述服务器,因此,现有的攻击检测的准确率较低。


技术实现要素:

5.本技术实施例提供了一种攻击检测方法、攻击检测设备以及计算机可读存储介质,能够提高攻击检测准确性的情况下,检测请求数据是否成功攻击服务器。
6.第一方面,本技术实施例提供了一种攻击检测方法,包括:
7.获得客户端向服务器发送的请求数据;
8.识别所述请求数据是否至少存在攻击检测绕过字符和回显加密数据之一;
9.若存在,则确定所述请求数据的攻击意图;
10.获取所述服务器根据所述请求数据向所述客户端返回的响应数据,识别所述响应数据是否具有所述攻击意图对应的攻击特征,得到识别结果;
11.根据所述识别结果确定所述请求数据是否成功攻击所述服务器。
12.可选的,所述识别所述请求数据是否至少存在攻击检测绕过字符和回显加密数据之一,包括:
13.对所述请求数据进行扫描,得到扫描数据;
14.识别所述扫描数据是否至少存在所述攻击检测绕过字符和所述回显加密方法数据之一,得到识别结果;其中,所述识别结果为是表示所述请求数据至少存在攻击检测绕过字符和回显加密方法数据之一,所述识别结果为否表示所述请求数据不至少存在攻击检测绕过字符和回显加密方法数据之一。
15.可选的,所述若存在,则确定所述请求数据的攻击意图;包括:
16.若所述请求数据中存在所述攻击检测绕过字符且具有命令分隔符,则根据所述命令分隔符从所述请求数据提取第一类型检测绕过数据和/或第二类型检测绕过数据;其中,所述第一类型检测绕过数据为绕过检测攻击内容的数据,所述第二类型检测绕过数据为利用回显加密方法绕过检测的数据;
17.将所述攻击检测绕过字符从所述第一类型检测绕过数据和/或所述第二类型检测绕过数据中删除,以得到目标攻击内容和/或目标回显加密方法;
18.识别所述目标攻击内容的攻击意图,以及识别所述目标回显加密方法的攻击意图。
19.可选的,所述若存在,则确定所述请求数据的攻击意图,包括:
20.若所述请求数据中存在所述攻击检测绕过字符且不具有命令分隔符,则将所述请求数据中包括所述攻击检测绕过字符的数据确定为第一类型检测绕过数据;其中,所述第一类型检测绕过数据为绕过检测攻击内容的数据;
21.将所述攻击检测绕过字符从所述第一类型检测绕过数据中删除,以得到目标攻击内容;
22.识别所述目标攻击内容的攻击意图。
23.可选的,所述识别所述响应数据是否具有所述攻击意图对应的攻击特征,得到识别结果,包括:
24.识别所述响应数据是否具有所述目标攻击内容对应的预设敏感特征,得到识别结果;其中,识别结果为是表示所述响应数据具有所述攻击意图对应的攻击特征,识别结果为否表示所述响应数据不具有所述攻击意图对应的攻击特征。
25.可选的,所述若存在,则确定所述请求数据的攻击意图,包括:
26.若所述请求数据中存在回显加密方法数据且具有命令分隔符,则根据所述命令分隔符从所述请求数据提取目标攻击内容和目标回显加密方法;
27.识别所述目标攻击内容的攻击意图,以及识别所述目标回显加密方法的攻击意图。
28.可选的,所述识别所述响应数据是否具有所述攻击意图对应的攻击特征,得到识别结果,包括:
29.若所述目标回显加密方法为预设可还原方法,则根据所述目标回显加密方法将所述响应数据进行解密还原,得到目标响应数据;
30.识别所述目标响应数据是否具有所述目标攻击内容对应的预设敏感特征,得到识别结果;其中,识别结果为是表示所述响应数据具有所述攻击意图对应的攻击特征,识别结果为否表示所述响应数据不具有所述攻击意图对应的攻击特征。
31.可选的,所述识别所述响应数据是否具有所述攻击意图对应的攻击特征,得到识别结果,包括:
32.若所述目标回显加密方法非预设可还原方法,则确定所述目标攻击内容和所述目标回显加密方法对应的目标加密特征;
33.识别所述响应数据是否具有所述目标加密特征,得到识别结果;其中,识别结果为是表示所述响应数据具有所述攻击意图对应的攻击特征,识别结果为否表示所述响应数据不具有所述攻击意图对应的攻击特征。
34.第二方面,本技术实施例提供了一种攻击检测设备,包括:
35.获得单元,用于获得客户端向服务器发送的请求数据;
36.识别单元,用于识别所述请求数据是否至少存在攻击检测绕过字符和回显加密数据之一;
37.确定单元,用于若存在,则确定所述请求数据的攻击意图;
38.所述识别单元,还用于获取所述服务器根据所述请求数据向所述客户端返回的响应数据,识别所述响应数据是否具有所述攻击意图对应的攻击特征,得到识别结果;
39.所述确定单元,还用于根据所述识别结果确定所述请求数据是否成功攻击所述服务器。
40.第三方面,本技术实施例提供了一种攻击检测设备,包括:
41.中央处理器,存储器,输入输出接口,有线或无线网络接口以及电源;
42.所述存储器为短暂存储存储器或持久存储存储器;
43.所述中央处理器配置为与所述存储器通信,并执行所述存储器中的指令操作以执行前述攻击检测方法。
44.第四方面,本技术实施例提供了一种计算机可读存储介质,计算机可读存储介质包括指令,当指令在计算机上运行时,使得计算机执行前述攻击检测方法。
45.第五方面,本技术实施例提供了一种包含指令的计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行前述攻击检测方法。
46.从以上技术方案可以看出,本技术实施例具有以下优点:可以获得客户端向服务器发送的请求数据,识别请求数据是否至少存在攻击检测绕过字符和回显加密数据之一,若存在,则确定请求数据的攻击意图,获取服务器根据请求数据向客户端返回的响应数据,识别响应数据是否具有攻击意图对应的攻击特征,得到识别结果,根据识别结果确定请求数据是否成功攻击服务器,若请求数据和/或响应数据使用各种手段更改或隐藏了字符串或正则表达式的攻击检测方法能检测的特征,依然可以确定请求数据的攻击意图,并判断响应数据是否具有攻击意图对应的攻击特征,依然可以确定出请求数据是否成功攻击服务器,攻击检测的准确率较高。
附图说明
47.图1为本技术实施例公开的一种攻击检测系统的架构示意图;
48.图2为本技术实施例公开的一种攻击检测方法的流程示意图;
49.图3为本技术实施例公开的另一种攻击检测方法的流程示意图;
50.图4为本技术实施例公开的又一种攻击检测方法的流程示意图;
51.图5为本技术实施例公开的一种攻击检测设备的结构示意图;
52.图6为本技术实施例公开的另一种攻击检测设备的结构示意图。
具体实施方式
53.本技术实施例提供了一种攻击检测方法、攻击检测设备以及计算机可读存储介质,用于提高攻击检测准确性的情况下,检测请求数据是否成功攻击服务器。
54.请参阅图1,本技术实施例中攻击检测系统的架构包括:
55.客户端101、攻击检测设备102和服务器103。当进行攻击检测时,攻击检测设备102可以与客户端101和服务器103连接,客户端101可以和服务器103连接。攻击检测设备102可以获得客户端101向服务器103发送的请求数据,可以获得服务器103向客户端101发送的响应数据,可以根据请求数据和响应数据确定请求数据101是否成功攻击服务器。
56.客户端101可以是为客户提供本地服务程序的设备。
57.攻击检测设备102可以是路由器和防火墙等可以进行攻击检测的设备,还可以是嵌入客户端和/或服务端的功能模块。
58.服务器103可以是独立的服务器或者是服务器集群。
59.基于图1所示的攻击检测系统,请参阅图2,图2为本技术实施例公开的一种攻击检测方法的流程示意图,方法包括:
60.201、获得客户端向服务器发送的请求数据。
61.本实施例中,当进行攻击检测时,可以获得客户端向服务器发送的请求数据。
62.202、识别请求数据是否至少存在攻击检测绕过字符和回显加密方法数据之一。
63.获得客户端向服务器发送的请求数据之后,可以识别请求数据是否至少存在攻击检测绕过字符和回显加密方法数据之一,得到识别结果,若请求数据至少存在攻击检测绕过字符和回显加密方法数据之一,则执行步骤203,若请求数据不至少存在攻击检测绕过字符和回显加密方法数据之一,则执行步骤207。可以理解的是,除了攻击检测绕过字符和回显加密方法数据之外,还可以是其他合理的攻击检测绕过的数据,具体此处不做限定。
64.203、确定请求数据的攻击意图。
65.可以确定请求数据的攻击意图。
66.可以理解的是,不同的攻击检测绕过的数据可以对应有不同的绕过特征,可以根据不同的绕过特征确定请求数据的攻击意图,具体确定的方法此处不做限定。
67.204、识别响应数据是否具有攻击意图对应的攻击特征。
68.确定请求数据的攻击意图之后,可以获取所述服务器根据所述请求数据向所述客户端返回的响应数据,获取响应数据之后,可以识别响应数据是否具有攻击意图对应的攻击特征,得到识别结果,若响应数据具有攻击意图对应的攻击特征,则执行步骤205,若响应数据不具有攻击意图对应的攻击特征,则执行步骤206。
69.205、确定请求数据成功攻击服务器。
70.可以确定请求数据成功攻击服务器。
71.206、确定请求数据未成功攻击服务器。
72.可以确定请求数据未成功攻击服务器。
73.207、不执行任何步骤。
74.可以不执行任何步骤。
75.本技术实施例中,可以获得客户端向服务器发送的请求数据,识别请求数据是否至少存在攻击检测绕过字符和回显加密数据之一,若存在,则确定请求数据的攻击意图,获取服务器根据请求数据向客户端返回的响应数据,识别响应数据是否具有攻击意图对应的攻击特征,得到识别结果,根据识别结果确定请求数据是否成功攻击服务器,若请求数据和/或响应数据使用各种手段更改或隐藏了字符串或正则表达式的攻击检测方法能检测的特征,依然可以确定请求数据的攻击意图,并判断响应数据是否具有攻击意图对应的攻击
特征,依然可以确定请求数据是否成功攻击服务器,攻击检测的准确率较高。
76.本技术实施例中,若请求数据至少存在攻击检测绕过字符和回显加密方法数据之一,则确定请求数据的攻击意图的方法可以有多种,下面分别进行描述。
77.一、若请求数据存在攻击检测绕过字符,则确定请求数据的攻击意图。
78.本技术实施例中,若请求数据至少存在攻击检测绕过字符和回显加密方法数据之一,则确定请求数据的攻击意图的情况可以是,若请求数据存在攻击检测绕过字符,则确定请求数据的攻击意图。具体请参阅图3,图3为本技术实施例公开的另一种攻击检测方法的流程示意图,方法包括:
79.301、获得客户端向服务器发送的请求数据。
80.本实施例中,当进行攻击检测时,可以获得客户端向服务器发送的请求数据。需要理解的是,请求数据为请求包中的有效数据(payload)。
81.302、对请求数据进行扫描,得到扫描数据。
82.获得客户端向服务器发送的请求数据之后,可以对请求数据进行扫描,得到扫描数据。
83.303、识别扫描数据是否存在攻击检测绕过字符,得到识别结果;其中,识别结果为是表示请求数据存在攻击检测绕过字符,识别结果为否表示请求数据不存在攻击检测绕过字符。
84.得到扫描数据之后,可以识别扫描数据是否存在攻击检测绕过字符,得到识别结果;其中,识别结果为是表示请求数据存在攻击检测绕过字符,识别结果为否表示请求数据不存在攻击检测绕过字符。若请求数据存在攻击检测绕过字符,则执行步骤304,若请求数据不存在攻击检测绕过字符,则执行步骤308。具体的,攻击检测绕过字符可以是单引号’、反斜杠\或宗括号[等,具体此处不做限定。
[0085]
304、根据攻击检测绕过字符确定请求数据中的攻击检测绕过数据,并根据攻击检测绕过数据确定请求数据的攻击意图。
[0086]
可以根据攻击检测绕过字符确定请求数据中的攻击检测绕过数据,并根据攻击检测绕过数据确定请求数据的攻击意图。具体的,根据攻击检测绕过数据确定请求数据的攻击意图的方法可以有多种,下面分别进行描述:
[0087]
a、若请求数据存在攻击检测绕过字符,且具有命令分隔符。
[0088]
若请求数据存在攻击检测绕过字符,且具有命令分隔符,则可以根据命令分隔符从请求数据提取第一类型检测绕过数据和/或第二类型检测绕过数据;其中,第一类型检测绕过数据为绕过检测攻击内容的数据,第二类型检测绕过数据为利用回显加密方法绕过检测的数据。提取第一类型检测绕过数据和/或第二类型检测绕过数据之后,可以将攻击检测绕过字符从第一类型检测绕过数据和/或第二类型检测绕过数据中删除,以得到目标攻击内容和/或目标回显加密方法。得到目标攻击内容和/或目标回显加密方法之后,可以识别目标攻击内容的攻击意图,以及识别目标回显加密方法的攻击意图。
[0089]
具体的,可以对请求数据进行词法分析和语法分析,将请求数据拆分为一个个token,构建成一个语法树,分解出最基础的语法,将第一类型检测绕过数据和/或第二类型检测绕过数据转换为最基础、原始的目标攻击内容和/或目标回显加密方法。其中,语法分析为在词法分析的基础上将单词序列组合成各类语法短语,如“程序”、“语句”、“表达式”等
等,语法分析程序判断源程序在结构上是否正确,源程序的结构由上下文无关文法描述,语义分析为在语法分析的基础上,对结构上正确的源程序进行上下文有关性质的检查和类型检查等。
[0090]
为方便理解,下面举几个例子:
[0091]
a1、请求数据包含“w'ho'am'i'|ba\se\64”:
[0092]
请求数据包含“w'ho'am'i'|ba\se\64”,命令分隔符为|,可以提取出请求数据中的第一类型检测绕过数据和第二类型检测绕过数据,其中第一类型检测绕过数据为“w'ho'am'i'”,第二类型检测绕过数据为“ba\se\64”,将攻击检测绕过字符删除后,得到目标攻击内容为“whoami”,目标回显加密方法为“base64”,可以识别目标攻击内容的攻击意图为获取用户名信息,以及识别目标回显加密方法的攻击意图为将返回的用户名信息采用base64编码的方法加密。
[0093]
a2、请求数据包含“whoami|ba\se\64”:
[0094]
请求数据包含“whoami|ba\se\64”,命令分隔符为|,可以提取出请求数据中的第二类型检测绕过数据,第二类型检测绕过数据为“ba\se\64”,将攻击检测绕过字符删除后,可以得到目标回显加密方法为“base64”,且可以得到目标攻击内容为“whoami”,可以识别目标攻击内容的攻击意图为获取用户名信息,以及识别目标回显加密方法的攻击意图为将返回的用户名信息采用base64编码的方法加密。
[0095]
a3、请求数据包含“w'ho'am'i'|base64”:
[0096]
请求数据包含“w'ho'am'i'|base64”,命令分隔符为|,可以提取出请求数据中的第一类型检测绕过数据,第一类型检测绕过数据为“w'ho'am'i'”,将攻击检测绕过字符删除后,可以得到目标攻击内容为“whoami”,且可以得到目标回显加密方法为“base64”,可以识别目标攻击内容的攻击意图为获取用户名信息,以及识别目标回显加密方法的攻击意图为将返回的用户名信息采用base64编码的方法加密。
[0097]
b、若请求数据存在攻击检测绕过字符,但不具有命令分隔符。
[0098]
若请求数据存在攻击检测绕过字符,但不具有命令分隔符,则可以将请求数据中包括攻击检测绕过字符的数据确定为第一类型检测绕过数据;其中,第一类型检测绕过数据为绕过检测攻击内容的数据。确定为第一类型检测绕过数据之后,可以将攻击检测绕过字符从第一类型检测绕过数据中删除,以得到目标攻击内容。得到目标攻击内容之后,可以识别目标攻击内容的攻击意图。
[0099]
为了方便理解,下面举一个例子:请求数据包含“w'ho'am'i'”,可以第一类型检测绕过数据为“w'ho'am'i'”,将攻击检测绕过字符从第一类型检测绕过数据中删除后,可以得到目标攻击内容为“whoami”,可以识别目标攻击内容的攻击意图为获取用户名信息。
[0100]
305、识别响应数据是否具有攻击意图对应的攻击特征。
[0101]
确定请求数据的攻击意图之后,可以获取服务器根据请求数据向客户端返回的响应数据,获取服务器根据请求数据向客户端返回的响应数据之后,可以识别响应数据是否具有攻击意图对应的攻击特征,得到识别结果,若响应数据具有攻击意图对应的攻击特征,则执行步骤306,若响应数据不具有攻击意图对应的攻击特征,则执行步骤307。可以理解的是,不同的确定请求数据攻击意图的方法对应有不同的识别响应数据是否具有攻击特征的方法,根据步骤304的a、b两种确定攻击意图的方法,下面分别对a、b两种确定攻击意图的方
法对应的识别响应数据是否具有攻击特征的方法进行描述:
[0102]
a、若请求数据存在攻击检测绕过字符,且具有命令分隔符。
[0103]
得到目标攻击内容和目标回显加密方法之后,可以判断目标回显加密方法是否为预设可还原方法,若目标回显加密方法为预设可还原方法,则根据目标回显加密方法将响应数据进行解密还原,得到目标响应数据。得到目标响应数据之后,可以识别目标响应数据是否具有目标攻击内容对应的预设敏感特征,得到识别结果;其中,识别结果为是表示响应数据具有攻击意图对应的攻击特征,识别结果为否表示响应数据不具有攻击意图对应的攻击特征。比如,base64编码方法为预设可还原方法,md5编码方法非预设可还原方法。可以理解的是,每种目标攻击内容对应有预设敏感特征,比如目标攻击内容“whoami”的预设敏感特征可以为“admin”或“root”,具体此处不做限定。
[0104]
继续举步骤304中情况a1、a2和a3的例子:
[0105]
针对请求数据包含“w'ho'am'i'|ba\se\64”、请求数据包含“whoami|ba\se\64”和请求数据包含“w'ho'am'i'|base64”的情况,得到目标攻击内容和目标回显加密方法之后,可以判断出base64为预设可还原方法,则可以根据base64编码方法将响应数据进行解密还原,得到目标响应数据。得到目标响应数据之后,可以识别目标响应数据是否具有目标攻击内容“whoami”对应的预设敏感特征,得到识别结果;其中,识别结果为是表示响应数据具有攻击意图对应的攻击特征,识别结果为否表示响应数据不具有攻击意图对应的攻击特征。
[0106]
b、若请求数据存在攻击检测绕过字符,但不具有命令分隔符。
[0107]
得到目标攻击内容之后,可以识别响应数据是否具有目标攻击内容对应的预设敏感特征,得到识别结果;其中,识别结果为是表示响应数据具有攻击意图对应的攻击特征,识别结果为否表示响应数据不具有攻击意图对应的攻击特征。
[0108]
继续举步骤304中情况b的例子:
[0109]
针对请求数据包含“w'ho'am'i'”的情况,得到目标攻击内容“whoami”之后,可以识别响应数据是否具有目标攻击内容“whoami”对应的预设敏感特征“admin”或“root”等敏感特征,若具有预设敏感特征,则确定响应数据具有攻击意图对应的攻击特征,若不具有预设敏感特征,则确定响应数据不具有攻击意图对应的攻击特征。
[0110]
306、确定请求数据成功攻击服务器。
[0111]
307、确定请求数据未成功攻击服务器。
[0112]
308、不执行任何步骤。
[0113]
本实施例中的步骤306至步骤308与前述图2所示实施例中的步骤205至步骤207类似,具体此处不再赘述。
[0114]
本实施例中,可以获得客户端向服务器发送的请求数据,识别请求数据是否至少存在攻击检测绕过字符和回显加密数据之一,若存在,则确定请求数据的攻击意图,获取服务器根据请求数据向客户端返回的响应数据,识别响应数据是否具有攻击意图对应的攻击特征,得到识别结果,根据识别结果确定请求数据是否成功攻击服务器,若请求数据和/或响应数据使用各种手段更改或隐藏了字符串或正则表达式的攻击检测方法能检测的特征,依然可以确定请求数据的攻击意图,并判断响应数据是否具有攻击意图对应的攻击特征,依然可以确定请求数据是否成功攻击服务器,攻击检测的准确率较高。其次,随着攻击检测绕过方法的不断更新,预设攻击检测绕过条件也可以不断更新,通过语法语义方法还原攻
击意图,提高了还原攻击意图的可实现性,提高了攻击检测的准确性。
[0115]
二、若请求数据存在回显加密方法数据。
[0116]
本技术实施例中,若请求数据至少存在攻击检测绕过字符和回显加密方法数据之一,则确定请求数据的攻击意图的情况可以是,若请求数据存在回显加密方法数据,则确定请求数据的攻击意图。具体请参阅图4,图4为本技术实施例公开的又一种攻击检测方法的流程示意图,方法包括:
[0117]
401、获得客户端向服务器发送的请求数据。
[0118]
本实施例中的步骤401与前述图3所示实施例中的步骤301类似,具体此处不再赘述。
[0119]
402、对请求数据进行扫描,得到扫描数据。
[0120]
获得客户端向服务器发送的请求数据之后,可以对请求数据进行扫描,得到扫描数据。
[0121]
403、识别扫描数据是否存在回显加密方法数据,得到识别结果;其中,识别结果为是表示请求数据存在回显加密方法数据,识别结果为否表示请求数据不存在回显加密方法数据。
[0122]
得到扫描数据之后,可以识别扫描数据是否存在回显加密方法数据,得到识别结果;其中,识别结果为是表示请求数据存在回显加密方法数据,识别结果为否表示请求数据不存在回显加密方法数据。若请求数据存在回显加密方法数据,则执行步骤404,若请求数据不存在回显加密方法数据,则执行步骤408。其中,回显加密方法数据可以是“base64”或“md5”等回显加密方法数据,具体此处不做限定。
[0123]
404、确定请求数据的攻击意图。
[0124]
可以确定请求数据的攻击意图。
[0125]
具体的,确定请求数据的攻击意图的方法可以是,若请求数据存在回显加密方法数据,且具有命令分隔符,则可以根据命令分隔符从请求数据提取目标攻击内容和目标回显加密方法,提取目标攻击内容和目标回显加密方法之后,可以识别目标攻击内容的攻击意图,以及识别目标回显加密方法的攻击意图。其中,命令分隔符可以是|,还可以是(),还可以是其他符号,具体此处不做限定。
[0126]
为方便理解,下面举几个例子:
[0127]
若请求数据包含“ifconfig|md5sum”,则可以确定请求数据存在回显加密方法数据“md5”,且具有命令分隔符|,则可以根据命令分隔符|从请求数据提取目标攻击内容“ifconfig”和目标回显加密方法“md5”,可以识别出目标攻击内容“ifconfig”的攻击意图为查询主机的网络信息,可以识别出目标回显加密方法“md5”的攻击意图为将返回的主机的网络信息采用md5编码的方法加密。
[0128]
若请求数据包含“whoami|base64”,则可以确定请求数据存在回显加密方法数据“base64”,且具有命令分隔符|,则可以根据命令分隔符|从请求数据提取目标攻击内容“whoami”和目标回显加密方法“base64”,可以识别出目标攻击内容“whoami”的攻击意图为获取用户名信息,可以识别出目标回显加密方法“base64”的攻击意图为将返回的用户名信息采用base64编码的方法加密。
[0129]
若请求数据包含“base64encodechars(system(

ifconfig’))”,则可以确定请求
数据存在回显加密方法数据“base64”,且具有命令分隔符(),则可以根据命令分隔符()从请求数据提取目标攻击内容“ifconfig”和目标回显加密方法“base64”,可以识别出目标攻击内容“ifconfig”的攻击意图为查询主机的网络信息,可以识别出目标回显加密方法“base64”的攻击意图为将返回的主机的网络信息采用base64编码的方法加密。
[0130]
405、识别响应数据是否具有攻击意图对应的攻击特征。
[0131]
确定请求数据的攻击意图之后,可以获取服务器根据请求数据向客户端返回的响应数据,获取服务器根据请求数据向客户端返回的响应数据之后,可以识别响应数据是否具有攻击意图对应的攻击特征,得到识别结果,若响应数据具有攻击意图对应的攻击特征,则执行步骤406,若响应数据不具有攻击意图对应的攻击特征,则执行步骤407。
[0132]
其中,识别响应数据是否具有攻击意图对应的攻击特征的方法可以是先判断目标回显加密方法是否为预设可还原方法,得到判断结果,若目标回显加密方法为预设可还原方法,则根据目标回显加密方法将响应数据进行解密还原,得到目标响应数据,然后可以识别目标响应数据是否具有目标攻击内容对应的预设敏感特征,得到识别结果;其中,识别结果为是表示响应数据具有攻击意图对应的攻击特征,识别结果为否表示响应数据不具有攻击意图对应的攻击特征。若目标回显加密方法非预设可还原方法,则确定目标攻击内容和目标回显加密方法对应的目标加密特征,识别响应数据是否具有目标加密特征,得到识别结果;其中,识别结果为是表示响应数据具有攻击意图对应的攻击特征,识别结果为否表示响应数据不具有攻击意图对应的攻击特征。可以理解的是,不同的确定请求数据攻击意图的方法对应有不同的识别响应数据是否具有攻击特征的方法,根据步骤404的确定攻击意图的方法,下面分别对步骤404的确定攻击意图的方法对应的识别响应数据是否具有攻击特征的方法进行描述:
[0133]
继续举步骤404的例子:
[0134]
若请求数据包含“ifconfig|md5sum”,确定攻击意图为查询主机的网络信息并将返回的主机的网络信息采用md5编码的方法加密之后,可以确定出目标回显加密方法“md5”非预设可还原方法,则可以确定目标攻击内容“ifconfig”和目标回显加密方法“md5”对应的目标加密特征,识别响应数据是否具有目标加密特征,得到识别结果;若响应数据具有目标加密特征,则确定响应数据具有攻击特征,若响应数据不具有目标加密特征,则确定响应数据不具有攻击特征。
[0135]
若请求数据包含“whoami|base64”,确定攻击意图为获取用户名信息,且将返回的用户名信息采用base64编码的方法加密之后,可以确定出目标回显加密方法“base64”为预设可还原方法,则可以根据“base64”将响应数据进行解密还原,得到目标响应数据,可以识别响应数据是否具有目标攻击内容“whoami”对应的预设敏感特征“admin”或“root”等,若具有预设敏感特征,则确定响应数据具有攻击特征,若不具有预设敏感特征,则确定响应数据不具有攻击特征。
[0136]
若请求数据包含“base64encodechars(system(

ifconfig’))”,确定攻击意图为查询主机的网络信息并将返回的主机的网络信息采用base64编码的方法加密之后,可以确定出目标回显加密方法“base64”为预设可还原方法,则可以根据“base64”将响应数据进行解密还原,得到目标响应数据“inet 10.0.20.8netmask 255.255.252.0broadcast 10.0.23.255”,可以识别目标响应数据是否具有目标攻击内容“ifconfig”对应的预设敏感
特征“inet”、“netmask”和“broadcast”,得到识别结果,若具有预设敏感特征,则确定响应数据具有攻击特征,若不具有预设敏感特征,则确定响应数据不具有攻击特征。
[0137]
406、确定请求数据成功攻击服务器。
[0138]
407、确定请求数据未成功攻击服务器。
[0139]
408、不执行任何步骤。
[0140]
本实施例中的步骤406至步骤408与前述图2所示实施例中的步骤205至步骤207类似,具体此处不再赘述。
[0141]
本实施例中,可以获得客户端向服务器发送的请求数据,识别请求数据是否至少存在攻击检测绕过字符和回显加密数据之一,若存在,则确定请求数据的攻击意图,获取服务器根据请求数据向客户端返回的响应数据,识别响应数据是否具有攻击意图对应的攻击特征,得到识别结果,根据识别结果确定请求数据是否成功攻击服务器,若请求数据和/或响应数据使用各种手段更改或隐藏了字符串或正则表达式的攻击检测方法能检测的特征,依然可以确定请求数据的攻击意图,并识别响应数据是否具有攻击意图对应的攻击特征,依然可以确定请求数据是否成功攻击服务器,攻击检测的准确率较高。其次,随着攻击检测绕过方法的不断更新,预设攻击检测绕过条件也可以不断更新,通过语法语义方法还原攻击意图,提高了还原攻击意图的可实现性,提高了攻击检测的准确性。
[0142]
上面对本技术实施例中的攻击检测方法进行了描述,下面对本技术实施例中的攻击检测设备进行描述,请参阅图5,本技术实施例中的攻击检测设备一个实施例包括:
[0143]
获得单元501,用于获得客户端向服务器发送的请求数据;
[0144]
识别单元502,用于识别所述请求数据是否至少存在攻击检测绕过字符和回显加密数据之一;
[0145]
确定单元503,用于若存在,则确定所述请求数据的攻击意图;
[0146]
所述识别单元502,还用于获取所述服务器根据所述请求数据向所述客户端返回的响应数据,识别所述响应数据是否具有所述攻击意图对应的攻击特征,得到识别结果;
[0147]
所述确定单元504,还用于根据所述识别结果确定所述请求数据是否成功攻击所述服务器。
[0148]
本技术实施例中,可以获得客户端向服务器发送的请求数据,识别请求数据是否至少存在攻击检测绕过字符和回显加密数据之一,若存在,则确定请求数据的攻击意图,获取服务器根据请求数据向客户端返回的响应数据,识别响应数据是否具有攻击意图对应的攻击特征,得到识别结果,根据识别结果确定请求数据是否成功攻击服务器,若请求数据和/或响应数据使用各种手段更改或隐藏了字符串或正则表达式的攻击检测方法能检测的特征,依然可以确定请求数据的攻击意图,并判断响应数据是否具有攻击意图对应的攻击特征,从而确定客户端是否成功攻击服务器,攻击检测的准确率较高。
[0149]
下面请参阅图6,本技术实施例中攻击检测设备600的又一实施例包括:
[0150]
中央处理器601,存储器605,输入输出接口604,有线或无线网络接口603以及电源602;
[0151]
存储器605为短暂存储存储器或持久存储存储器;
[0152]
中央处理器601配置为与存储器605通信,并执行存储器605中的指令操作以执行前述图2至图4所示实施例中的方法。
[0153]
本技术实施例还提供了一种计算机可读存储介质,计算机可读存储介质包括指令,当指令在计算机上运行时,使得计算机执行前述图2至图4所示实施例中的方法。
[0154]
本技术实施例还提供了一种包含指令的计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行前述图2至图4所示实施例中的方法。
[0155]
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0156]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0157]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0158]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0159]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0160]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1