当前位置: 首页 > 专利查询>浙江大学专利>正文

一种非侵入式基于功耗分析的PLC异常检测方法技术

技术编号:15706518 阅读:164 留言:0更新日期:2017-06-26 20:13
本发明专利技术公开了一种非侵入式基于功耗分析的PLC异常检测方法,该方法包括将一个电阻串联接入PLC的电源模块与CPU模块之间,通过数据采集设备采集电阻两端电压降,获取PLC运行时的功耗信息;将采集到的功耗进行样本切分,对每个样本提取合适的特征集合,形成特征值样本;根据PLC正常运行时的特征值样本训练一个基于长短记忆单元的神经网络模型,并将新采集到的待测功耗特征值样本与LSTM网络预测的特征值信息进行对比,以确定待测样本是否为异常样本,由此判断PLC是否遭到攻击。该方法无需修改PLC的软硬件配置,相对原工业控制系统是非侵入式的,且能够对PLC进行实时的监控,在不需要获取PLC遭到攻击时的异常样本情况下就能实现对攻击的检测。

A non invasive method for PLC anomaly detection based on power analysis

The invention discloses a non-invasive method for anomaly detection of power analysis based on PLC, the method comprises a resistor is connected between the power of the PLC module and the CPU module, the data acquisition equipment acquisition voltage drop, power consumption information acquisition of the PLC runtime; the power consumption of the collected samples of segmentation each sample from the feature set, the formation of characteristic value of sample; according to the characteristics of the normal operation of the PLC when the value of training a neural network model based on the length of the memory element, and the new acquisition of the measured power consumption characteristics and the characteristic value of LSTM network prediction value information are compared to determine whether the sample to be tested the abnormal samples, thus determine whether PLC attack. This method does not need to modify the configuration of hardware and software of PLC, relative to the original industrial control system is non intrusive, and can be used for real-time monitoring of PLC in detection of attacks without abnormal samples get attacked by PLC.

