掌桥专利:专业的专利平台
掌桥专利
首页

误报识别方法、装置、计算机设备和存储介质

文献发布时间:2024-04-18 20:00:50


误报识别方法、装置、计算机设备和存储介质

技术领域

本申请涉及信息安全技术领域,特别是涉及一种误报识别方法、装置、计算机设备、存储介质和计算机程序产品。

背景技术

WAF(Web Application Firewall,网络应用程序防火墙)会根据设置的规则对接收到的各请求进行识别,并拦截到对应用程序产生危险的攻击请求。但是,由于应用程序中的BUG或者规则设置的局限性,会导致WAF拦截到大量正常请求,即WAF误报。因此,需要识别WAF的误报。

目前的误报识别方法,是由经验丰富的管理人员对WAF拦截到的各告警请求进行识别,得到攻击请求和正常请求,以根据识别出来的正常请求调整规则,进而降低误报率。

然而,目前的误报识别方法,当存在大量的告警请求待识别时,采用人工识别误报会耗费大量的时间,识别误报的效率较低。

发明内容

基于此,有必要针对上述技术问题,提供一种误报识别方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。

第一方面,本申请提供了一种误报识别方法,包括:

获取各预警请求;所述预警请求为网络应用程序防火墙拦截的请求;

针对每一所述预警请求,通过误报识别模型对所述预警请求进行识别处理,得到所述预警请求对应的识别结果;所述误报识别模型是基于包含正常请求特征的目标正样本和包含攻击请求特征的目标负样本训练得到的;

在所述预警请求对应的识别结果满足预设的误报条件的情况下,确定所述预警请求为误报请求,并将所述误报请求重新确定为正常请求。

在其中一个实施例中,所述针对每一所述预警请求,通过误报识别模型对所述预警请求进行识别处理,得到所述预警请求对应的识别结果之前,所述方法还包括:

基于全量请求拦截规则集确定初始正样本,并基于攻击请求拦截规则集确定初始负样本;

根据所述初始正样本和所述初始负样本训练预设的神经网络模型,得到初始评分集,并根据预设的评分范围和所述初始评分集,更新所述初始正样本和所述初始负样本,得到初始目标正样本和初始目标负样本;

根据所述初始目标正样本和所述初始目标负样本训练所述神经网络模型,得到初始目标评分集,并根据所述评分范围和所述初始目标评分集在所述初始目标正样本和所述初始目标负样本中确定目标特征集;

基于所述目标特征集确定目标正样本和目标负样本,并基于所述目标正样本和所述目标负样本训练所述神经网络模型,得到误报识别模型。

在其中一个实施例中,所述基于全量请求拦截规则集确定初始正样本,并基于攻击请求拦截规则集确定初始负样本,包括:

根据全量请求拦截规则集,对接收到的全量请求进行拦截,得到第一初始请求集;所述全量请求拦截规则集中包含各全量请求拦截规则;所述第一初始请求集中包含各第一初始请求;

根据各所述第一初始请求中的主机名和各所述全量请求拦截规则中的标识,对所述第一初始请求集进行特征提取,得到初始正样本;

根据攻击请求拦截规则集,对所述全量请求进行拦截,得到第二初始请求集;所述规则集中包含各攻击请求拦截规则;所述第二初始请求集中包含各第二初始请求;

根据各所述第二初始请求中的主机名和各所述攻击请求拦截规则中的标识,对所述第二初始请求集进行特征提取,得到初始负样本。

在其中一个实施例中,所述根据预设的评分范围和所述初始评分集,更新所述初始正样本和所述初始负样本,得到初始目标正样本和初始目标负样本,包括:

根据预设的评分范围和所述初始评分集在所述初始正样本和所述初始负样本中确定初始目标特征集;所述初始目标特征集中包含各初始目标特征子集;

对各所述初始目标特征子集进行标注,并将携带误报标签的所述初始目标特征子集确定为第一初始目标特征子集;

将未携带所述误报标签的所述初始目标特征子集确定为第二初始目标特征子集;

根据各所述第一初始目标特征子集构建初始目标正样本,并根据各所述第二初始目标特征子集构建初始目标负样本。

在其中一个实施例中,所述初始目标评分集中包含各所述第一初始目标特征子集对应的初始目标评分和各所述第二初始目标特征子集对应的初始目标评分,所述根据所述评分范围和所述初始目标评分集在所述初始目标正样本和所述初始目标负样本中确定目标特征集,包括:

在各所述第一初始目标特征子集中确定所述初始目标评分在所述评分范围中的目标特征子集;

在各所述第二初始目标特征子集中确定所述初始目标评分在所述评分范围中的目标特征子集;

