误报检测方法、设备及可读存储介质与流程

文档序号:29450133发布日期:2022-03-30 11:42阅读:171来源:国知局
误报检测方法、设备及可读存储介质与流程

1.本技术涉及网络安全技术领域,特别涉及一种误报检测方法、设备及可读存储介质。


背景技术:

2.随着web应用的日益普遍,对web应用的网络攻击也越来越多,如跨站脚本攻击(cross site scripting,xss)、结构化查询语言(structured query language,sql)注入等。同时,web应用的系统及依赖的基础应用程序,出现的漏洞也是层出不穷。
3.网络应用防火墙(web application firewall,waf)是抵御对web应用的网络攻击的重要工具。waf处于用户与应用的后台服务器之间,对网络访问请求进行实时安全检测,阻断各种网络攻击请求。目前,waf主要基于规则进行防御,即由安全运营人员根据已知的安全漏洞、攻击案例,并结合自己的安全经验,从中抽象出特征数据,形成用于检测网络攻击的规则(即黑名单),最后配置到waf,实现安全检测与防御。
4.上述安全检测方法中,要求安全运营人员不仅有丰富的web攻防对抗经验,还要熟悉具体的业务场景,很多时候很难做出准确的判断,容易发生误报。


技术实现要素:

5.本技术实施例提供一种误报检测方法、设备及可读存储介质,通过搭建出分析模型,利用分析模型实现自动快速从海量数据中分析出误报的目的。
6.第一方面,本技术实施例提供一种误报检测方法,包括:
7.确定访问日志集合和攻击日志集合,所述攻击日志集合是所述访问日志集合的子集;
8.从所述攻击日志集合中确定出超文本传输协议http状态码为目标状态码、且拦截状态为预设状态的攻击日志以得到攻击子集;
9.根据所述攻击子集确定导致误报的安全策略。
10.第二方面,本技术实施例提供一种电子设备,包括:处理器、存储器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时使得所述电子设备实现如上第一方面或第一方面各种可能的实现方式所述的方法。
11.第三方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,所述计算机指令在被处理器执行时用于实现如上第一方面或第一方面各种可能的实现方式所述的方法。
12.本技术实施例提供的误报检测方法、设备及可读存储介质,waf自动确定访问日志集合并从访问日志集合中确定出攻击日志得到攻击日志集合,从攻击日志集合中确定出包含目标状态码且拦截状态为预设状态的攻击日志以得到攻击子集,对攻击子集中的攻击日志进行分析从而确定出导致误报的安全策略。采用该种方案,通过自动获取访问日志集合和攻击日志集合,对攻击日志中包含目标状态码和预设状态的攻击日志进行分析,自动确
定出导致误报的安全策略,不依赖运维人员,自动化程度高、效率高且准确率高。
附图说明
13.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
14.图1是本技术实施例提供的误报检测方法的实施环境示意图;
15.图2是本技术实施例提供的误报检测方法的流程图;
16.图3是本技术实施例提供的误报检测方法的另一个流程图;
17.图4是本技术实施例提供的误报检测方法的又一个流程图;
18.图5是本技术实施例提供的误报检测方法的又一个流程图;
19.图6是本技术实施例提供的误报检测方法的又一个流程图;
20.图7是本技术实施例提供的误报检测方法的又一个流程图;
21.图8是图7中步骤706的分解流程图;
22.图9是图7中步骤707的分解流程图;
23.图10是图7中步骤708的分解流程图;
24.图11是图7中步骤709的分解流程图;
25.图12为本技术实施例提供的一种误报检测装置的示意图;
26.图13为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
27.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
28.waf作为一种安全产品,主要用于保护各类网站业务。由于不同网站业务构成千差万别,业务与安全策略始终需要一个适配过程。适配过程中,最核心的工作就是误报分析和消除。
29.通常情况下,waf包括硬件waf和软件waf。硬件waf需要运维人员现场实施的现状很难改变。云waf作为一种云服务,防护对象通常是公开业务,流量和日志量更大。无论是硬件waf还是软件waf,往往由人工完成误报分析,要求运维人员不仅有丰富的web攻防对抗经验,还要求运维人员熟悉具体的业务场景,否则很多时候难以做出准确的判断。而且,依赖人工对海量数据分析从而得出误报的过程中,容易发生遗漏等。显然,依赖人工的误报分析成本高、效率低。
30.基于此,本技术实施例提供一种误报检测方法、设备及可读存储介质,通过自动获取访问日志集合和攻击日志集合,对攻击日志中包含目标状态码和预设状态的攻击日志进行分析,自动确定出导致误报的安全策略,不依赖运维人员,自动化程度高、效率高且准确率高。
31.图1是本技术实施例提供的误报检测方法的实施环境示意图。请参照图1,该实施环境包括:waf11、业务服务器12和终端设备13。waf11与业务服务器12、终端设备13之间分
别建立网络连接。
32.waf11可以是硬件waf也可以是软件waf。当waf11为硬件时,该waf11为单个服务器或多个服务器组成的分布式服务器集群。当waf11为软件时,可以为多个软件模块或单个软件模块等,本技术实施例并不限制。waf11每次接收到来自终端设备13的业务请求后,利用安全策略对业务请求进行检测。若业务请求通过检测,则将业务请求转发给业务服务器12,由业务服务器12响应该业务请求,同时,waf11针对该业务请求生成访问日志,访问日志为用于记录安全检测相关信息的原始文件。
33.访问日志包含时间字段、域名字段、http请求头字段、攻击类型字段、拦截状态字段等。其中,时间字段用于指示访问日志的生成时间、域名字段用于指示访问日志对应的业务请求携带的域名、http请求字段例如为accept、accept-encoding等,攻击类型字段用attack_type表示,当attack_type的值为waf_none时,表示业务请求为正常请求,当attack_type的值为其他枚举值时,表明业务请求为攻击请求。拦截状态字段用act标识,拦截状态字段也称之为处理动作字段。
34.为了便于后续的误报分析,waf11通过elk技术等将非结构化的访问日志结构化为标准文件,如结构化为标准的json文件,并将json文件存储在搜索服务器中,搜索服务器例如是es集群等。采用该种方案,通过将访问日志集合中的各访问日志结构化为标准文件,便于后续确定攻击类型、拦截状态等,实现快速确定出导致误报的安全策略的目的。
35.waf11上存储多个攻击类型的安全策略。对于每一个攻击类型,waf11能够利用多条安全策略进行检测,每条安全策略具有一个策略标识。若一个业务请求为攻击请求,则该业务请求肯定是未通过某条安全策略的检测,该业务请求的访问中包含安全策略的策略标识。例如,waf11用100条安全策略检测一个业务请求是否为sql注入,若该业务请求未通过第50条安全策略的检测,则该业务请求为sql注入,该业务请求的访问日志中包含第50条安全策略的策略标识。
36.waf11每次对业务请求进行安全检测时,若该业务请求通过安全检测,则访问日志中攻击类型字段(attack_type)的值为waf_none,拦截状态(act)字段的值为0,表示waf11认为业务请求是安全请求,未拦截该业务请求。
37.若业务请求未通过检测,则waf11拦截该业务请求,拦截业务请求也称之为阻断业务请求。同时,waf11针对该业务请求生成访问日志,该访问日志中攻击类型字段(attack_type)的值不是waf_none,而是其他枚举值,拦截状态(act)字段的值为1,表示waf11认为该业务请求为攻击请求,且已拦截该业务请求。被拦截的业务请求称之为攻击请求。相应的,攻击请求对应的访问日志称之为攻击日志。
38.若业务请求未通过检测,但是waf11并未拦截该业务请求。这种情况下,waf11生成的访问日志中,攻击类型字段(attack_type)的值不是waf_none,而是其他枚举值,拦截状态(act)字段的值为2,表示waf11认为该业务请求为攻击请求,但并未拦截该业务请求,而是仅产生告警。
39.误报分析过程中,waf11根据分析请求从多条历史访问日志中筛选出符合分析请求的访问日志得到访问日志集合,从访问日志集合中筛选出攻击日志,进而从攻击日志中得到包含目标状态码和拦截状态为预设状态的攻击日志得到攻击子集,根据攻击子集确定出导致误报的安全策略。其中,拦截状态为预设状态是指act字段的值为预设值,比如act=
1或act=2等。
40.业务服务器12可以是硬件也可以是软件。当业务服务器12为硬件时,该业务服务器12为单个服务器或多个服务器组成的分布式服务器集群。当业务服务器12为软件时,可以为多个软件模块或单个软件模块等,本技术实施例并不限制。业务服务器12为实际提供响应业务请求的服务器,业务服务器12和waf11可以为物理上独立的两类服务器,也可以为逻辑上独立的两类服务器,即可以部署在同一台物理机上。
41.终端设备13可以是硬件也可以是软件。当终端设备13为硬件时,终端设备13例如为手机、平板电脑、电子书阅读器、膝上型便携电脑、台式计算机、服务器等。当终端设备13为软件时,其可以安装在上述列举的硬件设备中,此时,终端设备13例如为多个软件模块或单个软件模块等,本技术实施例并不限制。
42.应当理解的是,图1中的waf11、业务服务器12和终端设备13的数量仅仅是示意性的。实际实现中,根据实际需求部署任意数量的waf11、业务服务器12和终端设备13。
43.下面,基于图1所示实施环境,对本技术实施例提供的误报检测方法进行详细说明。示例性的,请参照图2。
44.图2是本技术实施例提供的误报检测方法的流程图。本实施例是从waf11的角度进行说明。本实施例包括:
45.201、确定访问日志集合和攻击日志集合,所述攻击日志集合是所述访问日志集合的子集。
46.waf11用于对访问业务服务器的业务请求进行安全检测。误报分析过程中,waf11可以对该业务服务器的所有业务的误报进行分析,也可以分析部分业务的误报。例如,访问日志集合中的访问日志是一段时间内针对该业务服务器的所有业务请求进行安全检测得到的日志,即访问日志为全量日志。再如,访问日志集合中的访问日志是部分域名相关的访问日志,比如,一个业务服务器的域名包括www.xxx.com、pic.xxx.com、vedio.xxx.com,但是访问日志集合中的访问日志仅包括www.xxx.com、pic.xxx.com相关的访问日志。
47.waf根据预设规则或运维人员的指示从多条历史访问日志中确定出符合分析条件的访问日志以得到访问日志集合,并从访问日志集合中确定出攻击日志以得到攻击日志集合。例如,waf确定出访问日志集合后,从访问日志集合包含的访问日志中确定出攻击类型字段的值不为waf_none的访问日志,而是为其他枚举值的访问日志,根据该些访问日志得到攻击日志集合。其中,多条历史访问日志是waf对来自终端设备的、访问业务服务器的访问请求进行安全检测产生的访问日志。
48.可选的,waf接收来自终端设备的分析请求,所述分析请求携带待分析的客户标识、待分析的时间范围、待分析的域名和预设攻击类型的标识中的至少一个。之后,waf根据所述分析请求查询历史访问日志以得到所述访问日志集合。
49.示例性的,运维人员在终端设备上输入待分析的客户标识、待分析的时间范围、待分析的域名和预设攻击类型的标识等中的至少一个。终端设备根据用户的输入得到分析请求,并将该分析请求发送给waf。waf根据分析请求查询历史访问日志,得到符合分析请求的历史访问日志,进而得到访问日志集合。
50.其中,客户标识例如为xxx等,待分析的时间范围例如为最近24小时、最近3天、最近10天等,本技术实施例并不限制。待分析的域名例如为一个泛域名,比如*.xxx.com。waf
得到泛域名后,自动根据泛域名确定出真实域名,比如pic.xxx.xom、vedio.xxx.com等。另外,运维人员也可以将具体的域名发送给waf,比如www.xxx.com。
51.预设攻击类型的值即为waf_none外的其他枚举值,通常表示为attack_type=waf.*,比如waf_force_cracking、waf_dynamic_black_ip等。
52.采用该种方案,通过灵活设置待分析的客户表示、待分析的域名等,实现针对性的检测误报的目的。
53.通常情况下,多条历史访问日志为海量日志,包含非攻击请求的访问日志、攻击请求的访问日志。而且,攻击请求的攻击日志中,一些攻击日志一定不是误报,而另一些攻击日志可能是误报的攻击请求的日志。可选的,为了加快误报检测速度,waf从所述访问日志集合包含的攻击日志中过滤掉符合黑名单,和/或,符合预设安全策略的攻击日志,根据剩余的攻击日志得到所述攻击日志集合。
54.示例性的,waf从攻击日志中排除掉不会误报的攻击类型对应的攻击日志。例如,waf本地存储黑名单(waf_dynamic_black_ip),该黑名单中存储一些ip地址,若一个攻击日志中的ip地址命中黑名单,即攻击日志中的ip地址是黑名单记录的ip地址,则waf确定该攻击日志对应的攻击请求是真正的攻击请求,不是误报,因此,waf过滤掉这条攻击日志。
55.再如,waf上存储一些攻击类型的值,若一条攻击日志中攻击类型的值为预设值,则waf确定该攻击日志对应的攻击请求是真正的攻击请求,不是误报,因此,waf过滤掉这条攻击日志。其中,攻击类型的值用attack_type=waf.*表示,包括waf_force_cracking、waf_dunamic_black_ip、waf_invalid、waf_crawler、waf_ip_ol、waf_co_ol等。
56.采用该种方案,通过过滤掉一些肯定不是误报导致的攻击日志,仅对剩余攻击日志进行分析,实现快速确定出导致误报的安全策略的目的。
57.202、从所述攻击日志集合中确定出超文本传输协议http状态码为目标状态码、且拦截状态为预设状态的攻击日志以得到攻击子集。
58.示例性的,攻击日志集合包含的攻击日志包括拦截状态为已拦截、未拦截但告警等,http状态码包括200、301、403等。其中,拦截状态通常用act字段表示,act=1表示waf认为该攻击日志对应的业务请求为攻击请求,且waf已拦截该业务请求。act=2表示waf认为该攻击日志对应的业务请求为攻击请求,但waf并未拦截该业务请求只是产生告警。
59.waf从攻击日志中确定出符合一定条件的攻击日志从而得到攻击子集。例如,waf从攻击日志集合中确定出拦截状态为“已拦截”、http状态码为403的攻击日志,从而得到攻击子集,以下将该攻击子集称之为第一攻击子集。再如,waf确定拦截状态为“未拦截但已告警”、包含200、301、302、304中的任意一个状态码的攻击日志,从而得到攻击子集,以下将该攻击子集称之为第二攻击子集。
60.第一攻击子集的误报概率远远小于第二攻击子集的误报概率,对这两种攻击子集的误报分析过程中,分析条件、分析逻辑具有一定的差别。采用该种方案,通过将攻击日志集合中的攻击日志划分为不同的攻击子集,对不同的攻击子集采用不同的分析条件、分析逻辑等,针对性高、能够准确分析出导致误报的安全策略。
61.203、根据所述攻击子集确定导致误报的安全策略。
62.示例性的,waf对攻击子集中各攻击日志的ip、url等进行分析,从而确定出导致误报的安全策略。可选的,waf对攻击子集的分析过程中,还可以结合访问日志集合中的访问
日志进行分析。
63.本技术实施例提供的误报检测方法,waf自动确定访问日志集合并从访问日志集合中确定出攻击日志得到攻击日志集合,从攻击日志集合中确定出包含目标状态码且拦截状态为预设状态的攻击日志以得到攻击子集,对攻击子集中的攻击日志进行分析从而确定出导致误报的安全策略。采用该种方案,通过自动获取访问日志集合和攻击日志集合,对攻击日志中包含目标状态码和预设状态的攻击日志进行分析,自动确定出导致误报的安全策略,不依赖运维人员,自动化程度高、效率高且准确率高。
64.可选的,上述实施例中,waf根据攻击日志集合中各攻击日志中的http状态码和拦截状态,从攻击日志中集合中确定出两个攻击子集,即上述的第一攻击子集和第二攻击子集。
65.第一攻击子集:http状态码=403,拦截状态字段,即act=1。
66.第二攻击子集:http状态码=200、301、302、304中的任意一个,act=2。
67.第一攻击子集包含waf识别为攻击且已拦截的攻击请求对应的攻击日志,通过对第一攻击子集进行分析,能够确定哪些安全策略触发waf将一个正常的业务请求拦截。
68.第二攻击子集中包含waf识别为攻击但未拦截仅告警的攻击请求对应的攻击日志,通过对第二攻击子集进行分析,能够确定出哪些安全策略触发waf将一个正常的业务请求识别为攻击请求但未拦截而是仅产生告警。
69.可选的,上述实施例中,无论是根据第一攻击子集确定导致误报的安全策略,还是根据第二攻击子集确定导致误报的安全策略,waf都可以从ip粒度、统一资源定位符(uniform resource locator,url)粒度和攻击类型粒度中的至少一个分析粒度进行分析。分析过程中,waf先确定具体的分析粒度,然后分析攻击子集,以针对所述分析粒度确定出导致误报的安全策略。其中,攻击子集例如为上述的第一攻击子集或第二攻击子集。
70.采用该种方案,通过对攻击子集进行不同分析粒度的分析,实现针对不停分析粒度确定出导致误报的安全策略的目的。
71.通常情况下,在waf版本未进行升级和稳定运营的情况下,有两种场景可能出现waf误报。一种场景中,安全策略变更,例如,为了防御新型web安全漏洞、新型攻击等,紧急上线新的安全策略。再如,为了更精确识别和防御某类web攻击,对现有的安全策略进行修改从而导致误报。
72.另一种场景中,waf保护的业务服务器上的业务发生变更。例如,新业务上线未经过严格验证而直接开启waf阻断。再如,现有业务接口发生变更后出发waf安全策略。
73.本技术实施例中,无论是对第一攻击子集的分析,还是对第二攻击子集的分析,旨在确定出上述两种场景中出现的误报。
74.图3是本技术实施例提供的误报检测方法的另一个流程图。本实施例包括:
75.301、waf接收来自终端设备的分析请求。
76.该分析请求携带待分析的客户标识、待分析的时间范围、待分析的域名和预设攻击类型的值中的至少一个。
77.302、waf根据分析请求确定访问日志集合。
78.示例性的,waf从多条历史访问日志中筛选出符合分析请求的访问日志,得到访问日志集合。
79.303、waf从访问日志集合中过滤掉符合黑名单,和/或,攻击类型的值为预设值的攻击日志,根据剩余的攻击日志得到所述攻击日志集合。
80.304、waf从攻击日志集合中确定出攻击子集。
81.攻击子集包括上述的第一攻击子集或第二攻击子集。
82.305、waf根据所述攻击子集确定导致误报的安全策略。
83.可选的,步骤305包括步骤3051、步骤3052和步骤3053中的至少一个。
84.3051、waf按照ip粒度分析攻击子集以确定出导致误报的安全策略。
85.该流程旨在通过分析每个ip正常的业务请求和攻击请求的行为特征,识别出误报。
86.3052、waf按照攻击类型粒度分析攻击子集以确定出导致误报的安全策略。
87.当业务服务器上的业务变更或waf上存储的安全策略更新时,如果出现误报,则误报数据往往集中在同一类攻击类型。因此,基于攻击类型的误报分析旨在确定误报数据集中的攻击类型,进而针对该攻击类型确定出导致误报的安全策略。
88.3053、waf按照url粒度分析攻击子集以确定出导致误报的安全策略。
89.当业务服务器上某个业务变更时,容易出现误报集中于变更的url,而正常的攻击行为url通常表现为较为分散。因此,基于url粒度的误报分析能够识别业务变更导致的误报。
90.下面,对步骤3051、步骤3052和步骤3053分别进行详细说明。另外,以下若未做特殊说明,则攻击子集可以是上述的第一攻击子集,也可以是上述的第二攻击子集。
91.图4是本技术实施例提供的误报检测方法的又一个流程图,本实施例中,waf按照ip粒度分析攻击子集以确定出导致误报的安全策略。本实施例包括:
92.401、waf从所述攻击子集包含的各攻击日志中提取出ip地址,以得到至少一个ip地址。
93.示例性的,每条攻击日志中都包含ip字段,有些攻击日志包含ip字段的值相同,有些攻击日志包含的ip字段的值不同。waf根据从各攻击日志中提取出出的ip地址得到至少一个ip地址,至少一个ip地址中的任意两个ip地址不相同。例如,攻击子集中一共有50条攻击日志,其中第1-10条攻击日志包含相同的ip地址,第11-20条攻击日志包含相同的ip地址,第21-50条攻击日志包含相同的ip地址,则至少一个ip地址包含3个不同的ip地址。
94.402、对于所述至少一个ip地址中的每个ip地址,根据所述ip地址查询所述访问日志集合以确定出各ip地址对应的第一访问子集。
95.其中,所述第一访问子集中的访问日志包含对应的ip地址,且所述第一访问子集中的各访问日志位于目标时间段范围内,所述目标时间段根据所述攻击子集中首个包含对应ip地址的攻击日志确定出。
96.对于多个ip地址中的每个ip地址,攻击子集中可能存在多个包含该ip地址的攻击日志,waf按照各攻击日志产生时间的先后顺序对该些攻击日志排序,根据排序确定出首个包含该ip的攻击日志,进而根据该攻击日志确定出目标时间段,目标时间段指示的时间范围为该攻击日志前后1小时,共2小时的时间范围。之后,waf从访问日志集合中确定出位于该时间段范围内,且包含对应ip地址的访问日志,从而得到一个ip地址的第一访问子集。
97.继续沿用上面的例子,假设3个ip地址分别为ip1、ip2和ip2。以ip1为例,waf从攻
击子集中确定出首个包含ip1的攻击日志,根据首个包含ip1的攻击日志确定出目标时间范围。之后,从访问日志集合中确定出位于该目标时间范围且包含ip1的访问日志,该些访问日志即为ip1的第一访问子集。显然,第一访问子集中的访问日志包括针对ip1的正常业务请求的访问日志以及攻击请求的攻击日志。
98.同理,waf能够获取到ip2的第一访问子集和ip3的第一访问子集。
99.403、waf根据所述至少一个ip地址中每个ip地址的第一访问子集,从所述至少一个ip地址中确定出目标ip地址,所述目标ip地址的第一访问子集符合预设条件。
100.示例性的,至少一个ip地址中,如果存在一个ip地址,该ip地址的第一访问子集符合预设条件,则将该ip地址作为目标ip地址,针对目标ip地址进行下一步分析以确定出导致误报的安全策略。若至少一个ip地址中不存在目标ip地址,则认为没有误报,即攻击子集中的每个攻击日志对应的攻击请求都是真正的攻击请求,并不是将正常业务请求误识别为攻击请求产生的。
101.404、针对所述目标ip地址,确定导致误报的安全策略。
102.示例性的,针对目标ip地址,waf继续分析包含目标ip地址的攻击日志的攻击类型字段等,从而确定出针对目标ip地址导致误报的安全策略。
103.采用该种方案,从至少一个ip地址中确定出可能产生误报的目标ip地址,仅对目标ip地址分析导致误报的安全策略,分析速度快,针对性强。
104.可选的,上述实施例中,当攻击子集为第一攻击子集时,误报情况下,正常的业务请求量远大于被waf拦截的业务请求量。因此,针对第一攻击子集,预设条件为:所述第一访问子集中访问日志的数量与所述攻击子集中包含所述目标ip地址的攻击日志的数量的比值超过第一阈值。该第一阈值例如为10等,本技术实施例并不限制。
105.当至少一个ip地址中存在目标ip地址时,waf统计目标ip地址对应的攻击类型的种类。统计过程中,waf从包含目标ip地址的攻击日志中提取出攻击类型,以得到至少一个攻击类型。之后,waf确定攻击类型的种类。当至少一个攻击类型对应的种类小于或等于第二阈值时,确定所述第一访问子集中各访问日志包含的策略标识对应的安全策略为导致误报的安全策略,之后,输出导致误报的安全策略的策略标识。
106.示例性的,由于误报情况下,终端设备,即客户端侧只会触发少量的攻击类型。因此,当目标ip地址的攻击类型的种类小于或等于第二阈值时,可以判断出目标ip地址是一个发生误报的ip地址,此时,waf输出目标ip地址及导致误报的安全策略的策略标识。
107.例如,第一攻击子集中共有10个包含目标ip地址的攻击日志,其中5个攻击日志的攻击类型为sql输入,另外5个攻击日志的攻击类型为xxs,则一共有两种攻击类型,即攻击类型的种类为2种。假设第二阈值为2,则waf认为:针对目标ip地地址,目标ip地址的第一访问子集中各访问日志包含的策略标识对应的安全策略均为导致误报的安全策略。
108.需要说明的是,虽然上述是以统计攻击类型的种类时,针对的是第一攻击子集中包含目标ip地址的攻击日志。然而,本技术实施例并不限制,其他可行的实现方式中,也可以根据目标ip地址的第一访问子集统计攻击类型的种类。
109.采用该种方案,通过对waf已拦截的攻击请求进行ip粒度的分析,实现从已拦截的攻击请求触发的安全策略中确定出导致误报的安全策略的目的。
110.可选的,上述实施例中,当攻击子集为第二攻击子集时,误报情况下,客户端访问
比较丰富,一个特征就是访问数比较多。因此,针对第二攻击子集,预设条件为:第一访问子集中访问日志的数量大于第三阈值,第三阈值例如为20等,本技术实施例并不限制。若一个ip地址的访问数大于第三阈值,则说明该ip地址的访问数比较多,可能是一个发生误报的ip地址。因此,将该ip地址作为目标ip地址进行下一步分析,该目标ip地址也称之为可疑ip地址等。waf通过第三阈值,可以有效筛选出目标ip地址。
111.筛选出目标ip地址后,waf统计目标ip地址对应的攻击类型的种类,以得到至少一个攻击类型。之后,waf确定攻击类型的种类,以及每种攻击类型对应的攻击数量。当至少一个攻击类型对应的种类小于或等于第四阈值,且至少一个攻击类型中每种攻击类型的攻击数量大于第五阈值时,waf确定所述第一访问子集中各访问日志包含的策略标识对应的安全策略为导致误报的安全策略。
112.示例性的,由于误报情况下,客户端只会触发少量的攻击类型,且攻击数量大于第五阈值。因此,当目标ip地址的攻击类型的种类小于或等于第四阈值,且每种攻击类型的攻击数量大于第五阈值时,可以判断目标ip地址是一个发送误报的ip地址。此时,waf输出目标ip以及导致误报的安全策略的策略标识。
113.例如,第一攻击子集中有12个包含目标ip地址的攻击日志,其中6个攻击日志的攻击类型为sql输入,另外6个攻击日志的攻击类型为xxs,则一共有两种攻击类型。假设第四阈值为2,第五阈值为5,则waf认为:针对目标ip地址,目标ip地址的第一访问子集中各访问日志包含的策略标识对应的安全策略均为导致误报的安全策略。
114.需要说明的是,虽然上述是以统计攻击类型的种类时,针对的是第一攻击子集中包含目标ip地址的攻击日志。然而,本技术实施例并不限制,其他可行的实现方式中,也可以根据目标ip地址的第一访问子集统计攻击类型的种类。
115.采用该种方案,通过对waf未拦截但告警监督的攻击请求进行ip粒度的分析,实现从未拦截的攻击请求触发的安全策略中确定出导致误报的安全策略的目的。
116.可选的,上述实施例中,当攻击种类大于第四阈值时,也有可能发生误报。误报时,某种攻击类型的占比较大。未发生误报时,各种攻击类型分布均匀。因此,waf计算每种攻击类型的占比,根据占比确定导致误报的安全策略。也就是说,当攻击子集为第二攻击子集且存在目标ip地址时,waf针对目标ip地址确定出至少一个攻击类型对应的种类和每种攻击类型的攻击数量后,当所述至少一个攻击类型对应的种类大于第四阈值,和/或,所述至少一个攻击类型中存在攻击数量小于或等于第五阈值的攻击类型时,确定所述至少一个攻击类型中每种攻击类型的占比。之后,针对目标ip地址,当所述至少一个攻击类型中存在占比大于第六阈值的攻击类型时,从所述第一访问子集中确定出包含占比大于第六阈值的攻击类型的访问日志,并提取出策略标识,以得到导致误报的安全策略。
117.例如,第一攻击子集中有12个包含目标ip地址的攻击日志,其中10个攻击日志的攻击类型为sql输入,1个攻击日志的攻击类型为xxs,1个攻击日志的攻击类型为跨站域请求伪造(cross site request forgery,csrf),则一共有3中攻击类型。假设第六阈值为80%,则waf认为:针对目标ip地址,第一访问子集中攻击类型为csrf的访问日志包含的策略标识指示的安全策略为导致误报的安全策略。
118.采用该种方案,当waf确定出存在占比超过第六阈值的攻击类型,将第一访问子集中该攻击类型对应的策略标识对应的安全策略作为导致误报的安全策略,能够有效识别出
导致误报的安全策略。
119.图5是本技术实施例提供的误报检测方法的又一个流程图,本实施例中,waf按照攻击类型粒度分析攻击子集以确定出导致误报的安全策略。本实施例包括:
120.501、waf从攻击子集包含的各攻击日志中提取出攻击类型,以得到至少一个攻击类型。
121.示例性的,每条攻击日志都包含攻击类型字段,且攻击类型字段的值不是waf_none,而是为其他枚举值。有些攻击日志包含的攻击类型字段的值相同,有些攻击日志包含的攻击类型字段的值不同。waf根据从各攻击日志中提取出出的攻击类型得到至少一个攻击类型,至少一个攻击类型中的任意两个攻击类型不相同。例如,攻击子集中一共有50条攻击日志,其中第1-10条攻击日志中攻击类型字段的值为攻击类型1,第11-20条攻击日志中攻击类型字段的值为攻击类型2,第21-50条攻击日志中攻击类型字段的值为攻击类型3,则至少一个攻击类型包含3个不同的攻击类型,分别为攻击类型1、攻击类型2和攻击类型3。
122.502、针对所述至少一个攻击类型中的目标攻击类型,从包含所述目标攻击类型的攻击日志中提取出策略标识,以得到至少一个策略标识。
123.其中,所述目标攻击类型是所述至少一个攻击类型中,占比超过第七阈值,且对应的攻击日志的数量大于第八阈值的攻击类型;
124.实际实现中,可根据需求设置第七阈值和第八阈值的大小。例如,当攻击子集为第一攻击子集时,第七阈值为30%,第八阈值为50。当攻击子集为第二攻击子集时,第七阈值为20%,第八阈值为100。当一个攻击类型的占比大于第七阈值,且攻击数量大于第八阈值时,说明一段时间内,waf识别到的攻击集中于此攻击类型,误报可能性比较高。设置第七阈值的目的在于筛选出占比较高,即较为集中的攻击类型。设置第八阈值的目的在于过滤掉攻击数量较少的攻击类型。过滤掉的数据可通过ip分析或url分析进行补充分析。
125.假设攻击子集中共有100条攻击日志,其中,20条攻击日志的攻击类型的字段值为攻击类型1,20条攻击日志的攻击类型字段值为攻击类型2,其余60条攻击日志中攻击类型的字段值为攻击类型3,则一共有3中攻击类型,分别为攻击类型1、攻击类型2和攻击类型3,占比分别为20%、20%和60%,攻击数量分别为20、20、60。假设第七阈值为30%、第八阈值为50,显然,攻击类型3为目标攻击类型。
126.waf继续从攻击子集中各包含攻击类型3的攻击日志中提取出策略标识。由于对于每个攻击类型,waf用多条安全策略检测,因此,60条攻击日志中,可能会存在多条安全策略的策略标识。
127.503、针对所述目标攻击类型,根据所述至少一个策略标识确定导致误报的安全策略。
128.示例性的,针对目标攻击类型,waf继续分析包含目标攻击类型的攻击日志的策略标识字段等,从而确定出针对目标攻击类型导致误报的安全策略。
129.采用该种方案,从至少一个攻击类型中确定出可能产生误报的目标攻击类型,仅对目标攻击类型分析导致误报的安全策略,分析速度快,针对性强。
130.可选的,按照攻击类型确定导致误报的安全策略的过程中,waf针对目标攻击类型,确定出至少一个策略标识后,确定各策略标识的占比,将占比超过第九阈值的策略标识作为目标策略标识。这是因为当某个策略标识的占比超过第九阈值时,说明此策略为导致
误报的安全策略的可能性比较高。
131.例如,目标攻击类型为sql注入,一共有60条攻击类型的字段值为sql注入的攻击日志,其中40条的攻击日志命中的安全策略的策略标识为策略a,10条攻击日志命中的安全策略的策略标识为策略b,10条攻击日志命中的安全策略的策略标识为策略c。假设第九占比为50%,则策略a为占比大于50%,策略a为目标策略标识。
132.接着,waf从攻击子集中确定出包含所述目标安全策略的攻击日志以得到第二访问子集。显然,第二访问子集中各访问日志均为攻击日志。第二访问子集例如为上述的策略标识为策略a的40条访问日志形成的集合。
133.之后,waf从第二访问子集包含的各访问日志中提取ip地址,以得到至少一个ip地址。
134.继续沿用上述的例子:攻击子集中一共有40条包含目标安全策略的攻击日志,假设该40条攻击日志中每10条攻击日志包含相同的ip地址,则一共有4个ip地址。
135.最后,针对所述目标攻击类型,waf根据所述至少一个ip地址中的每个ip地址确定导致误报的安全策略。
136.采用该种方案,由于一个攻击类型会通过多条安全策略检测,确定出目标攻击类型后,进一步的从多条安全策略的标识中确定出目标策略标识,再进一步的根据目标策略标识反查访问日志集合以确定出导致误报的安全策略,准确度高、速度快。
137.可选的,上述实施例中,waf确定出至少一个ip地址后,根据所述至少一个ip地址中的每个ip地址查询所述访问日志集合,以确定出第三访问子集,所述第三访问子集中的访问日志包含所述至少一个ip地址中的任意一个ip地址。针对所述目标攻击类型,当所述第三访问子集为空时,waf确定所述第二访问子集中各访问日志包含的策略标识对应的安全策略为导致误报的安全策略。
138.继续沿用上述的例子,waf确定出4个ip地址,分别用这4个ip地址中的每个ip地址反查访问日志集合,找出包含该4个ip地址中任意一个ip地址的访问日志从而得到第三访问子集。若第三访问子集为空,则确定所述第二访问子集中各访问日志包含的策略标识对应的安全策略为导致误报的安全策略。即针对目标攻击类型,上述的策略a为导致误报的安全策略。
139.本技术实施例中,可以预先设定访问日志的存储期限,例如,存储期限为7天,则表示:一条访问日志产生后,7天后自动删除。因此,若分析请求中携带的待分析的时间范围比较早,则有可能产生第三访问子集为空的情况。
140.采用该种方案,实现准确确定出导致误报的安全策略的目的。
141.可选的,上述实施例中,当攻击子集为第一攻击子集,且第三访问子集不为空时,waf从第三访问子集包含的访问日志中提取出各攻击类型,以得到至少一个攻击类型。之后,waf确定该些攻击类型对应的种类是否小于第十阈值,若攻击类型的种类小于第十阈值,则确定所述第三访问子集中各访问日志包含的策略标识对应的安全策略为导致误报的安全策略。
142.示例性的,当存在目标策略标识时,waf根据该目标策略标识确定至少一个ip地址,利用该些ip地址反查访问日志,得到第三访问子集后,进一步提取第三访问子集中各访问日志的攻击类型,从而统计出攻击类型的种类,当攻击类型的种类很少,即小于或等于第
十阈值时,认为是误报的可能性比较高。由于典型攻击场景——恶意扫描场景中,典型特征为某一个攻击类型的数量特别多,但是攻击类型的种类也很多。因此,通过设置第十阈值,可以有效识别出恶意扫描场景中导致误报的安全策略。
143.采用该种方案,通过对waf已拦截的攻击请求进行攻击类型粒度的分析,实现从已拦截的攻击请求触发的安全策略中准确确定出导致误报的安全策略的目的。
144.可选的,上述实施例中,当攻击子集为第二攻击子集,且第三访问子集不为空时,waf从第三访问子集包含的访问日志中确定出非攻击的业务请求对应的访问日志,进一步确定非攻击的业务请求对应的访问日志的占比。其中,非攻击的业务请求对应的访问日志的攻击类型字段的值为waf_none。非攻击的业务请求也称之为正常业务请求。当正常业务请求的占比比较高时,误报的可能性比较高。因此,通过设置第十一阈值,当非攻击的业务请求占比超过第十一阈值时,确定所述第三访问子集中各访问日志包含的策略标识对应的安全策略为导致误报的安全策略。之后,waf输出目标攻击类型和导致误报的安全策略的策略标识。
145.采用该种方案,通过对waf未拦截但告警监督的攻击请求进行攻击类型粒度的分析,实现从未拦截的攻击请求触发的安全策略中确定出导致误报的安全策略的目的。
146.图6是本技术实施例提供的误报检测方法的又一个流程图,本实施例中,waf按照url粒度分析攻击子集以确定出导致误报的安全策略。本实施例包括:
147.601、waf从攻击子集包含的各攻击日志中提取出url,以得到至少一个url。
148.示例性的,每条攻击日志中都包含url字段,有些攻击日志包含url字段的值相同,有些攻击日志包含的url字段的值不同。waf根据从各攻击日志中提取出出的url地址得到至少一个url地址,至少一个url地址中的任意两个url地址不相同。例如,攻击子集中一共有50条攻击日志,其中第1-10条攻击日志包含相同的url地址,第11-20条攻击日志包含相同的url地址,第21-50条攻击日志包含相同的url地址,则至少一个url地址包含3个不同的url地址。
149.602、针对所述至少一个url中的目标url,从包含所述目标url的攻击日志中提取出策略标识,以得到至少一个策略标识。
150.其中,所述目标url是所述至少一个url中占比超过第十二阈值且对应的攻击日志的数量大于第十三阈值的url。
151.实际实现中,可根据需求设置第十二阈值和第十三阈值的大小。例如,当攻击子集为第一攻击子集时,第十二阈值为30%,第十三阈值为50。当攻击子集为第二攻击子集时,第十二阈值为10%,第十三阈值为100。当一个攻击类型的占比大于第十二阈值,且攻击数量大于第十三阈值时,说明一段时间内,waf识别到的攻击集中于此url,误报可能性比较高。设置第十二阈值的目的在于筛选出占比较高,即较为集中的url。设置第十三阈值的目的在于过滤掉攻击数量较少的url。过滤掉的数据可通过ip分析或攻击类型分析进行补充分析。
152.603、针对所述目标url确定导致误报的安全策略。
153.示例性的,针对目标url,waf继续分析包含目标url的攻击日志的策略标识字段等,从而确定出针对目标url导致误报的安全策略。
154.采用该种方案,从至少一个url中确定出可能产生误报的目标url,仅对目标url分
析导致误报的安全策略,分析速度快,针对性强。
155.可选的,按照url粒度确定导致误报的安全策略的过程中,waf确定出目标url后,从包含目标url的攻击日志中提取策略标识,以得到至少一个策略标识。之后,waf确定各策略标识的占比,将占比超过第十四阈值的策略标识作为目标策略标识。这是因为当某个策略标识的占比超过第十四阈值,说明此安全策略为导致误报的安全策略的可能性比较高。当攻击子集为第一攻击子集时,第十四阈值例如为50%;当攻击子集为第二攻击子集时,第十四阈值例如为10%。
156.例如,攻击子集中一共有50条攻击日志,其中第1-5条攻击日志中url字段的值为url1,第6-10条攻击日志中url字段的值为url2,第11-50条攻击日志中url字段的值为url3,则至少一个url包含3个不同的url,分别为url1、url2和url3。占比分别为10%、10%、80%,数量分别为5、5、40。假设第十二阈值为30%,第十三阈值为50,则url3为目标url。
157.40条包含url3的攻击日志中,共存在3中策略标识,分别为安全策略a、安全策略b和安全策略c,占比分别为80%、10%、10%。假设第十四阈值为50%,则目标策略标识为安全策略a,针对目标url,安全策略a为导致误报的安全策略。
158.采用该种方案,确定出目标url之后,进一步分析策略标识,实现针对目标url准确确定出导致误报的安全策略的目的。
159.图7是本技术实施例提供的误报检测方法的又一个流程图。本实施例包括:
160.701、waf根据分析请求确定访问日志以得到访问日志集合。
161.示例性的,waf根据待分析域名、待分析时间范围等从多条历史访问日志中确定出符合分析请求的访问日志,以得到访问日志集合。
162.702、从访问日志集合中确定攻击日志,过滤掉符合黑名单,和/或,攻击类型的值为预设值的攻击日志,根据剩余的攻击日志得到所述攻击日志集合。
163.703、对于攻击日志集合中的每条攻击日志,确定该攻击日志包含的状态码和拦截状态。
164.704、将状态码为403、拦截状态为已拦截的攻击日志存储至第一攻击子集。
165.705、将状态码为200、301、302、304中的任意一个、拦截状态为已拦截的攻击日志存储至第二攻击子集。
166.706、对第一攻击子集进行ip粒度的分析。
167.707、对第一攻击子集进行攻击类型粒度的分析。
168.708、对第一攻击子集进行url粒度的分析。
169.709、对第二攻击子集进行ip粒度的分析。
170.710、对第二攻击子集进行攻击类型粒度的分析。
171.711、对第二攻击子集进行url粒度的分析。
172.可选的,上述实施例中,步骤706的详细流程可参见图8。图8是图7中步骤706的分解流程图。包括以下步骤:
173.7061、根据第一攻击子集确定至少一个ip地址,并针对每个ip地址确定第一访问子集。
174.示例性的,waf提取第一攻击子集中每个攻击日志的ip地址,得到至少一个ip地址。对于每个ip地址,根据第一攻击子集中最早出现该ip地址的攻击日志确定出目标时间
范围。之后,从访问日志集合中确定出位于该目标时间范围内、且包含对应ip地址的访问日志,从而得到第第一访问子集。
175.7062、判断至少一个ip地址中是否存在目标ip地址,若至少一个ip地址中存在目标ip地址,则执行步骤7063;若至少一个ip地址中不存在目标ip地址,则结束。
176.示例性的,目标ip地址为第一访问子集符合预设条件的ip地址,预设条件为:第一访问子集中访问日志的数量与所述攻击子集中包含所述目标ip地址的攻击日志的数量的比值超过第一阈值。其中,第一阈值例如为10等,本技术实施例并不限制。
177.7063、根据目标ip地址的第一访问子集确定至少一个攻击类型。
178.示例性的,waf提取第一访问子集中各访问日志包含的攻击类型,得到至少一个攻击类型。
179.7064、判断至少一个攻击类型对应的种类是否小于或等于第二阈值,若种类小于或等于第二阈值,则执行步骤7065;若种类大于第二阈值,则结束。其中,第二阈值例如为2等。
180.7065、输出目标ip地址和导致误报的安全策略。
181.导致误报的安全策略例如为目标ip地址的第一访问子集中各访问日志包含的安全策略。
182.可选的,上述实施例中,步骤707的详细流程可参见图9。图9是图7中步骤707的分解流程图。包括以下步骤:
183.7071、根据第一攻击子集确定至少一个攻击类型,并确定各攻击类型的占比。
184.7072、确定至少一个攻击类型中是否存在目标攻击类型,若至少一个攻击类型中存在目标攻击类型,则执行步骤7073;若至少一个攻击类型中不存在目标攻击类型,则结束。
185.其中,目标攻击类型是占比超过第七阈值且数量超过第八阈值的攻击类型。
186.7073、确定目标攻击类型的至少一个策略标识,并确定各策略标识的占比。
187.示例性的,waf可以用多条安全策略检测目标攻击类型,包含目标攻击类型的攻击日志中,安全策略的策略标识可能不同。waf确定每种安全策略的数量,进而确定出各策略标识的占比。
188.7074、确定至少一个策略标识中是否存在目标策略标识,若至少一个策略标识中存在目标策略标识,则执行步骤7075;若至少一个策略标识中不存在目标策略标识,则结束。
189.其中,目标策略标识是至少一个策略标识中占比超过第九阈值的策略标识,第九阈值例如为50%。
190.7075、根据目标策略标识确定第二访问子集。
191.示例性的,waf从第一攻击子集中确定出包含所述目标策略标识的攻击日志,得到第二访问子集。第二访问子集也称之为目标策略标识的全量ip日志集合。
192.另外,当包含目标策略标识的攻击日志比较多时,waf还可以从中确定出部分攻击日志,比如,按照时间顺序确定出最早产生的100个攻击日志。
193.7076、根据第二访问子集中的各ip地址,查询访问日志集合以得到第三访问子集。
194.示例性的,waf提取第二访问子集中各访问日志的ip地址,得到至少一个ip地址,
利用该些ip地址查询访问日志集合,从而得到包含至少一个ip地址中各ip地址的访问日志,该些访问日志存储在第三访问子集中,
195.7077、确定第三访问子集是否为空,若第三访问子集不为空,则执行步骤7078;若第三访问子集为空,则执行步骤70711。
196.7078、根据第三访问子集确定至少一个攻击类型。
197.7079、确定至少一个攻击类型的种类是否小于第十阈值,若种类小于第十阈值,则执行步骤70710,若种类大于或等于第十阈值,则结束。
198.70710、输出第三访问子集中攻击日志包含的攻击类型以及对应的导致误报的安全策略。
199.70711、输出第二访问子集中攻击日志包含的攻击类型以及对应的导致误报的安全策略。
200.可选的,上述实施例中,步骤708的详细流程可参见图10。图10是图7中步骤708的分解流程图。包括以下步骤:
201.7081、根据第一攻击子集确定至少一个url,并确定各url的占比。
202.7082、确定至少一个url中是否存在目标url,若至少一个url中存在目标url,则执行步骤7083;若至少一个url中不存在目标url,则结束。
203.其中,目标url是占比超过第十二阈值且数量超过第十三阈值的url。其中,第十二阈值例如为30%,第十三阈值例如为50。
204.7083、确定目标url的至少一个策略标识,并确定各策略标识的占比。
205.示例性的,包含目标url的攻击日志中,有些攻击日志包含相同的策略标识,有些攻击日志包含不同的策略标识。waf根据该些攻击日志确定出至少一个策略标识。
206.7084、确定至少一个策略标识中是否存在目标策略标识,若至少一个策略标识中存在目标策略标识,则执行步骤7085;若至少一个策略标识中不存在目标策略标识,则结束。
207.其中,目标策略标识是至少一个策略标识中占比超过第十四阈值的策略标识,第十四阈值例如为50%。
208.7085、输出目标url和目标策略标识。
209.目标策略标识指示的安全策略即为目标url对应的导致误报的安全策略。
210.可选的,上述实施例中,步骤709的详细流程可参见图11。图11是图7中步骤709的分解流程图。包括以下步骤:
211.7091、根据第二攻击子集确定至少一个ip地址,并针对每个ip地址确定第一访问子集。
212.7092、判断至少一个ip地址中是否存在目标ip地址,若至少一个ip地址中存在目标ip地址,则执行步骤7093;若至少一个ip地址中不存在目标ip地址,则结束。
213.示例性的,目标ip地址为第一访问子集符合预设条件的ip地址,预设条件为:第一访问子集中访问日志的数量大于第三阈值。其中,第三阈值例如为20等,本技术实施例并不限制。
214.显然,本步骤中的判断条件和步骤7062中的判断条件不同。
215.7093、根据目标ip地址的第一访问子集确定至少一个攻击类型。
216.示例性的,waf提取第一访问子集中各访问日志包含的攻击类型,得到至少一个攻击类型。
217.7094、判断至少一个攻击类型对应的种类是否小于或等于第四阈值,且每种攻击类型对应的攻击数量是否大于第五阈值,若至少一个攻击类型中对应的种类小于或等于第四阈值,且每种攻击类型对应的攻击数量大于第五阈值,则执行步骤7095;若至少一个攻击类型对应的种类大于第四阈值,和/或,所述至少一个攻击类型中存在攻击数量小于或等于第五阈值的攻击类型,则执行步骤7096。
218.其中,第四阈值例如为2,第五阈值例如为5,本技术实施例并不限制。
219.7095、确定所述第一访问子集中各访问日志包含的策略标识对应的安全策略为导致误报的安全策略。
220.7096、确定所述至少一个攻击类型中每种攻击类型的占比。
221.7097、确定至少一个攻击类型中是否存在占比超过第六阈值的攻击类型,若存在占比超过第六阈值的攻击类型,则执行补助7098;若不存在占比超过第六阈值的攻击类型,则结束。
222.7098、从所述第一访问子集中确定出包含占比大于第六阈值的攻击类型的访问日志,并提取出策略标识,以得到导致误报的安全策略。
223.上述实施例中,步骤710的详细过程可参见图9的描述,差别之处在于:图9中,目标攻击类型是占比超过第七阈值且数量超过第八阈值的攻击类型,第七阈值和第八阈值的取值例如分别为30%、50。步骤710中,目标攻击类型是占比超过第七阈值且数量超过第八阈值的攻击类型,第七阈值和第八阈值的取值例如分别为20%、100。
224.另外,图9步骤7079中,判断的对象是至少一个攻击类型的种类是否小于第十阈值。而步骤710中,判断的对象是非攻击的业务请求对应的访问日志的占比是否超过第十一阈值。
225.上述实施例中,步骤711的详细过程可参见图10的描述,差别之处在于:图10中,目标url是占比超过第十二阈值且数量超过第十三阈值的url,第十二阈值和第十三阈值分别为30%、50,而步骤711中,第十二阈值和第十三阈值分别为10%、100。
226.另外,图10步骤7084中,目标策略标识是至少一个策略标识中占比超过第十四阈值的策略标识。第十四阈值例如为50%,而步骤711中,第十四阈值例如为10%。
227.下述为本技术装置实施例,可以用于执行本技术方法实施例。对于本技术装置实施例中未披露的细节,请参照本技术方法实施例。
228.图12为本技术实施例提供的一种误报检测装置的示意图。该误报检测装置1200包括:第一确定模块121、第二确定模块122和处理模块123。
229.第一确定模块121,用于确定访问日志集合和攻击日志集合,所述攻击日志集合是所述访问日志集合的子集;
230.第二确定模块122,用于从所述攻击日志集合中确定出超文本传输协议http状态码为目标状态码、且拦截状态为预设状态的攻击日志以得到攻击子集;
231.处理模块123,用于根据所述攻击子集确定导致误报的安全策略。
232.一种可行的实现方式中,所述处理模块123,用于确定分析粒度,所述分析粒度包括ip粒度、统一资源定位符url粒度和攻击类型粒度中的至少一个;分析所述攻击子集,以
针对所述分析粒度确定出导致误报的安全策略。
233.一种可行的实现方式中,所述处理模块123分析所述攻击子集,以针对所述分析粒度确定出导致误报的安全策略时,用于当所述分析粒度为ip粒度时,从所述攻击子集包含的各攻击日志中提取出ip地址,以得到至少一个ip地址;对于所述至少一个ip地址中的每个ip地址,根据所述ip地址查询所述访问日志集合以确定出各ip地址对应的第一访问子集,所述第一访问子集中的访问日志包含对应的ip地址,且所述第一访问子集中的各访问日志位于目标时间段范围内,所述目标时间段根据所述攻击子集中首个包含对应ip地址的攻击日志确定出;根据所述至少一个ip地址中每个ip地址的第一访问子集,从所述至少一个ip地址中确定出目标ip地址,所述目标ip地址的第一访问子集符合预设条件;针对所述目标ip地址,确定导致误报的安全策略。
234.一种可行的实现方式中,所述处理模块123针对所述目标ip地址,确定导致误报的安全策略时,用于当所述预设条件为所述第一访问子集中访问日志的数量与所述攻击子集中包含所述目标ip地址的攻击日志的数量的比值超过第一阈值时,从包含所述目标ip地址的第一访问子集中提取出攻击类型,以得到至少一个攻击类型;针对所述目标ip地址,当所述至少一个攻击类型对应的种类小于或等于第二阈值时,确定所述第一访问子集中各访问日志包含的策略标识对应的安全策略为导致误报的安全策略。
235.一种可行的实现方式中,所述处理模块123针对所述目标ip地址,确定导致误报的安全策略时,用于当所述预设条件为所述第一访问子集中访问日志的数量大于第三阈值时,从包含所述目标ip地址的攻击日志中提取出攻击类型,以得到至少一个攻击类型;针对所述目标ip地址,当所述至少一个攻击类型对应的种类小于或等于第四阈值,且所述至少一个攻击类型中每种攻击类型的攻击数量大于第五阈值时,确定所述第一访问子集中各访问日志包含的策略标识对应的安全策略为导致误报的安全策略。
236.一种可行的实现方式中,所述处理模块123,还用于当所述至少一个攻击类型对应的种类大于第四阈值,和/或,所述至少一个攻击类型中存在攻击数量小于或等于第五阈值的攻击类型时,确定所述至少一个攻击类型中每种攻击类型的占比;针对所述目标ip地址,当所述至少一个攻击类型中存在占比大于第六阈值的攻击类型时,从所述第一访问子集中确定出包含占比大于第六阈值的攻击类型的访问日志,并提取出策略标识,以得到导致误报的安全策略。
237.一种可行的实现方式中,所述处理模块123分析所述攻击子集,以针对所述分析粒度确定导致误报的安全策略时,用于当所述分析粒度为攻击类型时,从所述攻击子集包含的各攻击日志中提取出攻击类型,以得到至少一个攻击类型;针对所述至少一个攻击类型中的目标攻击类型,从包含所述目标攻击类型的攻击日志中提取出策略标识,以得到至少一个策略标识,所述目标攻击类型是所述至少一个攻击类型中,占比超过第七阈值,且对应的攻击日志的数量大于第八阈值的攻击类型;针对所述目标攻击类型,根据所述至少一个策略标识确定导致误报的安全策略。
238.一种可行的实现方式中,所述处理模块123针对所述目标攻击类型,根据所述至少一个策略标识确定导致误报的安全策略时,用于针对所述至少一个策略标识中的目标策略标识,从所述攻击子集中确定出包含所述目标安全策略的攻击日志以得到第二访问子集,所述目标策略标识为所述至少一个策略标识中占比超过第九阈值的策略标识;从所述第二
访问子集包含的各攻击日志中提取出ip地址,以得到至少一个ip地址;针对所述目标攻击类型,根据所述至少一个ip地址中的每个ip地址确定导致误报的安全策略。
239.一种可行的实现方式中,所述处理模块123针对所述目标攻击类型,根据所述至少一个ip地址中的每个ip地址确定导致误报的安全策略时,用于根据所述至少一个ip地址中的每个ip地址查询所述访问日志集合,以确定出第三访问子集,所述第三访问子集中的访问日志包含所述至少一个ip地址中的任意一个ip地址;针对所述目标攻击类型,当所述第三访问子集为空时,确定所述第二访问子集中各访问日志包含的策略标识对应的安全策略为导致误报的安全策略。
240.一种可行的实现方式中,所述处理模块123还用于当所述第三访问子集不为空时,从所述第三访问子集包含的访问日志中提取出攻击类型,以得到至少一个攻击类型;当所述至少一个攻击类型对应的种类小于第十阈值时,确定所述第三访问子集中各访问日志包含的策略标识对应的安全策略为导致误报的安全策略。
241.一种可行的实现方式中,所述处理模块123还用于当所述第三访问子集不为空时,从所述第三访问子集包含的访问日志中确定出非攻击的业务请求对应的访问日志;确定所述非攻击的业务请求对应的访问日志的占比;当所述占比大于第十一阈值时,确定所述第三访问子集中各访问日志包含的策略标识对应的安全策略为导致误报的安全策略。
242.一种可行的实现方式中,所述处理模块123分析所述攻击子集,以针对所述分析粒度确定导致误报的安全策略时,用于当所述分析粒度为url粒度时,从所述攻击子集包含的各攻击日志中提取出url,以得到至少一个url;针对所述至少一个url中的目标url,从包含所述目标url的攻击日志中提取出策略标识,以得到至少一个策略标识,所述目标url是所述至少一个url中占比超过第十二阈值且对应的攻击日志的数量大于第十三阈值的url;针对所述目标url确定导致误报的安全策略。
243.一种可行的实现方式中,所述处理模块123针对所述目标url确定导致误报的安全策略时,用于确定所述至少一个策略标识中是否存在目标策略标识,所述目标策略标识为所述至少一个策略标识中占比超过第十四阈值的策略标识;针对所述目标url,当所述至少一个策略标识中存在所述目标策略标识时,确定所述目标策略标识对应的安全策略为导致误报的安全策略。
244.一种可行的实现方式中,所述第二确定模块122从所述访问日志集合包含的攻击日志中过滤掉符合黑名单,和/或,攻击类型的值为预设值的攻击日志,根据剩余的攻击日志得到所述攻击日志集合。
245.一种可行的实现方式中,所述第一确定模块121,用于获取分析请求,所述分析请求携带待分析的客户标识、待分析的时间范围、待分析的域名和预设攻击类型的值中的至少一个;根据所述分析请求查询历史访问日志以得到所述访问日志集合,根据所述访问日志集合确定出所述攻击日志集合。
246.一种可行的实现方式中,所述第一确定模块121确定访问日志集合和攻击日志集合之后,还用于结构化所述访问日志集合中的每条访问日志,以得到各访问日志对应的标准文件,所述标准文件包含攻击类型字段和拦截状态字段。
247.一种可行的实现方式中,所述目标状态码为403,所述预设状态为已拦截;
248.一种可行的实现方式中,所述目标状态码为200、301、302、304中的任意一个,所述
预设状态为未拦截但告警。
249.本技术实施例提供的误报检测装置,可以执行上述实施例中waf的动作,其实现原理和技术效果类似,在此不再赘述。
250.图13为本技术实施例提供的一种电子设备的结构示意图。如图13所示,该电子设备130例如为上述的waf,该电子设备1300包括:
251.处理器131和存储器132;
252.所述存储器132存储计算机指令;
253.所述处理器131执行所述存储器132存储的计算机指令,使得所述处理器131执行如上waf实施的误报检测方法。
254.处理器131的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
255.可选地,该电子设备1300还包括通信部件133。其中,处理器131、存储器132以及通信部件133可以通过总线134连接。
256.本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,所述计算机指令被处理器执行如上waf实施的误报检测方法。
257.本技术实施例还提供一种计算机程序产品,该计算机程序产品包含计算机程序,计算机程序被处理器执行如上waf实施的误报检测方法。
258.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的权利要求书指出。
259.应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求书来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1