【技术实现步骤摘要】
一种非侵入式基于功耗分析的PLC异常检测方法
本专利技术涉及工业控制系统的安全领域,尤其涉及针对工业控制系统中PLC的攻击的检测与防御方法,具体公开了一种非侵入式基于功耗分析的PLC异常检测方法。
技术介绍
工业控制系统是一个国家的重要基础设施,在满足人民物质需求,保障经济可持续发展以及维护社会稳定方面具有重要作用。工业控制系统如果遭到恶意攻击者的破坏,可能影响国民经济的正常发展,甚至造成社会动荡。因此研究与工业控制系统相关的安全监控技术,是一项与国计民生息息相关的工作,具有重大意义。最初的工业控制系统是以孤岛方式运行的,使用专用设备与协议并且与外界物理环境相对隔绝,因此在很长一段时间内都是相对安全的。但是为了满足企业不断提高的经营管理要求,顺应信息化以及工业化深度融合的潮流,随着近年来信息技术以及物联网的飞速发展,信息技术大范围的应用于工业控制系统中。‘两化融合’带来了生产力的极大提升的同时,也给工业控制系统带来了巨大的安全问题,由于外界网络的接入,现在的工业控制系统不仅需要面临来自企业内部的安全威胁,还可能遭受来自互联网的攻击。据ICS-CERT公布的数据显示,2010-2013四年的时间里,全球工业控制领域相关的安全事件高达623件,这些事件中59%都发生在石油化工、核电、电力等能源行业,作为典型的技术密集型行业,一旦其工业控制系统因遭受恶意攻击而出现安全问题,不仅会影响生产活动的顺利进行,还有可能引起设备爆炸,工作人员伤亡等重大安全事故。工业控制系统所面临的严峻安全形势,引起了各界的广泛关注。传统的工业控制系统安全防护手段中,大多是将信息系统领域的安全防护手段移植到工业控制系统中来。由于硬件结构以及软件系统的限制,工业控制系统中很多专有设备无法应用传统的安全防护手段,由于资源的限制也无法经受频繁的漏洞扫描;另一方面,侵入式的安全防护方法如安装第三方软件,很可能会给工业控制系统带来新的潜在风险,而且工业控制系统运行过程中无法容忍哪怕短暂的停机或中断。因此,传统的安全防护方法无法很好地应用于实际中,一种非侵入式的安全防护方法则显得尤为必要。PLC作为工业控制系统中的关键设备,直接与现场传感器及执行器相连,控制工业现场的实施过程,一旦其运行指令遭到恶意篡改,就会造成巨大灾难,今年来针对PLC的攻击大幅度增加,而目前尚无针对PLC特性而设计的有效安全防护手段。因此,针对PLC本身的特性设计出一套安全防护系统,用于检测对PLC的攻击,能够很好地加强针对工业控制系统的安全防护。
技术实现思路
针对上述存在的问题,本专利技术在对工业控制系统本身的特点进行深入研究的基础上,提供了一种非侵入式基于功耗分析的PLC异常检测方法,该方法能够在不改变原系统的软硬件的基础上,对PLC运行的恶意指令进行实时监测。同时,该方法不需要对异常样本进行学习,基于PLC正常运行时的功耗信息,就能实现对已知和未知攻击进行检测。由于PLC直接与控制现场进行通信,读取传感器中的现场信息并发送控制指令,因此针对工业控制系统的攻击往往会通过获取PLC的控制权限的方式,使其运行错误的控制指令,从而导致控制现场紊乱。该方法通过对PLC运行时的功耗进行分析,从而识别出PLC中运行的是正常程序的指令,还是遭到攻击被篡改后的恶意指令。该方法通过在PLC的电源模块与CPU模块之间串联一个电阻来获取PLC运行时的功耗信息,由于现在普遍应用的PLC大多为模块式的,因此串联电阻不会对PLC的软硬件做出修改,只需要在不同模块的供电线之间接入一个电阻即可。通过以太网可以将PLC的功耗信息传输给上位机进行处理,上位机通过分析PLC的实时运行功耗可以判断PLC是否遭到攻击,因此,该方法是非侵入式的异常检测方法,基于该方法可以完成实时监控系统,监控系统与原工业控制系统相对独立,不会互相影响。该方法在进行异常检测的过程中,不需要采集PLC遭到攻击时的异常样本进行学习,仅仅通过一段时间的正常样本进行训练,就可以实现对异常程序进行检测的目的,因此它既可以检测已知攻击,也可以检测未知攻击。因而,该方法部署简单,训练方便,实用性强。该方法具体如下:步骤1:首先在PLC的电源模块与CPU模块之间串联一个电阻(如0.1欧姆),然后用数据采集器对电阻两端的电压降进行采集,采样率为γ。由于电阻两端的电压降能反映其电流变化,而PLC的输出电压是稳定的,所以电压降可以反映PLC的CPU功耗信息。步骤2:让PLC运行正常的程序一段时间t1并对PLC的功耗信息进行持续采集,将采集到的功耗信息传到上位机用于训练模型,具体训练步骤如下:1)将接收到的功耗信息按照t2的时长进行切分,切分后得到了一系列的正样本S={s1,s2,…,st,…,sn},其中st表示第t个样本,包含t2时长的功耗信息。2)对得到的正样本S进行预处理,过滤掉直流信号和高频噪声,得到有用的功耗信息样本S′={s1′,s2′,…st′,…,sn′}用于后续分析。3)得到样本S′后,先提取每个样本的概率密度分布信息,然后利用LibXtract库提取峰值、平均值、方差等基本时域和频域的特征,将这些特征一起构成一个原始的特征样本库。4)由于特征样本库具有丰富但冗余的特征信息,所以接下来使用稀疏编码算法从中提取具有区分度的特征组合f={f1,f2,…,fi,…,fm},,其中,fi表示第i个特征,总的特征维数为m。因此,对于每一个功耗信息样本st′,根据特征组合f,可以提取出一个对应的特征值样本组合这样,从最初得到的功耗信息样本S={s1,s2,…,sn}中提取出最终的特征值样本X={x(1),x(2),…,x(n)},并将该样本用于后续的训练。5)用上述特征值样本X={x(1),x(2),…,x(n)}训练一个基于长短记忆单元(LSTM)的神经网络模型,该模型可以学习PLC正常运行时功耗变化的信息,模型训练好之后可以用于异常样本的检测。上述参数中,γ、t1、t2、m均可以根据实际需求自行设定,我们通过实验得到一组较好的参数组合,其中γ为250KSa/s,t1为18小时,t2为5秒钟,m为13。步骤3:完成初始LSTM网络的训练后,就可以对PLC进行实时检测,采集PLC当前的功耗信息,传送给上位机进行检测,判断PLC是否遭到攻击,具体检测过程包括如下步骤:1)将PLC运行时当前的功耗信息传输至上位机,上位机将得到的功耗信息按照t2的时长进行切分,得到待测样本st+1。2)对于得到的每一个待测样本st+1,首先进行预处理,然后按照特征组合f={f1,f2,…,fm}提取相应的特征值,最终得到一个特征值样本3)用根据特征值样本X={x(1),x(2),…,x(n)}训练得到的LSTM网络对时间序列进行预测,即根据前t个样本的特征对下一个时间步(t+1)的样本进行预测,即LSTM网络会根据学习到的前t时刻的样本序列信息来预测(t+1)时刻每一个特征值的大小,从而可以得到一个预测样本4)对比LSTM网络预测的样本x(t+1)′与真实获得的样本x(t+1),由于每一个特征值之间都会存在一定的预测误差,因此最后可以得到一个误差矩阵对于每一个特征的误差而言5)根据得到的误差矩阵对当前样本进行判断,如果误差矩阵满足关系则当前样本为异常样本,如果不满足本文档来自技高网
...
一种非侵入式基于功耗分析的PLC异常检测方法