根据各所述目标特征子集构建目标特征集。

在其中一个实施例中,所述基于所述目标特征集确定目标正样本和目标负样本,并基于所述目标正样本和所述目标负样本训练所述神经网络模型,得到误报识别模型,包括:

将所述目标特征集中携带误报标签的目标特征子集确定为第一目标特征子集,并根据各所述第一目标特征子集构建目标正样本;

将所述目标特征集中未携带误报标签的目标特征子集确定为第二目标特征子集,并根据各所述第二目标特征子集构建目标负样本;

基于所述目标正样本和所述目标负样本训练所述神经网络模型,得到误报识别模型。

在其中一个实施例中,所述识别结果为所述预警请求的识别分数,所述在所述预警请求对应的识别结果满足预设的误报条件的情况下,确定所述预警请求为误报请求,并将所述误报请求重新确定为正常请求之前,所述方法还包括:

判断所述预警请求的识别分数是否在预设的正常请求的分数范围内;

若所述预警请求的识别分数在所述正常请求的分数范围内,确定所述预警请求的识别结果满足预设的误报条件;

若所述预警请求的识别分数未在所述正常请求的分数范围内,确定所述预警请求的识别结果不满足所述误报条件。

第二方面,本申请还提供了一种误报识别装置,包括:

获取模块,用于获取各预警请求;所述预警请求为网络应用程序防火墙拦截的请求;

识别模块,用于针对每一所述预警请求,通过误报识别模型对所述预警请求进行识别处理,得到所述预警请求对应的识别结果;所述误报识别模型是基于包含正常请求特征的目标正样本和包含攻击请求特征的目标负样本训练得到的;

确定模块,用于在所述预警请求对应的识别结果满足预设的误报条件的情况下,确定所述预警请求为误报请求,并将所述误报请求重新确定为正常请求。

第三方面,本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

获取各预警请求;所述预警请求为网络应用程序防火墙拦截的请求;

针对每一所述预警请求,通过误报识别模型对所述预警请求进行识别处理,得到所述预警请求对应的识别结果;所述误报识别模型是基于包含正常请求特征的目标正样本和包含攻击请求特征的目标负样本训练得到的;

在所述预警请求对应的识别结果满足预设的误报条件的情况下,确定所述预警请求为误报请求,并将所述误报请求重新确定为正常请求。

第四方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

获取各预警请求;所述预警请求为网络应用程序防火墙拦截的请求;

针对每一所述预警请求,通过误报识别模型对所述预警请求进行识别处理,得到所述预警请求对应的识别结果;所述误报识别模型是基于包含正常请求特征的目标正样本和包含攻击请求特征的目标负样本训练得到的;

在所述预警请求对应的识别结果满足预设的误报条件的情况下,确定所述预警请求为误报请求,并将所述误报请求重新确定为正常请求。

第五方面,本申请还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:

获取各预警请求;所述预警请求为网络应用程序防火墙拦截的请求;

针对每一所述预警请求,通过误报识别模型对所述预警请求进行识别处理,得到所述预警请求对应的识别结果;所述误报识别模型是基于包含正常请求特征的目标正样本和包含攻击请求特征的目标负样本训练得到的;

在所述预警请求对应的识别结果满足预设的误报条件的情况下,确定所述预警请求为误报请求,并将所述误报请求重新确定为正常请求。

上述误报识别方法、装置、计算机设备、存储介质和计算机程序产品,获取各预警请求;所述预警请求为网络应用程序防火墙拦截的请求;针对每一所述预警请求,通过误报识别模型对所述预警请求进行识别处理,得到所述预警请求对应的识别结果;所述误报识别模型是基于包含正常请求特征的目标正样本和包含攻击请求特征的目标负样本训练得到的;在所述预警请求对应的识别结果满足预设的误报条件的情况下,确定所述预警请求为误报请求,并将所述误报请求重新确定为正常请求。采用本方法,预先基于包含正常请求特征的目标正样本和包含攻击请求特征的目标负样本训练得到误报识别模型,进而,通过误报识别模型识别网络应用程序防火墙拦截的各预警请求,得到各预警请求的识别结果,能够快速得到识别结果,并在识别结果满足误报条件的情况下,将预警请求确定为误报请求,能够快速识别误报请求,提高了误报识别方法的效率。

附图说明

为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为一个实施例中误报识别方法的流程示意图;

图2为一个实施例中确定误报识别模型步骤的流程示意图;

图3为一个实施例中确定初始正样本和初始负样本步骤的流程示意图;

图4为一个实施例中确定初始目标正样本和初始目标负样本步骤的流程示意图;

