刘文涵 田曦 李星宇 梁光明
摘要:本文深入研究工业控制系统中SCADA系统,即数据采集与监控系统的基本原理、链路数据特点,总结分析了现有信息检测、数据分析方法,提出了通过对上、下位机间链路数据的采集、处理并制成关键信息模板进行比对的方法,建立了基于样本波形比对的SCADA系统链路数据关键信息检测模型,具有自动化程度高、准确性高、能够有效处理大规模相互关系复杂的数据等优点,并搭建了实验平台,验证了该模型的有效性。
关键词:SCADA系统 链路数据 信息检测 波形比对
中图分类号:TE973.6 文献标识码:A 文章编号:1007-9416(2016)08-0089-02
工业控制系统广泛的应用于我国电力、水利、污水处理、石油天然气、化工、交通运输、制药以及大型制造行业,其中超过80%的涉及国计民生的关键基础设施依靠工业控制系统来实现自动化作业,工业控制系统已是国家安全战略的重要组成部分[1]。
数据采集与监控系统,即SCADA(Supervisory Control And Data Acquisition)系统,是工控系统中的重要组成部分,它以计算机为基础实现对工控系统中现场的运行设备控制,数据监控,测量、参数调节以及各类信号报警等各项功能。研究SCADA系统链路信息检测方法对确保工控系统安全有着重要意义。在已有的检测方法中,文献[2,3]中介绍了最早提出的静态性能数据分析方法——假设检验法,如Kolmogorov-Smirnov检验、Caemer-VonMises 检验等,此类方法准确性较高,但具有自动化程度低,对分析人员能力要求较高等缺点。文献[4]采用了一种基于支持向量机理论的预测建模分析方法,具有能够快速确定数据趋势预测、准确性较高等优点,但缺乏能够有效处理大规模、相互关系复杂的数据的能力。本文总结分析了现有信息检测、数据分析方法,提出了基于样本波形比对的SCADA系统链路数据信息检测方法,具有自动化程度高、准确性较高、能够有效处理大规模、相互关系复杂的数据等优点,为获取SCADA系统链路数据关键信息中提供了有效手段。
1 SCADA系统链路数据特点
在生产调度过程中,SCADA系统起到了整个工控系统监视和控制数据传导的作用,大量的数据在WinCC监控机、PLC控制器和外设3个终端设备不断传输,深入分析SCADA系统链路数据特点是实现SCADA系统链路信息检测的基础性工作。
图1为工业控制系统中SCADA的监控原理简图。SCADA系统实时监视的信息主要来自于PLC、现场的变送器、过程量转换器、开关、控制阀、执行器等之间交互的数据,信息包括诸如设备型号、监测量、系统组态,报警标识等[5]。这些数据报文的数据量很大,其所携带信息量之间的关系也较为复杂,普通的数据分析方法难以满足对其数据分析的要求。
对通信数据的分析发现,上装下载直接以明文形式的ASCII码传输。通过实验能够识别出PLC型号、硬件组态、外设属性等信息,检测出包括通信数据格式和通信时序,获取读写过程中WinCC与PLC之间传输的数据内容。
在工业以太网上编程上位机和目标PLC通信数据中,通过不断比对各个数据包内容,可以发现step7和PLC的物理地址、IP地址等信息。如图2所示为编程上位机和目标PLC的通信数据包,红色圆圈为PLC的物理地址为00 1b 1b 8d 79 a6,IP地址为192.168.3.2。蓝色圆圈为step7主机的物理地址为28 d2 44 5d 90 4c,对应的IP地址为C0 A8 03 64即192.163.3.100。而数据中的具体操作指令、协议机制等则以二进制代码形式体现,目前没有公开通用的方法可以分析此类二进制代码的具体含义。
通过对SCADA系统链路数据特点的分析,为接下来模型的建立及实验的验证做好了准备工作。
2 基于样本波形比对模型的建立
基于样本波形比对的SCADA系统链路数据信息检测的核心思想,就是利用预先设定好的关键信息数据样本作训练集,得到训练模型后,将从内部网络获取网络数据包与训练模型比对,检测该数据包中是否含有相同的关键信息,其模型如图3所示。
该模型分为五个部分:第一部分为样本数据采集,采集感兴趣的关键链路信息数据,如上装OB块、下载FC块、关键控制量C等,进行简单的数据与处理;第二、三部分为对数据进行互相关运算、时间同步,利于接下来的波形比对。当各组数据完成时间同步后,对各组中同一位置的数据求平均值,减少误差,得到的各个平均值为SCADA系统关键信息的数字化,将各平均值用曲线拟合,则构成了能描述SCADA系统关键信息的波形图,即为训练样本。第四部分为采用同样的方法,得到采集PLC与上位机传输数据,绘制测试数据的波形图。最后,将两个波形图对比拟合,并计算变化率,就可以得知所采集的数据中是否包含所需要的关键信息。
3 基于样本波形比对法的基本原理
假设设定PLC编程中A为某个关键信息量,在采集的数据中,等时间间隔地采取100有效数据为一组,重复采取k组后,得到样本数据(i=1,2,…k;j=1,2.…,100)。以第一组数据为基准,分别将其他组数据与第一组数据做滑动互相关运算。
是检测组与样本对照组的变化率,当于小于5%,可以认为检测组与样本对照组完全拟合,即该检测量为样本对照组代表的关键信息。
4 编程实现及实验验证
根据上文提出的SCADA系统链路数据信息检测模型,本文设计了实验来验证该模型的准确性。
搭建一个简单的实验平台,包括编程上位机、监视监控主机,可编程逻辑控制器等,通过交换机相连构成工业控制局域网系统。PLC编写了3个监控量的用户程序,分别是删除FC9、下载OB1、上装FB2,根据模型将删除FC9的二进制代码制作了样本对照组。
首先通过网络抓包程序,从内部网络中获取包含监控量的网络数据包,根据应用层协议的规则,从二进制数据中提取监控量信息。取100个样本数据组,代入模型进行分析,得到删除FC9二进制代码的对照样本波形图,如图4所示。并将其与测试组的样本波形图,如图5,进行比对,最终通过计算误差率得到实验结果如图6。
通过实验分析,测试组与样本组拟合程度达到要求,即数据包中是样本对照组代表的关键信息。比对编写的PLC用户程序,确认实验结果与预先设置相同。
5 结语
本文分析了SCADA系统的基本原理以及其链路数据基本特点,研究总结了现有数据分析方法,提出了一种SCADA系统链路数据信息检测方法,建立了基于样本波形比对法的SCADA系统关键信息检测模型,并搭建了实验平台,验证了检测模型的有效性。该检测方法在维护工业控制系统安全、保证工业控制系统定运行方面有一定的参考价值。
参考文献
[1]王坤.浅谈工控系统的安全威胁及防护体系建立[J].信息网络安全,2013.
[2]T.H. Naylor, J.M. Finger. Verification of Computer Simulation Models.Management Science,1967,14(2):92~101.
[3]A.V. Gafarian, J.E. Walsh. Statistical Approach for Validating Simulation Modelsby Comparison with Operational Systems. Proceeding of the 4th International Conference on Operations Research, New York, 1969: 702~705.
[4]田萌.基于数据挖掘的复杂仿真数据分析方法研究[D].哈尔滨工业大学,2010.
[5]Li H, Zhu G. Establish and improve Chinas industrial control system information security system[J]. Microcomputer & Its Applications,2015.