APP下载

基于上位机与西门子S7-300PLC网络通信的流量建模与预测研究

2017-03-14胡晓晴

网络安全技术与应用 2017年2期
关键词:网络流量平稳性残差

◆胡晓晴 方 勇

基于上位机与西门子S7-300PLC网络通信的流量建模与预测研究

◆胡晓晴 方 勇

(四川大学信息安全研究所 四川 610065)

本文针对上位机与西门子S7-300PLC之间的网络通信流量提出一种流量预测模型,该模型可以有效地地预测上位机与s7-300PLC之间的通信流量。本文首先使用wireshark抓包软件获取1小时内上位机与西门子 s7-300 PLC之间通信链路中的所有数据包,将这些数据包根据上位机和PLC的ip地址过滤后,生成流量时间序列,并对其进行平稳性分析,分析结果表明该流量时间序列具有平稳性。又由于本文仅考虑流量时间序列中的短相关性,因此选择时间序列预测模型ARMA对该流量进行建模。建模完成后,本文又进行了模型预测与回测实验,实验结果显示绝大多数预测点的误差被控制在1%以内,仅有极个别点误差在10%左右,总体预测效果优良,从而得出结束语:本文建立的ARMA模型可以有效地预测上位机与s7-300 PLC之间的通信流量。

工业控制网络;流量建模;流量预测;ARMA;S7-300;PLC

0 前言

与普通网络相比,工业控制网络具有更加稳定的拓扑结构,各个拓扑节点的功能很少变动,因此,正常稳定的工业控制系统在运行期间会保持比普通网络更加稳定的流量水平。当工业控制网络流量水平在一段时间内出现异常,即超过或低于其合理范围时,则很可能意味着工业控制设备遭遇了病毒的攻击,或者是发生了故障,而这些系统异常可能会影响系统设备乃至整个工业控制系统的正常运行。因此,对工业控制网络异常流量的识别对保证工业控制系统安全有着重要意义,而对工业控制网络正常流量的有效预测,是识别其异常流量的基础。

工业控制网络流量特性与普通网络流量特性有所不同,这是由于相对普通网络来说,工业控制网络拓扑结构相对固定,业务类型多为周期性的,且网络协议类型较为单一。不同的预测模型有不同的适用范围,如果适用范围和数据特性不一致,则无法准确有效地预测数据。因此,普通网络流量建模常用的方法很可能并不适用于工业控制设备流量。需要单独对工业控制设备流量进行分析和建模。

进行流量预测的常用时间序列模型大致分为平稳模型和非平稳模型两类,平稳模型主要包括AR模型,ARMA模型,FARIMA模型,非平稳模型则主要为ARIMA模型。本文通过对样本流量时间序列稳定性和自相似性等特性的分析,使用ARMA模型实现流量的建模和预测。

目前,很少有真实场景中对工业控制网络流量的有针对性的研究,一部分研究仅采用仿真分析方式,仿真分析得出的结束语常常与现实存在较大的差异;另一些研究则是对某个特定而又复杂的工业控制系统的总流量进行分析,这种方式得出的结束语往往仅适用于其研究的单个系统,缺乏普适性。本文在真实场景中仅采集上位机与s7-300之间的网络流量,对其进行数据特性分析、建模假设、建立模型和模型检验,所得模型即真实性强,又适用范围广。

1 流量采集

本文将真实工业控制系统作为流量采集平台。该系统由三台上位机,一台西门子s7-300PLC,两台西门子S7-200PLC,一台工业以太网交换机,一台额定电压24V、额定功率200W的发电机模型和工业以太网等设备构成,拓扑图如图1所示。其中,操作员站与S7-300PLC通过运行于TCP/IP上的s7协议实现网络通信,操作员站通过对s7-300发送命令来监控发电机模型的开关与转速。

图1 实验平台拓扑图

本文在操作员站上使用wireshark软件获取途径流量。wireshark是一款功能齐全的抓包软件,它可以获取途径抓包链路的所有数据包的到达时间、包长、源IP、目的IP、协议等信息,并能通过设定过滤器将需要的数据包过滤出来,还可以将这些过滤出来的数据包导出。另外,wireshark不会产生网络流量,也就不会对链路中原有流量的特性造成影响。抓包过程中,操作员站与s7-300PLC进行通信,监测发电机的转速,发电机的转速保持1500转每分钟,抓包过程持续1小时。抓包完成后,使用wireshark过滤器功能过滤出操作员站与s7-300 PLC之间的通信流量并导出。导出流量的10s尺度的时间序列图如图2所示。

图2 导出流量时间序列图

