工业控制系统场景指纹及异常检测
彭勇1, 2, 向憧2, 张淼1, 陈冬青2, 高海辉2, 谢丰2, 戴忠华2    
1. 北京邮电大学 信息安全中心, 北京 100876;
2. 中国信息安全测评中心, 北京 100085
摘要:工业控制系统(ICS)是监测和控制电力、水务、石油天然气、化工、交通运输、关键制造等国家关键基础设施行业物理过程运行的信息物理系统(CPS)。基于ICS系统中控制通信数据流的持续性和稳定性, 该文提出了从ICS系统工业控制协议交互模式中提取系统级行为特征来作为ICS场景指纹的创新思路和方法。ICS场景指纹不仅能用于识别特定ICS系统, 而且还能用于建立ICS系统正常行为基准并进一步用于识别系统的异常行为。该文构建了采用真实工控设备和软件以及仿真物理过程的实验系统并进行了相关实验验证测试。实验结果表明, ICS场景指纹是ICS系统安全研究方面的一种非常有前景的方法。
关键词工业控制系统    信息物理系统    场景指纹    异常检测    
Scenario fingerprint of an industrial control system and abnormally detection
PENG Yong1, 2, XIANG Chong2, ZHANG Miao1, CHEN Dongqing2, GAO Haihui2, XIE Feng2, DAI Zhonghua2    
1. Information Security Center, Beijing University of Posts and Telecommunications, Beijing 100876, China;
2. China Information Technology Security Evaluation Center, Beijing 100085, China
Abstract: Industrial control systems (ICSs) are cyber-physical systems (CPSs) which supervise and control physical processes in critical infrastructure industries such as electric power, water treatment, oil & natural gas exploration, transportation, and chemical industry. Based on the observation of ICS'stable and persistent communication data flow control patterns, a concept and a methodology of ICS scenario fingerprinting were proposed which analyze industrial control protocol interactive behavior to represent ICS system-level normal behavior characteristics. ICS scenario fingerprint can identify unique ICS installation, while being used as a more generalized method to establish ICS systems'behavior benchmark and further being used to identify ICS systems'abnormal behavior. Experiments were made to validate the proposed viewpoint, which use real equipment for ICS cyber domain and use simulation for ICS physical domain. Experimental results demonstrate that ICS scenario fingerprinting technique provides ICS security research with a promising method.
Key words: industrial control system (ICS)    cyber-physical system (CPS)    scenario fingerprint    abnormally detection    

工业控制系统(ICS)是数据采集系统(SCADA)、 分布控制系统(DCS)、 可编程逻辑控制器(PLC)等多种类型控制系统的统称[1, 2]。由于工控系统在线长期运行及其安全后果的重要性,工控安全问题日益成为关注重点。近年来震网[3]、 毒区[4]、 火焰[5]等病毒也展示了人们面临的严重信息安全现实威胁。

在传统IT领域中,指纹识别的技术通常采用主动方式,并主要用于渗透性测试、基础设施保护以及辅助入侵检测系统等。正如Caselli等人[6]所讨论的,工业控制系统的设备异构性、专用协议、设备计算能力以及长期运行的TCP会话都使传统设备指纹识别变得更具挑战性。而另一方面,在系统视角上,同传统互联网和IT系统相比,工业控制系统通常展现出规律和可预测的通信模式,它具有长生命周期、稳定的拓扑和规律可预测等行为特性。与IT系统相比,每个工业控制系统都是根据其特定物理过程、使用不同控制设备和软件定制开发的系统,每个工业控制系统在系统层面上更具唯一性。

本文的主要目的是探索建立工业控制系统在系统层面上的指纹,从而为工控系统异常检测、流量分析等运行和安全工作开拓一种新的方向。就作者的知识而言,在这个方向上目前尚未有此类研究。 本文的主要创新包括:

