摘要:
1.研究背景
工业控制系统广泛应用于关系国计民生的诸多重要行业,而可编程逻辑控制器(PLC,Programmable logic controller)作为其重要组成,受到了越来越多攻击者的重视。近年来,研究人员们对于抵御针对PLC的攻击进行了深入研究,包括但不限于入侵检测系统、欺骗防御系统、安全验证。但是现有的大多数方法都只能在攻击生效后检测到并发出警报,并不能起到预防的作用,尤其针对某些特定的工业控制系统来说为时已晚;其次,现有的方法只能在某个阶段缓解某一种或少数几种特定的已知攻击,无法为整个工业控制系统的生命周期提供全面的防护;并且,现有的防护技术大多数依赖于额外的外部硬件设备,其成本在已部署运行的大规模分布式系统中将非常高昂,并且难以更新。
2.目的
本文的目的是研究一个具备优秀防御能力、经济实用、易于更新且不依赖外部设备、并且不影响工业控制系统实时性和可用性的主动防御框架。
3.方法
本文提出了一个适用于PLC的异构冗余主动防御框架——HRPDF。HRPDF改进了PLC内部的运行结构,使其由原有的一个runtime变为多个异构、功能等价的runtimes,然后使用一个管理进程对这些runtimes进行综合管理和控制,包括runtimes的结果裁决、runtime同步、数据交互、异常处理、运行时扫描等。HRPDF同样对上位机的编译器进行多样化处理以便于能够产生HRPDF所需要的runtimes。在此结构之下,我们还为其设计了进程间通信算法(IPC,Inter-Process Communication)以保证管理进程和runtimes之间的通信。为了验证其功能和性能,我们收集了来自不同行业的492个控制逻辑,分别在真实PLC和基于OpenPLC的树莓派上进行了实验,从防御性能、可用性、实时性等多方面进行评估,最终证明了HRPDF在可接受的额外开销范围内具备令人满意的防御效果。
4.结果
HRPDF能够防御多种类型的面向PLC的攻击并且不会影响PLC的实时性和可用性,其产生的额外资源资源开销包括10.22%的额外CPU、5.56%的额外内存、以及约0.6毫秒的额外时间,这部分额外的资源对于多数工业控制系统(如过程控制系统,化工过程)来说都在可接受范围之内。
5.结论
在本文中,我们首次提出了一种新颖的、适用于PLC的防御框架——HRPDF,它包括一个管理进程和多个异构的runtimes,这些异构的runtimes同步执行功能等价的控制逻辑程序。为了保证运行时的异构性,我们设计了专为PLC设计的编译安全增强机制。我们还提出了一种IPC机制来满足PLC的实时性和可用性要求。结果表明,HRPDF在可接受的开销下具备优秀的防御能力,能够主动抵御多种不同类型的攻击并且在其生效之前阻断。HRPDF不依赖于外部硬件,其通过固件更新等方式可以轻易的更新完成部署,具备很高的实用性和性价比,尤其适用于实时性要求并非极其严苛的工业场景中,如过程控制系统、化工系统等。但是对于某些实施要求及其严苛的场景,HRPDF所带来的这一部分额外时间开销可能会对系统的实时性产生影响。