图5为一个实施例中确定目标特征集步骤的流程示意图;

图6为一个实施例中基于目标正样本和目标负样本误报识别模型步骤的流程示意图;

图7为一个实施例中判断预警请求是否满足误报条件步骤的流程示意图;

图8为一个实施例中误报识别装置的结构框图;

图9为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

在一个实施例中,如图1所示,提供了一种误报识别方法,本申请实施例以该方法应用于计算机设备为例进行说明,本申请实施例对于误报识别方法的执行设备不做限定,包括以下步骤102至步骤106:

步骤102,获取各预警请求。

其中,预警请求为网络应用程序防火墙拦截的请求。预警请求为WAF识别的危险请求。

在实施中,计算机设备中预先设置有WAF(网络应用程序防火墙)。计算机设备接收各请求,并通过WAF识别并拦截各请求中的危险请求,得到各预警请求。

步骤104,针对每一预警请求,通过误报识别模型对预警请求进行识别处理,得到预警请求对应的识别结果。

其中,误报识别模型是基于包含正常请求特征的目标正样本和包含攻击请求特征的目标负样本训练得到的。

在实施中,计算机设备中预先设置有神经网络模型。计算机设备基于全量请求拦截规则集和攻击请求拦截规则集,确定初始正样本和初始负样本。然后,计算机设备基于初始正样本和初始负样本训练预设的神经网络模型,得到初始目标评分集。计算机设备基于初始目标评分集在初始正样本和初始负样本中确定包含正常请求特征的目标正样本和包含攻击请求特征的目标负样本。然后,计算机设备基于目标正样本和目标负样本训练神经网络模型,得到误报识别模型。计算机设备针对每一预警请求,将预警请求输入误报识别模型中,通过误报识别模型对该预警请求进行识别处理,输出该预警请求的识别结果。

在一个示例性实施例中,计算机设备针对每一预警请求,将预警请求和预警请求对应的规则的标识输入到误报识别模型中,通过误报识别模型和预警请求对应的规则的标识对该预警请求进行识别处理,输出该预警请求的识别结果、该预警请求对应的规则的标识和该预警请求的主机名。

步骤106,在预警请求对应的识别结果满足预设的误报条件的情况下,确定预警请求为误报请求,并将误报请求重新确定为正常请求。

在实施中,在得到预警请求对应的识别结果之后,计算机设备判断识别结果是否满足预设的误报条件。在预警请求对应的识别结果满足预设的误报条件的情况下,计算机设备将该预警请求确定为误报请求。然后,计算机设备重新将误报请求确定为正常请求。

在一个可选的实施例中,在预警请求对应的识别结果不满足预设的误报条件的情况下,计算机设备将该预警请求确定为攻击请求。

在一个可选的实施例中,目标用户根据各正常请求和各攻击请求优化WAF中设置的规则集,从而降低WAF的误报率。

上述误报识别方法中,预先基于包含正常请求特征的目标正样本和包含攻击请求特征的目标负样本训练得到误报识别模型,进而,通过误报识别模型识别网络应用程序防火墙拦截的各预警请求,得到各预警请求的识别结果,能够快速得到识别结果,并在识别结果满足误报条件的情况下,将预警请求确定为误报请求,能够快速识别误报请求,提高了误报识别方法的效率。

在一个示例性的实施例中,在采用误报识别模型识别预警请求之前,需要先根据目标正样本和目标负样本训练神经网络模型,得到误报识别模型。如图2所示,在步骤102执行之前,该误报识别方法的具体处理过程包括步骤202至步骤208。其中:

步骤202,基于全量请求拦截规则集确定初始正样本,并基于攻击请求拦截规则集确定初始负样本。

其中,全量请求拦截规则集用于拦截全部接收到的请求。攻击请求拦截规则集用于拦截接收到的攻击请求。

在实施中,计算机设备中预先设置有WAF。计算机设备获取全量请求拦截规则集和攻击请求拦截规则集。然后,计算机设备将全量请求拦截规则集确定为WAF的拦截规则,并通过WAF拦截接收到的各请求,得到第一初始请求集。计算机设备对第一初始请求集进行特征提取,得到初始正样本。计算机设备将攻击请求拦截规则集确定为WAF的拦截规则,并通过WAF拦截接收到的各请求,得到第二初始请求集。计算机设备对第二初始请求集进行特征提取,得到初始负样本。

在一个示例性实施例中,在执行误报识别方法之前,目标用户需要制定全量请求拦截规则集和攻击请求拦截规则集。然后,目标用户将全量请求拦截规则集和攻击请求拦截规则集导入到计算机设备中。

