论文部分内容阅读
由感知、计算、通信、执行等部件所组成的工业控制系统(Industrial Control System,ICS),广泛应用于石油化工、离散制造、电力系统等多种国家关键基础设施中,大大提高了生产效率。然而随着ICS与信息网络的不断融合,以及国际网络空间安全形势的不断恶化,ICS安全已成为国际间政治较量、军事行动、勒索经济等的新战场,受到世界各国政府、工业企业等的广泛关注。可编程逻辑控制器(Programmable Logic Controller,PLC)作为连接ICS信息空间与物理空间最后的纽带,其安全脆弱性及由此而产生的攻击事件将直接改变ICS物理过程运行,造成系统震荡、设备损坏、人员伤亡等。因此,针对PLC开展脆弱性分析与攻击检测是保障ICS安全平稳运行的重要途径。虽然工业界和学术界目前针对该研究问题已开展系列研究,并取得了相应研究成果,但仍存在一些亟需解决的问题,包括(ⅰ)缺少公开可用的PLC安全测试平台;(ⅱ)较少结合ICS物理语义分析PLC脆弱性;(ⅲ)较少针对控制逻辑隐蔽攻击分析PLC脆弱性;(ⅳ)自主的攻击检测与分析仍有待加强。针对上述研究不足,本文通过充分利用ICS系统不变量,从“以攻促防”的视角,深入分析更具物理过程危害的PLC脆弱性,并依此开展PLC攻击检测研究。本文的主要研究工作及贡献概括如下:1.面向离散、连续两类典型工业控制场景,本文设计并搭建了三个PLC安全测试平台——电梯控制系统(Elevator Control System,ECS)、乙醇精馏控制系统(Ethanol Distillation System,EDS)、田纳西-伊斯曼过程控制系统(Tennessee Eastman System,TES),用于测试评估本文所提出的PLC脆弱性分析机制、以及攻击检测机制。2.针对结合ICS物理语义的PLC脆弱性分析,本文利用PLC和数据采集与监控(Supervi-sory Control And Data Acquisition,SCADA)系 统之间 的跨域不变量(即“代码一数据”变量映射),设计了一个自动化的PLC程序变量物理语义逆向机制,即ARES(Automated Reverse Engineering of Semantics)。ARES首先根据变量依赖关系和因果关系,分别提取PLC程序和SCADA数据中的控制规则;其次,根据PLC程序和SCADA数据在刻画控制规则上的一致性,识别PLC和SCADA之间的“代码-数据”变量映射;随后,根据SCADA数据变量的物理定义逆向PLC程序变量的物理语义。同时,ARES也分析并提出了更安全的PLC控制规则部署方案,以提高PLC程序变量对语义逆向的抵抗力。本文在平台ECS和EDS中分别部署并评估了 ARES,实验结果表明ARES以100%的精度逆向两个测试平台中所有程序变量的物理语义。此外,ARES所提出的控制规则部署方案使ECS中可被ARES逆向语义的程序变量比例,从100%降低到40.74%。3.针对控制逻辑隐蔽攻击的PLC脆弱性分析,本文利用PLC和SCADA之间广泛存在的信号采集频率差异(如,500赫兹与2赫兹),通过挖掘高/低采集频率下ICS控制不变量(即控制逻辑)的变化,设计了一个在线自主的PLC隐蔽攻击技术,即Auto-PG(Autonomous Payload Generation)。一旦连接到目标 PLC,Auto-PG 将首先根据 PLC 内存中每一个比特的变化,自主逆向PLC内存地址与ICS物理信号的映射关系;随后,基于所识别的ICS物理信号,Auto-PG建立低采样频率(如,2赫兹)下的控制逻辑影子模型、并生成控制命令隐蔽攻击载荷;最后,根据所逆向的物理信号对应的PLC内存地址,Auto-PG将生成的攻击载荷发送至目标PLC。本文在平台EDS和TES中分别部署并评估了 Auto-PG,实验结果表明Auto-PG以100%的精度逆向EDS中PLC的ICS模拟量信号,并在保持隐蔽的同时成功破坏EDS的运行。更多针对TES平台的隐蔽攻击证明了 Auto-PG在破坏系统稳定运行上的有效性和隐蔽性。4.针对自主的PLC攻击检测与分析,本文利用广泛存在于ICS中的控制不变量(即“传感器测量值-控制命令”映射),为PLC设计了一个非侵入式的自动化攻击检测与定位机制,即PLC-Sleuth。基于SCADA的数据记录,PLC-Sleuth首先自动识别数据变量类型(系统设定值、传感器测量值、控制命令);之后,根据变量因果关系提取系统控制不变量,并使用控制图构建PLC内的控制回路:节点代表系统变量,连边表示两个系统变量属于同一控制回路,连边权重则量化对应系统变量之间的相关性强弱;最后,基于控制图的连边权重变化,检测并定位针对PLC的攻击——异常的连边权重表明对应系统变量所在的控制回路受到攻击。本文在平台EDS和TES中分别部署并评估了 PLC-Sleuth,实验结果表明PLC-Sleuth(ⅰ)以100%/98.11%的准确率识别EDS/TES的控制不变量;(ⅱ)以{98.33%/0.85‰,100%/0%}的正/误检率检测针对 EDS/TES 的 PLC 攻击;(ⅲ)以93.22%/96.76%的准确度定位所检测到的攻击所在的控制回路。最后对全文进行了总结,并展望了进一步的研究工作。