论文部分内容阅读
近年来,工控安全事件频发,工业控制系统安全受到广泛关注。本文首先通过对工控安全事件和工控系统漏洞等方面进行了统计分析,说明课题研究背景。以风电机组控制系统为例,从其结构入手,分析了其安全脆弱点的分布情况。从分析结果可知,作为工业控制系统的关键组件,PLC暴露出了十分严峻的安全问题。所以,在风电机组安全研究项目中,我们选择了风电机组PLC漏洞挖掘作为课题展开研究。具体包括:1.研究了风电机组PLC安全脆弱性。分析了工业控制系统安全事件与公开漏洞,了解了工业控制系统中的安全脆弱性。以项目组在MW级风电机组控制器上的研究成果为支撑,将漏洞挖掘对象确定为风电机组PLC,并对风电机组PLC设备特征和脆弱性危险做了详细分析,为漏洞挖掘方法研究奠定基础。2.设计了基于动态污点分析的引导式模糊测试方法。该方法以PLC固件中协议服务器为研究对象,结合动态污点分析方法,对协议报文在协议服务器运行时的流动状态进行跟踪,标记可能触发设备漏洞的字段为敏感字段。并且针对这类字段设计了基于危险权重的量化规则,以危险权重来标注敏感字段的危险等级,根据危险权重的大小指导测试用例的变异程度与优先级,精准构造异常测试用例,从而提高对PLC漏洞挖掘的效率。3.实现了 PLC_TaintFuzzer系统。借助QEMU模拟器、Valgrind插桩平台与Peach模糊测试框架,搭建了 PLC_TaintFuzzer漏洞挖掘系统。其中,系统分为仿真环境端和模糊测试端,分别实现了基于动态污点分析的引导式信息跟踪和模糊测试用例生成与执行功能。4.设置了风电机组PLC漏洞挖掘对比实验,通过对Peach模糊测试框架与本文设计的PLC_TaintFuzzer系统对PLC进行漏洞挖掘的实验数据进行对比,证明了本系统的漏洞挖掘效率。