杨章勇,李 欢
(陕西理工大学电气工程学院,陕西 汉中 723001)
在生产和运营的过程中企业核心系统通常为工业控制,该系统存在多个子系统,包括安全仪表系统和远程测控单元等,被广泛地应用在各种国计民生等领域中,包括制造业、电力水利、航天航空、能源交通等[1]。工控系统在企业运营和生产过程中的主要任务是监测并控制设备的运行状态,并将数据与信号在一定范围内的处理与传输连接起来,实现数据与资源的远程控制与共享。在工业生产的过程中以太网Powerlink协议促进生产效率的同时,也带来了一些风险,因此需要检测以太网Powerlink协议通信中存在的异常行为[2]。
因此,为检测以太网Powerlink协议通信中存在的异常行为,当前也出现了一些较好的研究成果。例如:文献[3]方法通过比较判别法对通信网络中存在的信号进行判别,提取异常通信信号的特征,并构建特征集合,根据集合中存在的异常特征实现通信异常检测。但是,该方法无法获取通信流量在网络中的通信特点,导致异常检测结果的误差较大。文献[4]方法对通信信号的属性进行分类,并根据通信信号的特征密度选取邻域区间的半径,循环聚类处理高阶统计量的通信信号,获取通信信号的特征,并在信号属性概率的基础上获取熵目标函数的最优值,实现通信异常检测。但是,该方法无法在不同条件下获取通信信号的特征,方法存在适应度低的问题。文献[5]方法采用卷积神经网络利用知识迁移思想获取通信信号的特征,并对其进行归一化处理,完成通信异常检测。但是,该方法无法根据获取的特征对不同通信路径中的信号进行检测,存在检测覆盖率低的问题。
为了解决上述方法中存在的问题,提出工业以太网Powerlink协议通信周期约束异常检测方法。分析通信信号的传输特性,提取工业以太网Powerlink协议通信特征,构建异常检测模型,实现工业以太网Powerlink协议通信的周期约束异常检测。通过实验验证了所提方法具有理想的应用效果。
利用PCA算法构建工业以太网Powerlink协议通信的流量模型。
设C=E[(X-E(X))(X-E(X))T]代表通信数据源向量Xi∈Rp(i=1,…,T)对应的协方差矩阵,通过下式分解协方差矩阵:
(1)
式中,μ代表通信数据源向量Xi对应的均值向量;T代表转置矩阵;特征向量矩阵U是通过若干个特征向量ui组建而成的;Λ代表特征值为λi的对角线元素构成的特征值矩阵。
所提方法通过特征值方差累计贡献率G(k)确定通信数据中存在的主成分数量:
(2)
前k个主成分信息构成的综合信息X中存在的能量随着贡献率G(k)的增加而增大[8]。
设ai代表投影向量,可通过在正常子空间S中对通信数据源向量Xi进行映射处理获得,其表达式如下:
(3)
其中,特征向量Uk由k个最大的特征值构成。
根据计算得到的投影向量,构建工业以太网Powerlink协议通信流量模型i:
i=Ukai+μ
(4)
工业以太网Powerlink协议通信周期约束异常检测方法采用卡方检测方法获取通信信号的特征,具体过程如下:
(5)
式中,xij代表第i类通信数据对应的第j个属性值。
2)设CSj代表通信数据属性对应的卡方值,可通过属性平均值计算得到:
(6)
3)工业以太网Powerlink协议通信周期约束异常检测方法通过下式对属性平均值进行归一化处理,获得通信数据属性的影响权值因子effi:
(7)
式中,m代表通信数据的属性总数。
4)设Exj代表通信数据属性对应的期望,其计算公式如下:
(8)
5)工业以太网Powerlink协议通信周期约束异常检测方法通过逆向云算法获取属性云在正常通信数据模型中的熵Enj:
(9)
设Hej代表通信数据属性云对应的超熵,将其作为工业以太网Powerlink协议通信数据的特征[9]:
(10)
工业以太网Powerlink协议通信周期约束异常检测方法结合PSO算法和SVM算法构建通信周期约束异常检测模型,检测流程如图1所示。
图1 异常检测流程
PSO算法中的粒子均为潜在最优解,通过适应度、粒子速度和粒子对应的位置描述其对应的特征,在解空间中通过更新速度、个体极值、位置和群体极值等特征实现粒子的更新[10]。个体极值和群体极值分别代表所有个体和所有粒子位置中适应度最优值对应的位置。
通过下述公式对粒子的位置和速度进行更新:
(11)
式中,上角标k+1和k代表本轮迭代和上轮迭代对应的属性;X代表粒子对应的位置;V代表粒子对应的速度;P、G分别代表个体和群体极值;c1、c2代表惯性因子;r1、r2代表加速度因子。
工业以太网Powerlink协议通信周期约束异常检测的流程如下:
1)设置PSO算法的最大迭代次数kmax;
2)初始化种群在算法中的位置X=(X1,X2,…,XN),其中Xi=(xic,xiσ)代表由径向基函数σ和惩罚因子C构成的第i个粒子。随机设置粒子在种群中的速度Vi=(Vic,Viσ),设定[Xcmin,Xcmin]、[Xσmin,Xσmin]为位置的取值范围[11]。
3)通过分量xic和xiσ计算粒子对应的粒子适应度值F(Xi);
5)设置迭代条件,如果连续五十次获取的适应度值的变化低于0.01%或超过迭代次数,结束迭代,获得最佳参数,即群体极值G。
6)结束更新后对位置是否在区域[Xcmin,Xcmin]、[Xσmin,Xσmin]内,当分量超出上述区域时,需要对其进行调整。如果xic
工业以太网Powerlink协议通信周期约束异常检测方法构建通信周期约束异常检测模型的流程如下:
1)接收上述构成获得的径向基核函数参数σ和惩罚因子C。
2)用标签表示通信数据样本类别,将正常功能码序列样本和异常功能码序列样本对应的标签值分别设定为1和-1[12]。
3)在上述过程的基础上建立支持向量机模型,表达式如下:
(12)
式中,K(xi,xj)代表高斯核函数;αi、αj代表Largrange因子。
4)将提取的工业以太网Powerlink协议通信特征输入上述构建的决策函数中,实现周期约束异常检测。
为验证工业以太网Powerlink协议通信周期约束异常检测方法的整体有效性,结合模拟异常数据和真实流量数据获得模拟流量数据,对工业以太网Powerlink协议通信周期约束异常检测方法进行测试。背景流量选取某校园网的IP分组流量数据,设置1min作为统计时间的间隔。表1为工业以太网Powerlink协议通信过程中存在的几种异常状况。
表1 异常列表
分别采用工业以太网Powerlink协议通信周期约束异常检测方法、文献[3]方法和文献[4]方法对上述通信网络时间序列进行检测,对比不同方法检测结果的均方根误差、绝对误差。
分析表2中的数据可知,采用上述方法对不同类型的异常进行检测时,工业以太网Powerlink协议通信周期约束异常检测方法获取的均方根误差和绝对误差均远远低于文献[3]方法和文献[4]方法获取的均方根误差和绝对误差,因为工业以太网Powerlink协议通信周期约束异常检测方法进行检测之前构建了通信流量模型,对通信流量在工业以太网中的特点进行分析,获取通信流量的特征,根据提取的特征实现异常检测,降低了工业以太网Powerlink协议通信周期约束异常检测方法检测结果的均方根误差和绝对误差。
将适应度作为指标,对工业以太网Powerlink协议通信周期约束异常检测方法、文献[3]方法和文献[4]方法进行测试,测试结果如图2所示。
分析图2可知,采用工业以太网Powerlink协议通信周期约束异常检测方法对A1、A2、A3类异常进行检测时,适应度均在60%以上,采用文献[3]方法和文献[4]方法对A1、A2、A3类异常进行检测时,适应度分别在40%和30%附近波动。对比上述方法的测试结果可知,工业以太网Powerlink协议通信周期约束异常检测方法的适应度较高,因为工业以太网Powerlink协议通信周期约束异常检测方法可以利用通信流量模型在不同异常情况下获取通信流量的特征,进而实现异常检测,提高了工业以太网Powerlink协议通信周期约束异常检测方法的适应度。
分别采用工业以太网Powerlink协议通信周期约束异常检测方法、文献[3]方法和文献[4]方法进行异常检测,测试上述方法在异常检测过程中的覆盖率,测试结果如表3所示。
表3 不同方法的检测覆盖率
根据表3中的数据可知,在多次迭代中工业以太网Powerlink协议通信周期约束异常检测方法的检测覆盖率均在95%以上,远高于文献[3]方法和文献[4]方法的检测覆盖率。因为工业以太网Poerlink协议通信周期约束异常检测方法在检测之前分析了通信信号在网络中的传输特点,根据通信信号的传输路径实现异常检测,进而提高了工业以太网Powerlink协议通信周期约束异常检测方法检测结果的覆盖率。
工控系统通信协议面临的主要问题为易受到攻击和缺陷问题。入侵检测技术对遭受攻击的协议安全问题具有较好的效果。Powerlink协议属于工控网络协议,是根据工业以太网协议构成的,具有完全开源和高速实时等优点,被广泛地应用在高铁测试系统、CNC、航空系统和高速多轴系统等领域中。但由于Powerlink自身存在的缺陷以及传统网络的安全性较差,导致工业以太网Powerlink协议经常受到攻击,因此需要对工业以太网Powerlink协议通信进行异常检测。
目前通信异常检测方法存在检测误差大、适应度低和覆盖率低的问题,为了解决上述方法中存在的问题,提出工业以太网Powerlink协议通信周期约束异常检测方法,构建了通信流量模型和异常检测模型,实现通信周期约束的异常检测。为工业以太网Powerlink协议的安全运行提供了保障。