本文是PLC安全防护技术的下篇部分,我们将在网络隔离、控制组态等方面对PLC的安全防御技术进行分类介绍。

基于网络隔离的PLC安全防护

使用工业防火墙[1],对PLC的通信进行过滤和防护,这是目前最常见的PLC安全防护手段,相对比较保守,在无法确保100%准确率的情况下,一般采取的策略是只进行告警而不进行阻断。Stevan 等[2]通过对比多种不同厂家不同型号的PLC指出,不一定要利用0-day漏洞就可以对PLC实施攻击,只需要和PLC建立通信即可。因此使用防火墙和VPN对PLC设备进行隔离是安全防护的第一步。Be´la Genge 等[3]提出了利用防火墙和深度防御策略来进行安全防护的方法。Sandaruwan 等[4]提出 IDS应与防火墙一起部署,以防止感染的访问。David Kuipers 等[5]提出了纵深防御策略,对PLC等进行隔离,首先对整个工业生产系统进行安全分区,然后在不同的区域之间设置防火墙进行隔离,从而保证跨越不同的安全区域进行访问能够受到限制。

基于控制组态的PLC安全防护

控制组态包含了PLC的执行逻辑,是直接作用于生产过程的程序,因此对控制组态的安全性验证也是PLC安全防护的重要组成部分。Litian Xiao 等[6]提出了一种对PLC程序(组态)进行联合验证的层次化框架,主要包括代码层面、模型层面和合规性层面。在代码层面上,对应于PLC软件测试,分析了静态测试、真实环境测试、硬件检测器测试、仪器测试和模拟测试的适用性。在模型层面上,根据PLC程序体系结构,形式化描述和语义定义,采用线性时态逻辑语法和语义的方法引入算术符号转换系统。在合规性层面上,提出了一种基于PLC程序定理验证技术的正确性验证框架。具体过程如图1所示。Yu Jiang 等[7]提出了混合关系模型(HRM,hybrid relation model),对PLC的梯形图组态进行了分析,并证明构建的用来捕获组态执行逻辑的HRM是一个贝叶斯网络(BN,Bayesian Network),利用BN的运算机制,来处理组态执行过程中的硬件故障概率。Mo Xia 等[8]指出,通过传统的测试难以发现由PLC构成的复杂系统的逻辑漏洞,形式化证明引入了严格的数学分析来枚举所有的状态空间,但是尚无对PLC能进行验证的有效工具,而通用的形式化验证工具需要大量的相关背景知识,因此提出了一个针对PLC系统的自动化建模和模型检测工具,称为FMMC。包括图形化建模、语法检验、代码生成、代码优化和违规代码的呈现,用户可以方便地找到错误的来源。Cleber A. Sarmento 等[9]将LD编写的PLC控制程序被建模为扩展的有限状态机,并且随后被正式验证。从这个验证过程中,可以识别这些机器中的功能错误,并因此识别控制程序中的相关错误。Sridhar Adepu 等[10]提出了一种方法来推导基于状态的不变量,从ICS设计开始,并使用从中导出不变量的扩展混合自动机对其过程动态进行建模。每个不变量都被编程并插入到适当的PLC中伴随着控制代码。不变量在ICS操作期间处于活动状态,并根据系统设计检查系统状态的有效性。Akinori Mochizuki 等[11]介绍了一种白名单设计技术,通过Petri网对现场设备的正常行为进行建模,并将白名单模型转换为梯形图,能够辅助PLC检测到网络攻击。

图1  PLC组态联合验证框架

Luis Garcia等[12]从可编程逻辑控制器程序扫描周期内直接执行高级安全和验证解决方案,操作员或程序客户端向临时缓冲区写入值,调用验证库中的功能对该值进行验证,如果值没有违反安全约束,那么在临时缓冲区中的值就会被传送到目的缓冲区,具体流程如图2所示。

图2  PLC组态验证过程