1) 同传统的基于IP和TCP级的流量分析不同,本文认为工控协议级的特性更能反映工控系统物理过程的特性,因此提出基于工控协议级网络流量分析思想; 2) 同采用纯仿真方式缺少真实性以及采用现场流量数据包含大量噪声干扰的方式不同,本文采用了基于场景的混合仿真方式构建了“真实”、“纯净”的工控实验环境,从而能在此环境中更方便地分析反映工控系统物理过程特性的流量特性; 3) 本文提出了基于工控协议双向包长、包到达间隔时间、包方向、包序列向量的工控系统基于场景指纹的系统级特征量,这种特征量更具有泛化性,能更语义地执行工控异常检测,并通过实验验证了其初步有效性。

1 相关工作

本文的主要思想源自于工业控制系统同传统IT系统所不同的严格规范性特性(图1)。在这方面,已经有大量综述文献[1, 2, 7]从系统层面上讨论了同传统IT系统相比,工业控制系统具有更长生命周期、更层次化和结构化的体系结构、更稳定的系统拓扑、更低的系统组件变动性等特性。同时,Barbosa等人[8]、 Pleijsier等人[9]实证展示了工业控制系统在网络流量所显示的以高度周期性方式产生流量、有非常稳定的连接图等特性。这些促发了我们寻求工控系统层相对简单、稳定指纹的思考。

图1 工业控制系统典型体系结构图

在传统网络流量分析和指纹辨识方面,Caselli等人[6]提出IT领域中广泛接受的指纹识别技术。Crotti等人[10]的工作,从包大小、到达间隔时间和到达顺序这3种特征出发提出了指纹的概念并用它来实现辨识目的。本文基于这两种方案,提出了新的工控场景指纹概念,建立工控场景模式的行为特征并用于识别工控系统运行中的异常行为。

在工控网络流量分析中,Garitano等人[11]研究建立整体工业控制系统应用网络流量模型的方法,本文则通过真实工业控制软件、硬件以及物理过程的仿真,研究利用网络数据的交互模式来验证特定的工控系统以及异常状态的可行性。在工控系统异常检测方面,Cheung[12]、 Goldenberg[13]和Morris[14]提出针对Modbus协议的入侵检测系统。Barbosa等人[15]使用白名单来描述合法交互。与他们不同的是,本文的研究专注于系统级的流量特征,这是一个工控系统信息安全的新研究方向。

此外,工控系统模型和参考体系结构等为描述和理解工业控制系统提供了公共的框架和术语,是工业控制系统信息安全工作的基础。在工业控制系统领域,ANSI/ISA-99[16]和IEC62443[17]等国际标准给出了5层结构。在本文中,为更好地理解工业控制系统,将工业控制系统简化成过程网络、控制网络和物理过程3部分,参见图1

2 实验设置

在工控信息安全研究中,一种方式是使用现实工控系统中采集的网络流量进行分析,它们提供了更现实的复杂环境下的工控研究成果。但这些网络流量包含了各种环境噪声,不能纯净地提供系统在未受干扰和攻击下正常行为特征,而且在真实环境中也无法开展各种攻击和检测流程。另一种情况对工控系统的网际部分,即上位机、 PLC等工控设备,采用仿真方法,虽然它能提供纯净的正常行为,但由于缺少真实网际部分设备,其结果的真实性仍然需要进一步验证。本文聚焦于上位机和PLC等下位机之间的控制系统通信交易这一工控系统最关键的部分,在这方面采用完全真实的软件和硬件构建,而其物理部分采用仿真的物理过程。通过这种方式,确保了工控实验测试床的真实性和有效性,参见图2

图2 工控CSTR场景实验拓扑图

实验场景根据图1所描述的工业控制系统体系结构来构建。该实验场景是建设中的关键基础设施综合实验平台(CPS-based critical infrastructure integrated experiment platform,C2I2EP)的一个组成部分。实验场景包含工控系统和实验分析系统两部分: 实验分析系统用于检测网络流量,执行数据分析任务; 工控系统部分构成如下:

1) 过程网络(上位机): Intouch;

2) 控制网络(PLC): 采用西门子PLC,它同上位机之间通过ISO-over-TCP协议进行通信;

3) 物理过程: 使用Matalab仿真运行CSTR化工模型。