图2中每个序列值代表某个10s内上位机与s7-300PLC之间通信流量的字节数,单位为Bytes/10s,横坐标为时间,单位为10s。从直观来看,该流量数据集共有372个样本点,在10秒尺度上具有明显的周期性,且均值、方差没有明显随时间变化的趋势,后两点说明流量时间序列在10s尺度上可能是平稳的。下面对流量时间序列在10s尺度上的平稳性做进一步分析。

2 流量的平稳性检验

为准确选取流量模型,本文进一步对样本流量时间序列进行平稳性检验。流量的平稳性是指,流量时间序列的均值和方差在时间过程上保持常数,并且在任何两时期之间的协方差的值仅依赖于该两时期间的距离或滞后,而不依赖于计算这个协方差的实际时间。简言之,如果一段流量是平稳的,就不管在什么时刻测量,它的均值、方差和各种滞后的协方差都保持不变。[1]最常用的平稳性检验方法是图示分析法和相关图检验法,而最准确的平稳性检验方法是单位根检验法。本文在上一章已经通过观察流量时间序列图初步判断出该流量可能具有平稳性,下面依次使用相关图检验法和单位根检验法中的ADF检验对流量平稳性进行分析。

考虑到可能存在的异方差现象,以及单位数量级过高等问题,本文对样本流量时间序列进行了取自然对数处理。本文使用EVIEWS数据分析软件,将流量序列Y处理为LN(Y)。利用EVIEWS对上述时间序列的前186个样本点做自相关图以获取自相关系数与偏自相关系数,结果如下图3所示。

图3 样本流量时间序列自相关图

根据图3可以发现,流量时间序列的自相关系数在之后10阶处非常显著,数值很大,而偏自相关系数则存在一定的拖尾特性,但在10阶后也降低至0附近,因此序列存在着至多10阶的相关性,很可能具有平稳性。

为进一步验证样本流量时间序列的平稳性,本文引入时间序列平稳性的常用检测方法——单位根检验。平稳性检验以DF检验和ADF检验最为常见,本文采用ADF检验,检验结果如下表1所示。

表1 样本流量时间序列ADF检验结果

LNY序列ADF检验的统计量值是-9.610895,故能在1%的显著水平下拒绝原假设,即可以认为该序列不存在单位根,是平稳的序列。

3 建立模型

3.1 模型选择

经上一章检验,本文流量时间序列是平稳序列,平稳时间序列模型主要包括AR模型、ARMA模型、FARIMA模型,由于ARMA模型本质上是AR模型和MA模型的结合,已经包括了AR模型,而FARIMA模型主要用于长相关性时间序列的预测,不属于本文研究范围,因此采用ARMA模型对流量时间序列进行建模和预测。

3.2 参数估计

由图3可以发现,序列的自相关系数在滞后10阶时非常显著,而偏自相关系数却存在着较长的拖尾分布特征。所以,本文初步选用ARMA(10,0)模型进行拟合估计,下面利用EVIEWS对样本流量时间序列建立自回归模型,参数结果如下表2所示。

表2 ARMA(10,0)模型参数估计

由表2可知,在此解释变量和参数下,模型的AR(10)对应的相伴概率为0.0000,非常显著,是有效解释变量。此时,残差相关图如下图4所示:

图4 ARMA(10,0)残差相关图

显然,在滞后1阶处仍然存在较高程度的相关程度,因此,将AR(1)加入ARMA模型,得到流量时间序列对ARMA((1,10),0)模型的回归结果如下表3所示:

表3 ARMA((1,10),0)模型参数估计

从表3中可知,AR(1)作为解释变量,其自身的相伴概率为0,非常显著,且其加入并未改变AR(10)的显著性,因此AR(1)为有效解释变量。加入AR(1)后的残差相关图如下图5所示:

图5 ARMA((1,10),0)残差相关图

模型的残差平方相关图显示,在滞后1阶情况下,模型的自相关系数和偏自相关系数仍大于0.1,且偏相关系数的拖尾特性仍然存在,为了对这种情况进行修正,在模型中加入MA(1)项进行优化估计。在加入项MA(1)的情况下,可以得到估计结果如下表4所示:

表4 ARMA((1,10),1)模型参数估计

MA(1)的相伴概率是0.0000,非常显著,但其对AR(10)项的显著性有一定影响。下面做出含有MA(1)的残差相关图,如图6,做进一步分析。

图6 ARMA((1,10),1)残差相关图

