一种基于工控设备电压电流的入侵检测方法与流程

文档序号:15845843发布日期:2018-11-07 09:00阅读:597来源:国知局
一种基于工控设备电压电流的入侵检测方法与流程

本发明属于工业控制技术领域,具体涉及一种基于工控设备电压电流的入侵检测方法。

背景技术

目前,越来越多的工业控制系统内部网络需要和外部网络互连,使工业控制系统暴露于公共网络之中,面临更多的攻击。2010年,伊朗布什尔核电站遭到stuxnet(震网)蠕虫的攻击,它是世界上首个专门针对工业控制系统编写的破坏性病毒,能够利用对windows系统和西门子simaticwincc系统的漏洞攻击核电站的scada系统,导致铀浓缩离心机出现故障,推迟了伊朗的核电站发展。

为了保证工业控制系统的安全性,网络安全技术被越来越多地应用。入侵检测技术通过收集、整理、解析网络或系统中最能表明其状态和行为的信息和数据分析异常。根据分析的结果,判断系统中是否具有潜在的、对安全有威胁的因素。

但是,传统的pc机的入侵检测技术并不能直接应用到工业控制系统中,因为工业控制系统非常注重实时性和可靠性,如果将入侵检测模块直接集成到工控设备之中,由于执行入侵检测势必会影响到工控设备操作的实时性,对实时任务产生很大的干扰;此外,由于工控设备的特殊性,一些设备可能不能够集成入侵检测模块,造成了系统的不可扩展性。



技术实现要素:

为了解决现有存在的问题,本发明提出一种在工业控制系统中基于工控设备电压电流的入侵检测方法。

和通用系统不同,工业控制系统执行的任务是特定的,有限的和周期性的,同样工控设备也是如此,设备在特定的时间段内执行特定的操作,在同一时间段内设备的电流变化趋于平稳;因此,工控设备的电流电压变化也是特定的,有限的和周期性的,当系统遭受攻击时,工控设备电流电压变化出现明显异常,就可以判定系统出现异常,从而实现入侵检测;基于该原理,本发明的技术方案为:

按时间段分类,并且检测电流电压的变化以一秒为单位,根据正常运行和受到攻击时检测的数据来构建分类模型,根据时间段的个数t构建出t个模型;比起用全时段数据建立模型,根据时间段细分,能够建立更有针对性,更为精确的模型;

根据实际情况用机器学习算法来建立分类模型,具体的模型构建步骤如下:

(1)在用训练样本数据建立模型之前,考虑到各种因素导致产生的异常值,为了将异常数据剔除样本数据集,求解每个样本数据到样本中心的距离来判断异常数据:

样本中心用所有样本各个属性的平均值来表示,这里求电流电压的平均值:

然后计算各个数据到样本中心的距离,求出每个样本到样本中心的距离后,根据阈值的设置剔除少量异常数据样本;

(2)根据电流电压数据分时段建立模型,根据实时检测的数据测试模型的正确性;

模型的计算公式如下:

c≥ai≥0,i=1,2,…,n③

参数说明:

其中ai为拉格朗日乘子;xi∈rn,为第i个特征向量,yi为xi的类标记,yi∈{+1,-1};k(xi,xj)为核函数;n为特征向量空间维度;c为惩罚参数,c的取值是间隔尽量大和误分类点尽可能小的调和;

(3)根据建立好的分类模型,实时检测电流电压数据,如果数据异常则表明是入侵检测;分类模型都构建完成后,以同样时间间隔为单位检测电压电流变化,例如以1秒为时间单位,然后根据对应的模型来判定是否存在异常;考虑到由于各种因素导致的电流噪点,但此时系统是正常的情况,可以设定如果在连续的n个时间间隔内,n个时间间隔的经验值为3,检测的结果都为异常,此时才判定为异常,发出警报,降低误警率。

