一种对抗样本生成方法、装置及计算机可读存储介质与流程
未命名
08-12
阅读:79
评论:0
1.本发明涉及网络安全技术领域,尤其涉及一种对抗样本生成方法、装置及介质。
背景技术:
2.信息技术(it)与运营技术(ot)的融合是现代工业系统发展的重要趋势。it长期以来一直用于管理业务运营,而ot传统上用于控制和监控工业流程。然而,工业系统对实时数据处理、机器学习和人工智能(ai)的需求不断增长,这催生了对it和ot集成的需求,从而产生了工业物联网(iiot)。iiot使生产线上的设备相互连接,形成自动化生产流程,从而提高生产率和质量。
3.随着工业物联网的发展,原本处于物理隔离状态的ot系统面临着各种威胁。因此在iiot中,保证系统安全对于确保系统可靠地运行至关重要。这些组件中的任何一个发生故障都可能产生重大后果,包括设备损坏、安全事故、经济损失,甚至威胁到人的生命。
4.近年来,在工业物联网中使用深度学习模型进行异常检测越来越流行,它确保了工业系统的安全。然而,这些模型容易受到对抗性攻击,这些攻击是由攻击者故意计算以逃避检测或导致系统故障,从而损害信息物理系统(cps)的功能安全和信息安全。其中一种对抗性攻击是时间对抗性攻击,指通过对输入时间序列添加扰动来生成时间序列对抗样本,从而引起序列数据的细微变化,从而逃避异常检测模型的检测。
5.论文“anthi e,williams l,rhode m,et al.adversarial attacks on machine learning cybersecurity defences in industrial control systems[j].journal of information security and applications,2021,58:102717.”提出了一种基于雅可比矩阵的显著图生成对抗样本的方法。该方法首先计算整个神经网络函数关于输入的雅可比行列式,随后使用雅可比行列式来计算显著图,标识出输入数据的特征与模型决策的相关性排序。最后,确定添加的噪声是否导致目标模型错误分类,如果噪声没有影响模型的性能,则选择另一组特征并进行新的迭代,直到出现可用于生成对抗样本的显著图,实现对抗样本的生成。
[0006]
论文“wu t,wang x,qiao s,et al.small perturbations are enough:adversarial attacks on time series prediction[j].information sciences,2022,587:794-812.”提出了一种针对时间序列预测的对抗性攻击。该方法根据重要性尺度制作了一个对抗性时间序列,以稍微扰乱原始数据,并利用预测模型的梯度信息,提出了一种基于扰动的对抗样本生成算法。
[0007]
论文“anthi e,williams l,rhode m,et al.adversarial attacks on machine learning cybersecurity defences in industrial control systems[j].journal of information security and applications,2021,58:102717.”虽然通过使用基于雅可比矩阵生成了工业控制网络的对抗样本,并使用对抗训练提高目标监督模型的安全性和鲁棒性。但是该方法在使用传统的公开数据集时没有考虑数据中存在的时序关系,因此该方法在生成对抗样本时并未考虑工业场景的时序特性。
[0008]
论文“wu t,wang x,qiao s,et al.small perturbations are enough:adversarial attacks on time series prediction[j].information sciences,2022,587:794-812.”使用预测模型的梯度信息,重要性测量制作对抗性时间序列,以微小扰动生成时序对抗样本,但对于微小扰动的时序对抗样本,文章并没有考虑到工业数据的特性,没有考虑时序数据的平滑度。
[0009]
综上所述,现有的时序对抗样本生成方法存在考虑问题片面、场景过于单一等问题,导致其难以在工业控制网络中进行实际使用,实用性不高。
技术实现要素:
[0010]
本发明的目的是针对工业时序异常检测系统,提出一种对抗样本生成方法、装置及介质。该方法能够针对工业场景的轮询周期固定,时序数据可预测强,噪声敏感等特点,对时序异常检测系统进行对抗样本攻击。
[0011]
本发明的技术方案如下:
[0012]
一种对抗样本生成方法,具体包括步骤如下:
[0013]
步骤一:根据工业时序数据获得搭建时序异常检测模型训练数据;
[0014]
步骤二:使用训练数据x
train
和真实训练标签y
train
作为输入时序数据对时序异常检测模型进行训练;
[0015]
步骤三:通过经步骤二训练后的时序异常检测模型,根据测试数据x
test
计算模型测试预测值并计算与真实测试标签y
test
之间的异常分数,根据异常分数的数据分布,通过高斯分布异常检测算法确定概率阈值∈;
[0016]
步骤四:基于训练后的时序异常检测模型和概率阈值∈对测试数据x
test
进行变量化扰动计算,将扰动添加至测试数据x
test
上,生成相应的时序对抗样本。
[0017]
所述步骤一具体为:
[0018]
步骤1.1、从工业时序数据中提取时序传感器数据和对应标签,对时序传感器数据进行标准化和归一化处理;
[0019]
步骤1.2、对步骤1.1获得的数据中缺失值进行查询补0;
[0020]
步骤1.3、设定滑动窗口大小w
x
,对步骤1.2的数据进行时序化处理,得到训练数据x
train
、真实训练标签y
train
、测试数据x
test
、真实测试标签y
test
、异常分类标签y
label
。
[0021]
所述时序异常检测模型以长短期记忆神经网络lstm网络为基础,lstm网络包括多个神经元,每个神经元包括遗忘门、输入门和输出门。
[0022]
所述步骤二具体为:
[0023]
步骤2.1、通过遗忘门决定时序异常检测模型训练过程中保留的信息,计算公式如下:
[0024]ft
=sigmoid(wf·
[h
t-1
,x
t
]+bf)
[0025]
其中,wf是遗忘门的权重矩阵,[h
t-1
,x
t
]表示连接门输出与神经元输出,bf表示遗忘门的偏置值,f
t
表示遗忘门的状态,它决定了t-1时刻的神经元状态保留到t时刻的神经元状态的比例;
[0026]
步骤2.2、通过输入门更新时序异常检测模型的神经元状态,计算公式如下:
[0027]it
=sigmoid(wi·
[h
t-1
,x
t
]+bi)
[0028]ct
=tanh(wc·
[h
t-1
,x
t
]+bc)
[0029]
其中,i
t
表示输入门的状态,c
t
表示时序异常检测模型输入门的输出值;wi、bi分别表示输入门中传入sigmoid函数计算的权重矩阵和偏置值;wc、bc分别表示输入门中传入tanh函数计算的权重矩阵和偏置值;
[0030]
步骤2.3、通过输出门确定时序异常检测模型神经元状态的值,并进行迭代训练,计算公式如下:
[0031]ht
=sigmoid(wo·
[h
t-1
,x
t
]+bo)
⊙
tanh(c
t
)
[0032]
其中,
⊙
表示点乘,h
t
表示时序异常检测模型输出门输出的神经元状态;wo、bo表示输出门的权重矩阵和偏置值;
[0033]
步骤2.4、通过梯度下降算法最小化损失函数使得时序异常检测模型收敛,得到训练后的时序异常检测模型,损失函数公式如下:
[0034][0035]
其中,表示模型训练预测值,y
train
表示真实训练标签。
[0036]
所述异常分数通过高斯分布计算,具体步骤包括:
[0037]
步骤3.1、采用模型测试预测值与真实测试标签y
test
的差值作为高斯分布异常检测算法的变量:
[0038][0039]
步骤3.2、计算差值err的均值μ和标准差σ;
[0040][0041][0042]
其中,m表示差值err数据的维度;
[0043]
步骤3.3、对测试数据x
test
进行异常数据点检测时,将差值带入以下方程,计算异常分数:
[0044][0045]
步骤3.4、使用高斯分布异常检测算法,根据异常分数分布设置概率阈值∈,当anomalyscore《∈,将对应的数据点视为异常样本。
[0046]
所述步骤四具体包括:
[0047]
步骤4.1、根据训练后的时序异常检测模型,计算梯度攻击方法中的攻击方向direction;
[0048]
[0049]
其中,sign为符号函数,l为训练后的时序异常检测模型的损失函数,表示以测试数据x
test
为自变量计算梯度、θ表示训练后的时序异常检测模型的权重参数;
[0050]
步骤4.2、计算扰动r=∈
·
direction,为了使数据中的每个数据维度在攻击下的幅度不同,以达到减小扰动幅度的效果,以∈为变量构建目标函数,通过梯度计算对测试数据x
test
中每个窗口大小为w
x
的单数据维度重要性进行排序,计算扰动:
[0051]
p=(f(x)-f(x+r))
[0052]
其中,f(x)表示训练后的时序异常检测模型的输出;
[0053]
步骤4.3、对计算扰动加入l2范数的正则惩罚项,对扰动总量进行限制;为了保证生成的时序对抗样本与模型训练预测值的波形平滑,加入岭回归惩罚项,生成对抗样本:
[0054][0055]
其中,||
·
||2表示l2范数,γ是控制扰动生成尺度的超参数,α和λ分别是控制||∈||2正则化的超参数和控制岭回归惩罚项的超参数;
[0056]
步骤4.4、使用梯度下降方法对对抗样本进行求解,并得到变量化扰动方法生成的针对工业场景的时序对抗样本;
[0057]
x
attack
=∈
*
·
direction+x
test
[0058]
步骤4.5、利用训练后的时序异常检测模型对时序对抗样本x
attack
进行预测,计算原数据预测值小于阈值且对抗样本预测值大于阈值的数据点的数量并计算所占比例,以此表示对抗样本攻击成功的样本数量所占总样本的比例。
[0059]
一种对抗样本生成装置,包括:
[0060]
网络模块,用于捕获工业时序数据;
[0061]
存储器,用于存储捕获的工业时序数据和计算机程序;
[0062]
处理器,用于执行所述存储器中存储的计算机程序,当所述计算机程序被执行时,所述处理器用于:
[0063]
将工业时序数据搭建为时序异常检测模型训练数据;
[0064]
用训练数据x
train
和真实训练标签y
train
作为输入时序数据对时序异常检测模型进行训练;
[0065]
将训练后的时序异常检测模型根据测试数据x
test
计算模型测试预测值并计算与真实测试标签y
test
之间的异常分数,根据异常分数的数据分布,通过高斯分布异常检测算法确定概率阈值∈;
[0066]
针对训练后的时序异常检测模型和概率阈值∈对测试数据x
test
进行变量化扰动计算,将扰动添加至测试数据x
test
上,生成相应的时序对抗样本x
attack
。
[0067]
所述处理器包括数据处理模块,所述数据处理模块从工业时序数据中提取时序传感器数据和对应标签,对时序传感器数据进行标准化和归一化处理;对标准化和归一化处理后的时序传感器数据中缺失值进行查询补0;设定滑动窗口大小w
x
,对查询补0后的数据进行时序化处理,得到训练数据x
train
、真实训练标签y
train
、测试数据x
test
、真实测试标签ytest
、异常分类标签y
label
。
[0068]
所述时序异常检测模型以lstm网络为基础lstm网络包括多个神经元,每个神经元包括遗忘门、输入门和输出门。
[0069]
一种计算机可读存储介质,存储计算机程序,所述计算机程序可被处理器执行以实现对抗样本生成方法。
[0070]
本发明的有益效果:提出一种针对工业控制网络的时序对抗样本攻击方法,通过变量化的扰动计算,使对抗样本只需添加较小的扰动就能保持良好的攻击效果,使对抗样本避免被当做噪声而被工业系统识别并清洗,提高攻击的成功率:
[0071]
(1)使用长短期记忆神经网络对工业控制网络数据进行预测,充分利用工业数据的强时序性特点。
[0072]
(2)使用模型的预测值和真实值作为自变量,使用高斯分布的异常检测算法搭建安全基线,拟合工业数据的正常数据数量远高于异常数据的特点。
[0073]
(3)使用扰动变量化的攻击方法对模型进行攻击,生成相应的时序对抗样本,在保证攻击性的前提下,使扰动幅度小、时序数据平滑。
附图说明
[0074]
图1为时序对抗样本生成方法流程图;
[0075]
图2(a)为lit101训练数据的波形图;
[0076]
图2(b)为lit101测试数据的波形图;
[0077]
图3(a)为dpit301训练数据的波形图;
[0078]
图3(b)为dpit301测试数据的波形图;
[0079]
图4(a)为lit301训练数据的波形图;
[0080]
图4(b)为lit301测试数据的波形图;
[0081]
图5为基于lit101数据,使用本发明算法vpgm生成的对抗样本与真实测试预测值的波形比较;
[0082]
图6为基于lit101数据生成,使用本发明算法vpgm生成的对抗样本异常分数与真实测试预测值异常分数比较;
[0083]
图7(a)为lit101的真实数据波形;
[0084]
图7(b)为当γ=0.5时,lit101的真实数据波形与本发明算法vpgm生成的对抗样本波形比较;
[0085]
图7(c)为当γ=1时,lit101的真实数据波形与对抗样本波形比较;
[0086]
图7(d)为当γ=1.5时,lit101的真实数据波形与对抗样本波形比较;
[0087]
图7(e)为当γ=2时,lit101的真实数据波形与对抗样本波形比较;
[0088]
图7(f)为lit101的真实数据波形与经典对抗样本算法fgsm、bim、pgd生成的对抗样本的波形比较;
[0089]
图8为对抗样本生成装置示意图。
具体实施方式
[0090]
下面结合附图和实例,对本发明的具体实施方式做进一步详细描述。
[0091]
(1)本发明使用安全水处理系统数据集中时序特征较强的“lit101”、“lit301”、“dpit301”三组数据,充分反应工业场景下的时序特性。(2)本发明通过构建时序异常检测模型,使用异常分数搭建安全基线,模拟工业场景的防护手段。(3)在生成时序对抗样本时,通过使扰动变量化,并使用迭代方法对梯度进行多次计算,以保证达到攻击效果的前提下最小程度修改样本,同时保证对抗样本的平滑性。
[0092]
本实例使用公开安全水处理系统数据集中“lit101”、“lit301”、“dpit301”三组数据,通过修改传感器值大小达到水位上升、上水功能损坏、传感器破坏、系统崩溃等攻击行为,具体的传感器数据分布情况如图2-图4所示。一种对抗样本生成方法,如图1所示,步骤如下:
[0093]
步骤一:根据工业时序数据获得搭建时序异常检测模型训练数据,具体步骤为:
[0094]
步骤1.1、从工业时序数据中提取时序传感器数据和对应标签,对时序传感器数据进行标准化和归一化处理,计算公式如下。
[0095][0096][0097]
步骤1.2、对步骤1.1获得的数据中缺失值进行查询补0;
[0098]
步骤1.3、设定滑动窗口大小w
x
,对步骤1.2的数据进行时序化处理,得到训练数据x
train
、真实训练标签y
train
、测试数据x
test
、真实测试标签y
test
、异常分类标签y
label
;
[0099]
步骤二:使用训练数据和训练预测值作为输入时序数据对时序异常检测模型进行训练,使用(20,128,128)的长短期记忆网络,并使用0.01的dropout模块保证模型训练的正确拟合,该步骤的具体思路为;
[0100]
步骤2.1、利用遗忘门决定神经网络模型训练过程中保留的信息,计算公式如下:
[0101]ft
=σ(wf·
[h
t-1
,x
t
]+bf)
[0102]
其中,wf是遗忘门的权重矩阵,[h
t-1
,x
t
]表示连接门输出与神经元输出,bf表示遗忘门的偏置值σ表示使用sigmoid函数。
[0103]
步骤2.2、利用输入门更新神经网络模型的神经元状态,计算公式如下:
[0104]it
=σ(wi·
[h
t-1
,x
t
]+bi)
[0105]ct
=tanh(wc·
[h
t-1
,x
t
]+bc)
[0106]
其中,c
t
表示神经网络模型输入门的输出值;wi、bi表示输入门中传入sigmoid函数计算的权重矩阵和偏置值;wc、bc表示输入门中传入tanh函数计算的权重矩阵和偏置值。
[0107]
步骤2.3、利用输出门确定神经网络模型神经元状态的值,并进行迭代训练,计算公式如下:
[0108]ht
=σ(wo·
[h
t-1
,x
t
]+bo)
⊙
tanh(c
t
)
[0109]
其中,
⊙
表示点乘,h
t
表示神经网络模型输出门输出的神经元状态;wo、bo表示输出门的权重矩阵和偏置值。
[0110]
步骤2.4、通过梯度下降算法最小化损失函数使得神经网络模型m收敛,最终得到时序预测模型,损失函数公式如下:
[0111][0112]
其中,表示模型训练预测值,y
train
表示真实训练标签;
[0113]
步骤三:使用上述时序异常检测模型计算异常分数,使用高斯分布建立安全基线,具体步骤包括:
[0114]
步骤3.1、采用模型测试预测值与真实测试标签y
test
的差值作为高斯分布异常检测算法的变量:
[0115][0116]
步骤3.2、然后计算差值的均值μ和标准差σ。
[0117][0118][0119]
步骤3.3、需要对样本进行异常数据点检测时,将差值带入方程,计算异常分数:
[0120][0121]
步骤3.4、使用高斯分布异常检测算法,根据异常分数设置概率阈值∈,当anomalyscore《∈,将对应的数据点视为异常样本。
[0122]
步骤四:针对时序异常检测模型生成相应的时序对抗样本,并与原测试数据的预测值进行比较。具体步骤包括:
[0123]
步骤4.1、据时序异常检测模型,计算梯度攻击方法中的攻击方向direction。
[0124][0125]
其中,sign为符号函数,l为时序异常预测模型的损失函数,表示以测试数据x
test
为自变量计算梯度、θ表示时序异常预测模型的权重参数。
[0126]
步骤4.2、计算扰动r=∈
·
direction,为了使数据中的每个数据维度在攻击下的幅度不同,以达到减小扰动幅度的效果,选择∈为变量构建目标函数,通过梯度计算对序列中数据点的重要性进行排序,计算扰动:
[0127]
p=(f(x)-f(x+r))
[0128]
其中,f(x)表示时序异常预测模型的输出,使用argmax函数对问题进行描述。
[0129]
步骤4.3、为了保证在产生时间扰动时扰动的数量较小。通过加入的l2范数的正则惩罚项对扰动总量进行限制;为了保证序列的波形平滑,加入了岭回归惩罚项,生成对抗样本:
[0130][0131]
其中,||
·
||2表示l2范数,μ是控制扰动生成尺度的超参数,α和λ是控制||∈||2正则化和岭回归惩罚项的超参数
[0132]
步骤4.4、使用梯度下降方法对方程进行求解,并得到变量化扰动方法生成的针对工业场景的时序对抗样本
[0133]
x
attack
=∈
*
·
direction+x
[0134]
步骤4.5、利用时序异常预测模型对时序对抗样本x
attack
进行预测,计算原数据预测值小于阈值,对抗样本预测值大于阈值的数据点所占比例。
[0135]
如图8所示,一种对抗样本生成装置,包括:网络模块,用于捕获工业时序数据;存储器,用于存储捕获的工业时序数据和计算机程序;处理器,用于执行所述存储器中存储的计算机程序,当所述计算机程序被执行时,所述处理器用于:将工业时序数据搭建为时序异常检测模型训练数据;用训练数据x
train
和真实训练标签y
train
作为输入时序数据对时序异常检测模型进行训练;将训练后的时序异常检测模型根据训练数据x
train
计算模型训练预测值,计算模型训练预测值与真实训练标签y
train
之间的异常分数,并建立安全基线;针对训练后的时序异常检测模型生成相应的时序对抗样本,并与原测试数据的预测值进行比较。
[0136]
所述处理器包括数据处理模块,所述数据处理模块从工业时序数据中提取时序传感器数据和对应标签,对时序传感器数据进行标准化和归一化处理;对标准化和归一化处理后的时序传感器数据中缺失值进行查询补0;设定滑动窗口大小w
x
,对查询补0后的数据进行时序化处理,得到训练数据x
train
、真实训练标签y
train
、测试数据x
test
、真实测试标签y
test
、异常分类标签y
label
。
[0137]
工业设备正常运行时的传感器数据使用滑动窗口划分为时序单元数据,所述时序单元数据是指固定时间内,将传感器的数值按照时间顺序进行排列,以反映传感器数据的时序属性。
[0138]
针对已划分成时序单元数据的传感器数据,使用变量化扰动对抗样本生成方法计算对抗样本所需的扰动,并将扰动加到测试数据中得到对抗样本;将对抗样本和测试数据输入时序异常检测模型,得到模型相应的预测值,通过比较预测值评价对抗样本效果。
[0139]
所述时序对抗样本生成方法通过计算时序异常检测模型的梯度,并使用不同的攻击幅度生成扰动,使得对抗样本的攻击性强;使用l2范数的正则惩罚项使扰动总量小;使用岭回归惩罚项解决由扰动引起的波形不平滑的问题。所述时序异常检测模型以lstm网络为基础,lstm网络包括多个神经元,每个神经元包括遗忘门、输入门和输出门。
[0140]
一种计算机可读存储介质,存储计算机程序,所述计算机程序可被处理器执行以实现对抗样本生成方法。
[0141]
为了验证本发明提出方法对抗样本的攻击性、扰动数量、扰动的平滑性,通过两组实验比较了相同模型下,原始数据和对抗样本的差距、模型对原始数据和对抗样本的预测结果。
[0142]
(1)对抗样本攻击性:在训练过程使用50个样本点的滑动窗口分别对训练数据和测试数据进行分割。并在测试阶段使用rse、rae、asr、ar四个评价指标、4个参数值,对模型
异常检测和真实数据的差距进行评价,实验结果如表1所示,攻击波形图如图5、图6所示。中使用的对抗样本生成算法使模型的预测值与原数据预测值距离较大,导致预测准确率降低,使异常检测功能失效。
[0143]
表1
[0144][0145]
(2)扰动数量及平滑性:在对抗样本生成过程中,对50个样本点的滑动窗口数据进行扰动计算,在测试阶段使用rse、rae、corr三个评价指标、4个参数值,计算对抗样本和原样本的差距,如表2所示。并且通过图7表示对抗样本与原样本的波形比较。从实验结果可以看出,本发明中使用的对抗样本生成算法对原样本的改变小,平滑性高。
[0146]
表2
[0147][0148]
鉴于上述观察,本发明所提出的模型通过对时序模型进行对抗样本生成,有效的对时序模型进行了攻击,多种评价指标相比原始数据有明显的增大。并且可以从图中看出,扰动的数量小并且生成的时序对抗样本具有平滑性。
技术特征:
1.一种对抗样本生成方法,其特征在于,具体包括步骤如下:步骤一:根据工业时序数据获得搭建时序异常检测模型训练数据;步骤二:使用训练数据x
train
和真实训练标签y
train
作为输入时序数据对时序异常检测模型进行训练;步骤三:通过经步骤二训练后的时序异常检测模型,根据测试数据x
test
计算模型测试预测值并计算与真实测试标签y
test
之间的异常分数,根据异常分数的数据分布,通过高斯分布异常检测算法确定概率阈值∈;步骤四:基于训练后的时序异常检测模型和概率阈值∈对测试数据x
test
进行变量化扰动计算,将扰动添加至测试数据x
test
上,生成相应的时序对抗样本x
attack
。2.根据权利要求1所述的对抗样本生成方法,其特征在于,所述步骤一具体为:步骤1.1、从工业时序数据中提取时序传感器数据和对应标签,对时序传感器数据进行标准化和归一化处理;步骤1.2、对步骤1.1获得的数据中缺失值进行查询补0;步骤1.3、设定滑动窗口大小w
x
,对步骤1.2的数据进行时序化处理,得到训练数据x
train
、真实训练标签y
train
、测试数据x
test
、真实测试标签y
test
、异常分类标签y
label
。3.根据权利要求1或2所述的对抗样本生成方法,其特征在于,所述时序异常检测模型以长短期记忆神经网络lstm为基础,lstm网络包括多个神经元,每个神经元包括遗忘门、输入门和输出门。4.根据权利要求3所述的对抗样本生成方法,其特征在于,所述步骤二具体为:步骤2.1、通过遗忘门决定时序异常检测模型训练过程中保留的信息,计算公式如下:f
t
=sigmoid(w
f
·
[h
t-1
,x
t
]+b
f
)其中,w
f
是遗忘门的权重矩阵,[h
t-1
,x
t
]表示连接门输出与神经元输出,b
f
表示遗忘门的偏置值,f
t
表示遗忘门的状态;步骤2.2、通过输入门更新时序异常检测模型的神经元状态,计算公式如下:i
t
=sigmoid(w
i
·
[h
t-1
,x
t
]+b
i
)c
t
=tanh(w
c
·
[h
t-1
,x
t
]+b
c
)其中,i
t
表示输入门的状态,c
t
表示时序异常检测模型输入门的输出值;w
i
、b
i
分别表示输入门中传入sigmoid函数计算的权重矩阵和偏置值;w
c
、b
c
分别表示输入门中传入tanh函数计算的权重矩阵和偏置值;步骤2.3、通过输出门确定时序异常检测模型神经元状态的值,并进行迭代训练,计算公式如下:h
t
=sigmoid(w
o
·
[h
t-1
,x
t
]+b
o
)
⊙
tanh(c
t
)其中,
⊙
表示点乘,h
t
表示时序异常检测模型输出门输出的神经元状态;w
o
、b
o
表示输出门的权重矩阵和偏置值;步骤2.4、通过梯度下降算法最小化损失函数使得时序异常检测模型收敛,得到训练后的时序异常检测模型,损失函数公式如下:
其中,表示模型训练预测值,y
train
表示真实训练标签。5.根据权利要求4所述的对抗样本生成方法,其特征在于,所述异常分数通过高斯分布计算,具体步骤包括:步骤3.1、采用模型测试预测值与真实测试标签y
test
的差值作为高斯分布异常检测算法的变量:步骤3.2、计算差值err的均值μ和标准差σ;步骤3.2、计算差值err的均值μ和标准差σ;其中,m表示差值err数据的维度;步骤3.3、对测试数据x
test
进行异常数据点检测时,将差值代入以下方程,计算异常分数:步骤3.4、使用高斯分布异常检测算法,根据异常分数分布设置概率阈值∈,当anomalyscore<∈,将对应的数据点视为异常样本。6.根据权利要求5所述的对抗样本生成方法,其特征在于,所述步骤四具体包括:步骤4.1、根据训练后的时序异常检测模型,计算梯度攻击方法中的攻击方向direction;其中,sign为符号函数,l为训练后的时序异常检测模型的损失函数,表示以测试数据x
test
为自变量计算梯度、θ表示训练后的时序异常检测模型的权重参数;步骤4.2、计算扰动r=∈
·
direction,以∈为变量构建目标函数,通过梯度计算对测试数据x
test
中每个窗口大小为w
x
的单数据维度重要性进行排序,计算扰动:p=(f(x)-f(x+r))其中,f(x)表示训练后的时序异常检测模型的输出;步骤4.3、对计算扰动加入l2范数的正则惩罚项,对扰动总量进行限制;为了保证生成的时序对抗样本与模型训练预测值的波形平滑,加入岭回归惩罚项,生成对抗样本:
其中,||
·
||2表示l2范数,γ是控制扰动生成尺度的超参数,α和λ分别是控制||∈||2正则化的超参数和控制岭回归惩罚项的超参数;步骤4.4、使用梯度下降方法对对抗样本进行求解,并得到变量化扰动方法生成的针对工业场景的时序对抗样本;x
attack
=∈
*
·
direction+x
test
步骤4.5、利用训练后的时序异常检测模型对时序对抗样本x
attack
进行预测,计算原数据预测值小于阈值且时序对抗样本预测值大于阈值的数据点的数量并计算所占比例,以此表示对抗样本攻击成功的样本数量所占总样本的比例。7.一种对抗样本生成装置,其特征在于,包括:网络模块,用于捕获工业时序数据;存储器,用于存储捕获的工业时序数据和计算机程序;处理器,用于执行所述存储器中存储的计算机程序,当所述计算机程序被执行时,所述处理器用于:将工业时序数据搭建为时序异常检测模型训练数据;用训练数据x
train
和真实训练标签y
train
作为输入时序数据对时序异常检测模型进行训练;将训练后的时序异常检测模型根据测试数据x
test
计算模型测试预测值并计算与真实测试标签y
test
之间的异常分数,根据异常分数的数据分布,通过高斯分布异常检测算法确定概率阈值∈;针对训练后的时序异常检测模型和概率阈值∈对测试数据x
test
进行变量化扰动计算,将扰动添加至测试数据x
test
上,生成相应的时序对抗样本x
attack
。8.根据权利要求7所述的对抗样本生成装置,其特征在于,所述处理器包括数据处理模块,所述数据处理模块从工业时序数据中提取时序传感器数据和对应标签,对时序传感器数据进行标准化和归一化处理;对标准化和归一化处理后的时序传感器数据中缺失值进行查询补0;设定滑动窗口大小w
x
,对查询补0后的数据进行时序化处理,得到训练数据x
train
、真实训练标签y
train
、测试数据x
test
、真实测试标签y
test
、异常分类标签y
label
。9.根据权利要求8所述的对抗样本生成装置,其特征在于,所述时序异常检测模型以lstm网络为基础,lstm网络包括多个神经元,每个神经元包括遗忘门、输入门和输出门。10.一种计算机可读存储介质,其特征在于,存储计算机程序,所述计算机程序可被处理器执行以实现如权利要求1-6中任一项所述的对抗样本生成方法。
技术总结
本发明属于网络安全技术领域,提出一种对抗样本生成方法、装置及计算机可读存储介质。根据工业时序数据获得搭建时序异常检测模型训练数据;使用训练数据和真实训练预测值作为输入时序数据对时序异常检测模型进行训练;通过训练后的时序异常检测模型,根据测试数据计算模型训练预测值,并计算与真实测试预测值之间的异常分数,根据异常分数的数据分布,通过高斯分布异常检测算法确定概率阈值;基于时序异常检测模型对测试数据进行变量化扰动计算,将扰动添加至测试数据上,生成相应的时序对抗样本。该方法使用扰动变量化的攻击方法对模型进行攻击,生成相应的时序对抗样本,在保证攻击性的前提下,使扰动幅度小、时序数据平滑。时序数据平滑。时序数据平滑。
技术研发人员:姚羽 冉子用 胡博 杨巍 单垚 杨道青 周小明 焦轩琦 李文轩 张文杰 刘莹 刘思宇
受保护的技术使用者:国网辽宁省电力有限公司信息通信分公司
技术研发日:2023.05.22
技术公布日:2023/8/9
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