如图6所示,滞后1阶的相关系数已经被消除,残差相关图呈现出白噪声序列,数据的相关信息已经被模型充分提取,该模型实现了比较理想的估计。但考虑到原模型在加入MA(1)后的AR(10)不显著,故剔除AR(10)项再次进行估计,得到ARMA(1,1)的参数估计结果如下表5所示:

表5 ARMA(1,1)模型参数估计

如表5所示,消除解释变量AR(10)后,解释变量MA(1)的相伴概率为0.99,完全不显著。上述ARIMA(1,1)模型对应的残差相关图如图7所示:

图7 ARMA(1,1)残差相关图

由图7可知,虽然在滞后1阶处的相关系数被消除了,但之后10阶等多处出现非常高的相关效应,说明该模型不理想。

根据各残差图的结果可知,ARIMA((1,10),0,1)实现了最理想的估计,最终残差相关图呈现为白噪声序列,数据的相关信息已经被模型充分提取。尽管在该模型中有个别解释变量不显著,但ARIMA模型是整体预测性的模型,一般从整体考虑模型有效性,而非个体变量的显著性。

3.3 模型定阶

为更准确地确定最优模型,本文下面将再运用最小信息准则法——即AIC/SC信息准则法再次对模型进行判别,实现最终的模型定阶。在3.2节中,随着结果的逐步优化已经建立起了较多的模型。为了进一步识别各个模型的优劣特性,下面运用AIC/SC信息准则发对上述模型进行综合判断,整理如表6所示:

表6 各模型AIC与SC值

根据AIC/SC信息最小原则,因为模型ARMA((1,10),1)的AIC和SC值同时为最小值,所以选定ARMA((1,10),1)作为最优的拟合模型。

4 模型预测实验

本文使用EVIEWS根据上述讨论出的ARMA((1,10),1)模型对样本流量时间序列的自然对数序列LN(Y)做出回测和预测,再通过自然数e的幂乘方运算转化为原始数值,得到回测和预测序列YF。其中,模型对样本流量时间序列的前186个点进行回测,对后186个点进行预测。下图8中给出了预测/回测值和实际值的对比图,纵坐标单位为Bytes/10s,横坐标单位为10s。

图8 预测/回测序列与原始序列对比图

由图8可以看出,本文建立的ARMA((1,10),1)模型对绝大多数流量时间序列点做出了较为准确的预测或回测。为了更具体的分析预测结果,下面在表7中统计了预测/回测误差比。其中,第一列为不同的误差比范围,误差比是真实值Y和预测值YF的差值与预测值YF的比值乘100%;第二列是对应误差比范围内的序列点数占全部序列点数的百分比。

表7 模型预测/回测误差比统计表

由误差比统计表可以得到,89.23%的点位误差控制在1%以内,98.33%的点位误差控制在2%以内,有个别点误差在8%左右,但数量极少,总体预测效果优良。

5 结束语

本文以上位机与西门子s7-300 PLC之间的网络通信流量为研究对象,使用wireshark对流量抓包、过滤后,导出10s尺度的流量时间序列,使用时间序列预测模型ARMA利用统计学知识对流量时间序列进行建模,通过调整参数、解释变量和最优模型判别,得到最优ARMA模型ARMA((1,10),1),最后应用该模型对样本流量时间序列进行了预测和回测实验,实验结果表明ARMA((1,10),1)模型对上位机与西门子S7-300 PLC之间通信流量的预测效果优良。

[1]Damodar N.Gujarati.计量经济学基础(第5版)[M].北京:中国人民大学出版社,2011.

[2]王丽贤.时间序列预测技术研究[D].天津理工大学,2011.

[3]刘亮,江汉红,王洁,芮万智.工业以太网网络流量的特性分析与建模研究[J].微电子学与计算机,2015.

[4]吴美美.网络流量特性分析及预测研究[D].天津大学,2008.

[5]高春梅.基于工业控制网络的流量异常检测[D].北京工业大学,2014.

[6]赖英旭,焦娇.基于时间序列分析的工业控制以太网流量异常检测[J].北京工业大学学报,2015.

[7]黄勇.面向ICS的异常检测系统研究[D].重庆理工大学,2014.

猜你喜欢

网络流量平稳性残差
基于多元高斯分布的网络流量异常识别方法
基于双向GRU与残差拟合的车辆跟驰建模
基于非平稳性度量的数字印章信息匹配
基于神经网络的P2P流量识别方法
基于残差学习的自适应无人机目标跟踪算法
城轨车辆运行平稳性状态监测与性能演化分析*
基于递归残差网络的图像超分辨率重建
AVB网络流量整形帧模型端到端延迟计算
高重合度齿轮传动的平稳性分析及试验
综合电离层残差和超宽巷探测和修复北斗周跳