步骤204,根据初始正样本和初始负样本训练预设的神经网络模型,得到初始评分集,并根据预设的评分范围和初始评分集,更新初始正样本和初始负样本,得到初始目标正样本和初始目标负样本。

在实施中,计算机设备中预先设置有评分范围。计算机设备中预先设置有神经网络模型。计算机设备同时将初始正样本和初始负样本输入到预设的神经网络模型中,通过神经网络模型对初始正样本和初始负样本进行处理,输出初始评分集。计算机设备基于预设的评分范围和初始评分集在初始正样本和初始负样本中确定初始目标特征集。然后,计算机设备对初始目标特征集中的各初始目标特征子集进行标注,并根据各初始目标特征子集中的标签确定初始目标正样本和初始目标负样本。

具体地,初始正样本中包含各第一初始特征子集。初始负样本中包含各第二初始特征子集。计算机设备中预先设置有神经网络模型。计算机设备通过预设的神经网络模型对各第一初始特征子集和各第二初始特征子集进行处理,得到各第一初始特征子集对应的初始评分和各第二初始特征子集对应的初始评分。然后,计算机设备根据各初始评分,构建初始评分集。计算机设备将初始评分在预设的评分范围内的第一初始特征子集确定为初始目标特征子集,并将初始评分在预设的评分范围内的第二初始特征子集确定为初始目标特征子集。然后,计算机设备对各初始目标特征子集进行标注,并根据各初始目标特征子集中的标签确定初始目标正样本和初始目标负样本。

在一可选的实施例中,计算机设备中预设的神经网络模型为随机森林模型,并且,随机森林模型的分类阈值为0.6。计算机设备按照预设的比例对初始正样本进行划分,得到初始训练正样本和初始测试正样本。同时,计算机设备基于该比例对初始负样本进行划分,得到初始训练负样本和初始测试负样本。计算机设备根据初始训练正样本和初始训练负样本构建初始训练样本,并根据初始测试正样本和初始测试负样本进行初始测试样本。计算机设备基于初始训练样本和初始测试样本训练随机森林模型,得到了精度足够高的随机森林模型。但是,随机森林模型的召回率稍有欠缺,结果表明,该随机森林模型没有将真实攻击请求识别为误报,但是,很多预警请求并未识别为正常请求,主要是初始评分在0.35~0.6之间的预警请求。因为,样本本身是存在一些精度欠缺的。因此,需要改进样本并根据改进的样本再次训练随机森林模型。计算机设备继续执行步骤206。

可选的,比例可以设置为训练集:测试集=9:1,也可以设置为训练集:测试集=8:2,本申请实施例对比例不做限定。

可选的,神经网络模型为随机森林模型,也可以为决策树模型,本申请实施例对神经森林模型不做限定。

步骤206,根据初始目标正样本和初始目标负样本训练神经网络模型,得到初始目标评分集,并根据评分范围和初始目标评分集在初始目标正样本和初始目标负样本中确定目标特征集。

其中,初始目标正样本中包含各第一初始目标特征子集。初始目标负样本中包含各第二初始目标特征子集。

在实施中,计算机设备将初始目标正样本和初始目标负样本输入到神经网络模型中,通过神经网络模型对初始目标正样本和初始目标负样本进行处理,输出初始目标评分集。然后,计算机设备针对初始目标评分集中的每一初始目标评分,将初始目标评分在评分范围内的第一初始目标特征子集或初始目标评分在评分范围内的第二初始目标特征子集确定为目标特征子集。计算机设备根据各目标特征子集构建目标特征集。

具体地,计算机设备通过预设的神经网络模型对各第一初始目标特征子集和各第二初始目标特征子集进行处理,得到各第一初始目标特征子集对应的初始目标评分和各第二初始目标特征子集对应的初始目标评分。然后,计算机设备根据各初始目标评分,构建初始目标评分集。计算机设备将初始目标评分在评分范围内的第一初始目标特征子集确定为目标特征子集,并将初始目标评分在评分范围内的第二初始目标特征子集确定为目标特征子集。然后,计算机设备根据各目标特征子集构建目标特征集。

步骤208,基于目标特征集确定目标正样本和目标负样本,并基于目标正样本和目标负样本训练神经网络模型,得到误报识别模型。

其中,目标特征集中包含各目标特征子集。

在实施中,计算机设备基于目标特征子集中的标签对目标特征集进行划分,得到目标正样本和目标负样本。然后,计算机设备通过目标正样本和目标负样本对神经网络模型进行训练,得到误报识别模型。

