咨询与建议

看过本文的还看了

相关文献

该作者的其他文献

文献详情 >基于模糊测试的工控PLC系统漏洞挖掘技术研究 收藏
基于模糊测试的工控PLC系统漏洞挖掘技术研究

基于模糊测试的工控PLC系统漏洞挖掘技术研究

作     者:邵帅 

作者单位:杭州电子科技大学 

学位级别:硕士

导师姓名:徐向华

授予年度:2020年

学科分类:08[工学] 0835[工学-软件工程] 0802[工学-机械工程] 080201[工学-机械制造及其自动化] 

主      题:工控系统 PLC漏洞挖掘 VxWorks内核测试 工控协议测试 模糊测试 

摘      要:工业控制系统是国家关键基础设施的重要组成部分。随着工业互联网技术的应用,工业控制系统面临严峻的网络安全风险。可编程逻辑控制器PLC(Programmable Logic Controller)是工业控制系统中的核心控制设备,其中Vx Works是PLC设备的核心操作系统,而现有内核模糊测试技术难以直接运用于Vx Works。因此本文重点对PLC系统的漏洞挖掘技术展开研究,在深入分析现有工控系统漏洞挖掘测试技术的基础上,提出了基于覆盖率引导的Vx Works内核模糊测试方法和基于流量追溯的PLC工控协议模糊测试方法,开发了Vx Works内核模糊测试和工控协议模糊测试工具。具体研究工作如下:(1)设计基于覆盖率引导的Vx Works内核模糊测试方法:针对Vx Works系统,我们在QEMU模拟器基础上实现内核执行时的路径信息收集功能,通过TCG中间代码实现覆盖率记录逻辑,解决QEMU基本块链导致覆盖率记录不准的情况,避免执行速度下降。设计测试函数定位模块,解析Vx Works内核镜像ELF格式,获取内核函数运行时地址,通过调试器对关键内核函数设置断点。提出轻量级虚拟机状态管理方法,通过记录内存写入操作和处理器状态,在每次测试用例执行结束后快速恢复内核状态。开发实现了基于覆盖率引导的Vx Works内核模糊测试工具vx AFL,通过对Vx Works内核RPC组件进行模糊测试,发现了Vx Works的3个崩溃测试用例,其中一例复现了_authenticate函数存在的整数溢出漏洞(CVE-2015-7599)。(2)设计基于流量追溯的PLC工控协议模糊测试方法:针对现有基于变异的协议模糊测试方法的协议报文在合法性校验中过早失败,导致通过率低的问题,实现根据已有流量生成可执行测试用例脚本的工控协议测试用例生成方法,通过对报文解析映射为Scapy框架协议字段原语,对流量中存在的会话信息生成有向图模型。针对现有基于模版生成的协议模糊测试技术缺少对工控协议关键字段异常监控的问题,方法通过对请求响应报文的工控协议关键字段校验来实现状态监控。开发实现了工控协议模糊测试工具ICSFuzzer,通过对西门子S7协议库SNAP7进行验证测试,发现了2个崩溃测试用例,其中一个为栈溢出漏洞(CVE-2017-1000230)。

读者评论 与其他读者分享你的观点

用户名:未登录
我的评分