本发明提出一种在工业控制系统中基于工控设备电压电流的入侵检测方法,电源线连接到电流测量设备后给工控设备供电,便于电流电压的实时测量,通过收集工控设备在各种情况下正常运行时和模拟遭受攻击时的电压电流数据,根据这些数据分时段建立分类模型,然后实时监测电流电压变化,根据电流电压异常来实现入侵检测;为优化分类模型,在约束条件中引入松弛变量和惩罚系数来降低噪点值的影响;同时入侵检测模块可以放在专用的pc或工作站上执行,对工控设备的实时操作没有任何影响,保证了工业控制系统的实时性;检测电流信息是易行的,对那些不能扩展的工控系统同样能够方便的进行入侵检测。

附图说明

图1是本发明实施例的训练样本数据分布示意图;

具体实施方式

下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

首先按时间段分类,根据时间段的个数t构建出t个模型,收集正常运行和模拟攻击时的电流电压数据作为训练样本;如图1所示。

将正常运行时的训练样本数据进行异常值处理,根据阈值的设定剔除离样本中心最远的一部分异常值,比如阈值设定为5%;

为了将异常数据剔除样本数据集,求解每个样本数据到样本中心的距离来判断异常数据:

样本中心用所有样本各个属性的平均值来表示,求电流电压的平均值:

然后计算各个数据到样本中心的距离,求出每个样本到样本中心的距离后,根据阈值的设置剔除少量异常数据样本;

剔除异常值后,用算法对训练样本电流电压数据建立分类模型。

本发明的电流电压数据很明显并不是线性模型可分的,而是一个二次曲线可分的;

算法需要求出一个超平面将数据线性可分为两类,并且两类数据支持向量具有最大的间隔;算法求解过程:将求解支持向量到超平面的最大间隔转化为函数极值的问题,求解的超平面方程为w.x+b=0,w示法向量,b为截距;函数极值转化为二次凸函数和约束函数的优化问题;应用拉格朗日最优化方法和对偶特性构建求解方程,w和b都由a表示,问题转化为对a的极值求解;

如前面所述,用核函数方法将超曲面模型转换为超平面模型,选择多项式核函数为k(x1,x2)=(x1.x2+2)2

因为电流特性,在约束条件中加入松弛变量ξi和惩罚系数c来优化分类模型,问题转化为对a的极值求解,如下:

c≥ai≥0,i=1,2,…,n③

其中,核函数的选择直接影响分类的结果,考虑到本发明是一个二次曲线可分,常用的是高斯核函数,但寻找高斯核函数合适的参数比较困难,选择二次多项式核函数:

k(xi,xj)=(<xi.xj>+r)2

结合本发明实例,参数r的选择为2;

k(xi,xj)=(xi.xj+2)2,c=0.01

通过某非线性变换,将低维空间映射到高维特征空间,原来的数据变得线性可分;为避免维度爆炸,只定义核函数k(x,z)而不是映射函数,直接计算核函数比较容易;根据上式求解出ai,计算出w和b:

基于电流特性,虽然在样本处理时剔除了一部分异常数据,但不可避免还会存在一些噪点,为了解决噪点问题,可以在原有的约束条件中加入松弛变量ξi>0,i=1,2,…,n,允许数据点在一定程度上偏离超平面,新的约束条件为:

yi(wtxi+b)≥1-εi,i=1,2,...,n⑥

新的目标函数变为:

这里c>0称为惩罚参数,c的取值是间隔尽量大和误分类点尽可能小的调和;将新的目标函数按之前的算法最后转化为a的极值求解,上面的①、②式不变,③式变为:

c≥ai≥0,i=1,2,...,n③

当模型构建完成后,可以根据实时检测的数据测试模型的正确性;

当模型经过测试后即可使用,每秒检测电流电压的变化,用对应时间段的模型判断是否异常。

考虑到由于各种因素导致的电流异常值,但此时系统是正常的情况,我们可以设定如果在连续的3秒内,检测的结果都为异常,此时才判定为异常,发出警报,降低误警率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1