在实验中采用一个标准连续搅拌釜式反应器(CSTR),产生一个一阶不可逆放热反应。过程如图3所示。

图3 CSTR模型

以上物理过程描述如下。

$\begin{align} & \frac{\text{d}{{C}_{A}}}{\text{d}t}=\frac{q}{V}\left( {{C}_{Af}}-{{C}_{A}} \right)-{{k}_{0}}\exp \left( -\frac{E}{RT} \right){{C}_{A}}, \\ & \frac{\text{d}T}{\text{d}t}=\frac{q}{V}\left( {{T}_{f}}-T \right)+\frac{-\Delta H}{\rho {{C}_{p}}}{{k}_{0}}\exp \left( -\frac{E}{RT} \right){{C}_{A}}+ \\ & \frac{UA}{V\rho {{C}_{p}}}\left( {{T}_{c}}-T \right). \\ \end{align}$

3 工业控制系统场景指纹

工业控制系统种类繁多,不同的工业控制系统最大的区别在于其所实现的物理过程不同。每一个工控系统(场景)都是一种逻辑和数据的组合[11],工控系统的设计者设计控制逻辑,植入PLC,为监控人员设计HMI系统。最后,HMI和PLC与传感变量和控制变量通过工业控制协议进行交互。通过分析工业控制协议交互行为特征,可以获取工控系统的场景指纹。

接下来对工业控制系统场景指纹进行定义和实验验证。 在本文中,工控系统场景指纹是HMI和PLC之间交易模式的集合,其中交易是通过包时序、包到达间隔时间、包方向、包大小来进行区分的HMI和PLC之间交换的工控协议包的集合。工控场景指纹获取流程如图4所示。

图4 工控系统场景指纹获取流程

步骤1 获取HMI与PLC之间的交互情况。

在步骤1中,可以使用Wireshark等网络流量捕获软件来获取HMI和PLC之间的交互情况,获取的PCAP文件如图5所示。

图5 获取的网络流量PCAP文件

步骤2 协议特征的提取和预处理。

实验采用定义的数据分析工具,如scapy等来提取数据包特征量: 包时序、包大小、包间隔时间和包方向。然后对特征量进行过滤和预处理,最终得到工控协议特征向量集合 P i

Pi={siti,di},i=1,2,…. (1)
其中: i是HMI$\underset{{}}{\leftrightarrows}$PLC之间交换的第i个包的序号; Δti代表第i个包和前一个包之间的包间隔时间; di代表HMI$\underset{{}}{\leftrightarrows}$PLC的数据发送方向,即当包属于HMI→PLC的流FHMIdi为“+1”,而当包属于HMI←PLC流FPLCdi为“-1”。

需要指出的是,在这里已经将包到达间隔时间进行了离散化处理,极大地方便了后续的相关分析工作。

通过对CSTR场景的6 h的运行监控和实验数据分析,初步发现工控协议交互的数据包具有如下特性:

1) 场景中的工控协议中存在长时间的TCP连接,该连接可以持续数个h(可能更长),参见图6。这验证了Caselli等人[6]的观点,并证实了无法使用TCP连接特征来分析工控系统场景。

图6 HMI和PLC之间的TCP长连接

2) 工控协议数据包的包到达间隔时间存在明显的特征,可以用来分辨HMI和PLC之间的交易模式。根据对Δti的观察,存在3种数量级的交互时差: 100 ms、 10 ms、 1 ms。参见表1

表1 不同数量级的交互时差
序号包大小包方向包向量间隔时间/ms
1901900
260-1-601
376-1-7620
460160200
51331133100
660-1-601
7227-1-22730
813311331
960-1-601
109019010

3) 工控协议数据包的包大小si和包向量(si,di)类型有限,在CSTR场景当中,截取了上百万个数据包也仅存在6类包向量: {(60,+1),(90,+1) ,(133,+1),(60,-1),(76,-1),(227,-1)}。 另外,通过多时间尺度的数据统计,发现几种包向量的数量在不同时间尺度下基本保持不变。参见图7

图7 不同时间尺度下的包向量数量

步骤3 获得工控系统场景交易模式。

