检测WAF拦截有效性的方法、装置以及存储介质与流程

文档序号:32072612发布日期:2022-11-05 03:15阅读:207来源:国知局
检测WAF拦截有效性的方法、装置以及存储介质与流程
检测waf拦截有效性的方法、装置以及存储介质
技术领域
1.本发明涉及信息安全技术领域,具体涉及一种检测waf拦截有效性的方法、装置以及存储介质。


背景技术:

2.web应用防火墙(web application firewall,简称waf),是通过执行一系列针对http/https的安全策略来专门为web应用服务器提供保护的一款产品。
3.相关技术中,可以通过软件探测waf设备的存活状态,从而确认waf是否启动,但无法对waf拦截的有效性做出判断。想要知道是否拦截了攻击请求,需要通过人工查看waf在遭受攻击时的响应信息来判断。
4.发明人认为,人工查看waf拦截的有效性需要花费太多人力,而且效率太低。


技术实现要素:

5.为了解决现有技术中的上述问题,本发明提出了一种检测waf拦截有效性的方法、装置以及存储介质,降低了人力成本,提高了检测效率。
6.本发明的第一方面,提出一种检测waf拦截有效性的方法,所述方法包括:在原始请求中加入攻击载荷,生成对应的攻击请求;向目标服务器发送所述原始请求,并接收第一响应结果;所述目标服务器为受所述waf保护的web服务器;向所述目标服务器发送所述攻击请求,并接收第二响应结果;根据所述第一响应结果和所述第二响应结果,判断所述攻击请求是否被拦截。
7.优选地,所述根据所述第一响应结果和所述第二响应结果,判断所述攻击请求是否被拦截,包括:若所述第一响应结果收到,且所述第二响应结果未收到,则根据发起攻击的tcp连接的状态判断所述攻击请求是否已被拦截;若所述第一响应结果和所述第二响应结果均收到,则根据所述第一响应结果与所述第二响应结果的内容判断所述攻击请求是否已被拦截。
8.优选地,所述根据发起攻击的tcp连接的状态判断所述攻击请求是否已被拦截,包括:若所述发起攻击的tcp连接出错,则确定所述攻击请求已被拦截;否则,判断所述发起攻击的tcp连接是否超时;若超时,则确定所述攻击请求已被拦截;否则,确定所述攻击请求疑似被拦截。
9.优选地,所述根据所述第一响应结果与所述第二响应结果的内容判断所述攻击请求是否已被拦截,包括:判断所述第一响应结果中的状态码与所述第二响应结果中的状态码是否相同;
若是,则根据所述第一响应结果与所述第二响应结果的内容相似度判断所述攻击请求是否已被拦截;否则,确定所述攻击请求已被拦截。
10.优选地,所述根据所述第一响应结果与所述第二响应结果的内容相似度判断所述攻击请求是否已被拦截,包括:利用模糊哈希算法计算所述第一响应结果与所述第二响应结果的内容相似度;若所述内容相似度小于或等于预设的阈值,则确定所述攻击请求已被拦截;否则,确定所述攻击请求未被拦截。
11.优选地,所述原始请求以及对应的所述攻击请求均为多个;所述方法还包括:记录所述攻击载荷对应的攻击类型和/或漏洞,以及所述攻击请求是否被拦截的判断结果。
12.本发明的第二方面,提出一种检测waf拦截有效性的装置,所述装置包括:攻击请求生成单元,用于在原始请求中加入攻击载荷,生成对应的攻击请求;原始请求发送及接收单元,用于向目标服务器发送所述原始请求,并接收第一响应结果;所述目标服务器为受所述waf保护的web服务器;攻击请求发送及接收单元,用于向所述目标服务器发送所述攻击请求,并接收第二响应结果;判断单元,用于根据所述第一响应结果和所述第二响应结果,判断所述攻击请求是否被拦截。
13.优选地,所述判断单元,具体配置为:若所述第一响应结果收到,且所述第二响应结果未收到,则根据tcp连接状态判断所述攻击请求是否已被拦截;若所述第一响应结果和所述第二响应结果均收到,则根据所述第一响应结果与所述第二响应结果的内容判断所述攻击请求是否已被拦截。
14.优选地,所述原始请求以及对应的所述攻击请求均为多个;所述装置还包括:记录单元,用于记录所述攻击载荷对应的攻击类型和/或漏洞,以及所述攻击请求是否被拦截的判断结果。
15.本发明的第三方面,提出一种计算机可读存储介质,存储有能够被处理器加载并执行如上面所述方法的计算机程序。
16.本发明具有如下有益效果:本发明提出的检测waf拦截有效性的方法,首先在正常的原始请求中加入攻击载荷,生成对应的攻击请求;然后分别向目标服务器发送原始请求和攻击请求,并接收对应的第一响应结果和第二响应结果;最后根据第一响应结果和第二响应结果,判断攻击请求是否被拦截。若第一响应结果收到且第二响应结果未收到,则根据发起攻击的tcp连接的状态判断攻击请求是否已被拦截;若第一响应结果和第二响应结果均收到,则根据第一响应结果与第二响应结果的内容判断攻击请求是否已被拦截。本发明给出了一种简单、高效的自动化测试方法,有效降低了人力成本,并大幅度提高了检测效率。
附图说明
17.图1是本发明的检测waf拦截有效性方法实施例一的主要步骤示意图;图2是本发明的检测waf拦截有效性方法实施例二的主要步骤示意图;图3是本发明的检测waf拦截有效性方法实施例三的主要步骤示意图;图4是本发明的检测waf拦截有效性的装置实施例的主要构成示意图。
具体实施方式
18.下面参照附图来描述本发明的优选实施方式。本领域技术人员应当理解的是,这些实施方式仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。
19.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本技术的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
20.需要说明的是,在本发明的描述中,术语“第一”、“第二”仅仅是为了便于描述,而不是指示或暗示所述装置、元件或参数的相对重要性,因此不能理解为对本发明的限制。另外,本发明中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
21.本发明在检测waf的拦截有效性时,采用一个或多个测试用例。其中,每个测试用例包括:一个原始请求,以及一个由原始请求加入攻击载荷后生成的攻击请求。先后向目标服务器发送上述两个请求,并接收对应的响应结果。然后,通过对比两个请求的响应结果,来对waf的拦截有效性做出判断。本发明实施例中的目标服务器是特指受waf保护的web服务器,在理想情况下,原始请求会正常通过waf并被目标服务器接收,而攻击请求会被waf拦截。
22.图1是本发明的检测waf拦截有效性方法实施例一的主要步骤示意图。如图1所示,本实施例的检测方法包括步骤a10-a40:步骤a10,在原始请求中加入攻击载荷,生成对应的攻击请求。
23.步骤a20,向目标服务器发送原始请求,并接收第一响应结果。
24.步骤a30,向目标服务器发送攻击请求,并接收第二响应结果。
25.步骤a40,根据第一响应结果和第二响应结果,判断攻击请求是否被拦截。
26.在一种可选的实施例中,可以有多个测试用例,因此原始请求以及对应的攻击请求均为多个。在步骤a40之后,还可以包括步骤a50:步骤a50,记录攻击载荷对应的攻击类型和/或漏洞,以及攻击请求是否被拦截的判断结果。
27.记录多种攻击对应的检测结果,有助于用户综合评估waf的拦截有效性。
28.图2是本发明的检测waf拦截有效性方法实施例二的主要步骤示意图。如图2所示,本实施例的检测方法包括步骤b10-b50:其中,步骤b10-b30与上述实施例一中的步骤a10-a30对应相同,此处不再赘述。
29.步骤b40,若第一响应结果收到且第二响应结果未收到,则根据发起攻击的tcp连
接的状态判断攻击请求是否已被拦截。
30.例如,若检测到发起攻击时tcp连接出现被重置、断开等错误或者是连接超时,则可以认为攻击请求已被拦截,否则认为疑似被拦截。
31.步骤b50,若第一响应结果和第二响应结果均收到,则根据第一响应结果与第二响应结果的内容判断攻击请求是否已被拦截。
32.如果第一响应结果和第二响应结果均未收到,说明网络故障或目标服务器故障,也可能是原始请求报文编写有问题。如果第一响应结果未收到但第二响应结果收到(这种情况理论上不会发生),也需要重新检查原始请求是否编写错误。
33.图3是本发明的检测waf拦截有效性方法实施例三的主要步骤示意图。如图3所示,本实施例的检测方法包括步骤c10-c90:其中,步骤c10-c30与上述实施例一中的步骤a10-a30对应相同,此处不再赘述。
34.步骤c40,判断是否第一响应结果收到且第二响应结果未收到;若是,则转至步骤c50;否则转至步骤c70。
35.步骤c50,判断发起攻击的tcp连接是否出错;若是,则确定攻击请求已被拦截;否则,转至步骤c60。
36.攻击发起时,若检测到tcp状态出错,如连接被重置(reset)或连接被断开(fin),将会判定为connectionerror,即连接出错。
37.步骤c60,判断发起攻击的tcp连接是否超时;若超时,则确定攻击请求已被拦截;否则,确定攻击请求疑似被拦截。
38.攻击发起时,若检测到目标服务器在预设的时间内未返回任何响应数据,则会判断为connectiontimeout,即连接超时。
39.步骤c70,判断第一响应结果和第二响应结果是否均收到;若是,则转至步骤c80;否则,程序结束,需要检查测试用例本身是否正确,或者检查网络是否通畅等其他情况。
40.步骤c80,判断第一响应结果中的状态码与第二响应结果中的状态码是否相同;若是,则转至步骤c90;否则,确定攻击请求已被拦截。
41.步骤c90,利用模糊哈希算法计算第一响应结果与第二响应结果的内容相似度。
42.如果waf拦截了攻击请求,则第二响应结果的内容是告警提示,所以两者的内容相似度低。
43.步骤c100,判断内容相似度是否小于或等于预设的阈值(本实施例中为97);若是,则确定攻击请求已被拦截;否则,确定攻击请求未被拦截。
44.上述实施例中虽然将各个步骤按照上述先后次序的方式进行了描述,但是本领域技术人员可以理解,为了实现本实施例的效果,不同的步骤之间不必按照这样的次序执行,其可以同时(并行)执行或以颠倒的次序执行,这些简单的变化都在本发明的保护范围之内。
45.基于与方法实施例相同的技术构思,本技术还提供了检测装置的实施例,下面进行具体说明。
46.图4是本发明的检测waf拦截有效性的装置实施例的主要构成示意图。如图4所示,本发明的检测装置包括:攻击请求生成单元10、原始请求发送及接收单元20、攻击请求发送及接收单元30、判断单元40。
47.其中,攻击请求生成单元10用于在原始请求中加入攻击载荷,生成对应的攻击请求;原始请求发送及接收单元20用于向目标服务器发送原始请求,并接收第一响应结果;目标服务器为受waf保护的web服务器;攻击请求发送及接收单元30用于向目标服务器发送攻击请求,并接收第二响应结果;判断单元用于根据第一响应结果和第二响应结果,判断攻击请求是否被拦截。
48.本实施例中,判断单元40可以具体配置为:若第一响应结果收到且第二响应结果未收到,则根据tcp连接状态判断攻击请求是否已被拦截;若第一响应结果和第二响应结果均收到,则根据第一响应结果与第二响应结果的内容判断攻击请求是否已被拦截。
49.在一种可选的实施例中,原始请求以及对应的攻击请求均为多个。检测装置还可以包括记录单元。记录单元用于记录攻击载荷对应的攻击类型和/或漏洞,以及攻击请求是否被拦截的判断结果。
50.进一步地,本发明还提供了一种计算机可读存储介质的实施例,存储有能够被处理器加载并执行如上面所述方法的计算机程序。
51.所述计算机可读存储介质例如包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
52.本领域技术人员应该能够意识到,结合本文中所公开的实施例描述的各示例的方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明电子硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以电子硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
53.至此,已经结合附图所示的优选实施方式描述了本发明的技术方案。但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征做出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1