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.图1为本发明实施例中提供的一种接口异常检测方法的流程示意图一;
38.图2为本发明实施例中提供的一种接口异常检测方法的流程示意图二;
39.图3为本发明实施例中提供的一种接口异常检测方法的流程示意图三;
40.图4为本发明实施例中提供的一种接口异常检测方法的流程示意图四;
41.图5为本发明实施例中提供的一种接口异常检测装置的结构示意图。
具体实施方式
42.为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
43.本发明实施例中提供了一种接口异常检测方法,图1示出了本发明一个实施例提供的接口异常检测方法的流程示意图一。如图1所示,该方法可以包括如下步骤:
44.步骤101,获取接口的历史日志数据。
45.步骤102,基于历史日志数据,生成接口在目标时段内的多种特征的特征值。其中,多种特征至少包括与响应情况相关的特征。
46.可选地,与响应情况相关的特征可以包括每次响应的响应时间、响应成功率和响应时间均值,多种特征还可以包括目标时段内的业务量。
47.历史日志数据中包括能够计算出特征的数据,例如,对于响应时间均值,可以是通过获取历史日志数据中多次响应的响应时间并求均值得到。
48.步骤103,通过已训练的支持向量模型分析多种特征的特征值,判断接口在目标时段的异常状态。
49.支持向量模型/支持向量机(support vector machine,svm)是一类按监督学习方式对数据进行二元分类的广义线性分类器。svm基于统计学习理论对有限样本进行学习,以找到高维空间中的最优超平面来对样本进行分类。
50.设有限样本的训练集为d,d={(x1,y1),...,(xi,yi)},x∈rm,y∈[-1,1],其中,xi为输入的第i个样本,yi为针对xi设置的标签。如果存在一个超平面使得ωx+b=0(其中,ω为超平面的法向量的转置,b是超平面的常数项)没有被错误的分开,最优超平面问题可转化为以下最优问题:
[0051][0052]
其中,||ω||为超平面的2范数,即ω向量的模长。s.t.表示约束条件,其目标函数为
[0053]
当分类问题是非线性时,svm通过核函数k(xi·
xj)将样本x映射到高维空间h,然后在高维空间h中对原始问题进行线性划分,其最优决策函数f(x)为:
[0054][0055]
其中,αi为待求解的条件极值。
[0056]
可选地,通过已训练的支持向量模型分析多种特征的特征值的步骤可以包括如图2所示的如下步骤:
[0057]
步骤201,将多种特征的特征值构建成预设格式的特征值矩阵;
[0058]
步骤202,将特征值矩阵输入支持向量模型。
[0059]
在使用支持向量模型时,可以将多种特征的特征值构建成预设格式的特征值矩阵,其中,支持向量模型在训练时以相同结构的特征值矩阵作为训练数据进行训练。将特征值矩阵输入至支持向量模型之后,可以得到输出的结果,将输入的特征值矩阵分类至异常或正常两个类别中的一个类别。
[0060]
如图3所示,在通过已训练的支持向量模型分析多种特征的特征值之前,还需要对支持向量模型进行训练,相应地,该方法还可以包括:
[0061]
步骤301,在历史日志数据中,提取接口在不同时段内的参数数据;
[0062]
步骤302,根据参数数据,生成多种特征的特征值;
[0063]
步骤303,获取针对每个时段的特征值标记的标签;其中,标签用于标记对应时段内接口的异常状态;
[0064]
步骤304,将每个时段的特征值和标签作为训练样本,对支持向量模型进行训练,得到已训练的支持向量模型。
[0065]
在支持向量模型训练时,可以通过统计接口的历史数据,将响应时间、成功率、交易量、响应时间均值等特征值构建为特征值矩阵,人工对特征值矩阵打标签(标记特征值矩阵对应的接口状态是正常或异常),进而,使用大量的特征值矩阵作为训练数据训练支持向量模型,可以得到接口状态判断器,即训练好的支持向量模型。
[0066]
步骤104,在接口的异常状态为异常的情况下发出告警。
[0067]
在通过步骤103判断出接口的异常状态之后,在接口的异常状态为异常的情况下发出告警。
[0068]
这样,支持向量机基于统计学习理论对有限样本进行学习,以找到高维空间中的最优超平面来对样本进行分类,不同于传统的使用单一特征来判断接口状态的方法,支持向量机综合了多种特征构建支持向量来判断接口状态,能够显著的降低虚警率,其中,虚警率是指虚假告警占所有告警的比例。
[0069]
在一个示例中,如图4所示,本发明实施例提供的接口异常检测方法可以通过如下四个模块组成的结构实现:
[0070]
1.接口状态判断器(支持向量模型)训练模块:利用历史数据训练支持向量模型。
[0071]
2.特征计算模块:实时计算接口的特征值,并构建特征矩阵。
[0072]
3.接口状态判断器:判断接口状态。
[0073]
4.通知模块:当接口状态判断为异常时发出告警,还可以通知正常状态,除此之外,还可以通知当前的特征值等数据,以用于工作人员后续进行进一步的分析等用途。
[0074]
基于上述的模块架构,在一个应用场景中,可以通过特征计算模块接收接口的日志数据,并计算特征构建特征向量,然后,通过接口状态判断器接收特征计算模块传递的特征向量,并判断接口状态,在通知模块接收接口状态判断模块的判断结果之后,如果接口状态异常则产生告警。
[0075]
本发明实施例中,在获取接口的历史日志数据之后,基于历史日志数据,生成接口在目标时段内的多种特征的特征值;其中,多种特征至少包括与响应情况相关的特征;进而,通过已训练的支持向量模型分析多种特征的特征值,判断接口在目标时段的异常状态;
从而可以在接口的异常状态为异常的情况下发出告警。与现有技术中使用响应指标是否超过阈值的判定方法来检测接口是否异常的技术方案相比,通过支持向量模型分析多种特征的特征值,判断接口在目标时段的异常状态,可以减少接口异常检测的虚假报警现象。
[0076]
本发明实施例中还提供了一种接口异常检测装置,如下面的实施例所述。由于该装置解决的问题及原理与本发明实施例提供的接口异常检测方法相似,因此该装置的实施可以参见接口异常检测方法的实施,重复之处不再赘述。
[0077]
如图5所示,该装置包括第一获取单元10,第一生成单元20,判断单元30和告警单元40。
[0078]
第一获取单元10用于获取接口的历史日志数据;
[0079]
第一生成单元20用于基于历史日志数据,生成接口在目标时段内的多种特征的特征值;其中,多种特征至少包括与响应情况相关的特征;
[0080]
判断单元30用于通过已训练的支持向量模型分析多种特征的特征值,判断接口在目标时段的异常状态;
[0081]
告警单元40用于在接口的异常状态为异常的情况下发出告警。
[0082]
可选地,判断单元30可以包括:
[0083]
构建子单元,用于将多种特征的特征值构建成预设格式的特征值矩阵;
[0084]
输入子单元,用于将特征值矩阵输入支持向量模型。
[0085]
可选地,该装置还可以包括:
[0086]
提取单元,用于在通过已训练的支持向量模型分析多种特征的特征值之前,在历史日志数据中,提取接口在不同时段内的参数数据;
[0087]
第二生成单元,用于根据参数数据,生成多种特征的特征值;
[0088]
第二获取单元,用于获取针对每个时段的特征值标记的标签;其中,标签用于标记对应时段内接口的异常状态;
[0089]
训练单元,用于将每个时段的特征值和标签作为训练样本,对支持向量模型进行训练,得到已训练的支持向量模型。
[0090]
可选地,与响应情况相关的特征可以包括每次响应的响应时间、响应成功率和响应时间均值,多种特征还可以包括目标时段内的业务量。
[0091]
本发明实施例中,在获取接口的历史日志数据之后,基于历史日志数据,生成接口在目标时段内的多种特征的特征值;其中,多种特征至少包括与响应情况相关的特征;进而,通过已训练的支持向量模型分析多种特征的特征值,判断接口在目标时段的异常状态;从而可以在接口的异常状态为异常的情况下发出告警。与现有技术中使用响应指标是否超过阈值的判定方法来检测接口是否异常的技术方案相比,通过支持向量模型分析多种特征的特征值,判断接口在目标时段的异常状态,可以减少接口异常检测的虚假报警现象。
[0092]
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述接口异常检测方法。
[0093]
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述接口异常检测方法。
[0094]
本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程
序,所述计算机程序被处理器执行时实现上述接口异常检测方法。
[0095]
本发明实施例中,在获取接口的历史日志数据之后,基于历史日志数据,生成接口在目标时段内的多种特征的特征值;其中,多种特征至少包括与响应情况相关的特征;进而,通过已训练的支持向量模型分析多种特征的特征值,判断接口在目标时段的异常状态;从而可以在接口的异常状态为异常的情况下发出告警。与现有技术中使用响应指标是否超过阈值的判定方法来检测接口是否异常的技术方案相比,通过支持向量模型分析多种特征的特征值,判断接口在目标时段的异常状态,可以减少接口异常检测的虚假报警现象。
[0096]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0097]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0098]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0099]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0100]
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:1.一种接口异常检测方法,其特征在于,包括:获取接口的历史日志数据;基于所述历史日志数据,生成所述接口在目标时段内的多种特征的特征值;其中,所述多种特征至少包括与响应情况相关的特征;通过已训练的支持向量模型分析所述多种特征的特征值,判断所述接口在所述目标时段的异常状态;在所述接口的异常状态为异常的情况下发出告警。2.如权利要求1所述的方法,其特征在于,所述通过已训练的支持向量模型分析所述多种特征的特征值,包括:将所述多种特征的特征值构建成预设格式的特征值矩阵;将所述特征值矩阵输入所述支持向量模型。3.如权利要求1所述的方法,其特征在于,在通过已训练的支持向量模型分析所述多种特征的特征值之前,所述方法还包括:在所述历史日志数据中,提取所述接口在不同时段内的参数数据;根据所述参数数据,生成所述多种特征的特征值;获取针对每个时段的特征值标记的标签;其中,所述标签用于标记对应时段内所述接口的异常状态;将每个时段的特征值和标签作为训练样本,对所述支持向量模型进行训练,得到所述已训练的支持向量模型。4.如权利要求1所述的方法,其特征在于,所述与响应情况相关的特征包括每次响应的响应时间、响应成功率和响应时间均值,所述多种特征还包括所述目标时段内的业务量。5.一种接口异常检测装置,其特征在于,包括:第一获取单元,用于获取接口的历史日志数据;第一生成单元,用于基于所述历史日志数据,生成所述接口在目标时段内的多种特征的特征值;其中,所述多种特征至少包括与响应情况相关的特征;判断单元,用于通过已训练的支持向量模型分析所述多种特征的特征值,判断所述接口在所述目标时段的异常状态;告警单元,用于在所述接口的异常状态为异常的情况下发出告警。6.如权利要求5所述的装置,其特征在于,所述判断单元包括:构建子单元,用于将所述多种特征的特征值构建成预设格式的特征值矩阵;输入子单元,用于将所述特征值矩阵输入所述支持向量模型。7.如权利要求5所述的装置,其特征在于,所述装置还包括:提取单元,用于在通过已训练的支持向量模型分析所述多种特征的特征值之前,在所述历史日志数据中,提取所述接口在不同时段内的参数数据;第二生成单元,用于根据所述参数数据,生成所述多种特征的特征值;第二获取单元,用于获取针对每个时段的特征值标记的标签;其中,所述标签用于标记对应时段内所述接口的异常状态;训练单元,用于将每个时段的特征值和标签作为训练样本,对所述支持向量模型进行训练,得到所述已训练的支持向量模型。
8.如权利要求5所述的装置,其特征在于,所述与响应情况相关的特征包括每次响应的响应时间、响应成功率和响应时间均值,所述多种特征还包括所述目标时段内的业务量。9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4任一所述方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至4任一所述方法。11.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至4任一所述方法。
技术总结本发明公开了一种接口异常检测方法及装置,涉及网络安全技术领域。其中该方法包括:获取接口的历史日志数据;基于历史日志数据,生成接口在目标时段内的多种特征的特征值;其中,多种特征至少包括与响应情况相关的特征;通过已训练的支持向量模型分析多种特征的特征值,判断接口在目标时段的异常状态;在接口的异常状态为异常的情况下发出告警。本发明可以减少接口异常检测的虚假报警现象。以减少接口异常检测的虚假报警现象。以减少接口异常检测的虚假报警现象。
技术研发人员:傅亚敏 陈颖 杨彬 郝佳 姚一泽 郭雯 任方园 李昂
受保护的技术使用者:中国银行股份有限公司
技术研发日:2022.09.01
技术公布日:2022/12/1