本实施例中,通过初始正样本和初始负样本训练神经网络模型,得到初始评分集,并基于初始评分集和评分范围确定初始目标正样本和初始目标负样本,明确了会被预警的正常请求的特征和攻击请求的特征。然后,基于初始目标正样本和初始目标负样本训练神经网络模型,并基于目标正样本和目标负样本再次训练神经网络模型,得到了误报识别模型,该误报识别模型能够快速识别预警请求中的正常请求,提高了误报识别方法的准确性。

在一个示例性的实施例中,如图3所示,步骤202中的具体处理过程还包括步骤302至步骤308。其中:

步骤302,根据全量请求拦截规则集,对接收到的全量请求进行拦截,得到第一初始请求集。

其中,全量请求拦截规则集中包含各全量请求拦截规则。第一初始请求集中包含各第一初始请求。

在实施中,计算机设备中预先设置有WAF。计算机设备获取全量请求拦截规则集,并将全量请求拦截规则集确定为WAF的拦截规则。然后,计算机设备按照预设的时间周期,通过WAF拦截接收到的全量请求,得到第一初始请求集。

可选的,时间周期可以设置为15分钟,也可以设置为20分钟,本申请实施例对时间周期不做限定。

步骤304,根据各第一初始请求中的主机名和各全量请求拦截规则中的标识,对第一初始请求集进行特征提取,得到初始正样本。

其中,第一初始请求集中包含各第一初始请求。

在实施中,计算机设备遍历第一初始请求集,确定第一初始请求集中各第一初始请求的主机名。计算机设备根据各第一初始请求中的主机名和各全量请求拦截规则中的标识,对第一初始请求集进行特征提取,得到初始正样本。

在一示例性实施例中,计算机设备对各第一初始请求进行特征提取,并基于Host(第一初始请求的主机名)加上规则ID(全量请求拦截规则中的标识)进行对提取出来的特征进行聚合,得到初始正样本。计算机设备特征提取的过程如下所示,具体地,计算机设备计算各第一初始请求所使用的IP地址(Internet Protocol Address,互联网协议地址)数量,不同的PATH(路径)数量,不同的浏览器数量,UA(User-Agent string,用户代理字符串)中标识java、requests等脚本程序发出的数量,不同的UA数量,GET、POST、PUT、DELETE、HEAD、CONNECT、TRACE、PATCH(GET、POST、PUT、DELETE、HEAD、CONNECT、TRACE、PATCH分别都为一种方法的描述性信息)方法各自请求量,请求总量,这些IP请求未被拦截的数量,这些IP攻击过的全网域名数量,请求PATH未被拦截的数量,命中的其他拦截规则数量,持续时间,规则有产生拦截的域名数量,带有Cookie(一个用于在服务器和浏览器之间传递数据的小型文本文件)请求的数量,带有XFF(X-Forwarded-For,超文本传输协议请求头字段)请求的数量,带有Referrer(超文本传输协议头部的一部分)请求的数量,不同的Cookie数量,不同的XFF数量,不同的Referrer数量等共计49个值,得到提取出来的特征。

步骤306,根据攻击请求拦截规则集,对全量请求进行拦截,得到第二初始请求集。

其中,规则集中包含各攻击请求拦截规则。第二初始请求集中包含各第二初始请求。

在实施中,计算机设备获取攻击请求拦截规则集。计算机设备获取攻击请求拦截规则集,并将攻击请求拦截规则集确定为WAF的拦截规则。然后,计算机设备按照预设的时间周期,通过WAF拦截接收到的全量请求,得到第二初始请求集。

在一个可选的实施例中,计算机设备中预先设置有误报请求集。为了获得更加准确的攻击请求的特征,计算机设备会从第二初始请求集中删除预设的误报请求集,得到处理后的第二初始请求集。

可选的,攻击请求拦截规则集可以根据应用程序的属性设置,本申请实施例对攻击请求拦截规则集不做限定。

步骤308,根据各第二初始请求中的主机名和各攻击请求拦截规则中的标识,对第二初始请求集进行特征提取,得到初始负样本。

在实施中,计算机设备遍历第二初始请求集,确定第二初始请求集中各第二初始请求的主机名。计算机设备根据各第二初始请求中的主机名和各攻击请求拦截规则中的标识,对第二初始请求集进行特征提取,得到初始负样本。

在一示例性实施例中,计算机设备对各第二初始请求进行特征提取,并基于Host(第二初始请求的主机名)加上规则ID(攻击请求拦截规则中的标识)进行对提取出来的特征进行聚合,得到初始负样本。