通过步骤2的观察,在CSTR场景当中存在交易模式,每一个模式Mj由多个连续特征向量集合组成:

${{M}_{j}}=\left\{ {{{\dot{P}}}_{0}},{{{\dot{P}}}_{1}},\cdots \right\}.$ (2)

获取工控场景交易模式的算法如下所述。

算法1 获取工控场景交易模式
1: input: <Pi={siti,di},I>,
output: <${{M}_{j}}=\left\{ {{{\dot{P}}}_{0}},{{{\dot{P}}}_{1}},\cdots \right\}$ >
2: //通过对场景的分析,发现每个交易都由一个包大小为60的不携带参数的包结束。//
3: function Patterns(Pi={siti,di})
4: while(i<I)
5: j=i
6: while(sj !=60)
7: j=j+1
8: if{(si,di),…,(sj,dj)} ${\bar{\in }}$M
9: ${\dot{P}}$ ={(si,di),…,(sj,dj)}
10: M=M∪{${\dot{P}}$}
11: return M

经算法验证,在CSTR场景当中存在8种交易模式,参见表2图8

表2 交易模式统计
交易模式M数量
M1{(227,-),(60,+)}5 021
M2{(76,-),(60,+)}47 703
M3{(90,+),(60,-)}45 269
M4{(133,+),(60,-)}7 475
M5{(76,-),(90,+),(60,-)}9 464
M6{(76,-),(133,+),(60,-)}13 910
M7{(227,-),(90,+),(60,-)}16 366
M8{(227,-),(133,+),(60,-)}14 909

图8 CSTR场景交易模式

步骤4 CSTR工控系统场景指纹。

在CSTR场景当中,场景指纹ΦS是交易模式的集合,定义为

ΦS={M1,M2,…,M8}. (3)
在本次实验中,并未考虑不同的硬件会带来的影响,这将在未来的研究中进一步探讨。

4 基于工业控制系统场景指纹的异常检测 4.1 异常检测

通过代表正常系统行为特征的工业控制系统场景指纹,可以有效地检测异常行为。对于新获取的数据流,通过重复步骤1—3获取交易模式并与场景指纹对比,如果出现新的交易模式,就可以判定存在异常行为。下列基于CSTR场景 的异常检测实例可以作为理论研究的例证,在现实的异常检测当中,工业控制系统场景指纹可以作为现有的异常检测手段的一种补充。

4.2 异常检测实验实例

将展示一些实例来验证基于场景指纹的异常检测。在接下来的场景中,假设异常的产生(包括攻击)来自“合法”来源,使用“合法”协议与PLC进行交互。这是工业控制系统当中最难以发现却又最危险的异常情况。

场景1 ISO-on-TCP数据流。

图9中的ISO-on-TCP协议数据流PCAP文件从硬件供应商获得。尽管使用 了相同的协议,但是其中的参数与本文的实验数据并不一致,比如其中包含长度为82的数据包,这在本文的实验场景中从未出现过。

图9 ISO-on-TCP协议数据包

场景2 PLCScan扫描攻击。

图10展示了CSTR实验场景在PLCScan 扫描攻击下的数据流,可以假设攻击者已经拥有了部分权限,可以伪造数据包的参数,比如IP地址、包数据等,以抵抗白名单探测。

图10 PLCScan扫描攻击数据流

但在如图10所示的数据流中,数据包2被伪造成任何大小的数据包都无法匹配已有的场景指纹,这意味着通过基于场景指纹的探测方式可以有效地检测到该攻击的存在。

5 结束语

工业控制系统(ICS)信息安全对关键基础设施安全而言是至关重要的。本文认为工业控制系统(ICS)和信息技术(IT)系统之间的最大区别在于:

1) 工业控制系统是信息物理系统,可以直接影响物理世界;

2) 在系统层面,工业控制系统是高度规范性和规律性的生产系统,具有更高的规律性以及稳定性。

通过对仿真实验场景的观察和分析实验,可以获得工业控制系统的系统级特征,本文称为“工业控制系统场景指纹”。这种基于工业控制协议交互行为特征的技术对工业控制系统安全研究是一个有前途的新方向。