Huayang Cao等[13]指出过程控制系统存在的两个弱点是,PLC设备无法验证控制代码的有效性,无法监控控制设备本身的状态。针对这两个漏洞,他们设计了一种基于HMAC算法的代码数字签名机制,提出了监控控制设备状态的主动和被动方案。

其他防护方法

还有其他的一些安全防护方法,比如Buza等[14]提出Crysys PLC honeypot (CryPLH)系统,来发现针对PLC的攻击。这种PLC蜜罐系统可以是整个安全监控系统的一部分。实验验证,此蜜罐系统对于攻击者来说与真实的PLC是不可区分的。Nelson等[15]提出使用NAC地址绑定来保证物理上连接的端口安全,对PLC和工程师站之间的通信进行加密,从而增加逆向分析控制协议的难度。

综上所述,目前有大量的研究学者针对PLC进行了安全防护方面的研究。但是,PLC的安全防护是一个系统工程,需要PLC生产厂商从源头上确保安全,同时也需要高校、研究院所的大力参与,以及政府相关主管部门制定相应安全标准加以引导,共同打造PLC信息安全“生态系统”。

参考文献:

[1]Shang W, Qiao Q, Wan M, et al. Design and Im-plementation of Industrial Firewall for Mod-bus/TCP[J]. JCP, 2016, 11(5): 432-438.

[2]Stevan A. Milinković, Ljubomir R. Lazić. Industrial PLC security issues[C]. Telecommunications Forum. IEEE, 2012:1536-1539.

[3]Graur F, Haller P. Experimental assessment of network design approaches for protecting industrial control sys-tems[M]. Elsevier Science Publishers B. V. 2015.

[4]Sandaruwan G P H, Ranaweera P S, Oleshchuk V A. PLC security and critical infrastructure protection[C].IEEE International Conference on Industrial and In-formation Systems. IEEE, 2014:81-85.

[5]Fabro M. Control Systems Cyber Security: De-fense-in-Depth Strategies[J]. 2006.

[6]Xiao L, Li M, Gu M, et al. A hierarchy framework on compositional verification for PLC software[C]. IEEE International Conference on Software Engineering and Service Science. IEEE, 2014:204-207.

[7]Jiang Y, Zhang H, Song X, et al. Bayesi-an-Network-Based Reliability Analysis of PLC Sys-tems[J]. IEEE Transactions on Industrial Electronics, 2013, 60(11):5325-5336.

[8]Xia M, Sun M, Luo G, et al. Design and implementation of automatic verification for PLC systems[C]. IEEE International Conference on Cognitive Informatics & Cognitive Computing. IEEE Computer Society, 2013:374-379.

[9]Sarmento C A, Filho D J S, Miyagi P E. Extending the verification coverage for PLC control programs: A functional safety approach[J]. 2012:2833-2838.

[10]Adepu S, Mathur A. From Design to Invariants: De-tecting Attacks on Cyber Physical Systems[C]. IEEE International Conference on Software Quality, Relia-bility and Security Companion. IEEE, 2017:533-540.

[11]Mochizuki A, Sawada K, Shin S, et al. On experimental verification of model based white list for PLC anomaly detection[C]. Asian Control Conference. 2017:1766-1771.

[12]Garcia L, Zonouz S, Dong W, et al. Detecting PLC control corruption via on-device runtime verifica-tion[C]. Resilience Week. IEEE, 2016:67-72.

[13]Cao H, Chen K, Zhu P. Secure process control system of industrial networks[M]. 2013.

[14]Buza D I, Juhász F, Miru G, et al. CryPLH: Pro-tecting smart energy systems from targeted attacks with a PLC honeypot[C].International Workshop on Smart Grid Security. Springer, Cham, 2014: 181-192.

[15]Nelson T. Common control system vulnerability[R]. Idaho National Laboratory (INL), 2005.

作者:徐  震  周晓军

声明:本文来自中国保密协会科学技术分会,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。