在一个可选的实施例中,将成千上万的告警汇总为少数相关的可调查会话,这些会话为WAF告警提供了新的背景。WAF告警通常具有与单个HTTP(Hypertext TransferProtocol,超文本传输协议)请求有关的数据,例如源IP,目标URL(Uniform ResourceLocator,统一资源定位器),HTTP参数等。分析攻击会话,关联与攻击有关的其他信息,例如:有多少攻击IP数量、总攻击请求数量等。如果对完整安全事件进行分析,而不仅是单个请求或会话,这种粒度下检视攻击,有助于解决误报问题。

计算机设备需要从海量访问日志和攻击告警日志中,区分误报和准确拦截的样本集合,样本多样性越丰富,后续误报识别的准确率就越好。但是在海量日志下,给误报规则人工打标本身就是一个工作量巨大,且效果不一定好的事情。因此,采取假象模型,假设有一个规则会拦截所有的数据,那这个规则一定全部都是误报,以此作为误报数据正样本输入。因此,计算机设备通过全量请求拦截规则集确定初始正样本。负样本则直接使用规则告警减去已知的误报数据,拿到一些可能带有一些瑕疵,但比较丰富的训练集。也就是计算机设备基于攻击请求拦截规则集确定初始负样本。

本实施例中,通过全量请求拦截规则集确定初始正样本,得到了预警请求的特征,并通过攻击请求拦截规则集确定初始负样本,得到了攻击请求的特征,便于后续基于初始正样本和初始负样本训练神经网络模型。

在一个示例性的实施例中,如图4所示,步骤204中的根据预设的评分范围和初始评分集,更新初始正样本和初始负样本,得到初始目标正样本和初始目标负样本的具体处理过程包括步骤402至步骤408。其中:

步骤402,根据预设的评分范围和初始评分集在初始正样本和初始负样本中确定初始目标特征集。

其中,初始目标特征集中包含各初始目标特征子集。

在实施中,计算机设备针对初始评分集中的每一初始评分,判断初始评分是否在预设的评分范围中。若初始评分在预设的评分范围中,计算机设备将初始评分对应的初始请求特征子集确定为初始目标特征子集。然后,计算机设备基于各初始目标特征子集构建初始目标特征集。

在一示例性实施例中,评分范围设置为0.35至0.6。若初始评分小于0.35,则表征初始评分对应的初始请求特征子集是攻击请求的特征子集。若初始评分大于0.6,则表征初始评分对应的初始请求特征子集是正常请求的特征子集。

可选的,评分范围可以设置为0.35至0.6,根据训练需求确定,本申请对评分范围不做限定。

步骤404,对各初始目标特征子集进行标注,并将携带误报标签的初始目标特征子集确定为第一初始目标特征子集。

在实施中,计算机设备确定各初始目标特征子集中的误报请求特征子集。然后,计算机设备对误报请求特征子集进行标注,得到携带误报标签的误报请求特征子集。计算机设备将携带误报标签的误报请求特征子集确定为第一初始目标特征子集。

在一个可选的实施例中,计算机设备显示各初始目标特征子集。目标用户在各初始目标特征子集中确定误报请求特征子集。响应于目标用户对初始目标特征子集的确定动作,计算机设备将初始目标特征子集确定为误报请求特征子集。然后,计算机设备对误报请求特征子集进行标注,得到携带误报标签的误报请求特征子集。计算机设备将携带误报标签的误报请求特征子集确定为第一初始目标特征子集。

步骤406,将未携带误报标签的初始目标特征子集确定为第二初始目标特征子集。

在实施中,计算机设备将各初始目标特征子集中未携带误报标签的初始目标特征子集确定为第二初始目标特征子集。

步骤408,根据各第一初始目标特征子集构建初始目标正样本,并根据各第二初始目标特征子集构建初始目标负样本。

在实施中,计算机设备基于各第一初始目标特征子集构建初始目标正样本。同时,计算机设备基于各第二初始目标特征子集构建初始目标负样本。

本实施例中,通过预设的评分范围和初始评分集确定初始目标特征集,得到了容易被预警的正常请求的特征子集和攻击请求的特征子集。然后,通过标注各初始目标特征集中的初始目标特征子集,并基于误报标签确定初始目标正样本和初始目标负样本,得到了包含容易被预警的正常请求的特征和攻击请求的特征,便于后续再次训练神经网络模型,提高神经网络模型的准确性。

在一个示例性的实施例中,如图5所示,初始目标评分集中包含各第一初始目标特征子集对应的初始目标评分和各第二初始目标特征子集对应的初始目标评分,步骤206中的根据评分范围和初始目标评分集在初始目标正样本和初始目标负样本中确定目标特征集的具体处理过程包括步骤502至步骤506。其中:

步骤502,在各第一初始目标特征子集中确定初始目标评分在评分范围中的目标特征子集。