本文的研究和实验都只是基于理想模型,其结果暂不适用于真实环境中的复杂模型。 在关键基础设施综合实验平台(C2I2EP)的未来搭建计划中,准备构建更加复杂和真实的实验场景,还会从真实的工业控制系统当中获取数据流来进行进一步研究。另外,在对工业控制系统场景指纹进一步研究时,将扩展工业控制协议数据特征集包括一些TCP/IP底层参数,并使用更有效的数据挖掘方法来对真实的工业控制系统环境下产生的复杂数据进行分析。

参考文献
[1] Stouffer K, Falco J, Scarfone K. Guide to Industrial Control Systems (ICS) Security, NIST: special publication 800-82 [R]. 2011.
[2] 彭勇, 江常青, 谢丰, 等. 工业控制系统信息安全研究进展 [J]. 清华大学学报: 自然科学版, 2012, 52(10): 1396-1408. PENG Yong, JIANG Changqing, XIE Feng, et al. Industrial control system cybersecurity research [J]. Journal of Tsinghua University: Sci & Technol, 2012, 52(10): 1396-1408. (in Chinese).
[3] Falliere N, Murchu L O, Chien E. W32.Stuxnet dossier, Symantec white paper [R]. 2010.
[4] Bencsáth B, Pék G, Buttyán L, et al. Duqu: A Stuxnet-like malware found in the wild[R/OL]. (2011-10). http://www.crysys.hu/publications/files/bencsathPBF11duqu.pdf.
[5] sKyWIper Analysis Team. sKyWIper (a.k.a. Flame a.k.a. Flamer): A complex malware for targeted attacks[R/OL]. (2012-05). http://www.crysys.hu/skywiper/skywiper.pdf.
[6] Caselli M, Hadiosmanovi D, Zambon E, et al. On the feasibility of device fingerprinting in industrial control systems [C]//8th International Workshop on Critical Information Infrastructures Security, CRITIS. 2013: 155-166.
[7] Cheminod M, Durante L, Valenzano A. Review of security issues in industrial networks [J]. IEEE Transactions on Industrial Informatics, 2013, 9(1): 277-293.
[8] Barbosa R R R, Sadre R, Pras A. A first look into SCADA network traffic [C]//Proceedings of 2012 IEEE Network Operations and Management Symposium, NOMS. 2012.
[9] Pleijsier E. Towards anomaly detection in SCADA networks using connection patterns [C]//18th Twente Student Conference on IT. 2013.
[10] Crotti M, Dusi M, Gringoli F, et al. Traffic classification through simple statistical fingerprinting [J]. SIGCOMM Comput Commun Rev, 2007, 37(1): 5-16.
[11] Garitano I, Siaterlis C, Genge B, et al. A method to construct network traffic models for process control systems [C]//Proceedings of 2012 IEEE 17th International Conference on Emerging Technologies and Factory Automation, ETFA. 2012.
[12] Cheung S, Dutertre B, Fong M, et al. Using model-based intrusion detection for SCADA networks [C]//SCADA Security Scientific Symposium. 2007.
[13] Goldenberg N, Wool A. Accurate modeling of Modbus/TCP for intrusion detection in SCADA systems [J]. International Journal of Critical Infrastructure Protection, 2013, 6(2): 63-75.
[14] Morris T, Vaughn R, Dandass Y. A Retrofit network intrusion detection system for MODBUS RTU and ASCII industrial control systems [C]//Proceedings of the 2012 45th Hawaii International Conference on System Sciences. 2012.
[15] Barbosa R R R, Sadre R, Pras A. Flow whitelisting in SCADA networks [J]. International Journal of Critical Infrastructure Protection, 2013, 6(3-4): 150-158.
[16] ANSI/ISA-99.01.01-2007. Security for industrial automation and control systems: Terminology, concepts and models [R]. 2007.
[17] IEC/TS 62443-1. Industrial communication networks- Network and system security-Part 1-1: Terminology, concepts and models [R]. 2009.