本发明提出了一种基于熵度量的时序数据分类异常检测方法和系统,属于数据异常检测。
背景技术:
1、作为现代数据挖掘领域的基础任务之一,时间序列分类在股票价格预测、网络流量分析等关键应用中起着重要作用。深度学习,特别是其非线性结构的深度神经网络(dnn),被认为是解决时间序列分类问题的有力工具。然而,dnn的强大学习能力也带来了安全风险,例如容易遭受后门攻击。在这种攻击中,攻击者会在dnn模型中嵌入隐藏层(也称为后门),并通过精心设计的输入(称为触发器)来激活这一后门功能。后门的嵌入可能会导致分类模型接收到带有触发器的输入时分类结果异常,输入时序数据将会被错误地分类到攻击者的目标标签中。攻击者借此可以实现攻击目的。
技术实现思路
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、本发明提出的一种基于熵度量的时序数据分类异常检测方法和系统,具体是一种基于熵度量的时序数据分类异常检测办法,分类器接收到输入的时序数据时对时序数据进行多份克隆,并分别施加不同的扰动,对施加扰动后的数据进行分类,计算分类结果的混乱程度——熵度量值,如果输入数据中包含触发器则分类结果熵值偏低,拒绝该输入。当时序数据分类模型被植入后门后,攻击者使用触发器攻击时,本方法可以检测出输入中是否含有触发器,并拒绝含有触发器的模型,通过这种办法可以避免时序数据分类模型对触发器进行错误分类,避免用户遭受时序数据分类后门攻击的威胁。