在实施中,计算机设备针对初始目标评分子集中的每一初始目标评分,判断初始目标评分是否在评分范围内。若初始目标评分在评分范围内且初始目标评分对应第一初始目标特征子集。计算机设备将第一初始目标特征子集确定为目标特征子集。

步骤504,在各第二初始目标特征子集中确定初始目标评分在评分范围中的目标特征子集。

在实施中,若初始目标评分在评分范围内且初始目标评分对应第二初始目标特征子集。计算机设备将第二初始目标特征子集确定为目标特征子集。

步骤506,根据各目标特征子集构建目标特征集。

在实施中,计算机设备基于各目标特征子集构建目标特征集。

本实施例中,基于评分范围在第一初始目标特征子集和第二初始目标特征子集中确定目标特征集,便于后续基于目标特征集再次训练神经网络模型,提高神经网络模型的准确率。

在一个示例性的实施例中,如图6所示,步骤208的具体处理过程包括步骤602至步骤606。其中:

步骤602,将目标特征集中携带误报标签的目标特征子集确定为第一目标特征子集,并根据各第一目标特征子集构建目标正样本。

在实施中,计算机设备针对目标特征集中的每一目标特征子集,判断目标特征子集是否有携带误报标签。若目标特征子集携带有误报标签,计算机设备将目标特征子集确定为第一目标特征子集。然后,计算机设备根据各第一目标特征子集构建目标正样本。

步骤604,将目标特征集中未携带误报标签的目标特征子集确定为第二目标特征子集,并根据各第二目标特征子集构建目标负样本。

在实施中,若目标特征子集未携带有误报标签,计算机设备将目标特征子集确定为第二目标特征子集。然后,计算机设备根据各第二目标特征子集构建目标负样本。

步骤606,基于目标正样本和目标负样本训练神经网络模型,得到误报识别模型。

在实施中,计算机设备通过目标正样本和目标负样本训练神经网络模型,得到误报识别模型。该误报识别模型为高精度,高召回率的模型,用此误报识别模型对线上的真实拦截数据进行分析,或者新用户接入时,设定观察时间段,可以快速发现WAF的误报问题并且解决掉。

本实施例中,基于目标特征子集中的误报标签划分目标特征集,得到包含正常请求特征的目标正样本和包含攻击请求的目标负样本。然后,基于目标正样本和目标负样本再次训练神经网络模型,得到误报识别模型,提高了误报识别模型的准确率。另外,结合神经网络模型的区分能力,能够精确有效的发现WAF存在误报的规则,大大缩短了人工运营的时间投入,并提升了规则误报的发现率。

在一个示例性的实施例中,在得到识别结果之后,需要判断识别结果是否满足预设的误报条件,识别结果为预警请求的识别分数,如图7所示,步骤106执行之前,该误报识别方法的具体处理过程还包括步骤702至步骤706。其中:

步骤702,判断预警请求的识别分数是否在预设的正常请求的分数范围内。

在实施中,计算机设备预先设置有正常请求的分数范围。计算机设备判断预警请求的识别分数是否在正常请求的分数范围内。

在一个可选的实施例中,计算机设备中预设的正常请求的分数范围为0.5至1。计算机设备判断预警请求的识别分数是否在0.5到1之间。

可选的,正常请求的分数范围可以但不限于设置为0.5至1之间,根据误报识别需求确定,本申请实施例对正常请求的分数范围不做限定。

步骤704,若预警请求的识别分数在正常请求的分数范围内,确定预警请求的识别结果满足预设的误报条件。

在实施中,若预警请求的识别分数在正常请求的分数范围内,计算机设备确定预警请求的识别结果满足预设的误报条件。然后,计算机设备执行上述步骤106。

步骤706,若预警请求的识别分数未在正常请求的分数范围内,确定预警请求的识别结果不满足误报条件。

在实施中,若预警请求的识别分数未在正常请求的分数范围内,计算机设备确定预警请求的识别结果不满足预设的误报条件。然后,计算机设备确定预警请求为攻击请求。

在一个可选的实施例中,正常请求的分数范围为0.5至1。若预警请求的识别分数为0.2,计算机设备确定预警请求的识别结果不满足预设的误报条件。然后,计算机设备确定预警请求为攻击请求。

本实施例中,基于预设的误报条件和识别结果对预警请求进行分类,得到正常请求和正常请求,便于后续修改WAF的拦截规则,增强拦截规则的合理性。

应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的误报识别方法的误报识别装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个误报识别装置实施例中的具体限定可以参见上文中对于误报识别方法的限定,在此不再赘述。

