论文部分内容阅读
随着工业化和信息化深度融合进程的加快,工业4.0和中国制造2025概念的提出,工业控制网络逐渐由封闭走向开放,由单机走向互联,这在极大提升工业企业生产效率的同时,也将传统的信息安全风险逐渐引入工业控制网络中,工业控制网络信息安全形势不断加剧,如何准确高效的挖掘工业控制网络安全漏洞,已逐渐成为研究热点。工控网络运行环境封闭、源代码获取困难,且受计算资源因素影响,无法安装调试器,难以满足代码审计、逆向工程等常见的漏洞挖掘技术的基本要求,而Fuzzing测试技术作为目前最常见的黑盒测试技术,不依赖源代码和调试器,具有自动化程度高、误报率低等优点,可针对多种工控网络协议开展漏洞挖掘。目前,基于Fuzzing测试的漏洞挖掘技术可有效地针对公有协议进行漏洞挖掘,但针对运行私有协议的工控网络尚未有较好的解决方案,存在着协议知识获取难、协议描述建模难等问题。本文围绕工控网络协议Fuzzing测试技术,针对上述问题,设计和实现了工控网络协议Fuzzing测试漏洞挖掘原型系统,该系统主要由协议分析子系统、用例生成子系统、模糊器子系统、监控代理子系统四部分构成,各子系统方案如下:(1)在协议分析子系统中,针对现有的基于Fuzzing测试的漏洞挖掘技术无法自动获取协议知识等问题,结合隐马尔可夫模型和统计计算的方法,提出了一种基于模式发现方法的协议结构分析方法,该算法使用优化的因果分割重构算法重构私有协议的ε机模型,可提取数据包中的常量部分,生成协议的基本结构描述模型,克服了漏洞挖掘测试的盲目性;(2)在用例生成子系统中,结合协议分析子系统生成的协议描述模型,提出了多字段组合关联的模糊策略和基于动态抽样的样本生成方法,本方案通过减小测试用例的数量,增加异常字段的抽样率,可进一步实现降低输入规模、增大漏洞挖掘命中率的目的;(3)在监控代理子系统中,为解决工控网络漏洞挖掘过程中难以对工控设备进行异常检测和定位问题,提出基于心跳检测的存活检测方案和基于Simhash的一致性检测方案,可正确识别被测系统是否进入异常状态。根据上述方案,利用S7Sim等模拟工具搭建了实验仿真环境。测试结果表明本文提出的基于Fuzzing测试的工控网络协议漏洞挖掘方案比传统的基于Fuzzing测试的漏洞挖掘方案有更高的检测效率和命中率。