【技术保护点】
一种非侵入式基于功耗分析的PLC异常检测方法,其特征在于该方法具体如下:步骤1:在PLC的电源模块与CPU模块之间串联一个电阻,然后用数据采集器对电阻两端的电压降进行采集,采样率为γ;步骤2:让PLC运行正常的程序一段时间t

【技术特征摘要】
1.一种非侵入式基于功耗分析的PLC异常检测方法,其特征在于该方法具体如下:步骤1:在PLC的电源模块与CPU模块之间串联一个电阻,然后用数据采集器对电阻两端的电压降进行采集,采样率为γ;步骤2:让PLC运行正常的程序一段时间t1,并对PLC的功耗信息进行持续采集,将采集到的功耗信息传到上位机用于训练LSTM网络模型,步骤3:完成初始LSTM网络的训练后,对PLC进行实时检测,采集PLC当前的功耗信息,根据前t个样本来预测第(t+1)个样本是否为正常样本,步骤4:由于LSTM网络每次都是根据前t个样本来预测第(t+1)个样本,因此在进行样本检测的时候,对前t个样本进行实时更新,步骤5:持续对PLC进行检测,一旦连续发现三个检测样本均为异常样本时,则判定当前PLC中运行的指令并非原来的正常指令,而是遭到攻击后的恶意指令,因此说明PLC已经遭到攻击。2.根据权利要求1所述的非侵入式基于功耗分析的PLC异常检测方法,其特征在于所述的步骤2具体训练步骤如下:1)将接收到的样本按照t2的时长进行切分,切分后得到了一系列的正样本S={s1,s2,…st,…,sn},其中st表示第t个样本,包含t2时长的功耗信息;2)对得到的正样本S进行预处理,过滤掉直流信号和高频噪声,得到新的功耗信息样本S′={s1′,s2′,…st′,…,sn′}用于后续分析;3)得到样本S′后,提取每个样本的概率密度分布信息,并利用LibXtract库提取基本时域和频域的特征,将这些特征一起构成一个原始的特征样本库;4)使用稀疏编码算法从原始的特征样本库中提取具有区分度的特征组合f={f1,f2,…,fi,…,fm},其中,fi表示第i个特征,总的特征维数为m;因此,对于每一个功耗信息样本st′,根据特征组合f,提取出一个对应的特征值样本组合从最初得到的功耗信息样本S={s1,s2,…,sn}中提取出最终的特征值样本X={x(1),x(2),…,x(n)},并将该样本用于后续的训练;5)用上述特征值样本X={x(1),x(2),…,x(n)}训练一个LSTM神经网络模型,模型训练好之后用于异常样本的检测。3.根据权利要求2所述的非侵入式基于功耗分析的...

【专利技术属性】
技术研发人员:肖玉珺徐文渊马卓然张国明
申请(专利权)人:浙江大学
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1