摘要 | 第5-6页 |
ABSTRACT | 第6-7页 |
符号对照表 | 第10-11页 |
缩略语对照表 | 第11-15页 |
第一章 绪论 | 第15-19页 |
1.1 研究背景 | 第15-16页 |
1.2 国内外研究现状 | 第16-17页 |
1.3 论文主要工作 | 第17页 |
1.4 论文组织结构 | 第17-19页 |
第二章 相关知识和技术概述 | 第19-31页 |
2.1 Fuzzing测试技术 | 第19-21页 |
2.1.1 确定测试目标 | 第20页 |
2.1.2 识别输入 | 第20页 |
2.1.3 生成测试用例 | 第20页 |
2.1.4 执行模糊测试 | 第20-21页 |
2.1.5 监视异常 | 第21页 |
2.1.6 异常分析并确认漏洞 | 第21页 |
2.2 Peach Fuzzer介绍 | 第21-23页 |
2.2.1 Peach基本架构 | 第22页 |
2.2.2 Pit File | 第22页 |
2.2.3 变异方法和变异策略 | 第22-23页 |
2.2.4 用Peach进行模糊测试 | 第23页 |
2.3 工业控制网络 | 第23-27页 |
2.3.1 工业控制系统概述 | 第23-25页 |
2.3.2 工业控制通信技术 | 第25-26页 |
2.3.3 工业控制网络协议分析 | 第26-27页 |
2.3.4 工控网络协议与传统协议典型特征的区别 | 第27页 |
2.4 使用传统Fuzzing测试工控协议的困难 | 第27-29页 |
2.4.1 工控协议解析 | 第27-28页 |
2.4.2 多字段组合关联问题 | 第28-29页 |
2.4.3 握手与保活过程的识别 | 第29页 |
2.4.4 工控协议异常捕获和定位 | 第29页 |
2.5 本章总结 | 第29-31页 |
第三章 工控网络协议Fuzzing测试技术的改进方案 | 第31-43页 |
3.1 私有工控协议结构分析方法 | 第31-36页 |
3.1.1 模式发现技术介绍 | 第31页 |
3.1.2 ε机 | 第31-32页 |
3.1.3 基于CSSR的私有协议ε机重构算法 | 第32-36页 |
3.2 多字段关联的测试策略 | 第36-37页 |
3.3 变异样本的抽样策略 | 第37-38页 |
3.4 握手过程的识别与模拟 | 第38-39页 |
3.4.1 重放攻击 | 第38页 |
3.4.2 中间人攻击 | 第38-39页 |
3.5 存活检测与一致性检测方法 | 第39-42页 |
3.5.1 基于心跳机制的存活检测与异常定位方法 | 第39-41页 |
3.5.2 一致性检测算法 | 第41-42页 |
3.6 本章总结 | 第42-43页 |
第四章 工控网络协议Fuzzing测试系统的设计与实现 | 第43-57页 |
4.1 Fuzzing测试系统总体设计 | 第43-47页 |
4.1.1 系统结构组成 | 第43-46页 |
4.1.2 工作流程 | 第46-47页 |
4.2 主要功能模块设计 | 第47-52页 |
4.2.1 报文捕获模块 | 第48-49页 |
4.2.2 协议分析模块 | 第49-50页 |
4.2.3 测试用例生成模块 | 第50-51页 |
4.2.4 交互状态检测与模拟模块 | 第51页 |
4.2.5 心跳及一致性检测模块 | 第51-52页 |
4.3 系统原型实现 | 第52-55页 |
4.3.1 协议分析子系统实现 | 第53页 |
4.3.2 用例生成子系统实现 | 第53-54页 |
4.3.3 模糊器子系统实现 | 第54-55页 |
4.3.4 监控代理子系统实现 | 第55页 |
4.4 本章总结 | 第55-57页 |
第五章 系统测试与结果验证 | 第57-67页 |
5.1 实验环境 | 第57页 |
5.2 系统效果验证 | 第57-64页 |
5.2.1 私有协议结构分析方法效果验证 | 第57-61页 |
5.2.2 多字段关联测试策略效果验证 | 第61-62页 |
5.2.3 变异样本的抽样策略效果验证 | 第62-63页 |
5.2.4 握手过程识别与模拟效果验证 | 第63-64页 |
5.3 同类方案比较 | 第64-66页 |
5.4 本章总结 | 第66-67页 |
第六章 总结与展望 | 第67-69页 |
6.1 研究工作总结 | 第67页 |
6.2 未来工作展望 | 第67-69页 |
参考文献 | 第69-73页 |
致谢 | 第73-75页 |
作者简介 | 第75-76页 |