在一个示例性的实施例中,如图8所示,提供了一种误报识别装置800,包括:获取模块801、识别模块802和确定模块803,其中:

获取模块801,用于获取各预警请求;预警请求为网络应用程序防火墙拦截的请求。

识别模块802,用于针对每一预警请求,通过误报识别模型对预警请求进行识别处理,得到预警请求对应的识别结果;误报识别模型是基于包含正常请求特征的目标正样本和包含攻击请求特征的目标负样本训练得到的。

确定模块803,用于在预警请求对应的识别结果满足预设的误报条件的情况下,确定预警请求为误报请求,并将误报请求重新确定为正常请求。

在一示例性实施例中,该误报识别装置800还包括:

第二确定模块,用于基于全量请求拦截规则集确定初始正样本,并基于攻击请求拦截规则集确定初始负样本。

第一更新模块,用于根据初始正样本和初始负样本训练预设的神经网络模型,得到初始评分集,并根据预设的评分范围和初始评分集,更新初始正样本和初始负样本,得到初始目标正样本和初始目标负样本。

第一训练模块,用于根据初始目标正样本和初始目标负样本训练神经网络模型,得到初始目标评分集,并根据评分范围和初始目标评分集在初始目标正样本和初始目标负样本中确定目标特征集。

第二训练模块,用于基于目标特征集确定目标正样本和目标负样本,并基于目标正样本和目标负样本训练神经网络模型,得到误报识别模型。

在一示例性实施例中,第二确定模块包括:

第一拦截子模块,用于根据全量请求拦截规则集,对接收到的全量请求进行拦截,得到第一初始请求集;全量请求拦截规则集中包含各全量请求拦截规则;第一初始请求集中包含各第一初始请求。

第一提取子模块,用于根据各第一初始请求中的主机名和各全量请求拦截规则中的标识,对第一初始请求集进行特征提取,得到初始正样本。

第二拦截子模块,用于根据攻击请求拦截规则集,对全量请求进行拦截,得到第二初始请求集;规则集中包含各攻击请求拦截规则;第二初始请求集中包含各第二初始请求。

第二提取子模块,用于根据各第二初始请求中的主机名和各攻击请求拦截规则中的标识,对第二初始请求集进行特征提取,得到初始负样本。

在一示例性实施例中,第一更新模块包括第一训练子模块和第一更新子模块。其中,第一更新子模块包括:

第一确定子模块,用于根据预设的评分范围和初始评分集在初始正样本和初始负样本中确定初始目标特征集;初始目标特征集中包含各初始目标特征子集。

第二确定子模块,用于对各初始目标特征子集进行标注,并将携带误报标签的初始目标特征子集确定为第一初始目标特征子集。

第三确定子模块,用于将未携带误报标签的初始目标特征子集确定为第二初始目标特征子集。

第一构建子模块,用于根据各第一初始目标特征子集构建初始目标正样本,并根据各第二初始目标特征子集构建初始目标负样本。

在一示例性实施例中,初始目标评分集中包含各第一初始目标特征子集对应的初始目标评分和各第二初始目标特征子集对应的初始目标评分,第一训练模块包括第二训练子模块和第四确定子模块。其中,第四确定子模块包括:

第五确定子模块,用于在各第一初始目标特征子集中确定初始目标评分在评分范围中的目标特征子集。

第六确定子模块,用于在各第二初始目标特征子集中确定初始目标评分在评分范围中的目标特征子集。

第二构建子模块,用于根据各目标特征子集构建目标特征集。

在一示例性实施例中,第二训练模块包括:

第七确定子模块,用于将目标特征集中携带误报标签的目标特征子集确定为第一目标特征子集,并根据各第一目标特征子集构建目标正样本。

第八确定子模块,用于将目标特征集中未携带误报标签的目标特征子集确定为第二目标特征子集,并根据各第二目标特征子集构建目标负样本。

第三训练子模块,用于基于目标正样本和目标负样本训练神经网络模型,得到误报识别模型。

在一示例性实施例中,识别结果为预警请求的识别分数该误报识别装置800还包括:

判断模块,用于判断预警请求的识别分数是否在预设的正常请求的分数范围内。

第三确定模块,用于若预警请求的识别分数在正常请求的分数范围内,确定预警请求的识别结果满足预设的误报条件。

第四确定模块,用于若预警请求的识别分数未在正常请求的分数范围内,确定预警请求的识别结果不满足误报条件。

上述误报识别装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个示例性的实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种误报识别方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。

在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

相关技术
  • 一种考虑开挖时效顺序的双线隧道地层沉降预测方法
  • 一种考虑刀盘挤压地层变形的盾构开挖面地表沉降预测方法
技术分类

06120116538973