CN110290118B - 一种基于隐马尔可夫模型的重复加工过程隐蔽性攻击检测方法 - Google Patents
一种基于隐马尔可夫模型的重复加工过程隐蔽性攻击检测方法 Download PDFInfo
- Publication number
- CN110290118B CN110290118B CN201910494707.5A CN201910494707A CN110290118B CN 110290118 B CN110290118 B CN 110290118B CN 201910494707 A CN201910494707 A CN 201910494707A CN 110290118 B CN110290118 B CN 110290118B
- Authority
- CN
- China
- Prior art keywords
- value
- hidden
- data
- sampling
- probability
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- Signal Processing (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- Pure & Applied Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Complex Calculations (AREA)
Abstract
一种基于隐马尔可夫模型的重复加工过程隐蔽性攻击检测方法,分为模型训练、阈值确定和入侵检测三个阶段,且每个阶段都需要进行数据预处理操作;为了保留有用信息,防止失真,提出使用均值滤波的方法得出理论均值,随后计算残差,即将采样值减去均值,并取绝对值,得到残差值序列;在数据预处理之后,首先使用Baum‑Welch算法进行训练得到模型参数,然后使用前向算法估计概率值,确定阈值,最后通过判断实时观测序列与模型的亲和性来判断是否存在攻击。本发明能提取出扰动与攻击,有效检测隐蔽性攻击,且在量化方法和最终判断决策上可以根据具体数据调整,适用范围广。
Description
技术领域
本发明属于工业控制系统安全技术领域,具体涉及一种基于隐马尔可夫模型的重复加工过程隐蔽性攻击检测方法。
背景技术
在工业控制系统中,伴随着信息化与自动化的深度融合,原本相对独立的工业控制系统越来越多地与企业管理网相互联通,使得安全问题威胁逐渐向工业控制系统扩散,工业控制系统安全问题日益突出。隐蔽式网络攻击是高技术的、采用对抗性隐蔽逃逸技术、借助网络控制、以窃取机密信息或长期控制及破坏的攻击统称。通常情况下,隐蔽性攻击具有高技术性,高隐蔽性和长期持续性,能长期躲避安全检测,篡改控制系统输入输出信号,随着设备的持续运行,逐渐损伤工控设备,造成产品缺陷。
现有的入侵检测方法通常主要考虑比较明显的恶意攻击,难以发现工业控制系统中的隐蔽性攻击,且控制系统工作环境的扰动会对隐蔽性攻击的检测造成干扰,使入侵检测更加困难。因此,隐蔽性攻击的入侵检测方法一直是研究难点。重复加工过程需要伺服驱动单元执行重复性的工作,其输入为周期性的信号或指令,其输出要求能稳定无静差地跟踪这种周期性的输入信号。
发明内容
为了克服现有入侵检测方法的无法检测隐蔽性攻击的不足,假设隐蔽性攻击入侵到控制系统,篡改控制输出数据,同时又逃过了工业控制系统的检测,而外置传感器的采样数据数据未受篡改,为了有效检测出工业控制系统中存在的该类攻击,本发明提出了一种基于隐马尔可夫模型的隐蔽性攻击检测方法,从传感器采样的数据特征来检测是否存在攻击,将方法分为模型训练、阈值确定和入侵检测三个阶段,且每个阶段都需要进行数据预处理操作。
本发明采用的技术方案如下:
一种基于隐马尔可夫模型的重复加工过程隐蔽性攻击检测方法,所述方法包括如下步骤:
1)模型训练阶段,过程如下:
步骤1.1)均值滤波
采用均值滤波方法,得到一定周期的采样数据下的均值:
步骤1.2)计算残差
当t超过T时,重新从索引位置1开始累加即可;由这个残差伴随时间组成序列,这时就完成了初步的数据预处理,也可以认为是完成了特征提取。如果选择的是正常状态下(不存在攻击)的数据,理论上每个索引位置上的值,都会具有正态分布的特性(因为存在自然扰动)。将每个索引位置的新采样值减去对应均值,就会消除原始数据的周期性,仅留下正常工业控制系统中自然存在的扰动。理论上,这个残差值向量近似认为是高斯白噪声。
步骤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个时刻的观测值组成的序列O:o1,o2,...,oL所对应的观测概率值P(O|λ),该概率值的数学意义是在该模型参数下此观测序列的概率,每过一个采样时刻,窗口更新;
步骤2.4)确定阈值
使用在正常状态下运行产生的数据流来计算得出每个时刻对应的P(O|λ),一般情况下取对数值,然后选择最小值作为阈值Th。
Th=minlog(P(O|λ)) (5)
3)入侵检测阶段,过程如下:
步骤3.1)实时计算残差
其中,t1是采样时刻,t2从1到T周期性循环;
步骤3.2)实时量化
然后对新计算的残差值进行量化,与训练时量化方法一致,一次实时量化一个残差值,得到观测值;
步骤3.3)窗口化数据
与确定阈值阶段的滑动窗口方式相同,每过一个采样时刻,窗口更新,得到实时更新的观测序列O:o1,o2,...,oL;
步骤3.4)实时攻击检测
根据上一步得到的观测序列O:o1,o2,...,oL,计算P(O|λ),与阈值进行对比,如果超过阈值,则认为存在攻击(或经过一段时间的阈值对比结果进行最终决策)。这其实是在判断实时采样得到的数据与正常状态下模型的亲和性,亲和性越高,存在攻击的可能性越低;这样可以检测出比较细小但是持续性或者规律性的攻击。
本发明的有益效果主要表现在:
1、基于隐马尔可夫模型的检测方法,对比的是正常扰动数据与存在攻击的数据,只要攻击使得传感器数据经处理后的结果与预期(正常扰动数据)存在一定的偏差,就可以检测出来。该方法可用于检测作用于不同位置(如控制信号、输出信号等)的隐蔽性数据注入攻击,适用范围广。
2、检测方法中采用的数据预处理方法通过消除期望均值(对检测无用的信息),仅保留扰动以及攻击信息(对检测有用的信息),能有效提高精度,后续量化操作也更加简易。
3、检测方法使用各态遍历离散隐马尔可夫模型,训练简单,比起连续隐马尔可夫模型更容易实现预期的效果。
附图说明
图1是本发明方法的框架流程图;
图2是均值滤波结果与真实采样数据示意图;
图3是确定阈值以及入侵检测仿真图。
具体实施方式
为了使本发明的技术方案、设计思路能更加清晰,我们结合附图进行详尽的描述。
研究对象是重复加工过程,采样数据是X,Y轴的位置信息,呈现周期性,并且存在自然扰动。
参照图1~图3,一种基于隐马尔可夫模型的重复加工过程隐蔽性攻击检测方法,实施过程分为模型训练、阈值确定和入侵检测三个阶段,且每个阶段都需要进行数据的预处理操作。
1)模型训练阶段,过程如下:
步骤1.1)均值滤波
重复加工过程中X,Y轴的处理是类似的,我们以X轴作为示例,选取N个采样周期,每个周期T个采样点。因为每个周期中,每个索引位置点上的数据是高斯分布的,均值是理论上要刻画的圆的最佳轨迹。采用均值滤波方法,得到一定周期的采样数据下的均值:
步骤1.2)计算残差
多个周期都减去均值向量之后,得到残差序列;为了便于后续操作,再对残差序列取绝对值。如图2所示,实线代表均值,虚线代表存在扰动的真实数据,两条曲线的每个索引位置对应的数值均可作差得到一个残差值。多个周期都减去均值向量之后,得到的残差组成的序列失去了原有的周期性,随时间的变动特性更像是一个高斯白噪声。
步骤1.3)量化
针对重复加工过程的扰动特性,对前述预处理之后的数据进行适当标量量化得到离散的观测值即可,即将数据的幅度分为K个小区间,每个区间给定一个量化值,也就是观测值,原本连续的残差数据经过标量量化之后就变为了离散的观测值,也就是训练数据。
在实际中,K取得太小,量化误差过大,会丢失过多信息;K取得太大,也就是观测值数量太大,这在训练集不大的情况下训练效果会变差。因此针对具体所得到的残差值的幅度,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,如图3红线所示。
Th=minlog(P(O|λ)) (5)
3)实时检测阶段,过程如下:
步骤3.1)实时计算残差
从测试集获取一个新的采样值,减去对应索引位置上的均值(索引位置是周期性变化的,以1-T循环),取绝对值。
其中,t1是采样时刻,t2从1到T周期性循环。
步骤3.2)实时量化
同训练阶段的量化方式,这里每次只对一个值进行量化。
步骤3.3)窗口化数据
窗口长度选择为L,与阈值确定阶段的观测序列长度一致,实时更新窗口内的残差序列。
步骤3.4)实时检测
计算P(O|λ),取绝对值,与阈值对比(判断亲和度),判断是否存在攻击,如仿真图3。
Claims (3)
1.一种基于隐马尔可夫模型的重复加工过程隐蔽性攻击检测方法,其特征在于,所述方法包括如下步骤:
1)模型训练阶段,过程如下:
步骤1.1)均值滤波
重复加工过程中以X轴或Y轴选取N个采样周期,每个周期T个采样点;因为每个周期中,每个索引位置点上的数据是高斯分布的,均值是理论上要刻画的最佳轨迹;采用均值滤波方法,得到一定周期的采样数据下的均值:
步骤1.2)计算残差
多个周期都减去均值向量之后,得到残差序列,再对残差序列取绝对值;
步骤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是采样时刻,从1到T周期性循环;
步骤3.2)实时量化
每次只对一个值进行量化;
步骤3.3)窗口更新
窗口长度选择为L,与阈值确定阶段的观测序列长度一致,实时更新窗口内的残差序列;
步骤3.4)实时检测
计算P(O|λ),取对数值,与阈值对比,判断是否存在攻击。
2.如权利要求1所述的基于隐马尔可夫模型的重复加工过程隐蔽性攻击检测方法,其特征在于,所述步骤3.4)中,如果超过阈值,则认为存在攻击。
3.如权利要求1所述的基于隐马尔可夫模型的重复加工过程隐蔽性攻击检测方法,其特征在于,所述步骤3.4)中,经过一段时间的阈值对比结果进行最终决策。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910494707.5A CN110290118B (zh) | 2019-06-10 | 2019-06-10 | 一种基于隐马尔可夫模型的重复加工过程隐蔽性攻击检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910494707.5A CN110290118B (zh) | 2019-06-10 | 2019-06-10 | 一种基于隐马尔可夫模型的重复加工过程隐蔽性攻击检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110290118A CN110290118A (zh) | 2019-09-27 |
CN110290118B true CN110290118B (zh) | 2021-08-03 |
Family
ID=68003741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910494707.5A Active CN110290118B (zh) | 2019-06-10 | 2019-06-10 | 一种基于隐马尔可夫模型的重复加工过程隐蔽性攻击检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110290118B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112800600B (zh) * | 2021-01-18 | 2023-06-30 | 浙江工业大学 | 一种基于多尺度样本熵和贝叶斯网络的隐蔽性攻击检测方法 |
CN114039867B (zh) * | 2021-11-08 | 2022-09-06 | 江南大学 | 一种隐蔽式攻击下网络化控制系统状态与故障的联合区间估计方法 |
CN115134162B (zh) * | 2022-07-15 | 2023-05-05 | 西南民族大学 | 一种工业控制系统恶意威胁的检测和补偿方法及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102184406A (zh) * | 2009-11-11 | 2011-09-14 | 索尼公司 | 信息处理设备、信息处理方法和程序 |
CN105245503A (zh) * | 2015-09-08 | 2016-01-13 | 中国民航大学 | 隐马尔可夫模型检测LDoS攻击方法 |
CN108388233A (zh) * | 2018-03-21 | 2018-08-10 | 北京科技大学 | 一种工控现场设备隐蔽攻击检测方法 |
-
2019
- 2019-06-10 CN CN201910494707.5A patent/CN110290118B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102184406A (zh) * | 2009-11-11 | 2011-09-14 | 索尼公司 | 信息处理设备、信息处理方法和程序 |
CN105245503A (zh) * | 2015-09-08 | 2016-01-13 | 中国民航大学 | 隐马尔可夫模型检测LDoS攻击方法 |
CN108388233A (zh) * | 2018-03-21 | 2018-08-10 | 北京科技大学 | 一种工控现场设备隐蔽攻击检测方法 |
Non-Patent Citations (3)
Title |
---|
"A Robust Measurement Placement Method for Active Distribution System State Estimation Considering Network Reconfiguration";Hong Wang.et;《IEEETransactions on Smart Grid》;20160907;全文 * |
"An Intrusion Detection System for Cyber Attacks in Wireless Networked Control Systems";Ahmad W.AI-Dabbagh.et;《IEEE Transactions on Circuits and Systems II: Express Briefs》;20170404;全文 * |
"基于云模型的网络攻击检测方法及其性能分析";谢立春等;《计算机科学》;20151115;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110290118A (zh) | 2019-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110290118B (zh) | 一种基于隐马尔可夫模型的重复加工过程隐蔽性攻击检测方法 | |
CN109379379B (zh) | 基于改进卷积神经网络的网络入侵检测方法 | |
Ouyang et al. | Learning unknown markov decision processes: A thompson sampling approach | |
CN111310915B (zh) | 一种面向强化学习的数据异常检测防御方法 | |
CN109067773B (zh) | 一种基于神经网络的车载can网络入侵检测方法及系统 | |
CN111582542B (zh) | 一种基于异常修复的电力负荷预测方法及系统 | |
CN111913803B (zh) | 一种基于akx混合模型的服务负载细粒度预测方法 | |
CN110708318A (zh) | 基于改进的径向基神经网络算法的网络异常流量预测方法 | |
Wen et al. | Observer-based PID control for actuator-saturated systems under binary encoding scheme | |
CN112733458B (zh) | 一种基于自适应变分模态分解的工程结构信号处理方法 | |
CN116992986A (zh) | 一种基于时间序列分解网络流量预测系统 | |
CN112800600A (zh) | 一种基于多尺度样本熵和贝叶斯网络的隐蔽性攻击检测方法 | |
CN116996272A (zh) | 一种基于改进的麻雀搜索算法的网络安全态势预测方法 | |
CN112765894B (zh) | 一种基于k-lstm的铝电解槽状态预测方法 | |
CN113758652B (zh) | 换流变压器漏油检测方法、装置、计算机设备和存储介质 | |
CN116232765B (zh) | 一种工控安全系统异常访问分析方法及系统 | |
CN115664804B (zh) | 一种基于径向基函数神经网络的LDoS攻击检测方法 | |
CN117009903A (zh) | 一种数据异常检测方法、装置、设备及存储介质 | |
CN111740998A (zh) | 一种基于堆叠自编码器的网络入侵检测方法 | |
Kumar | Empowerment-driven exploration using mutual information estimation | |
CN116680639A (zh) | 一种基于深度学习的深海潜水器传感器数据的异常检测方法 | |
US20230136071A1 (en) | System and method for cyber causal attribution via kolmogorov complexity | |
CN113890633B (zh) | 一种基于深度神经网络的水声通信体制自适应选取方法 | |
CN115130523A (zh) | 基于隐马尔可夫模型的飞行目标行为意图预测方法 | |
CN115183969A (zh) | 一种bwbn模型的参数估计方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |