1.一种基于隐马尔可夫模型的重复加工过程隐蔽性攻击检测方法,其特征在于,所述方法包括如下步骤:
1)模型训练阶段,过程如下:
步骤1.1)均值滤波
重复加工过程中以X轴或Y轴选取N个采样周期,每个周期T个采样点;因为每个周期中,每个索引位置点上的数据是高斯分布的,均值是理论上要刻画的最佳轨迹;采用均值滤波方法,得到一定周期的采样数据下的均值:其中,T是周期大小,t=1,...,T,N是周期数, 是第n个周期的第t位上的采样值;
步骤1.2)计算残差
将采样数据μt减去对应索引位置t上的均值 得到残差多个周期都减去均值向量之后,得到残差序列,再对残差序列取绝对值;
步骤1.3)量化
将数据的幅度分为K个小区间,每个区间给定一个量化值,也就是观测值,原本连续的残差数据经过标量量化之后就变为了离散的观测值,也就是训练数据;
步骤1.4)训练模型参数
隐马尔可夫模型由以下五元组组成
λ={N,M,A,B,π} (4)其中,N是隐藏状态数;M是观测状态数;A是状态转移矩阵,代表状态之间的转移关系;B是观测概率矩阵,代表由隐藏状态观测到观测状态的概率关系;π是初始概率向量,代表从各隐藏状态开始的概率向量;
首先要初始化模型参数,N选择2即可,可以认为隐藏状态分别是有扰动状态与无扰动状态;M由量化级决定,也就是步骤1.3过程中的K;A是N×N的概率矩阵,取平均即可;B是N×M的概率矩阵,每一行和为1,多次选择选择不同的初始值,最后根据结果选择一组模型参数;π对结果不影响,不需要进行训练;
然后使用Baum-Welch算法以及经过前述数据预处理方法得到的训练数据来多次训练离散隐马尔可夫模型,选择效果最好的一组模型参数λ;
2)阈值确定阶段,过程如下:
步骤2.1)计算残差
将验证集的数据按周期减去均值向量 得到残差向量,对残差序列求取绝对值;
步骤2.2)量化;
步骤2.3)窗口化数据
选取观测序列长度L,采用滑动窗口操作,计算当前时刻以及前L-1个时刻的采样值组成的序列所对应的概率值P(O|λ),该概率值的数学意义是在该模型参数下此观测序列的概率;每过一个采样时刻,窗口右移一个采样值;
步骤2.4)确定阈值
使用在正常状态下运行产生的数据流来计算得出每个时刻对应的P(O|λ),取对数值,并且选择最小值作为阈值Th;
Th=min log(P(O|λ)) (5)
3)实时检测阶段,过程如下:
步骤3.1)实时计算残差
从测试集获取一个新的采样值,减去对应索引位置上的均值,索引位置是周期性变化的,以1…T循环,取绝对值;
其中,t1是采样时刻,t2从1到T周期性循环;
步骤3.2)实时量化
每次只对一个值进行量化;
步骤3.3)窗口更新
窗口长度选择为L,与阈值确定阶段的观测序列长度一致,实时更新窗口内的残差序列;
步骤3.4)实时检测
计算P(O|λ),取对数值,与阈值对比,判断是否存在攻击。
2.如权利要求1所述的基于隐马尔可夫模型的重复加工过程隐蔽性攻击检测方法,其特征在于,所述步骤3.4)中,如果超过阈值,则认为存在攻击。
3.如权利要求1所述的基于隐马尔可夫模型的重复加工过程隐蔽性攻击检测方法,其特征在于,所述步骤3.4)中,经过一段时间的阈值对比结果进行最终决策。